function gettemplate($files, $template = false, $template_path = false) { global $user; $template_ex = '.tpl.html'; if ($template === false) { return sys_file_read(TEMPLATE_DIR . '/' . $files . $template_ex); } if (is_string($files)) { // $files = array('body' => $files); $files = array(basename($files) => $files); } if (!is_object($template)) { $template = new template(); } //$template->set_custom_template($template_path ? $template_path : TEMPLATE_DIR, TEMPLATE_NAME, TEMPLATE_DIR); $tmpl_name = gettemplatename($user['dpath']); $template->set_custom_template(($template_path ? $template_path : SN_ROOT_PHYSICAL . 'design/templates/') . $tmpl_name . '/', $tmpl_name, TEMPLATE_DIR); foreach ($files as &$filename) { $filename = $filename . $template_ex; } $template->set_filenames($files); return $template; }
/** * @param array|string $files * @param template|bool $template * @param string|bool $template_path * * @return template */ function gettemplate($files, $template = false, $template_path = false) { global $sn_mvc, $sn_page_name, $user; $template_ex = '.tpl.html'; if ($template === false) { return sys_file_read(TEMPLATE_DIR . '/' . $files . $template_ex); } is_string($files) ? $files = array(basename($files) => $files) : false; !is_object($template) ? $template = new template() : false; //$template->set_custom_template($template_path ? $template_path : TEMPLATE_DIR, TEMPLATE_NAME, TEMPLATE_DIR); $tmpl_name = gettemplatename($user['dpath']); $template->set_custom_template(($template_path ? $template_path : SN_ROOT_PHYSICAL . 'design/templates/') . $tmpl_name . '/', $tmpl_name, TEMPLATE_DIR); // TODO ГРЯЗНЫЙ ХАК! Это нужно, что бы по возможности перезаписать инфу из языковых пакетов модулей там, где она была перезаписана раньше инфой из основного пакета. Почему? // - сначала грузятся модули и их языковые пакеты // - затем по ходу дела ОСНОВНОЙ языковой пакет может перезаписать данные из МОДУЛЬНОГО языкового пакета // Поэтому и нужен этот грязный хак // В норме же - страницы заявляют сами, какие им пакеты нужны. Так что сначала всегда должны грузится основные языковые пакеты, а уже ПОВЕРХ них - пакеты модулей !empty($sn_mvc['i18n']['']) ? lng_load_i18n($sn_mvc['i18n']['']) : false; $sn_page_name ? lng_load_i18n($sn_mvc['i18n'][$sn_page_name]) : false; foreach ($files as &$filename) { $filename = $filename . $template_ex; } $template->set_filenames($files); return $template; }