Файл: pan/edit.php
Строк: 159
<?php
/*
Автор скрипта: Juse
Модификация: Jahak
*/
include_once 'config.php';
include_once 'head.php';
$sf = str_replace('../', '', $_GET['fid']);
// $sf = strtolower(substr($_GET['fid'], 1 + strrpos($_GET['fid'], "/")));
?>
<div class="bmenu">Файл: <b><?php echo $sf; ?></b></div>
<div class="list2">
<?php
if (!file_exists($_GET['fid'])){
echo '<div class="rmenu"><b>Ошибка! Файл не найден!</b></div></div>';
include_once 'foot.php';
exit;
}
if(!is_writeable($_GET['fid'])){
echo '<div class="rmenu">Внимание! Файл не доступен для записи!<br />Редактирование не возможнo..</div>';
}
if ($_GET['action']=="edit"){
$file = file($_GET['fid']);
$total = count($file);
for ($i=0; $i<$total; $i++) {
if($_GET['ai'] == $i) {
$fp = fopen($_GET['fid'], "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);
}
}
$_GET['fid'] = str_replace('/', '%2f', $_GET['fid']);
header('Location: ?fid='.$_GET['fid'].'&start='.(int)$_GET['start'].'');
exit;
}
if($_GET['action']=="newstr"){
$_GET['fid'] = str_replace('/', '%2f', $_GET['fid']);
echo '<form action="?action=newstrok&fid='.$_GET['fid'].'&ai='.$_GET['ai'].'&start='.(int)$_GET['start'].'" method="post">' .
'Новая строка<br />Строка: #'.($_GET['ai']+2).'<br />' .
'<textarea rows="'.$udata[4].'" name="name"></textarea><br />' .
'<input type="submit" value="Вставить"/></form></div>' .
'<div class="menu"><a href="?fid='.$_GET['fid'].'&start='.(int)$_GET['start'].'#'.($_GET['ai']+1).'">Назад</a></div>';
include_once "foot.php";
exit;
}
if($_GET['action']=="newstrok"){
$_GET['fid'] = str_replace('%2f', '/', $_GET['fid']);
$file = file($_GET['fid']);
$fp = fopen($_GET['fid'], "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);
}
}
$_GET['fid'] = str_replace("/", "%2f", $_GET['fid']);
header('Location: ?fid='.$_GET['fid'].'&start='.(int)$_GET['start'].'');
exit;
}
if($_GET['action']=="delstr"){
if ($_GET['r']=="1"){
$file = file($_GET['fid']);
$fp = fopen($_GET['fid'], "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);
$_GET['fid'] = str_replace('/', '%2f', $_GET['fid']);
header('Location: ?fid='.$_GET['fid'].'&start='.(int)$_GET['start'].'');
exit;
} else {
$_GET['fid'] = str_replace('/', '%2f', $_GET['fid']);
echo '<b>Вы подтверждаете что хотите удалить строку '.($_GET['ai']+1).'?</b><br /><a href="?action=delstr&r=1&fid='.$_GET['fid'].'&ai='.$_GET['ai'].'&start='.(int)$_GET['start'].'">Да</a> / <a href="?fid='.$_GET['fid'].'&start='.(int)$_GET['start'].'#'.($_GET['ai']+1).'">Нет</a></div>';
}
}
if($_GET['action']=="ob"){
$fp = fopen($_GET['fid'], "a+");
flock ($fp, LOCK_EX);
fputs($fp, "".$_POST['name']."rn");
flock ($fp, LOCK_UN);
fclose($fp);
$_GET['fid'] = str_replace('/', '%2f', $_GET['fid']);
header('Location: ?fid='.$_GET['fid'].'&start='.(int)$_GET['start'].'');
}
if($_GET['action']=="sstring"){
if(empty($_GET['fid'])){
echo 'Данные утеряны!';
include'foot.php';
exit;
}
if(empty($_GET['s'])){
$_GET['fid'] = str_replace('/', '%2f', $_GET['fid']);
?>
<form action="edit.php?action=sstring&fid=<?php echo $_GET['fid']; ?>&s=yes" method="post">
Что ищем?<br />
<input type="text" name="text" value="" /><br />
<input type="submit" value="Искать"/>
</form>
</div>
<div class="menu"><a href="edit.php?fid=<?php echo $_GET['fid']; ?>">Назад</a></div>
<?php
} else {
$fle = $_GET['fid'];
$_GET['fid'] = str_replace('/', '%2f', $_GET['fid']);
$text = $_POST['text'];
$file = file($fle);
$cou = count($file);
for($i=0; $i<$cou; $i++){
if(eregi($text, $file[$i])){
$t1 = ceil($i/$udata[2]);
$stra = $t1*10+$udata[2];
echo ($i+1).'. <a href="edit.php?action=viewstr&fid='.$_GET['fid'].'&ai='.$i.'&start='.$stra.'">'.htmlspecialchars($file[$i], ENT_QUOTES, "UTF-8").'</a><br />';
$pp++;
}
}
if(empty($pp)){
echo 'Ничего не найдено';
}
echo '</div><div class="menu"><a href="edit.php?fid='.$_GET['fid'].'">назад</a></div>';
}
}
// if($_GET['action']=="pstring"){
// if(empty($_GET['s'])){
// $_GET['fid'] = str_replace('/', '%2f', $_GET['fid']);
?>
<!-- <form action="edit.php?action=pstring&fid=<?php echo $_GET['fid']; ?>&s=yes" method="post">Введите номер строки:<br /><input type="text" name="nom" size="6" value="1"/><br /><input type="submit" value="Перейти"/></form> -->
<?php
// } else {
// $nom = (int)$_POST['nom'];
// $ill = str_replace('%2f','/',$_GET['fid']);
// $cou = count(file($ill));
// if($nom<=$cou) {
// $t1 = ceil($nom/$udata[2]);
// $stroka = $t1*10+$udata[2];
// } else {
// $t1 = ceil($cou/$udata[2]);
// $stroka = $t1*10+$udata[2];
// }
// $_GET['fid'] = str_replace('/', '%2f', $_GET['fid']);
// header('Location: ?fid='.$_GET['fid'].'&start='.$stroka.'');
// }
// }
if($_GET['action']=="obs"){
$_GET['fid'] = str_replace('/', '%2f', $_GET['fid']);
echo 'Новая строка:<br />' .
'<form action="?action=ob&fid='.$_GET['fid'].'&start='.(int)$_GET['start'].'" method="post">' .
'<textarea rows="'.$udata[4].'" name="name"></textarea><br />' .
'<input type="submit" value="Вставить"/></form>' .
'<a href="?fid='.$_GET['fid'].'&start='.(int)$_GET['start'].'">Назад</a></div>';
}
if($_GET['action']=="viewstr"){
$file = file($_GET['fid']);
$_GET['fid'] = str_replace('/', '%2f', $_GET['fid']);
echo '<form action="?action=edit&fid='.$_GET['fid'].'&ai='.$_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], ENT_QUOTES, 'UTF-8');
echo 'Строка: #'.(int) ($_GET['ai']+1).'<br />' .
'<textarea name="name" rows="'.$udata[4].'">'.rtrim($file[$i]).'</textarea><br />';
}
}
echo '<input type="submit" value="Сохранить" /></form></div>' .
'<div class="menu"><a href="?fid='.$_GET['fid'].'&start='.(int)$_GET['start'].'#'.(int) ($_GET['ai']+1).'">Назад</a></div>';
include_once "foot.php";
exit;
}
if(!isset($_GET['action'])){
$file = file($_GET['fid']);
$_GET['fid'] = str_replace("/", "%2f", $_GET['fid']);
$total = count($file);
$start = (int)$_GET['start'];
if($start<0 || $start>$total) {
$start = 0;
}
if ($total<$start+$udata[2]) {
$end = $total;
} else {
$end = $start+$udata[2];
}
for ($i = $start; $i < $end; $i++) {
$file[$i] = htmlspecialchars(trim($file[$i]), ENT_QUOTES, 'UTF-8');
echo "t" . '<a name="'.($i+1).'"></a>'.($i+1).'. <a href="?action=viewstr&fid='.$_GET['fid'].'&ai='.$i.'&start='.$start.'" title="Редактировать '.($i+1).' строку">' . $file[$i] . '</a> (<a href="?action=newstr&fid='.$_GET['fid'].'&ai='.$i.'&start='.$start.'" title="Новая '.($i+2).' строка"><img src="data:image/gif;base64,R0lGODlhEAAQANU/AIfIO3bGVle4Z67ckwWSMtPq6tLn24XJeOX22ZHOg2/CiDWoWP7u/U2wRV+9eNDg1my2ASKkVOfn6JfMSnS+RHK/LWC5Seft83O5BHbBOxmZSuz18vry//Tm/nu8CoTCJfbq/vb69122O6Hct3W6CP7w///m9v/1/6PRRPn+/9z006PWYfP19cXmo2m4EWO6VwCEHP///9/z5vr872W8coG/C2KyAJTKQf/p+Y7JQIvOXI3QXpzOUfj+/3C+WwAAACH5BAEAAD8ALAAAAAAQABAAAAbIwJ9QyJA8HhLccPljGBQLjWaheJiYpxEBpolENDDCiDEsjWCRhUMmEywisNH1VyAsBI1DLOZouAkGPycKBC8WInopAiIWLwQKDBcBGQcJBwMxKQmbBxQBBQYZKCF7paUFGQAPoSgzpqYFFKoXOh83EzmYPQm3OR86EicDNh4eNgAxPSIQJDU2Ax0/GxUkHyQ8ez4e1hUbQiUqLhgeEwgIFDUYLirRQicIABAYJPQQAAhkSxwhLSs5OStahGjH5AcHDixYcADBJAgAOw==" alt="I" /></a> | <a href="?action=delstr&fid='.$_GET['fid'].'&ai='.$i.'&start='.$start.'" title="Удалить '.($i+1).' строку"><img src="data:image/gif;base64,R0lGODlhEAAQANU/AP///+P+/udsROyzsOddTufm5+r//9J5dddFJ9gTAv3z8/fs3vD//99xbN0nCsxXS/3Csd9eH/Tm5MM3Le3V1NwuAPPw8dQ8OdYAAMo/N8RNRu3Z2a4IA+FHIcsKAroeFdw0AObS0uFUS/P79L0+NttANOBCOPKDf+NVJ/KSdt0yGulaOs8uJvvp5NVjXeD5+/39+74NBNOgm/Oumt4bCO7t78ddWfj///P2+//8/MNIIvTv7fLf3eCAeuZPGgAAACH5BAEAAD8ALAAAAAAQABAAAAbOwJ9QaCiEQoXXcPkzUA4aEklzoCiXjMGHM41yPoPA0DDgTFyZxyPjmnAGV95nMlA0WKyGYjD5bH4MPTEuOQA5IiKFNw8xPQE1IiUXDQAACgoAODYXJSIFGyUEBAkILZUSEwmiJiGgAigJHaYAEh0JKASsFiIqFQIwABYWlQIVKgQFBicYHZU4OhHANwgYJ2ItNAkzNQ8gIAI7Mh40EkQQGKQgPj4gCB4YEGJCDBAOGDQODgkYDhAGTAYWpFjRocOKFAvkMWkyYsGCEf+WBAEAOw==" alt="X" /></a>)<br />' . "n";
}
if($total<1) {
echo $i.': <a href="?action=obs&fid='.$_GET['fid'].'&start='.$start.'" title="Новая строка"><img src="data:image/gif;base64,R0lGODlhEAAQANU/AIfIO3bGVle4Z67ckwWSMtPq6tLn24XJeOX22ZHOg2/CiDWoWP7u/U2wRV+9eNDg1my2ASKkVOfn6JfMSnS+RHK/LWC5Seft83O5BHbBOxmZSuz18vry//Tm/nu8CoTCJfbq/vb69122O6Hct3W6CP7w///m9v/1/6PRRPn+/9z006PWYfP19cXmo2m4EWO6VwCEHP///9/z5vr872W8coG/C2KyAJTKQf/p+Y7JQIvOXI3QXpzOUfj+/3C+WwAAACH5BAEAAD8ALAAAAAAQABAAAAbIwJ9QyJA8HhLccPljGBQLjWaheJiYpxEBpolENDDCiDEsjWCRhUMmEywisNH1VyAsBI1DLOZouAkGPycKBC8WInopAiIWLwQKDBcBGQcJBwMxKQmbBxQBBQYZKCF7paUFGQAPoSgzpqYFFKoXOh83EzmYPQm3OR86EicDNh4eNgAxPSIQJDU2Ax0/GxUkHyQ8ez4e1hUbQiUqLhgeEwgIFDUYLirRQicIABAYJPQQAAhkSxwhLSs5OStahGjH5AcHDixYcADBJAgAOw==" alt="I" /></a>';
}
// echo '<br />';
// if($start!= 0){
// echo '<a href="?fid='.$_GET['fid'].'&start='.($start-$udata[2]).'"><<< предыдущая</a> | ';
// }
// if($total>$start+20) {
// echo '<a href="?fid='.$_GET['fid'].'&start='.($start+$udata[2]).'">следующая >>></a>';
// }
$ba = ceil($total/$udata[2]);
$ba2 = $ba*$udata[2]-$udata[2];
echo '<br />Стр:';
$asd = $start-($udata[2]*3);
$asd2 = $start+($udata[2]*4);
if($asd<$total && $asd>0){
echo ' <a href="?fid='.$_GET['fid'].'&start=0"><u>|1|</u></a> ... ';
}
for($i=$asd; $i<$asd2;){
if($i<$total && $i>=0){
$ii = floor(1+$i/$udata[2]);
if ($start==$i){
echo ' <b>('.$ii.')</b>';
} else {
echo ' <a href="?fid='.$_GET['fid'].'&start='.$i.'"><u>|'.$ii.'|</u></a>';
}
}
$i = $i+$udata[2];
}
if($asd2<$total){
echo ' ... <a href="?fid='.$_GET['fid'].'&start='.$ba2.'"><u>|'.$ba.'|</u></a>';
}
$fl = $f;
echo '</div>' .
'<div class="menu">Всего строк: '.(int)$total.'<br />';
$_GET['fid'] = str_replace('%2f', '/', $_GET['fid']);
$up = dirname(realpath($_GET['fid']));
$up = str_replace('/', '%2f', $up);
$eid = str_replace('/', '%2f', $_GET['fid']);
echo '<!-- <a href="edit.php?action=pstring&fid='.$eid.'"><u>К</u> строке</a><br /> -->' .
'<a href="edit.php?action=sstring&fid='.$eid.'"><u>И</u>скать</a><br />' .
'<a href="index.php?action=viewfile&fid='.$_GET['fid'].'"><u>Н</u>азад</a>';
$smf = str_replace("%2f", "/", $_GET['fid']);
$sf = str_replace($root, "", $smf);
$sf = str_replace("..", "", $sf);
echo '<br /><a href="http://'.$_SERVER['HTTP_HOST'].$sf.'"><u>П</u>росмотр</a><br />' .
'<a href="symbols.php" target="_blank"><u>H</u>TML codes</a></div>';
}
include_once 'foot.php';