<?php
if (!defined('ADMIN_FILE') || !is_admin_modul($aid, "multimodules")) die("Illegal File Access");

function multnavi() {
	global $admin_file;
include("config/config_confmulti.php");

	GraphicAdmin();
$permtest = end_chmod("config/config-multimod.php", 666);
if ($permtest) warning($permtest, "", "", 1);

	OpenTable();
    echo "<center><font class=\"title\">Настройка Модулей на Главной</font><br><br>"
	."[ <a href=\"".$admin_file.".php?op=multimodul\">Настройка модулей</a>"
	." | <a href=\"index.php?name=multimodules&".$mul['refresh']."=1\" target=\"blank\">Обновить все модули</a>"
	." | <a href=\"".$admin_file.".php?op=multiconf\">Конфигурация</a> ]</center>";
	CloseTable();
}


function multimodul() {
global $prefix, $db, $admin_file;
if (isset($_GET['id']) && isset($_GET['active'])) {
$id=intval($_GET['id']);
$active=intval($_GET['active']);
$db->sql_query("UPDATE ".$prefix."_multim SET active='$active' WHERE id='$id'");
sqltophp ();
}
$result = $db->sql_query("SELECT id, name, active, refresh  FROM ".$prefix."_multim");
$rep=array("news"=>"Новости", "files"=>"Файлы", "games"=>"Игры", "pages"=>"Статьи", "lnews"=>"Закрепленные новости", "sms"=>"Смски");
head();
multnavi();
OpenTable();
echo "<table border=\"0\" cellpadding=\"3\" cellspacing=\"1\" class=\"bgcolor4\" width=\"100%\"><tr><th>Модуль</th><th>Функции</th></tr>";
    while (list($id, $title, $active, $refresh) = $db->sql_fetchrow($result)) {
    $name=strtr($title,$rep);
    $actrefresh='';
			if ($active == 1) {
			$change = "title=\"Выкл отображение модуля\"><img src=\"images/inactive.gif\" border=\"0\" alt=\"Выкл отображение модуля\">";
			$actrefresh="<a href=\"index.php?name=multimodules&$refresh=1\" target='blank'><img src=\"images/cacheref.gif\" border=\"0\" alt=\"Обновить кэш для модуля $name\"></a>";
			$act = 0;
		} else {
			$change = "title=\"Вкл отображение модуля\"><img src=\"images/activate.gif\" border=\"0\" alt=\"Вкл отображение модуля\">";
			$act = 1;
		}
		
		$change_status = "<a href=\"$admin_file.php?op=multimodul&id=$id&active=$act\" $change</a>";
		echo "<tr><td class=\"bgcolor1\">$name</td><td align=\"center\" class=\"bgcolor1\" nowrap><a href=\"".$admin_file.".php?op=multi_edit&id=$id&mod=$title\" title=\"Редактировать\"><img src=\"images/edit.gif\" border=\"0\" alt=\"Редактировать\"></a> $change_status $actrefresh</td></tr>";
	}
    echo "</table>";
    CloseTable();
    foot();
}


function multiconf() {
global $admin_file;
include("config/config_confmulti.php");
head();
multnavi();
$permtest = end_chmod("config/config_confmulti.php", 666);
if ($permtest) warning($permtest, "", "", 1);

$permmain = end_chmod("multimodules/template/main.tpl", 666);
if ($permmain) warning($permmain, "", "", 1);

$permcss= end_chmod("multimodules/css/style_modules.css", 666);
if ($permcss) warning($permcss, "", "", 1);
OpenTable();


echo "<center><font class='option'>Общие настройки Главной страницы</font></center><br />"
."<form action='".$admin_file.".php' method='post'>"
."<table border='0' align='center' cellpadding='3' cellspacing='0'>"
."<tr><td>GET параметр для обновления всех модулей:</td><td><input type='text' name='xrefresh' value='".$mul['refresh']."' maxlength='45' size='45' style='width:300px;'></td></tr>"
."<tr><td>Общий шаблон модуля:<br /><br /><b>{locked-news}</b> - закрепленные новости<br /><b>{news}</b> - модуль News<br /><b>{files}</b> - модуль Files<br /><b>{games}</b> - модуль Games<br /><b>{pages}</b> - модуль Pages<br /><b>{smska}</b> - модуль Smska</td><td><textarea name=\"maintpl\" cols=\"65\" rows=\"20\" style=\"width:500px\">".file_get_contents("multimodules/template/main.tpl")."</textarea></td></tr>"
."<tr><td>CSS стили:</td><td><textarea name=\"css\" cols=\"65\" rows=\"20\" style=\"width:500px\">".file_get_contents("multimodules/css/style_modules.css")."</textarea></td></tr>"
."<tr><td colspan=\"2\" align=\"center\"><input type=\"hidden\" name=\"op\" value=\"savemulti\"><input type=\"submit\" value=\"Сохранить\"></td></tr>"
."</form></table>";
CloseTable();
foot();
}


