From 0387f38d7fe746bb0edaafafa37ba0ca94cdef1a Mon Sep 17 00:00:00 2001 From: Exile Date: Mon, 24 Nov 2014 20:18:22 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=BD=D1=82=D0=B5=D0=B3=D1=80=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D1=8F=20=D1=81=20Zend=20Framework?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Класс интеграции + вывод версии ZF в админку (для своевременного обновления). --- common.php | 4 + library/config.php | 1 + library/includes/classes/zendLoader.php | 97 +++++++++++++++++++++++++ library/language/en/main.php | 1 + library/language/ru/main.php | 1 + library/language/uk/main.php | 1 + styles/templates/admin/index.tpl | 8 +- 7 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 library/includes/classes/zendLoader.php diff --git a/common.php b/common.php index 6fbd66384..4177c0fec 100644 --- a/common.php +++ b/common.php @@ -19,6 +19,10 @@ header('X-Frame-Options: SAMEORIGIN'); // Get initial config require(BB_ROOT . 'library/config.php'); +// Load Zend Framework +require(CLASS_DIR . 'zendLoader.php'); +ZendLoader::getInstance()->setupAutoloader(BB_ROOT . '/library'); + $server_protocol = ($bb_cfg['cookie_secure']) ? 'https://' : 'http://'; $server_port = (in_array($bb_cfg['server_port'], array(80, 443))) ? '' : ':' . $bb_cfg['server_port']; define('FORUM_PATH', $bb_cfg['script_path']); diff --git a/library/config.php b/library/config.php index 7bb896f88..a12591131 100644 --- a/library/config.php +++ b/library/config.php @@ -75,6 +75,7 @@ $domain_name = (!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : $do $bb_cfg['tp_version'] = '2.1.4'; $bb_cfg['tp_release_date'] = '**-11-2014'; $bb_cfg['tp_release_state'] = 'ALPHA'; +$bb_cfg['tp_zf_version'] = '2.3.3'; // Database $charset = 'utf8'; diff --git a/library/includes/classes/zendLoader.php b/library/includes/classes/zendLoader.php new file mode 100644 index 000000000..dd4621957 --- /dev/null +++ b/library/includes/classes/zendLoader.php @@ -0,0 +1,97 @@ +_setup) + { + return; + } + + $this->_rootDir = $rootDir; + $this->_setupAutoloader(); + + $this->_setup = true; + } + + protected function _setupAutoloader() + { + if (@ini_get('open_basedir')) + { + set_include_path($this->_rootDir . PATH_SEPARATOR . '.'); + } + else + { + set_include_path($this->_rootDir . PATH_SEPARATOR . '.' . PATH_SEPARATOR . get_include_path()); + } + + spl_autoload_register(array($this, 'autoload')); + } + + public function autoload($class) + { + if (class_exists($class, false) || interface_exists($class, false)) + { + return true; + } + + if ($class == 'utf8_entity_decoder') + { + return true; + } + + $filename = $this->autoloaderClassToFile($class); + if (!$filename) + { + return false; + } + + if (file_exists($filename)) + { + include($filename); + return (class_exists($class, false) || interface_exists($class, false)); + } + + return false; + } + + public function autoloaderClassToFile($class) + { + if (preg_match('#[^a-zA-Z0-9_\\\\]#', $class)) + { + return false; + } + + return $this->_rootDir . '/' . str_replace(array('_', '\\'), '/', $class) . '.php'; + } + + public function getRootDir() + { + return $this->_rootDir; + } + + public static final function getInstance() + { + if (!self::$_instance) + { + self::$_instance = new self(); + } + + return self::$_instance; + } + + public static function setInstance(ZendLoader $loader = null) + { + self::$_instance = $loader; + } +} \ No newline at end of file diff --git a/library/language/en/main.php b/library/language/en/main.php index c4bf20e7e..cb9583d3f 100644 --- a/library/language/en/main.php +++ b/library/language/en/main.php @@ -1620,6 +1620,7 @@ $lang['CREATE_PROFILE'] = 'Create profile'; $lang['TP_VERSION'] = 'TorrentPier version'; $lang['TP_RELEASE_DATE'] = 'Release date'; +$lang['ZF_VERSION'] = 'Zend Framework version'; $lang['PHP_INFO'] = 'Information about PHP'; $lang['CLICK_RETURN_ADMIN_INDEX'] = 'Click %sHere%s to return to the Admin Index'; diff --git a/library/language/ru/main.php b/library/language/ru/main.php index a45dacbb1..6977eeba7 100644 --- a/library/language/ru/main.php +++ b/library/language/ru/main.php @@ -1620,6 +1620,7 @@ $lang['CREATE_PROFILE'] = 'Создать аккаунт'; $lang['TP_VERSION'] = 'Версия TorrentPier II'; $lang['TP_RELEASE_DATE'] = 'Дата выпуска'; +$lang['ZF_VERSION'] = 'Версия Zend Framework'; $lang['PHP_INFO'] = 'Информация о PHP'; $lang['CLICK_RETURN_ADMIN_INDEX'] = '%sВернуться на главную страницу администраторского раздела%s'; diff --git a/library/language/uk/main.php b/library/language/uk/main.php index 6abd28883..90202f122 100644 --- a/library/language/uk/main.php +++ b/library/language/uk/main.php @@ -1620,6 +1620,7 @@ $lang['CREATE_PROFILE'] = 'Створити акаунт'; $lang['TP_VERSION'] = 'Версія TorrentPier II'; $lang['TP_RELEASE_DATE'] = 'Дата випуску'; +$lang['ZF_VERSION'] = 'Версія Zend Framework'; $lang['PHP_INFO'] = 'Інформація про PHP'; $lang['CLICK_RETURN_ADMIN_INDEX'] = '%sВернуться на головну сторінку адміністраторського розділу%s'; diff --git a/styles/templates/admin/index.tpl b/styles/templates/admin/index.tpl index 0e1fd7f25..ab6721255 100644 --- a/styles/templates/admin/index.tpl +++ b/styles/templates/admin/index.tpl @@ -135,13 +135,17 @@ ajax.callback.manage_admin = function(data) { {L_VERSION_INFORMATION} - {L_TP_VERSION}: + {L_TP_VERSION}: {$bb_cfg['tp_version']} [{$bb_cfg['tp_release_state']}] - {L_TP_RELEASE_DATE}: + {L_TP_RELEASE_DATE}: {$bb_cfg['tp_release_date']} + + {L_ZF_VERSION}: + {$bb_cfg['tp_zf_version']} +