From: stephen@cubedesigners.com Date: Wed, 27 Jul 2022 17:33:45 +0000 (+0000) Subject: Preparations for separating DE version of site. WIP #4931 @2 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=45683dd82f81785c4f16e16dcbbcff318d4bc654;p=physioassist-wordpress.git Preparations for separating DE version of site. WIP #4931 @2 --- diff --git a/wp-config.php b/wp-config.php index 9f01a5d4..6bd4e7cb 100644 --- a/wp-config.php +++ b/wp-config.php @@ -1,4 +1,12 @@ /22(;nNi;*~2jaoBJA-a@R&Y-$_M&(#}{sUz%>-GXf m'); -define('AUTH_SALT', '(w^_55`>`zS+Zfg,xfx%T=3cmAa[j>FZ~So&Xd)P?[NGtX(%+yrAwMi,;(XF+M3T'); -define('SECURE_AUTH_SALT', 'MAIXLPhm]-S/yabF![Bt>cEE+ >_`[,_UxYpABdmFWf/8j5f1B9=czh;'); +// If the site is frozen, we'll use a different set of keys and salts +// in order to temporarily force everyone to be logged out... +if (defined('SITE_FREEZE_ACTIVATED')) { + // Keys and salts used when site is frozen: + define('AUTH_KEY', '2rG$l?aI85NG!->{c~h/@{`*oxw?-'); + define('NONCE_KEY', '-;Z4?gF.a-uyJXzE:d)%>1udaKj[vaw^vJJa)OPxu8jWw?BJas gUMz/|`M^g;kT'); + define('AUTH_SALT', '|wStJ`g@;jgt&b.yYbO|1$h_4M9qT^xR{N>; uhY|+V^|+s09sLtI]h4LW@G-3n9'); + define('SECURE_AUTH_SALT', 'TU@)N+{j/7X]9F8Aw5>uuEA2F[_~pb(^P7qVe0wBK|Z0#LHRx~EW?AyrcOGOS!V3'); + define('LOGGED_IN_SALT', 'E+Qa@BQHA!rx}o:;%IaRc|ZP>pX7il3/VD)ss`.n$`K4+t>:yxn.7)6B~j~H#mRq'); + define('NONCE_SALT', 'pvrZi%qile&{&D_1}[cU7w VdI)F@-|aGqhK|/|Mc'); +} else { + // Standard keys and salts when site is unfrozen: + define('AUTH_KEY', '_SX[2QPUmv6=+HOITzjq/&l[@S$-7iN$0l`ID7_cSBWW!HgP(^7K?h~]q4,)GGB{'); + define('SECURE_AUTH_KEY', 'Kmhs<`Sr.c&_U,{E?86+.GNg4tMIj#$N:=IvM-cRv@PE8WsUySAy2W;+{Fp:z+Xw'); + define('LOGGED_IN_KEY', ' E2;B@c2HVqB3o+6*yS{t9#j.N_^SV5,^ *NRMDz)%Y&X/4n0Iq(k^*9#r2c 4bD'); + define('NONCE_KEY', ']@DKr;JdHp^Z n,aJ;M>/22(;nNi;*~2jaoBJA-a@R&Y-$_M&(#}{sUz%>-GXf m'); + define('AUTH_SALT', '(w^_55`>`zS+Zfg,xfx%T=3cmAa[j>FZ~So&Xd)P?[NGtX(%+yrAwMi,;(XF+M3T'); + define('SECURE_AUTH_SALT', 'MAIXLPhm]-S/yabF![Bt>cEE+ >_`[,_UxYpABdmFWf/8j5f1B9=czh;'); +} /**#@-*/ /** diff --git a/wp-content/mu-plugins/physioassist/src/Common/FreezeChanges.php b/wp-content/mu-plugins/physioassist/src/Common/FreezeChanges.php new file mode 100644 index 00000000..8fabe998 --- /dev/null +++ b/wp-content/mu-plugins/physioassist/src/Common/FreezeChanges.php @@ -0,0 +1,63 @@ +login_whitelist)) return; + + // If we got this far, the user isn't whitelisted... + // Clear cookies to log user out + wp_clear_auth_cookie(); + + // Redirect back to login page with flag to display message that site is frozen + $login_url = site_url('wp-login.php', 'login'); + $login_url = add_query_arg('frozen', '1', $login_url); + wp_redirect($login_url); + exit; + } + + public function login_message($message) { + + // Show message to users who try logging in while site is frozen + if (isset($_GET['frozen']) && $_GET['frozen'] == 1) { + $message = '
'. __("Sorry, the website is currently locked for critical updates. No logins or changes can be made during this period. Please try again later.", 'physioassist') .'
'; + } + + return $message; + + } + + public function admin_notice() { + echo '

NOTICE: Site freeze currently active. Rename file _FREEZE_CHANGES_ON in the web root to disable.

'; + } + +} diff --git a/wp-content/mu-plugins/physioassist/src/Init.php b/wp-content/mu-plugins/physioassist/src/Init.php index 7eec85bd..e4116c5f 100644 --- a/wp-content/mu-plugins/physioassist/src/Init.php +++ b/wp-content/mu-plugins/physioassist/src/Init.php @@ -14,6 +14,7 @@ final class Init { // Marked as final because this class should never be extende public static function classes() { return [ Common\Setup::class, + Common\FreezeChanges::class, Elementor\Setup::class, WooCommerce\Setup::class, CookieNotice\Setup::class, diff --git a/wp-content/themes/physioassist/app/Controllers/App.php b/wp-content/themes/physioassist/app/Controllers/App.php index e378677a..a2ba706e 100644 --- a/wp-content/themes/physioassist/app/Controllers/App.php +++ b/wp-content/themes/physioassist/app/Controllers/App.php @@ -33,6 +33,28 @@ class App extends Controller // Get available languages from WPML public function languages() { - return apply_filters( 'wpml_active_languages', NULL, 'skip_missing=0'); + $languages = apply_filters( 'wpml_active_languages', NULL, 'skip_missing=0'); + + // In some situations, like WooCommerce product pages, which are not translatable, + // WPML will return an empty languages array. In this case, we don't want to German. + if (empty($languages)) return $languages; + + // The DE locale has been split from the original site. We need to manually + // add it here, so it still appears in the language switcher... + $languages['de'] = [ + 'code' => 'de', + 'id' => '3', + 'native_name' => 'Deutsch', + 'major' => '1', + 'active' => '0', + 'default_locale' => 'de_DE', + 'encode_url' => '0', + 'tag' => 'de', + 'translated_name' => 'Deutsch', + 'url' => 'https://www.physioassist.de/', + 'language_code' => 'de', + ]; + + return $languages; } }