Файл: loads/inc/admin_act.php
Строк: 155
<?
$path=(function_exists('iconv'))?iconv('windows-1251', 'utf-8', $l):$l;
$path='/'.preg_replace('#^/+|/+$#i', null, $path).'/';
if (user_access('loads_file_import') && isset($_GET['act']) && $_GET['act']=='import' && isset($_POST['ok']) && isset($_POST['k_forms']) && $l!=null)
{
$k_forms=intval($_POST['k_forms']);
for ($i=0;$i<$k_forms;$i++)
{
if (isset($_POST["file_$i"]) && isset($_POST["name_$i"]) && isset($_POST["opis_$i"]))
{
$newfile=basename($_POST["file_$i"]);
if (preg_match('#^[^/]*.[^/]*$#',$newfile) && !preg_match('#^.|.php|.name$|.txt$|.opis$|.html?$|.sql$|.ini$|.db$|.dat$#',$newfile) && @copy($_POST["file_$i"], $dir_loads.'/'.$newfile))
{
if ($_POST["opis_$i"]!=NULL)
{
$f=@fopen($dir_loads.'/'.$newfile.'.opis', 'w');
@fwrite($f, stripslashes(htmlspecialchars(esc($_POST["opis_$i"]))));
@fclose($f);
@chmod($dir_loads.'/'.$newfile.'.opis', 0777);
}
@chmod($dir_loads.'/'.$newfile, 0777);
$f=@fopen($dir_loads.'/'.$newfile.'.name', 'w');
if ($_POST["name_$i"]!=NULL)$name=preg_replace('#.[^.]*$#i', NULL, $_POST["name_$i"]);
else $name=preg_replace('#.[^.]*$#i', NULL, $newfile); // имя файла без расширения
@fwrite($f, $name);
@fclose($f);
@chmod($dir_loads.'/'.$newfile.'.name', 0777);
msg ("Файл "$name" успешно импортирован");
admin_log('Загруз-центр','Добавление файлов',"Импортирован файл '$name' в папку '".dir_name($dir_loads)."'");
$size=filesize($dir_loads.'/'.$newfile);
mysql_query("INSERT INTO `loads_list` (`name`, `size`, `path`, `time`) values('".my_esc($newfile)."', '$size', '".my_esc($path)."', '".filectime($dir_loads.'/'.$newfile)."')");
if (isset($_POST["scr_$i"]))
{
$file_scr=preg_replace('#^.*/#i', NULL, $_POST["scr_$i"]);
if (preg_match('#.gif$|.jpe?g$|.png$#i',$file_scr))
{
$ras=strtolower(preg_replace('#^.*.#i', NULL,$newfile));
$scr_ras=strtoupper(preg_replace('#^.*.#i', NULL,$file_scr));
@copy($_POST["scr_$i"], $dir_loads.'/'.$newfile.'.'.$scr_ras);
}
}
}
else $err[]=($i+1).') Невозможно импортировать файл по указанному пути';
}
}
}
if (user_access('loads_file_upload') && isset($_GET['act']) && $_GET['act']=='upload' && isset($_POST['ok']) && isset($_POST['k_forms']) && $l!=null)
{
$k_forms=intval($_POST['k_forms']);
for ($i=0;$i<$k_forms;$i++)
{
if (isset($_FILES["file_$i"]) && !preg_match('#^.|.php|.name$|.txt$|.opis$|.html?$|.sql$|.ini$|.db$|.dat$#i',$_FILES["file_$i"]['name']) && filesize($_FILES["file_$i"]['tmp_name'])>0 && isset($_POST["opis_$i"]))
{
$newfile=tr_loads(retranslit($_FILES["file_$i"]['name']));
if (@copy($_FILES["file_$i"]['tmp_name'], $dir_loads.'/'.$newfile))
{
if ($_POST["opis_$i"]!=NULL)
{
$f=@fopen($dir_loads.'/'.$newfile.'.opis', 'w');
@fwrite($f, stripslashes(htmlspecialchars(esc($_POST["opis_$i"]))));
@fclose($f);
@chmod($dir_loads.'/'.$newfile.'.opis', 0777);
}
@chmod($dir_loads.'/'.$newfile, 0777);
$f=@fopen($dir_loads.'/'.$newfile.'.name', 'w');
$name=preg_replace('#.[^.]*$#i', NULL, $newfile); // имя файла без расширения
@fwrite($f, preg_replace('#.[^.]*$#i', NULL, esc($_FILES["file_$i"]['name'])));
@fclose($f);
@chmod($dir_loads.'/'.$newfile.'.name', 0777);
msg("Файл "".stripslashes(htmlspecialchars(esc($_FILES["file_$i"]['name'])))."" успешно выгружен");
admin_log('Загруз-центр','Добавление файлов',"Выгружен файл '$newfile' в папку '".dir_name($dir_loads)."'");
$size=filesize($dir_loads.'/'.$newfile);
mysql_query("INSERT INTO `loads_list` (`name`, `size`, `path`, `time`) values('".my_esc($newfile)."', '$size', '".my_esc($path)."', '".filectime($dir_loads.'/'.$newfile)."')");
}
if (isset($_FILES["scr_$i"]) && preg_match('#.gif$|.jpe?g$|.png$#i',$_FILES["scr_$i"]['name']) && filesize($_FILES["scr_$i"]['tmp_name'])>0)
{
$ras=strtolower(preg_replace('#^.*.#i', NULL,$newfile));
$scr_ras=strtoupper(preg_replace('#^.*.#i', NULL,$_FILES["scr_$i"]['name']));
@copy($_FILES["scr_$i"]['tmp_name'], $dir_loads.'/'.$newfile.'.'.$scr_ras);
}
}
}
}
if (user_access('loads_dir_delete') && isset($_GET['act']) && $_GET['act']=='delete_ok' && isset($_GET['ok']) && $l!=NULL)
{
if (@delete_dir($dir_loads))
{
$l=preg_replace("#^../sys/loads/files#", NULL, $dir_loads);
$path=(function_exists('iconv'))?iconv('windows-1251', 'utf-8', $l):$l;
$path=preg_replace('#^/*|/*$#i', '/', $path);
$dir_loads=preg_replace('#/[^/]*$#', NULL, $dir_loads);
$l=preg_replace("#^../sys/loads/files#", NULL, $dir_loads);
admin_log('Загруз-центр','Папки',"Удаление папки '$l'");
mysql_query("DELETE FROM `loads_list` WHERE `path` LIKE '".my_esc($path)."%'");
msg('Папка успешно удалена');
}
else
$err='Невозможно удалить папку';
}
if (user_access('loads_dir_mesto') && isset($_GET['act']) && $_GET['act']=='mesto' && isset($_GET['ok']) && isset($_POST['path']) && $l!=NULL)
{
if ($_POST['path']==NULL)
$err= "Не выбран коненый путь";
else
{
$new_dir=urldecode($_POST['path']).'/'.preg_replace('#^.*/#', NULL, $dir_loads);
if (@rename($dir_loads, $new_dir))
{
$dir_loads=$new_dir;
$l=preg_replace("#^../sys/loads/files/#", NULL, $dir_loads);
msg('Папка успешно перемещена');
admin_log('Загруз-центр','Папки',"Перемещение папки '$l'");
$path2=(function_exists('iconv'))?iconv('windows-1251', 'utf-8', $l):$l;
$path2='/'.preg_replace('#^/+|/+$#i', null, $path2).'/';
$q=mysql_query("SELECT `path` FROM `loads_list` WHERE `path` LIKE '".my_esc($path)."%'");
while ($path_1=mysql_fetch_assoc($q)) {
mysql_query("UPDATE `loads_list` SET `path` = '".my_esc(str_replace($path,$path2,$path_1['path']))."' WHERE `path` = '".my_esc($path_1['path'])."'");
}
}
else
$err= "Невозможно переместить папку";
}
@unlink($dir_loads.'/.k_files');
}
if (user_access('loads_dir_rename') && isset($_GET['act']) && $_GET['act']=='rename' && isset($_GET['ok']) && isset($_POST['name']) && $l!=NULL)
{
if ($_POST['name']==NULL)
$err= "Введите название папки";
if( !preg_match("#^([A-zА-я0-9-_() ])+$#ui", $_POST['name']))$err[]='В названии присутствуют запрещенные символы';
else
{
$newdir_serv=tr_loads(retranslit($_POST['name']));
$newdir_serv=preg_replace('#^(([0-9]{1,3}))_(.*)#','\1_\2',$newdir_serv);
$new_dir=preg_replace('#/[^/]*$#', NULL, $dir_loads).'/'.$newdir_serv;
if (@rename($dir_loads, $new_dir))
{
@chmod($dir_loads, 0777);
$dir_loads=$new_dir;
$l=preg_replace("#^../sys/loads/files/#", NULL, $dir_loads);
msg('Папка успешно переименована');
$newdir_loads=esc($_POST['name'],1);
admin_log('Загруз-центр','Папки',"Переименование папки $newdir_loads в ".esc($_POST['name'],1));
$newdir_loads=preg_replace('#^(([0-9]{1,3}))_(.*)#','\2',$newdir_loads);
$path2=(function_exists('iconv'))?iconv('windows-1251', 'utf-8', $l):$l;
$path2='/'.preg_replace('#^/+|/+$#i', null, $path2).'/';
$q=mysql_query("SELECT `path` FROM `loads_list` WHERE `path` LIKE '".my_esc($path)."%'");
while ($path_1=mysql_fetch_assoc($q)) {
mysql_query("UPDATE `loads_list` SET `path` = '".my_esc(str_replace($path,$path2,$path_1['path']))."' WHERE `path` = '".my_esc($path_1['path'])."'");
}
if ($f=@fopen($dir_loads.'/.dirname', 'w'))
{
@fwrite($f, $newdir_loads);
fclose($f);
@chmod($dir_loads.'/.dirname', 0777);
msg('Название папки задано');
}
else
{
$err= "Невозможно задать название папки";
}
}
else
$err= "Невозможно переименовать";
}
}
if (user_access('loads_dir_create') && isset($_GET['act']) && $_GET['act']=='mkdir' && isset($_GET['ok']) && isset($_POST['name']))
{
if ($_POST['name']==NULL)
$err= "Введите название папки";
if( !preg_match("#^([A-zА-я0-9-_() ])+$#ui", $_POST['name']))$err[]='В названии присутствуют запрещенные символы';
else
{
$newdir_serv=tr_loads(retranslit($_POST['name']));
$newdir_serv=preg_replace('#^(([0-9]{1,3}))_(.*)#i','\1_\2',$newdir_serv);
if (@mkdir($dir_loads.'/'.$newdir_serv, 0777))
{
@chmod($dir_loads.'/'.$newdir_serv, 0777);
msg('Папка успешно создана');
$newdir_loads=esc($_POST['name'],1);
$newdir_loads=preg_replace('#^(([0-9]{1,3}))_(.*)#','\2',$newdir_loads);
if ($f=@fopen($dir_loads.'/'.$newdir_serv.'/.dirname', 'w'))
{
@fwrite($f, $newdir_loads);
fclose($f);
@chmod($dir_loads.'/'.$newdir_serv.'/.dirname', 0777);
msg('Название папки задано');
admin_log('Загруз-центр','Папки',"Создание папки '$newdir_loads' в папке '".dir_name($dir_loads)."'");
}
else
{
$err= "Невозможно задать название папки";
}
}
else
$err= "Невозможно создать папку";
}
}
?>