mini.test.ru/ 0000751 0001750 0001750 00000000000 12600052311 012737 5 ustar alexey alexey mini.test.ru/index.php 0000644 0001750 0001750 00000002571 12552664430 014611 0 ustar alexey alexey fetch()) // если списка нет, то выводим false return FALSE; // листаем список foreach ($constantList as $constant) { // пытаемся определить булевое ли значение switch (mb_strtolower($constant['constant_value'])) { // если значение равно 'true' case 'true': // приводим к булю $value = TRUE; break; // если значение равно 'false' case 'false': // приводим к булю $value = FALSE; break; // по умолчанию default: // сохраняем значение константы без изменений $value = $constant['constant_value']; break; } // регистрируем константу define($constant['constant_name'], $value); } return TRUE; } } mini.test.ru/project/js/ 0000751 0001750 0001750 00000000000 12536057267 015050 5 ustar alexey alexey mini.test.ru/project/view/ 0000751 0001750 0001750 00000000000 12543470125 015374 5 ustar alexey alexey mini.test.ru/project/view/pub/ 0000751 0001750 0001750 00000000000 12550731732 016164 5 ustar alexey alexey mini.test.ru/project/css/ 0000751 0001750 0001750 00000000000 12536057263 015220 5 ustar alexey alexey mini.test.ru/project/content/ 0000751 0001750 0001750 00000000000 12536057336 016103 5 ustar alexey alexey mini.test.ru/project/modules/ 0000751 0001750 0001750 00000000000 12543467767 016114 5 ustar alexey alexey mini.test.ru/project/modules/pub/ 0000751 0001750 0001750 00000000000 12572105231 016653 5 ustar alexey alexey mini.test.ru/project/modules/pub/test/ 0000751 0001750 0001750 00000000000 12572107607 017643 5 ustar alexey alexey mini.test.ru/project/modules/pub/test/model/ 0000775 0001750 0001750 00000000000 12572107604 020746 5 ustar alexey alexey mini.test.ru/project/modules/pub/test/controller/ 0000751 0001750 0001750 00000000000 12575270702 022026 5 ustar alexey alexey mini.test.ru/project/modules/pub/test/controller/intro.class.php 0000644 0001750 0001750 00000001225 12575270702 025002 0 ustar alexey alexey 0 все ОК. == -1 ошибка, или значение по умолчанию. == 0 запрос UPDATE ничего не обновил * * @var - integer * @access - public */ public $affectedRows = -1; /* * автоматически генерируемый ID, последнего запроса * * @var - integer * @access - public */ public $insertID = 0; /* * указатель на выборку * * @var - integer * @access - private */ private $resourceQuery = FALSE; /* * кол-во сделанных селект запросов * * @var - integer * @access - public */ public static $selectCount = 0; /* * указатель на соединение с MySQL * * @var - resource * @access - private */ private static $resource = FALSE; /* * подключаемся к БД * * @access - public * */ public static function setConnect() { // подключаемся к БД self::$resource = @mysqli_connect( DB_SERVER, // сервер DB_USER, // юзер DB_PASS, // пароль юзера DB_NAME // база данных ); // если подключение прошло с ошибкой if (!self::$resource) die('Ошибка ' . CMS . ' v' . VERSION . ': При подключение к базе данных произошла ошибка'); // устанавливаем кодировку базы mysqli_set_charset(self::$resource, "utf8"); } /* * создание объекта и исполнение sql запроса * \core\sql::query('запрос') * * @access - public * @return - объект sql класса * * @param sql - SQL запрос */ public static function query($sql) { // поднимаем объект класса sql $obj = new sql(); // исполняем запрос $obj->resourceQuery = mysqli_query(self::$resource, $sql); // наполняем данные // кол-во выбранных строк с помощью SELECT $obj->numRows = @mysqli_num_rows($obj->resourceQuery); // кол-во затронутых строк последним INSERT, UPDATE, REPLACE или DELETE запросом $obj->affectedRows = @mysqli_affected_rows(self::$resource); // автоматически генерируемый ID, последнего запроса $obj->insertID = @mysqli_insert_id(self::$resource); // вертаем объект (для того что бы можно было // исполнить метод fetch(), или достучаться // до свойств с информацией) return $obj; } /* * метод получает выборку запроса * \core\sql::query('запрос')->fetch() * * @access - public * @return - ассоциативный массив с выбранными строками * из БД или FALSE если ничего небыло выбранно * */ public function fetch() { // массив для хранения строк выборки $resultList = array(); // ключ для формирование строки $i = 0; // если ресурс запроса пуст if ($this->resourceQuery === FALSE) // выводим false return FALSE; // +1 к кол-ву select запросов сделанных системой RS-MINI self::$selectCount++; // листаем строки выбокри while ($row = mysqli_fetch_assoc($this->resourceQuery)) { // листаем поля строки foreach ($row as $key => $value) // заполняем массив $resultList[$i][$key] = $value; // переключаем строку $i++; } // если выборка пустая if (empty($resultList)) { // пытаемся получить ошибку $error = mysqli_error(self::$resource); // если нет ошибок, то селект запрос просто вернул 0 строк if (empty($error)) // вертаем false return FALSE; // если ошибка есть, то показываем ее на экран echo $error; // закрываем подключение self::close(); // убиваем скрипт die(); } // возвращаем выборку return $resultList; } /* * метод закрывает подключение к БД * * @access - public * @return - true или false * */ public static function close() { return mysqli_close(self::$resource); } } mini.test.ru/rs-mini/core/abstractmodel.class.php 0000644 0001750 0001750 00000016773 12562427444 021754 0 ustar alexey alexey setName('имя')->insert(); * * В методе insert() модели "a" имя можно будет получить вот так: * * $name = $this->getName(); * * * * @access - public * @return - сам себя или сохраненное значение (все зависит от * того set или get метод был вызван) * * @param string name - имя вызываемого метода * @param array arguments - присланные аргументы в вызываемый метод */ public function __call($name, $arguments) { // ниже в комментариях приведен конкретный пример с методами getName() и setName(). // предаваемое значение - "Алексей" // приводим имя вызываемого метода к нижнему регистру // в случае если вызван метод setName(), то получим setname // в случае если вызван метод getName(), то получим getname $name = mb_strtolower($name); // делим имя вызываемого метода на части // в случае если вызван метод setName(), то получим set и name // в случае если вызван метод getName(), то получим get и name // в $action помещаем set или get $action = mb_substr($name, 0, 3); // в $argument помещаем часть имени метода (при вызове // getName() или setName() частью будет - name) $argument = mb_substr($name, 3, mb_strlen($name)-1); // в зависимости от того что в $action switch($action) { case 'get': // возвращаем из свойства call значение (в нашем примере из ключа name // получим значение "Алексей", если это значение записали путем вызова // метода setName() с значением "Алексей") return (isset($this->call[$argument])) ? $this->call[$argument] : NULL; break; case 'set': // сохраняем в свойстве call значение (в нашем примере в ключ name // свойства call будет передано значение "Алексей") $this->call[$argument] = $arguments[0]; // возвращаем объект модели return $this; break; } } /* * метод поднимает объект базы данных и исполняет запрос * * @access - protected * @return - объект класса sql * * @param string sql - скуль запрос */ protected function query($sql) { // исполняем запрос, и помещаем объект в свойство $obj = sql::query($sql); // запоминаем результат запроса $this->setNumRows($obj->numRows) ->setAffectedRows($obj->affectedRows) ->setInsertID($obj->insertID) ; // возвращаем объект return $obj; } } mini.test.ru/rs-mini/core/abstractview.class.php 0000644 0001750 0001750 00000005443 12556740776 021627 0 ustar alexey alexey dom = $dom; } /* * метод объявляет массив с объектами шаблонов * вызывается один раз из view.class.php * * @access - public * * @param array tplList - массив с шаблонами */ public function setTplList(&$tplList) { self::$tplList = $tplList; } /* * метод получает шаблон по имени * * @access - public * @return - сам себя * * @param string name - имя шаблона */ public function getTpl($name) { // сбрасываем свойства выбора шаблона $this->currentTpl = FALSE; // если вызываемый шаблон существует if (isset(self::$tplList[$name])) // перенесим его объект в свойство выбора $this->currentTpl = self::$tplList[$name]; return $this; } /* * запуск шаблона (!!!вызов производить только через этот метод) * * @access - public * */ public function run() { // если выбор был сделан if ($this->currentTpl) // получаем ответ шаблона $this->currentTpl->getResponse(); // в противном случае ничего не произойдет } /* * получить ответ шаблона * * @access - public * */ public function getResponse() { } } mini.test.ru/rs-mini/core/dom.class.php 0000644 0001750 0001750 00000016264 12551722357 017701 0 ustar alexey alexey node запишится этот объект. если в качестве параемтера передено строка (т.е. имя нового узла) * то на основе этого имени поднимется новая копия объекта класса dom * * @access - public * @return - возвращает созданный узел * * @param string/object $data - данные содержащие имя нового узла или объект дома */ public function addNode($data) { $node = (!is_object($data)) ? new dom() : $data; $this->node[] = (!is_object($data)) ? $node->setName($data) : $node; return $node; } /* * прописываем новый атрибут в текущий объект класса dom * * @access - public * @return - сам себя * * @param string name - имя атрибута * @param string value - значение атрибута */ public function addAttr($name, $value) { $this->attr[$name] = $value; return $this; } /* * получаем узел (объект) по имени из массива $this->node. * * @access - public * @return - узел или FALSE * * @param string name - имя узла */ public function getNode($name) { // листаем дочернии узлы foreach ($this->node as $node) // если имя из объекта совпадает с искомым именем if ($node->name == $name) return $node; // по умолчанию метод возвращает фалс return FALSE; } /* * получаем значение атрибута. Узел выберается с помощью метода getNode() или getChildren() * * @access - public * @return - значение атрибута или FALSE в случае неудачи * * @param string name - имя атрибута */ public function getAttr($name) { return (isset($this->attr[$name])) ? $this->attr[$name] : FALSE; } /* * получаем весь дом целиком в виде массива * * @access - public * @return - массив с всеми узлами и их атрибутами * */ public function getDom() { return $this->collectNode($this->node); } /* * рекурсивно собираем узлы (вспомогательный метод метода getDom()) вертая массив вот такой структуры * [0] * [name] => имя, * [attr] => массив атрибутов, * [node] => * [0] * [name] => имя, * [attr] => массив атрибутов, * [node] => array() * [1] * [name] => имя, * [attr] => массив атрибутов, * [node] => * [0] * [name] => имя, * [attr] => массив атрибутов, * [node] => array() * * @access - private * @return - массив с узлом * * @param array nodeList - список узлов (объектов dom) */ private function collectNode($nodeList) { $nodes = array(); foreach ($nodeList as $key => $node) $nodes[] = array( 'name' => $node->name, 'attr' => $node->attr, 'node' => (count($node->node) > 0) ? $this->collectNode($node->node) : array() ); return $nodes; } /* * получаем массив с вложенными узлами (объекты) из текущего узла * * @access - public * @return - массив с узлами или FALSE * * @param string name - имя узла */ public function getChildren($name) { // массив с выбранными узлами $nodeList = array(); // листаем дочернии узлы foreach ($this->node as $node) // если имя из объекта совпадает с искомым именем if ($node->name == $name) // заполняем выборку узлом $nodeList[] = $node; // если небыло выбрано ни одного узла, то фалсе. в противном случае список узлов return (empty($nodeList)) ? FALSE : $nodeList; } /* * проверяем есть ли узлы в выбранном узле * * @access - public * @return - число узлов если они есть, или FALSE если нет * * @param string name - имя узла */ public function count($name) { // массив с выбранными узлами $nodeList = array(); // листаем дочернии узлы foreach ($this->node as $node) // если имя из объекта совпадает с искомым именем if ($node->name == $name) // заполняем выборку узлом $nodeList[] = $node; // если небыло выбрано ни одного узла, то фалсе. в противном случае кол-во узлов return (empty($nodeList)) ? FALSE : count($nodeList); } /* * метод устанавливает имя узла * * @access - private * @return - сам себя * * @param string name - имя узла */ private function setName($name) { $this->name = $name; return $this; } } mini.test.ru/rs-mini/core/page.class.php 0000644 0001750 0001750 00000031160 12573410477 020027 0 ustar alexey alexey pageID = $page['map_id']; // псевдоним страницы (из таблицы rs_map или из урла // зависит от того статиная (из таблицы rs_map) // или динамичная (из урла) страница) $this->pageAlias = $page['map_alias']; // имя страницы (из таблицы rs_map) $this->pageName = $page['map_name']; // шаблон страницы (из таблицы rs_map) $this->pageView = $page['map_view']; // родитель страницы (из таблицы rs_map) $this->pageParent = $page['map_parent']; // статичная или динамичная страница (из таблицы rs_map) $this->pageType = $page['map_type']; // реальный псевдоним страницы (сохраненный в // поле map_alias таблицы rs_map). Если страница статичная // то в ключе dynamic_alias массива $page находится NULL $this->pageDynamicAlias = $page['dynamic_alias']; // получаем контроллеры страницы $this->controllerList = $this->getController(); } /* * метод получаем контроллеры страницы * задача сформировать вот такой массив: * [top] * [0] => object core\controller * [1] => object core\controller * [2] => object core\controller * [center] * [0] => object core\controller * [1] => object core\controller * [2] => object core\controller * [bottom] * [0] => object core\controller * [1] => object core\controller * [2] => object core\controller * * * @access - private * @return - массив с контроллерами или false * */ private function getController() { // получаем список подключенных контроллеров к станице $sql = '' . 'SELECT' . ' connect.connect_id AS connect_id,' . ' connect.connect_value AS connect_value,' . ' connect.connect_block AS connect_block,' . ' connect.connect_inherit AS connect_inherit,' . ' connect.connect_position AS connect_position,' . ' connect.map_id AS map_id,' . ' connect.controller_id AS controller_id,' . ' controller.controller_name AS controller_name' . ' FROM' . ' rs_connect AS connect,' . ' rs_controller AS controller' . ' WHERE' . ' connect.map_id = \'' . $this->pageID . '\'' . ' AND connect.controller_id = controller.controller_id' . ' ORDER BY connect_position' ; // если список подключений пуст if (!$connectList = sql::query($sql)->fetch()) // выходим из метода return FALSE; // формируем массив из объектов контроллеров // список конроллеров $controllerList = array(); // блоки к которым цепляются контроллеры $blocks = array('top', 'center', 'bottom'); // листаем блоки foreach ($blocks as $block) // листаем список подключений foreach ($connectList as $connect) // если блок подключения равен блоку итерации if ($connect['connect_block'] == $block) // поднимаем объект контроллера на основе данных подключения $controllerList[$block][] = new controller($connect); return $controllerList; } /* * метод перезаписывает существующий контроллер вместе с параметрами * * @access - public * * @param array inhControllerList - массив с унаследованными контроллерами */ public function unionController($inhControllerList) { // блоки к которым цепляются контроллеры $blocks = array('top', 'center', 'bottom'); // если у страницы вообще нет контроллеров, то просто сохраняем наследованные контроллеры на этой страницы if (!$this->controllerList) { // прежде чем сохранять, необходимо контроллерам отметить, что они наследники // листаем блоки foreach ($blocks as $block) // если среди наследуемых контроллеров есть данный блок if (isset($inhControllerList[$block])) // листаем контроллеры этого блока foreach ($inhControllerList[$block] as $inhKey => $inhController) // отмечаем у копии объекта контроллера что он наследуемый $inhControllerList[$block][$inhKey]->inheritFlag = TRUE; // записываем список контроллеров в свойство $this->controllerList = $inhControllerList; return; } // если у страницы есть контроллеры // листаем блоки foreach ($blocks as $block) // если среди наследуемых контроллеров есть данный блок if (isset($inhControllerList[$block])) { // массив с новым порядком контроллеров $newList = array(); // листаем список наследуемых контроллеров foreach ($inhControllerList[$block] as $inhKey => $inhController) // ищем есть ли на страницы такой же подключенный контроллеры // если на странице есть листаемый блок контроллеров if (isset($this->controllerList[$block])) { // флаг позволяющий определить был ли найден контроллер $found = FALSE; // листаем контроллеры страницы foreach ($this->controllerList[$block] as $controllerKey => $controller) // если id контроллера страницы совпадает с id контроллера наследника if ($controller->controllerID == $inhController->controllerID) { // отмечаем флаг, что контроллер найден $found = TRUE; // отмечаем что данный контроллер унаследован $this->controllerList[$block][$controllerKey]->inheritFlag = TRUE; // запускаем метод который сольет параметры наследуемого контроллера и параметры // контроллера подключенного на этой странице $this->controllerList[$block][$controllerKey]->unionParams($inhController->getParams()); // записываем контроллер в новый блок $newList[] = $this->controllerList[$block][$controllerKey]; } // если контроллер не был найден if ($found === FALSE) { // говорим что он унаследован $inhController->inheritFlag = TRUE; // записываем контроллер в новый блок $newList[] = $inhController; } } // если на странице нет листаемого блока контроллеров else { // отмечаем унаследованный контроллер как унаследованный $inhController->inheritFlag = TRUE; // записываем контроллер в новый блок $newList[] = $inhController; } // теперь нужно в массив $newList записать контроллеры страницы, которых // в массиве $newList еще нет // если на странице есть данный блок контроллеров if (isset($this->controllerList[$block])) // листаем контроллеры страницы foreach ($this->controllerList[$block] as $controllerKey => $controller) { // флаг позволяющий определить был ли найден контроллер $found = FALSE; // листаем контроллеры лежащие в массиве $newList foreach ($newList as $new) // если id контроллеров совпадают if ($new->controllerID == $controller->controllerID) // переключаем флаг $found = TRUE; // если контроллер среди $newList не найден if ($found === FALSE) // то записываем его туда $newList[] = $controller; } // полностью заменяем блок контроллеров страницы $this->controllerList[$block] = $newList; } } } mini.test.ru/rs-mini/core/map.class.php 0000644 0001750 0001750 00000015070 12564075711 017670 0 ustar alexey alexey call[$argument])) ? $this->call[$argument] : null; break; case 'set': $this->call[$argument] = $arguments[0]; return $this; break; } } /* * получаем шаблон, все контроллеры и их параметры открываемой страницы * * @access - public * @return - массив с данными или false если ничего не найдено */ public function getPage() { // получаем адрес страницы $uri = request::getHttpServer('REQUEST_URI')->toUri(); // если адрес равен null выкидываем false if (is_null($uri)) return FALSE; // просто бьем строку на массив $uri = explode('/', $uri); // удаляем последний элемент массива, так как он всегда пустой unset($uri[(count($uri) - 1)]); // получаем все открываемые узлы // родитель по умолчанию NULL (главная страница) $parent = NULL; foreach ($uri as $key => $alias) { // получаем страницу if (!$page = $this->setAlias($alias)->setParent($parent)->getNode()) return FALSE; // запоминаем ID страницы, это наш родитель в следующей итерации $parent = $page['map_id']; // создаем объект страницы $this->pageList[] = new page($page); } return TRUE; } /* * метод получения узла определенной ветки * * @access - private * @return - массив с структурой сайта или false если ничего не найдено * * @param integer getParent() - родитель предшествующего узла * @param string getAlias() - алиас узла */ private function getNode() { // с начало пытаемся получить страницу как статичную $sql = '' . 'SELECT' . ' m.map_id AS map_id,' . ' m.map_parent AS map_parent,' . ' m.map_alias AS map_alias,' . ' m.map_name AS map_name,' . ' m.map_view AS map_view,' . ' m.map_system AS map_system,' . ' m.map_type AS map_type' . ' FROM' . ' rs_map AS m' . ' WHERE' . ' m.map_parent ' . ( (is_null($this->getParent())) ? 'IS NULL' : '= \'' . $this->getParent() . '\'' ) . ' AND m.map_alias ' . ( ($this->getAlias() == '') ? 'IS NULL' : '= \'' . $this->getAlias() . '\'' ) . ' AND m.map_type = \'static\'' ; // если выборка дала результат if ($resultList = sql::query($sql)->fetch()) { // запоминаем алиас динамичного узла. // так как узел статичный, то мы записываем туда NULL $resultList[0]['dynamic_alias'] = NULL; // возвращаем результат return $resultList[0]; } // если статичный узел был не найден, пытаемся найти динамичный $sql = '' . 'SELECT' . ' m.map_id AS map_id,' . ' m.map_parent AS map_parent,' . ' m.map_alias AS map_alias,' . ' m.map_name AS map_name,' . ' m.map_view AS map_view,' . ' m.map_system AS map_system,' . ' m.map_type AS map_type' . ' FROM' . ' rs_map AS m' . ' WHERE' . ' m.map_parent ' . ( (is_null($this->getParent())) ? 'IS NULL' : '= \'' . $this->getParent() . '\'' ) . ' AND m.map_type = \'dynamic\'' ; // если выборка не дала результата if (!$resultList = sql::query($sql)->fetch()) // вертаем false return FALSE; // запоминаем динамичный алиас (реально записанный в БД) $resultList[0]['dynamic_alias'] = $resultList[0]['map_alias']; // перезаписываем псевдоним на тот что в адресной строке $resultList[0]['map_alias'] = $this->getAlias(); // возвращаем результат return $resultList[0]; } } mini.test.ru/rs-mini/core/abstractcontroller.class.php 0000644 0001750 0001750 00000011332 12555162215 023013 0 ustar alexey alexey dom = $dom; $this->paramList = $paramList; } /* * метод возвращает заголовок страницы * * @access - public * * @param string caption - системный заголовок */ public function getCaption($caption) { return $caption; } /* * метод позволит проверить некоторые данные на валидацию. * запускается для каждого контроллера (за исключением отключенных) * * @access - public * @return - true или false (404 ошибка) * */ public function validate() { return TRUE; } /* * запуск контроллера. основной метод контроллера. * если не создать подобный метод (полиморфизм) в дочернем классе * контроллер выдаст 404-ую ошибку * * @access - public * @return - true или false (404 ошибка) * */ public function run() { return FALSE; } /* * метод запоминает значение динамичной страницы. * отрабатывает при сборке контроллеров в приложении * системы. необходим, что бы псевдоним динамической страницы * можно было получить из любого подключенного контроллера * * @access - public * @return - значение дин страницы * * @param string name - имя параметра */ public function setDynamicValue($name, $value) { self::$dynamicValue[$name] = $value; } /* * метод получает значение динамичной страницы по имени * * @access - protected * @return - значение дин страницы * * @param string name - имя параметра */ protected function getDynamicValue($name) { return (isset(self::$dynamicValue[$name])) ? self::$dynamicValue[$name] : NULL; } /* * метод получает значение параметра по имени. * если значение содержит запятые, то оно (значение) вернется не * в виде строки, а в виде массива * * @access - protected * @return - значение параметра * * @param string name - имя параметра */ protected function getParam($name) { if (!isset($this->paramList[$name])) return NULL; if (!preg_match('/[\,]+/', $this->paramList[$name])) return $this->paramList[$name]; $params = explode(',', $this->paramList[$name]); foreach ($params as $key => $param) $params[$key] = trim($param); return $params; } } mini.test.ru/rs-mini/core/controller.class.php 0000644 0001750 0001750 00000012647 12572027727 021310 0 ustar alexey alexey controllerID = $connect['controller_id']; // имя контроллера (из таблицы rs_controller) $this->controllerName = $connect['controller_name']; // строка с параметрами контроллера (из таблицы rs_controller) $this->controllerParam = $connect['connect_value']; // флаг позволяющий определить будет ли контроллер // наследоваться или нет $this->controllerInherit = $connect['connect_inherit']; // вызов метода который сделает из строки параметров // массив $this->gatherParam(); } /* * метод устанавливаем значение в свойство $this->params * * @access - public * @return - сам себя * */ public function setParam($name, $value) { $this->paramList[trim($name)] = trim($value); return $this; } /* * метод преобразует строчку параметров в массив * * @access - private * */ private function gatherParam() { if (empty($this->controllerParam)) return; $paramList = explode("\n", $this->controllerParam); foreach ($paramList as $row) { $param = explode(':', trim($row)); $this->paramList[trim($param[0])] = trim($param[1]); } } /* * метод возвращает параметры * * @access - public * @return - массив с параметрами или null */ public function getParams() { return (!empty($this->paramList)) ? $this->paramList : NULL; } /* * метод возвращает параметр * * @access - public * @return - строку с значением или null * * @param string name - имя параметра */ public function getParam($name) { return (isset($this->paramList[$name])) ? $this->paramList[$name] : NULL; } /* * метод перезаписывает существующие параметры * * @access - public * * @param array params - массив с унаследованными параметрами */ public function unionParams($params) { // если параметров у контроллера нет if (empty($this->paramList)) { // просто сохраняем то что прислали $this->paramList = $params; return; } // если параметры есть, то листаем присланные foreach($params as $inheritName => $inheritValue) { // переменная для определения есть ли уже такой параметр // у контроллера $found = FALSE; // листаем параметры контроллеров и сравниваем имена foreach ($this->paramList as $name => $value) // если имена равны if ($inheritName == $name) // переключаем переменную в состояние "найдено" $found = TRUE; // если присланный параметр небыл найден у контроллера if ($found == FALSE) // сохраняем его $this->paramList[$inheritName] = $inheritValue; } } } mini.test.ru/rs-mini/core/view.class.php 0000644 0001750 0001750 00000014304 12576336027 020067 0 ustar alexey alexey tplList = $tplList; // имя шаблона узла $this->tplPage = $tplPage; // дом $this->dom = $dom; } /* * запуск шаблонизатора * * @access - public * */ public function run() { // выгрузка на страницу дома if (DOM === TRUE && !is_null(request::getHttpGet('dom')->getData())) { echo '' .'' .'' .'
' .'' .'