<?PHP
if (!isset($priv) || !isset($HTTP_SESSION_VARS['privilege']) || $priv == '' || $priv < 1
|| $priv > 5
|| !isset($user_login) || !isset($HTTP_SESSION_VARS['user_login']) || $userlogin == '' || !isset($userid) || !isset($HTTP_SESSION_VARS['user_id']) || $userid == '') {
Header("Location: start.php?exit"); }
// Построение дерева
include("functions.php");
function build_tree($idp)
{
global $id_sec;
$result = mysql_query("select id, name from grandi_catalog where idp = $idp and isprod=0 order by sort"); {
if ($id == $id_sec)
{
?>
node_<?=$id?> = node_<?=$idp?>.addItem(new TreeNode('<b><?=$name?></b>', 'folder.gif', null, false, true, '', '', 'folderopen.gif'));
<?PHP
}
else
{
?>
node_<?=$id?> = node_<?=$idp?>.addItem(new TreeNode('<a href="index.php?catalog_view+&id=<?=$id?>"><?=$name?></a>', 'folder.gif', null, false, true, '', '', 'folderopen.gif'));
<?PHP
}
build_tree($id);
}
}
// рекурсивное удаление всех разделов и товаров заданного раздела
function delete_cat($id_ed) {
$result = mysql_query("select id from grandi_catalog where idp = $id_ed order by id"); delete_cat($id);
$result = mysql_query("DELETE from grandi_catalog WHERE id = $id_ed"); }
function print_section() {
global $id_sec;
$resultat = mysql_query("SELECT id,name,idheaders,type1,type2,type3,string1,string2,hide,number1,number2,number3,number4,new FROM grandi_catalog WHERE idp = $id_sec and isprod=1 ORDER BY sort");
?><p class="head" align=left>Список разделов:
<table width=100% border="1" bordercolor="#e1e7ec" style="border-collapse: collapse;">
<tr>
<td colspan=6 align=center class="Header01"><strong>Действия</strong></td>
<td class="Header01" width=100%> <b>Раздел</b> </td>
</tr><?
{
?><tr>
<td align=center><input name="prod_<?=$pr[id]?>" type="checkbox" class=checkbox></td>
<td align=center><img src="Images/edit.gif" alt="Редактировать" border="0"></td>
<td align=center><a href="javascript:enter('delete',0,<?=$pr[id]?>);"><img src="Images/delete.gif" alt="Удалить" border="0"></a></td>
<td align=center><? if($pr[hide]) { ?><a href="javascript:enter('activate',0,<?=$pr[id]?>);"><img src="Images/off.gif" alt="Активировать" border="0"></a><?}else{?><a href="javascript:enter('deactivate',0,<?=$pr[id]?>);"><img src="Images/on.gif" alt="Деактивировать" border="0"></a><?}?></td>
<td align=center><a href="javascript:enter('up',0,<?=$pr[id]?>);"><img src="Images/up.gif" alt="Поднять" border="0"></a></td>
<td align=center><a href="javascript:enter('down',0,<?=$pr[id]?>);"><img src="Images/down.gif" alt="Опустить" border="0"></a></td>
<td align=left> <a href="index.php?catalog_view+&id=<?=$pr[id]?>" title="Редактировать"><b><?=$pr[name]?></b></a> </td>
</tr>
<?
}
?>
<tr>
<td colspan=7 align=left>
С отмеченными: <a href="javascript:enter('activate',0,0);"><img src="Images/on.gif" alt="Активировать" border="0"></a> <a href="javascript:enter('deactivate',0,0);"><img src="Images/off.gif" alt="Деактивировать" border="0"></a> <a href="javascript:enter('delete',0,0);"><img src="Images/delete.gif" alt="Удалить" border="0"></a>
</td>
</table><?
}
}
// вывод продукции
function print_production()
{
$num = 550;
// Извлекаем из URL текущую страницу
$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$res = mysql_query("SELECT COUNT(*) FROM grandi_catalog"); // Находим общее число страниц
$total = intval(($posts - 1
) / $num) + 1; // Определяем начало сообщений для текущей страницы
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or
$page < 0
) $page = 1; if($page > $total) $page = $total;
// Вычисляем начиная к какого номера
// следует выводить сообщения
$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
// :KLUDGE: tmh 040928: Сложный запрос
// Возможно будет замедлять работу системы
// Проверить на объеме данных от 10000 до 100000 строк
// При необходимости оптимизировать таблицу и наложить соответсвующие индексы.
global $id_sec;
$res = mysql_query("SELECT id,name,idheaders,type1,type2,type3,string1,string2,hide,number1,number2,number3,number4,new FROM grandi_catalog WHERE idp = $id_sec and isprod=1 ORDER BY sort LIMIT $start, $num"); $i = 0;
{
$i++;
// :TODO: tmh 040928: Надо решить, будут ли типы изменяемые
// Если типы не будут изменяться, убрать блок проверки
if($idheaders != $pr[idheaders]){
if($naim == $head[0] && $tp1 == $head[1] && $tp2 == $head[2] && $tp3 == $head[3]) {}
else{
if($idheaders) {?></table><?}
$idheaders = $pr[idheaders];
$naim = $head[0];
$tp1 = $head[1];
$tp2 = $head[2];
$tp3 = $head[3];
$s1 = $head[4];
$s2 = $head[5];
$p1 = $head[14];
$p2 = $head[15];
$p3 = $head[16];
$p4 = $head[17];
$p5 = $head[18];
?>
<p class="head" align=left>Список продукции:
<table width=100% border="1" bordercolor="#e1e7ec" style="border-collapse: collapse;"><tr>
<td colspan=6 align=center class="Header01"> <strong>Действия</strong> </td>
<td class="Header01"> <b><?=$naim?></b> </td>
<?if($tp1){?><td align=center class="Header01" nowrap> <b><?=$tp1?></b> </td><?}?>
<?if($p1){?><td align=center class="Header01" nowrap> <b><?=$p1?></b> </td><?}?>
<?if($p2){?><td align=center class="Header01" nowrap> <b><?=$p2?></b> </td><?}?>
<?if($p3){?><td align=center class="Header01" nowrap> <b><?=$p3?></b> </td><?}?>
<?if($p4){?><td align=center class="Header01" nowrap> <b><?=$p4?></b> </td><?}?>
</tr><?
}
if ($page != 1) $pervpage = '<a href= /grandi/index.php?catalog_view+&id=4555><<</a>
<a href= /grandi/index.php?catalog_view+&id=4555&str='. ($page - 1) .'><</a> ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' <a href= /grandi/index.php?catalog_view+&id=4555&str='. ($page + 1) .'>></a>
<a href= /grandi/index.php?catalog_view+&id=4555&str=' .$total. '>>></a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left = ' <a href= /grandi/index.php?catalog_view+&id=4555&str='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href= /grandi/index.php?catalog_view+&id=4555&str='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 2 <= $total) $page2right = ' | <a href= /grandi/index.php?catalog_view+&id=4555&str='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href= /grandi/index.php?catalog_view+&id=4555&str='. ($page + 1) .'>'. ($page + 1) .'</a>';
// Вывод меню
echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage;
}
?>
<tr>
<td align=center><input id="checkbox_prod_<?= $pr[id] ?>" name="prod_<?=$pr[id]?>" type="checkbox" class=checkbox></td>
<td align=center><a href="index.php?catalog_edit+&id=<?=$pr[id]?>" title="Редактировать"><img src="Images/edit.gif" alt="Редактировать" border="0"></a></td>
<td align=center><a href="javascript:enter('delete',1,<?=$pr[id]?>);"><img src="Images/delete.gif" alt="Удалить" border="0"></a></td>
<td align=center><? if($pr[hide]) { ?><a href="javascript:enter('activate',1,<?=$pr[id]?>);"><img src="Images/off.gif" alt="Активировать" border="0"></a><?}else{?><a href="javascript:enter('deactivate',1,<?=$pr[id]?>);"><img src="Images/on.gif" alt="Деактивировать" border="0"></a><?}?></td>
<td align=center><a href="javascript:enter('up',1,<?=$pr[id]?>);"><img src="Images/up.gif" alt="Поднять" border="0"></a></td>
<td align=center><a href="javascript:enter('down',1,<?=$pr[id]?>);"><img src="Images/down.gif" alt="Опустить" border="0"></a></td>
<td width=100%> <a href="index.php?catalog_edit+&id=<?=$pr[id]?>" title="Редактировать"><?=$pr[name]?></a> </td>
<?if($tp1){?><td align=center> <?=$pr[type1]?> </td><?}?>
<?if($p1){?><td align=center> <?=$pr[number1]?> </td><?}?>
<?if($p2){?><td align=center> <?=$pr[number2]?> </td><?}?>
<?if($p3){?><td align=center> <?=$pr[number3]?> </td><?}?>
<?if($p4){?><td align=center> <?=$pr[number4]?> </td><?}?>
</tr>
<?
}
if($i)
{?>
<tr>
<td colspan=7 align=left>
С отмеченными: <a href="javascript:enter('activate',1,0);"><img src="Images/on.gif" alt="Активировать" border="0"></a> <a href="javascript:enter('deactivate',1,0);"><img src="Images/off.gif" alt="Деактивировать" border="0"></a> <a href="javascript:enter('delete',1,0);"><img src="Images/delete.gif" alt="Удалить" border="0"></a>
</td>
<?if($p1 || $p2 || $p3 || $p4 || $p5){?>
<td colspan=5 align=right><input type=submit class=button value="Применить"></td>
<?}?>
</tr>
</table>
<?}?>
<?
}
// Удалить одно наименование продукции
function delete_prod($id) {
//list($idp,$name,$isprod) = mysql_fetch_array(mysql_query("select idp,name,isprod from grandi_catalog where id = $id"));
if ($isprod) {
//$del = "delete from grandi_catalog where idp = $idp and name = '".$name."' and isprod = 1";
$del = "delete from grandi_catalog where id = $id and isprod = 1 limit 1";
}
else{
$sel = mysql_query("select id from grandi_catalog where idp = $id"); $del = "delete from grandi_catalog where id = $id limit 1";
}
}
// Функция активации/деактивации продукции
function activate_prod($id,$hide) {
//list($idp,$name) = mysql_fetch_array(mysql_query("select idp,name from grandi_catalog where id = $id"));
//$upd = "update grandi_catalog set hide = '".$hide."' where idp = $idp and name = '".$name."' ";
$upd = "update grandi_catalog set hide = '".$hide."' where id = $id limit 1";
}
// функция подъема/опускания продукции
function lift_prod($id,$lift)
{
if($lift == "up")
{
$sel = "select max(sort) from grandi_catalog where idp = $idp and sort < $sort ";
}else if($lift == "down")
{
$sel = "select min(sort) from grandi_catalog where idp = $idp and sort > $sort ";
}else{
print "Bad arguments";
return;
}
if($sort2)
{
$upd1 = "update grandi_catalog set sort = '-1' where idp = $idp and sort = $sort";
$upd2 = "update grandi_catalog set sort = $sort where idp = $idp and sort = $sort2";
$upd3 = "update grandi_catalog set sort = $sort2 where idp = $idp and sort = '-1'";
}
}
function update_cat($id) {
//NAF
//NAF
$hasmore = 'n';
foreach ($_POST as $key => $value) {
if ($hasmore == 'n' && $value && $key != 'cat_number1' && $key != 'cat_name' && $key != 'cat_isprod') $hasmore = 'y';
if (substr($key, 0, 4) == "cat_") { }
if (substr($key, 4, 4) == "text") { $value = grandi_string_del_html
($value, substr($key, 4
)); }
$arr[] = substr($key, 4)." = '".$value."'"; }
}
mysql_query("update grandi_catalog set ".implode(", ", $arr).", hasmore = '$hasmore' where id = '{$id}' limit 1");
if (!$row || $row[path] == "") {
return;
}
}
function add_cat($id) {
//NAF
$uploaddir = $_SERVER['DOCUMENT_ROOT'].'/images/products/';
$uploadfile=$uploaddir.$upfiled;
$small_name=$uploaddir.'thumb_list/'.$upfiled;
$medium_name=$uploaddir.'thumb_prev/'.$upfiled;
img_resize($uploadfile, $medium_name, 320, 240);
img_resize($uploadfile, $small_name, 100, 100);
chmod($small_name, 0755
); chmod($uploadfile, 0755
); chmod($medium_name, 0755
); $_POST[cat_photo]=$upfiled;
//NAF
if ($id == 0) {
return;
}
$hasmore = 'n';
foreach ($_POST as $key => $value) {
if ($hasmore == 'n' && $value && $key != 'cat_number1' && $key != 'cat_name' && $key != 'cat_isprod') $hasmore = 'y';
if (substr($key, 0, 4) == "cat_") { }
$value = grandi_string_del_html
($value, substr($key, 4
)); $arr[] = substr($key, 4)." = '".$value."'"; }
}
if ($_POST[cat_isprod]) {
mysql_query("insert into grandi_catalog set ".implode(", ", $arr).", idp = '{$id}', idheaders = 1, sort = '".($sort + 1)."', hasmore = '$hasmore'"); }
else {
mysql_query("insert into grandi_catalog set ".implode(", ", $arr).", idp = '{$id}', idheaders = 0, sort = '".($sort + 1)."', links = 'Полезные ссылки'"); }
}
function select_print_files
($dir, $root = "", $selected = array()) {
while (($file = readdir($dh)) !== false) { $root_file = $root == "" ? $file : $root."/".$file;
if ($file == "." || $file == ".." || $file == "thumb_list" || $file == "thumb_prev") {
;
}
else if (is_dir($dir."/".$file)) { select_print_files($dir."/".$file, $root_file, $selected);
}
else if (is_file($dir."/".$file)) { echo "<option value=\"{$root_file}\" selected=\"selected\">{$root_file}</option>";
}
else {
echo "<option value=\"{$root_file}\">{$root_file}</option>";
}
}
}
}
return $files;
}
?>