Refactored Controller

Refactored Database adapters

Signed-off-by: Gregory PLANCHAT <g.planchat@gmail.com>
This commit is contained in:
Gregory PLANCHAT 2012-03-01 18:20:05 +01:00
commit 03efb85c0b
76 changed files with 502 additions and 457 deletions

View file

@ -33,7 +33,7 @@ define('INSIDE' , true);
require_once dirname(__FILE__) .'/application/bootstrap.php'; require_once dirname(__FILE__) .'/application/bootstrap.php';
$user = Wootook_Player_Model_Session::getSingleton()->getPlayer(); $user = Wootook_Player_Model_Session::getSingleton()->getPlayer();
$db = Wootook_Core_Database::getSingleton(); $db = Wootook_Core_Database_ConnectionManager::getSingleton()->getConnection(Wootook_Core_Database_ConnectionManager::DEFAULT_CONNECTION_NAME);
if(!$user->getId()){ if(!$user->getId()){
echo '<script language="javascript">'; echo '<script language="javascript">';

View file

@ -96,11 +96,11 @@ if (defined('IN_ADMIN')) {
include ROOT_PATH . 'includes/constants.php'; include ROOT_PATH . 'includes/constants.php';
Wootook_Core_ErrorProfiler::register(); Wootook_Core_ErrorProfiler::register();
Wootook_Core_Model_Config_Events::registerEvents(); Wootook_Core_Helper_Config_Events::registerEvents();
if (!defined('IN_INSTALL') && 0 === filesize(APPLICATION_PATH . 'configs' . DIRECTORY_SEPARATOR . 'local.php')) { if (!defined('IN_INSTALL') && !Wootook::fileExists(APPLICATION_PATH . 'configs' . DIRECTORY_SEPARATOR . 'local.php')) {
Wootook::getResponse() Wootook::getResponse()
->setRedirect(Wootook::getStaticUrl('install/'), Wootook_Core_Controller_Response_Http::REDIRECT_TEMPORARY) ->setRedirect(Wootook::getStaticUrl('install/'), Wootook_Core_Mvc_Controller_Response_Http::REDIRECT_TEMPORARY)
->sendHeaders(); ->sendHeaders();
exit(0); exit(0);
} }
@ -130,7 +130,7 @@ if (!defined('DISABLE_IDENTITY_CHECK')) {
} }
if (!Wootook::getGameConfig('game/general/active') && !in_array($user->getData('authlevel'), array(LEVEL_ADMIN, LEVEL_MODERATOR, LEVEL_OPERATOR))) { if (!Wootook::getGameConfig('game/general/active') && !in_array($user->getData('authlevel'), array(LEVEL_ADMIN, LEVEL_MODERATOR, LEVEL_OPERATOR))) {
$layout = new Wootook_Core_Layout(Wootook_Core_Layout::DOMAIN_FRONTEND); $layout = new Wootook_Core_Model_Layout(Wootook_Core_Model_Layout::DOMAIN_FRONTEND);
$layout->load('message'); $layout->load('message');
$block = $layout->getBlock('message'); $block = $layout->getBlock('message');

View file

@ -147,7 +147,7 @@ class Legacies_Empire
public static function getFieldName($id) public static function getFieldName($id)
{ {
$fieldsAlias = Wootook_Empire_Model_Game_FieldsAlias::getSingleton(); $fieldsAlias = Wootook_Empire_Helper_Config_FieldsAlias::getSingleton();
if (!isset($fieldsAlias[$id])) { if (!isset($fieldsAlias[$id])) {
return null; return null;

View file

@ -58,7 +58,7 @@ class Legacies_Empire_Block_Planet_ResearchLab
public function _initChildBlocks() public function _initChildBlocks()
{ {
$types = Wootook_Empire_Model_Game_Types::getSingleton(); $types = Wootook_Empire_Helper_Config_Types::getSingleton();
/** @var Wootook_Core_Block_Concat $parentBlock */ /** @var Wootook_Core_Block_Concat $parentBlock */
$parentBlock = $this->getLayout()->getBlock('item-list.items'); $parentBlock = $this->getLayout()->getBlock('item-list.items');

View file

@ -97,7 +97,7 @@ class Legacies_Empire_Block_Planet_Shipyard
public function _initChildBlocks() public function _initChildBlocks()
{ {
$types = Wootook_Empire_Model_Game_Types::getSingleton(); $types = Wootook_Empire_Helper_Config_Types::getSingleton();
/** @var Wootook_Core_Block_Concat $parentBlock */ /** @var Wootook_Core_Block_Concat $parentBlock */
$parentBlock = $this->getLayout()->getBlock('item-list.items'); $parentBlock = $this->getLayout()->getBlock('item-list.items');

View file

@ -100,7 +100,7 @@ class Legacies_Empire_Model_Planet_Building_ResearchLab_Builder
*/ */
public function checkAvailability($technologyId) public function checkAvailability($technologyId)
{ {
$types = Wootook_Empire_Model_Game_Types::getSingleton(); $types = Wootook_Empire_Helper_Config_Types::getSingleton();
if (!$types->is($technologyId, Legacies_Empire::TYPE_RESEARCH)) { if (!$types->is($technologyId, Legacies_Empire::TYPE_RESEARCH)) {
return false; return false;
@ -117,7 +117,7 @@ class Legacies_Empire_Model_Planet_Building_ResearchLab_Builder
*/ */
public function getBuildingTime($technologyId, $level) public function getBuildingTime($technologyId, $level)
{ {
$prices = Wootook_Empire_Model_Game_Prices::getSingleton(); $prices = Wootook_Empire_Helper_Config_Prices::getSingleton();
Math::setPrecision(50); Math::setPrecision(50);
$firstLevelTime = $prices[$technologyId][Legacies_Empire::BASE_BUILDING_TIME]; $firstLevelTime = $prices[$technologyId][Legacies_Empire::BASE_BUILDING_TIME];
@ -150,8 +150,8 @@ class Legacies_Empire_Model_Planet_Building_ResearchLab_Builder
*/ */
public function getResourcesNeeded($technologyId, $level) public function getResourcesNeeded($technologyId, $level)
{ {
$prices = Wootook_Empire_Model_Game_Prices::getSingleton(); $prices = Wootook_Empire_Helper_Config_Prices::getSingleton();
$resources = Wootook_Empire_Model_Game_Resources::getSingleton(); $resources = Wootook_Empire_Helper_Config_Resources::getSingleton();
if (!isset($prices[$technologyId])) { if (!isset($prices[$technologyId])) {
return array(); return array();
@ -178,7 +178,7 @@ class Legacies_Empire_Model_Planet_Building_ResearchLab_Builder
*/ */
public function updateQueue(Wootook_Core_DateTime $time) public function updateQueue(Wootook_Core_DateTime $time)
{ {
$fields = Wootook_Empire_Model_Game_FieldsAlias::getSingleton(); $fields = Wootook_Empire_Helper_Config_FieldsAlias::getSingleton();
$startingTime = clone $this->_currentPlanet->getData(self::FIELD_DATETIME); $startingTime = clone $this->_currentPlanet->getData(self::FIELD_DATETIME);
@ -242,7 +242,7 @@ class Legacies_Empire_Model_Planet_Building_ResearchLab_Builder
return $this; return $this;
} }
$types = Wootook_Empire_Model_Game_Types::getSingleton(); $types = Wootook_Empire_Helper_Config_Types::getSingleton();
if (!Math::isPositive($level)) { if (!Math::isPositive($level)) {
return $this; return $this;

View file

@ -88,7 +88,7 @@ class Legacies_Empire_Model_Planet_Building_Shipyard_Builder
*/ */
public function checkAvailability($shipId) public function checkAvailability($shipId)
{ {
$types = Wootook_Empire_Model_Game_Types::getSingleton(); $types = Wootook_Empire_Helper_Config_Types::getSingleton();
if (!$types->is($shipId, Legacies_Empire::TYPE_SHIP) && !$types->is($shipId, Legacies_Empire::TYPE_DEFENSE)) { if (!$types->is($shipId, Legacies_Empire::TYPE_SHIP) && !$types->is($shipId, Legacies_Empire::TYPE_DEFENSE)) {
return false; return false;
@ -106,9 +106,9 @@ class Legacies_Empire_Model_Planet_Building_Shipyard_Builder
*/ */
public function getMaximumBuildableElementsCount($shipId) public function getMaximumBuildableElementsCount($shipId)
{ {
$prices = Wootook_Empire_Model_Game_Prices::getSingleton(); $prices = Wootook_Empire_Helper_Config_Prices::getSingleton();
$fields = Wootook_Empire_Model_Game_FieldsAlias::getSingleton(); $fields = Wootook_Empire_Helper_Config_FieldsAlias::getSingleton();
$resources = Wootook_Empire_Model_Game_Resources::getSingleton(); $resources = Wootook_Empire_Helper_Config_Resources::getSingleton();
$qty = 0; $qty = 0;
foreach ($resources as $resourceId => $_) { foreach ($resources as $resourceId => $_) {
@ -182,7 +182,7 @@ class Legacies_Empire_Model_Planet_Building_Shipyard_Builder
*/ */
public function getBuildingTime($shipId, $qty) public function getBuildingTime($shipId, $qty)
{ {
$prices = Wootook_Empire_Model_Game_Prices::getSingleton(); $prices = Wootook_Empire_Helper_Config_Prices::getSingleton();
Math::setPrecision(50); Math::setPrecision(50);
$buildingTime = Math::mul($prices[$shipId][Legacies_Empire::BASE_BUILDING_TIME], $qty); $buildingTime = Math::mul($prices[$shipId][Legacies_Empire::BASE_BUILDING_TIME], $qty);
@ -210,8 +210,8 @@ class Legacies_Empire_Model_Planet_Building_Shipyard_Builder
*/ */
public function getResourcesNeeded($shipId, $qty) public function getResourcesNeeded($shipId, $qty)
{ {
$prices = Wootook_Empire_Model_Game_Prices::getSingleton(); $prices = Wootook_Empire_Helper_Config_Prices::getSingleton();
$resources = Wootook_Empire_Model_Game_Resources::getSingleton(); $resources = Wootook_Empire_Helper_Config_Resources::getSingleton();
if (!isset($prices[$shipId])) { if (!isset($prices[$shipId])) {
return array(); return array();
@ -249,7 +249,7 @@ class Legacies_Empire_Model_Planet_Building_Shipyard_Builder
*/ */
public function updateQueue(Wootook_Core_DateTime $time) public function updateQueue(Wootook_Core_DateTime $time)
{ {
$fields = Wootook_Empire_Model_Game_FieldsAlias::getSingleton(); $fields = Wootook_Empire_Helper_Config_FieldsAlias::getSingleton();
$elapsedTime = $time->getTimestamp() - $this->_currentPlanet->getData('b_hangar')->getTimestamp(); $elapsedTime = $time->getTimestamp() - $this->_currentPlanet->getData('b_hangar')->getTimestamp();
@ -297,7 +297,7 @@ class Legacies_Empire_Model_Planet_Building_Shipyard_Builder
return $this; return $this;
} }
$types = Wootook_Empire_Model_Game_Types::getSingleton(); $types = Wootook_Empire_Helper_Config_Types::getSingleton();
if (!$types->is($shipId, Legacies_Empire::TYPE_SHIP) && !$types->is($shipId, Legacies_Empire::TYPE_DEFENSE)) { if (!$types->is($shipId, Legacies_Empire::TYPE_SHIP) && !$types->is($shipId, Legacies_Empire::TYPE_DEFENSE)) {
return $this; return $this;
} }

View file

@ -41,7 +41,7 @@ class Legacies_Empire_Model_Planet_Ship_LargeTransport
public function getBaseSpeed(Wootook_Player_Model_Entity $player) public function getBaseSpeed(Wootook_Player_Model_Entity $player)
{ {
$prices = Wootook_Empire_Model_Game_Prices::getSingleton(); $prices = Wootook_Empire_Helper_Config_Prices::getSingleton();
return $prices[Legacies_Empire::ID_SHIP_LARGE_TRANSPORT][Legacies_Empire::SHIPS_CELERITY_PRIMARY]; return $prices[Legacies_Empire::ID_SHIP_LARGE_TRANSPORT][Legacies_Empire::SHIPS_CELERITY_PRIMARY];
} }

View file

@ -41,7 +41,7 @@ class Legacies_Empire_Model_Planet_Ship_LightTransport
public function getBaseSpeed(Wootook_Player_Model_Entity $player) public function getBaseSpeed(Wootook_Player_Model_Entity $player)
{ {
$prices = Wootook_Empire_Model_Game_Prices::getSingleton(); $prices = Wootook_Empire_Helper_Config_Prices::getSingleton();
if ($player->getElement(Legacies_Empire::ID_RESEARCH_IMPULSE_DRIVE) < self::REQUIREMENT_TO_UPGRADE_CELERITY__RESEARCH_IMPULSE_DRIVE) { if ($player->getElement(Legacies_Empire::ID_RESEARCH_IMPULSE_DRIVE) < self::REQUIREMENT_TO_UPGRADE_CELERITY__RESEARCH_IMPULSE_DRIVE) {
return $prices[Legacies_Empire::ID_SHIP_LIGHT_TRANSPORT][Legacies_Empire::SHIPS_CELERITY_PRIMARY]; return $prices[Legacies_Empire::ID_SHIP_LIGHT_TRANSPORT][Legacies_Empire::SHIPS_CELERITY_PRIMARY];

View file

@ -49,7 +49,7 @@ class Legacies_Empire_Model_Planet_Ship_Supernova
public function getBaseSpeed(Wootook_Player_Model_Entity $player) public function getBaseSpeed(Wootook_Player_Model_Entity $player)
{ {
$prices = Wootook_Empire_Model_Game_Prices::getSingleton(); $prices = Wootook_Empire_Helper_Config_Prices::getSingleton();
if ($player->getElement(Legacies_Empire::ID_RESEARCH_HYPERSPACE_DRIVE) < self::REQUIREMENT_TO_UPGRADE_CELERITY__RESEARCH_HYPERSPACE_DRIVE && if ($player->getElement(Legacies_Empire::ID_RESEARCH_HYPERSPACE_DRIVE) < self::REQUIREMENT_TO_UPGRADE_CELERITY__RESEARCH_HYPERSPACE_DRIVE &&
$player->getElement(Legacies_Empire::ID_RESEARCH_HYPERSPACE_TECHNOLOGY) < self::REQUIREMENT_TO_UPGRADE_CELERITY__RESEARCH_HYPERSPACE_TECHNOLOGY) { $player->getElement(Legacies_Empire::ID_RESEARCH_HYPERSPACE_TECHNOLOGY) < self::REQUIREMENT_TO_UPGRADE_CELERITY__RESEARCH_HYPERSPACE_TECHNOLOGY) {

View file

@ -0,0 +1,70 @@
<?php
/**
* This file is part of Wootook
*
* @license http://www.gnu.org/licenses/agpl-3.0.txt
* @see http://wootook.org/
*
* Copyright (c) 2011-Present, Grégory PLANCHAT <g.planchat@gmail.com>
* All rights reserved.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* --> NOTICE <--
* This file is part of the core development branch, changing its contents will
* make you unable to use the automatic updates manager. Please refer to the
* documentation for further information about customizing Wootook.
*
*/
/**
*
* Enter description here ...
* @author Greg
*
*/
class Legacies_Officers_Model_Observer
{
public static function planetUpdateListener($eventData)
{
if (isset($eventData['planet'])) {
$planet = $eventData['planet'];
$player = $planet->getPlayer();
$level = floor(sqrt($player->getData('xpminier') / 500));
if ($player->getData('lvl_minier') < $level) {
$difference = $level - $player->getData('lvl_minier');
if ($difference == 1) {
Wootook::getSession(Wootook_Player_Model_Entity::SESSION_KEY)
->addInfo('You gained 1 miner level.');
} else {
Wootook::getSession(Wootook_Player_Model_Entity::SESSION_KEY)
->addInfo('You gained %1$d miner level.', (int) $difference);
}
}
$level = floor(sqrt($player->getData('xpraid')));
if ($player->getData('lvl_raid') < $level) {
$difference = $level - $player->getData('lvl_raid');
if ($difference == 1) {
Wootook::getSession(Wootook_Player_Model_Entity::SESSION_KEY)
->addInfo('You gained 1 raider level.');
} else {
Wootook::getSession(Wootook_Player_Model_Entity::SESSION_KEY)
->addInfo('You gained %1$d raider level.', (int) $difference);
}
}
}
}
}

View file

@ -81,14 +81,14 @@ class Wootook
/** /**
* *
* Enter description here ... * Enter description here ...
* @var Wootook_Core_Config_Adapter_Abstract * @var Wootook_Core_Helper_Config_ConfigHandler
*/ */
private static $_config = null; private static $_config = null;
/** /**
* *
* Enter description here ... * Enter description here ...
* @var Wootook_Core_Config_Adapter_Abstract * @var Wootook_Core_Helper_Config_ConfigHandler
*/ */
private static $_globalConfig = null; private static $_globalConfig = null;
@ -296,12 +296,12 @@ class Wootook
} }
/** /**
* @return Wootook_Core_Controller_Request_Http * @return Wootook_Core_Mvc_Controller_Request_Http
*/ */
public static function getRequest() public static function getRequest()
{ {
if (self::$_request === null) { if (self::$_request === null) {
self::$_request = new Wootook_Core_Controller_Request_Http(); self::$_request = new Wootook_Core_Mvc_Controller_Request_Http();
} }
return self::$_request; return self::$_request;
} }
@ -312,12 +312,12 @@ class Wootook
} }
/** /**
* @return Wootook_Core_Controller_Response_Http * @return Wootook_Core_Mvc_Controller_Response_Http
*/ */
public static function getResponse() public static function getResponse()
{ {
if (self::$_response === null) { if (self::$_response === null) {
self::$_response = new Wootook_Core_Controller_Response_Http(); self::$_response = new Wootook_Core_Mvc_Controller_Response_Http();
} }
return self::$_response; return self::$_response;
} }
@ -376,7 +376,7 @@ class Wootook
return $config; return $config;
} }
$adapter = Wootook_Core_Database::getConnection('core_read'); $adapter = Wootook_Core_Database_Adapter_Pdo_Mysql::getConnection('core_read');
$select = $adapter->select('core_config'); $select = $adapter->select('core_config');
switch ($type) { switch ($type) {

View file

@ -5,7 +5,7 @@ class Wootook_Core_App
/** /**
* *
* Enter description here ... * Enter description here ...
* @var Wootook_Core_Config_Adapter_Abstract * @var Wootook_Core_Config_Adapter_Adapter
*/ */
private $_globalConfig = null; private $_globalConfig = null;

View file

@ -17,7 +17,11 @@ class Wootook_Core_Block_Messages
foreach ($this->_storages as $namespace) { foreach ($this->_storages as $namespace) {
$session = Wootook::getSession($namespace); $session = Wootook::getSession($namespace);
foreach ($session->getMessages() as $messageLevel => $messageList) { $messageList = $session->getMessages();
if (!is_array($messageList)) {
continue;
}
foreach ($messageList as $messageLevel => $messageList) {
if (!isset($messages[$messageLevel])) { if (!isset($messages[$messageLevel])) {
$messages[$messageLevel] = $messageList; $messages[$messageLevel] = $messageList;
} else { } else {

View file

@ -16,15 +16,15 @@ class Wootook_Core_Block_Template
$package = $this->getLayout()->getPackage(); $package = $this->getLayout()->getPackage();
$theme = $this->getLayout()->getTheme(); $theme = $this->getLayout()->getTheme();
if ($package !== Wootook_Core_Layout::DEFAULT_PACKAGE) { if ($package !== Wootook_Core_Model_Layout::DEFAULT_PACKAGE) {
if ($theme !== Wootook_Core_Layout::DEFAULT_THEME) { if ($theme !== Wootook_Core_Model_Layout::DEFAULT_THEME) {
$path = sprintf($pattern, $package, $theme); $path = sprintf($pattern, $package, $theme);
if (Wootook::fileExists($path)) { if (Wootook::fileExists($path)) {
return $path; return $path;
} }
} }
$path = sprintf($pattern, $package, Wootook_Core_Layout::DEFAULT_THEME); $path = sprintf($pattern, $package, Wootook_Core_Model_Layout::DEFAULT_THEME);
if (Wootook::fileExists($path)) { if (Wootook::fileExists($path)) {
return $path; return $path;
} }
@ -34,7 +34,7 @@ class Wootook_Core_Block_Template
->addException(new Wootook_Core_Exception_RuntimeException("No layout defined.")); ->addException(new Wootook_Core_Exception_RuntimeException("No layout defined."));
} }
$path = sprintf($pattern, Wootook_Core_Layout::DEFAULT_PACKAGE, Wootook_Core_Layout::DEFAULT_THEME); $path = sprintf($pattern, Wootook_Core_Model_Layout::DEFAULT_PACKAGE, Wootook_Core_Model_Layout::DEFAULT_THEME);
if (Wootook::fileExists($path)) { if (Wootook::fileExists($path)) {
return $path; return $path;
} }

View file

@ -1,6 +0,0 @@
<?php
abstract class Wootook_Core_Config_Adapter_Abstract
extends Wootook_Core_Config_Node
{
}

View file

@ -0,0 +1,6 @@
<?php
abstract class Wootook_Core_Config_Adapter_Adapter
extends Wootook_Core_Config_Node
{
}

View file

@ -1,7 +1,7 @@
<?php <?php
class Wootook_Core_Config_Adapter_Array class Wootook_Core_Config_Adapter_Array
extends Wootook_Core_Config_Adapter_Abstract extends Wootook_Core_Config_Adapter_Adapter
{ {
public function __construct($filename = null) public function __construct($filename = null)
{ {

View file

@ -1,7 +1,7 @@
<?php <?php
class Wootook_Core_ErrorController class Wootook_Core_Controller_ErrorController
extends Wootook_Core_Controller_Action extends Wootook_Core_Mvc_Controller_Action
{ {
public function noRouteAction() public function noRouteAction()
{ {

View file

@ -1,7 +1,7 @@
<?php <?php
class Wootook_Core_IndexController class Wootook_Core_Controller_IndexController
extends Wootook_Core_Controller_Action extends Wootook_Core_Mvc_Controller_Action
{ {
public function indexAction() public function indexAction()
{ {

View file

@ -1,138 +0,0 @@
<?php
class Wootook_Core_Database
extends PDO
{
const DEFAULT_CONNECTION_NAME = 'default';
protected static $_connections = array();
protected static $_connectionAliases = array();
protected $_tablePrefix = null;
protected $_dsn = null;
protected $_username = null;
protected $_password = null;
public static $options = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
);
/**
*
* @deprecated
*/
public static function getSingleton()
{
return self::getConnection(self::DEFAULT_CONNECTION_NAME);
}
public function quoteIdentifier($identifier)
{
return "`$identifier`";
}
public static function getConnection($connectionName)
{
if (empty($connectionName) || $connectionName === null) {
return null;
}
if (!isset(self::$_connections[$connectionName])) {
if (isset(self::$_connectionAliases[$connectionName])) {
return self::$_connectionAliases[$connectionName];
}
$connectionConfig = Wootook::getConfig("resource/database/{$connectionName}");
if ($connectionConfig === null) {
return null;
}
if ($alias = $connectionConfig->use) {
self::$_connectionAliases[$connectionName] = self::getConnection($alias);
return self::$_connectionAliases[$connectionName];
}
self::$_connections[$connectionName] = self::_initConnection($connectionName,
$connectionConfig->engine, $connectionConfig->params, $connectionConfig->options);
}
return self::$_connections[$connectionName];
}
private static function _initConnection($connectionName, $engine, $params, $options = array())
{
if (is_array($params)) {
$params = new Wootook_Core_Config_Node($params);
} else if (!$params instanceof Wootook_Core_Config_Node) {
$params = new Wootook_Core_Config_Node(array());
}
if ($options instanceof Wootook_Core_Config_Node) {
$options = $options->toArray();
} else if (!is_array($options)) {
$options = array();
}
$hostname = $params->hostname;
$username = $params->username;
$password = $params->password;
$database = $params->database;
if (empty($params->hostname) || empty($params->username) || empty($params->database)) {
return null;
}
$dsn = "mysql:dbname={$params->database};host={$params->hostname}";
if (is_numeric($params->port)) {
$dsn .= ";port={$params->port}";
}
$event = Wootook::dispatchEvent('database.prepare-options', array(
'name' => $connectionName,
'options' => array_merge(self::$options, $options)
));
$options = $event->getData('options');
$connection = new self($dsn, $params->username, $params->password, $options);
$connection->_dsn = $dsn;
$connection->_username = $username;
if (defined('DEBUG')) {
$connection->_password = $password;
}
if (($prefix = Wootook::getConfig("resource/database/{$connectionName}/table_prefix")) !== null) {
$connection->setTablePrefix($prefix);
}
Wootook::dispatchEvent('database.init', array(
'name' => $connectionName,
'handler' => $connection
));
return $connection;
}
public function setTablePrefix($prefix)
{
$this->_tablePrefix = $prefix;
return $this;
}
public function getTablePrefix()
{
return $this->_tablePrefix;
}
public function getTable($name)
{
return $this->getTablePrefix() . $name;
}
public function select($tableName = null)
{
return new Wootook_Core_Database_Sql_Mysql_Select($this, $tableName);
}
}

View file

@ -0,0 +1,37 @@
<?php
class Wootook_Core_Database_Adapter_Pdo_Mysql
extends Wootook_Core_Database_Adapter_Adapter
{
protected $_tablePrefix = null;
protected $_dsn = null;
protected $_username = null;
protected $_password = null;
public function quoteIdentifier($identifier)
{
return "`$identifier`";
}
public function setTablePrefix($prefix)
{
$this->_tablePrefix = $prefix;
return $this;
}
public function getTablePrefix()
{
return $this->_tablePrefix;
}
public function getTable($name)
{
return $this->getTablePrefix() . $name;
}
public function select($tableName = null)
{
return new Wootook_Core_Database_Sql_Mysql_Select($this, $tableName);
}
}

View file

@ -1,7 +1,7 @@
<?php <?php
class Wootook_Core_Database_Orm_DataMapper class Wootook_Core_Database_Orm_DataMapper
extends Wootook_Core_PluginLoader_Abstract extends Wootook_Core_PluginLoader_PluginLoader
{ {
protected $_rules = array(); protected $_rules = array();

View file

@ -37,7 +37,7 @@ abstract class Wootook_Core_Database_Resource
public function getReadConnection() public function getReadConnection()
{ {
if ($this->_readConnection === null) { if ($this->_readConnection === null) {
$this->_readConnection = Wootook_Core_Database::getConnection('core_read'); $this->_readConnection = $this->getConnection('core_read');
} }
return $this->_readConnection; return $this->_readConnection;
@ -45,10 +45,10 @@ abstract class Wootook_Core_Database_Resource
public function setReadConnection($connection) public function setReadConnection($connection)
{ {
if ($connection instanceof Wootook_Core_Database) { if ($connection instanceof Wootook_Core_Database_Adapter_Pdo_Mysql) {
$this->_readConnection = $connection; $this->_readConnection = $connection;
} else if (is_string($connection)) { } else if (is_string($connection)) {
$this->_readConnection = Wootook_Core_Database::getConnection($connection); $this->_readConnection = $this->getConnection($connection);
} else { } else {
throw new Wootook_Core_Exception_RuntimeException( throw new Wootook_Core_Exception_RuntimeException(
'First parameter should be either a database connection object or a string identifier.'); 'First parameter should be either a database connection object or a string identifier.');
@ -60,17 +60,17 @@ abstract class Wootook_Core_Database_Resource
public function getWriteConnection() public function getWriteConnection()
{ {
if ($this->_writeConnection === null) { if ($this->_writeConnection === null) {
$this->_writeConnection = Wootook_Core_Database::getConnection('core_write'); $this->_writeConnection = $this->getConnection('core_write');
} }
return $this->_writeConnection; return $this->_writeConnection;
} }
public function setWriteConnection($connection) public function setWriteConnection($connection)
{ {
if ($connection instanceof Wootook_Core_Database) { if ($connection instanceof Wootook_Core_Database_Adapter_Pdo_Mysql) {
$this->_readConnection = $connection; $this->_readConnection = $connection;
} else if (is_string($connection)) { } else if (is_string($connection)) {
$this->_readConnection = Wootook_Core_Database::getConnection($connection); $this->_readConnection = $this->getConnection($connection);
} else { } else {
throw new Wootook_Core_Exception_RuntimeException( throw new Wootook_Core_Exception_RuntimeException(
'First parameter should be either a database connection object or a string identifier.'); 'First parameter should be either a database connection object or a string identifier.');

View file

@ -3,24 +3,42 @@
class Wootook_Core_Database_Sql_Mysql_Select class Wootook_Core_Database_Sql_Mysql_Select
extends Wootook_Core_Database_Sql_Select extends Wootook_Core_Database_Sql_Select
{ {
protected function _prepareSql() public function renderColumns()
{
$fields = array();
foreach ($this->_parts[self::COLUMNS] as $field) {
if ($field['field'] instanceof Wootook_Core_Database_Sql_Placeholder_Placeholder) {
$field['field']->process($this);
if ($field['alias'] !== null) {
$fields[] = "{$field['field']} AS {$field['alias']}";
} else {
$fields[] = "{$field['field']}";
}
} else if ($field['alias'] !== null) {
if ($field['table'] !== null) {
$fields[] = "{$field['table']}.{$field['field']} AS {$field['alias']}";
} else {
$fields[] = "{$field['field']} AS {$field['alias']}";
}
} else if ($field['table'] !== null) {
$fields[] = "{$field['table']}.{$field['field']}";
} else {
$fields[] = "{$field['field']}";
}
}
if (!empty($fields)) {
return implode(", ", $fields);
}
return '*';
}
public function render()
{ {
if (empty($this->_parts[self::UNION])) { if (empty($this->_parts[self::UNION])) {
$fields = array(); $fields = $this->renderColumns();
foreach ($this->_parts[self::COLUMNS] as $field) {
$fieldName = current($field);
$fieldAlias = key($field);
if (is_string($fieldAlias)) {
$fields[] = "{$fieldName} AS {$fieldAlias}";
} else {
$fields[] = $fieldName;
}
}
if (!empty($fields)) {
$fields = implode(", ", $fields);
} else {
$fields = '*';
}
if (!empty($this->_parts[self::WHERE])) { if (!empty($this->_parts[self::WHERE])) {
$where = 'WHERE (' . implode(") AND (", $this->_parts[self::WHERE]) . ')'; $where = 'WHERE (' . implode(") AND (", $this->_parts[self::WHERE]) . ')';
} else { } else {

View file

@ -1,62 +1,34 @@
<?php <?php
abstract class Wootook_Core_Database_Sql_Select abstract class Wootook_Core_Database_Sql_Select
implements Wootook_Core_Database_Sql_Dml
{ {
const COLUMNS = 'COLUMNS'; const COLUMNS = 'COLUMNS';
const FROM = 'FROM'; const FROM = 'FROM';
const JOIN = 'JOIN'; const JOIN = 'JOIN';
const WHERE = 'WHERE';
const ORDER = 'ORDER'; const ORDER = 'ORDER';
const UNION = 'UNION'; const UNION = 'UNION';
const LIMIT = 'LIMIT';
const OFFSET = 'OFFSET';
const GROUP = 'GROUP'; const GROUP = 'GROUP';
const HAVING = 'HAVING';
const JOIN_INNER = 'INNER'; const JOIN_INNER = 'INNER';
const JOIN_OUTER = 'OUTER'; const JOIN_OUTER = 'OUTER';
const JOIN_LEFT = 'LEFT'; const JOIN_LEFT = 'LEFT';
const JOIN_RIGHT = 'RIGHT'; const JOIN_RIGHT = 'RIGHT';
protected $_parts = array( protected function _init($tableName = null)
self::COLUMNS => array(),
self::FROM => array(),
self::JOIN => array(),
self::WHERE => array(),
self::ORDER => array(),
self::UNION => array(),
self::LIMIT => array(),
self::OFFSET => array(),
self::GROUP => array(),
);
protected $_connection = null;
public function __construct(Wootook_Core_Database $connection, $tableName = null)
{ {
$this->_connection = $connection;
if ($tableName !== null) { if ($tableName !== null) {
$this->from($tableName); $this->from($tableName);
} }
}
public function getConnection()
{
return $this->_connection;
}
public function setConnection(Wootook_Core_Database $connection)
{
$this->_connection = $connection;
return $this; return $this;
} }
protected function _init() /**
{ * @param string $tableName
return $this; * @deprecated
} */
public function setTableName($tableName) public function setTableName($tableName)
{ {
$this->from($tableName); $this->from($tableName);
@ -64,32 +36,61 @@ abstract class Wootook_Core_Database_Sql_Select
return $this; return $this;
} }
/**
* @deprecated
*/
public function getTableName() public function getTableName()
{ {
$table = $this->_parts[self::FROM]; $table = current($this->_parts[self::FROM]);
return $table['table']; return $table['table'];
} }
public function quote($data) public function reset($part = null)
{ {
return $this->getConnection()->quote($data); if ($part === null) {
$this->_parts = array(
self::COLUMNS => array(),
self::FROM => array(),
self::JOIN => array(),
self::WHERE => array(),
self::ORDER => array(),
self::UNION => array(),
self::LIMIT => array(),
self::OFFSET => array(),
self::GROUP => array(),
);
} else if (isset($this->_parts[$part])) {
$this->_parts[$part] = array();
}
return $this;
} }
public function column($column = '*', $alias = null) public function column($column = '*', $table = null)
{ {
if (is_array($column)) { if (is_array($column)) {
foreach ($column as $alias => $field) { foreach ($column as $alias => $field) {
if (is_int($alias)) { if (is_int($alias)) {
$this->_parts[self::COLUMNS][] = array($field); $this->_parts[self::COLUMNS][] = array(
'table' => $table,
'alias' => null,
'field' => $field
);
} else { } else {
$this->_parts[self::COLUMNS][] = array($alias => $field); $this->_parts[self::COLUMNS][] = array(
'table' => $table,
'alias' => $alias,
'field' => $field
);
} }
} }
} else if ($alias === null || is_int($alias)) {
$this->_parts[self::COLUMNS][] = array($column);
} else { } else {
$this->_parts[self::COLUMNS][] = array($alias => $column); $this->_parts[self::COLUMNS][] = array(
'table' => $table,
'alias' => null,
'field' => $column
);
} }
return $this; return $this;
@ -113,13 +114,6 @@ abstract class Wootook_Core_Database_Sql_Select
return $this; return $this;
} }
public function where($condition)
{
$this->_parts[self::WHERE][] = $condition;
return $this;
}
public function join($table, $condition, $fields = array('*'), $mode = self::JOIN_INNER) public function join($table, $condition, $fields = array('*'), $mode = self::JOIN_INNER)
{ {
$database = $this->getConnection(); $database = $this->getConnection();
@ -178,14 +172,6 @@ abstract class Wootook_Core_Database_Sql_Select
return $this; return $this;
} }
public function limit($limit, $offset = null)
{
$this->_parts[self::LIMIT] = intval($limit);
$this->_parts[self::OFFSET] = $offset;
return $this;
}
public function group($groupField) public function group($groupField)
{ {
$this->_parts[self::GROUP][] = $groupField; $this->_parts[self::GROUP][] = $groupField;
@ -193,15 +179,55 @@ abstract class Wootook_Core_Database_Sql_Select
return $this; return $this;
} }
abstract protected function _prepareSql();
public function __toString() public function __toString()
{ {
return $this->_prepareSql(); return $this->render();
} }
public function toString() public function toString($part = null)
{ {
return $this->_prepareSql(); if ($part === null) {
return $this->render();
}
switch ($part) {
case self::COLUMNS:
return $this->renderColumns();
break;
case self::FROM:
return $this->renderFrom();
break;
case self::WHERE:
return $this->renderWhere();
break;
case self::JOIN:
return $this->renderJoin();
break;
case self::ORDER:
return $this->renderOrder();
break;
case self::UNION:
return $this->renderUnion();
break;
case self::LIMIT:
return $this->renderLimit();
break;
case self::GROUP:
return $this->renderGroup();
break;
case self::HAVING:
return $this->renderHaving();
break;
}
return null;
} }
abstract public function renderColumns();
abstract public function renderFrom();
abstract public function renderJoin();
abstract public function renderOrder();
abstract public function renderUnion();
abstract public function renderGroup();
abstract public function renderHaving();
} }

View file

@ -45,6 +45,9 @@ abstract class Wootook_Core_Entity
throw new Wootook_Core_Exception_DataAccessException('Could not load data: no read connection configured.'); throw new Wootook_Core_Exception_DataAccessException('Could not load data: no read connection configured.');
} }
$select = $database->select()
->from($database->getTable($this->getTableName()))
->where($idFieldName)
$sql =<<<SQL_EOF $sql =<<<SQL_EOF
SELECT * FROM {$database->getTable($this->getTableName())} SELECT * FROM {$database->getTable($this->getTableName())}
WHERE {$idFieldName}=:id WHERE {$idFieldName}=:id

View file

@ -169,7 +169,7 @@ class Wootook_Core_Form
return $this->_session; return $this->_session;
} }
public function setRequest(Wootook_Core_Controller_Request_Http $request) public function setRequest(Wootook_Core_Mvc_Controller_Request_Http $request)
{ {
$this->_request = $request; $this->_request = $request;
@ -179,7 +179,7 @@ class Wootook_Core_Form
/** /**
* *
* Enter description here ... * Enter description here ...
* @return Wootook_Core_Controller_Request_Http * @return Wootook_Core_Mvc_Controller_Request_Http
*/ */
public function getRequest() public function getRequest()
{ {

View file

@ -1,7 +1,7 @@
<?php <?php
class Wootook_Core_Form_ElementLoader class Wootook_Core_Form_ElementLoader
extends Wootook_Core_PluginLoader_Abstract extends Wootook_Core_PluginLoader_PluginLoader
{ {
protected $_form = null; protected $_form = null;

View file

@ -1,7 +1,7 @@
<?php <?php
class Wootook_Core_Form_ValidatorLoader class Wootook_Core_Form_ValidatorLoader
extends Wootook_Core_PluginLoader_Abstract extends Wootook_Core_PluginLoader_PluginLoader
{ {
protected $_form = null; protected $_form = null;

View file

@ -1,6 +1,6 @@
<?php <?php
abstract class Wootook_Core_Model_Config_Abstract abstract class Wootook_Core_Helper_Config_ConfigHandler
extends Wootook_Core_Model extends Wootook_Core_Model
implements Iterator, Countable implements Iterator, Countable
{ {

View file

@ -7,8 +7,8 @@
* @uses Wootook_Object * @uses Wootook_Object
* @uses Legacies_Empire * @uses Legacies_Empire
*/ */
class Wootook_Core_Model_Config_Events class Wootook_Core_Helper_Config_Events
extends Wootook_Core_Model_Config_Abstract extends Wootook_Core_Helper_Config_ConfigHandler
implements Wootook_Core_Singleton implements Wootook_Core_Singleton
{ {
private static $_singleton = null; private static $_singleton = null;

View file

@ -7,8 +7,8 @@
* @uses Wootook_Object * @uses Wootook_Object
* @uses Legacies_Empire * @uses Legacies_Empire
*/ */
class Wootook_Core_Model_Config_Modules class Wootook_Core_Helper_Config_Modules
extends Wootook_Core_Model_Config_Abstract extends Wootook_Core_Helper_Config_ConfigHandler
implements Wootook_Core_Singleton implements Wootook_Core_Singleton
{ {
private static $_singleton = null; private static $_singleton = null;

View file

@ -39,7 +39,7 @@
* @subpackage Wootook_Core * @subpackage Wootook_Core
* @category layout * @category layout
*/ */
class Wootook_Core_Layout class Wootook_Core_Model_Layout
extends Wootook_Core_Model extends Wootook_Core_Model
{ {
const DEFAULT_PACKAGE = 'base'; const DEFAULT_PACKAGE = 'base';
@ -110,7 +110,7 @@ class Wootook_Core_Layout
public function _init() public function _init()
{ {
$modules = Wootook_Core_Model_Config_Modules::getSingleton(); $modules = Wootook_Core_Helper_Config_Modules::getSingleton();
foreach ($modules['block'] as $module => $moduleNamespaces) { foreach ($modules['block'] as $module => $moduleNamespaces) {
foreach ($moduleNamespaces as $namespace => $path) { foreach ($moduleNamespaces as $namespace => $path) {
@ -130,7 +130,7 @@ class Wootook_Core_Layout
$this->setPackage(Wootook::getWebsiteConfig('package')); $this->setPackage(Wootook::getWebsiteConfig('package'));
$this->setTheme(Wootook::getGameConfig('theme')); $this->setTheme(Wootook::getGameConfig('theme'));
$parser = new Wootook_Core_Layout_Parser(); $parser = new Wootook_Core_Model_Layout_Parser();
foreach ($fileList as $layoutFile) { foreach ($fileList as $layoutFile) {
try { try {
if (preg_match('#\.php$#', $layoutFile)) { if (preg_match('#\.php$#', $layoutFile)) {
@ -331,7 +331,7 @@ class Wootook_Core_Layout
* @param string $module * @param string $module
* @param string $namespace * @param string $namespace
* @param string|null $path * @param string|null $path
* @return Wootook_Core_Layout * @return Wootook_Core_Model_Layout
*/ */
public function registerBlockNamespace($module, $namespace, $path = null) public function registerBlockNamespace($module, $namespace, $path = null)
{ {
@ -352,7 +352,7 @@ class Wootook_Core_Layout
* @since 1.5.0 * @since 1.5.0
* @param string $module * @param string $module
* @param string $namespace * @param string $namespace
* @return Wootook_Core_Layout * @return Wootook_Core_Model_Layout
*/ */
public function unregisterBlockNamespace($module, $namespace) public function unregisterBlockNamespace($module, $namespace)
{ {
@ -501,7 +501,7 @@ class Wootook_Core_Layout
* *
* @since 1.5.0 * @since 1.5.0
* @param string $domain * @param string $domain
* @return Wootook_Core_Layout * @return Wootook_Core_Model_Layout
*/ */
public function setDomain($domain) public function setDomain($domain)
{ {

View file

@ -1,6 +1,6 @@
<?php <?php
class Wootook_Core_Layout_Parser class Wootook_Core_Model_Layout_Parser
{ {
/** /**
* *

View file

@ -1,13 +1,13 @@
<?php <?php
abstract class Wootook_Core_Controller_Action abstract class Wootook_Core_Mvc_Controller_Action
{ {
private $_request = null; private $_request = null;
private $_response = null; private $_response = null;
private $_layout = null; private $_layout = null;
public function __construct(Wootook_Core_Controller_Request_Http $request, Wootook_Core_Controller_Response_Http $response) public function __construct(Wootook_Core_Mvc_Controller_Request_Http $request, Wootook_Core_Mvc_Controller_Response_Http $response)
{ {
$this->setRequest($request); $this->setRequest($request);
$this->setResponse($response); $this->setResponse($response);
@ -25,14 +25,14 @@ abstract class Wootook_Core_Controller_Action
{ {
} }
public function setRequest(Wootook_Core_Controller_Request_Http $request) public function setRequest(Wootook_Core_Mvc_Controller_Request_Http $request)
{ {
$this->_request = $request; $this->_request = $request;
return $this; return $this;
} }
public function setResponse(Wootook_Core_Controller_Response_Http $response) public function setResponse(Wootook_Core_Mvc_Controller_Response_Http $response)
{ {
$this->_response = $response; $this->_response = $response;
@ -41,7 +41,7 @@ abstract class Wootook_Core_Controller_Action
/** /**
* *
* @return Wootook_Core_Controller_Request_Http * @return Wootook_Core_Mvc_Controller_Request_Http
*/ */
public function getRequest() public function getRequest()
{ {
@ -50,7 +50,7 @@ abstract class Wootook_Core_Controller_Action
/** /**
* *
* @return Wootook_Core_Controller_Response_Http * @return Wootook_Core_Mvc_Controller_Response_Http
*/ */
public function getResponse() public function getResponse()
{ {
@ -71,7 +71,7 @@ abstract class Wootook_Core_Controller_Action
$this->getResponse()->setIsDispatched(false); $this->getResponse()->setIsDispatched(false);
} }
protected function _redirect($uri, Array $params = array(), $code = Wootook_Core_Controller_Response_Http::REDIRECT_FOUND) protected function _redirect($uri, Array $params = array(), $code = Wootook_Core_Mvc_Controller_Response_Http::REDIRECT_FOUND)
{ {
$this->getResponse() $this->getResponse()
->setIsDispatched(false) ->setIsDispatched(false)
@ -82,7 +82,7 @@ abstract class Wootook_Core_Controller_Action
return $this; return $this;
} }
protected function _redirectUrl($url, $code = Wootook_Core_Controller_Response_Http::REDIRECT_FOUND) protected function _redirectUrl($url, $code = Wootook_Core_Mvc_Controller_Response_Http::REDIRECT_FOUND)
{ {
$this->getResponse()->setRedirect($url, $code); $this->getResponse()->setRedirect($url, $code);
@ -116,12 +116,12 @@ abstract class Wootook_Core_Controller_Action
protected function _initLayout() protected function _initLayout()
{ {
return new Wootook_Core_Layout(Wootook_Core_Layout::DOMAIN_FRONTEND); return new Wootook_Core_Model_Layout(Wootook_Core_Model_Layout::DOMAIN_FRONTEND);
} }
/** /**
* *
* @return Wootook_Core_Layout * @return Wootook_Core_Model_Layout
*/ */
public function getLayout() public function getLayout()
{ {

View file

@ -1,6 +1,6 @@
<?php <?php
class Wootook_Core_Controller_Front class Wootook_Core_Mvc_Controller_Front
{ {
const ROUTE_DEFAULT = 'default'; const ROUTE_DEFAULT = 'default';
const ROUTE_ERROR = 'error'; const ROUTE_ERROR = 'error';
@ -49,8 +49,8 @@ class Wootook_Core_Controller_Front
protected $_request = null; protected $_request = null;
protected $_response = null; protected $_response = null;
public function __construct(Wootook_Core_Controller_Request_Abstract $request, public function __construct(Wootook_Core_Mvc_Controller_Request_Request $request,
Wootook_Core_Controller_Response_Abstract $response) Wootook_Core_Mvc_Controller_Response_Response $response)
{ {
$this->_request = $request; $this->_request = $request;
$this->_response = $response; $this->_response = $response;

View file

@ -1,7 +1,7 @@
<?php <?php
class Wootook_Core_Controller_Request_Http class Wootook_Core_Mvc_Controller_Request_Http
extends Wootook_Core_Controller_Request_Abstract extends Wootook_Core_Mvc_Controller_Request_Request
{ {
protected $_baseUrl = null; protected $_baseUrl = null;

View file

@ -1,6 +1,6 @@
<?php <?php
abstract class Wootook_Core_Controller_Request_Abstract abstract class Wootook_Core_Mvc_Controller_Request_Request
extends Wootook_Object extends Wootook_Object
{ {
public function setParam($key, $value) public function setParam($key, $value)

View file

@ -1,7 +1,7 @@
<?php <?php
class Wootook_Core_Controller_Response_Http class Wootook_Core_Mvc_Controller_Response_Http
extends Wootook_Core_Controller_Response_Abstract extends Wootook_Core_Mvc_Controller_Response_Response
{ {
const REDIRECT_MOVED_PERMANENTLY = 301; const REDIRECT_MOVED_PERMANENTLY = 301;
const REDIRECT_FOUND = 302; const REDIRECT_FOUND = 302;

View file

@ -1,6 +1,6 @@
<?php <?php
abstract class Wootook_Core_Controller_Response_Abstract abstract class Wootook_Core_Mvc_Controller_Response_Response
extends Wootook_Object extends Wootook_Object
{ {
protected $_isDispatched = false; protected $_isDispatched = false;

View file

@ -1,11 +1,11 @@
<?php <?php
abstract class Wootook_Core_PluginLoader_Abstract abstract class Wootook_Core_PluginLoader_PluginLoader
{ {
protected $_pluginInstances = array(); protected $_pluginInstances = array();
protected $_namespaces = array(); protected $_namespaces = array();
public function load($pluginName, $useSingleton = false) public function load($pluginName, $useSingleton = false, Array $constructorParams = array())
{ {
if (isset($this->_pluginInstances[$pluginName])) { if (isset($this->_pluginInstances[$pluginName])) {
return $this->_pluginInstances[$pluginName]; return $this->_pluginInstances[$pluginName];
@ -25,7 +25,7 @@ abstract class Wootook_Core_PluginLoader_Abstract
continue; continue;
} }
return $this->_load($className, $useSingleton); return $this->_load($className, $useSingleton, $constructorParams);
} }
return null; return null;
@ -50,7 +50,7 @@ abstract class Wootook_Core_PluginLoader_Abstract
return $this; return $this;
} }
abstract protected function _load($className, $useSingleton); abstract protected function _load($className, $useSingleton, Array $constructorParams = array());
public function getPlugin($pluginName) public function getPlugin($pluginName)
{ {

View file

@ -21,7 +21,7 @@ abstract class Wootook_Core_Resource_CollectionAbstract
protected $_items = array(); protected $_items = array();
public function __construct(Wootook_Core_Database $connection = null) public function __construct(Wootook_Core_Database_Adapter_Pdo_Mysql $connection = null)
{ {
$this->setReadConnection($connection); $this->setReadConnection($connection);
@ -65,19 +65,15 @@ abstract class Wootook_Core_Resource_CollectionAbstract
public function getReadConnection() public function getReadConnection()
{ {
if ($this->_connection === null) {
$this->_connection = Wootook_Core_Database::getConnection('core_read');
}
return $this->_connection; return $this->_connection;
} }
public function setReadConnection($connection) public function setReadConnection($connection)
{ {
if ($connection instanceof Wootook_Core_Database) { if ($connection instanceof Wootook_Core_Database_Adapter_Pdo_Mysql) {
$this->_connection = $connection; $this->_connection = $connection;
} else if (is_string($connection)) { } else if (is_string($connection)) {
$this->_connection = Wootook_Core_Database::getConnection($connection); $this->_connection = Wootook_Core_Database_Adapter_Pdo_Mysql::getConnection($connection);
} else { } else {
throw new Wootook_Core_Exception_RuntimeException( throw new Wootook_Core_Exception_RuntimeException(
'First parameter should be either a database connection object or a string identifier.'); 'First parameter should be either a database connection object or a string identifier.');
@ -251,9 +247,37 @@ abstract class Wootook_Core_Resource_CollectionAbstract
$adapter = $this->getReadConnection(); $adapter = $this->getReadConnection();
$simpleOperatorList = array(
'eq' => '=',
'neq' => '!=',
'lt' => '<',
'gt' => '>',
'lteq' => '<=',
'gteq' => '>='
);
if (in_array($operator, $simpleOperatorList)) {
if ($value === true) {
return "{$adapter->quoteIdentifier($field)}{$simpleOperatorList[$operator]}TRUE";
} else if ($value === false) {
return "{$adapter->quoteIdentifier($field)}{$simpleOperatorList[$operator]}FALSE";
} else {
return "{$adapter->quoteIdentifier($field)}{$simpleOperatorList[$operator]}{$adapter->quote($value)}";
}
}
switch (strtolower($operator)) { switch (strtolower($operator)) {
case 'null':
if ($value == false) {
return "{$adapter->quoteIdentifier($field)} IS NOT NULL";
} else {
return "{$adapter->quoteIdentifier($field)} IS NULL";
}
break;
case 'and': case 'and':
case 'or': case 'or':
case 'xor':
$where = array(); $where = array();
foreach ($value as $valueItem) { foreach ($value as $valueItem) {
$subOperator = key($valueItem); $subOperator = key($valueItem);
@ -283,24 +307,7 @@ abstract class Wootook_Core_Resource_CollectionAbstract
return '((' . implode(') ' . strtoupper($operator) . ' (', $where) . '))'; return '((' . implode(') ' . strtoupper($operator) . ' (', $where) . '))';
} }
break; break;
case 'eq':
return "{$adapter->quoteIdentifier($field)}={$adapter->quote($value)}";
break;
case 'neq':
return "{$adapter->quoteIdentifier($field)}!={$adapter->quote($value)}";
break;
case 'lt':
return "{$adapter->quoteIdentifier($field)}<{$adapter->quote($value)}";
break;
case 'gt':
return "{$adapter->quoteIdentifier($field)}>{$adapter->quote($value)}";
break;
case 'lteq':
return "{$adapter->quoteIdentifier($field)}<={$adapter->quote($value)}";
break;
case 'gteq':
return "{$adapter->quoteIdentifier($field)}>={$adapter->quote($value)}";
break;
case 'in': case 'in':
$valueList = array(); $valueList = array();
foreach ($value as $setValue) { foreach ($value as $setValue) {
@ -309,6 +316,7 @@ abstract class Wootook_Core_Resource_CollectionAbstract
$implodedList = implode(',', $valueList); $implodedList = implode(',', $valueList);
return "{$adapter->quoteIdentifier($field)} IN({$implodedList})"; return "{$adapter->quoteIdentifier($field)} IN({$implodedList})";
break; break;
case 'nin': case 'nin':
$valueList = array(); $valueList = array();
foreach ($value as $setValue) { foreach ($value as $setValue) {
@ -317,18 +325,29 @@ abstract class Wootook_Core_Resource_CollectionAbstract
$implodedList = implode(',', $valueList); $implodedList = implode(',', $valueList);
return "{$adapter->quoteIdentifier($field)} NOT IN({$implodedList})"; return "{$adapter->quoteIdentifier($field)} NOT IN({$implodedList})";
break; break;
case 'finset': case 'finset':
return "0 < FIND_IN_SET({$adapter->quote($value)}, {$adapter->quoteIdentifier($field)})"; if (is_array($value)) {
$subField = current($value);
$subOperator = key($value);
if (in_array($subOperator, $simpleOperatorList)) {
return "FIND_IN_SET({$adapter->quote($value)}, {$adapter->quoteIdentifier($field)}){$simpleOperatorList[$operator]}{$adapter->quoteIdentifier($subField)}";
}
} else {
return "0 < FIND_IN_SET({$adapter->quote($value)}, {$adapter->quoteIdentifier($field)})";
}
break; break;
case 'nfinset': case 'nfinset':
return "0 = FIND_IN_SET({$adapter->quote($value)}, {$adapter->quoteIdentifier($field)})"; return "0 = FIND_IN_SET({$adapter->quote($value)}, {$adapter->quoteIdentifier($field)})";
break; break;
case 'date': case 'date':
$dateValues = array(); $dateValues = array();
$mapper = $this->getDataMapper()->load('DateTime');
if (isset($value['from'])) { if (isset($value['from'])) {
if ($value['from'] instanceof Wootook_Core_DateTime) { if ($value['from'] instanceof Wootook_Core_DateTime) {
$dateValues['from'] = "{$adapter->quoteIdentifier($field)} >= {$adapter->quote($mapper->encode($value['from']))}"; $dateValues['from'] = "{$adapter->quoteIdentifier($field)} >= {$adapter->quote($this->getDataMapper()->load('DateTime')->encode($value['from']))}";
} else if (is_string($value['from'])) { } else if (is_string($value['from'])) {
$dateValues['from'] = "{$adapter->quoteIdentifier($field)} >= {$adapter->quote($value['from'])}"; $dateValues['from'] = "{$adapter->quoteIdentifier($field)} >= {$adapter->quote($value['from'])}";
} else if (is_numeric($value['from'])) { } else if (is_numeric($value['from'])) {
@ -337,7 +356,7 @@ abstract class Wootook_Core_Resource_CollectionAbstract
} }
if (isset($value['to'])) { if (isset($value['to'])) {
if ($value['to'] instanceof Wootook_Core_DateTime) { if ($value['to'] instanceof Wootook_Core_DateTime) {
$dateValues['to'] = "{$adapter->quoteIdentifier($field)} <= {$adapter->quote($mapper->encode($value['to']))}"; $dateValues['to'] = "{$adapter->quoteIdentifier($field)} <= {$adapter->quote($this->getDataMapper()->load('DateTime')->encode($value['to']))}";
} else if (is_string($value['to'])) { } else if (is_string($value['to'])) {
$dateValues['to'] = "{$adapter->quoteIdentifier($field)} <= {$adapter->quote($value['to'])}"; $dateValues['to'] = "{$adapter->quoteIdentifier($field)} <= {$adapter->quote($value['to'])}";
} else if (is_numeric($value['to'])) { } else if (is_numeric($value['to'])) {
@ -348,6 +367,7 @@ abstract class Wootook_Core_Resource_CollectionAbstract
return '(' . implode(' AND ', $dateValues) . ')'; return '(' . implode(' AND ', $dateValues) . ')';
break; break;
} }
return null; return null;
} }

View file

@ -13,7 +13,7 @@ class Wootook_Core_Setup_Updater
public function setSetupConnection($connection) public function setSetupConnection($connection)
{ {
if (is_string($connection)) { if (is_string($connection)) {
$this->_setupConnection = Wootook_Core_Database::getConnection($connection); $this->_setupConnection = Wootook_Core_Database_Adapter_Pdo_Mysql::getConnection($connection);
} else { } else {
$this->_setupConnection = $connection; $this->_setupConnection = $connection;
} }
@ -24,7 +24,7 @@ class Wootook_Core_Setup_Updater
/** /**
* *
* Enter description here ... * Enter description here ...
* @return Wootook_Core_Database * @return Wootook_Core_Database_Adapter_Pdo_Mysql
*/ */
public function getSetupConnection() public function getSetupConnection()
{ {

View file

@ -186,14 +186,14 @@ class Wootook_Core_View
$theme = $this->getLayout()->getTheme(); $theme = $this->getLayout()->getTheme();
} }
if ($theme === null || empty($theme)) { if ($theme === null || empty($theme)) {
$theme = Wootook_Core_Layout::DEFAULT_THEME; $theme = Wootook_Core_Model_Layout::DEFAULT_THEME;
} }
if ($package === null || empty($package)) { if ($package === null || empty($package)) {
$package = $this->getLayout()->getPackage(); $package = $this->getLayout()->getPackage();
} }
if ($package === null || empty($package)) { if ($package === null || empty($package)) {
$package = Wootook_Core_Layout::DEFAULT_PACKAGE; $package = Wootook_Core_Model_Layout::DEFAULT_PACKAGE;
} }
$domain = $this->getLayout()->getDomain(); $domain = $this->getLayout()->getDomain();
@ -216,11 +216,11 @@ class Wootook_Core_View
if (Wootook::fileExists(sprintf($pathPattern, $package, $theme))) { if (Wootook::fileExists(sprintf($pathPattern, $package, $theme))) {
return sprintf($urlPattern, $package, $theme); return sprintf($urlPattern, $package, $theme);
} }
if (Wootook::fileExists(sprintf($pathPattern, $package, Wootook_Core_Layout::DEFAULT_THEME))) { if (Wootook::fileExists(sprintf($pathPattern, $package, Wootook_Core_Model_Layout::DEFAULT_THEME))) {
return sprintf($urlPattern, $package, Wootook_Core_Layout::DEFAULT_THEME); return sprintf($urlPattern, $package, Wootook_Core_Model_Layout::DEFAULT_THEME);
} }
return sprintf($urlPattern, Wootook_Core_Layout::DEFAULT_PACKAGE, Wootook_Core_Layout::DEFAULT_THEME); return sprintf($urlPattern, Wootook_Core_Model_Layout::DEFAULT_PACKAGE, Wootook_Core_Model_Layout::DEFAULT_THEME);
} }
public function setPartial($name, $content) public function setPartial($name, $content)
@ -292,7 +292,7 @@ class Wootook_Core_View
/** /**
* *
* @return Wootook_Core_Layout * @return Wootook_Core_Model_Layout
*/ */
public function getLayout() public function getLayout()
{ {

View file

@ -24,7 +24,7 @@ class Wootook_Empire_Block_Planet_Buildings
public function _initChildBlocks() public function _initChildBlocks()
{ {
$types = Wootook_Empire_Model_Game_Types::getSingleton(); $types = Wootook_Empire_Helper_Config_Types::getSingleton();
$type = Legacies_Empire::TYPE_BUILDING_PLANET; $type = Legacies_Empire::TYPE_BUILDING_PLANET;
if ($this->getPlanet()->isMoon()) { if ($this->getPlanet()->isMoon()) {
$type = Legacies_Empire::TYPE_BUILDING_MOON; $type = Legacies_Empire::TYPE_BUILDING_MOON;

View file

@ -7,8 +7,8 @@
* @uses Wootook_Object * @uses Wootook_Object
* @uses Legacies_Empire * @uses Legacies_Empire
*/ */
class Wootook_Empire_Model_Game_Combat class Wootook_Empire_Helper_Config_Combat
extends Wootook_Core_Model_Config_Abstract extends Wootook_Core_Helper_Config_ConfigHandler
implements Wootook_Core_Singleton implements Wootook_Core_Singleton
{ {
private static $_singleton = null; private static $_singleton = null;

View file

@ -7,8 +7,8 @@
* @uses Wootook_Object * @uses Wootook_Object
* @uses Legacies_Empire * @uses Legacies_Empire
*/ */
class Wootook_Empire_Model_Game_FieldsAlias class Wootook_Empire_Helper_Config_FieldsAlias
extends Wootook_Core_Model_Config_Abstract extends Wootook_Core_Helper_Config_ConfigHandler
implements Wootook_Core_Singleton implements Wootook_Core_Singleton
{ {
private static $_singleton = null; private static $_singleton = null;

View file

@ -7,8 +7,8 @@
* @uses Wootook_Object * @uses Wootook_Object
* @uses Legacies_Empire * @uses Legacies_Empire
*/ */
class Wootook_Empire_Model_Game_Prices class Wootook_Empire_Helper_Config_Prices
extends Wootook_Core_Model_Config_Abstract extends Wootook_Core_Helper_Config_ConfigHandler
implements Wootook_Core_Singleton implements Wootook_Core_Singleton
{ {
private static $_singleton = null; private static $_singleton = null;

View file

@ -7,8 +7,8 @@
* @uses Wootook_Object * @uses Wootook_Object
* @uses Legacies_Empire * @uses Legacies_Empire
*/ */
class Wootook_Empire_Model_Game_Production class Wootook_Empire_Helper_Config_Production
extends Wootook_Core_Model_Config_Abstract extends Wootook_Core_Helper_Config_ConfigHandler
implements Wootook_Core_Singleton implements Wootook_Core_Singleton
{ {
private static $_singleton = null; private static $_singleton = null;

View file

@ -7,8 +7,8 @@
* @uses Wootook_Object * @uses Wootook_Object
* @uses Legacies_Empire * @uses Legacies_Empire
*/ */
class Wootook_Empire_Model_Game_Requirements class Wootook_Empire_Helper_Config_Requirements
extends Wootook_Core_Model_Config_Abstract extends Wootook_Core_Helper_Config_ConfigHandler
implements Wootook_Core_Singleton implements Wootook_Core_Singleton
{ {
private static $_singleton = null; private static $_singleton = null;

View file

@ -7,8 +7,8 @@
* @uses Wootook_Object * @uses Wootook_Object
* @uses Legacies_Empire * @uses Legacies_Empire
*/ */
class Wootook_Empire_Model_Game_Resources class Wootook_Empire_Helper_Config_Resources
extends Wootook_Core_Model_Config_Abstract extends Wootook_Core_Helper_Config_ConfigHandler
implements Wootook_Core_Singleton implements Wootook_Core_Singleton
{ {
private static $_singleton = null; private static $_singleton = null;

View file

@ -7,8 +7,8 @@
* @uses Wootook_Object * @uses Wootook_Object
* @uses Legacies_Empire * @uses Legacies_Empire
*/ */
class Wootook_Empire_Model_Game_Types class Wootook_Empire_Helper_Config_Types
extends Wootook_Core_Model_Config_Abstract extends Wootook_Core_Helper_Config_ConfigHandler
implements Wootook_Core_Singleton implements Wootook_Core_Singleton
{ {
private static $_singleton = null; private static $_singleton = null;

View file

@ -141,8 +141,8 @@ abstract class Wootook_Empire_Model_BuilderAbstract
*/ */
public function checkAvailability($typeId) public function checkAvailability($typeId)
{ {
$types = Wootook_Empire_Model_Game_Types::getSingleton(); $types = Wootook_Empire_Helper_Config_Types::getSingleton();
$requirements = Wootook_Empire_Model_Game_Requirements::getSingleton(); $requirements = Wootook_Empire_Helper_Config_Requirements::getSingleton();
if (!isset($requirements[$typeId]) || empty($requirements[$typeId])) { if (!isset($requirements[$typeId]) || empty($requirements[$typeId])) {
return true; return true;

View file

@ -199,7 +199,7 @@ class Wootook_Empire_Model_Planet
public function updateStorages($time = null) public function updateStorages($time = null)
{ {
Math::setPrecision(50); Math::setPrecision(50);
$resources = Wootook_Empire_Model_Game_Resources::getSingleton(); $resources = Wootook_Empire_Helper_Config_Resources::getSingleton();
foreach ($resources->getAllDatas() as $resource => $resourceData) { foreach ($resources->getAllDatas() as $resource => $resourceData) {
if (!isset($resourceData['storage']) || $resourceData['storage'] === null) { if (!isset($resourceData['storage']) || $resourceData['storage'] === null) {
continue; continue;
@ -232,7 +232,7 @@ class Wootook_Empire_Model_Planet
public function updateBuildingFields() public function updateBuildingFields()
{ {
$types = Wootook_Empire_Model_Game_Types::getSingleton(); $types = Wootook_Empire_Helper_Config_Types::getSingleton();
if ($this->isPlanet()) { if ($this->isPlanet()) {
$filter = Legacies_Empire::TYPE_BUILDING_PLANET; $filter = Legacies_Empire::TYPE_BUILDING_PLANET;
@ -254,9 +254,9 @@ class Wootook_Empire_Model_Planet
public function updateResourceProduction() public function updateResourceProduction()
{ {
$types = Wootook_Empire_Model_Game_Types::getSingleton(); $types = Wootook_Empire_Helper_Config_Types::getSingleton();
$resources = Wootook_Empire_Model_Game_Resources::getSingleton(); $resources = Wootook_Empire_Helper_Config_Resources::getSingleton();
$production = Wootook_Empire_Model_Game_Production::getSingleton(); $production = Wootook_Empire_Helper_Config_Production::getSingleton();
if (!$this->isPlanet()) { if (!$this->isPlanet()) {
return $this; return $this;
@ -382,7 +382,7 @@ class Wootook_Empire_Model_Planet
public function updateResources(Wootook_Core_DateTime $time = null) public function updateResources(Wootook_Core_DateTime $time = null)
{ {
$resources = Wootook_Empire_Model_Game_Resources::getSingleton(); $resources = Wootook_Empire_Helper_Config_Resources::getSingleton();
if ($time === null) { if ($time === null) {
$time = new Wootook_Core_DateTime(); $time = new Wootook_Core_DateTime();
@ -407,7 +407,7 @@ class Wootook_Empire_Model_Planet
public static function getProductionElementInstance($buildingId) public static function getProductionElementInstance($buildingId)
{ {
$production = Wootook_Empire_Model_Game_Production::getSingleton(); $production = Wootook_Empire_Helper_Config_Production::getSingleton();
if (!isset(self::$_productionInstances[$buildingId])) { if (!isset(self::$_productionInstances[$buildingId])) {
if (!isset($production[$buildingId])) { if (!isset($production[$buildingId])) {
@ -647,29 +647,29 @@ class Wootook_Empire_Model_Planet
public function getElement($elementId) public function getElement($elementId)
{ {
$fields = Wootook_Empire_Model_Game_FieldsAlias::getSingleton(); $fields = Wootook_Empire_Helper_Config_FieldsAlias::getSingleton();
return $this->getData($fields[$elementId]); return $this->getData($fields[$elementId]);
} }
public function setElement($elementId, $level) public function setElement($elementId, $level)
{ {
$fields = Wootook_Empire_Model_Game_FieldsAlias::getSingleton(); $fields = Wootook_Empire_Helper_Config_FieldsAlias::getSingleton();
return $this->setData($fields[$elementId], $level); return $this->setData($fields[$elementId], $level);
} }
public function hasElement($elementId, $levelRequired = 0) public function hasElement($elementId, $levelRequired = 0)
{ {
$fields = Wootook_Empire_Model_Game_FieldsAlias::getSingleton(); $fields = Wootook_Empire_Helper_Config_FieldsAlias::getSingleton();
return $this->hasData($fields[$elementId]) && Math::comp($this->getElement($elementId), $levelRequired) > 0; return $this->hasData($fields[$elementId]) && Math::comp($this->getElement($elementId), $levelRequired) > 0;
} }
public function appendBuildingQueue($buildingId, $destroy = false, Wootook_Core_DateTime $time = null) public function appendBuildingQueue($buildingId, $destroy = false, Wootook_Core_DateTime $time = null)
{ {
$types = Wootook_Empire_Model_Game_Types::getSingleton(); $types = Wootook_Empire_Helper_Config_Types::getSingleton();
$prices = Wootook_Empire_Model_Game_Prices::getSingleton(); $prices = Wootook_Empire_Helper_Config_Prices::getSingleton();
if ($time === null) { if ($time === null) {
$time = new Wootook_Core_DateTime(); $time = new Wootook_Core_DateTime();
@ -922,7 +922,7 @@ class Wootook_Empire_Model_Planet
public function getResourceAmount($resourceType) public function getResourceAmount($resourceType)
{ {
$resources = Wootook_Empire_Model_Game_Resources::getSingleton(); $resources = Wootook_Empire_Helper_Config_Resources::getSingleton();
$resourceConfig = $resources->getData($resourceType); $resourceConfig = $resources->getData($resourceType);
if ($resourceConfig === null) { if ($resourceConfig === null) {
@ -933,7 +933,7 @@ class Wootook_Empire_Model_Planet
public function getResourceCap($resourceType) public function getResourceCap($resourceType)
{ {
$resources = Wootook_Empire_Model_Game_Resources::getSingleton(); $resources = Wootook_Empire_Helper_Config_Resources::getSingleton();
$resourceConfig = $resources->getData($resourceType); $resourceConfig = $resources->getData($resourceType);
if ($resourceConfig === null) { if ($resourceConfig === null) {

View file

@ -99,7 +99,7 @@ class Wootook_Empire_Model_Planet_Builder
*/ */
public function checkAvailability($buildingId) public function checkAvailability($buildingId)
{ {
$types = Wootook_Empire_Model_Game_Types::getSingleton(); $types = Wootook_Empire_Helper_Config_Types::getSingleton();
if (!$types->is($buildingId, Legacies_Empire::TYPE_BUILDING)) { if (!$types->is($buildingId, Legacies_Empire::TYPE_BUILDING)) {
return false; return false;
@ -116,7 +116,7 @@ class Wootook_Empire_Model_Planet_Builder
*/ */
public function getBuildingTime($buildingId, $level) public function getBuildingTime($buildingId, $level)
{ {
$prices = Wootook_Empire_Model_Game_Prices::getSingleton(); $prices = Wootook_Empire_Helper_Config_Prices::getSingleton();
Math::setPrecision(50); Math::setPrecision(50);
$firstLevelTime = $prices[$buildingId][Legacies_Empire::BASE_BUILDING_TIME]; $firstLevelTime = $prices[$buildingId][Legacies_Empire::BASE_BUILDING_TIME];
@ -149,8 +149,8 @@ class Wootook_Empire_Model_Planet_Builder
*/ */
public function getResourcesNeeded($buildingId, $level) public function getResourcesNeeded($buildingId, $level)
{ {
$prices = Wootook_Empire_Model_Game_Prices::getSingleton(); $prices = Wootook_Empire_Helper_Config_Prices::getSingleton();
$resources = Wootook_Empire_Model_Game_Resources::getSingleton(); $resources = Wootook_Empire_Helper_Config_Resources::getSingleton();
if (!isset($prices[$buildingId])) { if (!isset($prices[$buildingId])) {
return array(); return array();
@ -176,7 +176,7 @@ class Wootook_Empire_Model_Planet_Builder
*/ */
public function updateQueue(Wootook_Core_DateTime $time) public function updateQueue(Wootook_Core_DateTime $time)
{ {
$fields = Wootook_Empire_Model_Game_FieldsAlias::getSingleton(); $fields = Wootook_Empire_Helper_Config_FieldsAlias::getSingleton();
$startingTime = clone $this->_currentPlanet->getData('b_building'); $startingTime = clone $this->_currentPlanet->getData('b_building');
@ -239,7 +239,7 @@ class Wootook_Empire_Model_Planet_Builder
return $this; return $this;
} }
$types = Wootook_Empire_Model_Game_Types::getSingleton(); $types = Wootook_Empire_Helper_Config_Types::getSingleton();
if (!Math::isPositive($level)) { if (!Math::isPositive($level)) {
return $this; return $this;

View file

@ -1,7 +1,7 @@
<?php <?php
class Wootook_Empire_Model_Planet_PluginLoader class Wootook_Empire_Model_Planet_PluginLoader
extends Wootook_Core_PluginLoader_Abstract extends Wootook_Core_PluginLoader_PluginLoader
{ {
protected $_currentPlayer = null; protected $_currentPlayer = null;
protected $_currentPlanet = null; protected $_currentPlanet = null;

View file

@ -5,7 +5,7 @@ abstract class Wootook_Empire_Model_Planet_ShipAbstract
{ {
public function getBaseSpeed(Wootook_Player_Model_Entity $player) public function getBaseSpeed(Wootook_Player_Model_Entity $player)
{ {
$prices = Wootook_Empire_Model_Game_Prices::getSingleton(); $prices = Wootook_Empire_Helper_Config_Prices::getSingleton();
return $prices[Legacies_Empire::ID_SHIP_SUPERNOVA][Legacies_Empire::SHIPS_CELERITY_PRIMARY]; return $prices[Legacies_Empire::ID_SHIP_SUPERNOVA][Legacies_Empire::SHIPS_CELERITY_PRIMARY];
} }

View file

@ -34,8 +34,8 @@
* @author Greg * @author Greg
* *
*/ */
class Wootook_Player_AccountController class Wootook_Player_Controller_AccountController
extends Wootook_Core_Controller_Action extends Wootook_Core_Mvc_Controller_Action
{ {
public function loginAction() public function loginAction()
{ {

View file

@ -1,7 +1,7 @@
<?php <?php
class Wootook_Player_OverviewController class Wootook_Player_Controller_OverviewController
extends Wootook_Player_Controller_Registered extends Wootook_Player_Mvc_Controller_Registered
{ {
public function indexAction() public function indexAction()
{ {
@ -9,7 +9,7 @@ class Wootook_Player_OverviewController
$this->renderLayout(); $this->renderLayout();
/* /*
$this->getResponse() $this->getResponse()
->setRedirect(Wootook::getStaticUrl('overview.php'), Wootook_Core_Controller_Response_Http::REDIRECT_TEMPORARY); ->setRedirect(Wootook::getStaticUrl('overview.php'), Wootook_Core_Mvc_Controller_Response_Http::REDIRECT_TEMPORARY);
*/ */
} }
} }

View file

@ -250,7 +250,7 @@ class Wootook_Player_Model_Entity
->setData('b_building', $now) ->setData('b_building', $now)
; ;
$resourceList = Wootook_Empire_Model_Game_Resources::getSingleton(); $resourceList = Wootook_Empire_Helper_Config_Resources::getSingleton();
$resourceConfig = Wootook::getGameConfig('resources/initial'); $resourceConfig = Wootook::getGameConfig('resources/initial');
foreach ($resourceList as $resource => $resourceData) { foreach ($resourceList as $resource => $resourceData) {
if ($resourceData['field'] === null || !isset($resourceConfig[$resource])) { if ($resourceData['field'] === null || !isset($resourceConfig[$resource])) {
@ -496,21 +496,21 @@ class Wootook_Player_Model_Entity
public function getElement($elementId) public function getElement($elementId)
{ {
$fields = Wootook_Empire_Model_Game_FieldsAlias::getSingleton(); $fields = Wootook_Empire_Helper_Config_FieldsAlias::getSingleton();
return $this->getData($fields[$elementId]); return $this->getData($fields[$elementId]);
} }
public function setElement($elementId, $level) public function setElement($elementId, $level)
{ {
$fields = Wootook_Empire_Model_Game_FieldsAlias::getSingleton(); $fields = Wootook_Empire_Helper_Config_FieldsAlias::getSingleton();
return $this->setData($fields[$elementId], $level); return $this->setData($fields[$elementId], $level);
} }
public function hasElement($elementId, $levelRequired = 0) public function hasElement($elementId, $levelRequired = 0)
{ {
$fields = Wootook_Empire_Model_Game_FieldsAlias::getSingleton(); $fields = Wootook_Empire_Helper_Config_FieldsAlias::getSingleton();
return $this->hasData($fields[$elementId]) && Math::comp($this->getElement($elementId), $levelRequired) > 0; return $this->hasData($fields[$elementId]) && Math::comp($this->getElement($elementId), $levelRequired) > 0;
} }
@ -565,7 +565,7 @@ class Wootook_Player_Model_Entity
return; return;
} }
if (!isset($eventData['layout']) || !$eventData['layout'] instanceof Wootook_Core_Layout) { if (!isset($eventData['layout']) || !$eventData['layout'] instanceof Wootook_Core_Model_Layout) {
return; return;
} }
$layout = $eventData['layout']; $layout = $eventData['layout'];

View file

@ -1,7 +1,7 @@
<?php <?php
class Wootook_Player_Controller_Registered class Wootook_Player_Mvc_Controller_Registered
extends Wootook_Core_Controller_Action extends Wootook_Core_Mvc_Controller_Action
{ {
public function getSession() public function getSession()
{ {

View file

@ -1,6 +1,6 @@
<?php return array( <?php return array(
'install' => array( 'install' => array(
'update' => '2columns-left', 'update' => array('2columns-left'),
'reference' => array( 'reference' => array(
'content' => array( 'content' => array(
'children' => array( 'children' => array(
@ -14,7 +14,7 @@
), ),
'install.intro' => array( 'install.intro' => array(
'update' => 'install', 'update' => array('install'),
'reference' => array( 'reference' => array(
'content' => array( 'content' => array(
'children' => array( 'children' => array(
@ -39,7 +39,7 @@
), ),
'install.step.system' => array( 'install.step.system' => array(
'update' => 'install', 'update' => array('install'),
'reference' => array( 'reference' => array(
'content' => array( 'content' => array(
'children' => array( 'children' => array(
@ -64,7 +64,7 @@
), ),
'install.step.database' => array( 'install.step.database' => array(
'update' => 'install', 'update' => array('install'),
'reference' => array( 'reference' => array(
'content' => array( 'content' => array(
'children' => array( 'children' => array(
@ -89,7 +89,7 @@
), ),
'install.step.universe' => array( 'install.step.universe' => array(
'update' => 'install', 'update' => array('install'),
'reference' => array( 'reference' => array(
'content' => array( 'content' => array(
'children' => array( 'children' => array(
@ -114,7 +114,7 @@
), ),
'install.step.profile' => array( 'install.step.profile' => array(
'update' => 'install', 'update' => array('install'),
'reference' => array( 'reference' => array(
'content' => array( 'content' => array(
'children' => array( 'children' => array(
@ -139,7 +139,7 @@
), ),
'install.summary' => array( 'install.summary' => array(
'update' => 'install', 'update' => array('install'),
'reference' => array( 'reference' => array(
'content' => array( 'content' => array(
'children' => array( 'children' => array(

View file

@ -41,7 +41,7 @@ $mode = isset($_GET['mode']) ? $_GET['mode'] : null;
switch ($mode) { switch ($mode) {
case 'fleet': case 'fleet':
if ($planet->getElement(Legacies_Empire::ID_BUILDING_SHIPYARD) < 1) { if ($planet->getElement(Legacies_Empire::ID_BUILDING_SHIPYARD) < 1) {
$layout = new Wootook_Core_Layout(Wootook_Core_Layout::DOMAIN_FRONTEND); $layout = new Wootook_Core_Model_Layout(Wootook_Core_Model_Layout::DOMAIN_FRONTEND);
$layout->load('message'); $layout->load('message');
$block = $layout->getBlock('message'); $block = $layout->getBlock('message');
@ -69,7 +69,7 @@ case 'fleet':
exit(0); exit(0);
} }
$layout = new Wootook_Core_Layout(); $layout = new Wootook_Core_Model_Layout();
$layout->load('planet.shipyard'); $layout->load('planet.shipyard');
echo $layout->render(); echo $layout->render();
@ -77,7 +77,7 @@ case 'fleet':
case 'research': case 'research':
if ($planet->getElement(Legacies_Empire::ID_BUILDING_RESEARCH_LAB) < 1) { if ($planet->getElement(Legacies_Empire::ID_BUILDING_RESEARCH_LAB) < 1) {
$layout = new Wootook_Core_Layout(); $layout = new Wootook_Core_Model_Layout();
$layout->load('message'); $layout->load('message');
$block = $layout->getBlock('message'); $block = $layout->getBlock('message');
@ -108,7 +108,7 @@ case 'research':
exit(0); exit(0);
} }
$layout = new Wootook_Core_Layout(); $layout = new Wootook_Core_Model_Layout();
$layout->load('planet.research-lab'); $layout->load('planet.research-lab');
echo $layout->render(); echo $layout->render();
@ -116,7 +116,7 @@ case 'research':
case 'defense': case 'defense':
if ($planet->getElement(Legacies_Empire::ID_BUILDING_SHIPYARD) < 1) { if ($planet->getElement(Legacies_Empire::ID_BUILDING_SHIPYARD) < 1) {
$layout = new Wootook_Core_Layout(); $layout = new Wootook_Core_Model_Layout();
$layout->load('message'); $layout->load('message');
$block = $layout->getBlock('message'); $block = $layout->getBlock('message');
@ -144,7 +144,7 @@ case 'defense':
exit(0); exit(0);
} }
$layout = new Wootook_Core_Layout(); $layout = new Wootook_Core_Model_Layout();
$layout->load('planet.defense'); $layout->load('planet.defense');
/** @var Legacies_Empire_Block_Planet_Shipyard $block */ /** @var Legacies_Empire_Block_Planet_Shipyard $block */
@ -174,7 +174,7 @@ default:
exit(0); exit(0);
} }
$layout = new Wootook_Core_Layout(); $layout = new Wootook_Core_Model_Layout();
$layout->load('planet.buildings'); $layout->load('planet.buildings');
echo $layout->render(); echo $layout->render();
break; break;

View file

@ -28,7 +28,7 @@
* *
*/ */
$CombatCaps = Wootook_Empire_Model_Game_Combat::getSingleton(); $CombatCaps = Wootook_Empire_Helper_Config_Combat::getSingleton();
$AtFleet = array ( 203 => 2 ); $AtFleet = array ( 203 => 2 );
$AtTechn = array ( 109 => 3, 110 => 5, 111 => 3 ); $AtTechn = array ( 109 => 3, 110 => 5, 111 => 3 );

View file

@ -149,7 +149,7 @@ function GetBuildingPrice($currentUser, $currentPlanet, $buildingId, $incrementa
$currentUser = Wootook_Player_Model_Entity::factory($currentUser['id']); $currentUser = Wootook_Player_Model_Entity::factory($currentUser['id']);
} }
$types = Wootook_Empire_Model_Game_Types::getSingleton(); $types = Wootook_Empire_Helper_Config_Types::getSingleton();
if ($types->is($buildingId, Legacies_Empire::TYPE_BUILDING)) { if ($types->is($buildingId, Legacies_Empire::TYPE_BUILDING)) {
$level = $currentPlanet->getElement($buildingId); $level = $currentPlanet->getElement($buildingId);
@ -202,7 +202,7 @@ function GetBuildingTime($currentUser, $currentPlanet, $buildingId)
$currentUser = Wootook_Player_Model_Entity::factory($currentUser['id']); $currentUser = Wootook_Player_Model_Entity::factory($currentUser['id']);
} }
$types = Wootook_Empire_Model_Game_Types::getSingleton(); $types = Wootook_Empire_Helper_Config_Types::getSingleton();
if ($types->is($buildingId, Legacies_Empire::TYPE_BUILDING)) { if ($types->is($buildingId, Legacies_Empire::TYPE_BUILDING)) {
return $currentPlanet->getBuildingTime($buildingId, 1); return $currentPlanet->getBuildingTime($buildingId, 1);
@ -237,7 +237,7 @@ function GetBuildingTimeLevel($currentUser, $currentPlanet, $buildingId, $level)
$currentUser = Wootook_Player_Model_Entity::factory($currentUser['id']); $currentUser = Wootook_Player_Model_Entity::factory($currentUser['id']);
} }
$types = Wootook_Empire_Model_Game_Types::getSingleton(); $types = Wootook_Empire_Helper_Config_Types::getSingleton();
if ($types->is($buildingId, Legacies_Empire::TYPE_BUILDING)) { if ($types->is($buildingId, Legacies_Empire::TYPE_BUILDING)) {
return $currentPlanet->getBuildingTime($buildingId, $level); return $currentPlanet->getBuildingTime($buildingId, $level);
@ -274,8 +274,8 @@ function GetElementPrice($currentUser, $currentPlanet, $buildingId, $userfactor
global $lang; global $lang;
$prices = Wootook_Empire_Model_Game_Prices::getSingleton(); $prices = Wootook_Empire_Helper_Config_Prices::getSingleton();
$types = Wootook_Empire_Model_Game_Types::getSingleton(); $types = Wootook_Empire_Helper_Config_Types::getSingleton();
$array = array( $array = array(
Legacies_Empire::RESOURCE_METAL => $lang["Metal"], Legacies_Empire::RESOURCE_METAL => $lang["Metal"],
@ -496,17 +496,17 @@ function CancelBuildingFromQueue($currentPlanet, $currentUser)
class Deprecated class Deprecated
{ {
/** /**
* @var Wootook_Core_Layout $layout * @var Wootook_Core_Model_Layout $layout
*/ */
public static $layout = null; public static $layout = null;
/** /**
* @return Wootook_Core_Layout * @return Wootook_Core_Model_Layout
*/ */
public static function getLayout($adminPage = false) public static function getLayout($adminPage = false)
{ {
if (self::$layout === null) { if (self::$layout === null) {
self::$layout = new Wootook_Core_Layout(); self::$layout = new Wootook_Core_Model_Layout();
} }
return self::$layout; return self::$layout;
@ -531,7 +531,7 @@ function display($page, $title = '', $topnav = true, $metatags = '', $adminPage
if ($adminPage === false) { if ($adminPage === false) {
$layout->load('empire'); $layout->load('empire');
} else { } else {
$layout->setDomain(Wootook_Core_Layout::DOMAIN_BACKEND); $layout->setDomain(Wootook_Core_Model_Layout::DOMAIN_BACKEND);
$layout->load('admin'); $layout->load('admin');
} }
@ -627,9 +627,9 @@ function doquery($query, $table, $fetch = false)
defined('DEPRECATION') || Wootook_Core_ErrorProfiler::getSingleton()->addException(new Wootook_Core_Exception_Deprecated(sprintf('Function "%s" is deprecated', __FUNCTION__))); defined('DEPRECATION') || Wootook_Core_ErrorProfiler::getSingleton()->addException(new Wootook_Core_Exception_Deprecated(sprintf('Function "%s" is deprecated', __FUNCTION__)));
/** /**
* @var Wootook_Core_Database $database * @var Wootook_Core_Database_Adapter_Pdo_Mysql $database
*/ */
$database = Wootook_Core_Database::getSingleton(); $database = Wootook_Core_Database_ConnectionManager::getSingleton()->getConnection(Wootook_Core_Database_ConnectionManager::DEFAULT_CONNECTION_NAME);
$sql = str_replace("{{table}}", $database->getTable($table), $query); $sql = str_replace("{{table}}", $database->getTable($table), $query);

View file

@ -36,9 +36,9 @@ function MissionCaseAttack($FleetRow)
{ {
global $lang; global $lang;
$pricelist = Wootook_Empire_Model_Game_Prices::getSingleton(); $pricelist = Wootook_Empire_Helper_Config_Prices::getSingleton();
$resource = Wootook_Empire_Model_Game_FieldsAlias::getSingleton(); $resource = Wootook_Empire_Helper_Config_FieldsAlias::getSingleton();
$CombatCaps = Wootook_Empire_Model_Game_Combat::getSingleton(); $CombatCaps = Wootook_Empire_Helper_Config_Combat::getSingleton();
if ($FleetRow['fleet_mess'] == 0 && $FleetRow['fleet_start_time'] <= time()) { if ($FleetRow['fleet_mess'] == 0 && $FleetRow['fleet_start_time'] <= time()) {

View file

@ -37,7 +37,7 @@ function MissionCaseSpy($FleetRow)
{ {
global $lang; global $lang;
$resource = Wootook_Empire_Model_Game_FieldsAlias::getSingleton(); $resource = Wootook_Empire_Helper_Config_FieldsAlias::getSingleton();
if ($FleetRow['fleet_start_time'] <= time()) { if ($FleetRow['fleet_start_time'] <= time()) {
// refactored parts // refactored parts

View file

@ -46,14 +46,14 @@ $messfields = array (
100 => "new_message" 100 => "new_message"
); );
$resource = Wootook_Empire_Model_Game_FieldsAlias::getSingleton(); $resource = Wootook_Empire_Helper_Config_FieldsAlias::getSingleton();
$requirements = Wootook_Empire_Model_Game_Requirements::getSingleton(); $requirements = Wootook_Empire_Helper_Config_Requirements::getSingleton();
$pricelist = Wootook_Empire_Model_Game_Prices::getSingleton(); $pricelist = Wootook_Empire_Helper_Config_Prices::getSingleton();
$CombatCaps = Wootook_Empire_Model_Game_Combat::getSingleton(); $CombatCaps = Wootook_Empire_Helper_Config_Combat::getSingleton();
$ProdGrid = Wootook_Empire_Model_Game_Production::getSingleton(); $ProdGrid = Wootook_Empire_Helper_Config_Production::getSingleton();
$reslist = Wootook_Empire_Model_Game_Types::getSingleton(); $reslist = Wootook_Empire_Helper_Config_Types::getSingleton();

View file

@ -31,7 +31,7 @@
define('DISABLE_IDENTITY_CHECK', true); define('DISABLE_IDENTITY_CHECK', true);
require_once dirname(__FILE__) .'/application/bootstrap.php'; require_once dirname(__FILE__) .'/application/bootstrap.php';
$frontController = new Wootook_Core_Controller_Front(Wootook::getRequest(), Wootook::getResponse()); $frontController = new Wootook_Core_Mvc_Controller_Front(Wootook::getRequest(), Wootook::getResponse());
$frontController $frontController
->dispatch() ->dispatch()

View file

@ -90,9 +90,8 @@ Wootook::setGame(1, $game);
*/ */
include ROOT_PATH . 'includes' . DIRECTORY_SEPARATOR . 'constants.php'; include ROOT_PATH . 'includes' . DIRECTORY_SEPARATOR . 'constants.php';
Wootook_Core_Time::init();
Wootook_Core_ErrorProfiler::register(); Wootook_Core_ErrorProfiler::register();
Wootook_Core_Model_Config_Events::registerEvents(); Wootook_Core_Helper_Config_Events::registerEvents();
$mode = isset($_GET['mode']) ? strval($_GET['mode']) : 'intro'; $mode = isset($_GET['mode']) ? strval($_GET['mode']) : 'intro';
$step = isset($_GET['step']) ? intval($_GET['step']) : 1; $step = isset($_GET['step']) ? intval($_GET['step']) : 1;
@ -101,13 +100,18 @@ $nextStep = $step + 1;
$baseUrl = (isset($_SERVER["HTTPS"]) && strtolower($_SERVER["HTTPS"]) == "on" ? 'https://' : 'http://') $baseUrl = (isset($_SERVER["HTTPS"]) && strtolower($_SERVER["HTTPS"]) == "on" ? 'https://' : 'http://')
. $_SERVER["SERVER_NAME"] . ($_SERVER["SERVER_PORT"] != "80" ? ":{$_SERVER["SERVER_PORT"]}" : ''); . $_SERVER["SERVER_NAME"] . ($_SERVER["SERVER_PORT"] != "80" ? ":{$_SERVER["SERVER_PORT"]}" : '');
$_SERVER['REQUEST_URI'] = '/test/test3/install/index.php';
if (isset($_SERVER['REQUEST_URI'])) { if (isset($_SERVER['REQUEST_URI'])) {
var_dump(strrpos($_SERVER['REQUEST_URI'], '/'), (strlen($_SERVER['REQUEST_URI']) - 1));
if (strrpos($_SERVER['REQUEST_URI'], '/') == (strlen($_SERVER['REQUEST_URI']) - 1)) { if (strrpos($_SERVER['REQUEST_URI'], '/') == (strlen($_SERVER['REQUEST_URI']) - 1)) {
$baseUrl .= dirname($_SERVER['REQUEST_URI']) . '/'; $baseUrl .= substr($_SERVER['REQUEST_URI'], 0, strpos(substr($_SERVER['REQUEST_URI'], 0, -1), '/'));
} else { } else {
$baseUrl .= dirname(dirname($_SERVER['REQUEST_URI'])) . '/'; //$baseUrl .= substr($_SERVER['REQUEST_URI'], 0, strrpos($_SERVER['REQUEST_URI'], '/', 1))) . '/';
} }
} }
var_dump($baseUrl);
die();
$session = Wootook::getSession('install'); $session = Wootook::getSession('install');
$website = new Wootook_Core_Model_Website(); $website = new Wootook_Core_Model_Website();
@ -123,6 +127,7 @@ $configRewrites = array(
'web' => array( 'web' => array(
'url' => array( 'url' => array(
'base' => $baseUrl, 'base' => $baseUrl,
'link' => $baseUrl,
'skin' => $baseUrl . 'skin/', 'skin' => $baseUrl . 'skin/',
'js' => $baseUrl . 'js/', 'js' => $baseUrl . 'js/',
'css' => $baseUrl . 'css/' 'css' => $baseUrl . 'css/'
@ -131,7 +136,7 @@ $configRewrites = array(
'system' => array( 'system' => array(
'path' => array( 'path' => array(
'base' => ROOT_PATH, 'base' => ROOT_PATH,
'design' => ROOT_PATH . 'design' . DIRECTORY_SEPARATOR, 'design' => APPLICATION_PATH . 'design' . DIRECTORY_SEPARATOR,
'skin' => ROOT_PATH . 'skin' . DIRECTORY_SEPARATOR, 'skin' => ROOT_PATH . 'skin' . DIRECTORY_SEPARATOR,
) )
), ),
@ -176,10 +181,10 @@ if (is_array($config)) {
Wootook::loadConfig($configRewrites); Wootook::loadConfig($configRewrites);
} }
$layout = new Wootook_Core_Layout('install'); $layout = new Wootook_Core_Model_Layout('install');
$request = new Wootook_Core_Controller_Request_Http(); $request = new Wootook_Core_Mvc_Controller_Request_Http();
$response = new Wootook_Core_Controller_Response_Http(); $response = new Wootook_Core_Mvc_Controller_Response_Http();
switch ($mode) { switch ($mode) {
case 'intro': case 'intro':
@ -191,7 +196,7 @@ case 'intro':
case 'install': case 'install':
if ($step > $session->getData('step')) { if ($step > $session->getData('step')) {
$session->setData('step', 0); $session->setData('step', 0);
$response->setRedirect("?mode=intro", Wootook_Core_Controller_Response_Http::REDIRECT_TEMPORARY); $response->setRedirect("?mode=intro", Wootook_Core_Mvc_Controller_Response_Http::REDIRECT_TEMPORARY);
$response->sendHeaders(); $response->sendHeaders();
exit(0); exit(0);
} }
@ -321,7 +326,7 @@ case 'install':
$database = $request->getPost('dbname'); $database = $request->getPost('dbname');
$port = $request->getPost('port'); $port = $request->getPost('port');
$connection = new Wootook_Core_Database("mysql:dbname={$database};host={$hostname};port={$port}", $username, $password); $connection = new Wootook_Core_Database_Adapter_Pdo_Mysql("mysql:dbname={$database};host={$hostname};port={$port}", $username, $password);
$data['status'] = 'success'; $data['status'] = 'success';
} catch (PDOException $e) { } catch (PDOException $e) {
$data['status'] = 'error'; $data['status'] = 'error';

View file

@ -110,7 +110,7 @@ EOF;
} }
} }
$layout = new Wootook_Core_Layout(); $layout = new Wootook_Core_Model_Layout();
$layout->getMessagesBlock()->prepareMessages(Wootook_Player_Model_Entity::SESSION_KEY); $layout->getMessagesBlock()->prepareMessages(Wootook_Player_Model_Entity::SESSION_KEY);
$layout->load('lost-password'); $layout->load('lost-password');
echo $layout->render(); echo $layout->render();

View file

@ -71,14 +71,14 @@ if (isset($_POST) && !empty($_POST)) {/*
exit(0);*/ exit(0);*/
} else if ($action == 'rename') {/* } else if ($action == 'rename') {/*
die('a'); die('a');
$layout = new Wootook_Core_Layout(); $layout = new Wootook_Core_Model_Layout();
$layout->load('overview.rename-planet'); $layout->load('overview.rename-planet');
echo $layout->render(); echo $layout->render();
exit(0);*/ exit(0);*/
} else if ($action == 'destroy') {/* } else if ($action == 'destroy') {/*
die('a'); die('a');
$layout = new Wootook_Core_Layout(); $layout = new Wootook_Core_Model_Layout();
$layout->load('overview.destroy-planet'); $layout->load('overview.destroy-planet');
echo $layout->render(); echo $layout->render();
@ -88,7 +88,7 @@ if (isset($_POST) && !empty($_POST)) {/*
includeLang('resources'); includeLang('resources');
includeLang('overview'); includeLang('overview');
$layout = new Wootook_Core_Layout(); $layout = new Wootook_Core_Model_Layout();
$layout->load('overview'); $layout->load('overview');
if ($user->getId()) { if ($user->getId()) {
@ -289,7 +289,7 @@ if ($user->getId()) {
$latestPlayerStatement = $user->getReadConnection()->prepare("SELECT user.username AS `latest_player` FROM {$user->getReadConnection()->getTable('users')} AS user WHERE user.authlevel IN({$displayedPlayerLevels}) ORDER BY user.`register_time` DESC LIMIT 1"); $latestPlayerStatement = $user->getReadConnection()->prepare("SELECT user.username AS `latest_player` FROM {$user->getReadConnection()->getTable('users')} AS user WHERE user.authlevel IN({$displayedPlayerLevels}) ORDER BY user.`register_time` DESC LIMIT 1");
$latestPlayerStatement->execute(); $latestPlayerStatement->execute();
$latestPlayer = $latestPlayerStatement->fetch(Wootook_Core_Database::FETCH_COLUMN, 0); $latestPlayer = $latestPlayerStatement->fetch(Wootook_Core_Database_Adapter_Pdo_Mysql::FETCH_COLUMN, 0);
$collection = new Wootook_Player_Resource_Entity_Collection($user->getReadConnection()); $collection = new Wootook_Player_Resource_Entity_Collection($user->getReadConnection());
$collection->addAuthlevelToFilter(array(LEVEL_ADMIN), true); $collection->addAuthlevelToFilter(array(LEVEL_ADMIN), true);

View file

@ -65,7 +65,7 @@ if (!empty($_POST) && isset($_POST['username']) && isset($_POST['planet_name'])
exit(0); exit(0);
} }
$layout = new Wootook_Core_Layout(); $layout = new Wootook_Core_Model_Layout();
$layout->load('registration'); $layout->load('registration');
$block = $layout->getBlock('registration'); $block = $layout->getBlock('registration');

View file

@ -76,9 +76,9 @@ function BuildRessourcePage($CurrentUser, $CurrentPlanet ) {
$parse['resource_row'] = ""; $parse['resource_row'] = "";
$BuildTemp = $CurrentPlanet[ 'temp_max' ]; $BuildTemp = $CurrentPlanet[ 'temp_max' ];
$types = Wootook_Empire_Model_Game_Types::getSingleton(); $types = Wootook_Empire_Helper_Config_Types::getSingleton();
$productions = Wootook_Empire_Model_Game_Production::getSingleton(); $productions = Wootook_Empire_Helper_Config_Production::getSingleton();
$fields = Wootook_Empire_Model_Game_FieldsAlias::getSingleton(); $fields = Wootook_Empire_Helper_Config_FieldsAlias::getSingleton();
foreach ($types['prod'] as $element) { foreach ($types['prod'] as $element) {
// $ProdID => $element // $ProdID => $element
// $ProdGrid => $productions // $ProdGrid => $productions

View file

@ -61,7 +61,7 @@ $textColor = array(
Wootook_Core_Model_Image_Png::COLOR_BLUE => 0xEF Wootook_Core_Model_Image_Png::COLOR_BLUE => 0xEF
); );
$db = Wootook_Core_Database::getSingleton(); $db = Wootook_Core_Database_ConnectionManager::getSingleton()->getConnection(Wootook_Core_Database_ConnectionManager::DEFAULT_CONNECTION_NAME);
$sql = <<<EOF $sql = <<<EOF
SELECT SELECT
users.username AS username, users.username AS username,