Просмотр файла mpanel/blacklist.php

Размер файла: 8.02Kb
  1. <?php
  2. #-----------------------------------------------------#
  3. # ********* ROTORCMS ********* #
  4. # Made by : VANTUZ #
  5. # E-mail : visavi.net@mail.ru #
  6. # Site : http://pizdec.ru #
  7. # WAP-Site : http://visavi.net #
  8. # ICQ : 36-44-66 #
  9. # Вы не имеете право вносить изменения в код скрипта #
  10. # для его дальнейшего распространения #
  11. #-----------------------------------------------------#
  12. require_once ('../includes/start.php');
  13. require_once ('../includes/functions.php');
  14. require_once ('../includes/header.php');
  15. include_once ('../themes/header.php');
  16.  
  17. if (isset($_GET['act'])) {
  18. $act = check($_GET['act']);
  19. } else {
  20. $act = 'index';
  21. }
  22.  
  23. if (isset($_GET['page'])) {
  24. $page = check($_GET['page']);
  25. } else {
  26. $page = 'mail';
  27. }
  28.  
  29. if (isset($_GET['start'])) {
  30. $start = abs(intval($_GET['start']));
  31. } else {
  32. $start = 0;
  33. }
  34.  
  35. if (is_admin(array(101, 102))) {
  36. show_title('site.png', 'Черный список');
  37. $config['newtitle'] = 'Черный список';
  38.  
  39. switch ($page) {
  40. case 'login':
  41. $type = 2;
  42. $placeholder = '';
  43. break;
  44. case 'domain':
  45. $type = 3;
  46. $placeholder = 'http://';
  47. break;
  48. default:
  49. $type = 1;
  50. $placeholder = '';
  51. }
  52.  
  53. /* $links = array (
  54. array('page' => 'mail', 'name' => 'E-mail'),
  55. array('page' => 'login', 'name' => 'Логины'),
  56. array('page' => 'domain', 'name' => 'Домены')
  57. );
  58.  
  59. echo 'Запрещенные: ';
  60.  
  61. foreach ($links as $key => $link){
  62. $active = ($page == $link['page']) ? ' style="font-weight: bold;"' : '';
  63. $separator = ($key==0) ? '' : ' / ';
  64. echo $separator.'<a href="blacklist.php?page='.$link['page'].'&amp;'.SID.'"'.$active.'>'.$link['name'].'</a>';
  65. }
  66.  
  67. echo '<hr />'; */
  68.  
  69. echo 'Запрещенные: <a href="blacklist.php?'.SID.'"'.(($type == 1) ? ' style="font-weight: bold;"' : '').'>E-mail</a> / <a href="blacklist.php?page=login&amp;'.SID.'"'.(($type == 2) ? ' style="font-weight: bold;"' : '').'>Логины</a> / <a href="blacklist.php?page=domain&amp;'.SID.'"'.(($type == 3) ? ' style="font-weight: bold;"' : '').'>Домены</a><hr />';
  70.  
  71. switch ($act):
  72. ############################################################################################
  73. ## Главная страница ##
  74. ############################################################################################
  75. case 'index':
  76.  
  77. $total = DB::run() -> querySingle("SELECT count(*) FROM `blacklist` WHERE `black_type`=?;", array($type));
  78.  
  79. if ($total > 0) {
  80. if ($start >= $total) {
  81. $start = 0;
  82. }
  83.  
  84. $queryblack = DB::run() -> query("SELECT * FROM `blacklist` WHERE `black_type`=? ORDER BY `black_time` DESC LIMIT ".$start.", ".$config['blacklist'].";", array($type));
  85.  
  86. echo '<form action="blacklist.php?act=del&amp;page='.$page.'&amp;start='.$start.'&amp;uid='.$_SESSION['token'].'&amp;'.SID.'" method="post">';
  87.  
  88. while ($data = $queryblack -> fetch()) {
  89. echo '<div class="b">';
  90. echo '<input type="checkbox" name="del[]" value="'.$data['black_id'].'" /> ';
  91.  
  92. echo '<img src="../images/img/edit.gif" alt="image" /> <b>'.$data['black_value'].'</b></div>';
  93. echo '<div>Добавлено: '.profile($data['black_user']).'<br />';
  94. echo 'Время: '.date_fixed($data['black_time']).'</div>';
  95. }
  96. echo '<br /><input type="submit" value="Удалить выбранное" /></form>';
  97.  
  98. page_strnavigation('blacklist.php?page='.$page.'&amp;', $config['blacklist'], $start, $total);
  99. } else {
  100. show_error('Cписок еще пуст!');
  101. }
  102.  
  103. echo '<div class="form">';
  104. echo '<form action="blacklist.php?act=add&amp;page='.$page.'&amp;uid='.$_SESSION['token'].'&amp;'.SID.'" method="post">';
  105. echo '<b>Запись:</b><br />';
  106. echo '<input name="value" type="text" maxlength="100" value="'.$placeholder.'" />';
  107. echo '<input type="submit" value="Добавить" /></form></div><br />';
  108.  
  109. echo 'Всего в списке: <b>'.$total.'</b><br /><br />';
  110. break;
  111.  
  112. ############################################################################################
  113. ## Добавление записи ##
  114. ############################################################################################
  115. case 'add':
  116.  
  117. $uid = check($_GET['uid']);
  118. $value = check(utf_lower($_POST['value']));
  119. if ($uid == $_SESSION['token']) {
  120. if (!empty($value) && utf_strlen($value) <= 100) {
  121. if ($page != 'mail' || preg_match('#^([a-z0-9_\-\.])+\@([a-z0-9_\-\.])+(\.([a-z0-9])+)+$#', $value)) {
  122. if ($page != 'login' || preg_match('|^[a-z0-9\-]+$|', $value)) {
  123. if ($page != 'domain' || preg_match('#^http://([а-яa-z0-9_\-\.])+(\.([а-яa-z0-9\/])+)+$#u', $value)) {
  124.  
  125. $value = str_replace('http://', '', $value);
  126.  
  127. $black = DB::run() -> querySingle("SELECT `black_id` FROM `blacklist` WHERE `black_type`=? AND `black_value`=? LIMIT 1;", array($type, $value));
  128. if (empty($black)) {
  129. DB::run() -> query("INSERT INTO `blacklist` (`black_type`, `black_value`, `black_user`, `black_time`) VALUES (?, ?, ?, ?);", array($type, $value, $log, SITETIME));
  130.  
  131. $_SESSION['note'] = 'Запись успешно добавлена в черный список!';
  132. redirect("blacklist.php?page=$page&start=$start&".SID);
  133.  
  134. } else {
  135. show_error('Ошибка! Данная запись уже имеется в списках!');
  136. }
  137. } else {
  138. show_error('Ошибка! Недопустимый адрес сайта! (http://sitename.domen)!');
  139. }
  140. } else {
  141. show_error('Ошибка! Недопустимые символы в логине. Разрешены знаки латинского алфавита, цифры и дефис!');
  142. }
  143. } else {
  144. show_error('Ошибка! Недопустимый адрес e-mail, необходим формат name@site.domen!');
  145. }
  146. } else {
  147. show_error('Ошибка! Вы не ввели запись или она слишком длинная!');
  148. }
  149. } else {
  150. show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
  151. }
  152.  
  153. echo '<img src="../images/img/back.gif" alt="image" /> <a href="blacklist.php?page='.$page.'&amp;start='.$start.'&amp;'.SID.'">Вернуться</a><br />';
  154. break;
  155.  
  156.  
  157. ############################################################################################
  158. ## Удаление записей ##
  159. ############################################################################################
  160. case 'del':
  161.  
  162. $uid = check($_GET['uid']);
  163. if (isset($_POST['del'])) {
  164. $del = intar($_POST['del']);
  165. } else {
  166. $del = 0;
  167. }
  168.  
  169. if ($uid == $_SESSION['token']) {
  170. if (!empty($del)) {
  171. $del = implode(',', $del);
  172.  
  173. DB::run() -> query("DELETE FROM `blacklist` WHERE `black_type`=? AND `black_id` IN (".$del.");", array($type));
  174.  
  175. $_SESSION['note'] = 'Выбранные записи успешно удалены!';
  176. redirect("blacklist.php?page=$page&start=$start&".SID);
  177. } else {
  178. show_error('Ошибка! Отсутствуют выбранные записи для удаления!');
  179. }
  180. } else {
  181. show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
  182. }
  183.  
  184. echo '<img src="../images/img/back.gif" alt="image" /> <a href="blacklist.php?page='.$page.'&amp;start='.$start.'&amp;'.SID.'">Вернуться</a><br />';
  185. break;
  186.  
  187. default:
  188. redirect("blacklist.php?".SID);
  189. endswitch;
  190.  
  191. echo '<img src="../images/img/panel.gif" alt="image" /> <a href="index.php?'.SID.'">В админку</a><br />';
  192.  
  193. } else {
  194. redirect(BASEDIR.'index.php?'.SID);
  195. }
  196.  
  197. include_once ('../themes/footer.php');
  198. ?>