Мы в твиттере Мы в телеграме!

Провеббер » DataLife Engine » DLE хаки » Загрузка файлов в папку шаблона из админпанели

Набор в команду! Ведется набор в команду, для наполнения сайта новым, интересным контентом. Если у тебя есть предложения, свободное время, ты обладаешь интересным контентом, и хочешь поделиться с другими?
Обращайся к нам в ЛС группы Вконтакте.

Загрузка файлов в папку шаблона из админпанели

Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Загрузка файлов в папку шаблона из админпанели.

Загрузка файлов в папку шаблона из админпанели

Иногда приходится быстро отредактировать шаблон, в том числе залить новую картинку в шаблон или новый 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>


Готово!

Версия DLE: 9.x-10.x
Автор: ravchik


Дополнительные ссылки на скачивание ТОЛЬКО для зарегистрированных


+15
Просмотры: 3 863 :: Комментарии (7) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1kagorec

  • 5 мая 2014 04:18
  • Регистрация: 24.01.2010
  • Был(а) онлайн: 17.08.2020
  • Комментариев: 76
  • -1
про безопасность можно забыть, удобный способ залить шелл и слить весь сайт
$extentions = ... наврятли спасет

#2Sibiriak

  • 5 мая 2014 10:01
  • Регистрация: 6.05.2012
  • Был(а) онлайн: 10.01.2021
  • Комментариев: 163
  • 0
Плюсанул только потому что данная опция была бы крайне полезна,

действительно не всегда есть доступ к фтп когда надо что то срочно "подкодить" в дизайне

но вот безопасность, явно под сомнением...

--------------------

#3Maksim

  • 5 мая 2014 11:51
  • Регистрация: 27.12.2009
  • Был(а) онлайн: 25.03.2024
  • Комментариев: 191
  • +3
ну, дык, не давайте доступ в админку кому попало

#4hitz

  • 9 мая 2014 02:58
  • Регистрация: 10.07.2011
  • Был(а) онлайн: 6.05.2015
  • Комментариев: 6
  • 0
Thebeknazar, да пусть там будет доступ только у Господа Бога, все равно, иметь потенциальную уязвимость на сайте — не гуд.

#5wowa00

  • 9 мая 2014 21:01
  • Регистрация: 9.05.2014
  • Был(а) онлайн: 10.05.2014
  • Комментариев: 10
  • 0
ООО. Это то что я искал

#6vitnet

  • 15 мая 2014 23:47
  • Регистрация: 18.09.2010
  • Был(а) онлайн: 12.05.2024
  • Комментариев: 304
  • 0
Для параноиков http://pastebin.com/Th1Sdr1v

#7XyuAdmin

  • 16 ноября 2014 19:15
  • Регистрация: 16.11.2014
  • Был(а) онлайн: 5.04.2024
  • Комментариев: 30
  • 0
Было же вроде, нет?

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Архив новостей
Ноябрь 2024 (9)
Октябрь 2024 (169)
Сентябрь 2024 (13)
Август 2024 (60)
Июль 2024 (12)
Июнь 2024 (30)

Последние комментарии: