View file adm/index.php

File size: 24.26Kb
<?php
define( 'WBCAT', 1 ); 
require_once ('../inc/head.php');
  // проверяем правильность пароля-логина
  if (!$allow)
  { // если ошибка, то закрываем доступ
    exit ('Доступ закрыт');
  }
 switch ($_GET['mod']) {
 
# Модерация сайтов #

    case 'site' :     
	
	     echo '<div class="zag">Модерация сайтов</div>';
         $count = mysql_result(mysql_query("SELECT COUNT(`id`) 
		 FROM `sites` WHERE type='0' ;"), 0);
		 $num = $settings['on_page']; 
         $page = intval($_GET['page']);
		 $result = mysql_query('SELECT COUNT(*) FROM `sites` WHERE `type`="0"'); 
         $posts = mysql_result($result, 0); 
         $total = intval(($posts - 1) / $num) + 1; 
         if(empty($page) or $page < 0) $page = 1; 
         if($page > $total) $page = $total; 
         $start = $page * $num - $num; 
		 $result = mysql_query('SELECT * FROM `sites` WHERE `type` = "0" ORDER BY id DESC LIMIT '.$start.', '.$num.''); 
         if ($count > 0 ) { 
                  echo '<div class="title">';
                  while ($m = mysql_fetch_array($result)){ 
				       	     $ms = mysql_fetch_array(mysql_query("SELECT *
			                  FROM `cat` 
			                  WHERE id='" .$m['id_cat']. "' LIMIT 1;"));
                      echo 'Сайт: <a href="http://'.$m['url'].'">'.$m['name'].' </a> [http://'.$m['url'].']|Категория : <a href="cat.php?id='.$ms['id'].'">'.$ms['title'].'</a>| [id'.$ms['id'].']<br/>';
                     echo 'Описание: '.$m['about'].'';
					 echo '<br/><div class="min"><u>IP</u> : <i>'.int2ip($m['ip']).'</i><br/> <u>USER AGENT</u> : '.$m['browser'].' <br/>
					 <a href="index.php?mod=site&do=add&id='.$m['id'].'">Добавить</a>|<a href="index.php?mod=site&do=del&id='.$m['id'].'">Удалить</a></div><hr/>';
                    }
					
                    echo '</div><div class="title"><a href="index.php">Назад</a></div>'; 
					if ($page != 1) $pervpage = ' <a href= "index.php?mod=site&page='. ($page - 1) .'">Назад</a> '; 
                    // Проверяем нужны ли стрелки вперед 
                    if ($page != $total) $nextpage = ' <a href="index.php?mod=site&page='. ($page + 1) .'">Вперед</a>'; 
                    if ($page !=1 AND $page != $total) $i = '|';
                    if ($page - 4 > 0) $first = '<a href="index.php?mod=site&page=1">1</a>...';
                    if ($page + 4 <= $total) $last = '...<a href="index.php?mod=site&page='.$total.'">'.$total.'</a>';
                    // Находим две ближайшие станицы с обоих краев, если они есть 
                    if($page - 2 > 0) $page2left = ' <a href= "index.php?mod=site&page='. ($page - 2) .'">'. ($page - 2) .'</a> '; 
                    if($page - 1 > 0) $page1left = '<a href= "index.php?mod=site&page='. ($page - 1) .'">'. ($page - 1) .'</a> '; 
                    if($page + 2 <= $total) $page2right = ' <a href= "index.php?mod=site&page='. ($page + 2) .'">'. ($page + 2) .'</a>'; 
                    if($page + 1 <= $total) $page1right = ' <a href="index.php?mod=site&page='. ($page + 1) .'">'. ($page + 1) .'</a>';

                    // Вывод меню 
                       if ($count > $num) {
                          echo '<div class="title"><small>Навигация :<br/>Страница '.$page.' из '.$total.'</small><br/>'.$pervpage.$i.$nextpage.'<br/>'.$first.$page2left.$page1left.'['.$page.']'.$page1right.$page2right.$last.'</div>';
                         } 
            }
          else {
             echo '<div class="title">Сайтов нет</div>';
			 echo '<div class="title"><a href="index.php">Назад</a></div>';
            }
					if (isset($_GET['do'])) {
		                         if($_GET['do'] == 'add') {
								 
                             $si = mysql_result(mysql_query("SELECT `id_cat` FROM `sites` WHERE `id`='".intval($_GET['id'])."';"), 0);
							 echo $si;
							  
		                   mysql_query("UPDATE `cat` 
	                                    SET `count`=count+1 
	                                    WHERE id='" .$si. "';");
										
									mysql_query("UPDATE `sites` 
	                                SET `type`='1' 
	                                WHERE id='" .intval($_GET['id']). "';");
									header('Location: '.$settings['url'].'/adm/?mod=site'); 
			                        }
	
		                         if($_GET['do'] == 'del') {
			                        mysql_query("DELETE FROM `sites` 
	                                WHERE id='" .intval($_GET['id']). "';");
									header('Location: '.$settings['url'].'/adm/?mod=site');
			                        }
		                    }  
		break;

# Общие настройки каталога	#
	
	case 'set' :
	     echo '<div class="zag">Общие настройки системы</div>';
		 echo '<div class="title">';
		 
		 if (isset ($_POST['submit'])) {
		 $admin = htmlspecialchars(trim($_POST['admin']));
		 $pass = htmlspecialchars(trim($_POST['pass']));
		    mysql_query("UPDATE `set` SET `url`='".mysql_real_escape_string($_POST['url'])."' ;");
			mysql_query("UPDATE `set` SET `reg`='".mysql_real_escape_string($_POST['add'])."' ;");
			mysql_query("UPDATE `set` SET `on_page`='".intval($_POST['on_page'])."';");	
			mysql_query("UPDATE `set` SET `rate`='".mysql_real_escape_string($_POST['rate'])."';");
			mysql_query("UPDATE `set` SET `review`='".mysql_real_escape_string($_POST['review'])."' ;");
			mysql_query("UPDATE `set` SET `search`='".mysql_real_escape_string($_POST['search'])."' ;");
			mysql_query("UPDATE `set` SET `news`='".mysql_real_escape_string($_POST['news'])."' ;");
			mysql_query("UPDATE `set` SET `captcha`='".mysql_real_escape_string($_POST['captcha'])."' ;");
			mysql_query("UPDATE `set` SET `admin`='".mysql_real_escape_string($_POST['admin'])."' ;");
		    echo '<b>Сайт настроен !</b><br/>';
			}
			
			$set = mysql_fetch_array(mysql_query("SELECT *
			FROM `set` "));
			
		 echo '<form action="index.php?mod=set" method="post">
		       Адрес , где находится скрипт :<br /> <input type="text" name="url" value="'.$set['url'].'" /><br/>
			   <b>Логин</b><br/><input type="text" name="admin" value="'.$set['admin'].'"/><br/>
			   		       '.($set['reg'] == "open" ? '<img src="'.$set['url'].'/images/green.png" alt="on"/>' : '').'
						   '.($set['reg'] == "mod" ? '<img src="'.$set['url'].'/images/yellow.png" alt="mod"/>' : '').'
						   '.($set['reg'] == "close" ? '<img src="'.$set['url'].'/images/red.png" alt="off"/>' : '').'
						   <b>Регистрация сайтов :</b><br/>
			 <input type="radio" value="open" name="add" ' . ($set['reg'] == "open" ? 'checked="checked"' : '') . ' /> Открыта<br />
             <input type="radio" value="mod" name="add" ' . ($set['reg'] == "mod" ? 'checked="checked"' : '') . '/>С модерацией<br />
             <input type="radio" value="close" name="add" ' . ($set['reg'] == "close" ? 'checked="checked"' : '') . ' />Закрыта<br/>	
			              '.($set['rate'] == true ? '<img src="'.$set['url'].'/images/green.png" alt="on"/>' : '<img src="'.$set['url'].'/images/red.png" alt="off"/>').'
                          <b>Рейтинг сайтов (+/-) :</b> <br/>
			<input type="radio" value="1" name="rate" ' . ($set['rate'] == true ? 'checked="checked"' : '') . ' />Вкл<br />
            <input type="radio" value="0" name="rate" ' . ($set['rate'] == false ? 'checked="checked"' : '') . '/>Выкл<br /> 
			              '.($set['captcha'] == true ? '<img src="'.$set['url'].'/images/green.png" alt="on"/>' : '<img src="'.$set['url'].'/images/red.png" alt="off"/>').'
                          <b>Каптча при добавлении сайта</b> <br/>
			<input type="radio" value="1" name="captcha" ' . ($set['captcha'] == true ? 'checked="checked"' : '') . ' />Вкл<br />
            <input type="radio" value="0" name="captcha" ' . ($set['captcha'] == false ? 'checked="checked"' : '') . '/>Выкл<br />  			
			              '.($set['review'] == true ? '<img src="'.$set['url'].'/images/green.png" alt="on"/>' : '<img src="'.$set['url'].'/images/red.png" alt="off"/>').'                 			
                           <b>Отзывы сайтов :</b> <br/>
			<input type="radio" value="1" name="review" ' . ($set['review'] == true ? 'checked="checked"' : '') . ' />Вкл<br />
            <input type="radio" value="0" name="review" ' . ($set['review'] == false ? 'checked="checked"' : '') . '/>Выкл<br /> 
			              '.($set['search'] == true ? '<img src="'.$set['url'].'/images/green.png" alt="on"/>' : '<img src="'.$set['url'].'/images/red.png" alt="off"/>').'			
                           <b>Поиск сайтов :</b> <br/>
			<input type="radio" value="1" name="search" ' . ($set['search'] == true ? 'checked="checked"' : '') . ' />Вкл<br />
            <input type="radio" value="0" name="search" ' . ($set['search'] == false ? 'checked="checked"' : '') . '/>Выкл<br /> 
			              '.($set['news'] == true ? '<img src="'.$set['url'].'/images/green.png" alt="on"/>' : '<img src="'.$set['url'].'/images/red.png" alt="off"/>').'
                           <b>Новости :</b> <br/>
			<input type="radio" value="1" name="news" ' . ($set['news'] == true ? 'checked="checked"' : '') . ' />Вкл<br />
            <input type="radio" value="0" name="news" ' . ($set['news'] == false ? 'checked="checked"' : '') . '/>Выкл<br /> 			
                           <b>Сайтов на страницу :</b><br/>	
		       <input name="on_page" type="text" size="2" value="'.$set['on_page'].'"/><br/>
			   <input type="submit" name="submit" value="Сохранить" />
			   </form>';
			   echo '</div><div class="title"><a href="index.php">Назад</a></div>';
		 echo '</div>';
        break;
		
# Управление списком забанненых url	#
	
    case 'ban_site' :
	     echo '<div class="zag">Список забаннеых url</div>';	 
		 $num = $settings['on_page']; 
         $page = intval($_GET['page']);
		 $result = mysql_query('SELECT COUNT(*) FROM `ban_site`'); 
         $posts = mysql_result($result, 0); 
         $total = intval(($posts - 1) / $num) + 1; 
         if(empty($page) or $page < 0) $page = 1; 
         if($page > $total) $page = $total; 
         $start = $page * $num - $num; 
		 $result = mysql_query('SELECT * FROM `ban_site` ORDER BY id DESC LIMIT '.$start.', '.$num.''); 
         if ($posts > 0 ) {          
                  while ($m = mysql_fetch_array($result)){ 
				      echo '<div class="title">';
                     echo 'Сайт: <a href="http://'.$m['url'].'">'.$m['url'].'</a> [id'.$m['id'].']<br/>';
                     echo 'Причина бана: '.(empty($m['why']) ? 'причина не указана' : $m['why']).'<br/>';
					 echo 'Дата бана : '.date('d.m.y/H:i',$m['date']).'</div>';
					 echo '<div class="min"><a href="index.php?mod=ban_site&do=del&id='.$m['id'].'">Разбанить</a></div>';				 
						     if (isset($_GET['do'])) {
		                         if($_GET['do'] == 'del') {
			                        mysql_query("DELETE FROM `ban_site` 
	                                WHERE id='" .intval($_GET['id']). "';");
									header('Location: '.$settings['url'].'/adm/?mod=ban_site');
			                        }
		                        }  
                    }
					if ($page != 1) $pervpage = ' <a href= "index.php?mod=ban_ssite&page='. ($page - 1) .'">Назад</a> '; 
                    // Проверяем нужны ли стрелки вперед 
                    if ($page != $total) $nextpage = ' <a href="index.php?mod=ban_ssite&page='. ($page + 1) .'">Вперед</a>'; 
                    if ($page !=1 AND $page != $total) $i = '|';
                    if ($page - 4 > 0) $first = '<a href="index.php?mod=ban_ssite&page=1">1</a>...';
                    if ($page + 4 <= $total) $last = '...<a href="index.php?mod=ban_ssite&page='.$total.'">'.$total.'</a>';
                    // Находим две ближайшие станицы с обоих краев, если они есть 
                    if($page - 2 > 0) $page2left = ' <a href= "index.php?mod=ban_ssite&page='. ($page - 2) .'">'. ($page - 2) .'</a> '; 
                    if($page - 1 > 0) $page1left = '<a href= "index.php?mod=ban_ssite&page='. ($page - 1) .'">'. ($page - 1) .'</a> '; 
                    if($page + 2 <= $total) $page2right = ' <a href= "index.php?mod=ban_ssite&page='. ($page + 2) .'">'. ($page + 2) .'</a>'; 
                    if($page + 1 <= $total) $page1right = ' <a href="index.php?mod=ban_site&page='. ($page + 1) .'">'. ($page + 1) .'</a>';

                    // Вывод меню 
                       if ($posts > $num) {
                          echo '<div class="title"><small>Навигация :<br/>Страница '.$page.' из '.$total.'</small><br/>'.$pervpage.$i.$nextpage.'<br/>'.$first.$page2left.$page1left.'['.$page.']'.$page1right.$page2right.$last.'</div>';
                         } 
            }
          else {
             echo '<div class="title">Забанненых сайтов нет</div>';		 
            }
echo '<div class="main"><a href="index.php?mod=ban_url">Банить url</a></div>';
if ($posts > 1) { echo '<div class="main"><a href="index.php?mod=del_urls">Разабнить все url</a></div>'; }
echo '<div class="main"><a href="index.php">Админка</a></div>';			
        break;	
		
# Разбан все забанненые url #		
	case 'del_urls' :
	
	       echo '<div class="zag" Удаление всех забанненые url</div>';
          if (isset($_POST['submit'])) {
                  $result = mysql_query("DELETE FROM `ban_site`;");
				            mysql_query("OPTIMIZE TABLE `ban_site`");
                      if ($result == true){
                echo '<div class="title">Все url удалены из базы !</div>';
                echo '<div class="title"><a href="index.php?mod=ban_site">Продолжить</a><br /><a href="index.php">Админ панель</a></div>';			
		            }
					 else {echo 'Ошибка разбана всех url . Код ошибки <br/>';
					 echo mysql_error();
					 }

            } else {

           echo '<div class="title"><form action="index.php?mod=del_urls" method="post">
			Вы действительно желаете разбанить все url ?<br />
			<input type="submit" name="submit" value="Разбанить всех"/>
			</form></div>
			<div class="main"><a href="index.php?mod=ban_site">Назад</a></div>';
			}
	
	    break;
	
# Общие настройки новостей #	
    case 'news' :
	     echo '<div class="zag">Настройки новостей</div>';	
		 
		 if (isset ($_POST['submit'])) {
		    mysql_query("UPDATE `set_news` SET `view`='".mysql_real_escape_string($_POST['view'])."' ;");
			mysql_query("UPDATE `set_news` SET `komm`='".mysql_real_escape_string($_POST['komm'])."' ;");
			mysql_query("UPDATE `set_news` SET `bbcode`='".mysql_real_escape_string($_POST['bbcode'])."' ;");
			mysql_query("UPDATE `set_news` SET `smileys`='".mysql_real_escape_string($_POST['smileys'])."' ;");
			mysql_query("UPDATE `set_news` SET `antiflood`='".intval($_POST['antiflood'])."';");	
		    echo '<b>Сайт настроен !</b><br/>';
			}	
			
         $set_news = mysql_fetch_array(mysql_query("SELECT * FROM `set_news`"));
		 
         echo '<div class="title"><form action="index.php?mod=news" method="post">
		       '.($set_news['view'] == true ? '<img src="'.$settings['url'].'/images/green.png" alt="on"/>' : '<img src="'.$settings['url'].'/images/red.png" alt="off"/>').'
		       <b>Вывод последней новости на главную </b> :<br/> 
			   <input type="radio" value="1" name="view" ' . ($set_news['view'] == true ? 'checked="checked"' : '') . ' />Вкл<br />
               <input type="radio" value="0" name="view" ' . ($set_news['view'] == false ? 'checked="checked"' : '') . '/>Выкл<br /> 
		       '.($set_news['komm'] == true ? '<img src="'.$settings['url'].'/images/green.png" alt="on"/>' : '<img src="'.$settings['url'].'/images/red.png" alt="off"/>').'
		       <b>Комментарии</b> :<br/> 
			   <input type="radio" value="1" name="komm" ' . ($set_news['komm'] == true ? 'checked="checked"' : '') . ' />Вкл<br />
               <input type="radio" value="0" name="komm" ' . ($set_news['komm'] == false ? 'checked="checked"' : '') . '/>Выкл<br /> 
		       '.($set_news['bbcode'] == true ? '<img src="'.$settings['url'].'/images/green.png" alt="on"/>' : '<img src="'.$settings['url'].'/images/red.png" alt="off"/>').'
		       <b>BBcode теги (в комментариях)</b> :<br/> 
			   <input type="radio" value="1" name="bbcode" ' . ($set_news['bbcode'] == true ? 'checked="checked"' : '') . ' />Вкл<br />
               <input type="radio" value="0" name="bbcode" ' . ($set_news['bbcode'] == false ? 'checked="checked"' : '') . '/>Выкл<br /> 
		       '.($set_news['smileys'] == true ? '<img src="'.$settings['url'].'/images/green.png" alt="on"/>' : '<img src="'.$settings['url'].'/images/red.png" alt="off"/>').'
		       <b>Смайлы (в комментариях)</b> :<br/> 
			   <input type="radio" value="1" name="smileys" ' . ($set_news['smileys'] == true ? 'checked="checked"' : '') . ' />Вкл<br />
               <input type="radio" value="0" name="smileys" ' . ($set_news['smileys'] == false ? 'checked="checked"' : '') . '/>Выкл<br /> 	
		       '.($set_news['smileys'] == true ? '<img src="'.$settings['url'].'/images/green.png" alt="on"/>' : '<img src="'.$settings['url'].'/images/red.png" alt="off"/>').'
		       <b>Антифлуд (в секундах)</b> :<br/> 
		       <input name="antiflood" type="text" size="2" value="'.$set_news['antiflood'].'"/><br/>
			   <input type="submit" name="submit" value="Сохранить" />			   
		       </form></div>';	
			   echo '</div><div class="main"><a href="index.php">Назад</a></div>';			   
	
	    break;

# Бан отдельного url #
     
	case 'ban_url' :
	
        echo '<div class="zag">Админ-панель : Бан сайта</div>';
          if (isset($_POST['submit'])) {
		  echo $_POST['url'];
		       if (empty($_POST['url'])) {			 
				  echo '<div class="title"><b>Вы не заполнили поле "Адрес сайта" !</b></div>';
				  echo '<div class="title"><a href = "index.php?mod=ban_url">Повторить</a></div>';
				  require_once ('../inc/foot.php');
				  exit;
			    } 
			         $url = htmlspecialchars(trim($_POST['url']));
                     $why = htmlspecialchars(trim($_POST['why']));
                     $result = mysql_query("insert into `ban_site` SET
		             `url`='" . mysql_real_escape_string($url) . "',
		             `date`='".$time."',
		             `why`='" . mysql_real_escape_string($why) . "';");
			  if ($result == true) header('Location: '.$settings['url'].'/adm/?mod=ban_site');
            }
			 else {
                echo '<div class="title"><form action="index.php?mod=ban_url" method="post">
				<u>Адрес сайта (без http://)</u> : <br/>
				<small><font color="#FF0000">site.com</font> - Баним url</small><br/>
				<input type = "text" name = "url" value=""/><br/>
			    <u>Причина бана</u> : <br/>
				<small>[Необязательное поле]</small><br/>
				<textarea cols="20" rows="4" name="why"></textarea><br/>
			    <input type="submit" name="submit" value="Забанить"/>
			    </form> </div>';
				echo '</div><div class="main"><a href="index.php">Отмена</a></div>';
				}

        break; 

# Смена пароля от админки #		
    case 'change' :
	     echo '<div class="zag">Смена пароля</div>';
		 if (isset($_POST['submit'])) {
                  $old_pass = trim($_POST['old_pass']);
				  if ($pass != $old_pass) {
				     $error[1] = 'Старый пароль неверный !';
				    }

                if (empty($_POST['old_pass'])) {
                   $error[2] = 'Вы не ввели старый пароль';
                }	
             if (empty($_POST['new_pass'])) {
                 $error[3] =  'Вы не ввели новый пароль';
                }	 
		         if (!empty($error)) {
				     	echo '<div class="title">';
			            foreach($error as $value) {
                               echo "<b>$value</b> <br />";
						    } 
				         echo '</div>';
						 echo $_POST['news_pass'];
				    }
					 else {	  
                       $new_pass = trim($_POST['new_pass']);					 
						mysql_query("UPDATE `set` SET `pass`='".mysql_real_escape_string($new_pass)."' ;");
					    echo '<div class="title"><b>Пароль изменен !</b></div>';
					    }
		    }
		 echo '<div class="title">Используйте тяжелый пароль</div>
		    <div class="title"<form action="index.php?mod=change" method="post">
			<b>Старый пароль</b>*<br/><input type="password" name="old_pass" value=""/><br/>
			<b>Новый пароль</b>*<br/><input type="text" name="new_pass" value=""/><br/>
			<input type="submit" name="submit" value="Изменить" />
		    </form></div>
		     <div class="main"><a href="index.php">Админка</a></div>';
      
        break;	

    case 'info' :
    echo '<div class="zag">Информация о каталоге wbcat</div>';
	echo '<div class="title">Ваша версия каталога <b>v 1.0.0 RC * [от 31.10.10]</b><br/>
	Релиз-кандидат или RC (англ. release candidate) — стадия-кандидат на то, чтобы стать стабильной. Программы этой стадии прошли комплексное тестирование, благодаря чему были исправлены все найденные критические ошибки.<br/> Но в то же время, существует вероятность выявления ещё некоторого числа ошибок, незамеченных при тестировании.</div>';
    echo '<div class="func">&bull; Автор скрипта : <i>Wapweb</i><br/>
	&bull; icq - <i>74605538</i></div>';
	echo '<div class="title">Если вы заметили ошибку/баг/уязвимость в скрипте , просьба связаться со мной . Также могу написать модули для каталога или написать на заказ .</div>';
    echo '<div class="main"><a href="index.php">Админка</a></div>';
    break;	
		
	default :	
	
		$count_ip = mysql_result(mysql_query("SELECT COUNT(*) FROM `ban_ip`;"), 0);
				
        echo '<div class="zag">Админ-панель</div>';
        echo '<div class="title">
        <i>Версия каталога 1.0.0 RC</i> [<a href="index.php?mod=info">i</a>]<br/>
        &bull; <a href="'.$settings['url'].'">Управление каталогом</a><br/>
        &bull; <a href="?mod=site">Модерация сайтов</a> ['.$count_mod.']<br/>
        &bull; <a href="?mod=set">Общие настройки каталога</a><br/>
		&bull; <a href="?mod=change">Сменить пароль</a></div>
		<div class="zag">Безопасность</div><div class="title">
		&bull; <a href="?mod=ban_site">Список забанненых url</a> ['.$count_ban.']<br/>
		&rarr; <a href="index.php?mod=ban_url">Банить url</a> <br/>
		&bull; <a href="ban_ip.php">Список забанненых IP</a> ['.$count_ip.']<br/>
		&rarr; <a href="ban_ip.php?mod=ban">Банить IP</a>
		</div>
		<div class="zag">Новости</div><div class="title">
		&bull; <a href="'.$settings['url'].'/news.php">Управление новостями</a><br/>
		&bull; <a href="?mod=news">Настройки</a><br/>
		</div>';
		echo '<div class="func"><a href="'.$settnigs['url'].'/index.php?mod=logout">Выйти</a></div>';
	}	
	echo '</div><div class="main"><a href="'.$settings['url'].'">Главная</a></div>';
require_once ('../inc/foot.php');
?>