Вход Регистрация
Файл: adm_redit.php
Строк: 181
<?php

/**
 * @author [FaNiska]
 * @copyright 2009
 * Загруз центр
 * Предложения, идеи, вопросы и об ошибках писать в icq 65-64-538 или на mobi-m-ru@ya.ru
 */

include 'inc/db_connect.php';
include 
'inc/function.php';
include 
'inc/set.php';
include 
'inc/adm_head.php';
require 
'inc/adm.php';
if (isset(
$_GET['act']) && $_GET['act'] == 'new')
{
    if (isset(
$_POST['name']) && isset($_POST['ok']))
    {
        if (
$_POST['name'] == null)
        {
            echo 
'<div>Ошибка. Нужно ввести название папки раздела, т.к. пустое имя недопустимо.</div>';
        } else
        {
            
$newdir_serv retranslit(esc($_POST['name'], 1));
            
$newdir_serv ereg_replace('^(([0-9]{1,3}))_(.*)''\1_\2'$newdir_serv);

            if (@
mkdir('files/' $newdir_serv0777))
            {
                @
chmod('files/' $newdir_serv0777);
                
$name esc($_POST['name'], 1);
                
$name ereg_replace('^(([0-9]{1,3}))_(.*)''\2'$name);
                
mysql_query("INSERT INTO `category` (`r_name`, `s_name`, `folder`) VALUES ('$name', 'files/$newdir_serv', 'files/');");
                
$sql 'CREATE TABLE IF NOT EXISTS `' $newdir_serv '` (
  `id` int(11) NOT NULL auto_increment,
  `id_p` int(11) NOT NULL,
  `type` set('
1','2') NOT NULL,
  `r_name` varchar(255) NOT NULL,
  `s_name` varchar(255) NOT NULL,
  `f_ras` varchar(16) NOT NULL,
  `folder` varchar(255) NOT NULL,
  `url_link` varchar(255) NOT NULL,
  `scr_link` varchar(255) NOT NULL,
  `ico` TINYINT(4) NOT NULL,
  `about` text NOT NULL,
  `s_about` text NOT NULL,
  `size` bigint(20) NOT NULL,
  `p_i_f` varchar(32) NOT NULL,
  `lastload` int(11) NOT NULL,
  `up_time` int(11) NOT NULL,
  `sizetime` int(11) NOT NULL,
  `plus` int(5) NOT NULL,
  `minus` int(5) NOT NULL,
  `por` int(11) NOT NULL,
  `gr_id` int(11) NOT NULL,
  `count` int(11) NOT NULL,
  PRIMARY KEY  (`id`),
  INDEX `id_p` (`id_p`),
  UNIQUE KEY `s_name` (`s_name`),
  INDEX `folder` (`folder`),
  INDEX `up_time` (`up_time`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;'
;
                
$res mysql_query($sql);
                echo 
"Раздел $name ($newdir_serv) успешно создана!";
            } else
            {
                echo 
"Ошибка при создании раздела $name ($newdir_serv)";
            }

        }
    } else
    {
        echo 
'<form action="" method="post">
<b>Название новой папки</b> (можно на русском, при создании <b>желательно использовать только буквы, цифры и знак подчеркивания _</b>. Позже имя раздела можно переименовать в любое.):<br />
<input type="text" value="" name="name" /><br />
<input type="submit" value="Создать" name="ok" />
</form>'
;
    }


} elseif (isset(
$_GET['act']) && $_GET['act'] == 'link')
{
    if (isset(
$_POST['ok']) && isset($_POST['c']))
    {
        if (
$_POST['c'] == null || valid_int($_POST['id']) == 0)
        {
            echo 
'<div>Ошибка. Пустое имя и ID не допустимы</div>';
        } else
        {
            
$c clean($_POST['c']);
            
$query mysql_query("SELECT * FROM `$c` WHERE `id`='" valid_int($_POST['id']) . "' && `type`='1' LIMIT 1");
            if (
mysql_num_rows($query) == 1)
            {
                
$result mysql_fetch_array($query);
                
$name $result['r_name'];
                if (
mysql_query("INSERT INTO `category` (`r_name`, `s_name`, `folder`) VALUES (" quote_smart($name) . ", 'link', '$c|" valid_int($_POST['id']) . "');"))
                {
                    echo 
'<div>ПодРаздел, Ссылка <b>' $name ' успешно созданы</b></div>';
                } else
                {
                    echo 
'<div>ПодРаздел, Ссылка <b>' $name ' не созданы</b></div>';
                }


            } else
            {
                echo 
'<div>Папка с указанным ID <b>' valid_int($_POST['id']) . ' не найдена</b></div>';
            }


        }
    } else
    {
        echo 
'<form action="" method="post">
выберите категорию:<br />
<select name="c">'
;
        
$category mysql_query("SELECT * FROM `category` WHERE `s_name`!='vlink' && `s_name`!='vrazdel' && `s_name`!='link' ORDER BY `por`;");
        while (
$cat mysql_fetch_array($category))
        {
            
$table str_replace('files/'''$cat['s_name']);
            
$table strtok($table'/');
            echo 
'
<option value="' 
$table '">' $cat['r_name'] . '</option>
            '
;
        }
        echo 
'</select><br />
        Укажите ID папки <br />
<input type="text" name="id" value=""/><br />
(название и счетчик папки, id которой вы укажете будут выводится на главную страницу ЗЦ)<br />
<input type="submit" value="Создать" name="ok" />
</form>'
;
    }


} elseif (isset(
$_GET['act']) && $_GET['act'] == 'vlink')
{
    if (isset(
$_POST['ok']) && isset($_POST['name']) && isset($_POST['link']))
    {
        if (
$_POST['name'] == null || strlen($_POST['name']) <= || $_POST['link'] == null)
        {
            echo 
'<div>Ошибка. Нужно ввести название ссылки и адрес, т.к. пустые значения или значения длиной меньше 3 символов недопустимо.</div>';
        } else
        {
            
$name esc($_POST['name'], 1);
            
$link esc($_POST['link'], 1);
            if (
mysql_query("INSERT INTO `category` (`r_name`, `s_name`, `folder`) VALUES (" quote_smart($name) . ", 'vlink', " quote_smart($link) . ");"))
            {
                echo 
'<div>Ссылка <b>' $name ' успешно создана</b></div>';
            } else
            {
                echo 
'<div>Ссылка <b>' $name ' не создана</b></div>';
            }

        }
    } else
    {
        echo 
'<form action="" method="post">
<b>Название ссылки</b>:<br />
<input type="text" value="" name="name" /><br />
<b>Адрес ссылки</b>:<br />
<input type="text" value="" name="link" /><br />
<input type="submit" value="Создать" name="ok" />
</form>'
;
    }


} elseif (isset(
$_GET['act']) && $_GET['act'] == 'raz')
{
    if (isset(
$_POST['ok']) && isset($_POST['name']))
    {
        if (
$_POST['name'] == null || strlen($_POST['name']) <= 3)
        {
            echo 
'<div>Ошибка. Нужно ввести название папки раздела, т.к. пустое имя или имя длиной меньше 3 символов недопустимо.</div>';
        } else
        {
            
$name esc($_POST['name'], 1);
            if (
mysql_query("INSERT INTO `category` (`r_name`, `s_name`, `folder`) VALUES (" quote_smart($name) . ", 'vrazdel', 'files/');"))
            {
                echo 
'<div>Раздел <b>' $name ' успешно создан</b></div>';
            } else
            {
                echo 
'<div>Раздел <b>' $name ' не создан</b></div>';
            }

        }
    } else
    {
        echo 
'<form action="" method="post">
<b>Название нового раздела</b> (Это не каталог, это просто текстовый раздел для визуального оформления сайта. Позже имя раздела можно переименовать в любое.):<br />
<input type="text" value="" name="name" /><br />
<input type="submit" value="Создать" name="ok" />
</form>'
;
    }


} elseif (isset(
$_GET['act']) && isset($_GET['cat_id']) && $_GET['act'] == 'rename')
{
    
$cat_id valid_int($_GET['cat_id']);
    if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `category` WHERE `id` = '$cat_id'"), 0) == 0)
    {
        echo 
'<div>Произошла ошибка при выборе раздела. Раздела с ID=' $cat_id ' не существует</div>';
    } elseif (isset(
$_POST['cat_id']) && isset($_POST['name']))
    {
        
$cat_id valid_int($_POST['cat_id']);
        
mysql_query("UPDATE `category` SET `r_name`=" quote_smart($_POST['name']) . " WHERE `id`=$cat_id;");
        echo 
'<div>Категория ID=' $cat_id ' переименована и имеет название ' $_POST['name'] . '</div><br />';
    } else
    {
        
$cat mysql_fetch_array(mysql_query('SELECT * FROM `category` WHERE `id`=' $cat_id ' LIMIT 1;'));
        echo 
'<form action="?act=rename&amp;cat_id=' $cat['id'] . '" method="post">
<input type="hidden" value="' 
$cat_id '" name="cat_id" />
Название раздела:
<input type="text" value="' 
$cat['r_name'] . '" name="name" />
<input type="submit" value="Изменить" />
</form>'
;
    }
} elseif (isset(
$_GET['act']) && isset($_GET['cat_id']) && $_GET['act'] == 'ico')
{
    
$cat_id valid_int($_GET['cat_id']);
    if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `category` WHERE `id` = '$cat_id'"), 0) == 0)
    {
        echo 
'<div>Произошла ошибка при выборе раздела. Раздела с ID=' $cat_id ' не существует</div>';
    } elseif (isset(
$_GET['i']))
    {
        
$cat mysql_fetch_array(mysql_query('SELECT * FROM `category` WHERE `id`=' $cat_id ' LIMIT 1;'));
        echo 
'<div>Выбор иконки для раздела <b>' $cat['r_name'] . '</b></div><div>';
        
$i valid_int($_GET['i']);
        if (
is_file('ico/' $i '.gif'))
        {
            
mysql_query("UPDATE `category` SET `ico`='$i' WHERE `id`='$cat[id]';");
            echo 
'<div>Иконка обновлена</div>';
        } else
        {
            echo 
'<div>Ошибка. Выбранная иконка не найдена.</div>';
        }
        echo 
'</div>';
    } else
    {
        
$cat mysql_fetch_array(mysql_query('SELECT * FROM `category` WHERE `id`=' $cat_id ' LIMIT 1;'));
        echo 
'<div>Выбор иконки для раздела <b>' $cat['r_name'] . '</b></div><div>';
        
$k_post 100;
        
$k_page k_page($k_post$step);
        
$page page($k_page);
        
$start $step $page $step;
        for (
$i $start$i < ($start $step); $i++)
        {
            echo 
'<a href="?act=ico&amp;cat_id=' $cat['id'] . '&amp;i=' $i '"><img src="ico/' $i '.gif" alt="' $i '" width="16" height="16" /></a> ';
        }
        echo 
'</div>';
        
$str str("?act=ico&amp;cat_id=$cat_id&amp;step=$step&amp;"$k_page$page); // Вывод страниц
        
echo $str;
    }


} elseif (isset(
$_GET['act']) && isset($_GET['cat_id']) && $_GET['act'] == 'delete')
{
    
$cat_id valid_int($_GET['cat_id']);

    if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `category` WHERE `id` = '$cat_id'"), 0) == 0)
    {
        echo 
'<div>Произошла ошибка при выборе раздела. Раздела с ID=' $cat_id ' не существует</div>';
    } else
    {
        
$cat mysql_fetch_array(mysql_query('SELECT * FROM `category` WHERE `id`=' $cat_id ' LIMIT 1;'));
        
$cat['s_name'] = str_replace('files/'''$cat['s_name']);
        if (isset(
$_GET['yes']) && $_GET['yes'] == 'yes')
        {
            
mysql_query("DELETE FROM `category` WHERE `id` = $cat_id LIMIT 1;");
            
mysql_query("DROP TABLE `$cat[s_name]`;");
            
mysql_query("OPTIMIZE TABLE `category`;");
            echo 
'<div>Раздел успешно удален!</div>';
        } else
        {
            echo 
'<div>Внимание. Данное удаление никак не коснется файлов на сервере. Однако если вы удаляете категорию файлов, то описания и названия будут стерты из бд. Подтвердите свой выбор.<br />
        <a href="?act=delete&amp;cat_id=' 
$cat['id'] . '&amp;yes=yes">Подтверждаю. Удалить!</a> | <a href="?">Отмена</a></div>';

        }

    }


} elseif (isset(
$_GET['act']) && isset($_GET['cat_id']) && $_GET['act'] == 'up')
{
    
$cat_id valid_int($_GET['cat_id']);
    if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `category` WHERE `id` = '$cat_id'"), 0) == 0)
    {
        echo 
'<div>Произошла ошибка при выборе раздела. Раздела с ID=' $cat_id ' не существует</div>';
    } else
    {
        
$cat mysql_fetch_array(mysql_query('SELECT * FROM `category` WHERE `id`=' $cat_id ' LIMIT 1;'));
        
mysql_query("UPDATE `category` SET `por`=`por`-1 WHERE `id`=$cat[id];");
    }
} elseif (isset(
$_GET['act']) && isset($_GET['cat_id']) && isset($_GET['act']) == 'down')
{
    
$cat_id valid_int($_GET['cat_id']);
    if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `category` WHERE `id` = '$cat_id'"), 0) == 0)
    {
        echo 
'<div>Произошла ошибка при выборе раздела. Раздела с ID=' $cat_id ' не существует</div>';
    } else
    {
        
$cat mysql_fetch_array(mysql_query('SELECT * FROM `category` WHERE `id`=' $cat_id ' LIMIT 1;'));
        
mysql_query("UPDATE `category` SET `por`=`por`+1 WHERE `id`=$cat[id];");
    }
}


mysql_query("OPTIMIZE TABLE `category`;");
echo 
'<div class="title">Управление разделами</div>';
$query mysql_query('SELECT * FROM `category` ORDER BY `por`;');
echo 
'<table border="1" width="100%">';
while (
$spisok mysql_fetch_array($query))
{
    echo 
'<tr><td><img src="ico/' $spisok['ico'] . '.gif" alt="+" width="16" height="16" />  <b>' $spisok['r_name'] . '</b> </td><td> <a href="?act=rename&amp;cat_id=' $spisok['id'] . '">переим.</a> : <a href="?act=ico&amp;cat_id=' $spisok['id'] . '">иконка</a> : <a href="?act=delete&amp;cat_id=' $spisok['id'] . '">удалить</a> : [<a href="?act=up&amp;cat_id=' $spisok['id'] . '">up</a> (' $spisok['por'] . ') <a href="?act=down&amp;cat_id=' $spisok['id'] . '">down</a>] </td></tr>';
}
echo 
'</table>';
echo 
'<br />
<div>
<b>[1]</b><a href="?act=new">Создать категорию файлов</a><br />
<b>[2]</b><a href="?act=raz">Создать раздел ЗЦ</a><br />
<b>[3]</b><a href="?act=vlink">Создать ссылку</a><br />
<b>[4]</b><a href="?act=link">вывести ссылку папки зц на главную</a></div>'
;

echo 
'<div><img src="ext/back.gif" alt="|_" width="16" height="16" /> <a href="adm_index.php">Админка ЗЦ</a></div>';
echo 
'<div><img src="ext/back.gif" alt="|_" width="16" height="16" /> <a href="adm_redit.php">Разделы ЗЦ</a></div><hr />';
include 
'inc/adm_foot.php';

?>
Онлайн: 1
Реклама