Вход Регистрация
Файл: masteram_us/down/apanel.php
Строк: 887
<?php
list($msec,$sec)=explode(chr(32),microtime());
$HeadTime=$sec+$msec;

require
'../shaxty.php'// waphp.ru - закрытый клуб вап мастеров!
require_once'fun.php';
$align='left';
$title='Архив файлов!';
$head='Архив файлов! Тут найдется все )';
include_once (
H.'shaxty/head.php');
check_login();
levels($set['zc_levadm']);

###################ГЛАВНОЕ МЕНЮ####################
switch($_GET['action']){
default:
echo 
'<div class="c4">Админка</div>

<div class="c2">Файлы</div><div class="a">
<a href="apanel_index.php">Файловый менеджер</a><br/>
<a href="apanel.php?action=upload">Upload файлов</a><br/>
<a href="apanel.php?action=import">Импорт файлов</a><br/>
<a href="apanel.php?action=import2">Импорт/Граб</a><br/>
<a href="rename.php">Массовая переименовка файлов</a><br/>'
;


if(
$level==9){echo '</div><div class="c2">БД MySQL</div><div class="a">
<a href="apanel_scan.php">Полное обновление БД</a><br/>
<a href="apanel_scan2.php">Полуавтоматическое обновление БД</a><br/>
<a href="apanel.php?action=rot">Очистка БД от мусора</a><br/>
<a href="apanel.php?action=checkkomm">Очистка комментариев</a><br/>
<a href="apanel.php?action=optm">Оптимизация БД</a><br/>
<a href="apanel.php?action=check">Очистка БД</a><br/>'
;

echo 
'</div><div class="c2">Настройки</div><div class="a">
<a href="apanel.php?action=sett">Настройки</a><br/>
<a href="apanel.php?action=close_razdel">Закрыть раздел</a><br/>
<a href="apanel.php?action=id3">MP3 теги</a><br/>
<a href="apanel.php?action=mark">Маркер картинок</a><br/><br>'
;
}

break;
#########################################ИМПОРТ2222222####################################################################
case 'import2':
levels(9);
set_time_limit(99999);

if(
$_POST['url'])
{
$b file('browser.dat');
$s count($b)-1;

$ot trim($_POST['ot']);
$do trim($_POST['do']);
$topath trim($_POST['topath']);
$url trim($_POST['url']);
$referer trim($_POST['referer']);
$dir=''.$_SERVER['DOCUMENT_ROOT'].dirname($_SERVER['PHP_SELF']).'/'.$topath;
if(
strlen($ot)>&& $ot[0]=='0'){
$null substr_count($ot,'0');
for(
$i=0$i<$null; ++$i){
$temp.= '0';
}
}


$ref $get =array();

for(
$i=$ot$i<=$do; ++$i)
{

if(
$temp!==false){
$num $i/10;
if(
$num==|| $num==10 || $num==100 || $num==1000 || $num==10000 || $num==100000 || $num==1000000){
$temp substr($temp,0,-1);
}
}


if(
$temp!==false && $i!=$ot){
$get[].= str_replace('$',$temp.$i,$url);
$ref[].= str_replace('$',$temp.$i,$referer);
}
else{
$get[].= str_replace('$',$i,$url);
$ref[].= str_replace('$',$i,$referer);
}

}


mkdir($dir,0777);
chmod($dir,0777);

for(
$i=0$i<=count($get); $i++)
{
ini_set('user_agent',trim($b[rand(0,$s)])."rnReferer: $ref[$i]rnAccept: */*rnAccept-Charset: utf-8rnAccept-language: ru-RU");
if(
copy($get[$i],$dir.basename($get[$i]))){++$g;}
}

chmod($dir,0755);

print 
'Скопировано '.$g.' Файла(ов)';
}
else
{
$dirs mysql_query("SELECT `path` FROM `files` WHERE `size` = '0';");
print 
'<form action="'.$_SERVER['PHP_SELF'].'?action=import2" method="post">
<div>
Сохранить в:<br>
<select class="buttom" size="1" width="70" name="topath"><option value="'
.set('path').'/">./</option>';
while(
$item mysql_fetch_array($dirs))
{

$name str_replace(set('path').'/','',$item['path']);
$path explode('/',$name);
$option '';
unset(
$path[count($path)-1]);
foreach(
$path as $value)
{
if(
strpos($value '!') !== false$name trans($value); else $name $value;
$option $option.$name.'/';
}
echo 
'<option value="'.$item['path'].'">'.$option.'</option>';
}

echo 
'</select><br>
URL<br/>
<input type="text" name="url" value="http://"/><br/>
Referer<br/>
<input type="text" name="referer" value="http://"/><br/>
Начать с<br/>
<input type="text" name="ot" value="1"/><br/>
Закончить<br/>
<input type="text" name="do" value="100"/><br/>
<input type="submit" value="Панеслась"/>
</div>
</form>FAQ(ЧаВО)<br/>----------<br/>
Например, пишем:<br/>
Куда Копировать - dir/<br/>
URL - http://somebody.com/$.gif<br/>
Referer - http://somebody.com/$.gif<br/>
Начать с - 001 (не начинайте со всех нулей)<br/>
Закончить - 100<br/>----------'
;
}
if(!empty(
$faq)) echo "Куда Копировать - папка на вашем хосте, куда будут скопированы файлы, имя<br/>относительно данного скрипта, если такой папки нет, она будет создана<br/>
URL - адрес ресурса откуда будем качать контент, символ $ будет заменятся на <br/>ЦИФРУ/БУКВУ<br/>
Referer - реферер, символ $ будет заменятся на ЦИФРУ/БУКВУ<br/>
В параметрах 'Начать с' и 'Закончить' вписываем ЦИФРУ/БУКВУ от которой будет начат <br/>отсчет и которой закончен соответственно<br/>
<br/>

<br/>
В таком случае с somebody.com будут скопированы в папку dir вашего хоста файлы <br/>http://somebody.com/001.gif, http://somebody.com/002.gif ... <br/>http://somebody.com/100.gif<br/>
<br/>
Взяв за пример скрипт Гемороя.оф сайт wapinet.ru<br/>"
;
break;
#####################################МАРКИРОВКА
case 'mark':
levels(9);
if(!
$_POST){
print 
'<div class="mainzag">Маркер картинок<br>На картинки будет нанесена указанная надпись, удалить ее будет невозможно<br></div>
<div class="row">
<form action="apanel.php?action=mark" method="post">
Надпись<br>
<input name="text" type="text"><br>
Расположение<br>
<select name="y">
<option value="top">вверху</option>
<option value="foot">внизу</option>
</select><br>
Шрифт<br>
<input name="size" type="text" size="3" maxlength="1" value="2"><br>
Цвет<br>
<input name="color[]" type="text" size="3" maxlength="3" value="200">
<input name="color[]" type="text" size="3" maxlength="3" value="200">
<input name="color[]" type="text" size="3" maxlength="3" value="200"><br>
<input class="buttom" type="submit" value="Готово">
</form>
</div>'
;
}
else{
@
set_time_limit(0);

$q mysql_query('SELECT `path` FROM `files` WHERE `path` LIKE "%.jpg" OR `path` LIKE "%.jpe" OR `path` LIKE "%.jpeg" OR `path` LIKE "%.gif" OR `path` LIKE "%.png"');
$all mysql_num_rows($q);
$i 0;
while(
$arr mysql_fetch_array($q)){

$path pathinfo($arr[0]);
if(
$path['extension'] == 'gif'){
$pic imageCreateFromGif($arr[0]);
$f 'imageGif';
}
elseif(
$path['extension'] == 'png'){
$pic imageCreateFromPng($arr[0]);
$f 'imagePng';
}
elseif(
$path['extension'] == 'jpg' || $path['extension'] == 'jpe' || $path['extension'] == 'jpeg'){
$pic imageCreateFromJpeg($arr[0]);
$f 'imageJpeg';
}
if(
$pic){
// цвет
$color imagecolorallocate($pic$_POST['color'][0], $_POST['color'][1], $_POST['color'][2]);

// верх/низ
if($_POST['y']=='foot'){
$y imageSY($pic)-($_POST['size']*8);
}
else{
$y 1;
}

imagestring($pic$_POST['size'], (imageSX($pic)/2)-(strlen($_POST['text'])*3), $y$_POST['text'], $color);

if(
$f($pic,$arr[0],100))
$i++;
}
$pic null;
}

print 
'Всего картинок: '.$all.', промаркерованы: '.$i;
}
break;


// редактор MP3 тегов
case 'id3':
levels(9);
include 
'moduls/id.php';
$id3 = &new MP3_Id();
$genres $id3->genres();

if(!
$_POST){

if(
$id){
$tmp mysql_fetch_array(mysql_query('SELECT `path` FROM `files` WHERE `id`='.$id.' LIMIT 1'));
$id3->read($tmp[0]);

function 
code($str){
$charset strtolower(mb_detect_encoding($str'UTF-8, Windows-1251'));
if(
$charset != 'utf-8'){
$str iconv('windows-1251','utf-8',$str);
}
return 
$str;
}

$name code($id3->name);
$artists code($id3->artists);
$album code($id3->album);
$year code($id3->year);
$track code($id3->track);
$genre code($id3->genre);
$comment code($id3->comment);


print 
'<div class="mainzag">Редактор MP3 тегов<br></div>
<div class="row">
<form action="apanel.php?action=id3&amp;id='
.$id.'" method="post">
Название<br>
<input name="name" type="text" value="'
.$name.'"><br>
Артист<br>
<input name="artists" type="text" value="'
.$artists.'"><br>
Альбом<br>
<input name="album" type="text" value="'
.$album.'"><br>
Год<br>
<input name="year" type="text" value="'
.$year.'"><br>
Трек<br>
<input name="track" type="text" value="'
.$track.'"><br>
Жанр<br>
<select name="genre"><option value="'
.$genre.'">'.$genre.'</option>';

foreach(
$genres as $var){
if(
$var == $genre){
continue;
}
$var htmlspecialchars($var);
print 
'<option value="'.$var.'">'.$var.'</option>';
}

print 
'</select><br>
Комментарии<br>
<textarea name="comment" rows="2" cols="32">'
.$comment.'</textarea><br>
<input class="buttom" type="submit" value="Задать">
</form>
</div>'
;
}
else{
print 
'<div class="mainzag">Модуль задаст всем MP3 файлам указанные теги. Если поле пустое, то тег изменяться не будет<br></div>
<div class="row">
<form action="apanel.php?action=id3" method="post">
Название<br>
<input name="name" type="text"/><br>
Артист<br>
<input name="artists" type="text"/><br>
Альбом<br>
<input name="album" type="text"/><br>
Год<br>
<input name="year" type="text"/><br>
Трек<br>
<input name="track" type="text"/><br>
Жанр<br>
<select name="genre"><option value=""></option>'
;

foreach(
$genres as $var){
$var htmlspecialchars($var);
print 
'<option value="'.$var.'">'.$var.'</option>';
}

print 
'</select><br>
Комментарии<br>
<textarea name="comment" rows="2" cols="32"></textarea><br>
<input class="buttom" type="submit" value="Задать">
</form>
</div>'
;
}
}
else{
if(
$id){
$tmp mysql_fetch_array(mysql_query('SELECT `path` FROM `files` WHERE `id`='.$id.' LIMIT 1'));
$id3->read($tmp[0]);

$id3->name iconv('utf-8','windows-1251',$_POST['name']);
$id3->artists iconv('utf-8','windows-1251',$_POST['artists']);
$id3->album iconv('utf-8','windows-1251',$_POST['album']);
$id3->year iconv('utf-8','windows-1251',$_POST['year']);
$id3->track iconv('utf-8','windows-1251',$_POST['track']);
$id3->genre iconv('utf-8','windows-1251',$_POST['genre']);
$id3->comment iconv('utf-8','windows-1251',$_POST['comment']);

$id3->write();

print 
'Теги изменены';
}
else{
$arr = array();

$q mysql_query('SELECT TRIM(`path`) FROM `files`');
while(
$f mysql_fetch_array($q)){
if(
strtoupper(strrchr($f[0],'.'))=='.MP3'){
$arr[] = $f[0];
}
}

if(
$_POST['name']!=''){
$_POST['name'] = iconv('utf-8','windows-1251',$_POST['name']);
}
if(
$_POST['artists']!=''){
$_POST['artists'] = iconv('utf-8','windows-1251',$_POST['artists']);
}
if(
$_POST['album']!=''){
$_POST['album'] = iconv('utf-8','windows-1251',$_POST['album']);
}
if(
$_POST['year']!=''){
$_POST['year'] = iconv('utf-8','windows-1251',$_POST['year']);
}
if(
$_POST['track']!=''){
$_POST['track'] = iconv('utf-8','windows-1251',$_POST['track']);
}
if(
$_POST['genre']!=''){
$_POST['genre'] = iconv('utf-8','windows-1251',$_POST['genre']);
}
if(
$_POST['comment']!=''){
$_POST['comment'] = iconv('utf-8','windows-1251',$_POST['comment']);
}

$all count($arr);
for(
$i=0$i<=$all; ++$i){
$id3->read($arr[$i]);

if(
$_POST['name']!=''){
$id3->name $_POST['name'];
}
if(
$_POST['artists']!=''){
$id3->artists $_POST['artists'];
}
if(
$_POST['album']!=''){
$id3->album $_POST['album'];
}
if(
$_POST['year']!=''){
$id3->year $_POST['year'];
}
if(
$_POST['track']!=''){
$id3->track $_POST['track'];
}
if(
$_POST['genre']!=''){
$id3->genre $_POST['genre'];
}
if(
$_POST['comment']!=''){
$id3->comment $_POST['comment'];
}
$id3->write();
}

print 
'Теги заданы для '.$all.' файлов';
}
}
break;



#########################################ДОБАВЛЕНИЕ И ИЗМЕНЕНИЕ ОПИСАНИЯ#########################################
case 'fast':

$file mysql_fetch_array(mysql_query('SELECT * FROM `files` WHERE `id` = '.$id));
if(!
$_POST)
{
echo 
'<div class="mainzag">Быстрое описание '.$file['name'].':</div>
<div class="row">
<form action="apanel.php?action=fast&amp;id='
.$id.'" method="post" name="REPLIER">
<textarea class=enter cols="70" rows="10" name="text">'
.htmlspecialchars($file['fastabout']).'</textarea><br><br>
<input name="tr" type="checkbox" value="1">Добавить в основное описание<br>
<input class="buttom" type="submit" value="Написать">
</form></div>'
;
}
else
{
if(
$_POST['text']==''$res='удалено!'; else $res='добавлено!';
$filename pathinfo($file['path']);
$dir $filename['dirname'];
if(
intval($_POST['tr']) == 1$write_bd mysql_query("UPDATE `files` SET about='".bb_code(check($_POST['text']))."' WHERE `id` = ".$id);
$write_bd mysql_query("UPDATE `files` SET fastabout='".bb_code(check($_POST['text']))."' WHERE `id` = ".$id);
echo 
'Быстрое описание '.$res.'<br><a href="apanel_view.php?id='.$id.'">К описанию</a>';
}
break;

######################################ЛОГ######################################################
case 'pos':
$file_info mysql_fetch_array(mysql_query('SELECT `name`,`path` FROM `files` WHERE `id`='.$id));
if(!
is_dir($file_info['path'])) die('Ошибка');
$file_info['name'] = str_replace('*','',$file_info['name']);
if(
$_GET['to'] == 'down'){
$query 'UPDATE `files` SET `priority`=`priority`-1 WHERE `id` = '.$id;
}
elseif(
$_GET['to'] == 'up'){
$query 'UPDATE `files` SET `priority`=`priority`+1 WHERE `id` = '.$id;
}
if(
mysql_query($query)){
echo 
'<div class="mainzag">Приоритет каталога '.$file_info['name'].' изменен!</div>';
}
else{
echo 
'<div class="minizag">Ошибка при изменении приоритета</div>';
}
break;

######################################ЛОГ######################################################
case 'rot':
levels(9);
$delfiles 0;
$reses mysql_query('SELECT `id`,`path` FROM `files`;');
while(
$array mysql_fetch_array($reses)){
$array_path[$array['id']] = $array['path'];
}
foreach(
$array_path as $key=>$value){
if(
file_exists($value)==false ){
$res mysql_query('DELETE FROM `files` WHERE `id` = '.$key);
$res mysql_query('DELETE FROM `komments` WHERE `file_id` = '.$key);
$delfiles++;
}
}
echo 
'<div class="mainzag">База данных успешно обновлена!</div><div class="row">Удалено неверных записей: '.$delfiles.'</div>';
break;

######################################ЛОГ######################################################
case 'editabout':
$file_info mysql_fetch_array(mysql_query('SELECT `id`,`fastabout`,`name`,`path` FROM `files` WHERE `id` = '.$id));
$file_info['name'] = str_replace('*','',$file_info['name']);
if(!
is_dir ($file_info['path']) and !is_file($file_info['path'])) die('Ошибка');
if(!
$_POST){
echo 
'<div class="mainzag">Описание файла '.$file_info['name'].':</div>
<div class="row">
<form action="apanel.php?action=editabout&amp;id='
.$id.'" method="post" name="REPLIER">
<textarea class="enter" cols="50" rows="7" name="text">'
.htmlspecialchars($file_info['fastabout']).'</textarea><br><br>
<input class="buttom" type="submit" value="Добавить">
</form>
</div>'
;
}
else{
$write_bd mysql_query("UPDATE `files` SET fastabout='".bb_code(check($_POST['text']))."' WHERE `id` = ".$id);
echo 
'Быстрое описание изменено!';
}
break;

######################################ЛОГ######################################################
case 'flash':
levels(9);
$file_info mysql_fetch_array(mysql_query('SELECT `path` FROM `files` WHERE `id` = '.$id.' AND `size` = 0;'));
if(!
is_dir($file_info['path'])) die('Такой категории не существует.');
function 
scaner ($paths)
{
$paths $paths.'/*';
$array glob($paths);
static 
$file_aray;
foreach(
$array as $vv)
{
if(
is_dir($vv)){
$file_aray[] = $vv.'/';
scaner($vv);
}
else{
if(
basename($vv)=='folder.png') continue;
$file_aray[] = $vv;
}
}
return 
$file_aray;
}
$file_array scaner(substr($file_info['path'],0,strlen($file_info['path'])-1));
$addfolder $addfiles 0;
$reses mysql_query('SELECT `id`,`path` FROM `files`;');
while(
$array mysql_fetch_array($reses)){
$array_path[$array['id']] = $array['path'];
}
foreach(
$file_array as $value){
if(@
in_array($value,$array_path)===false)
{
$upltime filectime($value);
$name basename($value);
$pathinfo pathinfo($value);
$ext $pathinfo['extension'];
$name str_replace('.'.$ext,'',$name);
$infolder dirname($value).'/';
$size filesize($value);
if(
strpos($name '!') !== false){
$name trans($name);
}
else{
$name trans2($name);
}
if(
is_dir($value)){
$query mysql_query("INSERT INTO `files` (`path`, `name`, `infolder`, `timeupload`, `loads`, `yes` ) VALUES ('$value', '*".$name."', '$infolder', '9999999999', '9999999999', '9999');"); $addfolder++;
}
else{
$query mysql_query("INSERT INTO `files` (`path`, `name`, `infolder`, `size` , `timeupload`) VALUES ('$value', '$name', '$infolder' , '$size' , '$upltime');");
$addfiles++;
}
}
}
echo 
'<div class="mainzag">База данных успешно обновлена!</div><div class="row">Добавлено папок: '.$addfolder.' <br>Добавлено файлов: '.$addfiles.'</div>';
break;
######################################ЛОГ######################################################
case 'flash1':
levels(9);
$file_info mysql_fetch_array(mysql_query('SELECT `path` FROM `files` WHERE `id` = '.$id.' AND `size` = 0;'));
if(!
is_dir($file_info['path'])) die('Такой категории не существует.');
function 
scaner ($paths)
{
$paths $paths.'/*';
$array glob($paths);
static 
$file_aray;
foreach(
$array as $vv)
{
if(
is_dir($vv)){
$file_aray[] = $vv.'/';
scaner($vv);
}
else{
if(
basename($vv)=='folder.png') continue;
$file_aray[] = $vv;
}
}
return 
$file_aray;
}
$file_array scaner(substr($file_info['path'],0,strlen($file_info['path'])-1));
$addfolder $addfiles 0;
$reses mysql_query('SELECT `id`,`path` FROM `files`;');
while(
$array mysql_fetch_array($reses)){
$array_path[$array['id']] = $array['path'];
}
foreach(
$file_array as $value){
if(@
in_array($value,$array_path)===false)
{
$upltime filectime($value);
$name basename($value);
$pathinfo pathinfo($value);
$ext $pathinfo['extension'];
$name str_replace('.'.$ext,'',$name);
$infolder dirname($value).'/';
$size filesize($value);
if(
strpos($name '!') !== false){
$name trans($name);
}
else{
$name trans2($name);
}
if(
is_dir($value)){

}
else{
$query mysql_query("INSERT INTO `files` (`path`, `name`, `infolder`, `size` , `timeupload`) VALUES ('$value', '$name', '$infolder' , '$size' , '$upltime');");
$addfiles++;
}
}
}
echo 
'<div class="mainzag">База данных успешно обновлена!</div><div class="row">Добавлено файлов: '.$addfiles.'</div>';
break;
######################################ЛОГ######################################################
case 'log':
levels(9);
$query mysql_query('SELECT * FROM `loginlog` WHERE `id` > 1 ORDER BY `time` DESC;');
echo 
'<div class="mainzag">Лог последних 20 посещений админки([UserAgent][IP][Time]):</div><div class="row">';
while(
$log mysql_fetch_array($query)){
echo 
'<strong>[</strong>'.$log['ua'].'<strong>][</strong>'.$log['ip'].'<strong>][</strong>'.date('d.m.Y (H:i)',$log['time']).'<strong>]</strong><br>';
}
echo 
'</div>';
break;

######################################ЛОГ######################################################
case 'addico':
$file_info mysql_fetch_array(mysql_query('SELECT * FROM `files` WHERE `id` = '.$id));
if(!
$_FILES)
{
echo 
'<div class="mainzag">Загрузка иконки к папке</div>
<div class="row">
<form action="apanel.php?action=addico&amp;id='
.$id.'" method="post" enctype="multipart/form-data">
Файл будет скопирован в назначеную папку:<br>
<input name="ico" type="file"><br>
<input class="buttom" type="submit" value="Добавить">
</form>
</div>'
;
}
else
{
$name $_FILES['ico']['name'];
$ext pathinfo($name);
$ext strtolower($ext['extension']);
$to $file_info['path'].'folder.png';
if(
$ext=='php' or $ext=='php3' or $ext=='php4' or $ext=='php5' or $ext=='php6' or $ext=='phtml' or $ext=='cgi' or $ext=='asp' or $ext=='js' or $ext=='phtm' or $ext=='py' or $ext=='pl') die (set('hackmess'));
if(
$ext!='png') die('Поддерживаются иконки только png формата');
if(
file_exists($to)) die('Файл уже существует');
chmod($file_info['path'], 0777);
if(
move_uploaded_file($_FILES['ico']['tmp_name'], $to))
{
echo 
'Закачка иконки прошла успешно.<br>';
chmod($to0644);
}
else{
echo 
'Закачка иконки окончилась неудачно.<br>';
//chmod($file_info['path'], 0777);
}
}
break;

######################################ЛОГ######################################################
case 'reico':
$file_info mysql_fetch_array(mysql_query('SELECT * FROM `files` WHERE `id` = '.$id));
if(!
file_exists($file_info['path'].'folder.png')) die('Иконки к данной папке не существует');
chmod($file_info['path'].'folder.png',0777);
if(
unlink($file_info['path'].'folder.png')) echo 'Удаление иконки прошло успешно.<br>';
else echo 
'Удаление иконки окончилось неудачно.<br>';
break;

######################################РАСПАКОВЩИК###############################################
case 'unpack':
levels(9);
$file mysql_fetch_array(mysql_query('SELECT * FROM `files` WHERE `id` = '.$id));
$dir dirname($file['path']).'/';
chmod($folder['path'], 0777);
include 
'moduls/pclzip.lib.php';
$zip = new PclZip($file['path']);
if(!
$zip->extract(PCLZIP_OPT_PATH$dir)) die('Ошибка при распаковке.'); else die('Ахрив распакован в '.$dir.'<br>Не забудьте обновить БД.');
chmod($folder['path'], 0777);
break;

######################################УДАЛЕНИЕ ПАПКИ######################################################
case 'redir':
levels(9);
if(
set('delete_dir')==0) die($hackmess);
if(!
$_GET['level']){
echo 
'Будут удалены все файлы в каталоге,а также сам каталог. Продолжить?<br><a href="apanel.php?action=redir&amp;level=1&amp;id='.$id.'">Да, продолжить</a>';
}
else{
$file mysql_fetch_array(mysql_query('SELECT * FROM `files` WHERE `id` = '.$id.' ORDER BY `name`;'));
if(!
is_dir ($file['path'])) die('Такой категории не существует!');

$ex explode('/',$file['path']);
$f_chmod null;
foreach(
$ex as $chmod){
$f_chmod.=$chmod.'/';
chmod($f_chmod,0777);
}

$array glob($file['path'].'*');
foreach(
$array as $vv){
if(
is_dir($vv)) die('Разрешено удалять только папки с 1 уровнем вложенности!');
else{
if(!
unlink($vv)) die('Ошибка при удалении файла '.$vv);
}
}
$query mysql_query("DELETE FROM `files` WHERE `infolder` = '".$file['path']."'") or die('Ошибка при удалении файлов из базы');

if(!
rmdir($file['path'])) die('Ошибка при удалении каталога');
$query mysql_query('DELETE FROM `files` WHERE `id` = '.$id) or die('Ошибка при удалении каталога из базы');


$f_chmod null;
foreach(
$ex as $chmod){
$f_chmod.=$chmod.'/';
if(
$f_chmod!=set('path').'/'){
chmod($f_chmod.'/',0777);
}
}


echo 
'Каталог успешно удален!';
}
break;

######################################УДАЛЕНИЕ ФАЙЛА###############################################
case 'refile':
if(
set('delete_dir')==0) die($hackmess);
$file mysql_fetch_array(mysql_query('SELECT * FROM `files` WHERE `id` = '.$id.' ORDER BY `name`;'));
if(!
is_file ($file['path'])) die('Такого файла не существует!');


$ex explode('/',$file['path']);
$f_chmod null;
foreach(
$ex as $chmod){
$f_chmod.=$chmod;
if(
is_dir($f_chmod)){
$f_chmod $f_chmod.'/';
}

chmod($f_chmod,0777);
}

if(!
unlink($file['path'])) die('Ошибка при удалении файла '.$file['path']);
$query mysql_query('DELETE FROM `files` WHERE `id` = '.$id) or die('Ошибка при удалении файла из базы');

$f_chmod null;
foreach(
$ex as $chmod){
$f_chmod.=$chmod;
if(
is_dir($f_chmod)){
$f_chmod $f_chmod.'/';
}

if(
$f_chmod!=set('path').'/'){
chmod($f_chmod,0777);
}
}

echo 
'Файл <strong>'.$file['name'].'</strong> удален!';
break;


######################################ПЕРЕИМЕНОВАНИЕ##################################################
case 'rename':

$file mysql_fetch_array(mysql_query('SELECT * FROM `files` WHERE `id` = '.$id));
if(!
$_POST)
{
if(
is_dir($file['path'])) $file['name'] = str_replace('*','',$file['name']);
echo 
'<div class="mainzag">Введите новое имя:</div>
<div class="row">
<form method="post" action="apanel.php?action=rename&amp;id='
.$id.'"">
<input class="enter" type="text" name="newname" size="70" value="'
.$file['name'].'"><br>
<input class="buttom" type="submit" value="Готово" >
</form></div>'
;
}
else
{
$newname check(del($_POST['newname']));
if(
is_dir($file['path'])) $newname '*'.$newname;
$query mysql_query("UPDATE `files` SET name='".$newname."' WHERE `id` = ".$id);
$error mysql_error();
if(
$error) die('Ошибка при переименовании.<br>'.$error);
echo 
'Файл переименован.';
}
break;

#########################################ОЧИСТКА КОММЕНТОВ К ФАЙЛУ#########################################
case 'clearkomm':
levels(9);
$query mysql_query('DELETE FROM `komments` WHERE `file_id` = '.$id);
$error mysql_error();
if(
$error) die('Ошибка при сбросе.<br>'.$error);
echo 
'Комментарии удалены.';
break;

##############################################ОЧИСТКА РЕЙТИНГА К ФАЙЛУ#######################################
case 'cleareval':
levels(9);
$query mysql_query('UPDATE `files` SET `ips`="",`yes`=0,`no`=0 WHERE `id` = '.$id);
$error mysql_error();
if(
$error) die('Ошибка при сбросе.<br>'.$error);
echo 
'Рейтинг удален.';
break;

#############################################ОПТИМИЗАЦИЯ БД###########################################
case 'optm':
levels(9);
mysql_query('OPTIMIZE TABLE `files`;');
mysql_query('OPTIMIZE TABLE `komments`;');
mysql_query('OPTIMIZE TABLE `sett`;');
echo 
'Базы данных оптимизированы.';
break;

################################################ОЧИСТКА БД########################################
case 'check':
levels(9);
if(!
$_GET['level'])
{
echo 
'Будут удалены все данные БД, включая описания,счетчики закачек,рейтинги и комментарии.Продолжить?<br><a href="apanel.php?action=check&amp;level=1">Да, продолжить</a>';
}
else
{
mysql_query('TRUNCATE TABLE `files`;');
mysql_query('TRUNCATE TABLE `komments`;');

echo 
'Базы данных очищены.<br>';
}
break;

##########################################ОЧИСТКА ВСЕХ КОММЕНТОВ##############################################
/*case 'checkkomm':
levels(9);
if(!$_GET['level'])
{
echo 'Будут удалены все комментарии к файлам! Продолжить?<br><a href="apanel.php?action=checkkomm&amp;level=1">Да, продолжить</a>';
}
else
{
$result = mysql_query('TRUNCATE TABLE `komments`;');
echo 'База данных комментариев очищена.<br>';
}
break;*/

#########################################ДОБАВЛЕНИЕ И ИЗМЕНЕНИЕ ОПИСАНИЯ#########################################
case 'about':

$file mysql_fetch_array(mysql_query('SELECT * FROM `files` WHERE `id` = '.$id));
if(!
$_POST)
{
echo 
'<div class="mainzag">Описание файла '.$file['name'].':</div>
<div class="row">
<form action="apanel.php?action=about&amp;id='
.$id.'" method="post" name="REPLIER">
<textarea class="enter" cols="70" rows="10" name="text">'
.htmlspecialchars($file['about']).'</textarea><br><br>
<input class="buttom" type="submit" value="Написать"></form></div>'
;
}
else
{
if(
$_POST['text']==''$res='удалено'; else $res='добавлено';
$filename pathinfo($file['path']);
$dir $filename['dirname'];
$back mysql_fetch_array(mysql_query("SELECT `id` FROM `files` WHERE `path` = '".bb_code(check($dir))."';"));
$write_bd mysql_query("UPDATE `files` SET about='".bb_code(check($_POST['text']))."' WHERE `id` = ".$id);
echo 
"Описание $res
<br><a href='apanel_index.php?id="
.$back['id']."'>Файл-менеджер</a>
<br><a href='apanel_view.php?id="
.$id."'>К описанию</a>";
}
break;

#########################################ИМПОРТ####################################################################
case 'import':
levels(9);
if(!
$_POST)
{
$dirs mysql_query('SELECT `path` FROM `files` WHERE `size` = 0');
echo 
'<div class="mainzag">Импорт файлов</div>
<div class="row">
Сохранить в:<br>
<form action="apanel.php?action=import" method="post" name="REPLIER">
<select class="buttom" size="1" width="70" name="topath"><option value="'
.set('path').'/">./</option>';
while(
$item mysql_fetch_array($dirs)){
$name str_replace(set('path').'/','',$item['path']);
$path explode('/',$name);
$option '';
unset(
$path[count($path)-1]);
foreach(
$path as $value){
if(
strpos($value '!') !== false$name trans($value); else $name $value;
$option $option.$name.'/';
}
echo 
'<option value="'.$item['path'].'">'.$option.'</option>';
}

echo 
'</select><br>
Файлы:<br>
<textarea class="enter" cols="70" rows="10" name="files"></textarea><br><br>
<input class="buttom" type="submit" value="Импорт">
</form></div>'
;
}
else
{
$newpath trim($_POST['topath']);
if(empty(
$newpath)) die ('Нет конечного пути!');
$text=explode("",$_POST['files']);
for(
$i=0$i<count($text); $i++)
{
$parametr explode('#',trim($text[$i]));
if(!isset(
$parametr[1])) $parametr[1] = basename(trim($parametr[0]));
$to $newpath.trim($parametr[1]);
if(
file_exists($to)) die('Файл '.$to.' уже существует<br>');
$ex pathinfo(trim($parametr[0]));
$ext strtolower($ex['extension']);
if(
$ext=='php' or $ext=='php3' or $ext=='php4' or $ext=='php5' or $ext=='php6' or $ext=='phtml' or $ext=='cgi' or $ext=='asp' or $ext=='js' or $ext=='phtm' or $ext=='py' or $ext=='pl') die (set('hackmess'));
chmod($newpath0777);

@
ini_set('user_agent',$_SERVER['HTTP_USER_AGENT']);
if(
copy(trim($parametr[0]),$to))
{
echo 
'Импорт файла '.$parametr[1].' удался<br>';
$upltime filectime($to);
$ex pathinfo($to);
$ex $ex['extension'];
$name str_replace('.'.$ex,'',basename($to));
if(
strpos($name '!') !== false){
$name trans($name);
}
else{
$name trans2($name);
}
$size filesize($to);
$infolder dirname($to).'/';
$query mysql_query("INSERT INTO `files` (`path`, `name`, `infolder`, `size` , `timeupload`) VALUES ('$to', '$name', '$infolder' , '$size' , '$upltime');");
}
else echo 
'Импорт файла '.$parametr[1].' не удался<br>';
}
chmod($newpath0777);
}
break;

#####################################АПЛОАД скрина###################################################
case 'screen':
$info mysql_fetch_array(mysql_query('SELECT * FROM `files` WHERE `id` = '.$id));
$nf pathinfo($info['path']);
$filename $nf['basename'];
if(!
is_file(set('spath').'/'.$filename.'.gif')){
if(!
$_FILES)
{
echo 
'<div class="mainzag">Загрузка скрина</div>
<div class="row">
<form action="apanel.php?action=screen&amp;id='
.$id.'" method="post" enctype="multipart/form-data">
Файл будет скопирован в папку со скриншотами:<br>
<input name="scr" type="file"><br>
<input class="buttom" type="submit" value="Добавить">
</form>'
;
}
else
{
$name $_FILES['scr']['name'];
$ex pathinfo($name);
$ext strtolower($ex['extension']);
$filenm pathinfo($info['path']);
$to set('spath').'/'.$filenm['basename'].'.gif';
if(
$ext!='gif' && $ext!='jpg' && $ext!='jpe' && $ext!='jpeg' && $ext!='png') die('Поддерживаются скриншоты только gif, jpeg, png форматов');
if(
file_exists($to)) die('Файл уже существует');
chmod(set('spath'), 0777);

if(
move_uploaded_file($_FILES['scr']['tmp_name'], $to)){
echo 
'Закачка скрина '.$name.' прошла успешно.<br>';

chmod($to,0666);

if(
$ext=='jpg' || $ext=='jpe' || $ext=='jpeg'){
$im imagecreatefromjpeg($to);
imagegif($im,$to);
imagedestroy($im);
}
elseif(
$ext=='png'){
$im imagecreatefrompng($to);
imagegif($im,$to);
imagedestroy($im);
}

}
else{
echo 
'Закачка скрина '.$name.' окончилась неудачно.<br>';
}
}
}
else {
chmod(set('spath'), 0777);
unlink (set('spath').'/'.$filename.'.gif');
}
break;

#####################################АПЛОАД###################################################
case 'upload':
if(!
$_POST)
{
$dirs mysql_query('SELECT `path` FROM `files` WHERE `size` = 0');

echo 
'<div class="mainzag">Upload файлов (max '.ini_get('upload_max_filesize').')</div>
<div class="row">
Сохранить в:<br>
<form action="apanel.php?action=upload" method="post" enctype="multipart/form-data">
<select class="buttom" size="1" width="70" name="topath"><option value="'
.set('path').'/">./</option>';
while(
$item mysql_fetch_array($dirs))
{
$name str_replace(set('path').'/','',$item['path']);
$path explode('/',$name);
$option '';
unset(
$path[count($path)-1]);
foreach(
$path as $value)
{
if(
strpos($value '!') !== false$name trans($value); else $name $value;
$option $option.$name.'/';
}
echo 
'<option value="'.$item['path'].'">'.$option.'</option>';
}
echo 
'</select><br>
Добавить файлы:<br>
<input name="userfile[]" type="file"><br>
<input name="userfile[]" type="file"><br>
<input name="userfile[]" type="file"><br>
<input name="userfile[]" type="file"><br>
<input name="userfile[]" type="file"><br>
<input class="buttom" type="submit" value="Добавить">
</form>'
;
}
else
{
$newpath trim($_POST['topath']);
if(empty(
$newpath)) die ('Нет конечного пути! '.$newpath);
for(
$i=0$i<count($_FILES['userfile']['name']); $i++)
{
if(empty(
$_FILES['userfile']['name'][$i])){
continue;
}
$name $_FILES['userfile']['name'][$i];
$ex pathinfo($name);
$ext strtolower($ex['extension']);
$to $newpath.$name;
if(
$ext=='php' or $ext=='php3' or $ext=='php4' or $ext=='php5' or $ext=='php6' or $ext=='phtml' or $ext=='cgi' or $ext=='asp' or $ext=='js' or $ext=='phtm' or $ext=='py' or $ext=='pl') die (set('hackmess'));
if(
file_exists($to)) die('Файл уже существует');
chmod($newpath0777);
if(
move_uploaded_file($_FILES['userfile']['tmp_name'][$i], $to))
{
echo 
'Закачка файла '.$name.' прошла успешно.<br>';
$upltime filectime($to);
$ex pathinfo($to);
$ex $ex['extension'];
$name str_replace('.'.$ex,'',basename($to));
$size filesize($to);
$infolder dirname($to).'/';
if(
strpos($name '!') !== false){
$name trans($name);
}
else{
$name trans2($name);
}

$query mysql_query("INSERT INTO `files` (`path`, `name`, `infolder`, `size` , `timeupload`) VALUES ('$to', '$name', '$infolder' , '$size' , '$upltime');");
chmod($to0644);
}
else echo 
'Закачка файла '.$name.' окончилась неудачно.<br>';
}
chmod($newpath0777);
}
break;

######################################СОЗДАНИЕ НОВОГО КАТАЛОГА##############################################
case 'newdir':
if(!
$_POST)
{
echo 
'<div class="mainzag">Создание новой категории:</div>
<div class="row">
<form action="apanel.php?action=newdir&amp;id='
.$id.'" method="post">
Имя новой папки:<br>
<input class="enter" name="dirnew" type="text" size="70" value=""><br>
<input name="tr" type="checkbox" value="1" checked="checked">Перевод (если имеются русские буквы - ВКЛЮЧИТЬ ОБЯЗАТЕЛЬНО!)<br>
<input class="buttom" type="submit" value="Добавить">
</form>'
;
}
else{
if(empty(
$_POST['dirnew'])){
die(
'Не заполнено поле!');
}
$dirnew check(del($_POST['dirnew']));
$name '*'.$dirnew;

if(
$_POST['tr'] == 1){
$dirnew '!'.retrans($dirnew);
}
if(!
$id){
$d['path'] = set('path').'/';
}
else{
$d mysql_fetch_array(mysql_query('SELECT * FROM `files` WHERE `id` = '.$id));
}
chmod($d['path'],0777);
$dirnew trim($d['path']).trim($dirnew).'/';
if(
mkdir($dirnew0777) AND $query mysql_query("INSERT INTO `files` (`path`, `name`, `infolder`, `timeupload`, `loads`, `yes` ) VALUES ('".$dirnew."', '$name', '".$d['path']."', '9999999999', '9999999999', '9999');")){
chmod($dirnew0777);
echo 
'Новый каталог создан.';
}
else{
echo 
'Ошибка при создании нового каталога.';
//chmod($d['path'],0777);
}
}
break;


########################################НАСТРОЙКИ СКРИПТА################################################
case 'sett':
levels(9);
if(!
$_POST)
{
echo 
'<div class="mainzag">Настройки загруз-центра:</div>
<form action="apanel.php?action=sett" method="post">
<div class="row">
Папка с файлами:<br>
<input class="enter" name="path" type="text" value="'
.set('path').'"></div><div class="row">
Папка с описаниями:<br>
<input class="enter" name="opath" type="text" value="'
.set('opath').'"></div><div class="row">
Папка со скринами:<br>
<input class="enter" name="spath" type="text" value="'
.set('spath').'"></div><div class="row">

Папка c JAVA книгами:<br>
<input class="enter" name="jpath" type="text" value="'
.set('jpath').'"></div><div class="row">

Папка c ZIP книгами:<br>
<input class="enter" name="zpath" type="text" value="'
.set('zpath').'"></div><div class="row">

Папка для нарезок:<br>
<input class="enter" name="mp3path" type="text" value="'
.set('mp3path').'"></div><div class="row">
Лимит нарезок (Мб):<br>
<input class="enter" name="limit" type="text" value="'
.set('limit').'"></div><div class="row">
Лимит комментариев к одному файлу:<br>
<input class="enter" name="klimit" type="text" value="'
.set('klimit').'"></div><div class="row">
Файлов на страницу по умолчанию:<br>
<select class="enter" size="1" name="onpage">
<option '
.sel(10,set('onpage')).'>10</option>
<option '
.sel(15,set('onpage')).'>15</option>
<option '
.sel(20,set('onpage')).'>20</option>
<option '
.sel(25,set('onpage')).'>25</option>
<option '
.sel(30,set('onpage')).'>30</option>
</select></div><div class="row">
Предосмотр по умолчанию:<br>
<select class="enter" size="1" name="prew">
<option value="1" '
.sel(1,set('prew')).'>Включено</option>
<option value="0" '
.sel(0,set('prew')).'>Выключено</option>
</select></div><div class="row">
Размер превьюшек(ширина*высота,знак "*" обязателен!):<br>
<input class="enter" name="prev_size" type="text" value="'
.$setup['prev_size'].'"></div><div class="row">


Маркер картинок:<br>
<select class="enter" size="1" name="marker">
<option value="0" '
.sel(0,set('marker')).'>Выключено</option>
<option value="1" '
.sel(1,set('marker')).'>Включено</option>
</select></div><div class="row">

Текст маркера:<br>
<input class="enter" name="text_marker" type="text" value="'
.set('text_marker').'"></div><div class="row">


Показ расширения:<br>
<select class="enter" size="1" name="ext">
<option value="1" '
.sel(1,set('ext')).'>Включено</option>
<option value="0" '
.sel(0,set('ext')).'>Выключено</option>
</select></div><div class="row">
Время новых файлов (дней,0 - выключено): <br>
<input class="enter" name="day_new" type="text" value="'
.set('day_new').'"></div><div class="row">
Время онлайна(сек.):<br>
<input class="enter" name="online_time" type="text" value="'
.set('online_time').'"></div><div class="row">
Число страниц после которого появляется возможность ручного ввода страниц: <br>
<input class="enter" name="pagehand" type="text" value="'
.set('pagehand').'"></div><div class="row">
Число ТОП файлов:<br>
<input class="enter" name="top_num" type="text" value="'
.set('top_num').'"></div><div class="row">
Сообщение для особо одаренных:<br>
<input class="enter" name="hackmess" type="text" value="'
.set('hackmess').'"></div><div class="row">
Сортировка по умолчанию:<br>
<select class="enter" size="1" name="sort">
<option value="name" '
.sel('name',set('sort')).'>Имя</option>
<option value="size" '
.sel('size',set('sort')).'>Размер</option>
<option value="data" '
.sel('data',set('sort')).'>Дата</option>
<option value="load" '
.sel('load',set('sort')).'>Популярность</option>
<option value="eval" '
.sel('eval',set('sort')).'>Рейтинг</option>
</select></div><div class="row">
Email:<br>
<input class="enter" name="zakaz_email" type="text" value="'
.set('zakaz_email').'">
</div><div class="row">
Заголовок: <br>
<input class="enter" name="zag" type="text" value="'
.set('zag').'">
</div><div class="row">
Главная сайта:<br>
<input class="enter" name="site_url" type="text" value="'
.set('site_url').'"><br><br>
<input class="buttom" type="submit" value="Сохранить">
</div></form>
</form>'
;
}
else
{

foreach(
$_POST as $key=>$value){
if(!isset(
$value) or $value=='') die('Не заполнено одно из полей.');
mysql_query("DELETE FROM `sett` WHERE `name`='".$key."'");
mysql_query("INSERT INTO `sett`(`name`,`value`) VALUES( '".$key."', '".check($value)."');");
print 
mysql_error();
}
echo 
'Настройки сохранены';
}
break;

    case 
close_razdel:
        
levels(9);

        if (isset(
$_POST['ok']))
        {
            if (!isset(
$_POST['block']))
            {
                
header('Location: ?action=close_razdel');
                die();
            }

            
$lv = (int)$_POST['liven'];
            foreach(
$_POST['block'] as $val)
            {
                
mysql_query("UPDATE files SET `close` = '$lv' WHERE id = '$val'");
            }
            
header('Location: ?action=close_razdel');
        }

        if (isset(
$_GET['x']))
        {
            
$x = (int)$_GET['x'];
            
mysql_query("UPDATE files SET `close` = '0' WHERE id = '$x'");
            
header('Location: ?action=close_razdel');
        }

        
$sqlR mysql_query("SELECT * FROM files WHERE infolder = 'files/!Skripty/' AND size = '0'");
        echo 
'<form method="post" action="?action=close_razdel">
              Чтобы выбрать закрытые разделы, отметьте их галочкой и укажите уровень доступа.<br/>
              Чтобы убрать галочку, нажмите на <i>x</i> рядом с ней.
              <hr/>'
;

              
$i 0;
              while(
$inSql mysql_fetch_assoc($sqlR))
              {
                    echo 
'<input type="checkbox" name="block[]" '.($inSql['close'] != 'checked="checked"' '').' value="'.$inSql['id'].'"/> ' $inSql['name'] . '
                          <a href="?action=close_razdel&amp;x='
.$inSql['id'].'">x</a><br/>';
              }

        
$sqlR_2 mysql_fetch_array(mysql_query("SELECT close FROM files WHERE close != '0' LIMIT 1"));

        echo 
'Доступны для какого уровня?
              <br/>
              <select name="liven">
              <option value="0">Бродяга</option>
              <option value="1">Новичек</option>
              <option value="2">Наш чел</option>
              <option value="3">Мастер</option>
              <option value="4">V.I.P</option>
              <option value="5">Модеротор</option>
              <option value="6">Старший модер</option>
              <option value="7">Админ</option>
              <option value="8">Супер Админ</option>
              <option value="9">Создатель сайта</option>
              </select> ' 
level($sqlR_2[0]) . '
              <br/>
              <input type="submit" class="ibutton" name="ok" value="Выбрать"/>
              </form>'
;
    break;

}

######################################НОСОК##################################################
if($_GET['action']){
echo 
$div1.'<a href="apanel.php">Админка</a>'.$div9;
}
echo 
$div1.'<a href="./">Загрузки</a>'.$div9;;
include_once (
H.'shaxty/foot.php');
?>
Онлайн: 0
Реклама