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

require 'system/sid.php';
require 
'system/config.php';
include 
'system/user.php';
include 
'system/head.php';
include 
'system/navigator.php';

whorm(0'coded');

echo 
$div_title 'Полезные функции' $div_end;

    
$do = isset($_GET['do']) ? $_GET['do'] : NULL;
    switch(
$do)
    {
    default:
        echo 
$div_menu '<a href="?do=create">Добавить код</a>' $div_end;

        if (
$user['level'] == 5)
        {
            echo 
$div_menu '<a href="?do=coded_r">Управление разделами</a>' $div_end;
        }

        
$look mysql_result(mysql_query("SELECT COUNT(id) FROM `coded_razdel`"), 0);
        if (
$look != false) {
             
$n = new navigator($look10'?');

             
$result mysql_query("SELECT `coded_razdel`.*, 
                                  (SELECT COUNT(id) FROM `coded_article` WHERE `coded_razdel`.`id` = `coded_article`.`uid`) AS c,
                                  (SELECT COUNT(id) FROM `coded_article` WHERE `coded_razdel`.`id` = `coded_article`.`uid`
                                  AND `coded_article`.`date` > '" 
. (time() - 86400) . "') AS a FROM `coded_razdel` ORDER BY `coded_razdel`.`id` ASC {$n->limit}");

            
$i 0;
              while(
$sql mysql_fetch_assoc($result)) {

                
$new_file = (!empty($sql['a'])) ? '<span style="color: #FF0000;">+' $sql['a'] . '</span>' '';

                echo (
$i ++ % 2) ? $div_tworazdel $div_razdel;
                echo 
'&raquo; <a href="codcat-razdel-'.$sql['id'].'">'.$sql['name'].'</a> (' $sql['c'] . ')' $new_file $div_end;
            }
            echo 
$n->navi();
        } else {
            echo 
'Разделы еще не созданы.<br/>';
        }
    break;

// Управление
    
case coded_r:
        if (
$user['level'] != 5)
        {
            
header('Location: coded.php');
            die();
        }
        echo 
'<form method="post" action="coded.php?do=coded_r">
              <label for="q">Новый раздел</label>:
              <br/>
              <input type="text" id="q" name="new"/>
              <br/>
              <input type="submit" name="create" value="Создать"/>
              </form>' 
$block;

        
// создание раздела
        
if (isset($_POST['create']))
        {
            
$new trim(mysql_real_escape_string(check($_POST['new'])));

            
$em mysql_query("SELECT `id` FROM `coded_razdel` WHERE `name` = '$new' LIMIT 1");

            if (empty(
$new)) {
                
err('Пустое название раздела!');
            } elseif (
mysql_num_rows($em) != FALSE) {
                
err('Раздел с таким названием уже создан!');
            } else {
                
mysql_query("INSERT INTO `coded_razdel` SET `name` = '$new'");
                
header('Location: coded.php?do=coded_r');
            }
        }

        
// удаление раздела
        
if (isset($_GET['x']))
        {
            
$x my_int($_GET['x']);

            
$sql mysql_query("SELECT `id` FROM `coded_razdel` WHERE `id` = '$x' LIMIT 1");

            if (
mysql_num_rows($sql) == FALSE) {
                
err('Раздел не найден!');
            } else {
                
$in mysql_fetch_assoc(mysql_query("SELECT `path` FROM `coded_article` WHERE `uid` = '$x' LIMIT 1"));
                
// удаление статей
                
mysql_query("DELETE FROM `coded_article` WHERE `uid` = '$x'");
                
// удаление раздела
                
mysql_query("DELETE FROM `coded_razdel` WHERE `id` = '$x' LIMIT 1");
                
header('Location: coded.php?do=coded_r');
            }

        }

        
// вывод разделов
        
$count mysql_result(mysql_query("SELECT COUNT(id) FROM `coded_razdel`"), 0);

        if (
$count != FALSE) {

            
$n = new navigator($count10'?do=coded_r');

            
$view mysql_query("SELECT `coded_razdel`.*,(SELECT COUNT(id) FROM `coded_article` WHERE `coded_razdel`.`id` = `coded_article`.`uid`) AS c FROM `coded_razdel` ORDER BY `coded_razdel`.`id` DESC {$n->limit}");
            
$i 0;

            while(
$a mysql_fetch_assoc($view)) {

                
$d '<a href="coddelete-coded_r-'.$a['id'].'"><span class="next"><img src="ico/delete.png" alt=""/></span></a>&nbsp;';
                
$e '<a href="codedit-coded_edit-'.$a['id'].'"><span class="next"><img src="ico/edit.png" alt=""/></span></a> ';

                echo (
$i ++ % 2) ? $div_tworazdel $div_razdel;
                echo 
$e $d $a['name'] . ' (' $a['c'] . ')' $div_end;

            }

            echo 
$n->navi();

        } else {
        
            echo 
'Разделы не созданы.<br/>';

        }
    break;

// Редактирование раздела
    
case coded_edit:
        if (
$user['level'] != 5)
        {
            
header('Location: coded.php');
            die();
        }
            
$x my_int($_GET['x']);

            
$sql mysql_query("SELECT * FROM `coded_razdel` WHERE `id` = '$x' LIMIT 1");

            if (isset(
$_POST['go'])) {
                
$edit trim(mysql_real_escape_string(check($_POST['edit'])));
                
$em mysql_query("SELECT `id` FROM `coded_razdel` WHERE `name` = '$new' LIMIT 1");

                if (empty(
$edit)) {
                    
err('Пустое название раздела!');
                } elseif (
mysql_num_rows($edit) != FALSE) {
                    
err('Раздел с таким названием уже создан!');
                } else {
                    
mysql_query("UPDATE `coded_razdel` SET `name` = '$edit' WHERE `id` = '$x' LIMIT 1");
                    
header('Location: coded.php?do=coded_r');
                }
            }

            if (
mysql_num_rows($sql) == FALSE) {
                
err('Раздел не найден!');
            } else {
                
$in mysql_fetch_assoc($sql);
                echo 
'<form method="post" action="codedit-coded_edit-'.$x.'">
                      <label for="q">Редактировать</label>:
                      <br/>
                      <input type="text" id="q" name="edit" value="' 
$in['name'] . '"/>
                      <br/>
                      <input type="submit" name="go" value="Изменить"/>
                      </form>'
;
            }
    break;

    
// Разделы
    
case razdel:
        
$uid my_int($_GET['uid']);
        
$sql mysql_query("SELECT `id` FROM `coded_razdel` WHERE `id` = '$uid' LIMIT 1");

        if (
mysql_num_rows($sql) == FALSE) {
            
err('Раздела не существует!');
        } else {
            
$select mysql_result(mysql_query("SELECT COUNT(id) FROM `coded_article` WHERE `uid` = '$uid'"), 0);
            if (
$select != FALSE) {
                
$n = new navigator($select10'codcat-razdel-'.$uid.'&amp;');
                
$sel mysql_query("SELECT `coded_article`.*,(SELECT COUNT(id) FROM `coded_comm` WHERE `coded_comm`.`id_new` = `coded_article`.`id`) AS c FROM `coded_article` WHERE `coded_article`.`uid` = '$uid' ORDER BY `coded_article`.`id` DESC {$n->limit}");
                
$i 0;
                while(
$a mysql_fetch_assoc($sel)) {
                    
// новые
                    
$New = ($a['date'] > (time() - 86400)) ? ' <span style="color: #FF0000;">(new!)</span>' '';

                    echo (
$i ++ % 2) ? $div_tworazdel $div_razdel;
                    echo 
'&#8226; <a href="codlook-info-'.$a['id'].'">' $a['name'] . '</a>' $New $block '
                          <a href="codlook-info-'
.$a['id'].'">Комментарии (' $a['c'] . ')</a>' $div_end;
                }
                echo 
$n->navi();
            } else {
                echo 
'В этом разделе еще ничего нет.<br/>';
            }
        }
    break;

    
// Информация о коде
    
case info:
        
$uid my_int($_GET['uid']);
        
$sql mysql_query("SELECT * FROM `coded_article` WHERE `id` = '$uid' LIMIT 1");

        if (isset(
$_GET['x'])) {
            if (
$user['level'] < 3)
            {
                
header('location: coded.php');
                die();
            }

            
$x my_int($_GET['x']);
            
$em mysql_query("SELECT * FROM `coded_article` WHERE `id` = '$x' LIMIT 1");
            if (
mysql_num_rows($em) == FALSE) {
                
err('Код не найден!');
            } else {
                
$is mysql_fetch_assoc($em);
                if (
file_exists($is['path'])) unlink($is['path']);
                
mysql_query("DELETE FROM `coded_article` WHERE `id` = '$x' LIMIT 1");
                
header('Location: codcat-razdel-' $is['uid']);
            }
        }

        if (
mysql_num_rows($sql) == FALSE) {
            
err('Кода не существует!');
        } else {

    
// положительный голос
    
if (isset($_GET['like']))
    {
        
$prv mysql_query("SELECT `id` FROM `rating_coded` WHERE `uid` = '$uid' AND `who` = '$user[id]' LIMIT 1");
        if (
mysql_num_rows($prv) != FALSE) {
            
err('Вы уже голосовали!');
        } else {
            
mysql_query("INSERT INTO `rating_coded` SET `uid` = '$uid', `who` = '$user[id]', `like` = '1'");
            
msg('Ваш голос принят!');
        }
    }

    
// отрицательный голос
    
if (isset($_GET['dlike']))
    {
        
$prv mysql_query("SELECT `id` FROM `rating_coded` WHERE `uid` = '$uid' AND `who` = '$user[id]' LIMIT 1");
        if (
mysql_num_rows($prv) != FALSE) {
            
err('Вы уже голосовали!');
        } else {
            
mysql_query("INSERT INTO `rating_coded` SET `uid` = '$uid', `who` = '$user[id]', `dlike` = '1'");
            
msg('Ваш голос принят!');
        }
    }

        
$in mysql_fetch_assoc($sql);
        if (
$user['level'] >= && $user['level'] <= 5) {
            
$d '<a href="coddelete-info-'.$uid.'"><span class="next"><img src="ico/delete.png" alt=""/></span></a>&nbsp;&nbsp;';
            
$e '<a href="codedit-edit-'.$uid.'"><span class="next"><img src="ico/edit.png" alt=""/></span></a> ';
        }

            echo 
'<b>' $in['name'] . '</b>' $block $e $d bb_code('[code]' $in['content'] . '[/code]') . $block '
                  Добавил код: ' 
us($in['author']) . '<br/>
                  Дата добавления: (' 
itime($in['date'], 0) . ')' $block;

    
// Голосование //
    
$i_vote mysql_query("SELECT `id` FROM `rating_coded` WHERE `uid` = '$uid' AND `who` = '$user[id]' LIMIT 1");
    
$like mysql_result(mysql_query("SELECT SUM(`like`) FROM `rating_coded` WHERE `uid` = '$uid'"), 0);
    
$dlike mysql_result(mysql_query("SELECT SUM(`dlike`) FROM `rating_coded` WHERE `uid` = '$uid'"), 0);
    
$rat_1 = (empty($like)) ? $like;
    
$rat_2 = (empty($dlike)) ? $dlike;

    echo 
'Рейтинг: ' . ($like $dlike) . '<br/>';
            if (
$like $dlike >= 1) echo '<img src="ico/rating1.gif" alt=""/><br/>';
            elseif (
$like $dlike >= 3) echo '<img src="ico/rating1.gif" alt=""/><br/>';
            elseif (
$like $dlike >= 5) echo '<img src="ico/rating1.gif" alt=""/><br/>';
            elseif (
$like $dlike >= 7) echo '<img src="ico/rating1.gif" alt=""/><br/>';
            elseif (
$like $dlike >= 10) echo '<img src="ico/rating1.gif" alt=""/><br/>';
            elseif (
$like $dlike >= 12) echo '<img src="ico/rating1.gif" alt=""/><br/>';
            elseif (
$like $dlike >= 15) echo '<img src="ico/rating1.gif" alt=""/><br/>';
            elseif (
$like $dlike >= 17) echo '<img src="ico/rating1.gif" alt=""/><br/>';
            elseif (
$like $dlike >= 20) echo '<img src="ico/rating1.gif" alt=""/><br/>';
            elseif (
$like $dlike >= 25) echo '<img src="ico/rating1.gif" alt=""/><br/>';
            else echo 
'<img src="ico/rating0.gif" alt=""/><br/>';

    if (
mysql_num_rows($i_vote) == FALSE) {
        echo 
'<a href="codwv-whovote-'.$uid.'-1">' $rat_1 '</a>
              <a href="codlook-info-'
.$uid.'&amp;like">
              <img src="ico/plus.png" alt="+"/></a>
              Голосовать
              <a href="codlook-info-'
.$uid.'&amp;dlike">
              <img src="ico/minus.png" alt="-"/></a><a href="codwv-whovote-'
.$uid.'-2"> ' $rat_2 '</a>' $block;
    } else {
        echo 
'<img src="ico/plus.png" alt="+"/><a href="codwv-whovote-'.$uid.'-1"> ' $like '</a> |
              <img src="ico/minus.png" alt="-"/><a href="codwv-whovote-'
.$uid.'-2">  ' $dlike '</a>' $block;
    }
    
// Голосование //
    
echo 'Скачать код: <a href="downcode-'.$uid.'">PHP</a><br/>';


if (isset(
$_GET['order']) && $_GET['order'] == 2) {
   
$sort '<b>вверху</b> | <a href="codsort-info-'.$uid.'-1">внизу</a>';
   
$ord 'DESC';
} elseif (isset(
$_GET['order']) && $_GET['order'] == 1) {
   
$sort '<a href="codsort-info-'.$uid.'-2">вверху</a> | <b>внизу</b>';
   
$ord 'ASC';
} else {
   
$sort '<a href="codsort-info-'.$uid.'-2">вверху</a> | <b>внизу</b>';
   
$ord 'ASC';
}

echo 
$div_menu 'Новые: ' $sort $div_end;

if (isset(
$_GET['d'])) {
   
$d my_int($_GET['d']);

    if (
$user['level'] < 3) {
        
header('Location: codlok-info-' $uid);
        die();
    }

     
$ecom mysql_query("SELECT `id` FROM `coded_comm` WHERE `id` = '$d' LIMIT 1");
      if (
mysql_num_rows($ecom) != FALSE) {
        
mysql_query("DELETE FROM `coded_comm` WHERE `id` = '$d' LIMIT 1");
        
header('Location: codlook-info-' $uid);
      } else {
        
header('Location: codlook-info-' $uid);
  }
}

if (isset(
$_POST['add_com'])) {
    
$mes trim(mysql_real_escape_string(check($_POST['mes'])));
       if (empty(
$mes)) {
          
header('Location: codlook-info-' $uid);
       } else {

    
// транслит
    
if ($user['translit'] == 1) {
         
$mes trun_to_rus($mes);
    }

    
// антимат
    
$ant mysql_fetch_array(mysql_query("SELECT `antimat` FROM `setting` WHERE `ids` = '1'"));
    
$mes = ($ant[0] == 1) ? mat($mes) : $mes;

    
// Антиреклама
    
$_ant mysql_fetch_assoc(mysql_query("SELECT `on_rekl`, `text_rekl` FROM `setting` WHERE `ids` = '1'"));

if (
$_ant['on_rekl'] == && filesize($_SERVER['DOCUMENT_ROOT'] . '/domains.dat') > 0) {
    
$ex explode(','file_get_contents('domains.dat'));
    foreach(
$ex as $value) {
            if (
$user['level'] < && !preg_match('/[url=http://(.*)[/url]/si'$mes)) {
             
$mes preg_replace("/(ws|,|.|*|_|-|+)+$value/si"$_ant['text_rekl'], $mes);
         }
    }
}

        if (
$in['author'] != $user['id'])
        {
          
$inlenta = (mb_strlen($mes'UTF8') > 50)
           ? 
mb_substr($mes050'UTF8') . '...'
           
$mes;

              
$message cvetnik($user['id']) . ' оставил сообщение ' bb_code($inlenta) . ' к вашему <a href="codlook-info-'.$uid.'">коду</a>!';
              
mysql_query("INSERT INTO `letters` (`id`,`who`,`idwho`,`message`,`data`,`read`,`mod`)
                            VALUES (0,'0','
$in[author]','$message','" time() . "','0','i')");
        }

          
mysql_query("INSERT INTO `coded_comm` SET
                       `date` = '" 
time() . "',
                       `msg` = '
$mes',
                       `id_new` = '
$uid',
                       `user` = '
$user[id]'");
          
header('Location: codlook-info-' $uid);
       }
}

$coms mysql_result(mysql_query("SELECT COUNT(id) FROM `coded_comm` WHERE `id_new` = '$uid'"), 0);
if (
$coms != false) {
 
$n = new navigator($coms$user['onp_comments'], 'codlook-info-'.$uid.'&amp;');
 
$res mysql_query("SELECT * FROM `coded_comm` WHERE `id_new` = '$uid' ORDER BY `id` $ord {$n->limit}");

  while(
$s mysql_fetch_assoc($res)) {
   
$del = ($user['level'] >= && $user['level'] <= 5) ? '<a href="coddc-info-'.$uid.'-'.$s['id'].'"><img src="ico/delete.png" alt=""/></a> ' '';
   
$otv ' <a href="answ-cod-info-'.$uid.'-'.$s['user'].'#down">[отв]</a>';

    echo 
$div_razdel $del us($s['user']) . $otv ' (' itime($s['date'], 0) . ')' $div_end $div_tworazdel smiles(bb_code($s['msg'])) . $div_end;
  }
           echo 
$n->navi();
 } else {
          echo 
'Комментариев нет!<br/>';
}

$Komu = (isset($_GET['k'])) ? '[b]Ответ: ' user_inf(my_int($_GET['k']), 'user') . '[/b], ' '';

echo 
'<a name="down"></a>
      <label><b>Комментарий:</b></label><br/>
      <form method="post" action="codlook-info-'
.$uid.'">
      <textarea name="mes" cols="50" rows="5" style="width: 99%;">' 
$Komu '</textarea>
      <br/>
      <input type="submit" name="add_com" value="Добавить"/>
      </form>'
;
        }
echo 
'&laquo; <a href="codcat-razdel-'.$in['uid'].'">В категорию</a>';
    break;

    case 
load:
        
$id my_int($_GET['id']);

        
$emptyC mysql_query("SELECT `id`, `name`, `content` FROM `coded_article` WHERE `id` = '$id' LIMIT 1");

          if (
mysql_num_rows($emptyC) == FALSE) {
              
err('Ошибка!');
              include 
'../system/foot.php';
              exit();
          }
    
    if (
$objs glob('code_temp' '/*'))
    {
        foreach(
$objs as $obj)
        {
            
unlink($obj);
        }
    }

    function 
replaceToCode($var)
    {
        
$var str_replace('<br />'"rn"$var);
        
$var str_replace('<br/>'"rn"$var);
        
$var str_replace('&lt;''<'$var);
        
$var str_replace('&gt;''>'$var);
        
$var str_replace('&amp;''&'$var);
        
$var str_replace('&#36;''$'$var);
        
$var str_replace('&quot''"'$var);
        
$var str_replace('&#039;'''', $var);
        $var = str_replace('
&#92;', ''', $var);
        
$var str_replace('&#37;''%'$var);
        
$var str_replace('&#94;''^'$var);

    return 
$var;
    }

        
$inf mysql_fetch_assoc($emptyC);
        
file_put_contents('code_temp/' retranslit($inf['name']) . '.php'"<?phpn" replaceToCode($inf['content']) . "n#Скачано с " $site "n?>");
        
chmod('code_temp/' retranslit($inf['name']) . '.php'0600);
        
header('location: code_temp/' retranslit($inf['name']) . '.php');
        die();
    break;

    
// Редактирование кода
    
case edit:
        if (
$user['level'] < && $in['user'] != $user['id'])
        {
            
header('Location: coded.php');
            die();
        }
            
$x my_int($_GET['x']);
            
$em mysql_query("SELECT * FROM `coded_article` WHERE `id` = '$x' LIMIT 1");
            
$in mysql_fetch_assoc($em);

            if (isset(
$_POST['ok']))
            {
                
$n trim(mysql_real_escape_string(check($_POST['n'])));
                
$mes trim(mysql_real_escape_string(check($_POST['mes'])));
                if (!
check_syntax(trim($_POST['mes'])))
                {
                    
err('В коде допущены синтаксические ошибки!');
                } elseif (empty(
$n)) {
                    
err('Пустое название!');
                } elseif (empty(
$mes)) {
                    
err('Пустое содержание!');
                } else {
                    
mysql_query("UPDATE `coded_article` SET `name` = '$n', `content` = '$mes' WHERE `id` = '$x' LIMIT 1");
                    
header('Location: codlook-info-' $x);
                }
            }

            if (
mysql_num_rows($em) == FALSE) {
                
err('Код не найден!');
            } else {
                echo 
'<form method="post" action="codedit-edit-'.$x.'">
                      <label>Название</label>:
                      <br/>
                      <input type="text" name="n" value="' 
$in['name'] . '"/>
                      <br/>
                      <label>Описание</label>:
                      <br/>
                      <textarea name="mes" cols="50" rows="5" style="width: 99%;">' 
back_bb($in['content']) . '</textarea>
                      <br/>
                      <input type="submit" name="ok" value="Изменить"/>
                      </form>'
;
            }
    break;

    
// Добавление кода
    
case create:
        if (isset(
$_POST['upl']))
        {
            
$name trim(mysql_real_escape_string(check($_POST['name'])));
            
$content trim(mysql_real_escape_string(check($_POST['content'])));
            
$rzd my_int($_POST['rzd']);

            if (!
check_syntax(trim($_POST['content']))) {
                
err('В коде допущены синтаксические ошибки!');
            } elseif (empty(
$name)) {
                
err('Пустое название!');
            } elseif (empty(
$content)) {
                
err('Пустое содержимое!');
            } elseif (empty(
$rzd)) {
                   
err('Не выбран раздел!');
               } else {
                  
mysql_query("INSERT INTO `coded_article` SET
                              `author` = '
$user[id]',
                              `name` = '
$name',
                            `content` = '
$content',
                              `date` = '" 
time() . "',
                              `uid` = '
$rzd'");

                  
$last mysql_insert_id();
                  
header('Location: codcat-info-' $last);
            }
        }

        echo 
'<form ENCTYPE="multipart/form-data" method="post" action="?do=create">
              <label>Название:</label><br/>
              <input type="text" name="name"/>
              <br/>
              <label>Содержание:</label><br/>
              <textarea name="content" cols="50" rows="5" style="width: 99%;"></textarea>
              <br/>
              <label>Выбрать раздел:</label><br/>
                <select name="rzd">'
;

            
$from mysql_query("SELECT * FROM `coded_razdel`");
            while(
$a mysql_fetch_assoc($from)) {
                  echo 
'<option value="' $a['id'] . '">' $a['name'] . '</option>';
            }

        echo 
'</select>
                <br/>
              <input type="submit" name="upl" value="Добавить"/>
              </form>'
;
    break;

    case 
whovote:
    
$id my_int($_GET['id']);
    
$v my_int($_GET['v']);

    
$sql mysql_query("SELECT id FROM coded_article WHERE id = '$id' LIMIT 1");
    if (
mysql_num_rows($sql) == false)
    {
        
err('Ошибка!');
    } elseif (
$v != && $v != 2) {
        
err('Ошибка!');
    } else {
        
$var = ($v == 1) ? '`like`' 'dlike';
        
$sel mysql_result(mysql_query("SELECT COUNT(id) FROM rating_coded WHERE uid = '$id' AND $var = '1'"), 0);
        if (
$sel != 0)
        {
            
$n = new navigator($sel10'codwv-whovote-'.$id.'-'.$v.'&amp;');
            
$res mysql_query("SELECT * FROM rating_coded WHERE uid = '$id' AND $var = '1' ORDER BY id DESC {$n->limit}");
            
$i 0;
            while(
$a mysql_fetch_assoc($res))
            {
                echo (
$i ++ % 2) ? $div_tworazdel $div_razdel;
                echo 
us($a['who']) . $div_end;
            }
            echo 
$n->navi();
        } else {
            echo 
'За этот вариант никто не голосовал.<br/>';
        }
    }
    echo 
'&laquo; <a href="codlook-info-'.$id.'">Назад</a>';
    break;

    }

include 
'system/foot.php';
?>
Онлайн: 1
Реклама