function savemulti() {
global $admin_file;
if (isset($_POST['xrefresh'])) {
$refresh = fopen("config/config_confmulti.php", "w");
fwrite($refresh, "<?php\nif (!defined(\"FUNC_FILE\")) die(\"Illegal File Access\");\n\n$"."mul['refresh']=\"".$_POST['xrefresh']."\";\n\n?>");
fclose($refresh);
}

if (isset($_POST['maintpl'])) {
$tplsave=$_POST['maintpl'];
if (get_magic_quotes_gpc()) $tplsave= stripslashes($tplsave);
//$tplsave= preg_replace("/&/si", "&amp;", $tplsave);
$maintpl= fopen("multimodules/template/main.tpl", "w");
fwrite($maintpl, $tplsave);
fclose($maintpl);
}

if (isset($_POST['css'])) {
$csssave=$_POST['css'];
if (get_magic_quotes_gpc()) $csssave= stripslashes($csssave);
$css= fopen("multimodules/css/style_modules.css", "w");
fwrite($css, $csssave);
fclose($css);
}
	Header("Location: ".$admin_file.".php?op=multiconf");
}

function multi_edit (){
global $prefix, $db, $admin_file;
if (isset($_GET['id']) && isset($_GET['mod'])) {
list($id, $title, $num, $time, $cache, $cut, $kol, $nap, $dimg, $order, $refresh, $cat, $active) = $db->sql_fetchrow($db->sql_query("SELECT `id`, `name` , `num` , `time` , `cache` , `cut` , `kol` , `nap` , `dimg` , `order` , `refresh` , `cat` , `active` FROM `".$prefix."_multim` WHERE id='".intval($_GET['id'])."'"));
$rep=array("news"=>"Настройки отображения Новостей", "files"=>"Настройки отображения Файлов", "games"=>"Настройки отображения Игр", "pages"=>"Настройки отображения Статьей", "lnews"=>"Настройки отображения Закрепленных новостей", "sms"=>"Настройки отображения Смсок");
$name=strtr($title,$rep);
$rep2=array("news"=>"новостей", "files"=>"файлов", "games"=>"игр", "pages"=>"статьей", "lnews"=>"закрепленных новостей", "sms"=>"смсок");
$name2=strtr($title,$rep2);
$title2=$title;
if ($title2=='lnews') $title2='locked-news';
head();
multnavi();

$permtpl = end_chmod("multimodules/template/$title2.tpl", 666);
if ($permtpl) warning($permtpl, "", "", 1);


OpenTable();
echo "<center><font class='option'>$name</font></center><br />"
."<form action='".$admin_file.".php' method='post'>"
."<table border='0' align='center' cellpadding='3' cellspacing='0'>";

if ($title!='lnews') echo "<tr><td>Количество выводимых $name2:</td><td><input type='text' name='num' value='$num' maxlength='45' size='45' style='width:300px;'></td></tr>";

echo "<tr><td>Время хранения кэша, в часах:<br /><small>* Время по истечении которого кэш будет обновлен</small></td><td><input type='text' name='time' value='$time' maxlength='45' size='45' style='width:300px;'></td></tr>";

echo "<tr><td>Включить кэширования для модуля:<br /><small>* Рекоммендуется, для уменьшения нагрузки на БД</small></td><td>"
."<select name=\"cache\"><option value=\"0\" ".multiselect($cache, 0).">Нет</option><option value=\"1\" ".multiselect($cache, 1).">Да</option></select></td></tr>";

if ($title=='news' || $title=='lnews') echo "<tr><td>Обрезать новость до:<br /><small>* Работает если у Вас нет краткого описания новости, а есть только полное (в стандартных версиях Slaed данная функция не нужна)</small></td><td><input type='text' name='cut' value='$cut' maxlength='45' size='45' style='width:300px;'> символов</td></tr>";

echo "<tr><td>Количество колонок при выводе $name2:</td><td>"
."<select name=\"kol\"><option value=\"1\" ".multiselect($kol, 1).">Одна</option><option value=\"2\" ".multiselect($kol, 2).">Две</option></select></td></tr>";

echo "<tr><td>Направление вывода $name2:</td><td>"
."<select name=\"nap\"><option value=\"1\" ".multiselect($nap, 1).">Вправо</option><option value=\"2\" ".multiselect($nap, 2).">Вниз</option></select></td></tr>";

if ($title!='games' && $title!='files'&& $title!='sms') {
echo "<tr><td>Удалять картинки при выводе $name2:<br /><small>* Убираем все картинки при выводе текста.</small></td><td>"
."<select name=\"dimg\"><option value=\"0\" ".multiselect($dimg, 0).">Нет</option><option value=\"1\" ".multiselect($dimg, 1).">Да</option></select></td></tr>";
}


if ($title=='lnews') {
$help="
<br /><small><b>{news_id}</b> - id новости<br />
<b>{cat_id}</b> - id категории, в которой находится новость<br />
<b>{user_add}</b> - никнэйм пользователя, который добавил новость<br />
<b>{title}</b> - название новости<br />
<b>{time}</b> - дата добавления новости<br />
<b>{hometext}</b> - краткое описание новости<br />
<b>{bodytext}</b> - полная новость<br />
<b>{comments}</b> - количество комментарий к новости<br />
<b>{counter}</b> - количество просмотров новости<br />
<b>{id_topic}</b> - id темы, в которой находится новость<br />
<b>{cat_title}</b> - название категории, в которой находится новость<br />
<b>{topicname}</b> - название темы, в которой находится новость<br />
<b>{topicimage}</b> - картинка темы, в которой находится новость<br />
<b>{topictext}</b> - описание темы, в которой находится новость</small>
";} elseif ($title=='news') {
$help="
<br /><small><b>{news_id}</b> - id новости<br />
<b>{cat_id}</b> - id категории, в которой находится новость<br />
<b>{user_add}</b> - никнэйм пользователя, который добавил новость<br />
<b>{title}</b> - название новости<br />
<b>{time}</b> - дата добавления новости<br />
<b>{hometext}</b> - краткое описание новости<br />
<b>{bodytext}</b> - полная новость<br />
<b>{comments}</b> - количество комментарий к новости<br />
<b>{counter}</b> - количество просмотров новости<br />
<b>{id_topic}</b> - id темы, в которой находится новость<br />
<b>{cat_title}</b> - название категории, в которой находится новость<br />
<b>{topicname}</b> - название темы, в которой находится новость<br />
<b>{topicimage}</b> - картинка темы, в которой находится новость<br />
<b>{topictext}</b> - описание темы, в которой находится новость</small>
";
echo "<tr><td>Сортировка $name2:</td><td>"
."<select name=\"order\"><option value=\"s.time\" ".multiselect($order, 's.time').">по времени</option><option value=\"counter\" ".multiselect($order, 'counter').">по просмотрам</option><option value=\"comments\" ".multiselect($order, 'comments').">по комментариям</option><option value=\"rand()\" ".multiselect($order, 'rand()').">случайно</option></select></td></tr>";
} elseif ($title=='files') {
$help="
<br /><small><b>{files_id}</b> - id данного файла<br />
<b>{cat_id}</b> - id категории, в которой находится файл<br />
<b>{name}</b> - никнэйм пользователя, который добавил файл<br />
<b>{title}</b> - название файла<br />
<b>{time}</b> - дата добавления файла<br />
<b>{description}</b> - описание файла<br />
<b>{comments}</b> - количество комментарий к файлу<br />
<b>{counter}</b> - количество просмотров файла<br />
<b>{img}</b> - картинка для файла<br />
<b>{cat_title}</b> - название категории, в которой находится файл<br />
<b>{link}</b> - ссылка на скачку файла</small>";
echo "<tr><td>Сортировка $name2:</td><td>"
."<select name=\"order\"><option value=\"f.date\" ".multiselect($order, 'f.date').">по времени</option><option value=\"f.hits\" ".multiselect($order, 'f.hits').">по просмотрам</option><option value=\"f.totalcomments\" ".multiselect($order, 'f.totalcomments').">по комментариям</option><option value=\"rand()\" ".multiselect($order, 'rand()').">случайно</option></select></td></tr>";
} elseif ($title=='games') {
$help="<br /><small>
<b>{games_id}</b> - id игры<br />
<b>{cat_id}</b> - id категории, в которой находится игра<br />
<b>{name}</b> - никнэйм пользователя, который добавил игру<br />
<b>{title}</b> - название игры<br />
<b>{time}</b> - дата добавления игры<br />
<b>{description}</b> - описание игры<br />
<b>{comments}</b> - количество комментарий к игре<br />
<b>{counter}</b> - количество просмотров игры<br />
<b>{img}</b> - картинка для игры<br />
<b>{cat_title}</b> - название категории, в которой находится игра<br />
<b>{link}</b> - ссылка на скачку игры</small>";

echo "<tr><td>Сортировка $name2:</td><td>"
."<select name=\"order\"><option value=\"g.date\" ".multiselect($order, 'g.date').">по времени</option><option value=\"g.hits\" ".multiselect($order, 'g.hits').">по просмотрам</option><option value=\"g.totalcomments\" ".multiselect($order, 'g.totalcomments').">по комментариям</option><option value=\"rand()\" ".multiselect($order, 'rand()').">случайно</option></select></td></tr>";
} elseif ($title=='pages') {
$help="<br /><small>
<b>{pages_id}</b> - id статьи<br />
<b>{cat_id}</b> - id категории, в которой находится статья<br />
<b>{title}</b> - название статьи<br />
<b>{time}</b> - дата добавления статьи<br />
<b>{article}</b> - краткое описание статьи<br />
<b>{counter}</b> - количество просмотров статьи<br />
<b>{cat_text}</b> - описание категории статьи<br />
<b>{cat_title}</b> - название категории, в которой находится статья</small>
";
echo "<tr><td>Сортировка $name2:</td><td>"
."<select name=\"order\"><option value=\"p.date\" ".multiselect($order, 'p.date').">по времени</option><option value=\"p.counter\" ".multiselect($order, 'p.counter').">по просмотрам</option><option value=\"rand()\" ".multiselect($order, 'rand()').">случайно</option></select></td></tr>";
} elseif ($title=='sms') {
$help="<br /><small>
<b>{sms_id}</b> - id смски<br />
<b>{cat_id}</b> - id категории, в которой находится смска<br />
<b>{author}</b> - никнэйм, добавившего смску<br />
<b>{time}</b> - дата добавления смски<br />
<b>{smska}</b> - текст самой смски<br />
<b>{rating}</b> - рейтинг смски<br />
<b>{cat_title}</b> - название категории, в которой находится смска</small>";
echo "<tr><td>Сортировка $name2:</td><td>"
."<select name=\"order\"><option value=\"s.date\" ".multiselect($order, 's.date').">по времени</option><option value=\"s.rating\" ".multiselect($order, 's.rating').">по рейтингу</option><option value=\"rand()\" ".multiselect($order, 'rand()').">случайно</option></select></td></tr>";
}


echo "<tr><td>GET параметр для обновления модуля $name2:</td><td><input type='text' name='refresh' value='$refresh' maxlength='45' size='45' style='width:300px;'></td></tr>";

if ($title!='lnews') echo "<tr><td>Ограничить вывод $name2 категориями:<br /><small>* Будет произведен вывод только из этих категорий (вводится через запятую)</small></td><td><input type='text' name='cat' value='$cat' maxlength='45' size='45' style='width:300px;'></td></tr>";
if ($title=='lnews') echo "<tr><td>Закрепить следующие новости:<br /><small>* Введите id новостей через запятую</small></td><td><input type='text' name='cat' value='$cat' maxlength='45' size='45' style='width:300px;'></td></tr>";

echo "<tr><td>Шаблон для модуля $name2:<br />$help</td><td><textarea name=\"modultpl\" cols=\"65\" rows=\"20\" style=\"width:500px\">".file_get_contents("multimodules/template/$title2.tpl")."</textarea></td></tr>";


echo "<tr><td colspan=\"2\" align=\"center\"><input type=\"hidden\" name=\"id\" value=\"$id\"><input type=\"hidden\" name=\"modul\" value=\"$title\"><input type=\"hidden\" name=\"op\" value=\"savemulti_edit\"><input type=\"submit\" value=\"Сохранить\"></td></tr>"
."</form></table>";
CloseTable();
foot();
} else Header("Location: ".$admin_file.".php?op=multimodul");
}


