From f0ce3ac4a954930a240aeaa6ff2e319fa376e5de Mon Sep 17 00:00:00 2001 From: Cameron Date: Tue, 5 Jan 2021 16:40:01 -0800 Subject: [PATCH] PHP8 Fixes. RSS speed improvement. --- class2.php | 122 ++++++++++++++-------------- e107_handlers/e107_class.php | 8 +- e107_handlers/e_parse_class.php | 2 +- e107_handlers/shortcode_handler.php | 7 +- e107_plugins/rss_menu/rss.php | 8 +- 5 files changed, 82 insertions(+), 65 deletions(-) diff --git a/class2.php b/class2.php index 45e29167b..743fc6750 100755 --- a/class2.php +++ b/class2.php @@ -84,10 +84,10 @@ if(!empty($_E107['minimal'])) $_E107['no_forceuserupdate'] = true; $_E107['no_event'] = true; $_E107['no_session'] = true; - $_E107['no_parser'] = true; +// $_E107['no_parser'] = true; $_E107['no_override'] = true; $_E107['no_log'] = true; - $_E107['no_autoload'] = true; +// $_E107['no_autoload'] = true; } @@ -553,6 +553,10 @@ if(!isset($_E107['no_lan'])) $lng = e107::getLanguage(); // required for v1.0 BC. $lng->detect(); } +else +{ + define('e_LAN', 'en'); +} // // M: Subdomain and Language Selection // @@ -769,6 +773,7 @@ else { define('ADMIN', false); define('USER', true); + define('USERCLASS_LIST', '0'); } @@ -777,65 +782,64 @@ else $developerMode = (vartrue($pref['developer'],false) || E107_DEBUG_LEVEL > 0); -if(!isset($_E107['no_theme'])) -{ + // for multi-language these definitions needs to come after the language loaded. - if(!defined('SITENAME')) // Allow override by English_custom.php or English_global.php plugin files. - { - define('SITENAME', trim($tp->toHTML($pref['sitename'], '', 'USER_TITLE,er_on,defs'))); - } - if(!defined('SITEDESCRIPTION')) // Allow override by English_custom.php or English_global.php plugin files. - { - define('SITEDESCRIPTION', $tp->toHTML($pref['sitedescription'], '', 'emotes_off,defs')); - } - - define('SITEBUTTON', $tp->replaceConstants($pref['sitebutton'],'abs')); - define('SITETAG', $tp->toHTML($pref['sitetag'], false, 'emotes_off,defs')); - - define('SITEADMIN', $pref['siteadmin']); - define('SITEADMINEMAIL', $pref['siteadminemail']); - define('SITEDISCLAIMER', $tp->toHTML($pref['sitedisclaimer'], '', 'emotes_off,defs')); - define('SITECONTACTINFO', $tp->toHTML($pref['sitecontactinfo'], true, 'emotes_off,defs')); - define('SITEEMAIL', vartrue($pref['replyto_email'],$pref['siteadminemail'])); - define('USER_REGISTRATION', vartrue($pref['user_reg'],false)); // User Registration System Active or Not. - define('e_DEVELOPER', $developerMode); - define('e_VERSION', varset($pref['version'])); - - unset($developerMode); - - if(!empty($pref['xurl']) && is_array($pref['xurl'])) - { - define('XURL_FACEBOOK', vartrue($pref['xurl']['facebook'], false)); - define('XURL_TWITTER', vartrue($pref['xurl']['twitter'], false)); - define('XURL_YOUTUBE', vartrue($pref['xurl']['youtube'], false)); - define('XURL_GOOGLE', vartrue($pref['xurl']['google'], false)); - define('XURL_LINKEDIN', vartrue($pref['xurl']['linkedin'], false)); - define('XURL_GITHUB', vartrue($pref['xurl']['github'], false)); - define('XURL_FLICKR', vartrue($pref['xurl']['flickr'], false)); - define('XURL_INSTAGRAM', vartrue($pref['xurl']['instagram'], false)); - define('XURL_PINTEREST', vartrue($pref['xurl']['pinterest'], false)); - define('XURL_STEAM', vartrue($pref['xurl']['steam'], false)); - define('XURL_VIMEO', vartrue($pref['xurl']['vimeo'], false)); - define('XURL_TWITCH', vartrue($pref['xurl']['twitch'], false)); - define('XURL_VK', vartrue($pref['xurl']['vk'], false)); - } - else - { - define('XURL_FACEBOOK',false); - define('XURL_TWITTER', false); - define('XURL_YOUTUBE', false); - define('XURL_GOOGLE', false); - define('XURL_LINKEDIN', false); - define('XURL_GITHUB', false); - define('XURL_FLICKR', false); - define('XURL_INSTAGRAM', false); - define('XURL_PINTEREST', false); - define('XURL_STEAM', false); - define('XURL_VIMEO', false); - define('XURL_TWITCH', false); - define('XURL_VK', false); - } +if(!defined('SITENAME')) // Allow override by English_custom.php or English_global.php plugin files. +{ + define('SITENAME', trim($tp->toHTML($pref['sitename'], '', 'USER_TITLE,er_on,defs'))); } +if(!defined('SITEDESCRIPTION')) // Allow override by English_custom.php or English_global.php plugin files. +{ + define('SITEDESCRIPTION', $tp->toHTML($pref['sitedescription'], '', 'emotes_off,defs')); +} + +define('SITEBUTTON', $tp->replaceConstants($pref['sitebutton'],'abs')); +define('SITETAG', $tp->toHTML($pref['sitetag'], false, 'emotes_off,defs')); + +define('SITEADMIN', $pref['siteadmin']); +define('SITEADMINEMAIL', $pref['siteadminemail']); +define('SITEDISCLAIMER', $tp->toHTML($pref['sitedisclaimer'], '', 'emotes_off,defs')); +define('SITECONTACTINFO', $tp->toHTML($pref['sitecontactinfo'], true, 'emotes_off,defs')); +define('SITEEMAIL', vartrue($pref['replyto_email'],$pref['siteadminemail'])); +define('USER_REGISTRATION', vartrue($pref['user_reg'],false)); // User Registration System Active or Not. +define('e_DEVELOPER', $developerMode); +define('e_VERSION', varset($pref['version'])); + +unset($developerMode); + +if(!empty($pref['xurl']) && is_array($pref['xurl'])) +{ + define('XURL_FACEBOOK', vartrue($pref['xurl']['facebook'], false)); + define('XURL_TWITTER', vartrue($pref['xurl']['twitter'], false)); + define('XURL_YOUTUBE', vartrue($pref['xurl']['youtube'], false)); + define('XURL_GOOGLE', vartrue($pref['xurl']['google'], false)); + define('XURL_LINKEDIN', vartrue($pref['xurl']['linkedin'], false)); + define('XURL_GITHUB', vartrue($pref['xurl']['github'], false)); + define('XURL_FLICKR', vartrue($pref['xurl']['flickr'], false)); + define('XURL_INSTAGRAM', vartrue($pref['xurl']['instagram'], false)); + define('XURL_PINTEREST', vartrue($pref['xurl']['pinterest'], false)); + define('XURL_STEAM', vartrue($pref['xurl']['steam'], false)); + define('XURL_VIMEO', vartrue($pref['xurl']['vimeo'], false)); + define('XURL_TWITCH', vartrue($pref['xurl']['twitch'], false)); + define('XURL_VK', vartrue($pref['xurl']['vk'], false)); +} +else +{ + define('XURL_FACEBOOK',false); + define('XURL_TWITTER', false); + define('XURL_YOUTUBE', false); + define('XURL_GOOGLE', false); + define('XURL_LINKEDIN', false); + define('XURL_GITHUB', false); + define('XURL_FLICKR', false); + define('XURL_INSTAGRAM', false); + define('XURL_PINTEREST', false); + define('XURL_STEAM', false); + define('XURL_VIMEO', false); + define('XURL_TWITCH', false); + define('XURL_VK', false); +} + if(!defined('MAIL_IDENTIFIER')) { define('MAIL_IDENTIFIER', 'X-e107-id'); diff --git a/e107_handlers/e107_class.php b/e107_handlers/e107_class.php index 173567ed3..20d7a7588 100644 --- a/e107_handlers/e107_class.php +++ b/e107_handlers/e107_class.php @@ -4535,8 +4535,12 @@ class e107 } } - if (e107::isCli()) chdir(e_ROOT); // Maintain relative path consistency in CLI mode - $path = dirname(self::getRelativePath(getcwd(), $target_path))."/"; + if(self::isCli()) // Maintain relative path consistency in CLI mode + { + chdir(e_ROOT); + } + + $path = dirname(self::getRelativePath(getcwd(), $target_path)) . "/"; $http_path = dirname($_SERVER['SCRIPT_NAME']); $http_path = explode("/", $http_path); diff --git a/e107_handlers/e_parse_class.php b/e107_handlers/e_parse_class.php index da9b1d7bc..abf4db03d 100644 --- a/e107_handlers/e_parse_class.php +++ b/e107_handlers/e_parse_class.php @@ -780,7 +780,7 @@ class e_parse extends e_parser require_once(e_HANDLER.'bbcode_handler.php'); $this->e_bb = new e_bbcode; } - $ret = $this->e_bb->parseBBCodes($data, USERID, 'default', 'PRE'); // $postID = logged in user here + $ret = $this->e_bb->parseBBCodes($data, defset('USERID'), 'default', 'PRE'); // $postID = logged in user here return $ret; } diff --git a/e107_handlers/shortcode_handler.php b/e107_handlers/shortcode_handler.php index ce95f12a5..47b88ac7a 100644 --- a/e107_handlers/shortcode_handler.php +++ b/e107_handlers/shortcode_handler.php @@ -533,7 +533,12 @@ class e_parse_shortcode { global $register_sc; - $themePath = ($theme === null) ? THEME : e_THEME.$theme.'/'; + $themePath = ($theme === null) ? defset('THEME') : e_THEME.$theme.'/'; + + if(empty($themePath)) + { + return null; + } if(file_exists($themePath."theme_shortcodes.php")) { diff --git a/e107_plugins/rss_menu/rss.php b/e107_plugins/rss_menu/rss.php index 50f9f770c..83b697b8d 100644 --- a/e107_plugins/rss_menu/rss.php +++ b/e107_plugins/rss_menu/rss.php @@ -21,6 +21,11 @@ Plugins should use an e_rss.php file in their plugin folder */ if (!defined('e107_INIT')) { + if(!empty($_GET) || !empty($argv)) + { + $_E107['minimal'] = true; + } + require_once('../../class2.php'); } @@ -72,7 +77,6 @@ else $topic_id = false; } - // List available rss feeds if (empty($rss_type)) { @@ -693,7 +697,7 @@ class rssCreate \n e107\n \n - e107\n"; + e107\n"; ///icon.jpg\n echo " ".(strpos(SITEBUTTON, "http:") !== false ? SITEBUTTON : SITEURL.str_replace("../", "", SITEBUTTON))."\n