View file admin.php

File size: 6.72Kb
<?php
session_start();
$self = $_SERVER['PHP_SELF'];
require_once('./includes/exchange.class.php');
$exchange = new wapExchanger();

if (!isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER']!=$exchange->admin || $_SERVER['PHP_AUTH_PW']!=$exchange->pass)
	{
	header("WWW-Authenticate: Basic realm=\"WapExchanger.Admin\"");
	header("HTTP/1.0 401 Unauthorized");
	exit("<b>Access Denied</b>");
	}
	
$_SESSION['a'] = md5($exchange->admin) . md5($exchange->pass);
$mode = @$_GET['mode'];   
echo $exchange->_xhtml('Админка');

switch ($mode)
{
	default:
	echo '<div class="w1"><b>Управление обменником</b></div>';
	echo '<div class="w2">Всего категорий: ' . $exchange->allCateg() . '<br/>Всего файлов: ' . $exchange->allFiles() . '</div>';
	echo '<div><a href="' . $self . '?mode=categ">Управление категориями</a><br/>';
	echo '<a href="' . $self . '?mode=tc">Очистить обменник</a><br/>';
	echo '<a href="index.php">Перейти в обменник (админ)</a><br/>';
	echo '<a href="index.php?unset">Перейти в обменник (cтандарт)</a><br/></div>';
	
	//echo $exchange->_footer();
	break;
	
	case 'categ':
	echo '<div class="w1"><b>Управление категориями</b></div>';
	$id = (!empty($_POST['id']) ? intval($_POST['id']) : -1);
	$q = mysql_query("SELECT id, name FROM categories WHERE subid=$id");// echo $id;
	echo '<div class="w2">Текущая папка: ' . $exchange->foldername($id) . '</div>';
	if(mysql_num_rows($q) == 0)
	echo '<div><span style="color:red"><b>Папка пуста!</b></span></div>';
	else 
	{
		echo '<form action="' . $self . '?mode=categ&amp;fd=' . rand(1, 9999) . '" method="post"><div><select name="id">';
		while($d = mysql_fetch_array($q))
		{
			echo '<option value="' . $d['id'] . '">' . stripslashes($d['name']) .'</option>';
		}
		echo '</select><br/>';
		echo '<input type="submit" value="Перейти.."/></div></form>';
	}
	echo '<div><b>В текущей папке:</b>';
	if(!empty($id) AND $id != -1)
	{
		echo '</div><form action="' . $self . '?mode=ren&amp;id=' . $id . '" method="post"><div>';
		echo 'Новое имя:<br/><input name="newname" value="' . $exchange->foldername($id) . '"/>';
		echo '<br/><input type="submit" value="Переименовать"/></div></form><div>';
	}
	echo '</div><form action="' . $self . '?mode=create&amp;id=' . $id . '" method="post"><div>';
	echo 'Категория<br/><input name="categ"/><br/>';
	echo 'Расширения: <br/>';
	foreach($exchange->exts AS $key=>$value)
	{
		echo '<input type="checkbox" name="' . $value . '"/>' . $value . '<br/>';
	}
	echo '<input type="submit" value="Создать"/></div></form><div>';
	if(!empty($id) AND $id != -1)
	{
		echo '</div><form action="' . $self . '?mode=rename&amp;id=' . $id . '" method="post"><div>';
		echo 'Имя:<br/><input name="name"/><br/><input type="submit" value="Переименовать"/></div></form><div>';
		echo '<span style="color:red"><b><a href="' . $self . '?mode=del&amp;id=' . $id . '">Удалить категорию</a></b></span>';
	}
	echo '</div>';
	
	break;
	
	case 'create':
	$id = (isset($_GET['id']) ? intval($_GET['id']) : -1);
	$name = (!empty($_POST['categ']) ? addslashes($_POST['categ']) : exit("<font color=\"red\">Не введено имя папки!</font><br/><a href=\"" . $self . "\">::Админка</a>" . $exchange->_footer()));
	//$ext = (!empty($_POST['ext']) ? $_POST['ext'] : exit("<font color=\"red\">Выберите хотя бы одно допустимое расширение!</font><br/><a href=\"" . $self . "\">::Админка</a>" . $exchange->_footer()));
	$exts = '';
	foreach($exchange->exts AS $key=>$value)
	{
		if(isset($_POST[$value]))
		$exts .= ',' . $value;
	}
	if(mysql_query("INSERT INTO categories (subid, name, exts) VALUES ($id, '" . $name . "', '" . $exts . "')") === FALSE)
	exit("<font color=\"red\">Ошибка создания категории!</font><br/><a href=\"" . $self . "\">::Админка</a>" . $exchange->_footer()); 
	echo 'Категория <b>' . stripslashes($name) . '</b> создана успешно!<br/>';
	
	break;
	
	case 'del':
	
	$id = (isset($_GET['id']) ? intval($_GET['id']) : -1);
	@mysql_query("DELETE FROM categories WHERE id=$id");
	$itemdel = mysql_query("SELECT * FROM items WHERE indir=$id");
	while($file = mysql_fetch_array($itemdel))
	{
		$exchange->rmfile($file['url']);
		mysql_query("DELETE FROM items WHERE id=" . $file['id']);
	}
	echo '<b>Категория удалена!</b><br/>Удалено так же ' . mysql_num_rows($itemdel) . ' файлов!';
	
	break;
	
	case 'tc':
	
	//@mysql_query("TRUNCATE TABLE categories");
	@mysql_query("TRUNCATE TABLE items");
	@mysql_query("TRUNCATE TABLE comments");
	$op = opendir($exchange->uploadPath);
	while($file = readdir($op))
	{
		if(is_dir($exchange->uploadPath . $file) AND $file != '.' AND $file != '..')
		{
			$op2 = opendir($exchange->uploadPath . $file);
			while($file2 = readdir($op2))
			{
				if(is_file($exchange->uploadPath . $file . '/' . $file2))
				{
					chmod($exchange->uploadPath . $file . '/' . $file2, 0777);
					unlink($exchange->uploadPath . $file . '/' . $file2);
				}
			}
			closedir($op2);
			@rmdir($exchange->uploadPath . $file);
		}
	}
	closedir($op);
	echo 'Таблицы файлов и комментариев очищены. Все файлы удалены :)';
	
	break;
	
	case 'dmes':
	
	$id = (isset($_GET['id']) ? intval($_GET['id']) : 0);
	@mysql_query("DELETE FROM comments WHERE id=$id");
	echo 'Сообщение удалено!';
	
	break;
	
	case 'rmf':
	
	$id = (isset($_GET['id']) ? intval($_GET['id']) : 0);
	$url = mysql_fetch_array(mysql_query("SELECT url FROM items WHERE id=$id"));
	$exchange->rmfile($url['url']);
	mysql_query("DELETE FROM items WHERE id=$id");
	echo 'Файл был удален!';
	
	break;
	
	case 'ren':
	
	$id = (isset($_GET['id']) ? intval($_GET['id']) : 0);
	$name = addslashes($_POST['newname']);
	mysql_query("UPDATE categories SET name='" . $name . "' WHERE id=$id");
	echo 'Категория переименована';
	
	break;
	
	case 'moder':
	
	mysql_query("UPDATE users SET moder=1 WHERE name='" . addslashes(urlencode(@$_GET['id'])) . "' LIMIT 1");
	echo 'Теперь он модератор :)';
	
	break;
	
	case 'nomoder':
	
	mysql_query("UPDATE users SET moder=0 WHERE name='" . addslashes(urlencode(@$_GET['id'])) . "' LIMIT 1");
	echo 'Теперь он не модератор :)';
	
	break;
	
	
	
	
}
echo '<div class="w2"><a href="' . $self . '">:Админка</a></div>';
echo $exchange->_footer();
?>