function savemulti_edit() {
global $prefix, $db, $admin_file;
$num='1';
$time='0';
$cache='0';
$cut='';
$kol='1';
$nap='1';
$dimg='0';
echo "isset(".$_POST['id'].") && isset(".$_POST['modul'].")";
if(isset($_POST['id']) && isset($_POST['modul'])) {
$title=$_POST['modul'];
$rep=array("news"=>"s.time", "files"=>"f.date", "games"=>"g.date", "pages"=>"p.date", "lnews"=>"", "sms"=>"s.rating");
$order=strtr($title,$rep);
$rep2=array("news"=>"multin", "files"=>"multif", "games"=>"multig", "pages"=>"multip", "lnews"=>"multinl", "sms"=>"multis");
$refresh=strtr($title,$rep2);
$id=intval($_POST['id']);
if(isset($_POST['num']) && $_POST['num']!='') $num=intval($_POST['num']);
if(isset($_POST['time']) && $_POST['time']!='') $time=intval($_POST['time']);
if(isset($_POST['cache']) && $_POST['cache']!='') $cache=intval($_POST['cache']);
if(isset($_POST['cut']) && $_POST['cut']!='') $cut=intval($_POST['cut']);
if(isset($_POST['kol']) && $_POST['kol']!='') $kol=intval($_POST['kol']);
if(isset($_POST['nap']) && $_POST['nap']!='') $nap=intval($_POST['nap']);
if(isset($_POST['dimg']) && $_POST['dimg']!='') $dimg=intval($_POST['dimg']);
if(isset($_POST['order']) && $_POST['order']!='') $order=$_POST['order'];
if(isset($_POST['refresh']) && $_POST['refresh']!='') $refresh=$_POST['refresh'];
if(isset($_POST['cat'])) $cat=$_POST['cat'];
if(isset($_POST['modultpl']) && $_POST['modultpl']!='') {
$title2=$title;
if ($title2=='lnews') $title2='locked-news';
$modultpl= fopen("multimodules/template/$title2.tpl", "w");
$tpl=$_POST['modultpl'];
if (get_magic_quotes_gpc()) $tpl= stripslashes($tpl);
//$tpl = preg_replace("/&/si", "&amp;", $tpl);

fwrite($modultpl, $tpl);
fclose($modultpl);
}
$db->sql_query("UPDATE ".$prefix."_multim SET `num`='$num', `time`='$time', `cache`='$cache', `cut`='$cut', `kol`='$kol', `nap`='$nap', `dimg`='$dimg', `order`='$order', `refresh`='$refresh', `cat`='$cat' WHERE id='$id'");
sqltophp ();
}
HEADER("Location: ".$_SERVER['HTTP_REFERER']);
}

