Вход Регистрация
Файл: down/admin.php
Строк: 267
<?
##########################################
## Автор: -=ШАХТЕР=-                        #                                                                                                                                                                                      ## Сайт: http://masteram.us                 #                                                                                                   ## ICQ  :  46-92-90                         #                                                                                             ## Версия 4.0 Лицензионная                  #
## Данная версия скрипта является ПЛАТНОЙ,  #
## вы НЕ ИМЕЕТЕ ПРАВА распрострянять данный #
##  скрипт или какие-либо части его кода... #
#########################################
require'../config.php';
$align='left';
$title='Архив файлов';
aut();
head();
who_add(0,'enter');
levels(5);
function 
retrans($t){
$a = array('_','YA','Ya','ya','yee','YO','yo','Yo','ZH','zh','Zh','Z','z','CH','ch','Ch','SH','sh','Sh','YE','ye','Ye','YU','yu','Yu','JA','ja','Ja','A','a','B','b','V','v','G','g','D','d','E','e','I','i','J','j','K','k','L','l','M','m','N','n','O','o','P','p','R','r','S','s','T','t','U','u','F','f','H','h','W','w','x','q','Y','y','C','c','!');
$b = array(' ','Я','Я','я','ые','Ё','ё','Ё','Ж','ж','Ж','З','з','Ч','ч','Ch','Ш','ш','Ш','Э','э','Э','Ю','ю','Ю','Я','я','Я','А','а','Б','б','В','в','Г','г','Д','д','Е','е','И','и','Й','й','К','к','Л','л','М','м','Н','н','О','о','П','п','Р','р','С','с','Т','т','У','у','Ф','ф','Х','х','Щ','щ','ъ','ь','Ы','ы','Ц','ц','');
return 
str_replace($b,$a,$t);
}

function 
del($text)
{
$text=str_replace('&',''$text);
$text=str_replace('$',''$text);
$text=str_replace('>',''$text);
$text=str_replace('<',''$text);
$text=str_replace('~',''$text);
$text=str_replace('`',''$text);
$text=str_replace('#',''$text);
$text=str_replace('*',''$text);
return 
$text;
}



