Файл: ftp/dir.php
Строк: 107
<?php
// ftp by jasis//
$title='FTP dir';
include'system/func.php';
include'system/head.php';
include'system/ftp_connect.php';
switch(@$act){
default:
@$d=prov($_GET['d']);
if(empty($d)){
echo error('Ошибка, нет нужных данных','ftp.php','Назад');
}else{
ftp_pasv($serv,true);
$lines = ftp_nlist($serv, "$d");
if($lines==false){
echo error('Не верный путь','ftp.php','Назад');
}else{
echo'
<a href="dir.php?act=inzip&d='.$d.'">Запаковать</a> (zip)<br>
<a href="dir.php?act=rename&d='.$d.'">Переименовать</a><br>
<a href="dir.php?act=del&d='.$d.'">Удалить</a><br>
<a href="dir.php?act=perenos&d='.$d.'">Переместить</a><br>
<a href="dir.php?act=clear&d='.$d.'">Очистить</a><br>
<a href="dir.php?act=chmod&d='.$d.'">Права доступа</a><br>
';
}
}
// закрытие соединения
ftp_close($serv);
break;
case'chmod':
@$d=prov($_GET['d']);
if(empty($d)){
echo error('Ошибка, нет нужных данных','ftp.php','Назад');
}else{
ftp_pasv($serv,true);
$lines = ftp_nlist($serv, "$d");
if($lines==false){
echo error('Не верный путь','ftp.php','Назад');
}else{
if(isset($_GET['go']) && !empty($_POST['chmod'])){
if(preg_match('#[^0-9]#ui',$_POST['chmod'])){
echo error('Обнаружены запрещенные символы','ftp.php?d='.$d,'Назад');
}else{
$chmd='CHMOD 0'.$_POST['chmod'].' '.$d;
if (ftp_site($serv,$chmd)){
echo error('Права доступа изменены','ftp.php?d='.$d,'Назад');
} else {
echo error('Не удалось изменить права','ftp.php?d='.$d,'Назад');
}
}
}else{
echo'<div><form action="dir.php?go&act=chmod&d='.$d.'" method="post">';
echo'Введите нужные права доступа:<br>
<input type="radio" name="chmod" value="700"> 700<br>
<input type="radio" name="chmod" value="740"> 740<br>
<input type="radio" name="chmod" value="755" checked> 755<br>
<input type="radio" name="chmod" value="760"> 760<br>
<input type="radio" name="chmod" value="770"> 770<br>
<input type="radio" name="chmod" value="774"> 774<br>
<input type="radio" name="chmod" value="776"> 776<br>
<input type="radio" name="chmod" value="777"> 777<br>
<input type="submit" value="Изменить"></form></div><br>';
}
}
}
// закрытие соединения
ftp_close($serv);
break;
case'del':
@$d=prov($_GET['d']);
if(empty($d)){
echo error('Ошибка, нет нужных данных','ftp.php','Назад');
}else{
ftp_pasv($serv,true);
$lines = ftp_nlist($serv, "$d");
if($lines==false){
echo error('Не верный путь','ftp.php','Назад');
}else{
if(isset($_GET['go'])){
if (rdir($serv,$d)){
echo error('Папка успешно удалена','ftp.php?d='.verh2($d),'Назад');
} else {
echo error('Не удалось удалить папку','ftp.php?d='.$d,'Назад');
}
}else{
echo'<div>Вы действительно хотите удалить эту папку вместе со всеми вложеными папками и файлами в ней?<br>
<a href="dir.php?go&act=del&d='.$d.'">Да</a> <a href="ftp.php?d='.$d.'">Нет</a></div>';
}
}
}
// закрытие соединения
ftp_close($serv);
break;
case'clear':
@$d=prov($_GET['d']);
if(empty($d)){
echo error('Ошибка, нет нужных данных','ftp.php','Назад');
}else{
ftp_pasv($serv,true);
$lines = ftp_nlist($serv, "$d");
if($lines==false){
echo error('Не верный путь','ftp.php','Назад');
}else{
if(isset($_GET['go'])){
if (cdir($serv,$d)){
echo error('Папка успешно очищена','ftp.php?d='.verh2($d),'Назад');
} else {
echo error('Не удалось очистить папку','ftp.php?d='.$d,'Назад');
}
}else{
echo'<div>Вы действительно хотите очистить эту папку от всех вложеных папок и файлов в неё?<br>
<a href="dir.php?go&act=clear&d='.$d.'">Да</a> <a href="ftp.php?d='.$d.'">Нет</a></div>';
}
}
}
// закрытие соединения
ftp_close($serv);
break;
case'rename':
@$d=prov($_GET['d']);
if(empty($d)){
echo error('Ошибка, нет нужных данных','ftp.php','Назад');
}else{
ftp_pasv($serv,true);
$lines = ftp_nlist($serv, "$d");
if($lines==false){
echo error('Не верный путь','ftp.php','Назад');
}else{
if(isset($_GET['go']) && !empty($_POST['name'])){
if(preg_match('#[^a-zA-Z0-9_-]#ui',$_POST['name'])){
echo error('Обнаружены запрещенные символы','ftp.php?d='.$d,'Назад');
}else{
$newdir=ftprename2($d).$_POST['name'];
if (ftp_rename($serv,$d,$newdir)) {
echo error('Папка успешно переименована','ftp.php?d='.verh2($d),'Назад');
} else {
echo error('Не удалось переименовать папку','ftp.php?d='.$d,'Назад');
}
}
}else{
echo'<div><form action="dir.php?go&act=rename&d='.$d.'" method="post">';
echo'В название папки можна использовать (A-Za-z0-9_-):<br><input type="text" name="name" value="'.ftprename($d).'" size="18"> <input type="submit" value="Переименовать"></form></div><br>';
}
}
}
// закрытие соединения
ftp_close($serv);
break;
case'perenos':
@$d=prov($_GET['d']);
if(empty($d)){
echo error('Ошибка, нет нужных данных','ftp.php','Назад');
}else{
ftp_pasv($serv,true);
$lines = ftp_nlist($serv, "$d");
if($lines==false){
echo error('Не верный путь','ftp.php','Назад');
}else{
if(!empty($_GET['go']) && !empty($_GET['did'])){
if(preg_match('#[^a-zA-Z0-9_-/.]#ui',$_GET['did'])){
echo error('Обнаружены запрещенные символы','ftp.php?d='.$d,'Назад');
}else{
$newdir=prov($_GET['did']).ftprename($d);
if (ftp_rename($serv,$d,$newdir)) {
echo error('Папка успешно перемещена','ftp.php?d='.verh2($d),'Назад');
} else {
echo error('Не удалось переместить папку','ftp.php?d='.$d,'Назад');
}
}
}else{
if(empty($_GET['did'])) $di=''; else $di=prov($_GET['did']);
echo ftpall($serv,'dir.php?act=perenos&d='.$d,$di);
}
}
}
break;
case'inzip':
@$d=prov($_GET['d']);
if(empty($d)){
echo error('Ошибка, нет нужных данных','ftp.php','Назад');
}else{
ftp_pasv($serv,true);
$lines = ftp_nlist($serv, "$d");
if($lines==false){
echo error('Не верный путь','ftp.php','Назад');
}else{
if(@$_GET['go'] == 2 && !empty($_GET['did']) && !empty($_POST['name'])){
if(preg_match('#[^a-zA-Z0-9_-]#ui',$_POST['name'])){
echo error('Обнаружены запрещенные символы','ftp.php?d='.verh2($d),'Назад');
}else{
$ar=ftpscan($serv,$d);
if (($ar['f']<>NULL)||($ar['d']<>NULL)) {
@mkdir('tmp/'.$savedir.'/zipe',0777); @chmod('tmp/'.$savedir.'/zipe',0777);
if ($ar['d']<>NULL) {
for ($i=0;$i<count($ar['d']);$i++) {
@mkdir("tmp/$savedir/zipe/".preg_replace("~^".$d."/~","",$ar['d'][$i]),0777);
}
}
if ($ar['f']<>NULL) {
for ($i=0;$i<count($ar['f']);$i++) {
@ftp_get($serv,"tmp/$savedir/zipe/".preg_replace("~^".$d."/~","",$ar['f'][$i]),$ar['f'][$i],FTP_BINARY);
}
}
$did=prov($_GET['did']);
$na=prov($_POST['name']);
include_once('system/pclzip.php');
$zip=new PclZip('tmp/'.$savedir.'/'.$na.'.zip');
$cmm='Archive create by wap online ftp file manager '.$site.' (by jasis)';
if ($zip->create("tmp/$savedir/zipe",PCLZIP_OPT_REMOVE_PATH,"tmp/$savedir/zipe",PCLZIP_OPT_COMMENT,$cmm)<>0) {
@ftp_put($ftp,$did.$na.'.zip','tmp/'.$savedir.'/'.$na.'.zip',FTP_BINARY);
echo error('Архив успешно создан','ftp.php?d='.verh2($d),'Назад');
}
}
}
}elseif(!isset($_POST['name']) && !isset($_GET['go'])){
if(empty($_GET['did'])) $di=''; else $di=prov($_GET['did']);
echo ftpall($serv,'dir.php?act=inzip&d='.$d,$di);
}elseif(isset($_GET['did']) && @$_GET['go'] == 1){
$path=pathinfo(ftprename($d));
if(@$path['extension'] == false) $ne=ftprename($d); else $ne=str_replace('.'.$path['extension'],'',$path['basename']);
echo'<div><form action="dir.php?act=inzip&d='.$d.'&go=2&did='.prov($_GET['did']).'" method="post">';
echo'Введите имя архива (A-Za-z0-9_-):<br><input type="text" name="name" value="'.ftprename($d).'" size="18">.zip <input type="submit" value="Архивировать"></form></div><br>';
}
}
}
break;
}
echo'<div><a href="ftp.php?d='.prov($_GET['d']).'">К папке</a></div>';
include'system/foot.php';
?>