function multiselect ($param, $zerro) {
if ($param==$zerro) $select="selected='selected'";
else $select="";
return $select;
}


function sqltophp () {
global $db, $prefix;
$content ="<?php\nif (!defined(\"FUNC_FILE\")) die(\"Illegal File Access\");\n\n";
$config='config/config-multimod.php';

static $massiv;
if (!is_array($massiv)) {
		$result = $db->sql_query("SELECT `name`, `num`, `time`, `cache`, `cut`, `kol`, `nap`, `dimg`, `order`, `refresh`, `cat`, `active` FROM `".$prefix."_multim`");
		while (list($name, $num, $time, $cache, $cut, $kol, $nap, $dimg, $order, $refresh, $cat, $active) = $db->sql_fetchrow($result)) $massiv[] = array($name, $num, $time, $cache, $cut, $kol, $nap, $dimg, $order, $refresh, $cat, $active);
	}


if ($massiv) {
foreach ($massiv as $key => $val) {
$content .= "$"."".$val[0]."['num']='".$val[1]."';\n";
$content .= "$"."".$val[0]."['time']='".$val[2]."';\n";
$content .= "$"."".$val[0]."['cache']='".$val[3]."';\n";
$content .= "$"."".$val[0]."['cut']='".$val[4]."';\n";
$content .= "$"."".$val[0]."['kol']='".$val[5]."';\n";
$content .= "$"."".$val[0]."['nap']='".$val[6]."';\n";
$content .= "$"."".$val[0]."['dimg']='".$val[7]."';\n";
$content .= "$"."".$val[0]."['order']='".$val[8]."';\n";
$content .= "$"."".$val[0]."['refresh']='".$val[9]."';\n";
$content .= "$"."".$val[0]."['cat']='".$val[10]."';\n";
$content .= "$"."".$val[0]."['active']='".$val[11]."';\n";
$content .= "\n\n\n";
}}

$content .= "\n\n?>";

$fp = fopen($config, "w");
fwrite($fp, $content);
fclose($fp);
}

switch ($op) {
	  case "multimodul":
    multimodul();
    break;

    case "multiconf":
    multiconf();
    break;

    case "savemulti":
    savemulti();
    break;

    case "multi_edit":
    multi_edit();
    break;

    case "savemulti_edit":
    savemulti_edit();
    break;
}

?>