Размер файла: 8.05Kb
<?
echo '<div class="mainname">'.Lang::__('Подробнее о Шаблонах').'</div>';
echo '<div class="mainpost">';
//Подключаем необходимые стили для работы с подвеской
echo '<link rel="stylesheet" href="../../engine/skins/mirror/codemirror.css">
<link rel=stylesheet href="../../engine/skins/mirror/lib/codemirror.css">
<script src="../../engine/skins/mirror/lib/codemirror.js"></script>
<script src="../../engine/skins/mirror/mode/xml/xml.js"></script>
<script src="../../engine/skins/mirror/mode/javascript/javascript.js"></script>
<script src="../../engine/skins/mirror/mode/css/css.js"></script>
<script src="../../engine/skins/mirror/mode/htmlmixed/htmlmixed.js"></script>
<script src="../../engine/skins/mirror/addon/edit/matchbrackets.js"></script>
<style>
.CodeMirror { width: 99%;height: 463px; border: solid 1px #BBB; }
.CodeMirror pre { padding-left: 7px; line-height: 1.25; }
</style>';
//Если нажата кнопка сохранение ....
if($_POST['submit']){
//Проверяем есть ли название
if($_POST['filename']) {
$data = $_POST['fileentry']; //Парамерт []
$data = get_magic_quotes_gpc() ? stripslashes($data) : $data; //__ 1
$fp = fopen($_POST['filename'], 'w'); //Обновляем файл выбранный
fwrite($fp, $data); // ? ___
fclose($fp); // ! ___
echo engine::success(Lang::__('Файл успешно сохранен')); // Уведомление
echo '</div>';
echo engine::home(array(Lang::__('Назад'),'')); // переадресация
exit;
}
}
//Пункт работы с шаблонами
switch($act):
// По умолчанию
default:
// Путь папки
if($_GET['path']) {
$path = $_GET['path'];
}
else{
//Если нет то по умолчанию
$path=$_GET['path']='../../templates';
}
//Вывод
if(strlen($_SERVER['DOCUMENT_ROOT'])<strlen($path)){
echo '<p class="posts"><a href="?path='.substr($path, 0, strrpos($path, '/')).'"><strong>../'.Lang::__('назад').'</strong></a></p>';
}
//Получанием данные из подкаталогов
foreach(glob($path.'/*') as $obj) {
$filename=substr($obj, strlen($path)+1, strlen($obj)-strlen($path));
//Если доступны папки выводим их
if(is_dir($obj)) {
echo '<div class="row"><img src="../icons/theme/directory.png"> <a href="?do=templates&path='.$obj.'">'.$filename.'/</a></div>';
}
else {
if($_GET['path']) {
//Убираем названия остовляем только расщирение файлов (Картинок)
$file_img = engine::format($filename);
//Если имеются такие расщирения png,gif,jpg
if($file_img == 'png' or $file_img == 'gif' or $file_img == 'jpg') {
// То советую не заполнять данный пункт!
}elseif($file_img == 'js') { //Если есть js то выводим ее
echo '<div class="row"><img src="../icons/theme/js.png"> <a href="?do=templates&act=edit&path='.$_GET['path'].'&file='.$obj.'">'.$filename.'</a></div>';
}elseif($file_img == 'css') { //Если имеется css файлы то выводим их
echo '<div class="row"><img src="../icons/theme/css.png"> <a href="?do=templates&act=edit&path='.$_GET['path'].'&file='.$obj.'">'.$filename.'</a></div>';
}elseif($filename == 'template.ini') { //Попытка вывода template.ini файла
//Не нужно выводит ini параметр
}else { //Если из выше перечисленных нету то выводим этот параметр где будут указываться все необходимы поля
echo '<div class="row"><img src="../icons/theme/html.png"> <a href="?do=templates&act=edit&path='.$_GET['path'].'&file='.$obj.'">'.$filename.'</a></div>';
}
}
else{
echo '<div class="row"><a href="?file='.$obj.'"></a></div>';
}
}
}
echo '</div>';
echo engine::home(array(Lang::__('Назад'),'index.php'));
break;
//Начинаем редактирование шаблона
case 'edit':
///Получает категорию
if($_GET['path']){
echo '<form action="?do=templates&act=edit&path='.$_GET['path'].'&file='.$_GET['file'].'" method=post>';
}
else {
echo '<form action="?do=templates" method="post">';
}
//ЕСЛИ файл имеется выводим
if($_GET['file']) {
$filename = $_GET['file'];
//Путь файла
echo '<div class="subpost">'.Lang::__('Путь файла:').'<b>'.$filename.'</b></div>';
//Небольше описание
echo '<div class="subpost">'.Lang::__('Для поиска по шаблону используйте горячие клавиши: Ctrl-F начать поиск, Ctrl-G продолжить поиск.').'</div>';
//Необходимый скрытый параметр
echo '<input type=hidden name=filename value="'.$filename.'">';
}
else {
echo Lang::__('Ничего не выбрано');
}
//Выводим в текстовое поле полученный текст
echo '<textarea id="code" name="fileentry">';
// Text true
if($_GET['file']) {
$filerows = file($filename);
foreach($filerows as $value) {
echo htmlspecialchars($value);
}
}
echo '</textarea>';
//Кнопка сохранения
echo '<div class="submit"><input class="Button" type=submit value="'.Lang::__('Сохранить').'" name="submit"> или <span class="cancel"><a href="index.php?do=templates">'.Lang::__('Отменить').'</a></span></div>';
echo '</form>';
//Если не понимаете для чего параметр (советую вообще ее не трогать чтобы не испортить модуль)
echo '<script>
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
lineNumbers: true,
mode: "text/html",
mode: "text/css",
lineNumbers: true,
matchBrackets: true,
continueComments: "Enter",
extraKeys: {"Ctrl-Q": "toggleComment"}
});
</script>';
echo '</div>';
echo engine::home(array(Lang::__('Назад'),'index.php?do=templates'));
break;
endswitch; // Exit
echo '</div>';
?>