diff --git a/composer.json b/composer.json index de9a023..4c325c2 100644 --- a/composer.json +++ b/composer.json @@ -8,8 +8,8 @@ } ], "autoload": { - "psr-0": { - "": "src/" + "psr-4": { + "ctiso\\": "src/" } } } diff --git a/src/Adapter.php b/src/Adapter.php index 42bd4ab..2ba68f9 100644 --- a/src/Adapter.php +++ b/src/Adapter.php @@ -1,5 +1,8 @@ get($key, $default)); + return (int)$this->get($key, $default); } public function getString($key, $default = '') { - return ((string) $this->get($key, $default)); + return (string)$this->get($key, $default); } public function getNat($key, $default = 1) { - $result = intval($this->get($key, $default)); + $result = (int)$this->get($key, $default); return (($result > 0) ? $result : $default); } diff --git a/src/Connection/HttpRequest.php b/src/Connection/HttpRequest.php index ce2f13b..006cc63 100644 --- a/src/Connection/HttpRequest.php +++ b/src/Connection/HttpRequest.php @@ -1,6 +1,9 @@ param['Transfer-Encoding']) && $this->param['Transfer-Encoding'] == 'chunked') { //$this->data = substr($this->response, $this->offset); - $line = hexdec($this->getLine()); + $index = hexdec($this->getLine()); $chunk = array(); - while ($line > 0) { - $chunk [] = substr($this->response, $this->offset, $line); - $this->offset += $line; - $line = hexdec($this->getLine()); + while ($index > 0) { + $chunk [] = substr($this->response, $this->offset, $index); + $this->offset += $index; + $index = hexdec($this->getLine()); } $this->data = implode("", $chunk); diff --git a/src/Controller/Action.php b/src/Controller/Action.php index f67f515..300eb99 100644 --- a/src/Controller/Action.php +++ b/src/Controller/Action.php @@ -1,5 +1,16 @@ viewPath, 'help', $name . '.suggest'); @@ -141,7 +152,7 @@ class Controller_Action public function getModel($name) { if (!$this->factory) { - $this->factory = new Model_Factory($this->db, $this->_registry); + $this->factory = new Factory($this->db, $this->_registry); } return $this->factory->getModel($name); } @@ -364,7 +375,7 @@ class Controller_Action function _getActionPath() { - return new Controller_State('index'); + return new State('index'); } // Тоже убрать в метод Controller_Model diff --git a/src/Controller/Component.php b/src/Controller/Component.php index efc3cdf..1fcc8a8 100644 --- a/src/Controller/Component.php +++ b/src/Controller/Component.php @@ -1,7 +1,20 @@ _name = $name; + } + + function __set($key, $value) { + $this->_data[$key] = $value; + } + + function execute() { + return $this->_data; + } +} + /** * Класс компонента */ -class Controller_Component +class Component { public $viewPath = array(); public $webPath = array(); @@ -56,6 +86,7 @@ class Controller_Component public /*.Settings.*/$registry; public /*.Database.*/$db; public /*.Collection.*/$parameter; + public $output = 'html'; public $module; public $item_module; @@ -86,6 +117,10 @@ class Controller_Component public function getView($name) { + if ($this->output == 'json') { + return new FakeTemplate($name); + } + // /*.Settings.*/$registry = $this->registry; $template = ($this->template) ? $this->template : $registry->readKey(array('system', 'template')); @@ -164,8 +199,18 @@ class Controller_Component return $result; } + function findFile($pathList, $name) { + foreach($pathList as $item) { + $filename = Path::join($item, $name); + if (file_exists($filename)) { + return $filename; + } + } + return null; + } + function getInfo() { - $filename = Path::join($this->viewPath[0], 'install.json'); + $filename = $this->findFile($this->viewPath, 'install.json'); if (file_exists($filename)) { $settings = json_decode(File::getContents($filename), true); return $settings; @@ -178,8 +223,8 @@ class Controller_Component */ public function setParameters(/*.View_Composite.*/$view) { - $form = new Form_Form(); - $options = new Form_OptionFactory($this->db, $this->registry); + $form = new Form(); + $options = new OptionFactory($this->db, $this->registry); $settings = $this->getInfo(); $form->addFieldList($settings['parameter'], $options); @@ -262,14 +307,14 @@ class Controller_Component } $params = new Collection(); - $params->import(array_merge($_GET, $arguments)); + $params->import($arguments); $component->parameter = $params; $component->template = $params->get('template', false); $editor = $component->getEditUrl(); if ($editor) { - if(class_exists("Controller_Site")){ //Если мы в CMS2 - $instance = Controller_Site::getInstance(); + if(class_exists("Controller_Site")) { //Если мы в CMS2 + $instance = Site::getInstance(); $instance->componentsConfig[] = $editor; } else { global $componentsConfig; @@ -324,10 +369,9 @@ class Controller_Component */ function addRequireJsPath($name, $path, $shim = null) { - Controller_Site::addRequireJsPath($name, $path, $shim); + Site::addRequireJsPath($name, $path, $shim); } function actionIndex(/*.ComponentRequest.*/ $request) { } } - diff --git a/src/Controller/Front.php b/src/Controller/Front.php index d88b8f8..f2ff867 100644 --- a/src/Controller/Front.php +++ b/src/Controller/Front.php @@ -4,7 +4,18 @@ * Первичный контроллер контроллер страниц * @package system.controller */ -class Controller_Front extends Controller_Action +namespace ctiso\Controller; +use ctiso\Controller\Action, + ctiso\Settings, + ctiso\Database, + ctiso\Collection, + ctiso\Filter\ActionAccess, + ctiso\Filter\ActionLogger, + ctiso\Path; + ctiso\UserMessageException, + ctiso\HttpRequest; + +class Front extends Action { /** @var Shortcut */ @@ -18,16 +29,14 @@ class Controller_Front extends Controller_Action * @param Settings $_registry * @param Shortcut $_shortcut */ - public function __construct($db, $settings, $default) // $db, $installer, $shortcut - { + public function __construct($db, $settings, $default) { parent::__construct(); $this->settings = $settings; $this->db = $db; $this->default = $default; } - public function isLoaded($name) - { + public function isLoaded($name) { return isset($this->modules[$name]); } @@ -37,7 +46,7 @@ class Controller_Front extends Controller_Action * @param request $request Имя модуля * @return string */ - public function loadModule($name, Collection $request, $controller = false) + public function loadModule($name, Collection $request, $controller = null) { if ($this->isLoaded($name)) { $module = $this->modules[$name]; @@ -47,7 +56,9 @@ class Controller_Front extends Controller_Action $basePath = $this->settings['system']->readKey(['path', 'modules']); $moduleFile = Path::join($basePath, $name, 'classes', $controller ? $controller : $name); - $module = $this->loadClass($moduleFile, null, 'Module_'); + $ucname = ucfirst($name); + $moduleClass = "Module\\$ucname\\$ucname"; + $module = new $moduleClass(); if ($module) { // Инициализация модуля $modPath = Path::join($basePath, $name); @@ -57,10 +68,10 @@ class Controller_Front extends Controller_Action $module->settings = $this->settings; $module->db = $this->db; // Ведение лога - $logger = new Filter_ActionLogger($module); + $logger = new ActionLogger($module); $logger->before = $this->loadSettings(Path::join($modPath, 'filter', 'logger.php')); // Управление доступом - $module->access = new Filter_ActionAccess($logger); + $module->access = new ActionAccess($logger); $module->access->access = $this->loadSettings(Path::join($modPath, 'filter', 'access.php')); $module->setUp(); @@ -72,13 +83,14 @@ class Controller_Front extends Controller_Action return null; // throw new FileNotFoundException(); } - public function execute(HTTPRequest $request) + + public function execute(HttpRequest $request) { - $name = explode("_", $request->get('module', $this->default)); + $name = explode("\\", $request->get('module', $this->default)); if (count($name) >= 2) { $controller = $name[1]; } else { - $controller = false; + $controller = null; } try { return $this->loadModule($name[0], $request, $controller); diff --git a/src/Controller/Installer.php b/src/Controller/Installer.php index d20a93d..a5a55fa 100644 --- a/src/Controller/Installer.php +++ b/src/Controller/Installer.php @@ -1,6 +1,11 @@ db_manager); + $json_installer = new JsonInstall($this->db_manager); foreach ($sql as $version => $install) { if (version_compare($version, $version_new, "<=") && version_compare($version, $version_old, ">")) { $file = Path::join(call_user_func($this->installPath, $name), "sql", $install); @@ -58,7 +63,7 @@ class Controller_Installer function uninstall($name){ $uninstall = $this->getUninstallFile($name); if (file_exists($uninstall)) { - $json_installer = new Database_JsonInstall($this->db_manager); + $json_installer = new JsonInstall($this->db_manager); $json_installer->install($uninstall,null); } $this->_registry->removeKey($name); @@ -108,7 +113,7 @@ class Controller_Installer } function install($dbinit_path, $dbfill_path = null) { - $json_installer = new Database_JsonInstall($this->db_manager); + $json_installer = new JsonInstall($this->db_manager); $json_installer->install($dbinit_path, $dbfill_path); } } diff --git a/src/Controller/Request.php b/src/Controller/Request.php index 01822e1..50a3039 100644 --- a/src/Controller/Request.php +++ b/src/Controller/Request.php @@ -1,13 +1,19 @@ r = $request; $this->id = $id; } - function get($name) { + function get($name, $def) { $v = $this->r->get($name); + $id = $this->id; if ($id && is_array($v)) { return isset($v[$id]) ? $v[$id] : $def; } diff --git a/src/Controller/Service.php b/src/Controller/Service.php index 46f96aa..dd9fa0a 100644 --- a/src/Controller/Service.php +++ b/src/Controller/Service.php @@ -3,14 +3,20 @@ /** * Класс сервиса = Упрощенный компонент */ -class Controller_Service +namespace ctiso\Controller; +use ctiso\Path; + +class Service { - public $viewPath = array(); + public $viewPath = []; + public $webPath = []; public $registry; // Registry->getInstance public $template; public $templatePath; public $COMPONENTS_WEB; + public $db; + public function getTemplatePath($name) { return Path::join($this->viewPath[0], 'templates', 'modern', $name); @@ -43,7 +49,7 @@ class Controller_Service return $model; } - public function options($key, $val, $res) { + public function options($key, $val, /*.Database_PDOStatement.*/$res) { $result = array(); while($res->next()) { $result[] = array('value' => $res->getInt($key), 'name' => $res->getString($val)); diff --git a/src/Controller/State.php b/src/Controller/State.php index aafff35..481faaf 100644 --- a/src/Controller/State.php +++ b/src/Controller/State.php @@ -1,6 +1,9 @@ states [$state->getAction()] = $state; return $this; @@ -49,7 +52,7 @@ class Controller_State return false; } - function makeTitle(Controller_Action $module) + function makeTitle(Action $module) { foreach ($this->titles as $item) { $module->path->addMenuItem($module->nUrl($this->action, $item[1]), $item[0]); diff --git a/src/Database.php b/src/Database.php index 415619d..f3d0800 100644 --- a/src/Database.php +++ b/src/Database.php @@ -1,6 +1,10 @@ -require_once "Database/PDOStatement.php"; + +namespace ctiso; +use PDO, + ctiso\Database\Statement, + ctiso\Database\IdGenerator; /** * Класс оболочка для PDO для замены Creole @@ -64,7 +68,7 @@ class Database extends PDO public function prepareStatement($query) { - return new Database_Statement($query, $this); + return new Statement($query, $this); } // Для совместимости со старым представлением баз данных CIS @@ -161,7 +165,7 @@ class Database extends PDO } function getIdGenerator() { - return new Database_IdGenerator($this); + return new IdGenerator($this); } /** diff --git a/src/Database/IdGenerator.php b/src/Database/IdGenerator.php index 045ec86..5ae4664 100644 --- a/src/Database/IdGenerator.php +++ b/src/Database/IdGenerator.php @@ -1,6 +1,9 @@ db->fetchOneArray("SELECT last_insert_rowid() AS nextval"); } - return intval($result['nextval']); + return (int)$result['nextval']; } } diff --git a/src/Database/JsonInstall.php b/src/Database/JsonInstall.php index 54a7d6f..0395427 100644 --- a/src/Database/JsonInstall.php +++ b/src/Database/JsonInstall.php @@ -1,11 +1,14 @@ db_manager = $db_manager; } diff --git a/src/Database/Manager.php b/src/Database/Manager.php index ec354c7..a0e46a5 100644 --- a/src/Database/Manager.php +++ b/src/Database/Manager.php @@ -1,6 +1,12 @@ db->executeQuery($stmt); } diff --git a/src/Database/PDOStatement.php b/src/Database/PDOStatement.php index 1274e6e..c284683 100644 --- a/src/Database/PDOStatement.php +++ b/src/Database/PDOStatement.php @@ -1,13 +1,20 @@ fields[$name]); + return (int)$this->fields[$name]; } function getBlob($name) { diff --git a/src/Database/Statement.php b/src/Database/Statement.php index 80b77da..69d7cf2 100644 --- a/src/Database/Statement.php +++ b/src/Database/Statement.php @@ -3,7 +3,10 @@ /** * Класс оболочка для PDOStatement для замены Creole */ -class Database_Statement +namespace ctiso\Database; +use PDO; + +class Statement { protected $limit = null; protected $offset = null; diff --git a/src/Database/StatementIterator.php b/src/Database/StatementIterator.php index cc2cc05..02a5c3a 100644 --- a/src/Database/StatementIterator.php +++ b/src/Database/StatementIterator.php @@ -1,6 +1,9 @@ value = intval($value); + $this->value = (int)$value; } function getString() diff --git a/src/Excel/Document.php b/src/Excel/Document.php index 365dba3..1874028 100644 --- a/src/Excel/Document.php +++ b/src/Excel/Document.php @@ -3,7 +3,11 @@ /** * Документ */ -class Excel_Document { +namespace ctiso\Excel; +use XMLWriter, + Exception; + +class Document { static $ns = "urn:schemas-microsoft-com:office:spreadsheet"; private $table = array (); protected $styles = array(); diff --git a/src/Excel/Number.php b/src/Excel/Number.php index 66dd6b6..be5fba2 100644 --- a/src/Excel/Number.php +++ b/src/Excel/Number.php @@ -1,12 +1,14 @@ value = intval($value); + $this->value = (int)$value; } function getString() diff --git a/src/Excel/Table.php b/src/Excel/Table.php index 162c823..bb28499 100644 --- a/src/Excel/Table.php +++ b/src/Excel/Table.php @@ -3,6 +3,8 @@ /** * Клетка таблицы */ +namespace ctiso\Excel; + class TableCell { public $style = false; @@ -38,7 +40,7 @@ class TableRow /** * Таблица */ -class Excel_Table +class Table { static $index; private $name; @@ -50,7 +52,7 @@ class Excel_Table function __construct() { - $this->name = "Page " . intval(self::$index ++); + $this->name = "Page " . ((int)self::$index ++); } /** @@ -230,7 +232,7 @@ class Excel_Table } else { $doc->writeAttribute('ss:Type', "Number"); } - $doc->writeCData($this->encode($value)); + $doc->writeCdata($this->encode($value)); } $doc->endElement(); $doc->endElement(); diff --git a/src/File.php b/src/File.php index 27ca254..5de7429 100644 --- a/src/File.php +++ b/src/File.php @@ -1,5 +1,8 @@ access[$action]) || in_array(Filter_UserAccess::$access, $this->access[$action])); + return (!isset($this->access[$action]) || in_array(UserAccess::$access, $this->access[$action])); } function execute(HttpRequest $request) { diff --git a/src/Filter/ActionLogger.php b/src/Filter/ActionLogger.php index a71d5f5..b6da23c 100644 --- a/src/Filter/ActionLogger.php +++ b/src/Filter/ActionLogger.php @@ -1,6 +1,11 @@ getAction(); if(in_array($action, $this->before)) { - fwrite($this->file, "time: " . date("r", time()) . " query: ". json_encode(array_merge($_POST, $_GET)) . " by: " . Filter_UserAccess::$name . "\n"); + fwrite($this->file, "time: " . date("r", time()) . " query: ". json_encode(array_merge($_POST, $_GET)) . " by: " . UserAccess::$name . "\n"); } return $this->processor->execute($request); } diff --git a/src/Filter/Authorization.php b/src/Filter/Authorization.php index 5afd556..56ebc4d 100644 --- a/src/Filter/Authorization.php +++ b/src/Filter/Authorization.php @@ -1,6 +1,8 @@ get('login'); $password = $request->get('password'); + $result = $this->role->getUserByLogin($login); // Поиск по логину if ($result) { $userPassword = $this->role->getUserPassword($result); diff --git a/src/Form/Color.php b/src/Form/Color.php index c7c0d2d..17a9caf 100644 --- a/src/Form/Color.php +++ b/src/Form/Color.php @@ -3,6 +3,9 @@ /** * Поле с цветом */ -class Form_Color extends Form_Field +namespace ctiso\Form; +use ctiso\Form\Field; + +class Color extends Field { } \ No newline at end of file diff --git a/src/Form/Date.php b/src/Form/Date.php index 42f8b00..3b1c526 100644 --- a/src/Form/Date.php +++ b/src/Form/Date.php @@ -2,5 +2,8 @@ /** * Поле с датой */ -class Form_Date extends Form_Field { +namespace ctiso\Form; +use ctiso\Form\Field; + +class Date extends Field { } \ No newline at end of file diff --git a/src/Form/Field.php b/src/Form/Field.php index bb756cb..1e1dd47 100644 --- a/src/Form/Field.php +++ b/src/Form/Field.php @@ -2,7 +2,9 @@ /** * Элемент формы */ -class Form_Field +namespace ctiso\Form; + +class Field { public $hidden = false; public $name; diff --git a/src/Form/Form.php b/src/Form/Form.php index 47a1854..02e6e7e 100644 --- a/src/Form/Form.php +++ b/src/Form/Form.php @@ -4,7 +4,15 @@ * При рендеринге каждому классу соответствует шаблон (см. themes/maxim/templates/macros.html) */ -class TCheckbox extends Form_Field +namespace ctiso\Form; +use ctiso\Form\Field, + ctiso\Form\Select, + ctiso\Form\Input, + ctiso\View\View, + ctiso\Validator\Validator, + ctiso\HttpRequest; + +class TCheckbox extends Field { public $checked = false; function setValue($value) @@ -14,7 +22,7 @@ class TCheckbox extends Form_Field } } -class TQuestionType extends Form_Select +class TQuestionType extends Select { function setValue($value) { @@ -26,29 +34,29 @@ class TQuestionType extends Form_Select } } -class TDateTime extends Form_Input { +class TDateTime extends Input { } /** * Поле для ввода пароля */ -class TSecret extends Form_Field { +class TSecret extends Field { } -class TUpload extends Form_Field { +class TUpload extends Field { } -class THidden extends Form_Input { +class THidden extends Input { public $hidden = true; } -class TComponentBrowserInput extends Form_Input { +class TComponentBrowserInput extends Input { } /** * Форма для ввода */ -class Form_Form extends View_View { +class Form extends View { public $field = array(); //Поля формы public $fieldsets = array(); //Группы полей (fieldset). Некоторые поля могут не принадлежать никаким группам @@ -163,7 +171,7 @@ class Form_Form extends View_View { /** * Устанавливает ошибки после проверки */ - function setError(Validator_Validator $validator) + function setError(Validator $validator) { foreach ($validator->getErrorMsg() as $name => $error) { diff --git a/src/Form/Input.php b/src/Form/Input.php index 855bec2..b2d4e68 100644 --- a/src/Form/Input.php +++ b/src/Form/Input.php @@ -3,5 +3,8 @@ /** * Поле ввода Input */ -class Form_Input extends Form_Field { +namespace ctiso\Form; +use ctiso\Form\Field; + +class Input extends Field { } \ No newline at end of file diff --git a/src/Form/OptionFactory.php b/src/Form/OptionFactory.php index 41a8447..70904bb 100644 --- a/src/Form/OptionFactory.php +++ b/src/Form/OptionFactory.php @@ -1,6 +1,11 @@ registry = $registry; } - function create(Form_Select $field, $input) { + function create(Select $field, $input) { if (isset($input['options.resid'])) { $type = $input['options.resid']; - $res = new Model_Resources($this->db); + $res = new Resources($this->db); $field->options = $this->optionsArray('id_section', 'title', $res->getSubsections('', $type)); } else if (isset($input['options.res'])) { $type = $input['options.res']; - $res = new Model_Resources($this->db); + $res = new Resources($this->db); $field->options = $this->optionsArray('path', 'title', $res->getSubsections('', $type)); } else if (isset($input['options.all_res'])) { $type = $input['options.all_res']; - $res = new Model_Resources($this->db); + $res = new Resources($this->db); $field->options = $this->optionsArray('id_resource', 'subtitle', $res->getAllResource($type)); } else if (isset($input['options.db'])) { @@ -39,7 +44,7 @@ class Form_OptionFactory { } elseif (isset($input['options.pair'])) { $field->options = $this->optionsPair($input['options.pair']); } elseif (isset($input['options.model'])) { - $factory = new Model_Factory($this->db, $this->registry); + $factory = new Factory($this->db, $this->registry); $model = $factory->getModel($input['options.model']); $field->options = $model->getAllAsOptions(); } else { diff --git a/src/Form/Select.php b/src/Form/Select.php index 6a3f7a1..3a4ec2c 100644 --- a/src/Form/Select.php +++ b/src/Form/Select.php @@ -1,6 +1,9 @@ value = $value; diff --git a/src/Form/ViewState.php b/src/Form/ViewState.php index 777618b..c9c6831 100644 --- a/src/Form/ViewState.php +++ b/src/Form/ViewState.php @@ -4,7 +4,9 @@ * http://www.alternateinterior.com/2006/09/a-viewstate-for-php.html * Управление состоянием между страницами */ -class Form_ViewState // extends Collection +namespace ctiso\Form; + +class ViewState // extends Collection { private $values = array(); diff --git a/src/Functions.php b/src/Functions.php index 3f888e7..fc1d5a8 100644 --- a/src/Functions.php +++ b/src/Functions.php @@ -8,7 +8,9 @@ /** * Эмуляция каррированой функции */ -class __right { +namespace ctiso; + +class right { protected $params; protected $fn; @@ -24,7 +26,7 @@ class __right { } } -class __left { +class left { protected $params; protected $fn; @@ -41,7 +43,7 @@ class __left { } define('__', '_ARGUMENT_PLACE_'); -class __partial { +class partial { protected $params; protected $fn; @@ -53,7 +55,8 @@ class __partial { function apply() { $params = func_get_args(); $result = array(); - for($i = 0, $j = 0; $i < count($this->params); $i++) { + $count = count($this->params); + for($i = 0, $j = 0; $i < $count; $i++) { if ($this->params[$i] == __) { $result [] = $params[$j]; $j++; @@ -68,7 +71,7 @@ class __partial { /** * Композиция функций */ -class __compose { +class compose { protected $fns; function __construct($list) { $this->fns = array_reverse($list); @@ -77,7 +80,8 @@ class __compose { function apply () { $params = func_get_args (); $result = call_user_func_array($this->fns[0], $params); - for ($i = 1; $i < count($this->fns); $i++) { + $count = count($this->fns); + for ($i = 1; $i < $count; $i++) { $result = call_user_func($this->fns[$i], $result); } return $result; @@ -86,8 +90,8 @@ class __compose { class Functions { - static function partial() { - $closure = new __partial(func_get_args()); + static function partial($_rest) { + $closure = new partial(func_get_args()); return array($closure, 'apply'); } @@ -99,8 +103,8 @@ class Functions { * * @return array[int]mixed */ - static function compose() { - $closure = new __compose(func_get_args()); + static function compose($_rest) { + $closure = new compose(func_get_args()); return array($closure, 'apply'); } @@ -110,7 +114,7 @@ class Functions { * @return array[int]mixed */ static function rcurry($_rest) { - $closure = new __right(func_get_args ()); + $closure = new right(func_get_args ()); return array($closure, 'apply'); } @@ -120,7 +124,7 @@ class Functions { * @return array[int]mixed */ static function lcurry($_rest) { - $closure = new __left(func_get_args ()); + $closure = new left(func_get_args ()); return array($closure, 'apply'); } @@ -306,7 +310,8 @@ class Functions { assert(is_int($length)); $result = array(); - for($i = 0; $i < count($array); $i += $length) { + $count = count($array); + for($i = 0; $i < $count; $i += $length) { $result [] = array_slice($array, $i, $length); } return $result; diff --git a/src/HttpRequest.php b/src/HttpRequest.php index 7693177..21efe01 100644 --- a/src/HttpRequest.php +++ b/src/HttpRequest.php @@ -3,6 +3,11 @@ /** * Неверный запрос */ +namespace ctiso; +use Exception, + ctiso\Collection, + ctiso\Session; + class WrongRequestException extends Exception { } diff --git a/src/Layout/Empty.php b/src/Layout/Empty.php index a7f99b8..202f0d2 100644 --- a/src/Layout/Empty.php +++ b/src/Layout/Empty.php @@ -3,7 +3,11 @@ /** * Самый простой макет */ -class Layout_Empty extends Filter_Filter +namespace ctiso\Layout; +use ctiso\Filter\Filter, + ctiso\HttpRequest; + +class Empty extends Filter { function execute(HttpRequest $request) { diff --git a/src/Layout/Manager.php b/src/Layout/Manager.php index 942a8fd..63ccb0a 100644 --- a/src/Layout/Manager.php +++ b/src/Layout/Manager.php @@ -4,7 +4,12 @@ * Выбор макета страницы. * Выбор оформления страницы осуществляется если было совпадение с каким либо условием */ -class Layout_Manager extends Filter_Filter +namespace ctiso\Layout; +use ctiso\Filter\Filter, + ctiso\Functions, + ctiso\HttpRequest; + +class Manager extends Filter { // Массив условий с их макетами protected $condition = array(); @@ -17,7 +22,7 @@ class Layout_Manager extends Filter_Filter * addConditionGet(array('module' => 'personal'), 'personal') * addConditionGet(array('module' => 'login'), 'login') */ - public function addConditionGet($get, Filter_Filter $layout) + public function addConditionGet($get, Filter $layout) { $this->addCondition(Functions::rcurry(array($this, 'checkGet'), $get), $layout); } @@ -25,12 +30,12 @@ class Layout_Manager extends Filter_Filter /** * Условие для аякс запросов. Тоже самое что и addConditionGet но еще проверяется является ли запрос ajax */ - public function addConditionXHR($get, Filter_Filter $layout) + public function addConditionXHR($get, Filter $layout) { $this->addCondition(Functions::rcurry(array($this, 'checkXHR'), $get), $layout); } - public function checkGet($request, $get) + public function checkGet(/*.HttpRequest.*/$request, $get) { if (is_array($get)) { foreach ($get as $key => $value) { @@ -42,7 +47,7 @@ class Layout_Manager extends Filter_Filter return true; } - public function checkXHR($request, $get) + public function checkXHR(/*.HttpRequest.*/$request, $get) { return $request->isAjax() && $this->checkGet($request, $get); } @@ -52,7 +57,7 @@ class Layout_Manager extends Filter_Filter * @parma $get function(HttpRequest) Функция * @parma $layout Layout Макет */ - public function addCondition($get, Filter_Filter $layout) + public function addCondition($get, Filter $layout) { $this->condition [] = array($get, $layout); } diff --git a/src/Mail.php b/src/Mail.php index 1f4eda4..20cdb7c 100644 --- a/src/Mail.php +++ b/src/Mail.php @@ -4,6 +4,10 @@ * Класс для работы с почтой * http://en.wikipedia.org/wiki/MIME */ +namespace ctiso; +use ctiso\Path, + Exception; + class Mail { public $_from; diff --git a/src/MailAlt.php b/src/MailAlt.php index 99b296d..138ae94 100644 --- a/src/MailAlt.php +++ b/src/MailAlt.php @@ -1,5 +1,8 @@ path) == count($path->path)) { - for ($i = 0; $i < count($this->path); $i++) { + $count = count($this->path); + if ($count == count($path->path)) { + for ($i = 0; $i < $count; $i++) { if ($this->path[$i] != $path->path[$i]) { return false; } @@ -207,8 +210,9 @@ class Path if (isset($this->url['host']) && isset($path->url['host']) && ($this->url['host'] != $path->url['host'])) return false; - if (count($path->path) > count($this->path)) { - for ($i = 0; $i < count($this->path); $i++) { + $count = count($this->path); + if (count($path->path) > $count) { + for ($i = 0; $i < $count; $i++) { if ($path->path[$i] != $this->path[$i]) { return false; } @@ -252,15 +256,18 @@ class Path $list_path = $list->getParts(); $result = array(); - for ($i = 0; $i < count($list_path); $i++) { + $count = count($list_path); + for ($i = 0; $i < $count; $i++) { if (($i >= count($self_path)) || $list_path[$i] != $self_path[$i]) { break; } } - for($j = $i; $j < count($list_path); $j++) { + $list_count = count($list_path); + for($j = $i; $j < $list_count; $j++) { array_push($result, '..'); } - for($j = $i; $j < count($self_path); $j++) { + $self_count = count($self_path); + for($j = $i; $j < $self_count; $j++) { array_push($result, $self_path[$j]); } return implode("/", $result); diff --git a/src/Primitive.php b/src/Primitive.php index aec45fd..be695a9 100644 --- a/src/Primitive.php +++ b/src/Primitive.php @@ -6,6 +6,8 @@ * @package system */ +namespace ctiso; + class Primitive { // varchar public static function to_varchar($value) @@ -48,9 +50,9 @@ class Primitive { if (!empty($tmp)) { if (count($tmp) != 3) return $result; - $year = intval($tmp[2]); - $month = intval($tmp[1]); - $day = intval($tmp[0]); + $year = (int)$tmp[2]; + $month = (int)$tmp[1]; + $day = (int)$tmp[0]; if ($month != 0 && $day != 0 && $year != 0) { if (checkdate($month, $day, $year)) { diff --git a/src/Role/User.php b/src/Role/User.php index 18f229b..53dd441 100644 --- a/src/Role/User.php +++ b/src/Role/User.php @@ -1,7 +1,11 @@ db = $db; } - public function getUserByQuery(Database_Statement $stmt) + public function getUserByQuery(Statement $stmt) { - global $GROUPS; $result = $stmt->executeQuery(); if ($result->next()) { - $this->access = $GROUPS[$result->getString('access')]; + $this->access = $this->groups[$result->getString('access')]; $this->name = $result->getString('login'); $this->id = $result->getInt('id_user'); $this->password = $result->getString('password'); diff --git a/src/Security.php b/src/Security.php index a42af31..ea25461 100644 --- a/src/Security.php +++ b/src/Security.php @@ -1,5 +1,7 @@ executeActions('install'); * */ +namespace ctiso; +use ZipArchive, + ctiso\Tools\SQLStatementExtractor; + class Setup { protected $actions = array(); @@ -198,7 +202,7 @@ class Setup */ function batchSQLZip(/*.Database.*/ $conn, $file) { - $stmtList = Tools_SQLStatementExtractor::extract($this->zip->getFromName($file)); + $stmtList = SQLStatementExtractor::extract($this->zip->getFromName($file)); foreach ($stmtList as $stmt) { $conn->executeQuery ($stmt); } @@ -206,7 +210,7 @@ class Setup static function batchSQL(/*.Database.*/ $conn, $file) { - $stmtList = Tools_SQLStatementExtractor::extractFile($file); + $stmtList = SQLStatementExtractor::extractFile($file); foreach ($stmtList as $stmt) { $conn->executeQuery ($stmt); } diff --git a/src/SortRecord.php b/src/SortRecord.php index 24c054b..030bb52 100644 --- a/src/SortRecord.php +++ b/src/SortRecord.php @@ -1,5 +1,7 @@ execute($req); echo ""; @@ -62,11 +62,14 @@ class Tales { } - static function register() { + static function register($db, $registry) { + self::$db = $db; + self::$registry = $registry; + /* Регистрация нового префикса для подключения компонента */ $tales = PHPTAL_TalesRegistry::getInstance(); - $tales->registerPrefix('component', array('Component_Tales', 'component')); - $tales->registerPrefix('date', array('DateTime_Tales', 'date')); - $tales->registerPrefix('time', array('DateTime_Tales', 'time')); + $tales->registerPrefix('component', array('ctiso\\Component_Tales', 'component')); + $tales->registerPrefix('date', array('ctiso\\DateTime_Tales', 'date')); + $tales->registerPrefix('time', array('ctiso\\DateTime_Tales', 'time')); } } diff --git a/src/Tools/Drawing.php b/src/Tools/Drawing.php index e13a323..ab4d43d 100644 --- a/src/Tools/Drawing.php +++ b/src/Tools/Drawing.php @@ -1,6 +1,8 @@ 0) { // already in sub-array? $subarr[$in_subarr][] = $tok; if ('}' === substr($tok, -1, 1)) { // check to see if we just added last component - $res[] = strToArray(implode(',', $subarr[$in_subarr])); + $res[] = self::strToArray(implode(',', $subarr[$in_subarr])); $in_subarr--; } } elseif ($tok{0} === '{') { // we're inside a new sub-array @@ -25,7 +27,7 @@ class Tools_String { $subarr[$in_subarr] = array(); $subarr[$in_subarr][] = $tok; } else { - $res[] = strToArray($tok); + $res[] = self::strToArray($tok); } } else { // not sub-array $val = trim($tok, '"'); // remove " (surrounding strings) diff --git a/src/Tools/TemplateImage.php b/src/Tools/TemplateImage.php index 6ce9a33..fbde7c1 100644 --- a/src/Tools/TemplateImage.php +++ b/src/Tools/TemplateImage.php @@ -3,7 +3,10 @@ /** * Формат для композиции изображений */ -class Tools_TemplateImage +namespace ctiso\Tools; +use ctiso\Tools\Drawing; + +class TemplateImage { static $listfiles = array('jpg' => 'jpeg', 'gif' => 'gif', 'png' => 'png', 'bmp' => 'wbmp'); static $listfonts = array( @@ -33,13 +36,16 @@ class Tools_TemplateImage protected $data = array(); protected $base = "c:\\windows\\fonts\\"; protected $image; - protected $prepare = true; + protected $_prepare = true; public $debug = false; - function __construct ($template = false) + public $resource; + public $filename; + + function __construct ($template = null) { // assert(is_string($src)); - if($template) { + if ($template) { $this->data = $template; } } @@ -116,7 +122,7 @@ class Tools_TemplateImage return ""; } - function imageText($text, $value) + function imageText($text, /*.stdClass.*/$value) { assert(is_string($text)); @@ -126,22 +132,22 @@ class Tools_TemplateImage $color = intval(substr($value->color, 1), 16); if ($value->align[0]) { - $align = Tools_Drawing::ALIGN_LEFT; + $align = Drawing::ALIGN_LEFT; } elseif ($value->align[2]) { - $align = Tools_Drawing::ALIGN_RIGHT; + $align = Drawing::ALIGN_RIGHT; } else { - $align = Tools_Drawing::ALIGN_CENTER; + $align = Drawing::ALIGN_CENTER; } if ($value->valign[0]) { $valign = Drawing::ALIGN_TOP; } elseif ($value->valign[1]) { - $valign = Tools_Drawing::ALIGN_CENTER; + $valign = Drawing::ALIGN_CENTER; } else { - $valign = Tools_Drawing::ALIGN_BOTTOM; + $valign = Drawing::ALIGN_BOTTOM; } - Tools_Drawing::imagettftextbox($this->image, $size, 0, $value->left, $value->top, $color, $fontfile, $text, + Drawing::imagettftextbox($this->image, $size, 0, $value->left, $value->top, $color, $fontfile, $text, $value->width, $value->height, $align, $valign); } @@ -159,7 +165,7 @@ class Tools_TemplateImage { $width = imagesx($this->image); $height = imagesy($this->image); - if($new_height == false) { + if ($new_height == null) { $new_height = ceil($height * $new_width / $width); } @@ -171,8 +177,8 @@ class Tools_TemplateImage } function prepare() { - if($this->prepare) { - $this->prepare = false; + if($this->_prepare) { + $this->_prepare = false; foreach ($this->data as $value) { $this->imageText($value->text, $value); // break; } diff --git a/src/UTF8.php b/src/UTF8.php index 3cc68b8..fe97742 100644 --- a/src/UTF8.php +++ b/src/UTF8.php @@ -1,5 +1,7 @@ field; if (is_array($_POST[$name . '_code_genre'])) { - for($n = 0; $n < count($_POST[$name . '_code_genre']); $n++) { + $count = count($_POST[$name . '_code_genre']); + for($n = 0; $n < $count; $n++) { $code = array( $_POST[$name . '_code_genre'][$n], $_POST[$name . '_code_f'][$n], diff --git a/src/Validator/Rule/Count.php b/src/Validator/Rule/Count.php index 2afd612..3ad38ae 100644 --- a/src/Validator/Rule/Count.php +++ b/src/Validator/Rule/Count.php @@ -3,10 +3,14 @@ /** * Проверка формата даты */ -class Validator_Rule_Count extends Validator_Rule_Abstract +namespace ctiso\Validator\Rule; +use ctiso\Validator\Rule\Abstract, + ctiso\Collection; + +class Count extends Abstract { public $size = 1; - public $max = false; + public $max = null; public function getErrorMsg() { diff --git a/src/Validator/Rule/Date.php b/src/Validator/Rule/Date.php index be8e17e..615fa6a 100644 --- a/src/Validator/Rule/Date.php +++ b/src/Validator/Rule/Date.php @@ -3,7 +3,11 @@ /** * Проверка формата даты */ -class Validator_Rule_Date extends Validator_Rule_Abstract +namespace ctiso\Validator\Rule; +use ctiso\Validator\Rule\Abstract, + ctiso\Collection; + +class Date extends Abstract { private $split = "\\/"; @@ -15,6 +19,7 @@ class Validator_Rule_Date extends Validator_Rule_Abstract public function isValid(Collection $container, $status = null) { $pattern = "/^([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{4})$/"; + $matches = []; return (preg_match($pattern, $container->get($this->field), $matches) && checkdate($matches[2], $matches[1], $matches[3])); } diff --git a/src/Validator/Rule/Email.php b/src/Validator/Rule/Email.php index dd2b0e0..64eb4b9 100644 --- a/src/Validator/Rule/Email.php +++ b/src/Validator/Rule/Email.php @@ -3,7 +3,11 @@ /** * Проверка формата электронной почты */ -class Validator_Rule_Email extends Validator_Rule_Abstract +namespace ctiso\Validator\Rule; +use ctiso\Validator\Rule\Abstract, + ctiso\Collection; + +class Email extends Abstract { public function getErrorMsg() { diff --git a/src/Validator/Rule/EmailList.php b/src/Validator/Rule/EmailList.php index 98ac122..79e5357 100644 --- a/src/Validator/Rule/EmailList.php +++ b/src/Validator/Rule/EmailList.php @@ -3,7 +3,11 @@ /** * Проверка формата электронной почты */ -class Validator_Rule_EmailList extends Validator_Rule_Abstract +namespace ctiso\Validator\Rule; +use ctiso\Validator\Rule\Abstract, + ctiso\Collection; + +class EmailList extends Abstract { public function getErrorMsg() { diff --git a/src/Validator/Rule/FileName.php b/src/Validator/Rule/FileName.php index 87732b3..6aac335 100644 --- a/src/Validator/Rule/FileName.php +++ b/src/Validator/Rule/FileName.php @@ -1,6 +1,11 @@ split, $container->get($this->field), 2); if ($tmp) { - if (self::checktime ($tmp[0], $tmp[1])) { + if (self::checktime ((int)$tmp[0], (int)$tmp[1])) { return true; } } diff --git a/src/Validator/Rule/Unique.php b/src/Validator/Rule/Unique.php index e458b8d..3f236a3 100644 --- a/src/Validator/Rule/Unique.php +++ b/src/Validator/Rule/Unique.php @@ -2,7 +2,11 @@ /** */ -class Validator_Rule_Unique extends Validator_Rule_Abstract +namespace ctiso\Validator\Rule; +use ctiso\Validator\Rule\Abstract, + ctiso\Collection; + +class Unique extends Abstract { public function getErrorMsg() { diff --git a/src/Validator/Validator.php b/src/Validator/Validator.php index c6d52f9..66bd656 100644 --- a/src/Validator/Validator.php +++ b/src/Validator/Validator.php @@ -5,7 +5,11 @@ /** * Проверка коллекции */ -class Validator_Validator +namespace ctiso\Validator; +use Exception, + ctiso\Collection; + +class Validator { protected $chain = array(); // Массив правил protected $errorMsg = array(); // Массив ошибок diff --git a/src/View/Composite.php b/src/View/Composite.php index 812ee48..8be63fc 100644 --- a/src/View/Composite.php +++ b/src/View/Composite.php @@ -4,7 +4,11 @@ */ // View_Base + PHPTAL = View_Template (View_Composite) -class View_Composite extends View_View +namespace ctiso\View; +use ctiso\View\View, + PHPTAL; + +class Composite extends View { private $tal; diff --git a/src/View/List.php b/src/View/List.php index 8522b32..45ca726 100644 --- a/src/View/List.php +++ b/src/View/List.php @@ -1,6 +1,9 @@