From f100297108b71d557d3dd4cc5cf53d5601a396f1 Mon Sep 17 00:00:00 2001 From: Cameron Date: Thu, 6 Feb 2014 18:22:44 -0800 Subject: [PATCH] Fix for save_pref() messages not displaying under some circumstances. --- e107_core/shortcodes/batch/admin_shortcodes.php | 9 +++++++-- e107_handlers/pref_class.php | 6 +++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/e107_core/shortcodes/batch/admin_shortcodes.php b/e107_core/shortcodes/batch/admin_shortcodes.php index c89d9b46d..c9b8f8a70 100644 --- a/e107_core/shortcodes/batch/admin_shortcodes.php +++ b/e107_core/shortcodes/batch/admin_shortcodes.php @@ -1661,6 +1661,11 @@ Inverse 10 10 { $slng = e107::getLanguage(); $languages = $slng->installed();//array('English','French'); + + $langSubs = explode("\n", e107::getPref('multilanguage_subdomain')); + + // print_a($langSubs); + if(count($languages) > 1) { $c = 0; @@ -1671,10 +1676,10 @@ Inverse 10 10 if($lng == e_LANGUAGE) { - $checked = " "; + $checked = $tp->toGlyph('ok')." "; $link = '#'; } - elseif(e107::getPref('multilanguage_subdomain')) + elseif(!empty($langSubs) && in_array(e_DOMAIN,$langSubs)) { $code = ($lng == e107::getPref('sitelanguage')) ? 'www' : $code; $link = str_replace($_SERVER['HTTP_HOST'], $code.'.'.e_DOMAIN, e_REQUEST_URL); // includes query string diff --git a/e107_handlers/pref_class.php b/e107_handlers/pref_class.php index 9e6c75259..2855de796 100644 --- a/e107_handlers/pref_class.php +++ b/e107_handlers/pref_class.php @@ -492,10 +492,10 @@ class e_pref extends e_front_model * * @param boolean $from_post merge post data * @param boolean $force - * @param boolean $session_messages use session messages + * @param mixed $session_messages null: normal messages displayed, true: session messages used, false: no messages displayed. * @return boolean|integer 0 - no change, true - saved, false - error */ - public function save($from_post = true, $force = false, $session_messages = false) + public function save($from_post = true, $force = false, $session_messages = null) { global $pref; if(!$this->prefid) @@ -586,7 +586,7 @@ class e_pref extends e_front_model $logId = 'PREFS_01'; } - $log->addSuccess('Settings successfully saved.', $session_messages); + $log->addSuccess('Settings successfully saved.', ($session_messages === null || $session_messages === true)); $log->save($logId); // if(!$disallow_logs) $log->logSuccess('Settings successfully saved.', true, $session_messages)->flushMessages($logId, E_LOG_INFORMATIVE, '', $this->prefid);