Файл: ftp/change.php
Строк: 127
<?php
// ftp by jasis//
$title='Мульти-выбор';
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_rawlist($serv, "$d");
if($lines==false){
echo error('Не верный путь','ftp.php','Назад');
}else{
if(!empty($_POST['check']) && !isset($_POST['action'])){
echo'<form action="change.php?d='.$d.'" method="post"><div>';
foreach($_POST['check'] as $val){
echo'<input type="hidden" name="check[]" value="'.$val.'">';
}
echo'<input type="radio" name="action" value="del" checked>Удалить<br>
<input type="radio" name="action" value="clear">Очистить<br>
<input type="radio" name="action" value="perenos">Переместить<br>
<input type="radio" name="action" value="marker">Промаркеровать<br>
<input type="radio" name="action" value="chmod">Права доступа</div>';
echo'<div><input type="submit" value="Выбрать"></div></form>';
}elseif((!empty($_POST['check']) || is_file('tmp/'.$savedir.'/tmp.dat')) && !empty($_REQUEST['action'])){
if(@$_POST['action'] == "chmod"){
if(!empty($_POST['chmod'])){
if(preg_match('#[^0-9]#ui',$_POST['chmod'])){
echo error('Обнаружены запрещенные символы','ftp.php?d='.$d,'Назад');
}else{
$ok=0;
$array=$_POST['check'];
$all=count($array);
foreach($array as $val){
$chmd='CHMOD 0'.$_POST['chmod'].' '.$d.'/'.$val;
if (@ftp_site($serv,$chmd)){
$ok++;
}
}
echo'<div>Выполнено: '.$ok.' из '.$all.'</div>';
}
}else{
echo'<div><form action="change.php?d='.$d.'" method="post">';
foreach($_POST['check'] as $val){
echo'<input type="hidden" name="check[]" value="'.$val.'">';
}
echo'<input type="hidden" name="action" value="'.$_POST['action'].'">';
echo'Введите нужные права доступа:<br>
<input type="text" name="chmod" maxlength="3" size="3"><br>
<input type="submit" value="Изменить"></form></div><br>';
}
}elseif(@$_POST['action'] == "marker"){
if(!empty($_POST['text'])){
if(!preg_match('#[a-zA-Z0-9_-.]#ui',$_POST['text'])){
echo error('Обнаружены запрещенные символы','ftp.php?d='.$d,'Назад');
}else{
$ok=0;
$array=$_POST['check'];
$all=count($array);
foreach($array as $val){
if (@ftp_rename($serv,$d.'/'.$val,$d.'/'.prov($_POST['text']).$val)){
$ok++;
}
}
echo'<div>Промаркеровано: '.$ok.' из '.$all.'</div>';
}
}else{
echo'<div><form action="change.php?d='.$d.'" method="post">';
foreach($_POST['check'] as $val){
echo'<input type="hidden" name="check[]" value="'.$val.'">';
}
echo'<input type="hidden" name="action" value="'.$_POST['action'].'">';
echo'Введите текст (a-zA-Z0-9_-.) max.20 :<br>
<input type="text" name="text" maxlength="20" size="18">*(папка/файл)<br>
<input type="submit" value="Промаркеровать"></form></div><br>';
}
}elseif($_REQUEST['action'] == "perenos"){
if(!empty($_GET['go']) && !empty($_GET['did'])){
if(preg_match('#[^a-zA-Z0-9_-/.]#ui',$_GET['did'])){
echo error('Обнаружены запрещенные символы','ftp.php?d='.$d,'Назад');
}else{
$ok=0;
$fila=@file_get_contents('tmp/'.$savedir.'/tmp.dat');
$ex=explode('||',$fila);
$all=count($ex)-1;
for($i=0; $i<$all; $i++){
$newdir=prov($_GET['did']).$ex[$i];
if (@ftp_rename($serv,$d.'/'.$ex[$i],$newdir)) {
$ok++;
}
}
echo'<div>Перенесено: '.$ok.' из '.$all.'</div>';
@unlink('tmp/'.$savedir.'/tmp.dat');
}
}else{
if(!is_file('tmp/'.$savedir.'/tmp.dat')){ $van=''; foreach($_POST['check'] as $vale){$van.=$vale.'||';} @file_put_contents('tmp/'.$savedir.'/tmp.dat',$van,0664);}
if(empty($_GET['did'])) $di=''; else $di=prov($_GET['did']);
echo ftpall($serv,'change.php?action=perenos&d='.$d,$di);
}
}elseif($_POST['action'] == "clear"){
$ok=0;
$array=$_POST['check'];
$all=count($array);
foreach($array as $val){
$path=pathinfo($val);
if(@$path['extension'] == false){
if (@cdir($serv,$d.'/'.$val)){
$ok++;
}
}else{
@file_put_contents('tmp/'.$savedir.'/'.$val,'',0664);
if (@ftp_put($serv, $d, 'tmp/'.$savedir.'/'.$val, FTP_BINARY)){
@unlink('tmp/'.$savedir.'/'.$val);
$ok++;
}
}
}
echo'<div>Очищено: '.$ok.' из '.$all.'</div>';
}elseif($_POST['action'] == "del"){
$ok=0;
$array=$_POST['check'];
$all=count($array);
foreach($array as $val){
$path=pathinfo($val);
if(@$path['extension'] == false){
if (@rdir($serv,$d.'/'.$val)){
$ok++;
}
}else{
if (@ftp_delete($serv,$d.'/'.$val)){
$ok++;
}
}
}
echo'<div>Удалено: '.$ok.' из '.$all.'</div>';
}
}elseif(!isset($_POST['check']) && !isset($_POST['action'])){
$couf=0; $coud=0;
// вывод буфера
echo'<form action="change.php?d='.$d.'" method="post">';
for ($i=0;$i<count($lines);$i++) {
$name=preg_replace("~([^s]*[s]*){8}s{1}(.*)~m","\2",$lines[$i]);
if (($name!=".")&&($name!="..")){
$chm=preg_replace("~([^s]*).*~m","\1",$lines[$i]);
if ($chm[0]=="-") {
if($name==".htaccess") $nams='<span style="color: #ff0000;">'.$name.'</span>'; else $nams=$name;
echo'<input type="checkbox" name="check[]" value="'.$name.'"> '.$nams.'<br>';
$couf++;
}else{
echo'<input type="checkbox" name="check[]" value="'.$name.'"> <img src="img/dir.gif" alt="*"> '.$name.'<br>';
$coud++;
}
}
}
echo'<br><input type="checkbox" value="check" onclick="check(this.form,'check[]',this.checked)"/> Все<br><input type="submit" value="Выбрать"/></form>';
if($couf == 0 && $coud == 0) echo'Папка пуста<br>';
echo'<div>Папок: '.$coud.' / Файлов: '.$couf.'</div>';
}
}
}
break;
}
echo'<div><a href="ftp.php?d='.prov($_GET['d']).'">К папке</a></div>';
include'system/foot.php';
?>