Файл: hostbiter.ru/Modules/explode/view/edit.php
Строк: 58
<?
require ($_SERVER['DOCUMENT_ROOT'].'/Core/core.php');
require ($_SERVER['DOCUMENT_ROOT'].'/Core/fmhead.php');
if(!empty($_GET['dir']) AND $_GET['dir'] != encode('www')){
$dir = htmlspecialchars(trim($_GET['dir']));
}else{
$dir = encode('www');
}
$fileinfo = pathinfo(decode($dir));
$connect_ftp = ftp_connect($config['FTPHost'],21,300);
$ftp = $db->prepare("SELECT * FROM `ftp_users` WHERE `user` = ? LIMIT 1");
$ftp->execute([$user['id']]);
$ftp = $ftp->fetch();
ftp_login($connect_ftp,$ftp['login'],$ftp['password']);
$tmp_name = 'tmp_'.$fileinfo['basename'];
$dirname_tmp = $_SERVER['DOCUMENT_ROOT'].'/tmp_ftp/'.$tmp_name;
ftp_get($connect_ftp,$dirname_tmp,'/'.decode($dir),FTP_ASCII);
$text_file = file_get_contents($dirname_tmp);
if(isset($_GET['edit'])){
$text = trim($_POST['text']);
file_put_contents($dirname_tmp,$text);
ftp_chdir($connect_ftp,'/'.dirname(decode($dir)));
ftp_put($connect_ftp,$fileinfo['basename'],$dirname_tmp,FTP_ASCII);
ftp_close($connect_ftp);
unlink($dirname_tmp);
$_SESSION['message'] = 'Файл отредактирован!';
header("Location: /explode?dir=".encode(dirname(decode($dir))));
exit;
}
if(isset($_GET['exit'])){
unlink($dirname_tmp);
ftp_close($connect_ftp);
header("Location: /explode?dir=".encode(dirname(decode($dir))));
exit;
}
?>
<div id="border">Редактирование файла</div>
<form action="/explode/view/editor.php?dir=<?=$dir?>&edit" method="post">
Содержимое: <br />
<textarea border="11" class="area" cols="40" rows="15" name="text" required><?=$text_file?></textarea>
<input type="submit" value="Сохранить" name="edit" /><br/><a href="/explode/view/editor.php?dir=<?=$dir?>&exit">
<button>Покинуть редактор</button></a>
</form>
<div>
<img src="/image/bf.gif" alt="" /> <a href="/explode.php?dir=<?=$dir?>">Назад</a><br />
<img src="/image/bf.gif" alt="" /> <a href="/explode.php?">Файловый менеджер</a><br />
<?
require ($_SERVER['DOCUMENT_ROOT'].'/Core/fmfoot.php');
?>