<?
error_reporting(0);
if (!defined('SECURED'))
{
die("Unknown Error!");
}
if($level<2)
{
title('Error!');
echo'У вас недостаточно прав для доступа к этому разделу!';
footer();
exit;
}
if($ver=='wml')
{
title('Error!');
echo'Администрирование возможно только в <a href="'.$_SERVER['PHP_SELF'].'?mode=admin&xhtml&'.SID.'">xHTML</a> версии.<br/>';
footer();
exit;
}
title('APanel');
div('APanel','b');
switch($_GET['act'])
{
default: //просмотр категорий
div("Привет, <b>$login</b>!",'a');
if(!empty($_GET['r_down']))
{
$r_down=intval($_GET['r_down']);
list($cp)=mysql_fetch_array(mysql_query("select position from categorys where id='".$r_down."';"));
if(mysql_affected_rows()!=0)
{
list($lastp,$lastid)=mysql_fetch_array(mysql_query("select position,id from categorys where position>'".$cp."' and parent='0' order by position limit 0,1;"));
if(mysql_affected_rows()!=0)
{
mysql_query("update categorys set position='".$lastp."' where id='".$r_down."';");
mysql_query("update categorys set position='".$cp."' where id='".$lastid."';");
}
}
}
if(!empty($_GET['r_up']))
{
$r_up=intval($_GET['r_up']);
list($cp)=mysql_fetch_array(mysql_query("select position from categorys where id='".$r_up."';"));
if(mysql_affected_rows()!=0)
{
list($lastp,$lastid)=mysql_fetch_array(mysql_query("select position,id from categorys where position<'".$cp."' and parent='0' order by position desc limit 0,1;"));
if(mysql_affected_rows()!=0)
{
mysql_query("update categorys set position='".$lastp."' where id='".$r_up."';");
mysql_query("update categorys set position='".$cp."' where id='".$lastid."';");
}
}
}
if(!empty($_GET['c_down']))
{
$c_down=intval($_GET['c_down']);
list($cp,$parent)=mysql_fetch_array(mysql_query("select position,parent from categorys where id='".$c_down."';"));
if(mysql_affected_rows()!=0)
{
list($lastp,$lastid)=mysql_fetch_array(mysql_query("select position,id from categorys where position>'".$cp."' and parent='$parent' order by position limit 0,1;"));
if(mysql_affected_rows()!=0)
{
mysql_query("update categorys set position='".$lastp."' where id='".$c_down."';");
mysql_query("update categorys set position='".$cp."' where id='".$lastid."';");
}
}
}
if(!empty($_GET['c_up']))
{
$c_up=intval($_GET['c_up']);
list($cp,$parent)=mysql_fetch_array(mysql_query("select position,parent from categorys where id='".$c_up."';"));
if(mysql_affected_rows()!=0)
{
list($lastp,$lastid)=mysql_fetch_array(mysql_query("select position,id from categorys where position<'".$cp."' and parent='$parent' order by position desc limit 0,1;"));
if(mysql_affected_rows()!=0)
{
mysql_query("update categorys set position='".$lastp."' where id='".$c_up."';");
mysql_query("update categorys set position='".$cp."' where id='".$lastid."';");
}
}
}
echo'<a href="'.$_SERVER['PHP_SELF'].'?mode=admin&id='.$subcategory['id'].'&act=new_r&'.SID.'"><img src="images/b_newtbl.png" alt="[NEW]"/>Новая категория</a><br/>';
$q=mysql_query("select * from categorys where parent='0' order by position;");
while($category=mysql_fetch_array($q))
{
$files=mysql_result(mysql_query("select count(id) from files where refcat='".$category['id']."';"),0);
$text='<img src="images/dir.gif" alt="[DIR]"/>
<a href="'.$_SERVER['PHP_SELF'].'?mode=admin&id='.$category['id'].'&'.SID.'">'.$category['name'].'</a>
('.$files.')
<a href="'.$_SERVER['PHP_SELF'].'?mode=admin&r_up='.$category['id'].'&'.SID.'">[<img src="images/arrow_up.gif" alt="[UP]"/>]</a>
<a href="'.$_SERVER['PHP_SELF'].'?mode=admin&r_down='.$category['id'].'&'.SID.'">[<img src="images/arrow_down.gif" alt="[DOWN]"/>]</a>
<a href="'.$_SERVER['PHP_SELF'].'?mode=admin&id='.$category['id'].'&act=r_edit&'.SID.'">[<img src="images/b_edit.png" alt="[EDIT]"/>]</a>
<a href="'.$_SERVER['PHP_SELF'].'?mode=admin&id='.$category['id'].'&act=r_del&'.SID.'">[<img src="images/b_drop.png" alt="[DEL]"/>]</a>';
div($text,'f');
if(!empty($category['desc'])) echo $category['desc'].'<br/>';
if($_GET['id']==$category['id'])
{
$id=intval($_GET['id']);
$q2=mysql_query("select * from categorys where parent='$id' order by position;");
while($subcategory=mysql_fetch_array($q2))
{
$files=mysql_result(mysql_query("select count(id) from files where cat='".$subcategory['id']."';"),0);
$text='<img src="images/dir.gif" alt="[DIR]"/> ';
if($subcategory['adult']==1) $text.='[18+]';
$text.='<b><u>'.$subcategory['name'].'</u></b>
('.$files.')
<a href="'.$_SERVER['PHP_SELF'].'?mode=admin&id='.$id.'&c_up='.$subcategory['id'].'&'.SID.'">[<img src="images/arrow_up.gif" alt="[UP]"/>]</a>
<a href="'.$_SERVER['PHP_SELF'].'?mode=admin&id='.$id.'&c_down='.$subcategory['id'].'&'.SID.'">[<img src="images/arrow_down.gif" alt="[DOWN]"/>]</a>
<a href="'.$_SERVER['PHP_SELF'].'?mode=admin&id='.$subcategory['id'].'&act=c_edit&'.SID.'">[<img src="images/b_edit.png" alt="[EDIT]"/>]</a>
<a href="'.$_SERVER['PHP_SELF'].'?mode=admin&id='.$subcategory['id'].'&act=c_del&'.SID.'">[<img src="images/b_drop.png" alt="[DEL]"/>]</a><br/>';
echo $text;
if(!empty($subcategory['desc'])) echo '» '.$subcategory['desc'].'<br/>';
}
echo'<a href="'.$_SERVER['PHP_SELF'].'?mode=admin&id='.$id.'&act=new_c&'.SID.'"><img src="images/b_newtbl.png" alt="[NEW]"/>Новая подкатегория</a><br/>';
}
echo '<u>[Допустимые форматы: <b>'.str_replace('|', ', ', strtoupper($category['acc_ext'])).'</b>]</u><br/>';
}
echo $separator;
echo'<a href="'.$_SERVER['PHP_SELF'].'?mode=admin&act=clean&'.SID.'"><img src="images/co.gif" alt="[CO]"/>Чистка обменника</a><br/>';
break;
case 'new_r': //Новая категория
div("<b>Новая категория</b>",'a');
$id=intval($_GET['id']);
if(!empty($_POST['name']) && !empty($_POST['ae']))
{
list($lpos)=mysql_fetch_array(mysql_query("select position from categorys where parent='0' order by position desc limit 0,1;"));
$lpos+=1;
mysql_query("INSERT INTO `categorys` ( `id` , `parent` , `name` , `desc` , `adult` , `position` , `acc_ext` )
VALUES (
0, '0', '".val($_POST['name'])."', '".strtolower(val($_POST['desc']))."', '0', '$lpos', '".val($_POST['ae'])."'
);");
$dir='files/'.mysql_insert_id();
mkdir($dir,0777);
chmod($dir,0777);
unset($_POST);
echo div('Категория успешно создана!','g');
}
echo '<form action="'.$_SERVER['PHP_SELF'].'?mode=admin&id='.$id.'&act='.$_GET['act'].'&'.SID.'" method="post">';
echo 'Название:<br/>
<input name="name"/><br/>
Описание:<br/>
<textarea name="desc" cols="20" rows="3"></textarea><br/>
Допустимые расширения:<br/>
<textarea name="ae" cols="20" rows="3">ext1|ext2|ext3</textarea><br/>';
echo '<input type="submit" value="Go!"/></form>';
break;
case 'r_edit': //Редактирование категории
div("<b>Редактирование категории</b>",'a');
$id=intval($_GET['id']);
if(!empty($_POST['name']) && !empty($_POST['ae']))
{
mysql_query("UPDATE `categorys` SET
`name` = '".val($_POST['name'])."',
`desc` = '".val($_POST['desc'])."',
`acc_ext` = '".strtolower(val($_POST['ae']))."'
WHERE `id` ='$id';");
unset($_POST);
echo div('Категория успешно изменена!','g');
} else
{
$cat_data=mysql_fetch_array(mysql_query("select `name`,`desc`,`acc_ext` from `categorys` where `id` ='$id';"));
echo '<form action="'.$_SERVER['PHP_SELF'].'?mode=admin&id='.$id.'&act='.$_GET['act'].'&'.SID.'" method="post">';
echo 'Название:<br/>
<input name="name" value="'.$cat_data['name'].'"/><br/>
Описание:<br/>
<textarea name="desc" cols="20" rows="3">'.$cat_data['desc'].'</textarea><br/>
Допустимые расширения:<br/>
<textarea name="ae" cols="20" rows="3">'.$cat_data['acc_ext'].'</textarea><br/>';
echo'<input type="submit" value="Go!"/></form>';
}
break;
case 'r_del': //Удаление категории
include'includes/func_rdir.php';
div("<b>Удаление категории</b>",'a');
$id=intval($_GET['id']);
if(isset($_GET['go']))
{
mysql_query("DELETE FROM `categorys` WHERE `id` = '$id' or parent = '$id';");
mysql_query("DELETE FROM `files` WHERE `refcat` = '$id';");
rdir("files/$id");
echo div('Категория успешно удалена!','g');
} else
{
list($cat_name)=mysql_fetch_array(mysql_query("select `name` from `categorys` where `id` ='$id';"));
$files=mysql_result(mysql_query("select count(id) from files where refcat='$id';"),0);
echo'Вы действительно желаете удалить категорию <b>'.$cat_name.'</b>, содержащую <b>'.$files.'</b> файлов?<br/>';
echo'<a href="'.$_SERVER['PHP_SELF'].'?mode=admin&id='.$id.'&act='.$_GET['act'].'&go&'.SID.'">Да</a>|';
echo'<a href="'.$_SERVER['PHP_SELF'].'?mode=admin&'.SID.'">Нет</a><br/>';
}
break;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
case 'new_c': //Новая подкатегория
$id=intval($_GET['id']);
list($cat_name)=mysql_fetch_array(mysql_query("select name from categorys where id='$id';"));
div("<b>Новая подкатегория:</b>$cat_name",'a');
if(!empty($_POST['name']))
{
list($lpos)=mysql_fetch_array(mysql_query("select position from categorys where parent='$id' order by position desc limit 0,1;"));
$lpos+=1;
mysql_query("INSERT INTO `categorys` ( `id` , `parent` , `name` , `desc` , `adult` , `position` , `acc_ext` )
VALUES (
0, '$id', '".val($_POST['name'])."', '".val($_POST['desc'])."', ".intval($_POST['fa']).", '$lpos', ''
);");
$dir='files/'.$id.'/'.mysql_insert_id();
mkdir($dir,0777);
chmod($dir,0777);
unset($_POST);
echo div('Подкатегория успешно создана!','g');
}
echo '<form action="'.$_SERVER['PHP_SELF'].'?mode=admin&id='.$id.'&act='.$_GET['act'].'&'.SID.'" method="post">';
echo 'Название:<br/>
<input name="name"/><br/>
Описание:<br/>
<textarea name="desc" cols="20" rows="3"></textarea><br/>
Для взрослых:<br/>
<select name="fa">
<option value="0">Нет</option>
<option value="1">Да</option>
</select><br/>';
echo '<input type="submit" value="Go!"/></form>';
break;
case 'c_edit': //Редактирование подкатегории
div("<b>Редактирование подкатегории</b>",'a');
$id=intval($_GET['id']);
if(!empty($_POST['name']))
{
mysql_query("UPDATE `categorys` SET
`name` = '".val($_POST['name'])."',
`desc` = '".val($_POST['desc'])."',
`adult` = '".intval($_POST['fa'])."'
WHERE `id` ='$id';");
unset($_POST);
echo div('Подкатегория успешно изменена!','g');
} else
{
$cat_data=mysql_fetch_array(mysql_query("select `name`,`desc`,`adult` from `categorys` where `id` ='$id';"));
echo '<form action="'.$_SERVER['PHP_SELF'].'?mode=admin&id='.$id.'&act='.$_GET['act'].'&'.SID.'" method="post">';
echo 'Название:<br/>
<input name="name" value="'.$cat_data['name'].'"/><br/>
Описание:<br/>
<textarea name="desc" cols="20" rows="3">'.$cat_data['desc'].'</textarea><br/>
Для взрослых:<br/>
<select name="fa">
<option value="0">Нет</option>
<option value="1" '.($cat_data['adult']==1 ? 'selected="selected"' : '').'>Да</option>
</select><br/>';
echo'<input type="submit" value="Go!"/></form>';
}
break;
case 'c_del': //Удаление подкатегории
include'includes/func_rdir.php';
div("<b>Удаление подкатегории</b>",'a');
$id=intval($_GET['id']);
if(isset($_GET['go']))
{
list($parent)=mysql_fetch_array(mysql_query("select parent from categorys where id='$id';"));
mysql_query("DELETE FROM `categorys` WHERE `id` = '$id';");
mysql_query("DELETE FROM `files` WHERE `cat` = '$id';");
rdir("files/$parent/$id");
echo div('Подкатегория успешно удалена!','g');
} else
{
list($cat_name)=mysql_fetch_array(mysql_query("select `name` from `categorys` where `id` ='$id';"));
$files=mysql_result(mysql_query("select count(id) from files where cat='$id';"),0);
echo'Вы действительно желаете удалить подкатегорию <b>'.$cat_name.'</b>, содержащую <b>'.$files.'</b> файлов?<br/>';
echo'<a href="'.$_SERVER['PHP_SELF'].'?mode=admin&id='.$id.'&act='.$_GET['act'].'&go&'.SID.'">Да</a>|';
echo'<a href="'.$_SERVER['PHP_SELF'].'?mode=admin&'.SID.'">Нет</a><br/>';
}
break;
case 'clean': //Чистка обменника
div("<b>Чистка обменника</b>",'a');
$total=0;
$q=mysql_query("select id,filename,screen,jad,author from files where last_download<('".time()."'-'".$config['max_keep']."');");
while($file=mysql_fetch_array($q))
{
list($author_id)=explode('|',$file_author);
mysql_query("delete from comments where fid='".$file['id']."';");
mysql_query("delete from files where id='".$file['id']."';");
mysql_query("update `users` set `upl_files` = `upl_files` - 1, `upl_files_size` = `upl_files_size` - '".filesize($file['filename'])."' where `id`='$author_id';");
unlink($file['filename']);
@unlink($file['screen']);
@unlink($file['jad']);
++$total;
}
echo'Успешно удалено '.$total.' устаревших файлов!<br/>';
break;
}
echo $separator;
echo'» <a href="'.$_SERVER['PHP_SELF'].'?mode=admin&'.SID.'">Админка</a><br/>';
echo $goback;
?>