Размер файла: 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>';
- ?>