diff --git a/class2.php b/class2.php index 0fc24fd01..f709e98c3 100755 --- a/class2.php +++ b/class2.php @@ -1346,90 +1346,30 @@ $theme_pref = varset($pref['sitetheme_pref']); // -------------------------------------------------------------- $sql->db_Mark_Time('Find/Load Theme-Layout'); // needs to run after checkvalidtheme() (for theme previewing). +if(deftrue('e_ADMIN_AREA')) +{ + define("THEME_STYLE", $pref['admincss']); +} +elseif(varset($pref['themecss']) && file_exists(THEME.$pref['themecss'])) +{ + define("THEME_STYLE", $pref['themecss']); +} +else +{ + define("THEME_STYLE", 'style.css'); +} + if(!defined("THEME_LAYOUT")) { - /* $def = ""; // no custom pages found yet. - $cusPagePref = (varset($user_pref['sitetheme_custompages'])) ? $user_pref['sitetheme_custompages'] : varset($pref['sitetheme_custompages']); + $user_pref = e107::getUser()->getPref(); + $pref = e107::getPref(); + $cusPagePref = (varset($user_pref['sitetheme_custompages'])) ? $user_pref['sitetheme_custompages'] : varset($pref['sitetheme_custompages']); + $cusPageDef = (!isset($user_pref['sitetheme_deflayout'])) ? varset($pref['sitetheme_deflayout']) : $user_pref['sitetheme_deflayout']; + $deflayout = e107::getTheme()->getThemeLayout($cusPagePref, $cusPageDef); - if(is_array($cusPagePref) && count($cusPagePref)>0) // check if we match a page in layout custompages. - { - //e_SELF.(e_QUERY ? '?'.e_QUERY : ''); - $c_url = str_replace(array('&'), array('&'), e_REQUEST_URL);//.(e_QUERY ? '?'.e_QUERY : '');// mod_rewrite support - // FIX - check against urldecoded strings - $c_url = rtrim(rawurldecode($c_url), '?'); - - - - foreach($cusPagePref as $lyout=>$cusPageArray) - { - if(!is_array($cusPageArray)) { continue; } - - // NEW - Front page template check - early - if(in_array('FRONTPAGE', $cusPageArray) && ($c_url == SITEURL || rtrim($c_url, '/') == SITEURL.'index.php')) - { - $def = $lyout; - break; - } - foreach($cusPageArray as $kpage) - { - if(substr($kpage, -1) === '!' ) - { - $kpage = rtrim($kpage, '!'); - if(substr($c_url, - strlen($kpage)) === $kpage) - { - $def = $lyout; - break 2; - } - continue; - } - - if ($kpage && ($kpage == defset('e_PAGE') || strpos($c_url, $kpage) !== false)) - { - // $def = ($lyout) ? $lyout : "legacyCustom"; - $def = $lyout; - break 2; - } - } - } - }*/ - - /* Done via e_IFRAME and USER_AREA force combination, check moved to menu.php - if(strpos(e_SELF.'?'.e_QUERY, $ADMIN_DIRECTORY. 'menus.php?configure')!==FALSE) - { - $menus_equery = explode('.', e_QUERY); - $def = $menus_equery[1]; - } - */ - - if(deftrue('e_ADMIN_AREA')) - { - define("THEME_STYLE", $pref['admincss']); - } - elseif(varset($pref['themecss']) && file_exists(THEME.$pref['themecss'])) - { - define("THEME_STYLE", $pref['themecss']); - } - else - { - define("THEME_STYLE", 'style.css'); - } -/* - if($def) // custom-page layout. - { - define("THEME_LAYOUT",$def); - } - else // default layout. - { - $deflayout = (!isset($user_pref['sitetheme_deflayout'])) ? varset($pref['sitetheme_deflayout']) : $user_pref['sitetheme_deflayout']; - - define("THEME_LAYOUT",$deflayout); // default layout. - }*/ - - $deflayout = e107::getTheme()->getThemeLayout(); define("THEME_LAYOUT",$deflayout); - unset($def,$lyout,$cusPagePref,$menus_equery,$deflayout); - + unset($cusPageDef,$lyout,$cusPagePref,$menus_equery,$deflayout); } // ----------------------------------------------------------------------- diff --git a/e107_handlers/e_parse_class.php b/e107_handlers/e_parse_class.php index 994ff07e8..6afbea734 100644 --- a/e107_handlers/e_parse_class.php +++ b/e107_handlers/e_parse_class.php @@ -488,7 +488,7 @@ class e_parse extends e_parser * @param boolean|string $mod [optional] model = admin-ui usage. The 'no_html' and 'no_php' modifiers blanket prevent HTML and PHP posting regardless of posting permissions. (used in logging) * The 'pReFs' value is for internal use only, when saving prefs, to prevent sanitisation of HTML. * @param mixed $parm [optional] - * @return string + * @return string|array * @todo complete the documentation of this essential method */ public function toDB($data, $nostrip =false, $no_encode = false, $mod = false, $parm = null) @@ -498,11 +498,13 @@ class e_parse extends e_parser if (is_array($data)) { $ret = array(); + foreach ($data as $key => $var) { //Fix - sanitize keys as well $ret[$this->toDB($key, $nostrip, $no_encode, $mod, $parm)] = $this->toDB($var, $nostrip, $no_encode, $mod, $parm); } + return $ret; } @@ -1980,14 +1982,18 @@ class e_parse extends e_parser if(is_readable(e_PLUGIN.$hook."/e_tohtml.php")) { require_once(e_PLUGIN.$hook."/e_tohtml.php"); + $hook_class = "e_tohtml_".$hook; + $this->e_hook[$hook] = new $hook_class; } } if(is_object( $this->e_hook[$hook])) { - $sub_blk = $this->e_hook[$hook]->to_html($sub_blk, $opts['context']); + /** @var e_tohtml_linkwords $deprecatedHook */ + $deprecatedHook = $this->e_hook[$hook]; + $sub_blk = $deprecatedHook->to_html($sub_blk, $opts['context']); } } } @@ -3736,9 +3742,10 @@ class e_parse extends e_parser * Start Fresh and Build on it over time to become eventual replacement to e_parse. * Cameron's DOM-based parser. * - * @method replaceConstants($file, $string) + * @method replaceConstants($text, $mode = '', $all = false) * @method toAttribute($title) * @method thumbUrl($icon) + * @method thumbDimensions() */ class e_parser { @@ -3884,11 +3891,11 @@ class e_parser * Add leading zeros to a number. eg. 3 might become 000003 * @param $num integer * @param $numDigits - total number of digits - * @return number with leading zeros. + * @return string number with leading zeros. */ public function leadingZeros($num,$numDigits) { - return sprintf("%0".$numDigits."d",$num); + return (string) sprintf("%0".$numDigits."d",$num); } /** @@ -5057,6 +5064,8 @@ return; $html = $text; + $sql = e107::getDb(); + $tp = e107::getParser(); // $html = $this->getXss(); diff --git a/e107_handlers/theme_handler.php b/e107_handlers/theme_handler.php index 3485555d6..3c9582e6d 100644 --- a/e107_handlers/theme_handler.php +++ b/e107_handlers/theme_handler.php @@ -315,22 +315,22 @@ class e_theme /** * Calculate THEME_LAYOUT constant based on theme preferences and current URL. - * @param null $url - * @return string + * + * @param array $cusPagePref + * @param string $defaultLayout + * @param string $request_url (optional) defaults to e_REQUEST_URL; + * @return int|string */ - public function getThemeLayout($request_url = null) + public function getThemeLayout($cusPagePref, $defaultLayout, $request_url = null) { + if($request_url === null) { $request_url = e_REQUEST_URL; } - $user_pref = e107::getUser()->getPref(); - $pref = e107::getPref(); - $def = ""; // no custom pages found yet. - $cusPagePref = (varset($user_pref['sitetheme_custompages'])) ? $user_pref['sitetheme_custompages'] : varset($pref['sitetheme_custompages']); if(is_array($cusPagePref) && count($cusPagePref)>0) // check if we match a page in layout custompages. { @@ -381,7 +381,7 @@ class e_theme } else // default layout. { - $layout = (!isset($user_pref['sitetheme_deflayout'])) ? varset($pref['sitetheme_deflayout']) : $user_pref['sitetheme_deflayout']; + $layout = $defaultLayout; } return $layout; diff --git a/e107_plugins/_blank/e_dashboard.php b/e107_plugins/_blank/e_dashboard.php index c9892fe39..0cefb3d0d 100644 --- a/e107_plugins/_blank/e_dashboard.php +++ b/e107_plugins/_blank/e_dashboard.php @@ -47,7 +47,7 @@ class _blank_dashboard // include plugin-folder in the name. $label = date('M Y', $month_start)." - ".date('M Y', $month_end); - if(!$sql->gen("SELECT id,datestamp,referred FROM `#_blank` WHERE datestamp BETWEEN ".$month_start." AND ".$month_end)) + if(!$sql->gen("SELECT blank_id,blank_date,blank_folder FROM `#blank` WHERE blank_date BETWEEN ".$month_start." AND ".$month_end)) { return false; } @@ -55,9 +55,9 @@ class _blank_dashboard // include plugin-folder in the name. while($row = $sql->fetch()) { - $key = date('Y-n-j', $row['datestamp']); + $key = date('Y-n-j', $row['blank_date']); - switch($row['referred']) + switch($row['blank_folder']) { case "Facebook": $amt[$key]['facebook'] += 1; @@ -80,7 +80,7 @@ class _blank_dashboard // include plugin-folder in the name. } - $dateName[$key] = date('jS', $row['datestamp']); + $dateName[$key] = date('jS', $row['blank_date']); } $sum = array_sum($amt); @@ -147,4 +147,3 @@ class _blank_dashboard // include plugin-folder in the name. } -?> \ No newline at end of file