$fid  check(intval($_GET['fid']));
switch(
$mod){
default:
//echo '<a href="?fid='.$fid.'&amp;mod=newdir">Новая папка</a><br />';
break;


case 
'addcat':
levels(8);
if (empty(
$act)){
if (
$ver!='wml')echo '<form action="?act=act&amp;'.SID.'" method="post">';

echo 
'Имя новой папки:<br/>';
echo 
'<input type="text" name="name" maxlength="50" title="Форум"/><br/><input name="tr" type="checkbox" value="1" checked="checked">Перевод (если имеются русские буквы - ВКЛЮЧИТЬ ОБЯЗАТЕЛЬНО!)<br>';
$k $db->sql_fetchrow($db->sql_query("SELECT count(*) FROM `dow_cat`;"));
echo 
'Положение:<br/>';
echo 
'<input type="text" name="pos" value="'.($k['count(*)']+1).'" maxlength="50" title="Положение"/><br/>';
if (
$ver=='wml'){
echo 
'<br /><anchor title="go">Добавить<go href="?act=add&amp;'.SID.'" method="post">';
echo 
'<postfield name="name" value="$name"/>
<postfield name="pos" value="$pos"/>
</go></anchor>'
;
echo 
'<br/><br />';
}else{
echo 
'<br /><input type="submit" class="ibutton" value="Добавить"/></form><br /><br />';
}
}else{
$dirnew check(del($_POST['name']));
$name $dirnew;

$pos check(intval($_POST['pos']));

if(
$_POST['tr'] == 1){
$dirnew retrans($dirnew);
}
if (
strlen2($name)<2)$err 'Короткое имя папки!';
if (empty(
$pos)||strlen2($pos)<=0)$err 'Положение указанно неверно!';

if (empty(
$err)){
$path $set['path'].'/';

chmod($path,0777);
$dirnew trim($path).trim($dirnew).'/';
if(
mkdir($dirnew0777) AND $query $db->sql_query("INSERT INTO `dow_cat` (`path`, `name`, `infolder`, `time`, `pos`) VALUES ('".$dirnew."', '$name', '".$path."', '$time', '$pos');")){
chmod($dirnew0777);
header ('Location: ./?'.SID);  exit;
}else echo 
'Ошибка при создании нового каталога.';

}else echo 
$err;

}
break;

case 
'editcat':
levels(8);
if (empty(
$act)){
$cat = @$db->sql_fetchrow($db->sql_query("select * from  `dow_cat` where id = '".$fid."'" ));
if (
$ver!='wml')echo '<form action="?act=act&amp;'.SID.'" method="post">';

echo 
'Имя папки:<br/>';
echo 
'<input type="text" name="name" value="'.$cat['name'].'" maxlength="50" title="Имя"/><br>';
echo 
'Положение:<br/>';
echo 
'<input type="text" name="pos" value="'.$cat['pos'].'" maxlength="50" title="Положение"/><br/>';
if (
$ver=='wml'){
echo 
'<br /><anchor title="go">Изменить<go href="?act=add&amp;'.SID.'" method="post">';
echo 
'<postfield name="name" value="$name"/>
<postfield name="pos" value="$pos"/>
</go></anchor>'
;
echo 
'<br/><br />';
}else{
echo 
'<br /><input type="submit" class="ibutton" value="Изменить"/></form><br />';
}

echo 
'<br /><a href="admin_delcat_'.$fid.'">Удалить папку</a><br />';

}else{
$dirnew check(del($_POST['name']));
$name $dirnew;
$pos check(intval($_POST['pos']));
$dirnew retrans($dirnew);

if (
strlen2($name)<2)$err 'Короткое имя папки!';
if (empty(
$pos)||strlen2($pos)<=0)$err 'Положение указанно неверно!';

if (empty(
$err)){

if (
$db->sql_query ("UPDATE `dow_cat` SET `name` = '$name', `pos` = '$pos' where `id`='".$fid."' LIMIT 1")){
header ('Location: ./?'.SID);  exit;
}else echo 
'Ошибка при создании нового каталога.';

}else echo 
$err;

}
break;

case 
'delcat':
if(!
$_GET['level']){
echo 
'Будут удалены все файлы в каталоге,а также сам каталог. Продолжить?<br><a href="?level=1">Да, продолжить</a>';
}
else{
$file mysql_fetch_assoc($db->sql_query('SELECT * FROM `dow_cat` WHERE `id` = '.$fid.' 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 $db->sql_query("DELETE FROM `dow_files` WHERE `infolder` = '".$file['path']."'") or die('Ошибка при удалении файлов из базы');

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


$f_chmod null;
foreach(
$ex as $chmod){
$f_chmod.=$chmod.'/';
if(
$f_chmod!=$set['path'].'/'){
chmod($f_chmod.'/',0777);
}
}
echo 
'Каталог успешно удален!';
}
break;
//////////////////////////

case 'editcat2':
levels(8);
if (empty(
$act)){
$cat = @$db->sql_fetchrow($db->sql_query("select * from  `dow_cat2` where id = '".$fid."'" ));
if (
$ver!='wml')echo '<form action="?act=act&amp;'.SID.'" method="post">';

echo 
'Имя папки:<br/>';
echo 
'<input type="text" name="name" value="'.$cat['name'].'" maxlength="50" title="Имя"/><br>';
echo 
'Положение:<br/>';
echo 
'<input type="text" name="pos" value="'.$cat['pos'].'" maxlength="50" title="Положение"/><br/>';
if (
$ver=='wml'){
echo 
'<br /><anchor title="go">Изменить<go href="?act=add&amp;'.SID.'" method="post">';
echo 
'<postfield name="name" value="$name"/>
<postfield name="pos" value="$pos"/>
</go></anchor>'
;
echo 
'<br/><br />';
}else{
echo 
'<br /><input type="submit" class="ibutton" value="Изменить"/></form><br />';
}

echo 
'<br />[<a href="admin_flashcat2_'.$fid.'">Обновить папку</a>';
echo 
'<b>|</b><a href="admin_delcat2_'.$fid.'">Удалить папку</a>]<br />';

}else{
$dirnew check(del($_POST['name']));
$name $dirnew;
$pos check(intval($_POST['pos']));
$dirnew retrans($dirnew);

if (
strlen2($name)<2)$err 'Короткое имя папки!';
if (empty(
$pos)||strlen2($pos)<=0)$err 'Положение указанно неверно!';

if (empty(
$err)){

if (
$db->sql_query ("UPDATE `dow_cat2` SET `name` = '$name', `pos` = '$pos' where `id`='".$fid."' LIMIT 1")){
header ('Location: ./'.$fid.'?'.SID);  exit;
}else echo 
'Ошибка при создании нового каталога.';

}else echo 
$err;

}
break;

######################################ЛОГ######################################################
case 'flashcat2':
$file_info mysql_fetch_assoc($db->sql_query('SELECT * FROM `dow_cat2` WHERE `id` = '.$fid.' ORDER BY `name`;'));
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 $db->sql_query('SELECT `id`,`path` FROM `dow_files`;');
while(
$array mysql_fetch_assoc($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 = translit($name);
}
else{
$name = translit($name);
}*/
if(is_dir($value)){
$addfolder++;
}
else{
$value del(check(retrans($value)));
$query $db->sql_query("INSERT INTO `dow_files` (`user_id`,`path`, `name`, `infolder`, `size` , `timeupload`) VALUES ('1','$value', '$name', '$infolder' , '$size' , '$time');");
$addfiles++;
}
}
}
echo 
'<div class="mainzag">База данных успешно обновлена!</div><div class="row">Добавлено папок: '.$addfolder.' <br>Добавлено файлов: '.$addfiles.'</div>';
break;

case 
'rename':
if(!(
$_POST[papka]))
{
echo(
"<b><br>Массовая переименовка файлов</b><p>");
echo(
'<form action="?" method="post">
Папка с файлами :<br>(например files/kartinki/test)<br><input type=text name=papka value=files/><p>
Ваш сайт :<br><input type=text name=url maxlength=20 size=21><p>
Префикс (img_) :<br><input type=text name=pered maxlength=20 size=21 value=Text_><p>
<input type=submit value=Принять!/></form><br>
<br><b><a href="apanel.php"><<<Назад</a><br/></b>'
);
}
else
{


$dir=$_POST[papka];
if(!(
$panika=@opendir($dir)))
die(
'нет такой папки<br><b><a href="rename.php"><<<Назад</a><br/></b>');

function 
my_rename($dirname)
{

$s=strlen($_POST[url]);
$s=$s+5;
$kol=strlen($_POST[pered]);
$nomer=$s+$kol;
$ext_arr = array('jpeg''jpg''gif''txt''gif');
$dir opendir($dirname);
$count 1;
while ((
$file readdir($dir)) !== false) {
$bexa=strlen($count);
$bumer=$nomer+$bexa-4;
if (
is_file($dirname '/' $file)) {
$info pathinfo($dirname '/' $file);
if (
in_array(strtolower($info['extension']), $ext_arr)) {
rename($dirname '/' $file$dirname '/' str_pad($count$bumer "$_POST[url]_$_POST[pered]_"STR_PAD_LEFT) . '.' strtolower($info['extension']));
$count ++ ;
}
} elseif (
is_dir($dirname '/' $file) && $file != '.' && $file != '..')my_rename($dirname '/' $file);
}
closedir($dir);
}
if(
$_POST[papka])
{
$dir="$_POST[papka]";
my_rename("$dir");
print(
"Перейменовка закончена");
}}

break;

case 
'delcat2':
if(!
$_GET['level']){
echo 
'Будут удалены все файлы в каталоге,а также сам каталог. Продолжить?<br><a href="?level=1">Да, продолжить</a>';
}
else{
$file mysql_fetch_assoc($db->sql_query('SELECT * FROM `dow_cat2` WHERE `id` = '.$fid.' 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 $db->sql_query("DELETE FROM `dow_files` WHERE `infolder` = '".$file['path']."'") or die('Ошибка при удалении файлов из базы');

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


$f_chmod null;
foreach(
$ex as $chmod){
$f_chmod.=$chmod.'/';
if(
$f_chmod!=$set['path'].'/'){
chmod($f_chmod.'/',0777);
}
}
echo 
'Каталог успешно удален!';
}
break;
//////////////////////////
case addcat2:
levels(8);
$cat = @$db->sql_fetchrow($db->sql_query("select * from  `dow_cat` where id = '".$fid."'" ));

if (empty(
$act)){
if (
$ver!='wml')echo '<form action="?act=act&amp;'.SID.'" method="post">';

echo 
'Имя новой папки:<br/>';
echo 
'<input type="text" name="name" maxlength="50" title="Форум"/><br/><input name="tr" type="checkbox" value="1" checked="checked">Перевод (если имеются русские буквы - ВКЛЮЧИТЬ ОБЯЗАТЕЛЬНО!)<br>';
$k $db->sql_fetchrow($db->sql_query("SELECT count(*) FROM `dow_cat2` WHERE `fid`='".$fid."';"));
echo 
'Положение:<br/>';
echo 
'<input type="text" name="pos" value="'.($k['count(*)']+1).'" maxlength="50" title="Положение"/><br/>';
echo 
'levil доступа к папке:</br>';
echo 
'<input type="text" name="levil" value="0" maxlength="20" title="Левил доступа к папке"/><br/>';
if (
$ver=='wml'){
echo 
'<br /><anchor title="go">Добавить<go href="?act=add&amp;'.SID.'" method="post">';
echo 
'<postfield name="name" value="$name"/>
<postfield name="pos" value="$pos"/>
</go></anchor>'
;
echo 
'<br/><br />';
}else{
echo 
'<br /><input type="submit" class="ibutton" value="Добавить"/></form><br /><br />';
}
}else{
$dirnew check(del($_POST['name']));
$name $dirnew;

$pos check(intval($_POST['pos']));
$levelcheck($_POST['levil']);
if(
$_POST['tr'] == 1){
$dirnew retrans($dirnew);
}
if (
strlen2($name)<2)$err 'Короткое имя папки!';
if (empty(
$pos)||strlen2($pos)<=0)$err 'Положение указанно неверно!';

if (empty(
$err)){
$path $cat['path'].'';

chmod($path,0777);
$dirnew trim($path).trim($dirnew).'/';
if(
mkdir($dirnew0777) AND $query $db->sql_query("INSERT INTO `dow_cat2` (`fid`,`path`, `name`, `infolder`, `time`, `pos`,`level`) VALUES ('$fid', '".$dirnew."', '$name', '".$path."', '$time', '$pos','$level');")){
chmod($dirnew0777);
header ('Location: ./'.$fid.'?'.SID);  exit;
}else echo 
'Ошибка при создании нового каталога.';

}else echo 
$err;

}
break;






}
echo 
"<br/>";
echo 
gb.'<a href="/down">Архив файлов</a>'.div;
echo 
gb.'<a href="/enter">Прихожая</a>'.div;

foot();
?>
Онлайн: 1
Реклама