Файл: ftp/edit.php
Строк: 109
<?php
// ftp by jasis//
ob_start();
$title='FTP';
include'system/func.php';
include'system/head.php';
include'system/ftp_connect.php';
//кольво записей на страницу
$kolst=20;
@$d=prov($_GET['d']);
if(empty($d)){
echo error('Ошибка, нет нужных данных','ftp.php','Назад');
}else{
ftp_pasv($serv,true);
$res = ftp_size($serv,$d);
if ($res != -1) {
$fi=ftprename($d);
$path=pathinfo($fi);
$rf=@$path['extension'];
if (($rf<>"jpg")&&($rf<>"jpeg")&&($rf<>"jpe")&&($rf<>"png")&&($rf<>"gif")&&($rf<>"bmp")&&($rf<>"dll")&&($rf<>"wav")&&($rf<>"mid")&&($rf<>"midi")&&($rf<>"mp3")&&($rf<>"mmf")&&($rf<>"psd")&&($rf<>"doc")&&($rf<>"pdf")&&($rf<>"zip")&&($rf<>"rar")&&($rf<>"jar")&&($rf<>"3gp")&&($rf<>"avi")&&($rf<>"mp4")&&($rf<>"class")&&($rf<>"tgz")&&($rf<>"gz")&&($rf<>"bz")&&($rf<>"gz2")&&($rf<>"bz2")&&($rf<>"tbz")&&($rf<>"tbz2")&&($rf<>"tgz2")&&($rf<>"tar")) {
if(!is_file('tmp/'.$savedir.'/'.$fi)){
if (@!ftp_get($serv, 'tmp/'.$savedir.'/'.$fi, $d, FTP_BINARY)){
echo error('Файл не может быть загружен на сервер','ftp.php?d='.verh2($d),'Назад');
include'system/foot.php';
exit();
}
}
switch($act){
default:
$file=file('tmp/'.$savedir.'/'.$fi);
echo '<div>';
$total=count($file);
@$start = int($_GET['start']);
if($start<0 || $start>$total){$start=0;}
if ($total<$start+$kolst){ $end = $total; }else{$end=$start+$kolst; }
for ($i = $start; $i < $end; $i++){
$file[$i]=htmlspecialchars($file[$i]);
echo' '.$i.': ';
echo'<a href="edit.php?act=viewstr&d='.$d.'&ai='.$i.'&start='.$start.'" width="7" height="14">'.$file[$i].' </a>';
echo' <a href="edit.php?act=newstr&d='.$d.'&ai='.$i.'&start='.$start.'"><img src="img/php.png" alt="¶"></a> ';
echo' <a href="edit.php?act=delstr&d='.$d.'&ai='.$i.'&start='.$start.'"><img src="img/del.png" alt=""></a><br>';}
if($total<1){ echo' <a href="edit.php?act=obs&d='.$d.'&start='.$start.'"><img src="img/php.png" alt="¶"></a> ';}
echo'</div><div class="pages">';
$ba=ceil($total/$kolst);
$ba2=$ba*$kolst-$kolst;
$asd=$start-($kolst*3);
$asd2=$start+($kolst*4);
if($start!= 0){echo'<a href="edit.php?d='.$d.'&start='.($start-$kolst).'">«</a> ';}
if($asd<$total && $asd>0){echo' <a href="edit.php?d='.$d.'&start=0"><span class="page">1</span></a> ... ';}
for($i=$asd; $i<$asd2;){
if($i<$total && $i>=0){
$ii=floor(1+$i/$kolst);
if ($start==$i){echo' <span class="page2"><b>'.$ii.'</b></span>'; }else{
echo' <a href="edit.php?d='.$d.'&start='.$i.'"><span class="page">'.$ii.'</span></a>';
}
}
$i=$i+$kolst;}
if($asd2<$total){echo' ... <a href="edit.php?d='.$d.'&start='.$ba2.'"><span class="page">'.$ba.'</span></a>';}
if($total>$start+20) {echo ' <a href="edit.php?d='.$d.'&start='.($start+$kolst).'">»</a>';}
echo'</div><div>
<br>Всего строк: '.$total.'<br>';
echo'
<a href="edit.php?act=ok&d='.$d.'">Применить</a><br>
<a href="edit.php?act=pstring&d='.$d.'">к строке</a><br>
<a href="edit.php?act=sstring&d='.$d.'">искать</a><br>
<a href="file.php?d='.$d.'">назад</a><br>';
echo'</div>';
break;
case'edit':
$file=file('tmp/'.$savedir.'/'.$fi);
$total=count($file);
for ($i=0; $i<$total; $i++){
if($_GET['ai']==$i){
$fp=fopen('tmp/'.$savedir.'/'.$fi,"a+");
flock ($fp,LOCK_EX);
ftruncate($fp,0);
for($i=0; $i<sizeof($file); $i++){
if ($_GET['ai']!=$i){
fputs($fp,$file[$i]);
}else{
fputs($fp,$_POST['name']."rn");}}
fflush ($fp);
flock($fp,LOCK_UN);
fclose($fp);
}
}
header ('Location: edit.php?d='.$d.'&start='.int($_GET['start']));
break;
case'newstr':
echo'<form action="edit.php?act=newstrok&d='.$d.'&ai='.int($_GET['ai']).'&start='.int($_GET['start']).'" method="post">';
echo'Новая строка<br>Строка: #'.int($_GET['ai']).'<br><input type="text" name="name"><br>';
echo'<input type="submit" value="Вставить"/></form>';
echo' <a href="edit.php?d='.$d.'&start='.int($_GET['start']).'">Назад</a><br>';
break;
case'newstrok':
$file=file('tmp/'.$savedir.'/'.$fi);
$fp=fopen('tmp/'.$savedir.'/'.$fi,"a+");
$total=count($file);
if (!$total){ $total=''; }
for ($i=0; $i<$total; $i++){
if($_GET['ai']==$i){
flock ($fp,LOCK_EX);
ftruncate($fp,0);
for($i=0; $i<sizeof($file); $i++){
if ($_GET['ai']!=$i){
fputs($fp,$file[$i]); }else{
$bizname=$file[$i];
fputs($fp,$bizname.$_POST['name']."rn");}
}
fflush ($fp); flock($fp,LOCK_UN);
fclose($fp);
}
}
header ('Location: edit.php?d='.$d.'&start='.int($_GET['start']));
break;
case'delstr':
$file=file('tmp/'.$savedir.'/'.$fi);
$fp=fopen('tmp/'.$savedir.'/'.$fi,"w");
flock ($fp,LOCK_EX);
for ($i=0; $i< sizeof($file); $i++){
if ($i==$_GET['ai']){
unset($file[$i]);
}
}
fputs($fp,implode($file));
flock ($fp,LOCK_UN);
fclose($fp);
header ('Location: edit.php?d='.$d.'&start='.int($_GET['start']));
break;
case'ob':
$fp=fopen('tmp/'.$savedir.'/'.$fi,"a+");
flock ($fp,LOCK_EX);
fputs($fp,"".$_POST['name']."rn");
flock ($fp,LOCK_UN);
fclose($fp);
header ('Location: edit.php?d='.$d.'&start='.int($_GET['start']).'');
break;
case'sstring':
if(empty($_GET['s'])){
echo'<form action="edit.php?act=sstring&d='.$d.'&s=yes" method="post">Что ищем?<br>
<input type="text" name="text" value=""><br><input type="submit" value="Искать"/></form>';
}else{
$pp='';
$fle='tmp/'.$savedir.'/'.$fi;
$text=$_POST['text'];
$file=file($fle);
$cou=count($file);
for($i=0; $i<$cou; $i++){
if(@preg_match("/$text/i",$file[$i])){
$t1=ceil($i/$kolst);
$stra=$t1*10+$kolst;
echo $i.': <a href="edit.php?d='.$d.'&start='.$stra.'&s='.$i.'">'.htmlspecialchars($file[$i]).'</a><br>'; $pp++;
}
}
if(empty($pp)) echo'Ничего не найдено';
}
echo'<div><a href="edit.php?d='.$d.'">Назад</a></div>';
break;
case'pstring':
if(empty($_GET['s'])){
echo'<form action="edit.php?act=pstring&d='.$d.'&s=yes" method="post">
Введите номер строки:<br><input type="text" name="nom" size="6" value="1"><br>
<input type="submit" value="Перейти"/></form>'; }else{
$nom=int($_POST['nom']);
$cou=count(file('tmp/'.$savedir.'/'.$fi));
if($nom<=$cou){
$t1=ceil($nom/$kolst);
$stroka=$t1*10+$kolst;}else{
$t1=ceil($cou/$kolst);
$stroka=$t1*10+$kolst;}
header ('Location: edit.php?d='.$d.'&start='.$stroka.'');
}
break;
case'obs':
echo'Новая строка:<br>
<form action="edit.php?act=ob&d='.$d.'&start='.(int)$_GET['start'].'" method="post">
<textarea cols="25" rows="3" name="name"></textarea>
<input type="submit" value="Вставить"/></form>';
echo' <a href="edit.php?d='.$d.'&start='.int($_GET['start']).'">Назад</a><br>';
break;
case 'viewstr':
$file=file('tmp/'.$savedir.'/'.$fi);
echo'<form action="edit.php?act=edit&d='.$d.'&ai='.int($_GET['ai']).'&start='.int($_GET['start']).'" method="post">';
$total=count($file);
for ($i=0; $i<$total; $i++){
if($_GET['ai']==$i){
$file[$i]=htmlspecialchars($file[$i]);
echo'Строка: #'.int($_GET['ai']).'<br>
<input type="text" name="name" value="'.$file[$i].'" /><br>';
}
}
echo'<input type="submit" value="Изменить" /></form> ';
echo'<a href="edit.php?d='.$d.'&start='.int($_GET['start']).'">Назад</a><br>';
break;
case 'ok':
if (@ftp_put($serv, $d, 'tmp/'.$savedir.'/'.$fi, FTP_BINARY)) {
echo error('Изменения успешно сохранены','file.php?d='.$d,'К файлу');
} else {
echo error('Не удалось сохранить изменения','file.php?d='.$d,'К файлу');
}
@unlink('tmp/'.$savedir.'/'.$fi);
break;
}
}else{echo error('Данный формат файла нельзя редактировать','file.php?d='.$d,'Назад');}
}else{
echo error('Не верный путь','ftp.php','Назад');
}
}
echo'<div><a href="ftp.php?d='.verh2($d).'">К папке</a></div>';
include'system/foot.php';
?>