*some fixes

* fixed installing samples when for example Rook Sample already exist and other samples not
* fixed some mysql error when character you trying to create already exist
* fixed signature fonts finding path
* removed DEFAULT '' for TEXT field. It didn't worked under some systems like MAC OS X.
* moved news adding at installation from schema.sql to finish.php
* removed some unused cities field from myaac_spells table
* some optimizations
This commit is contained in:
slawkens 2017-08-23 17:00:41 +02:00
parent 55e8507cac
commit 45f988c420
187 changed files with 2065 additions and 133 deletions

View File

@ -28,7 +28,7 @@ session_start();
define('MYAAC', true);
define('MYAAC_VERSION', '0.2.4');
define('DATABASE_VERSION', 4);
define('DATABASE_VERSION', 5);
define('TABLE_PREFIX', 'myaac_');
define('START_TIME', microtime(true));
define('MYAAC_OS', (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') ? 'WINDOWS' : (strtoupper(PHP_OS) == 'DARWIN' ? 'MAC' : 'LINUX'));
@ -59,6 +59,7 @@ define('LIBS', SYSTEM . 'libs/');
define('LOGS', SYSTEM . 'logs/');
define('PLUGINS', BASE . 'plugins/');
define('TEMPLATES', BASE . 'templates/');
define('TOOLS', BASE . 'tools/');
// otserv versions
define('OTSERV', 1);

View File

@ -61,7 +61,10 @@ if(fetchDatabaseConfig('database_version', $tmp)) { // we got version
$tmp = (int)$tmp;
if($tmp < DATABASE_VERSION) { // import if older
for($i = $tmp + 1; $i <= DATABASE_VERSION; $i++) {
require(SYSTEM . 'migrations/' . $i . '.php');
$file = SYSTEM . 'migrations/' . $i . '.php';
if(file_exists($file)) {
require($file);
}
}
updateDatabaseConfig('database_version', DATABASE_VERSION);

View File

@ -28,17 +28,17 @@ function ini_get_bool($a)
switch (strtolower($b))
{
case 'on':
case 'yes':
case 'true':
return 'assert.active' !== $a;
case 'on':
case 'yes':
case 'true':
return 'assert.active' !== $a;
case 'stdout':
case 'stderr':
return 'display_errors' === $a;
case 'stdout':
case 'stderr':
return 'display_errors' === $a;
default:
return (bool) (int) $b;
default:
return (bool) (int) $b;
}
}

View File

@ -176,15 +176,13 @@ INSERT INTO `myaac_news_categories` (`id`, `icon_id`) VALUES (NULL, 1);
INSERT INTO `myaac_news_categories` (`id`, `icon_id`) VALUES (NULL, 2);
INSERT INTO `myaac_news_categories` (`id`, `icon_id`) VALUES (NULL, 3);
INSERT INTO `myaac_news_categories` (`id`, `icon_id`) VALUES (NULL, 4);
INSERT INTO `myaac_news` (`id`, `type`, `date`, `category`, `title`, `body`, `player_id`, `comments`, `hidden`) VALUES (NULL, '1', UNIX_TIMESTAMP(), '2', 'Hello!', 'MyAAC is just READY to use!', 'slawkens', 'http://my-aac.org', '0');
INSERT INTO `myaac_news` (`id`, `type`, `date`, `category`, `title`, `body`, `player_id`, `comments`, `hidden`) VALUES (NULL, '2', UNIX_TIMESTAMP(), '4', 'Hello tickets!', 'http://my-aac.org', 'slawkens', '', '0');
CREATE TABLE `myaac_notepad`
(
`id` INT(11) NOT NULL AUTO_INCREMENT,
`account_id` INT(11) NOT NULL,
/*`name` VARCHAR(30) NOT NULL,*/
`content` TEXT NOT NULL DEFAULT '',
`content` TEXT NOT NULL,
/*`public` TINYINT(1) NOT NULL DEFAULT 0*/
PRIMARY KEY (`id`)
) ENGINE = MyISAM;
@ -233,7 +231,6 @@ CREATE TABLE `myaac_spells`
`conjure_count` TINYINT(3) NOT NULL DEFAULT 0,
`premium` TINYINT(1) NOT NULL DEFAULT 0,
`vocations` VARCHAR(32) NOT NULL,
`cities` VARCHAR(32) NOT NULL,
`hidden` TINYINT(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`id`),
UNIQUE (`spell`)
@ -245,4 +242,4 @@ CREATE TABLE `myaac_visitors`
`lastvisit` INT(11) NOT NULL DEFAULT 0,
`page` VARCHAR(100) NOT NULL,
UNIQUE (`ip`)
) ENGINE = MyISAM;
) ENGINE = MyISAM;

View File

@ -169,7 +169,7 @@ if(!$error) {
}
if(!fieldExist('description', 'guilds')) {
if(query("ALTER TABLE `guilds` ADD `description` TEXT NOT NULL DEFAULT '';"))
if(query("ALTER TABLE `guilds` ADD `description` TEXT NOT NULL;"))
success($locale['step_database_adding_field'] . ' guilds.description...');
}
@ -210,7 +210,7 @@ if(!$error) {
}
if(!fieldExist('comment', 'players')) {
if(query("ALTER TABLE `players` ADD `comment` TEXT NOT NULL DEFAULT '';"))
if(query("ALTER TABLE `players` ADD `comment` TEXT NOT NULL;"))
success($locale['step_database_adding_field'] . ' players.comment...');
}
}
@ -218,10 +218,6 @@ if(!$error) {
if(!$error && (!isset($_SESSION['saved']))) {
$content .= '$config[\'installed\'] = true;';
$content .= PHP_EOL;
// if(strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false) {
// $content .= '$config[\'friendly_urls\'] = true;';
// $content .= PHP_EOL;
// }
$content .= '$config[\'mail_enabled\'] = true;';
$content .= PHP_EOL;

View File

@ -2,7 +2,7 @@
defined('MYAAC') or die('Direct access not allowed!');
if(isset($config['installed']) && $config['installed'] && !isset($_SESSION['saved'])) {
echo '<p class="warning">' . $locale['already_installed'] . '</p>';
warning($locale['already_installed']);
}
else {
require(SYSTEM . 'init.php');
@ -50,12 +50,12 @@ else {
else
$account_db->load($account_id);
$player_db = $ots->createObject('Player');
$player_db = new OTS_Player();
$player_db->find('Admin');
$groups = new OTS_Groups_List();
if(!$player_db->isLoaded())
{
$player = $ots->createObject('Player');
$player = new OTS_Player();
$player->setName('Admin');
$player->setGroupId($groups->getHighestId());
@ -84,7 +84,7 @@ else {
$_SESSION['account'] = $account_db->getId();
}
else {
$new_account = $ots->createObject('Account');
$new_account = new OTS_Account();
$new_account->create($account);
$new_account->setPassword(encrypt($password));
@ -114,36 +114,75 @@ else {
$_SESSION['account'] = $new_account->getId();
}
if($player_db->isLoaded())
$player_db->save();
else
$player->save();
success($locale['step_database_created_account']);
$_SESSION['password'] = encrypt($password);
$_SESSION['remember_me'] = true;
if($player_db->isLoaded()) {
$player_db->save();
}
else {
$player->save();
}
$player_id = 0;
$query = $db->query("SELECT `id` FROM `players` WHERE `name` = " . $db->quote('Admin') . ";");
if($query->rowCount() == 1) {
$query = $query->fetch();
$player_id = $query['id'];
}
if(query("INSERT INTO `myaac_news` (`id`, `type`, `date`, `category`, `title`, `body`, `player_id`, `comments`, `hidden`) VALUES (NULL, '1', UNIX_TIMESTAMP(), '2', 'Hello!', 'MyAAC is just READY to use!', " . $player_id . ", 'http://my-aac.org', '0');
INSERT INTO `myaac_news` (`id`, `type`, `date`, `category`, `title`, `body`, `player_id`, `comments`, `hidden`) VALUES (NULL, '2', UNIX_TIMESTAMP(), '4', 'Hello tickets!', 'http://my-aac.org', " . $player_id . ", '', '0');")) {
success($locale['step_database_created_news']);
}
$deleted = 'deleted';
if(fieldExist('deletion', 'players'))
$deleted = 'deletion';
$query = $db->query('SELECT `id` FROM `players` WHERE `name` = ' . $db->quote('Rook Sample') . ' OR `name` = ' . $db->quote('Sorcerer Sample') . ' OR `name` = ' . $db->quote('Druid Sample') . ' OR `name` = ' . $db->quote('Paladin Sample') . ' OR `name` = ' . $db->quote('Knight Sample'));
$insert_into_players = "INSERT INTO `players` (`id`, `name`, `group_id`, `account_id`, `level`, `vocation`, `health`, `healthmax`, `experience`, `lookbody`, `lookfeet`, `lookhead`, `looklegs`, `looktype`, `maglevel`, `mana`, `manamax`, `manaspent`, `soul`, `town_id`, `posx`, `posy`, `posz`, `conditions`, `cap`, `sex`, `lastlogin`, `lastip`, `save`, `lastlogout`, `balance`, `$deleted`, `created`, `hidden`, `comment`) VALUES ";
$success = true;
$query = $db->query('SELECT `id` FROM `players` WHERE `name` = ' . $db->quote('Rook Sample'));
if($query->rowCount() == 0) {
if(query("INSERT INTO `players` (`id`, `name`, `group_id`, `account_id`, `level`, `vocation`, `health`, `healthmax`, `experience`, `lookbody`, `lookfeet`, `lookhead`, `looklegs`, `looktype`, `maglevel`, `mana`, `manamax`, `manaspent`, `soul`, `town_id`, `posx`, `posy`, `posz`, `conditions`, `cap`, `sex`, `lastlogin`, `lastip`, `save`, `lastlogout`, `balance`, `$deleted`, `created`, `hidden`, `comment`) VALUES
(null, 'Rook Sample', 1, 1, 8, 0, 185, 185, 4200, 118, 114, 38, 57, 130, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179613, 2453925456, 1, 1255179614, 0, 1, UNIX_TIMESTAMP(), 1, ''),
(null, 'Sorcerer Sample', 1, 1, 8, 1, 185, 185, 4200, 118, 114, 38, 57, 130, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179571, 2453925456, 1, 1255179612, 0, 1, UNIX_TIMESTAMP(), 1, ''),
(null, 'Druid Sample', 1, 1, 8, 2, 185, 185, 4200, 118, 114, 38, 57, 130, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179655, 2453925456, 1, 1255179658, 0, 1, UNIX_TIMESTAMP(), 1, ''),
(null, 'Paladin Sample', 1, 1, 8, 3, 185, 185, 4200, 118, 114, 38, 57, 129, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179854, 2453925456, 1, 1255179858, 0, 1, UNIX_TIMESTAMP(), 1, ''),
(null, 'Knight Sample', 1, 1, 8, 4, 185, 185, 4200, 118, 114, 38, 57, 131, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179620, 2453925456, 1, 1255179654, 0, 1, UNIX_TIMESTAMP(), 1, '');"))
success($locale['step_database_imported_players']);
if(!query($insert_into_players . "(null, 'Rook Sample', 1, 1, 8, 0, 185, 185, 4200, 118, 114, 38, 57, 130, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179613, 2453925456, 1, 1255179614, 0, 1, UNIX_TIMESTAMP(), 1, '');"))
$success = false;
}
$query = $db->query('SELECT `id` FROM `players` WHERE `name` = ' . $db->quote('Sorcerer Sample'));
if($query->rowCount() == 0) {
if(!query($insert_into_players . "(null, 'Sorcerer Sample', 1, 1, 8, 1, 185, 185, 4200, 118, 114, 38, 57, 130, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179571, 2453925456, 1, 1255179612, 0, 1, UNIX_TIMESTAMP(), 1, '');"))
$success = false;
}
$query = $db->query('SELECT `id` FROM `players` WHERE `name` = ' . $db->quote('Druid Sample'));
if($query->rowCount() == 0) {
if(!query($insert_into_players . "(null, 'Druid Sample', 1, 1, 8, 2, 185, 185, 4200, 118, 114, 38, 57, 130, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179655, 2453925456, 1, 1255179658, 0, 1, UNIX_TIMESTAMP(), 1, '');"))
$success = false;
}
$query = $db->query('SELECT `id` FROM `players` WHERE `name` = ' . $db->quote('Paladin Sample'));
if($query->rowCount() == 0) {
if(!query($insert_into_players . "(null, 'Paladin Sample', 1, 1, 8, 3, 185, 185, 4200, 118, 114, 38, 57, 129, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179854, 2453925456, 1, 1255179858, 0, 1, UNIX_TIMESTAMP(), 1, '');"))
$success = false;
}
$query = $db->query('SELECT `id` FROM `players` WHERE `name` = ' . $db->quote('Knight Sample'));
if($query->rowCount() == 0) {
if(!query($insert_into_players . "(null, 'Knight Sample', 1, 1, 8, 4, 185, 185, 4200, 118, 114, 38, 57, 131, 0, 35, 35, 0, 100, 11, 2200, 1298, 7, '', 470, 1, 1255179620, 2453925456, 1, 1255179654, 0, 1, UNIX_TIMESTAMP(), 1, '');"))
$success = false;
}
if($success) {
success($locale['step_database_imported_players']);
}
$locale['step_finish_desc'] = str_replace('$ADMIN_PANEL$', generateLink(ADMIN_URL, $locale['step_finish_admin_panel'], true), $locale['step_finish_desc']);
$locale['step_finish_desc'] = str_replace('$HOMEPAGE$', generateLink(BASE_URL, $locale['step_finish_homepage'], true), $locale['step_finish_desc']);
$locale['step_finish_desc'] = str_replace('$LINK$', generateLink('http://my-aac.org', 'http://my-aac.org', true), $locale['step_finish_desc']);
?>
<p class="success"><?php echo $locale['step_finish_desc']; ?></p>
<?php
success($locale['step_finish_desc']);
if(!isset($_SESSION['installed'])) {
file_get_contents('http://my-aac.org/report_install.php?v=' . MYAAC_VERSION . '&b=' . urlencode(BASE_URL));

View File

@ -252,7 +252,7 @@ class OTS_Account extends OTS_Row_DAO implements IteratorAggregate, Countable
$lastday = 'lastday';
if(fieldExist('premend', 'accounts'))
$lastday = 'premend';
// UPDATE query on database
$this->db->query('UPDATE `accounts` SET ' . (fieldExist('name', 'accounts') ? '`name` = ' . $this->db->quote($this->data['name']) . ',' : '') . '`password` = ' . $this->db->quote($this->data['password']) . ', `email` = ' . $this->db->quote($this->data['email']) . ', `blocked` = ' . (int) $this->data['blocked'] . ', `rlname` = ' . $this->db->quote($this->data['rlname']) . ', `location` = ' . $this->db->quote($this->data['location']) . ', `web_flags` = ' . (int) $this->data['web_flags'] . ', ' . (fieldExist('premdays', 'accounts') ? '`premdays` = ' . (int) $this->data['premdays'] . ',' : '') . '`' . $lastday . '` = ' . (int) $this->data['lastday'] . ' WHERE `id` = ' . $this->data['id']);
}
@ -316,7 +316,7 @@ class OTS_Account extends OTS_Row_DAO implements IteratorAggregate, Countable
return ($this->data['web_flags'] & $flag) == $flag;
}
public function isAdmin()
{
return $this->hasFlag(FLAG_ADMIN) || $this->isSuperAdmin();
@ -766,7 +766,7 @@ class OTS_Account extends OTS_Row_DAO implements IteratorAggregate, Countable
{
throw new E_OTS_NotLoaded();
}
if(tableExist('account_bans')) {
$ban = $this->db->query('SELECT `expires_at` FROM `account_bans` WHERE `account_id` = ' . $this->data['id'] . ' AND (`expires_at` > ' . time() .' OR `expires_at` = -1) ORDER BY `expires_at` DESC')->fetch();
$this->data['banned'] = isset($ban['expires_at']);
@ -859,11 +859,11 @@ class OTS_Account extends OTS_Row_DAO implements IteratorAggregate, Countable
if(isset($query['group_id']))
return $query['group_id'];
}
$db->query('SELECT `group_id` FROM `players` WHERE `account_id` = ' . $this->getId() . ' ORDER BY `group_id` DESC LIMIT 1')->fetch();
if(isset($query['group_id']))
return $query['group_id'];
return 0;
}
@ -903,7 +903,7 @@ class OTS_Account extends OTS_Row_DAO implements IteratorAggregate, Countable
$ip = $_SERVER['HTTP_CLIENT_IP'];
else if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && !empty($_SERVER['HTTP_X_FORWARDED_FOR']))
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
if(strpos($ip, ":") === false) {
$ipv6 = '0';
}
@ -912,7 +912,7 @@ class OTS_Account extends OTS_Row_DAO implements IteratorAggregate, Countable
$ip = '';
}
return $this->db->query('INSERT INTO `' . TABLE_PREFIX . 'account_actions` (`account_id`, `ip`, `ipv6`, `date`, `action`) VALUES (' . $this->db->quote($this->getId()).', (' . $this->db->quote(ip2long($ip)) . '), (' . ($ipv6 == '0' ? $this->db->quote('') : $this->db->quote(inet_pton($ipv6))) . '), UNIX_TIMESTAMP(NOW()), ' . $this->db->quote($action).')');
return $this->db->query('INSERT INTO `' . TABLE_PREFIX . 'account_actions` (`account_id`, `ip`, `ipv6`, `date`, `action`) VALUES (' . $this->db->quote($this->getId()).', ' . ($ip == '' ? '0' : $this->db->quote(ip2long($ip))) . ', (' . ($ipv6 == '0' ? $this->db->quote('') : $this->db->quote(inet_pton($ipv6))) . '), UNIX_TIMESTAMP(NOW()), ' . $this->db->quote($action).')');
}
public function getActionsLog($limit1, $limit2)

View File

@ -447,7 +447,7 @@ class OTS_Player extends OTS_Row_DAO
}
// INSERT query on database
$this->db->query('INSERT INTO ' . $this->db->tableName('players') . ' (' . $this->db->fieldName('name') . ', ' . $this->db->fieldName('account_id') . ', ' . $this->db->fieldName('group_id') . ', ' . $this->db->fieldName('sex') . ', ' . $this->db->fieldName('vocation') . ', ' . $this->db->fieldName('experience') . ', ' . $this->db->fieldName('level') . ', ' . $this->db->fieldName('maglevel') . ', ' . $this->db->fieldName('health') . ', ' . $this->db->fieldName('healthmax') . ', ' . $this->db->fieldName('mana') . ', ' . $this->db->fieldName('manamax') . ', ' . $this->db->fieldName('manaspent') . ', ' . $this->db->fieldName('soul') . ', ' . $this->db->fieldName('lookbody') . ', ' . $this->db->fieldName('lookfeet') . ', ' . $this->db->fieldName('lookhead') . ', ' . $this->db->fieldName('looklegs') . ', ' . $this->db->fieldName('looktype') . $lookaddons . ', ' . $this->db->fieldName('posx') . ', ' . $this->db->fieldName('posy') . ', ' . $this->db->fieldName('posz') . ', ' . $this->db->fieldName('cap') . ', `lastlogin`, `lastlogout`, ' . $this->db->fieldName('lastip') . ', ' . $this->db->fieldName('save') . ', ' . $this->db->fieldName('conditions') . ', `' . $skull_time . '`, `' . $skull_type . '`' . $guild_info . ', ' . $this->db->fieldName('town_id') . $loss . $loss_items . ', `balance`' . $blessings . $stamina . $direction . ', ' . $this->db->fieldName('created') . $promotion . ') VALUES (' . $this->db->quote($this->data['name']) . ', ' . $this->data['account_id'] . ', ' . $this->data['group_id'] . ', ' . $this->data['sex'] . ', ' . $this->data['vocation'] . ', ' . $this->data['experience'] . ', ' . $this->data['level'] . ', ' . $this->data['maglevel'] . ', ' . $this->data['health'] . ', ' . $this->data['healthmax'] . ', ' . $this->data['mana'] . ', ' . $this->data['manamax'] . ', ' . $this->data['manaspent'] . ', ' . $this->data['soul'] . ', ' . $this->data['lookbody'] . ', ' . $this->data['lookfeet'] . ', ' . $this->data['lookhead'] . ', ' . $this->data['looklegs'] . ', ' . $this->data['looktype'] . $lookaddons_data . ', ' . $this->data['posx'] . ', ' . $this->data['posy'] . ', ' . $this->data['posz'] . ', ' . $this->data['cap'] . ', ' . $this->data['lastlogin'] . ', ' . $this->data['lastlogout'] . ', ' . $this->data['lastip'] . ', ' . (int) $this->data['save'] . ', ' . $this->db->quote($this->data['conditions']) . ', ' . $this->data['skulltime'] . ', ' . (int) $this->data['skull'] . $guild_info_data . ', ' . $this->data['town_id'] . $loss_data . $loss_items_data . ', ' . $this->data['balance'] . $blessings_data . $stamina_data . $direction_data . ', ' . time() . $promotion_data . ')');
$this->db->query('INSERT INTO `players` (`name`, `account_id`, `group_id`, `sex`, `vocation`, `experience`, `level`, `maglevel`, `health`, `healthmax`, `mana`, `manamax`, `manaspent`, `soul`, `lookbody`, `lookfeet`, `lookhead`, `looklegs`, `looktype`' . $lookaddons . ', `posx`, `posy`, `posz`, `cap`, `lastlogin`, `lastlogout`, `lastip`, `save`, `conditions`, `' . $skull_time . '`, `' . $skull_type . '`' . $guild_info . ', `town_id`' . $loss . $loss_items . ', `balance`' . $blessings . $stamina . $direction . ', `created`' . $promotion . ', `comment`) VALUES (' . $this->db->quote($this->data['name']) . ', ' . $this->data['account_id'] . ', ' . $this->data['group_id'] . ', ' . $this->data['sex'] . ', ' . $this->data['vocation'] . ', ' . $this->data['experience'] . ', ' . $this->data['level'] . ', ' . $this->data['maglevel'] . ', ' . $this->data['health'] . ', ' . $this->data['healthmax'] . ', ' . $this->data['mana'] . ', ' . $this->data['manamax'] . ', ' . $this->data['manaspent'] . ', ' . $this->data['soul'] . ', ' . $this->data['lookbody'] . ', ' . $this->data['lookfeet'] . ', ' . $this->data['lookhead'] . ', ' . $this->data['looklegs'] . ', ' . $this->data['looktype'] . $lookaddons_data . ', ' . $this->data['posx'] . ', ' . $this->data['posy'] . ', ' . $this->data['posz'] . ', ' . $this->data['cap'] . ', ' . $this->data['lastlogin'] . ', ' . $this->data['lastlogout'] . ', ' . $this->data['lastip'] . ', ' . (int) $this->data['save'] . ', ' . $this->db->quote($this->data['conditions']) . ', ' . $this->data['skulltime'] . ', ' . (int) $this->data['skull'] . $guild_info_data . ', ' . $this->data['town_id'] . $loss_data . $loss_items_data . ', ' . $this->data['balance'] . $blessings_data . $stamina_data . $direction_data . ', ' . time() . $promotion_data . ', "")');
// ID of new group
$this->data['id'] = $this->db->lastInsertId();
}
@ -2320,8 +2320,8 @@ class OTS_Player extends OTS_Row_DAO
{
$value = $this->db->quote($value);
}
$this->db->query('UPDATE ' . $this->db->tableName('players') . ' SET ' . $this->db->fieldName($field) . ' = ' . $value . ' WHERE ' . $this->db->fieldName('id') . ' = ' . $this->data['id']);
$this->db->query('UPDATE `players` SET `' . $field . '` = ' . $value . ' WHERE `id` = ' . $this->data['id']);
}
/**

View File

@ -0,0 +1,39 @@
<?php
/*
* This file is part of Twig.
*
* (c) 2009 Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
/**
* Autoloads Twig classes.
*
* @author Fabien Potencier <fabien@symfony.com>
*/
class Twig_Autoloader
{
/**
* Registers Twig_Autoloader as an SPL autoloader.
*/
public static function register()
{
ini_set('unserialize_callback_func', 'spl_autoload_call');
spl_autoload_register(array(new self, 'autoload'));
}
/**
* Handles autoloading of classes.
*
* @param string $class A class name.
*/
public static function autoload($class)
{
if (0 !== strpos($class, 'Twig')) {
return;
}
if (is_file($file = dirname(__FILE__).'/../'.str_replace(array('_', "\0"), array('/', ''), $class).'.php')) {
require $file;
}
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Cache;
class_exists('Twig_CacheInterface');
if (\false) {
interface CacheInterface extends \Twig_CacheInterface
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Cache;
class_exists('Twig_Cache_Filesystem');
if (\false) {
class FilesystemCache extends \Twig_Cache_Filesystem
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Cache;
class_exists('Twig_Cache_Null');
if (\false) {
class NullCache extends \Twig_Cache_Null
{
}
}

11
system/libs/twig/Compiler.php Executable file
View File

@ -0,0 +1,11 @@
<?php
namespace Twig;
class_exists('Twig_Compiler');
if (\false) {
class Compiler extends \Twig_Compiler
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig;
class_exists('Twig_Environment');
if (\false) {
class Environment extends \Twig_Environment
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Error;
class_exists('Twig_Error');
if (\false) {
class Error extends \Twig_Error
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Error;
class_exists('Twig_Error_Loader');
if (\false) {
class LoaderError extends \Twig_Error_Loader
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Error;
class_exists('Twig_Error_Runtime');
if (\false) {
class RuntimeError extends \Twig_Error_Runtime
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Error;
class_exists('Twig_Error_Syntax');
if (\false) {
class SyntaxError extends \Twig_Error_Syntax
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig;
class_exists('Twig_ExpressionParser');
if (\false) {
class ExpressionParser extends \Twig_ExpressionParser
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Extension;
class_exists('Twig_Extension');
if (\false) {
class AbstractExtension extends \Twig_Extension
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Extension;
class_exists('Twig_Extension_Core');
if (\false) {
class CoreExtension extends \Twig_Extension_Core
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Extension;
class_exists('Twig_Extension_Debug');
if (\false) {
class DebugExtension extends \Twig_Extension_Debug
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Extension;
class_exists('Twig_Extension_Escaper');
if (\false) {
class EscaperExtension extends \Twig_Extension_Escaper
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Extension;
class_exists('Twig_ExtensionInterface');
if (\false) {
interface ExtensionInterface extends \Twig_ExtensionInterface
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Extension;
class_exists('Twig_Extension_GlobalsInterface');
if (\false) {
interface GlobalsInterface extends \Twig_Extension_ExtensionInterface
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Extension;
class_exists('Twig_Extension_InitRuntimeInterface');
if (\false) {
interface InitRuntimeInterface extends \Twig_Extension_InitRuntimeInterface
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Extension;
class_exists('Twig_Extension_Optimizer');
if (\false) {
class OptimizerExtension extends \Twig_Extension_Optimizer
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Extension;
class_exists('Twig_Extension_Profiler');
if (\false) {
class ProfilerExtension extends \Twig_Extension_Profiler
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Extension;
class_exists('Twig_Extension_Sandbox');
if (\false) {
class SandboxExtension extends \Twig_Extension_Sandbox
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Extension;
class_exists('Twig_Extension_Staging');
if (\false) {
class StagingExtension extends \Twig_Extension_Staging
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Extension;
class_exists('Twig_Extension_StringLoader');
if (\false) {
class StringLoaderExtension extends \Twig_Extension_StringLoader
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig;
class_exists('Twig_FileExtensionEscapingStrategy');
if (\false) {
class FileExtensionEscapingStrategy extends \Twig_FileExtensionEscapingStrategy
{
}
}

11
system/libs/twig/Lexer.php Executable file
View File

@ -0,0 +1,11 @@
<?php
namespace Twig;
class_exists('Twig_Lexer');
if (\false) {
class Lexer extends \Twig_Lexer
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Loader;
class_exists('Twig_Loader_Array');
if (\false) {
class ArrayLoader extends \Twig_Loader_Array
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Loader;
class_exists('Twig_Loader_Chain');
if (\false) {
class ChainLoader extends \Twig_Loader_Chain
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Loader;
class_exists('Twig_ExistsLoaderInterface');
if (\false) {
interface ExistsLoaderInterface extends \Twig_ExistsLoaderInterface
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Loader;
class_exists('Twig_Loader_Filesystem');
if (\false) {
class FilesystemLoader extends \Twig_Loader_Filesystem
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Loader;
class_exists('Twig_LoaderInterface');
if (\false) {
interface LoaderInterface extends \Twig_LoaderInterface
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Loader;
class_exists('Twig_SourceContextLoaderInterface');
if (\false) {
interface SourceContextLoaderInterface extends \Twig_SourceContextLoaderInterface
{
}
}

11
system/libs/twig/Markup.php Executable file
View File

@ -0,0 +1,11 @@
<?php
namespace Twig;
class_exists('Twig_Markup');
if (\false) {
class Markup extends \Twig_Markup
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node;
class_exists('Twig_Node_AutoEscape');
if (\false) {
class AutoEscapeNode extends \Twig_Node_AutoEscape
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node;
class_exists('Twig_Node_Block');
if (\false) {
class BlockNode extends \Twig_Node_Block
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node;
class_exists('Twig_Node_BlockReference');
if (\false) {
class BlockReferenceNode extends \Twig_Node_BlockReference
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node;
class_exists('Twig_Node_Body');
if (\false) {
class BodyNode extends \Twig_Node_Body
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node;
class_exists('Twig_Node_CheckSecurity');
if (\false) {
class CheckSecurityNode extends \Twig_Node_CheckSecurity
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node;
class_exists('Twig_Node_Do');
if (\false) {
class DoNode extends \Twig_Node_Do
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node;
class_exists('Twig_Node_Embed');
if (\false) {
class EmbedNode extends \Twig_Node_Embed
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression;
class_exists('Twig_Node_Expression');
if (\false) {
class AbstractExpression extends \Twig_Node_Expression
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression;
class_exists('Twig_Node_Expression_Array');
if (\false) {
class ArrayExpression extends \Twig_Node_Expression_Array
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression;
class_exists('Twig_Node_Expression_AssignName');
if (\false) {
class AssignNameExpression extends \Twig_Node_Expression_AssignName
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary');
if (\false) {
class AbstractBinary extends \Twig_Node_Expression_Binary
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_Add');
if (\false) {
class AddBinary extends \Twig_Node_Expression_Binary_Add
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_And');
if (\false) {
class AndBinary extends \Twig_Node_Expression_Binary_And
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_BitwiseAnd');
if (\false) {
class BitwiseAndBinary extends \Twig_Node_Expression_Binary_BitwiseAnd
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_BitwiseOr');
if (\false) {
class BitwiseOrBinary extends \Twig_Node_Expression_Binary_BitwiseOr
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_BitwiseXor');
if (\false) {
class BitwiseXorBinary extends \Twig_Node_Expression_Binary_BitwiseXor
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_Concat');
if (\false) {
class ConcatBinary extends \Twig_Node_Expression_Binary_Concat
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_Div');
if (\false) {
class DivBinary extends \Twig_Node_Expression_Binary_Div
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_EndsWith');
if (\false) {
class EndsWithBinary extends \Twig_Node_Expression_Binary_EndsWith
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_Equal');
if (\false) {
class EqualBinary extends \Twig_Node_Expression_Binary_Equal
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_FloorDiv');
if (\false) {
class FloorDivBinary extends \Twig_Node_Expression_Binary_FloorDiv
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_Greater');
if (\false) {
class GreaterBinary extends \Twig_Node_Expression_Binary_Greater
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_GreaterEqual');
if (\false) {
class GreaterEqualBinary extends \Twig_Node_Expression_Binary_GreaterEqual
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_In');
if (\false) {
class InBinary extends \Twig_Node_Expression_Binary_In
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_Less');
if (\false) {
class LessBinary extends \Twig_Node_Expression_Binary_Less
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_LessEqual');
if (\false) {
class LessEqualBinary extends \Twig_Node_Expression_Binary_LessEqual
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_Matches');
if (\false) {
class MatchesBinary extends \Twig_Node_Expression_Binary_Matches
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_Mod');
if (\false) {
class ModBinary extends \Twig_Node_Expression_Binary_Mod
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_Mul');
if (\false) {
class MulBinary extends \Twig_Node_Expression_Binary_Mul
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_NotEqual');
if (\false) {
class NotEqualBinary extends \Twig_Node_Expression_Binary_NotEqual
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_NotIn');
if (\false) {
class NotInBinary extends \Twig_Node_Expression_Binary_NotIn
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_Or');
if (\false) {
class OrBinary extends \Twig_Node_Expression_Binary_Or
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_Power');
if (\false) {
class PowerBinary extends \Twig_Node_Expression_Binary_Power
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_Range');
if (\false) {
class RangeBinary extends \Twig_Node_Expression_Binary_Range
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_StartsWith');
if (\false) {
class StartsWithBinary extends \Twig_Node_Expression_Binary_StartsWith
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Binary;
class_exists('Twig_Node_Expression_Binary_Sub');
if (\false) {
class SubBinary extends \Twig_Node_Expression_Binary_Sub
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression;
class_exists('Twig_Node_Expression_BlockReference');
if (\false) {
class BlockReferenceExpression extends \Twig_Node_Expression_BlockReference
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression;
class_exists('Twig_Node_Expression_Call');
if (\false) {
class CallExpression extends \Twig_Node_Expression_Call
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression;
class_exists('Twig_Node_Expression_Conditional');
if (\false) {
class ConditionalExpression extends \Twig_Node_Expression_Conditional
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression;
class_exists('Twig_Node_Expression_Constant');
if (\false) {
class ConstantExpression extends \Twig_Node_Expression_Constant
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Filter;
class_exists('Twig_Node_Expression_Filter_Default');
if (\false) {
class DefaultFilter extends \Twig_Node_Expression_Filter_Default
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression;
class_exists('Twig_Node_Expression_Filter');
if (\false) {
class FilterExpression extends \Twig_Node_Expression_Filter
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression;
class_exists('Twig_Node_Expression_Function');
if (\false) {
class FunctionExpression extends \Twig_Node_Expression_Function
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression;
class_exists('Twig_Node_Expression_GetAttr');
if (\false) {
class GetAttrExpression extends \Twig_Node_Expression_GetAttr
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression;
class_exists('Twig_Node_Expression_MethodCall');
if (\false) {
class MethodCallExpression extends \Twig_Node_Expression_MethodCall
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression;
class_exists('Twig_Node_Expression_Name');
if (\false) {
class NameExpression extends \Twig_Node_Expression_Name
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression;
class_exists('Twig_Node_Expression_NullCoalesce');
if (\false) {
class NullCoalesceExpression extends \Twig_Node_Expression_NullCoalesce
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression;
class_exists('Twig_Node_Expression_Parent');
if (\false) {
class ParentExpression extends \Twig_Node_Expression_Parent
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression;
class_exists('Twig_Node_Expression_TempName');
if (\false) {
class TempNameExpression extends \Twig_Node_Expression_TempName
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Test;
class_exists('Twig_Node_Expression_Test_Constant');
if (\false) {
class ConstantTest extends \Twig_Node_Expression_Test_Constant
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Test;
class_exists('Twig_Node_Expression_Test_Defined');
if (\false) {
class DefinedTest extends \Twig_Node_Expression_Test_Defined
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Test;
class_exists('Twig_Node_Expression_Test_Divisibleby');
if (\false) {
class DivisiblebyTest extends \Twig_Node_Expression_Test_Divisibleby
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Test;
class_exists('Twig_Node_Expression_Test_Even');
if (\false) {
class EvenTest extends \Twig_Node_Expression_Test_Even
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Test;
class_exists('Twig_Node_Expression_Test_Null');
if (\false) {
class NullTest extends \Twig_Node_Expression_Test_Null
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Test;
class_exists('Twig_Node_Expression_Test_Odd');
if (\false) {
class OddTest extends \Twig_Node_Expression_Test_Odd
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Test;
class_exists('Twig_Node_Expression_Test_Sameas');
if (\false) {
class SameasTest extends \Twig_Node_Expression_Test_Sameas
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression;
class_exists('Twig_Node_Expression_Test');
if (\false) {
class TestExpression extends \Twig_Node_Expression_Test
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Unary;
class_exists('Twig_Node_Expression_Unary');
if (\false) {
class AbstractUnary extends \Twig_Node_Expression_Unary
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Unary;
class_exists('Twig_Node_Expression_Unary_Neg');
if (\false) {
class NegUnary extends \Twig_Node_Expression_Unary_Neg
{
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Twig\Node\Expression\Unary;
class_exists('Twig_Node_Expression_Unary_Not');
if (\false) {
class NotUnary extends \Twig_Node_Expression_Unary_Not
{
}
}

Some files were not shown because too many files have changed in this diff Show More