Файл: admin/opsos.php
Строк: 68
<?
require'../config.php';
$align='left';
$title='Добавление оператора';
include '../style/head.php';
aut();
levels(9);
if (isset($_POST['min']) && isset($_POST['max']) && isset($_POST['opsos']))
    {
     if (!ereg("^([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})$",$_POST['min']))
     $err='Неверный формат IP';
     if (!ereg("^([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})$",$_POST['max']))
     $err='Неверный формат IP';
     if ($_POST['opsos']==NULL)
     $err='Введите название оператора';
     $min=ip2long($_POST['min']);
     $max=ip2long($_POST['max']);
     $opsos=mysql_real_escape_string($_POST['opsos']);
     if ($db->sql_fetchfield($db->sql_query("SELECT COUNT(*) FROM `opsos` WHERE `min` <= '$max' AND `max` >= '$max' OR `min` <= '$min' AND `max` >= '$min'"), 0)!=0)
        {
         $err[]='Данный диапазон пересекается соследующими операторами:';
         $q=$db->sql_query("SELECT * FROM `opsos` WHERE `min` <= '$max' AND `max` >= '$max' OR `min` <= '$min' AND `max` >= '$min'");
         while ($opsos=$db->sql_fetchrow($q))
            {
             $err[]=$opsos['opsos'];
            }
        }
     elseif (!isset($err))
        {
         $db->sql_query("INSERT INTO `opsos` (`min`, `max`, `opsos`)
         values('$min', '$max', '$opsos')",$db);
         echo 'Диапазон успешно добавлен';
        }
    }
if (isset($_GET['delmin'])  && isset($_GET['delmax']) &&
 $db->sql_fetchfield($db->sql_query("SELECT COUNT(*) FROM `opsos` WHERE `min` = '".$_GET['delmin']."' AND `max` = '".$_GET['delmax']."' LIMIT 1",$db), 0)!=0)
    {
     $db->sql_query("DELETE FROM `opsos` WHERE `min` = '".$_GET['delmin']."' AND `max` = '".$_GET['delmax']."' LIMIT 1");
     $db->sql_query("OPTIMIZE TABLE `opsos`");
    }
if (empty($user['max']))
$user['max']=10;
$max = $user['max'];
$k_post=$db->sql_fetchfield($db->sql_query("SELECT COUNT(*) FROM `opsos`"),0);
$k_page=k_page($k_post,$max);
$page=page($k_page);
$start=$max*$page-$max;
echo "<table class='post'>n";
if ($k_post==0)
    {
     echo "   <tr>n";
     echo "  <td class='p_t'>n";
     echo "Нет операторовn";
     echo "  </td>n";
     echo "   </tr>n";
    }
$q=$db->sql_query("SELECT * FROM `opsos` ORDER BY `opsos` ASC LIMIT $start, $max");
while ($post = $db->sql_fetchrow($q))
    {
     echo "   <tr>n";
     echo "  <td class='p_t'>n";
     echo long2ip($post['min']).' - '.long2ip($post['max']);
     echo "  </td>n";
     echo "   </tr>n";
     echo "   <tr>n";
     echo "  <td class='p_m'>n";
     echo "$post[opsos]<br />n";
     echo "<a href="?page=$page&delmin=$post[min]&delmax=$post[max]">Удалить</a><br />n";
     echo "  </td>n";
     echo "   </tr>n";
    }
echo "</table>n";
if ($k_page>1)str('?',$k_page,$page); // Вывод страниц
echo "<form method="post" action="">n";
echo "Начальный IP адрес:<br />n<input name="min" size="16"  value="" type="text" /><br />n";
echo "Завершающий IP:<br />n<input name="max" size="16" value="" type="text" /><br />n";
echo "Оператор:<br />n<input name="opsos" size="16" value="$opsos" type="text" /><br />n";
echo "<input value="Добавить" type="submit" />n";
echo "</form>n";
echo gb.'<a href="index">В админку</a><br />'.div;
include '../style/foot.php';
?>