null, 'w' => false, 'type' => null, 'f' => null, 'default_file' => false]; # Get interface setting $core->auth->user_prefs->addWorkspace('interface'); $user_ui_colorsyntax = $core->auth->user_prefs->interface->colorsyntax; $user_ui_colorsyntax_theme = $core->auth->user_prefs->interface->colorsyntax_theme; # Loading themes $core->themes = new dcThemes($core); $core->themes->loadModules($core->blog->themes_path, null); $T = $core->themes->getModules($core->blog->settings->system->theme); $o = new dcThemeEditor($core); try { try { if (!empty($_REQUEST['tpl'])) { $file = $o->getFileContent('tpl', $_REQUEST['tpl']); } elseif (!empty($_REQUEST['css'])) { $file = $o->getFileContent('css', $_REQUEST['css']); } elseif (!empty($_REQUEST['js'])) { $file = $o->getFileContent('js', $_REQUEST['js']); } elseif (!empty($_REQUEST['po'])) { $file = $o->getFileContent('po', $_REQUEST['po']); } } catch (Exception $e) { $file = $file_default; throw $e; } # Write file if (!empty($_POST['write'])) { $file['c'] = $_POST['file_content']; $o->writeFile($file['type'], $file['f'], $file['c']); } # Delete file if (!empty($_POST['delete'])) { $o->deleteFile($file['type'], $file['f']); dcPage::addSuccessNotice(__('The file has been reset.')); http::redirect($p_url . '&' . $file['type'] . '=' . $file['f']); } } catch (Exception $e) { $core->error->add($e->getMessage()); } ?> <?php echo __('Edit theme files'); ?> $user_ui_colorsyntax]); } echo dcPage::jsJson('theme_editor_msg', [ 'saving_document' => __("Saving document..."), 'document_saved' => __("Document saved"), 'error_occurred' => __("An error occurred:"), 'confirm_reset_file' => __("Are you sure you want to reset this file?") ]) . dcPage::jsLoad(dcPage::getPF('themeEditor/js/script.js')) . dcPage::jsConfirmClose('file-form') ; if ($user_ui_colorsyntax) { echo dcPage::jsLoadCodeMirror($user_ui_colorsyntax_theme); } echo dcPage::cssLoad(dcPage::getPF('themeEditor/style.css')); ?> blog->name) => '', __('Blog appearance') => $core->adminurl->get('admin.blog.theme'), __('Edit theme files') => '' ]) . dcPage::notices(); ?>

blog->settings->system->theme == 'default') {?>

' . __('Please select a file to edit.') . '

'; } else { echo '
' . '

' . __('File editor') . '

' . '

' . '

' . form::textarea('file_content', 72, 25, [ 'default' => html::escapeHTML($file['c']), 'class' => 'maximal', 'disabled' => !$file['w'] ]) . '

'; if ($file['w']) { echo '

' . ($o->deletableFile($file['type'], $file['f']) ? '' : '') . $core->formNonce() . ($file['type'] ? form::hidden([$file['type']], $file['f']) : '') . '

'; } else { echo '

' . __('This file is not writable. Please check your theme files permissions.') . '

'; } echo '
'; if ($user_ui_colorsyntax) { $editorMode = (!empty($_REQUEST['css']) ? "css" : (!empty($_REQUEST['js']) ? "javascript" : (!empty($_REQUEST['po']) ? "text/plain" : "text/html"))); echo dcPage::jsJson('theme_editor_mode', ['mode' => $editorMode]); echo dcPage::jsLoad(dcPage::getPF('themeEditor/js/mode.js')); echo dcPage::jsRunCodeMirror('editor', 'file_content', 'dotclear', $user_ui_colorsyntax_theme); } } ?>

filesList('tpl', '%1$s'); ?>

filesList('css', '%1$s'); ?>

filesList('js', '%1$s'); ?>

filesList('po', '%1$s'); ?>