Rar! ϐs
Ut 6 |bOB0 rs_tpl\config.xml A
Переключатель шаблонов
Rio-Shaman
http://rio-shaman.ru/
Модуль позволяет добавить в пользовательскую часть блога переключатель шаблонов. $rs_tpl - Переменная для вывода списка с шаблонами. Данную переменную необходимо вписать в то место шаблона main.tpl.php (или любого другого, все зависит от того где Вам нужен переключатель) где Вы хотите увидеть переключатель. Для работы переключателя понадобится библиотека jquery
0
0
lgt 5 n n . D`B0 rs_tpl\index.php T^
if(!defined('USERPART')) die();
include("moduls/moremoduls/rs_tpl/moduls/rs_tpl.php");
// если пользователь запросил смену шаблона
if (isset($_POST['tpl']))
set_cookie();
set_tpl(); // устанавливаем имя шаблона
$rs_tpl = rs_tpl_html(); // выводим список шаблонов
?>yjt 9 J$mB0 rs_tpl\installer.php [m-
if(!defined('ADMINPART')) die();
function installerMODULS()
{
$xml = file("../moduls/moremoduls/rs_tpl/config.xml");//
$xml = implode("", $xml);
$xml = str_replace("0", "1", $xml);
$wr_xml = fopen("../moduls/moremoduls/rs_tpl/config.xml", "w+");//
fwrite($wr_xml,$xml);// xml
fclose($wr_xml);//
}
function deleteMODULS()
{
$xml = file("../moduls/moremoduls/rs_tpl/config.xml");//
$xml = implode("", $xml);
$xml = str_replace("1", "0", $xml);
$wr_xml = fopen("../moduls/moremoduls/rs_tpl/config.xml", "w+");//
fwrite($wr_xml,$xml);// xml
fclose($wr_xml);//
}
?>t = = = A**B0 rs_tpl\moduls\rs_tpl.php 7&
if(!defined('USERPART')) die();
// функция установки имени шаблона.
function set_tpl()
{
global $theamBLOG;// делаем переменную с именем шаблона видимой для данной функции
// создаем переменную с новым именем шаблона. Новое имя берется из POST или COOKIE переменной
$tpl = (isset($_POST['tpl'])) ? $_POST['tpl'] : ( isset($_COOKIE['tpl']) ? $_COOKIE['tpl'] : '' );
// если переменная НЕ пустая, а именно стоит кука или был произведен запроса на смену шаблона
if (!empty($tpl))
{
$theamBLOG = $tpl; // переписываем переменную
clearcache();// чистим кэш
}
}
// функция устанавливает куку с именем шаблона
function set_cookie()
{
// если сущ-ет шаблон
if (file_exists('./templates/'.$_POST['tpl'].'/main.tpl.php'))
setcookie('tpl', $_POST['tpl'], time() + 86400);// устанавливаем куку на сутки
}
// функция вывода списка шаблонов
function rs_tpl_html()
{
global $theamBLOG;// делаем переменную с именем шаблона видимой для данной функции
// подключаем шаблон
$sm_read = get_tpl_moremoduls("rs_tpl", "tpl.tpl.php");
// вытаскиваем кусочек кода который будем циклить
preg_match("/\[_while\](.*?)\[_while\]/s", $sm_read, $option);
// получаем массив с списком шаблонов
$tpls = get_theme();
$options = '';
// циклим список шаблонов
foreach ($tpls as $tpl)
{
$copy_tpl = $option[1];
// если имя шаблона по дефолту равен с именем из списка
if ($theamBLOG == $tpl)
$copy_tpl = str_replace("[_style]", "selected='selected'", $copy_tpl); // отмечаем его как выбранный
else
$copy_tpl = str_replace("[_style]", '', $copy_tpl); // убираем код слово
// вставляем имя шаблона
$copy_tpl = str_replace("[_value]", $tpl, $copy_tpl);
$copy_tpl = str_replace("[_tpl]", $tpl, $copy_tpl);
// склеиваем html код
$options .= $copy_tpl;
}
// вставляем список в шаблон
$sm_read = preg_replace("/\[_while\].*?\[_while\]/s", $options, $sm_read); //Вставляем в щаблон список с шаблонами
// выводим с генерированный html код
return $sm_read;
}
function get_theme()//Функция вывода всех тем (шаблонов)
{
$data = opendir("./templates/"); //сканируем файлы в папке
while (false !== ($one = readdir($data))) //собираем массив из результата сканирования
if($one != '.' && $one != '..') //Удаляем точки
$name[] = $one;//формируем массив с именами файлов
closedir ($data);//закрываем папку
return $name;
}
function clearcache()
{
$data = opendir("./cache/"); //сканируем файлы в папке
while (false !== ($one = readdir($data))) //собираем массив из результата сканирования
if($one != '.' && $one != '..') //Удаляем точки
$cache[] = $one;//формируем массив с именами файлов
closedir ($data);//закрываем папку
for($i=0; isset($cache[$i]); $i++)
unlink("./cache/".$cache[$i]);//удаляем файл который содержится в массиве
}
?>%t A $dB0 rs_tpl\templates\tpl.tpl.php ibF
if(!defined('USERPART')) die();
?>
Jt2 )B0
rs_tpl\moduls ]t5 )B0 rs_tpl\templates Mt+ )B0 rs_tpl M={ @