View file loads/Loads/inc/admin_act.php

File size: 10.13Kb
<?




$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= "Невозможно создать папку";




}




}









?>