Загрузка файлов в папку шаблона из админпанели [DLE 10.x]
Robot 2014.06.05 DLE хаки 2113Название: Upload files admin panel
Автор: ravchik
CMS: DLE
Описание:
Иногда приходится быстро отредактировать шаблон, в том числе залить новую картинку в шаблон или новый css/js файл. Для этого приходится запускать FTP-клиент и подключаться к нужному серверу. Бывают случаи, когда находишься не на рабочем месте и нет доступа по FTP. Для таких случаев создан маленький хак, который добавляет возможность загрузить файлы в папку с шаблоном (и под папки) непосредственно из раздела редактирования шаблонов в админпанели.
Открыть файл /engine/inc/templates.php и найти:
<table width="100%">
<tr>
<td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">{$lang['opt_edteil']} <b>{$do_template}</b> {$lang['templates_help']} <a class="main" href="http://dle-news.ru/extras/online/all2.html" target="_blank">http://dle-news.ru/extras/online/all2.html</a></div></td>
</tr>
</table>
<div class="unterline"></div>
Ниже вставить:
HTML;
// Загрузка файлов в папку с шаблоном
echo "<table width='100%' style='table-layout:fixed;'><tr><td style='padding-left:10px;'><div class='navigation'><b>Загрузка файлов в папку шаблона</b></div><form method='post' enctype='multipart/form-data'>Выберите папку для загрузки <select name='dirname'>";
$tplpath = "/templates/".$do_template;
showTree("./".$tplpath, "");
function showTree($folder, $space) {
$files = scandir($folder);
foreach($files as $file) {
if (($file == '.') || ($file == '..')) continue;
$f0 = $folder.'/'.$file;
if (is_dir($f0)) { echo "<option value=\"".$space.$file."\">".$space.$file."</value>\n"; }
}
}
echo "</select> <input name=\"file\" size=\"18\" type=\"file\" value=\"\" > <input name=\"submit\" type=\"submit\" value=\"Загрузить\" class=\"btn btn-primary\"></form>";
$dirname = htmlspecialchars(stripslashes($_POST['dirname']));
$file = $_FILES['file']['tmp_name'];
$filename = $_FILES['file']['name'];
if(!empty($file)) {
ini_set('memory_limit', '32M');
$maxsize = "20000000";
$extentions = array("gif","jpg","jpeg","png","swf","js","css","tpl");
$size = filesize ($_FILES['file']['tmp_name']);
$type = strtolower(substr($filename, 1 + strrpos($filename, ".")));
if($size > $maxsize) {
echo 'Вы загружаете слишком большой по объёму файл.';
} elseif(!in_array($type,$extentions)) {
echo '<b> Данный файл запрещен к загрузке.</b>';
} else {
if (copy($file, ROOT_DIR.$tplpath."/".$dirname."/".$filename))
echo " Файл <b>".$filename."</b> загружен в папку ".$tplpath."/".$dirname."/<script>setTimeout('location.replace(\"{$PHP_SELF}?mod=templates\")', 3000);</script>";
}
}
echo "</td></tr></table>";
// конец загрузки
echo <<<HTML
<div class="unterline"></div>
Другие новости по теме:
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.