Интеграция с Zend Framework

Класс интеграции + вывод версии ZF в админку (для своевременного обновления).
This commit is contained in:
Exile 2014-11-24 20:18:22 +03:00
commit 0387f38d7f
7 changed files with 111 additions and 2 deletions

View file

@ -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']);

View file

@ -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';

View file

@ -0,0 +1,97 @@
<?php
if (!defined('BB_ROOT')) die(basename(__FILE__));
class ZendLoader
{
protected static $_instance;
protected $_rootDir = '.';
protected $_setup = false;
protected function __construct() {}
public function setupAutoloader($rootDir)
{
if ($this->_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;
}
}

View file

@ -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';

View file

@ -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';

View file

@ -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';

View file

@ -135,13 +135,17 @@ ajax.callback.manage_admin = function(data) {
<th colspan="2">{L_VERSION_INFORMATION}</th>
</tr>
<tr>
<td class="row1" nowrap="nowrap" width="25%">{L_TP_VERSION}:</td>
<td class="row1" nowrap="nowrap" width="25%">{L_TP_VERSION}:</td>
<td class="row2"><b>{$bb_cfg['tp_version']} [{$bb_cfg['tp_release_state']}]</b></td>
</tr>
<tr>
<td class="row1" nowrap="nowrap" width="25%">{L_TP_RELEASE_DATE}:</td>
<td class="row1" nowrap="nowrap" width="25%">{L_TP_RELEASE_DATE}:</td>
<td class="row2"><b>{$bb_cfg['tp_release_date']}</b></td>
</tr>
<tr>
<td class="row1" nowrap="nowrap" width="25%">{L_ZF_VERSION}:</td>
<td class="row2"><b>{$bb_cfg['tp_zf_version']}</b></td>
</tr>
</table>
<br />