[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите допилить код
dimmon4ik
Как сюда прикрутить css?

<?
class
templater
{
#структура загружаемой страницы
private $structure;
#заголовок загружаемой страницы
private $title;
#мета-данные ключевые слова
private $keywords;
#мета-данные описание
private $description;
#js-файлы, которые необходимо вставить в шаблог
private $javascript;

function __construct()
{
global $kernel;
#разбираем страницу на состовляющие
$db_result=$kernel['class']['db']->db_query("SELECT * FROM `pages` WHERE name='".cPAGE."'");
$db_result=$kernel['class']['db']->db_fetch_assoc($db_result);
#определяем некоторые константы
define ('cPAGENAME',$db_result['name_rus']);
define ('cPAGEPERMISSION',$db_result['permission']);
$this->title= $db_result['title'];
define ('cPAGETITLE',$db_result['title']);
#Ключевые слова запрашиваемой страницы
$this->keywords=$db_result['keywords'];
#Описание запрашиваемой страницы
$this->description=$db_result['description'];
#Проверка разрешений на простмотр страницы/слоя
if ($kernel['class']['ids']->check_page_permission()==false)
{
$db_result['content']='';
echo 'Доступ к запрошенной странице запрещен';
exit();
}
#начинаем разбор контента страницы
$parts=explode ("||",$db_result['content']);
foreach ($parts as $part)
{
$blocks = explode ('|', $part);
for ($i=1; $i<count($blocks);$i++)
{
$param=explode(' ',$blocks[$i]);
$this->structure[$blocks[0]][$param[0]][weight]=$param[1];
$this->structure[$blocks[0]][$param[0]][name]=$param[2];
$this->structure[$blocks[0]][$param[0]][permission]=$param[3];
$this->structure[$blocks[0]][$param[0]][design]=$param[4];
$this->structure[$blocks[0]][$param[0]][parameter]=$param[5];
}
}

#генерация мета-данных
$this->load_meta();
}

function load_template()
{
global $kernel;
#Подгрузка используемого шаблона в буфер вывода
ob_start();
cPAGETYPE=='portal'?define('cPAGEPATH','templates/portal/'.$kernel['settings']['template_portal'].'/'):define('cPAGEPATH','templates/admin/'.$kernel['settings']['template_admin'].'/');
include(cPAGEPATH.'index.php');
$kernel['display'] = ob_get_contents();
ob_clean();
}

#Метод загрузки модулей в области вывода в шаблоне
function load_modules($area)
{
global $kernel;
if (isset($this->structure[$area]))
{
foreach ($this->structure[$area] as $key=>$value)
{
#Достаем данные из БД о загружаемом модуле
$db_result=$kernel['class']['db']->db_query("SELECT * FROM `modules` WHERE name='".$this->structure[$area][$key]['name']."'");
$db_result=$kernel['class']['db']->db_fetch_assoc($db_result);
$module_name = $this->structure[$area][$key]['name'];
#Путь к папке с модулем
$module_path='components/modules/'.$module_name.'/';
#Имя используемого дизайна модуля
$module_design=$this->structure[$area][$key]['design'];
#Использумый параметр
$module_parameter=$this->structure[$area][$key]['parameter'];
#Глобальные разрешения на просмотр модуля
$module_permission=$db_result['permission'];
#Разрешения на просмотр модуля для данной страницы
$module_permission_in_page = $this->structure[$area][$key]['permission'];
#Проверка активности модуля
if ($db_result['enable']=='true')
{
#Просмотр разрешений на доступ к модулю для данного пользователя
if (ids::check_module_permission($module_permission_in_page) and ids::check_module_permission($module_permission))
{
#Инклудим индекс файл модуля
include ($module_path.'/index.php');
}
#Подгрузка js-файлов
if (file_exists($module_path.'js/'.$module_design.'.js'))
{
$this->javascript.='<script src="'.$module_path.'js/'.$module_design.'.js" type="text/javascript"></script>';
}
}
}
}
}


#подгрузка meta-данных
function load_meta()
{
global $kernel;
$this->keywords = '<meta name="keywords" content="'.$kernel['settings']['keywords'].', '.$this->keywords;
$this->description = '<meta name="description" content="'.$kernel['settings']['description'].', '.$this->description;
}

#подгрузка данных в шаблон
function load_all()
{
global $kernel;
#вставляем заголовок в шаблон
$kernel['display']=str_replace("<-title->",'<title>'.$kernel['settings']['title'].' > '.$this->title.' || GooCMS</title>',$kernel['display']);
#вставляем мета-данные в шаблон
$kernel['display']=str_replace("<-meta->",$this->keywords.'">'.$this->description.'">',$kernel['display']);
#вставляем заголовок в шаблон
$kernel['display']=str_replace("<-javascript->",$this->javascript,$kernel['display']);
}

#Метод вывода содержимого буфера в браузер
function display(){
global $kernel;
if (ids::check_portal_enable()==false)
echo $kernel['settings']['site_enable_message'];
else
{
echo $kernel['display'];
}
}
}

?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.