From 5b9c1d32f10e29b711442e1695565bb7a0efb083 Mon Sep 17 00:00:00 2001 From: Dmitry Khomutov Date: Wed, 20 Apr 2016 16:30:26 +0600 Subject: [PATCH] Code style fixes --- app/loggerconfig.example.php | 12 +- app/phinx.php | 29 +- app/pluginconfig.example.php | 4 +- bootstrap.php | 8 +- src/B8Framework/Cache.php | 36 +- src/B8Framework/Cache/ApcCache.php | 2 +- src/B8Framework/Cache/RequestCache.php | 106 ++-- src/B8Framework/Config.php | 2 +- src/B8Framework/Controller.php | 173 +++--- src/B8Framework/Controller/RestController.php | 378 ++++++------- src/B8Framework/Database.php | 236 ++++---- src/B8Framework/HttpClient.php | 273 +++++---- src/B8Framework/Image.php | 16 +- src/B8Framework/Model.php | 301 +++++----- src/B8Framework/Store.php | 525 ++++++++---------- src/B8Framework/View.php | 118 ++-- 16 files changed, 1039 insertions(+), 1180 deletions(-) diff --git a/app/loggerconfig.example.php b/app/loggerconfig.example.php index cb415e4d..733856b1 100644 --- a/app/loggerconfig.example.php +++ b/app/loggerconfig.example.php @@ -8,17 +8,17 @@ * @link https://www.phptesting.org/ */ -return array( +return [ /** Loggers attached to every command */ "_" => function() { - return array( + return [ new \Monolog\Handler\StreamHandler(__DIR__ . DIRECTORY_SEPARATOR . 'errors.log', \Monolog\Logger::ERROR), - ); + ]; }, /** Loggers for the RunCommand */ 'RunCommand' => function() { - return array( + return [ new \Monolog\Handler\RotatingFileHandler(__DIR__ . DIRECTORY_SEPARATOR . 'everything', 3, \Monolog\Logger::DEBUG), - ); + ]; }, -); +]; diff --git a/app/phinx.php b/app/phinx.php index 2f0c3cf4..2bbe52f2 100644 --- a/app/phinx.php +++ b/app/phinx.php @@ -13,25 +13,24 @@ require_once(dirname(__FILE__) . '../bootstrap.php'); $writeServers = $config->get('b8.database.servers.write'); if (!is_array($writeServers)) { - $writeServers = array($writeServers); + $writeServers = [$writeServers]; } -$conf = array( - 'paths' => array( +$conf = [ + 'paths' => [ 'migrations' => 'PHPCI/Migrations', - ), - - 'environments' => array( + ], + 'environments' => [ 'default_migration_table' => 'migration', - 'default_database' => 'phpci', - 'phpci' => array( + 'default_database' => 'phpci', + 'phpci' => [ 'adapter' => 'mysql', - 'host' => end($writeServers), - 'name' => $config->get('b8.database.name'), - 'user' => $config->get('b8.database.username'), - 'pass' => $config->get('b8.database.password'), - ), - ), -); + 'host' => end($writeServers), + 'name' => $config->get('b8.database.name'), + 'user' => $config->get('b8.database.username'), + 'pass' => $config->get('b8.database.password'), + ], + ], +]; return $conf; diff --git a/app/pluginconfig.example.php b/app/pluginconfig.example.php index e34dd07e..ac5f7724 100644 --- a/app/pluginconfig.example.php +++ b/app/pluginconfig.example.php @@ -4,10 +4,10 @@ return function (PHPCI\Plugin\Util\Factory $factory) { $factory->registerResource( // This function will be called when the resource is needed. function() { - return array( + return [ 'Foo' => "Stuff", 'Bar' => "More Stuff" - ); + ]; }, // In addition to the function for building the resource the system diff --git a/bootstrap.php b/bootstrap.php index e4831b44..059db5b3 100644 --- a/bootstrap.php +++ b/bootstrap.php @@ -51,11 +51,11 @@ if (defined('PHPCI_IS_CONSOLE') && PHPCI_IS_CONSOLE) { } // Load configuration if present: -$conf = array(); -$conf['b8']['app']['namespace'] = 'PHPCI'; +$conf = []; +$conf['b8']['app']['namespace'] = 'PHPCI'; $conf['b8']['app']['default_controller'] = 'Home'; -$conf['b8']['view']['path'] = dirname(__FILE__) . '/src/PHPCI/View/'; -$conf['using_custom_file'] = $usingCustomConfigFile; +$conf['b8']['view']['path'] = dirname(__FILE__) . '/src/PHPCI/View/'; +$conf['using_custom_file'] = $usingCustomConfigFile; $config = new b8\Config($conf); diff --git a/src/B8Framework/Cache.php b/src/B8Framework/Cache.php index d076374e..078f1a52 100755 --- a/src/B8Framework/Cache.php +++ b/src/B8Framework/Cache.php @@ -9,21 +9,25 @@ namespace b8; class Cache { - const TYPE_APC = 'ApcCache'; - const TYPE_REQUEST = 'RequestCache'; + const TYPE_APC = 'ApcCache'; + const TYPE_REQUEST = 'RequestCache'; - protected static $instance = array(); + protected static $instance = []; - /** - * Get a cache object of a specified type. - */ - public static function getCache($type = self::TYPE_REQUEST) - { - if (!isset(self::$instance[$type])) { - $class = '\\b8\\Cache\\' . $type; - self::$instance[$type] = new $class(); - } - - return self::$instance[$type]; - } -} \ No newline at end of file + /** + * Get a cache object of a specified type. + * + * @param string $type + * + * @return mixed + */ + public static function getCache($type = self::TYPE_REQUEST) + { + if (!isset(self::$instance[$type])) { + $class = '\\b8\\Cache\\' . $type; + self::$instance[$type] = new $class(); + } + + return self::$instance[$type]; + } +} diff --git a/src/B8Framework/Cache/ApcCache.php b/src/B8Framework/Cache/ApcCache.php index 2c175252..68e048bb 100755 --- a/src/B8Framework/Cache/ApcCache.php +++ b/src/B8Framework/Cache/ApcCache.php @@ -16,7 +16,7 @@ class ApcCache implements Type\Cache $rtn = false; $apcCli = ini_get('apc.enable_cli'); - if (function_exists('apc_fetch') && (php_sapi_name() != 'cli' || in_array($apcCli, array('1', 1, true, 'On')))) { + if (function_exists('apc_fetch') && (php_sapi_name() != 'cli' || in_array($apcCli, ['1', 1, true, 'On']))) { $rtn = true; } diff --git a/src/B8Framework/Cache/RequestCache.php b/src/B8Framework/Cache/RequestCache.php index d8ed3035..5d63b465 100755 --- a/src/B8Framework/Cache/RequestCache.php +++ b/src/B8Framework/Cache/RequestCache.php @@ -6,85 +6,85 @@ use b8\Type; class RequestCache implements Type\Cache { - protected $data = array(); + protected $data = []; - /** - * Check if caching is enabled. - */ - public function isEnabled() - { - return true; - } + /** + * Check if caching is enabled. + */ + public function isEnabled() + { + return true; + } - /** - * Get item from the cache: - */ - public function get($key, $default = null) - { - return $this->contains($key) ? $this->data[$key] : $default; - } + /** + * Get item from the cache: + */ + public function get($key, $default = null) + { + return $this->contains($key) ? $this->data[$key] : $default; + } - /** - * Add an item to the cache: - */ - public function set($key, $value = null, $ttl = 0) - { - $this->data[$key] = $value; + /** + * Add an item to the cache: + */ + public function set($key, $value = null, $ttl = 0) + { + $this->data[$key] = $value; - return $this; - } + return $this; + } - /** - * Remove an item from the cache: - */ - public function delete($key) - { - if ($this->contains($key)) { - unset($this->data[$key]); - } - - return $this; - } + /** + * Remove an item from the cache: + */ + public function delete($key) + { + if ($this->contains($key)) { + unset($this->data[$key]); + } - /** - * Check if an item is in the cache: - */ - public function contains($key) - { - return array_key_exists($key, $this->data); - } + return $this; + } - /** - * Short-hand syntax for get() - * @see Config::get() - */ + /** + * Check if an item is in the cache: + */ + public function contains($key) + { + return array_key_exists($key, $this->data); + } + + /** + * Short-hand syntax for get() + * @see Config::get() + */ public function __get($key) { return $this->get($key, null); } /** - * Short-hand syntax for set() - * @see Config::set() - */ + * Short-hand syntax for set() + * @see Config::set() + */ public function __set($key, $value = null) { return $this->set($key, $value); } /** - * Is set - */ + * Is set + */ public function __isset($key) { return $this->contains($key); } /** - * Unset - */ + * Unset + */ public function __unset($key) { $this->delete($key); } -} \ No newline at end of file +} diff --git a/src/B8Framework/Config.php b/src/B8Framework/Config.php index b4bd080c..bbd83f51 100755 --- a/src/B8Framework/Config.php +++ b/src/B8Framework/Config.php @@ -20,7 +20,7 @@ class Config /** * @var array */ - protected $config = array(); + protected $config = []; public function __construct($settings = null) { diff --git a/src/B8Framework/Controller.php b/src/B8Framework/Controller.php index 477f6e7e..ac9e2171 100755 --- a/src/B8Framework/Controller.php +++ b/src/B8Framework/Controller.php @@ -2,7 +2,6 @@ namespace b8; -use b8\Config; use b8\Http\Request; use b8\Http\Response; use b8\View; @@ -13,104 +12,104 @@ use b8\View; */ abstract class Controller { - /** - * @var Request - */ - protected $request; + /** + * @var Request + */ + protected $request; - /** - * @var Response - */ - protected $response; + /** + * @var Response + */ + protected $response; - /** - * @var Config - */ - protected $config; + /** + * @var Config + */ + protected $config; - /** - * @var View - */ - protected $controllerView; + /** + * @var View + */ + protected $controllerView; - /** - * @var View - */ - protected $view; + /** + * @var View + */ + protected $view; - public function __construct(Config $config, Request $request, Response $response) - { - $this->config = $config; - $this->request = $request; - $this->response = $response; - } + public function __construct(Config $config, Request $request, Response $response) + { + $this->config = $config; + $this->request = $request; + $this->response = $response; + } - public function hasAction($name) - { - if (method_exists($this, $name)) { - return true; - } + public function hasAction($name) + { + if (method_exists($this, $name)) { + return true; + } - if (method_exists($this, '__call')) { - return true; - } + if (method_exists($this, '__call')) { + return true; + } - return false; - } + return false; + } - /** - * Handles an action on this controller and returns a Response object. - * @return Response - */ - public function handleAction($action, $actionParams) - { - return call_user_func_array(array($this, $action), $actionParams); - } + /** + * Handles an action on this controller and returns a Response object. + * @return Response + */ + public function handleAction($action, $actionParams) + { + return call_user_func_array([$this, $action], $actionParams); + } - /** - * Initialise the controller. - */ - abstract public function init(); + /** + * Initialise the controller. + */ + abstract public function init(); - /** - * Get a hash of incoming request parameters ($_GET, $_POST) - * - * @return array - */ - public function getParams() - { - return $this->request->getParams(); - } + /** + * Get a hash of incoming request parameters ($_GET, $_POST) + * + * @return array + */ + public function getParams() + { + return $this->request->getParams(); + } - /** - * Get a specific incoming request parameter. - * - * @param $key - * @param mixed $default Default return value (if key does not exist) - * - * @return mixed - */ - public function getParam($key, $default = null) - { - return $this->request->getParam($key, $default); - } + /** + * Get a specific incoming request parameter. + * + * @param $key + * @param mixed $default Default return value (if key does not exist) + * + * @return mixed + */ + public function getParam($key, $default = null) + { + return $this->request->getParam($key, $default); + } - /** - * Change the value of an incoming request parameter. - * @param $key - * @param $value - */ - public function setParam($key, $value) - { - return $this->request->setParam($key, $value); - } + /** + * Change the value of an incoming request parameter. + * @param $key + * @param $value + */ + public function setParam($key, $value) + { + return $this->request->setParam($key, $value); + } - /** - * Remove an incoming request parameter. - * @param $key - */ - public function unsetParam($key) - { - return $this->request->unsetParam($key); - } + /** + * Remove an incoming request parameter. + * @param $key + */ + public function unsetParam($key) + { + return $this->request->unsetParam($key); + } } diff --git a/src/B8Framework/Controller/RestController.php b/src/B8Framework/Controller/RestController.php index 93b61925..2164e4a3 100755 --- a/src/B8Framework/Controller/RestController.php +++ b/src/B8Framework/Controller/RestController.php @@ -1,246 +1,224 @@ response->setContent($response); + public function handleAction($action, $actionParams) + { + $response = call_user_func_array([$this, $action], $actionParams); + $this->response->setContent($response); - return $this->response; - } + return $this->response; + } - public function setActiveUser(RestUser $user) - { - $this->activeUser = $user; - } + public function setActiveUser(RestUser $user) + { + $this->activeUser = $user; + } - public function getActiveUser() - { - return $this->activeUser; - } + public function getActiveUser() + { + return $this->activeUser; + } - public function index() - { - if(!$this->activeUser->checkPermission('canRead', $this->_resourceName)) - { - throw new HttpException\ForbiddenException('You do not have permission do this.'); - } + public function index() + { + if (!$this->activeUser->checkPermission('canRead', $this->_resourceName)) { + throw new HttpException\ForbiddenException('You do not have permission do this.'); + } - $this->where = $this->_parseWhere(); - $this->limit = is_null($this->limit) ? $this->getParam('limit', 25) : $this->limit; - $this->offset = is_null($this->offset) ? $this->getParam('offset', 0) : $this->offset; - $this->order = is_null($this->order) || !count($this->order) ? $this->getParam('order', array()) : $this->order; - $this->group = is_null($this->group) || !count($this->group) ? $this->getParam('group', null) : $this->group; - $this->searchType = $this->getParam('searchType', self::SEARCHTYPE_AND); + $this->where = $this->_parseWhere(); + $this->limit = is_null($this->limit) ? $this->getParam('limit', 25) : $this->limit; + $this->offset = is_null($this->offset) ? $this->getParam('offset', 0) : $this->offset; + $this->order = is_null($this->order) || !count($this->order) ? $this->getParam('order', []) : $this->order; + $this->group = is_null($this->group) || !count($this->group) ? $this->getParam('group', null) : $this->group; + $this->searchType = $this->getParam('searchType', self::SEARCHTYPE_AND); - $store = Factory::getStore($this->_modelName); - $data = $store->getWhere($this->where, $this->limit, $this->offset, $this->joins, $this->order, $this->manualJoins, $this->group, $this->manualWheres, $this->searchType); + $store = Factory::getStore($this->_modelName); + $data = $store->getWhere($this->where, $this->limit, $this->offset, $this->joins, $this->order, + $this->manualJoins, $this->group, $this->manualWheres, $this->searchType); - $rtn = array( - 'debug' => array( - 'where' => $this->where, - 'searchType' => $this->searchType, - ), - 'limit' => $this->limit, - 'offset' => $this->offset, - 'total' => $data['count'], - 'items' => array() - ); + $rtn = [ + 'debug' => [ + 'where' => $this->where, + 'searchType' => $this->searchType, + ], + 'limit' => $this->limit, + 'offset' => $this->offset, + 'total' => $data['count'], + 'items' => [] + ]; - foreach($data['items'] as $item) - { - $rtn['items'][] = $item->toArray($this->arrayDepth); - } + foreach ($data['items'] as $item) { + $rtn['items'][] = $item->toArray($this->arrayDepth); + } - return $rtn; - } + return $rtn; + } - /** - * - */ - protected function _parseWhere() - { - $clauses = array( - 'fuzzy' => 'like', - 'gt' => '>', - 'gte' => '>=', - 'lt' => '<', - 'lte' => '<=', - 'neq' => '!=', - 'between' => 'between' - ); + /** + * + */ + protected function _parseWhere() + { + $clauses = [ + 'fuzzy' => 'like', + 'gt' => '>', + 'gte' => '>=', + 'lt' => '<', + 'lte' => '<=', + 'neq' => '!=', + 'between' => 'between', + ]; - $where = $this->getParam('where', array()); - $where = array_merge($where, $this->where); + $where = $this->getParam('where', []); + $where = array_merge($where, $this->where); - if(count($where)) - { - foreach($where as &$value) - { - if(!is_array($value) || !isset($value['operator'])) - { - if(is_array($value) && count($value) == 1) - { - $value = array_shift($value); - } + if (count($where)) { + foreach ($where as &$value) { + if (!is_array($value) || !isset($value['operator'])) { + if (is_array($value) && count($value) == 1) { + $value = array_shift($value); + } - $value = array( - 'operator' => '=', - 'value' => $value - ); - } - } + $value = [ + 'operator' => '=', + 'value' => $value, + ]; + } + } - foreach($clauses as $clause => $operator) - { - $fields = $this->getParam($clause, array()); + foreach ($clauses as $clause => $operator) { + $fields = $this->getParam($clause, []); - if(count($clause)) - { - if(!is_array($fields)) - { - $fields = array($fields); - } - foreach($fields as $field) - { - if(isset($where[$field])) - { - $where[$field]['operator'] = $operator; - if($operator == 'like') - { - $where[$field]['value'] = str_replace(' ', '%', $where[$field]['value']); - } - } - } - } - } - } + if (count($clause)) { + if (!is_array($fields)) { + $fields = [$fields]; + } + foreach ($fields as $field) { + if (isset($where[$field])) { + $where[$field]['operator'] = $operator; + if ($operator == 'like') { + $where[$field]['value'] = str_replace(' ', '%', $where[$field]['value']); + } + } + } + } + } + } - return $where; - } + return $where; + } - public function get($key) - { - if(!$this->activeUser->checkPermission('canRead', $this->_resourceName)) - { - throw new HttpException\ForbiddenException('You do not have permission do this.'); - } + public function get($key) + { + if (!$this->activeUser->checkPermission('canRead', $this->_resourceName)) { + throw new HttpException\ForbiddenException('You do not have permission do this.'); + } - $rtn = Factory::getStore($this->_modelName)->getByPrimaryKey($key); + $rtn = Factory::getStore($this->_modelName)->getByPrimaryKey($key); - if(is_object($rtn) && method_exists($rtn, 'toArray')) - { - $rtn = $rtn->toArray($this->arrayDepth); - } + if (is_object($rtn) && method_exists($rtn, 'toArray')) { + $rtn = $rtn->toArray($this->arrayDepth); + } - return array(strtolower($this->_modelName) => $rtn); - } + return [strtolower($this->_modelName) => $rtn]; + } - public function put($key) - { - if(!$this->activeUser->checkPermission('canEdit', $this->_resourceName)) - { - throw new HttpException\ForbiddenException('You do not have permission do this.'); - } + public function put($key) + { + if (!$this->activeUser->checkPermission('canEdit', $this->_resourceName)) { + throw new HttpException\ForbiddenException('You do not have permission do this.'); + } - $store = Factory::getStore($this->_modelName); + $store = Factory::getStore($this->_modelName); - if($obj = $store->getByPrimaryKey($key)) - { - $obj->setValues($this->getParams()); - $rtn = $store->save($obj); + if ($obj = $store->getByPrimaryKey($key)) { + $obj->setValues($this->getParams()); + $rtn = $store->save($obj); - return array(strtolower($this->_modelName) => $rtn->toArray($this->arrayDepth)); - } - else - { - return null; - } - } + return [strtolower($this->_modelName) => $rtn->toArray($this->arrayDepth)]; + } else { + return null; + } + } - public function post() - { - if(!$this->activeUser->checkPermission('canCreate', $this->_resourceName)) - { - throw new HttpException\ForbiddenException('You do not have permission do this.'); - } + public function post() + { + if (!$this->activeUser->checkPermission('canCreate', $this->_resourceName)) { + throw new HttpException\ForbiddenException('You do not have permission do this.'); + } - $store = Factory::getStore($this->_modelName); + $store = Factory::getStore($this->_modelName); - $modelClass = $this->_modelClass; - $obj = new $modelClass(); - $obj->setValues($this->getParams()); - $rtn = $store->save($obj); + $modelClass = $this->_modelClass; + $obj = new $modelClass(); + $obj->setValues($this->getParams()); + $rtn = $store->save($obj); - return array(strtolower($this->_modelName) => $rtn->toArray($this->arrayDepth)); - } + return [strtolower($this->_modelName) => $rtn->toArray($this->arrayDepth)]; + } - public function delete($key) - { - if(!$this->activeUser->checkPermission('canDelete', $this->_resourceName)) - { - throw new HttpException\ForbiddenException('You do not have permission do this.'); - } + public function delete($key) + { + if (!$this->activeUser->checkPermission('canDelete', $this->_resourceName)) { + throw new HttpException\ForbiddenException('You do not have permission do this.'); + } - $store = Factory::getStore($this->_modelName); + $store = Factory::getStore($this->_modelName); - try - { - if($obj = $store->getByPrimaryKey($key)) - { - $store->delete($obj); - return array('deleted' => true); - } - } - catch(\Exception $ex) - { - } + try { + if ($obj = $store->getByPrimaryKey($key)) { + $store->delete($obj); + return ['deleted' => true]; + } + } catch (\Exception $ex) { + } - return array('deleted' => false); - } + return ['deleted' => false]; + } } \ No newline at end of file diff --git a/src/B8Framework/Database.php b/src/B8Framework/Database.php index 140e97c3..43cb2d88 100755 --- a/src/B8Framework/Database.php +++ b/src/B8Framework/Database.php @@ -4,148 +4,142 @@ namespace b8; class Database extends \PDO { - protected static $initialised = false; - protected static $servers = array('read' => array(), 'write' => array()); - protected static $connections = array('read' => null, 'write' => null); - protected static $details = array(); - protected static $lastUsed = array('read' => null, 'write' => null); + protected static $initialised = false; + protected static $servers = ['read' => [], 'write' => []]; + protected static $connections = ['read' => null, 'write' => null]; + protected static $details = []; + protected static $lastUsed = ['read' => null, 'write' => null]; - /** - * @deprecated - */ - public static function setReadServers($read) - { - $config = Config::getInstance(); + /** + * @deprecated + */ + public static function setReadServers($read) + { + $config = Config::getInstance(); - $settings = $config->get('b8.database', array()); - $settings['servers']['read'] = $read; - $config->set('b8.database', $settings); - } + $settings = $config->get('b8.database', []); + $settings['servers']['read'] = $read; + $config->set('b8.database', $settings); + } - /** - * @deprecated - */ - public static function setWriteServers($write) - { - $config = Config::getInstance(); + /** + * @deprecated + */ + public static function setWriteServers($write) + { + $config = Config::getInstance(); - $settings = $config->get('b8.database', array()); - $settings['servers']['write'] = $write; - $config->set('b8.database', $settings); - } + $settings = $config->get('b8.database', []); + $settings['servers']['write'] = $write; + $config->set('b8.database', $settings); + } - /** - * @deprecated - */ - public static function setDetails($database, $username, $password) - { - $config = Config::getInstance(); - $settings = $config->get('b8.database', array()); - $settings['name'] = $database; - $settings['username'] = $username; - $settings['password'] = $password; - $config->set('b8.database', $settings); - } + /** + * @deprecated + */ + public static function setDetails($database, $username, $password) + { + $config = Config::getInstance(); + $settings = $config->get('b8.database', []); + $settings['name'] = $database; + $settings['username'] = $username; + $settings['password'] = $password; + $config->set('b8.database', $settings); + } - protected static function init() - { - $config = Config::getInstance(); - $settings = $config->get('b8.database', array()); - self::$servers['read'] = $settings['servers']['read']; - self::$servers['write'] = $settings['servers']['write']; - self::$details['db'] = $settings['name']; - self::$details['user'] = $settings['username']; - self::$details['pass'] = $settings['password']; - self::$initialised = true; - } + protected static function init() + { + $config = Config::getInstance(); + $settings = $config->get('b8.database', []); + self::$servers['read'] = $settings['servers']['read']; + self::$servers['write'] = $settings['servers']['write']; + self::$details['db'] = $settings['name']; + self::$details['user'] = $settings['username']; + self::$details['pass'] = $settings['password']; + self::$initialised = true; + } - /** - * @param string $type - * - * @return \b8\Database - * @throws \Exception - */ - public static function getConnection($type = 'read') - { - if (!self::$initialised) { - self::init(); - } + /** + * @param string $type + * + * @return \b8\Database + * @throws \Exception + */ + public static function getConnection($type = 'read') + { + if (!self::$initialised) { + self::init(); + } - // If the connection hasn't been used for 5 minutes, force a reconnection: - if (!is_null(self::$lastUsed[$type]) && (time() - self::$lastUsed[$type]) > 300) { - self::$connections[$type] = null; - } + // If the connection hasn't been used for 5 minutes, force a reconnection: + if (!is_null(self::$lastUsed[$type]) && (time() - self::$lastUsed[$type]) > 300) { + self::$connections[$type] = null; + } - if(is_null(self::$connections[$type])) { - if (is_array(self::$servers[$type])) { - // Shuffle, so we pick a random server: - $servers = self::$servers[$type]; - shuffle($servers); - } else { - // Only one server was specified - $servers = array(self::$servers[$type]); - } + if (is_null(self::$connections[$type])) { + if (is_array(self::$servers[$type])) { + // Shuffle, so we pick a random server: + $servers = self::$servers[$type]; + shuffle($servers); + } else { + // Only one server was specified + $servers = [self::$servers[$type]]; + } - $connection = null; + $connection = null; - // Loop until we get a working connection: - while(count($servers)) - { - // Pull the next server: - $server = array_shift($servers); + // Loop until we get a working connection: + while (count($servers)) { + // Pull the next server: + $server = array_shift($servers); - if (stristr($server, ':')) { - list($host, $port) = explode(':', $server); - $server = $host . ';port=' . $port; - } + if (stristr($server, ':')) { + list($host, $port) = explode(':', $server); + $server = $host . ';port=' . $port; + } - // Try to connect: - try - { - $connection = new self('mysql:host=' . $server . ';dbname=' . self::$details['db'], - self::$details['user'], - self::$details['pass'], - array( - \PDO::ATTR_PERSISTENT => false, - \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION, - \PDO::ATTR_TIMEOUT => 2, - \PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'', - )); - } - catch(\PDOException $ex) - { - $connection = false; - } + // Try to connect: + try { + $connection = new self('mysql:host=' . $server . ';dbname=' . self::$details['db'], + self::$details['user'], + self::$details['pass'], + [ + \PDO::ATTR_PERSISTENT => false, + \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION, + \PDO::ATTR_TIMEOUT => 2, + \PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'', + ]); + } catch (\PDOException $ex) { + $connection = false; + } - // Opened a connection? Break the loop: - if($connection) - { - break; - } - } + // Opened a connection? Break the loop: + if ($connection) { + break; + } + } - // No connection? Oh dear. - if(!$connection && $type == 'read') - { - throw new \Exception('Could not connect to any ' . $type . ' servers.'); - } + // No connection? Oh dear. + if (!$connection && $type == 'read') { + throw new \Exception('Could not connect to any ' . $type . ' servers.'); + } - self::$connections[$type] = $connection; - } + self::$connections[$type] = $connection; + } - self::$lastUsed[$type] = time(); - return self::$connections[$type]; - } + self::$lastUsed[$type] = time(); + return self::$connections[$type]; + } - public function getDetails() - { - return self::$details; - } + public function getDetails() + { + return self::$details; + } public static function reset() { - self::$connections = array('read' => null, 'write' => null); - self::$lastUsed = array('read' => null, 'write' => null); + self::$connections = ['read' => null, 'write' => null]; + self::$lastUsed = ['read' => null, 'write' => null]; self::$initialised = false; } } diff --git a/src/B8Framework/HttpClient.php b/src/B8Framework/HttpClient.php index befec086..402fe1f4 100755 --- a/src/B8Framework/HttpClient.php +++ b/src/B8Framework/HttpClient.php @@ -4,185 +4,164 @@ namespace b8; class HttpClient { - protected $_base = ''; - protected $_params = array(); - protected $_headers = array(); + protected $_base = ''; + protected $_params = []; + protected $_headers = []; - public function __construct($base = null) - { - $settings = Config::getInstance()->get('b8.http.client', array('base_url' => '', 'params' => array())); - $this->_base = $settings['base_url']; - $this->_params = isset($settings['params']) && is_array($settings['params']) ? $settings['params'] : array(); - $this->_headers = array('Content-Type: application/x-www-form-urlencoded'); + public function __construct($base = null) + { + $settings = Config::getInstance()->get('b8.http.client', ['base_url' => '', 'params' => []]); + $this->_base = $settings['base_url']; + $this->_params = isset($settings['params']) && is_array($settings['params']) ? $settings['params'] : []; + $this->_headers = ['Content-Type: application/x-www-form-urlencoded']; - if(!is_null($base)) - { - $this->_base = $base; - } - } + if (!is_null($base)) { + $this->_base = $base; + } + } - public function setHeaders(array $headers) - { - $this->_headers = $headers; - } + public function setHeaders(array $headers) + { + $this->_headers = $headers; + } - public function request($method, $uri, $params = array()) - { - // Clean incoming: - $method = strtoupper($method); - $getParams = $this->_params; + public function request($method, $uri, $params = []) + { + // Clean incoming: + $method = strtoupper($method); + $getParams = $this->_params; - if($method == 'GET' || $method == 'DELETE') - { - $getParams = array_merge($getParams, $params); - } - else - { - $bodyParams = is_array($params) ? http_build_query($params) : $params; - } + if ($method == 'GET' || $method == 'DELETE') { + $getParams = array_merge($getParams, $params); + } else { + $bodyParams = is_array($params) ? http_build_query($params) : $params; + } - $getParams = http_build_query($getParams); + $getParams = http_build_query($getParams); - if(substr($uri, 0, 1) != '/' && !empty($this->_base)) - { - $uri = '/' . $uri; - } + if (substr($uri, 0, 1) != '/' && !empty($this->_base)) { + $uri = '/' . $uri; + } - // Build HTTP context array: - $context = array(); - $context['http']['user_agent'] = 'b8/1.0'; - $context['http']['timeout'] = 30; - $context['http']['method'] = $method; - $context['http']['ignore_errors'] = true; - $context['http']['header'] = implode(PHP_EOL, $this->_headers); + // Build HTTP context array: + $context = []; + $context['http']['user_agent'] = 'b8/1.0'; + $context['http']['timeout'] = 30; + $context['http']['method'] = $method; + $context['http']['ignore_errors'] = true; + $context['http']['header'] = implode(PHP_EOL, $this->_headers); - if(in_array($method, array('PUT', 'POST'))) - { - $context['http']['content'] = $bodyParams; - } + if (in_array($method, ['PUT', 'POST'])) { + $context['http']['content'] = $bodyParams; + } - $uri .= '?' . $getParams; + $uri .= '?' . $getParams; - $context = stream_context_create($context); - $result = file_get_contents($this->_base . $uri, false, $context); + $context = stream_context_create($context); + $result = file_get_contents($this->_base . $uri, false, $context); - $res = array(); - $res['headers'] = $http_response_header; - $res['code'] = (int)preg_replace('/HTTP\/1\.[0-1] ([0-9]+)/', '$1', $res['headers'][0]); - $res['success'] = false; - $res['body'] = $this->_decodeResponse($result); + $res = []; + $res['headers'] = $http_response_header; + $res['code'] = (int)preg_replace('/HTTP\/1\.[0-1] ([0-9]+)/', '$1', $res['headers'][0]); + $res['success'] = false; + $res['body'] = $this->_decodeResponse($result); - if($res['code'] >= 200 && $res['code'] < 300) - { - $res['success'] = true; - } + if ($res['code'] >= 200 && $res['code'] < 300) { + $res['success'] = true; + } - // Handle JSON responses: - foreach($res['headers'] as $header) - { - if(stripos($header, 'Content-Type') !== false || stripos($header, 'b8-Type') !== false) - { - if(stripos($header, 'application/json') !== false) - { - $res['text_body'] = $res['body']; - $res['body'] = json_decode($res['body'], true); - } - } - } + // Handle JSON responses: + foreach ($res['headers'] as $header) { + if (stripos($header, 'Content-Type') !== false || stripos($header, 'b8-Type') !== false) { + if (stripos($header, 'application/json') !== false) { + $res['text_body'] = $res['body']; + $res['body'] = json_decode($res['body'], true); + } + } + } - return $res; - } + return $res; + } - public function get($uri, $params = array()) - { - return $this->request('GET', $uri, $params); - } + public function get($uri, $params = []) + { + return $this->request('GET', $uri, $params); + } - public function put($uri, $params = array()) - { - return $this->request('PUT', $uri, $params); - } + public function put($uri, $params = []) + { + return $this->request('PUT', $uri, $params); + } - public function post($uri, $params = array()) - { - return $this->request('POST', $uri, $params); - } + public function post($uri, $params = []) + { + return $this->request('POST', $uri, $params); + } - public function delete($uri, $params = array()) - { - return $this->request('DELETE', $uri, $params); - } + public function delete($uri, $params = []) + { + return $this->request('DELETE', $uri, $params); + } - protected function _decodeResponse($originalResponse) - { - $response = $originalResponse; - $body = ''; + protected function _decodeResponse($originalResponse) + { + $response = $originalResponse; + $body = ''; - do - { - $line = $this->_readChunk($response); + do { + $line = $this->_readChunk($response); - if($line == PHP_EOL) - { - continue; - } + if ($line == PHP_EOL) { + continue; + } - $length = hexdec(trim($line)); + $length = hexdec(trim($line)); - if(!is_int($length) || empty($response) || $line === false || $length < 1) - { - break; - } + if (!is_int($length) || empty($response) || $line === false || $length < 1) { + break; + } - do - { - $data = $this->_readChunk($response, $length); + do { + $data = $this->_readChunk($response, $length); - // remove the amount received from the total length on the next loop - // it'll attempt to read that much less data - $length -= strlen($data); + // remove the amount received from the total length on the next loop + // it'll attempt to read that much less data + $length -= strlen($data); - // store in string for later use - $body .= $data; + // store in string for later use + $body .= $data; - // zero or less or end of connection break - if($length <= 0 || empty($response)) - { - break; - } - } - while(true); - } - while(true); + // zero or less or end of connection break + if ($length <= 0 || empty($response)) { + break; + } + } while (true); + } while (true); - if(empty($body)) - { - $body = $originalResponse; - } + if (empty($body)) { + $body = $originalResponse; + } - return $body; - } + return $body; + } - function _readChunk(&$string, $len = 4096) - { - $rtn = ''; - for($i = 0; $i <= $len; $i++) - { - if(empty($string)) - { - break; - } + function _readChunk(&$string, $len = 4096) + { + $rtn = ''; + for ($i = 0; $i <= $len; $i++) { + if (empty($string)) { + break; + } - $char = $string[0]; - $string = substr($string, 1); - $rtn .= $char; + $char = $string[0]; + $string = substr($string, 1); + $rtn .= $char; - if($char == PHP_EOL) - { - break; - } - } + if ($char == PHP_EOL) { + break; + } + } - return $rtn; - } + return $rtn; + } } \ No newline at end of file diff --git a/src/B8Framework/Image.php b/src/B8Framework/Image.php index cb9af178..d091c12a 100755 --- a/src/B8Framework/Image.php +++ b/src/B8Framework/Image.php @@ -53,7 +53,7 @@ class Image public function doRender($media, $width, $height, $format = 'jpeg') { - $focal = !empty($media['focal_point']) ? $media['focal_point'] : array(0, 0); + $focal = !empty($media['focal_point']) ? $media['focal_point'] : [0, 0]; $focalX = (int)$focal[0]; $focalY = (int)$focal[1]; @@ -136,13 +136,13 @@ class Image protected function _getQuadrants($x, $y) { - $rtn = array(); - $rtn['top_left'] = array(0, $x / 2, 0, $y / 3); - $rtn['top_right'] = array(($x / 2) + 1, $x, 0, $y / 3); - $rtn['middle_left'] = array(0, $y / 2, ($y / 3)+1, (($y / 3) * 2)); - $rtn['middle_right'] = array(($x / 2) + 1, $x, ($y / 3)+1, (($y / 3) * 2)); - $rtn['bottom_left'] = array(0, $y / 2, (($y / 3) * 2)+1, $y); - $rtn['bottom_right'] = array(($x / 2) + 1, $x, (($y / 3) * 2)+1, $y); + $rtn = []; + $rtn['top_left'] = [0, $x / 2, 0, $y / 3]; + $rtn['top_right'] = [($x / 2) + 1, $x, 0, $y / 3]; + $rtn['middle_left'] = [0, $y / 2, ($y / 3)+1, (($y / 3) * 2)]; + $rtn['middle_right'] = [($x / 2) + 1, $x, ($y / 3)+1, (($y / 3) * 2)]; + $rtn['bottom_left'] = [0, $y / 2, (($y / 3) * 2)+1, $y]; + $rtn['bottom_right'] = [($x / 2) + 1, $x, (($y / 3) * 2)+1, $y]; return $rtn; } diff --git a/src/B8Framework/Model.php b/src/B8Framework/Model.php index 618aafcf..01e7e07e 100755 --- a/src/B8Framework/Model.php +++ b/src/B8Framework/Model.php @@ -7,202 +7,173 @@ use b8\Cache; class Model { - public static $sleepable = array(); - protected $getters = array(); - protected $setters = array(); - protected $data = array(); - protected $modified = array(); - protected $tableName; - protected $cache; + public static $sleepable = []; + protected $getters = []; + protected $setters = []; + protected $data = []; + protected $modified = []; + protected $tableName; + protected $cache; - public function __construct($initialData = array()) - { - if(is_array($initialData)) - { - $this->data = array_merge($this->data, $initialData); - } + public function __construct($initialData = []) + { + if (is_array($initialData)) { + $this->data = array_merge($this->data, $initialData); + } - $this->cache = Cache::getCache(Cache::TYPE_REQUEST); - } + $this->cache = Cache::getCache(Cache::TYPE_REQUEST); + } - public function getTableName() - { - return $this->tableName; - } + public function getTableName() + { + return $this->tableName; + } - public function toArray($depth = 2, $currentDepth = 0) - { - if(isset(static::$sleepable) && is_array(static::$sleepable) && count(static::$sleepable)) - { - $sleepable = static::$sleepable; - } - else - { - $sleepable = array_keys($this->getters); - } + public function toArray($depth = 2, $currentDepth = 0) + { + if (isset(static::$sleepable) && is_array(static::$sleepable) && count(static::$sleepable)) { + $sleepable = static::$sleepable; + } else { + $sleepable = array_keys($this->getters); + } - $rtn = array(); - foreach($sleepable as $property) - { - $rtn[$property] = $this->_propertyToArray($property, $currentDepth, $depth); - } + $rtn = []; + foreach ($sleepable as $property) { + $rtn[$property] = $this->_propertyToArray($property, $currentDepth, $depth); + } - return $rtn; - } + return $rtn; + } - protected function _propertyToArray($property, $currentDepth, $depth) - { - $rtn = null; + protected function _propertyToArray($property, $currentDepth, $depth) + { + $rtn = null; - if(array_key_exists($property, $this->getters)) - { - $method = $this->getters[$property]; - $rtn = $this->{$method}(); + if (array_key_exists($property, $this->getters)) { + $method = $this->getters[$property]; + $rtn = $this->{$method}(); - if(is_object($rtn) || is_array($rtn)) - { - $rtn = ($depth > $currentDepth) ? $this->_valueToArray($rtn, $currentDepth, $depth) : null; - } - } + if (is_object($rtn) || is_array($rtn)) { + $rtn = ($depth > $currentDepth) ? $this->_valueToArray($rtn, $currentDepth, $depth) : null; + } + } - return $rtn; - } + return $rtn; + } - protected function _valueToArray($value, $currentDepth, $depth) - { - $rtn = null; - if(!is_null($value)) - { - if(is_object($value) && method_exists($value, 'toArray')) - { - $rtn = $value->toArray($depth, $currentDepth + 1); - } - elseif(is_array($value)) - { - $childArray = array(); + protected function _valueToArray($value, $currentDepth, $depth) + { + $rtn = null; + if (!is_null($value)) { + if (is_object($value) && method_exists($value, 'toArray')) { + $rtn = $value->toArray($depth, $currentDepth + 1); + } elseif (is_array($value)) { + $childArray = []; - foreach($value as $k => $v) - { - $childArray[$k] = $this->_valueToArray($v, $currentDepth + 1, $depth); - } + foreach ($value as $k => $v) { + $childArray[$k] = $this->_valueToArray($v, $currentDepth + 1, $depth); + } - $rtn = $childArray; - } - else - { - $rtn = (is_string($value) && !mb_check_encoding($value, 'UTF-8')) ? mb_convert_encoding($value, 'UTF-8') : $value; - } - } + $rtn = $childArray; + } else { + $rtn = (is_string($value) && !mb_check_encoding($value, 'UTF-8')) ? mb_convert_encoding($value, + 'UTF-8') : $value; + } + } - return $rtn; - } + return $rtn; + } - public function getDataArray() - { - return $this->data; - } + public function getDataArray() + { + return $this->data; + } - public function getModified() - { - return $this->modified; - } + public function getModified() + { + return $this->modified; + } - public function setValues(array $values) - { - foreach($values as $key => $value) - { - if(isset($this->setters[$key])) - { - $func = $this->setters[$key]; + public function setValues(array $values) + { + foreach ($values as $key => $value) { + if (isset($this->setters[$key])) { + $func = $this->setters[$key]; - if($value === 'null') - { - $value = null; - } - elseif($value === 'true') - { - $value = true; - } - elseif($value === 'false') - { - $value = false; - } + if ($value === 'null') { + $value = null; + } elseif ($value === 'true') { + $value = true; + } elseif ($value === 'false') { + $value = false; + } - $this->{$func}($value); - } - } - } + $this->{$func}($value); + } + } + } - protected function _setModified($column) - { - $this->modified[$column] = $column; - } + protected function _setModified($column) + { + $this->modified[$column] = $column; + } - //---------------- - // Validation - //---------------- - protected function _validateString($name, $value) - { - if(!is_string($value) && !is_null($value)) - { - throw new HttpException\ValidationException($name . ' must be a string.'); - } - } + //---------------- + // Validation + //---------------- + protected function _validateString($name, $value) + { + if (!is_string($value) && !is_null($value)) { + throw new HttpException\ValidationException($name . ' must be a string.'); + } + } - protected function _validateInt($name, &$value) - { - if(is_bool($value)) - { - $value = $value ? 1 : 0; - } + protected function _validateInt($name, &$value) + { + if (is_bool($value)) { + $value = $value ? 1 : 0; + } - if(!is_numeric($value) && !is_null($value)) - { - throw new HttpException\ValidationException($name . ' must be an integer.'); - } + if (!is_numeric($value) && !is_null($value)) { + throw new HttpException\ValidationException($name . ' must be an integer.'); + } - if(!is_int($value) && !is_null($value)) - { - $value = (int)$value; - } - } + if (!is_int($value) && !is_null($value)) { + $value = (int)$value; + } + } - protected function _validateFloat($name, &$value) - { - if(!is_numeric($value) && !is_null($value)) - { - throw new HttpException\ValidationException($name . ' must be a float.'); - } + protected function _validateFloat($name, &$value) + { + if (!is_numeric($value) && !is_null($value)) { + throw new HttpException\ValidationException($name . ' must be a float.'); + } - if(!is_float($value) && !is_null($value)) - { - $value = (float)$value; - } - } + if (!is_float($value) && !is_null($value)) { + $value = (float)$value; + } + } - protected function _validateDate($name, &$value) - { - if(is_string($value)) - { - $value = empty($value) ? null : new \DateTime($value); - } + protected function _validateDate($name, &$value) + { + if (is_string($value)) { + $value = empty($value) ? null : new \DateTime($value); + } - if((!is_object($value) || !($value instanceof \DateTime)) && !is_null($value)) - { - throw new HttpException\ValidationException($name . ' must be a date object.'); - } + if ((!is_object($value) || !($value instanceof \DateTime)) && !is_null($value)) { + throw new HttpException\ValidationException($name . ' must be a date object.'); + } - $value = empty($value) ? null : $value->format('Y-m-d H:i:s'); - } + $value = empty($value) ? null : $value->format('Y-m-d H:i:s'); + } - protected function _validateNotNull($name, &$value) - { - if(is_null($value)) - { - throw new HttpException\ValidationException($name . ' must not be null.'); - } - } + protected function _validateNotNull($name, &$value) + { + if (is_null($value)) { + throw new HttpException\ValidationException($name . ' must not be null.'); + } + } public function __get($key) { diff --git a/src/B8Framework/Store.php b/src/B8Framework/Store.php index 983bb569..5736aa69 100755 --- a/src/B8Framework/Store.php +++ b/src/B8Framework/Store.php @@ -1,272 +1,222 @@ tableName . '.* FROM ' . $this->tableName; - $countQuery = 'SELECT COUNT(*) AS cnt FROM ' . $this->tableName; + public function getWhere( + $where = [], + $limit = 25, + $offset = 0, + $joins = [], + $order = [], + $manualJoins = [], + $group = null, + $manualWheres = [], + $whereType = 'AND' + ) { + $query = 'SELECT ' . $this->tableName . '.* FROM ' . $this->tableName; + $countQuery = 'SELECT COUNT(*) AS cnt FROM ' . $this->tableName; - $wheres = array(); - $params = array(); - foreach($where as $key => $value) - { - $key = $this->fieldCheck($key); + $wheres = []; + $params = []; + foreach ($where as $key => $value) { + $key = $this->fieldCheck($key); - if(!is_array($value)) - { - $params[] = $value; - $wheres[] = $key . ' = ?'; - } - else - { - if(isset($value['operator'])) - { - if(is_array($value['value'])) - { - if($value['operator'] == 'between') - { - $params[] = $value['value'][0]; - $params[] = $value['value'][1]; - $wheres[] = $key . ' BETWEEN ? AND ?'; - } - elseif($value['operator'] == 'IN') - { - $in = array(); + if (!is_array($value)) { + $params[] = $value; + $wheres[] = $key . ' = ?'; + } else { + if (isset($value['operator'])) { + if (is_array($value['value'])) { + if ($value['operator'] == 'between') { + $params[] = $value['value'][0]; + $params[] = $value['value'][1]; + $wheres[] = $key . ' BETWEEN ? AND ?'; + } elseif ($value['operator'] == 'IN') { + $in = []; - foreach($value['value'] as $item) - { - $params[] = $item; - $in[] = '?'; - } + foreach ($value['value'] as $item) { + $params[] = $item; + $in[] = '?'; + } - $wheres[] = $key . ' IN (' . implode(', ', $in) . ') '; - } - else - { - $ors = array(); - foreach($value['value'] as $item) - { - if($item == 'null') - { - switch($value['operator']) - { - case '!=': - $ors[] = $key . ' IS NOT NULL'; - break; + $wheres[] = $key . ' IN (' . implode(', ', $in) . ') '; + } else { + $ors = []; + foreach ($value['value'] as $item) { + if ($item == 'null') { + switch ($value['operator']) { + case '!=': + $ors[] = $key . ' IS NOT NULL'; + break; - case '==': - default: - $ors[] = $key . ' IS NULL'; - break; - } - } - else - { - $params[] = $item; - $ors[] = $this->fieldCheck($key) . ' ' . $value['operator'] . ' ?'; - } - } - $wheres[] = '(' . implode(' OR ', $ors) . ')'; - } - } - else - { - if($value['operator'] == 'like') - { - $params[] = '%' . $value['value'] . '%'; - $wheres[] = $key . ' ' . $value['operator'] . ' ?'; - } - else - { - if($value['value'] === 'null') - { - switch($value['operator']) - { - case '!=': - $wheres[] = $key . ' IS NOT NULL'; - break; + case '==': + default: + $ors[] = $key . ' IS NULL'; + break; + } + } else { + $params[] = $item; + $ors[] = $this->fieldCheck($key) . ' ' . $value['operator'] . ' ?'; + } + } + $wheres[] = '(' . implode(' OR ', $ors) . ')'; + } + } else { + if ($value['operator'] == 'like') { + $params[] = '%' . $value['value'] . '%'; + $wheres[] = $key . ' ' . $value['operator'] . ' ?'; + } else { + if ($value['value'] === 'null') { + switch ($value['operator']) { + case '!=': + $wheres[] = $key . ' IS NOT NULL'; + break; - case '==': - default: - $wheres[] = $key . ' IS NULL'; - break; - } - } - else - { - $params[] = $value['value']; - $wheres[] = $key . ' ' . $value['operator'] . ' ?'; - } - } - } - } - else - { - $wheres[] = $key . ' IN (' . implode(', ', array_map(array(Database::getConnection('read'), 'quote'), $value)) . ')'; - } - } - } + case '==': + default: + $wheres[] = $key . ' IS NULL'; + break; + } + } else { + $params[] = $value['value']; + $wheres[] = $key . ' ' . $value['operator'] . ' ?'; + } + } + } + } else { + $wheres[] = $key . ' IN (' . implode(', ', + array_map([Database::getConnection('read'), 'quote'], $value)) . ')'; + } + } + } - if(count($joins)) - { - foreach($joins as $table => $join) - { - $query .= ' LEFT JOIN ' . $table . ' ' . $join['alias'] . ' ON ' . $join['on'] . ' '; - $countQuery .= ' LEFT JOIN ' . $table . ' ' . $join['alias'] . ' ON ' . $join['on'] . ' '; - } - } + if (count($joins)) { + foreach ($joins as $table => $join) { + $query .= ' LEFT JOIN ' . $table . ' ' . $join['alias'] . ' ON ' . $join['on'] . ' '; + $countQuery .= ' LEFT JOIN ' . $table . ' ' . $join['alias'] . ' ON ' . $join['on'] . ' '; + } + } - if(count($manualJoins)) - { - foreach($manualJoins as $join) - { - $query .= ' ' . $join . ' '; - $countQuery .= ' ' . $join . ' '; - } - } + if (count($manualJoins)) { + foreach ($manualJoins as $join) { + $query .= ' ' . $join . ' '; + $countQuery .= ' ' . $join . ' '; + } + } - $hasWhere = false; - if(count($wheres)) - { - $hasWhere = true; - $query .= ' WHERE (' . implode(' ' . $whereType . ' ', $wheres) . ')'; - $countQuery .= ' WHERE (' . implode(' ' . $whereType . ' ', $wheres) . ')'; - } + $hasWhere = false; + if (count($wheres)) { + $hasWhere = true; + $query .= ' WHERE (' . implode(' ' . $whereType . ' ', $wheres) . ')'; + $countQuery .= ' WHERE (' . implode(' ' . $whereType . ' ', $wheres) . ')'; + } - if(count($manualWheres)) - { - foreach($manualWheres as $where) - { - if(!$hasWhere) - { - $hasWhere = true; - $query .= ' WHERE '; - $countQuery .= ' WHERE '; - } - else - { - $query .= ' ' . $where['type'] . ' '; - $countQuery .= ' ' . $where['type'] . ' '; - } + if (count($manualWheres)) { + foreach ($manualWheres as $where) { + if (!$hasWhere) { + $hasWhere = true; + $query .= ' WHERE '; + $countQuery .= ' WHERE '; + } else { + $query .= ' ' . $where['type'] . ' '; + $countQuery .= ' ' . $where['type'] . ' '; + } - $query .= ' ' . $where['query']; - $countQuery .= ' ' . $where['query']; + $query .= ' ' . $where['query']; + $countQuery .= ' ' . $where['query']; - if(isset($where['params'])) - { - foreach($where['params'] as $param) - { - $params[] = $param; - } - } - } - } + if (isset($where['params'])) { + foreach ($where['params'] as $param) { + $params[] = $param; + } + } + } + } - if(!is_null($group)) - { - $query .= ' GROUP BY ' . $group . ' '; - } + if (!is_null($group)) { + $query .= ' GROUP BY ' . $group . ' '; + } - if(count($order)) - { - $orders = array(); - if(is_string($order) && $order == 'rand') - { - $query .= ' ORDER BY RAND() '; - } - else - { - foreach($order as $key => $value) - { - $orders[] = $this->fieldCheck($key) . ' ' . $value; - } + if (count($order)) { + $orders = []; + if (is_string($order) && $order == 'rand') { + $query .= ' ORDER BY RAND() '; + } else { + foreach ($order as $key => $value) { + $orders[] = $this->fieldCheck($key) . ' ' . $value; + } - $query .= ' ORDER BY ' . implode(', ', $orders); - } - } + $query .= ' ORDER BY ' . implode(', ', $orders); + } + } - if($limit) - { - $query .= ' LIMIT ' . $limit; - } + if ($limit) { + $query .= ' LIMIT ' . $limit; + } - if($offset) - { - $query .= ' OFFSET ' . $offset; - } + if ($offset) { + $query .= ' OFFSET ' . $offset; + } - try - { - $stmt = Database::getConnection('read')->prepare($countQuery); - $stmt->execute($params); - $res = $stmt->fetch(\PDO::FETCH_ASSOC); - $count = (int)$res['cnt']; - } - catch(\PDOException $ex) - { - $count = 0; - } + try { + $stmt = Database::getConnection('read')->prepare($countQuery); + $stmt->execute($params); + $res = $stmt->fetch(\PDO::FETCH_ASSOC); + $count = (int)$res['cnt']; + } catch (\PDOException $ex) { + $count = 0; + } - try - { - $stmt = Database::getConnection('read')->prepare($query); - $stmt->execute($params); - $res = $stmt->fetchAll(\PDO::FETCH_ASSOC); - $rtn = array(); + try { + $stmt = Database::getConnection('read')->prepare($query); + $stmt->execute($params); + $res = $stmt->fetchAll(\PDO::FETCH_ASSOC); + $rtn = []; - foreach($res as $data) - { - $rtn[] = new $this->modelName($data); - } + foreach ($res as $data) { + $rtn[] = new $this->modelName($data); + } - return array('items' => $rtn, 'count' => $count); - } - catch(\PDOException $ex) - { - throw $ex; - } - } + return ['items' => $rtn, 'count' => $count]; + } catch (\PDOException $ex) { + throw $ex; + } + } - public function save(Model $obj, $saveAllColumns = false) - { - if(!isset($this->primaryKey)) - { - throw new HttpException\BadRequestException('Save not implemented for this store.'); - } + public function save(Model $obj, $saveAllColumns = false) + { + if (!isset($this->primaryKey)) { + throw new HttpException\BadRequestException('Save not implemented for this store.'); + } - if(!($obj instanceof $this->modelName)) - { - throw new HttpException\BadRequestException(get_class($obj) . ' is an invalid model type for this store.'); - } + if (!($obj instanceof $this->modelName)) { + throw new HttpException\BadRequestException(get_class($obj) . ' is an invalid model type for this store.'); + } $data = $obj->getDataArray(); - if(isset($data[$this->primaryKey])) - { - $rtn = $this->saveByUpdate($obj, $saveAllColumns); - } - else - { - $rtn = $this->saveByInsert($obj, $saveAllColumns); - } + if (isset($data[$this->primaryKey])) { + $rtn = $this->saveByUpdate($obj, $saveAllColumns); + } else { + $rtn = $this->saveByInsert($obj, $saveAllColumns); + } - return $rtn; - } + return $rtn; + } public function saveByUpdate(Model $obj, $saveAllColumns = false) { @@ -274,23 +224,18 @@ abstract class Store $data = $obj->getDataArray(); $modified = ($saveAllColumns) ? array_keys($data) : $obj->getModified(); - $updates = array(); - $update_params = array(); - foreach($modified as $key) - { - $updates[] = $key . ' = :' . $key; - $update_params[] = array($key, $data[$key]); + $updates = []; + $update_params = []; + foreach ($modified as $key) { + $updates[] = $key . ' = :' . $key; + $update_params[] = [$key, $data[$key]]; } - if(count($updates)) - { - $qs = 'UPDATE ' . $this->tableName . ' - SET ' . implode(', ', $updates) . ' - WHERE ' . $this->primaryKey . ' = :primaryKey'; - $q = Database::getConnection('write')->prepare($qs); + if (count($updates)) { + $qs = 'UPDATE ' . $this->tableName . 'SET ' . implode(', ', $updates) . 'WHERE ' . $this->primaryKey . ' = :primaryKey'; + $q = Database::getConnection('write')->prepare($qs); - foreach($update_params as $update_param) - { + foreach ($update_params as $update_param) { $q->bindValue(':' . $update_param[0], $update_param[1]); } @@ -298,9 +243,7 @@ abstract class Store $q->execute(); $rtn = $this->getByPrimaryKey($data[$this->primaryKey], 'write'); - } - else - { + } else { $rtn = $obj; } @@ -313,23 +256,21 @@ abstract class Store $data = $obj->getDataArray(); $modified = ($saveAllColumns) ? array_keys($data) : $obj->getModified(); - $cols = array(); - $values = array(); - $qParams = array(); - foreach($modified as $key) - { - $cols[] = $key; - $values[] = ':' . $key; + $cols = []; + $values = []; + $qParams = []; + foreach ($modified as $key) { + $cols[] = $key; + $values[] = ':' . $key; $qParams[':' . $key] = $data[$key]; } - if(count($cols)) - { - $qs = 'INSERT INTO ' . $this->tableName . ' (' . implode(', ', $cols) . ') VALUES (' . implode(', ', $values) . ')'; - $q = Database::getConnection('write')->prepare($qs); + if (count($cols)) { + $qs = 'INSERT INTO ' . $this->tableName . ' (' . implode(', ', $cols) . ') VALUES (' . implode(', ', + $values) . ')'; + $q = Database::getConnection('write')->prepare($qs); - if($q->execute($qParams)) - { + if ($q->execute($qParams)) { $id = !empty($data[$this->primaryKey]) ? $data[$this->primaryKey] : Database::getConnection('write')->lastInsertId(); $rtn = $this->getByPrimaryKey($id, 'write'); } @@ -338,42 +279,38 @@ abstract class Store return $rtn; } - public function delete(Model $obj) - { - if(!isset($this->primaryKey)) - { - throw new HttpException\BadRequestException('Delete not implemented for this store.'); - } + public function delete(Model $obj) + { + if (!isset($this->primaryKey)) { + throw new HttpException\BadRequestException('Delete not implemented for this store.'); + } - if(!($obj instanceof $this->modelName)) - { - throw new HttpException\BadRequestException(get_class($obj) . ' is an invalid model type for this store.'); - } + if (!($obj instanceof $this->modelName)) { + throw new HttpException\BadRequestException(get_class($obj) . ' is an invalid model type for this store.'); + } - $data = $obj->getDataArray(); + $data = $obj->getDataArray(); - $q = Database::getConnection('write')->prepare('DELETE FROM ' . $this->tableName . ' WHERE ' . $this->primaryKey . ' = :primaryKey'); - $q->bindValue(':primaryKey', $data[$this->primaryKey]); - $q->execute(); + $q = Database::getConnection('write')->prepare('DELETE FROM ' . $this->tableName . ' WHERE ' . $this->primaryKey . ' = :primaryKey'); + $q->bindValue(':primaryKey', $data[$this->primaryKey]); + $q->execute(); - return true; - } + return true; + } - /** - * - */ - protected function fieldCheck($field) - { - if(empty($field)) - { - throw new HttpException('You cannot have an empty field name.'); - } + /** + * + */ + protected function fieldCheck($field) + { + if (empty($field)) { + throw new HttpException('You cannot have an empty field name.'); + } - if(strpos($field, '.') === false) - { - return $this->tableName . '.' . $field; - } + if (strpos($field, '.') === false) { + return $this->tableName . '.' . $field; + } - return $field; - } + return $field; + } } \ No newline at end of file diff --git a/src/B8Framework/View.php b/src/B8Framework/View.php index d8961eda..e4f4ab06 100755 --- a/src/B8Framework/View.php +++ b/src/B8Framework/View.php @@ -1,86 +1,84 @@ viewFile = self::getViewFile($file, $path); - } + $this->viewFile = self::getViewFile($file, $path); + } - protected static function getViewFile($file, $path = null) - { - $viewPath = is_null($path) ? Config::getInstance()->get('b8.view.path') : $path; - $fullPath = $viewPath . $file . '.' . static::$extension; + protected static function getViewFile($file, $path = null) + { + $viewPath = is_null($path) ? Config::getInstance()->get('b8.view.path') : $path; + $fullPath = $viewPath . $file . '.' . static::$extension; return $fullPath; - } + } - public static function exists($file, $path = null) - { - if (!file_exists(self::getViewFile($file, $path))) { - return false; - } + public static function exists($file, $path = null) + { + if (!file_exists(self::getViewFile($file, $path))) { + return false; + } - return true; - } + return true; + } - public function __isset($var) - { - return isset($this->_vars[$var]); - } + public function __isset($var) + { + return isset($this->_vars[$var]); + } - public function __get($var) - { - return $this->_vars[$var]; - } + public function __get($var) + { + return $this->_vars[$var]; + } - public function __set($var, $val) - { - $this->_vars[$var] = $val; - } + public function __set($var, $val) + { + $this->_vars[$var] = $val; + } - public function __call($method, $params = array()) - { - if(!isset(self::$_helpers[$method])) - { - $class = '\\' . Config::getInstance()->get('b8.app.namespace') . '\\Helper\\' . $method; + public function __call($method, $params = []) + { + if (!isset(self::$_helpers[$method])) { + $class = '\\' . Config::getInstance()->get('b8.app.namespace') . '\\Helper\\' . $method; - if(!class_exists($class)) - { - $class = '\\b8\\View\\Helper\\' . $method; - } + if (!class_exists($class)) { + $class = '\\b8\\View\\Helper\\' . $method; + } - if(!class_exists($class)) - { - throw new HttpException('Helper class does not exist: ' . $class); - } + if (!class_exists($class)) { + throw new HttpException('Helper class does not exist: ' . $class); + } - self::$_helpers[$method] = new $class(); - } + self::$_helpers[$method] = new $class(); + } - return self::$_helpers[$method]; - } + return self::$_helpers[$method]; + } - public function render() - { - extract($this->_vars); + public function render() + { + extract($this->_vars); - ob_start(); - require($this->viewFile); - $html = ob_get_contents(); - ob_end_clean(); + ob_start(); + require($this->viewFile); + $html = ob_get_contents(); + ob_end_clean(); - return $html; - } -} \ No newline at end of file + return $html; + } +}