diff --git a/src/Controller/Component.php b/src/Controller/Component.php index f0c6647..02bdd9f 100644 --- a/src/Controller/Component.php +++ b/src/Controller/Component.php @@ -128,10 +128,10 @@ class Component $tpl->set('common', Path::join($this->config->get('system', 'web'), '../', 'common')); $tpl->set('script', Path::join($this->config->get('system', 'web'), 'js')); - $tpl->set('media', Path::join($this->config->get('system', 'web'), 'templates', $template)); + $tpl->set('media', Path::join($this->config->get('system', 'templates.web'), $template)); if ($default) { - $tpl->set('site_template', $this->config->get('site', 'web') . '/templates/' . $default); + $tpl->set('site_template', $this->config->get('site', 'templates.web') . $default); } $tpl->set('base', $this->config->get('site', 'web')); @@ -246,9 +246,11 @@ class Component parse_str($query, $arguments); } $name = $path; + $config = $site->config; - $path = Path::join ($site->config->get('site', 'components'), $name, $name . '.php'); - $className = implode("\\", ['Components', ucfirst($name), ucfirst($name)]); + $filename = ucfirst($name); + $path = Path::join ($config->get('site', 'components'), $name, $filename . '.php'); + $className = implode("\\", ['Components', ucfirst($name), $filename]); $component/*: Component*/ = null; @@ -256,35 +258,34 @@ class Component // require_once ($path); $component = new $className(); - $component->viewPath = array($site->config->get('site', 'path') . '/components/' . $name . '/'); - $component->webPath = array($site->config->get('site', 'web') . '/components/' . $name); - $component->COMPONENTS_WEB = $site->config->get('site', 'web') . '/components/'; + $component->viewPath = array($config->get('site', 'components') . '/' . $name . '/'); + $component->webPath = array($config->get('site', 'components.web') . '/' . $name); + $component->COMPONENTS_WEB = $config->get('site', 'web') . '/components/'; } else { $component = new $className(); - $template = $component->getTemplateName($site->config); $component->viewPath = array( // Сначало ищем локально - $site->config->get('site', 'path') . '/templates/' . $template . '/_components/' . $name . '/', - $site->config->get('site', 'path') . '/components/' . $name . '/', + $config->get('site', 'templates') . '/'. $template . '/_components/' . $name . '/', + $config->get('site', 'components') . '/' . $name . '/', // Потом в общем хранилище - CMS_PATH . '/../templates/' . $template . '/_components/' . $name . '/', - $site->config->get('system', 'components') . '/' . $name . '/', + $config->get('system', 'templates'). '/' . $template . '/_components/' . $name . '/', + $config->get('system', 'components') . '/' . $name . '/', ); if (defined('COMPONENTS_WEB')) { $component->webPath = array( // Сначало локально - $site->config->get('site', 'web') . '/templates/' . $template . '/_components/' . $name, - $site->config->get('site', 'web') . '/components/' . $name, + $config->get('site', 'templates.web') . '/' . $template . '/_components/' . $name, + $config->get('site', 'components.web') . '/' . $name, // Потом в общем хранилище - TEMPLATE_WEB . '/' . $template . '/_components/' . $name, - COMPONENTS_WEB . '/' . $name, + $config->get('system', 'templates.web') . '/' . $template . '/_components/' . $name, + $config->get('system', 'components.web') . '/' . $name, ); - $component->COMPONENTS_WEB = COMPONENTS_WEB; + $component->COMPONENTS_WEB = $config->get('system', 'components.web'); } else { - $component->webPath = array('', $site->config->get('site', 'web') . '/components/' . $name, ''); + $component->webPath = array('', $config->get('site', 'components.web') . '/' . $name, ''); } } diff --git a/src/Functions.php b/src/Functions.php index ec3032a..1c64ed1 100644 --- a/src/Functions.php +++ b/src/Functions.php @@ -364,7 +364,7 @@ class Functions { * @param string $key Имя ключа по значению которого будет идти сравнение * @return Array Отсортированный массив */ - static function sortOn($array, $key, $fn = 'Functions::__cmp') { + static function sortOn($array, $key, $fn = '\\ctiso\\Functions::__cmp') { usort ($array, Functions::rcurry($fn, $key)); //usort ($array, create_function ('$x,$y', 'return __cmp ($x, $y, "'.$key.'");')); return $array;