» » » Мод для смены шаблонов сайта

Мод для смены шаблонов сайта

Мод смены шаблонов сайта от команды SocEngine.Ru


Начинаем делать по шагам:

1. Добавить в базу.
ALTER TABLE `se_users` ADD `template` VARCHAR( 70 ) NOT NULL


2. В header.php

// INCLUDE DATABASE INFORMATION
include "include/database_config.php";


поставить на строчку выше, чем:

// INITIATE SMARTY
include "include/class_smarty.php";
$smarty =& SESmarty::getInstance();
//$smarty->debugging = TRUE;


3. В includes/class_smarty.php

function SESmarty()
{
несколько строчек пхп кода
}


заменить на:

function SESmarty()
{
global $database_host, $database_username, $database_password, $database_name;
session_start();
$mc=mysql_connect($database_host, $database_username, $database_password, TRUE);
$mcdb=mysql_select_db($database_name, $mc);
if ($_SESSION['prev_email']) {$email=$_SESSION['prev_email'];} else {$email=$_COOKIE['prev_email'];}
$email = mysql_escape_string($email);
if ($_GET['t']) {$temp = $_GET['t'];} else {$temp = $_POST['t'];}
if ($temp and $email)
{
$temp = mysql_escape_string($temp);
if(mysql_query("UPDATE `se_users` SET `template` = '{$temp}' WHERE `user_email` = '{$email}';")) {$dir = 'templates/'.$temp;$dir_c = 'templates_c/'.$temp;}
}
$t=mysql_query("SELECT `template` FROM `se_users` WHERE `user_email` = '{$email}';");
$ta = mysql_fetch_assoc($t);
$template = $ta['template'];
$dir = 'templates/'.$template;
$dir_c = 'templates_c/'.$template;

if (!$template || !is_string($dir) || !file_exists($dir) || !is_dir($dir)) {$dir='templates'; $dir_c = 'templates_c';}
$this->template_dir = SE_ROOT.DIRECTORY_SEPARATOR.$dir;
$this->compile_dir = SE_ROOT.DIRECTORY_SEPARATOR.'include'.DIRECTORY_SE PARATOR.'smarty'.DIRECTORY_SEPARATOR.$dir_c;
if (!is_dir($this->compile_dir) || !file_exists($this->compile_dir)) {mkdir($this->compile_dir, 0777);}
$this->cache_dir = SE_ROOT.DIRECTORY_SEPARATOR.'include'.DIRECTORY_SE PARATOR.'smarty'.DIRECTORY_SEPARATOR.'cache';
$this->config_dir = SE_ROOT.DIRECTORY_SEPARATOR.'include'.DIRECTORY_SE PARATOR.'smarty'.DIRECTORY_SEPARATOR.'configs';
mysql_close($mc);
$this->_tpl_hooks = array();
}


Теперь подставляем к адресу ?t=ukrworld, где ukrworld - название шаблона.
Не забываем, что пути в шаблоне нужно тоже заменить!

Другие публикации по теме:

Комментарии