From 9aa5d4e79992302cf598cbdecf120e0a90c6428a Mon Sep 17 00:00:00 2001 From: plegall Date: Tue, 14 Jun 2011 09:57:29 +0000 Subject: bug 2341 fixed: simplified selection for CSS file to edit. We display the list of themes in the same order as on [Administration > Configuration > Themes] git-svn-id: http://piwigo.org/svn/branches/2.2@11361 68402e56-0260-453c-a942-63ccdbb3a9ee --- plugins/LocalFilesEditor/include/css.inc.php | 110 +++++++++++++++++++++++---- plugins/LocalFilesEditor/template/admin.tpl | 8 +- 2 files changed, 101 insertions(+), 17 deletions(-) diff --git a/plugins/LocalFilesEditor/include/css.inc.php b/plugins/LocalFilesEditor/include/css.inc.php index 42c6b6920..83c479029 100644 --- a/plugins/LocalFilesEditor/include/css.inc.php +++ b/plugins/LocalFilesEditor/include/css.inc.php @@ -2,36 +2,114 @@ if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); -$edited_file = isset($_POST['edited_file']) ? $_POST['edited_file'] : ''; -$content_file = ''; - if ((isset($_POST['edit'])) and !is_numeric($_POST['file_to_edit'])) { $edited_file = $_POST['file_to_edit']; - if (file_exists($edited_file)) +} +elseif (isset($_POST['edited_file'])) +{ + $edited_file = $_POST['edited_file']; +} +else +{ + $edited_file = PHPWG_ROOT_PATH.PWG_LOCAL_DIR . 'css/'.get_default_theme().'-rules.css'; +} + +if (file_exists($edited_file)) +{ + $content_file = file_get_contents($edited_file); +} +else +{ + $content_file = "/* " . l10n('locfiledit_newfile') . " */\n\n"; +} + +$selected = 0; +// $options[] = l10n('locfiledit_choose_file'); +// $options[] = '----------------------'; +$value = PHPWG_ROOT_PATH.PWG_LOCAL_DIR . "css/rules.css"; + +$options[$value] = (file_exists($value) ? '✔' : '✘').' local / css / rules.css'; +if ($edited_file == $value) +{ + $selected = $value; +} + +// themes are displayed in the same order as on screen +// [Administration > Configuration > Themes] + +include_once(PHPWG_ROOT_PATH.'admin/include/themes.class.php'); +$themes = new themes(); +$themes->sort_fs_themes(); +$default_theme = get_default_theme(); +$db_themes = $themes->get_db_themes(); + +$db_theme_ids = array(); +foreach ($db_themes as $db_theme) +{ + array_push($db_theme_ids, $db_theme['id']); +} + +$active_themes = array(); +$inactive_themes = array(); + +foreach ($themes->fs_themes as $theme_id => $fs_theme) +{ + if ($theme_id == 'default') + { + continue; + } + + if (in_array($theme_id, $db_theme_ids)) { - $content_file = file_get_contents($edited_file); + if ($theme_id == $default_theme) + { + array_unshift($active_themes, $fs_theme); + } + else + { + array_push($active_themes, $fs_theme); + } } else { - $content_file = "/* " . l10n('locfiledit_newfile') . " */\n\n"; + array_push($inactive_themes, $fs_theme); } } -$selected = 0; -$options[] = l10n('locfiledit_choose_file'); -$options[] = '----------------------'; -$value = PHPWG_ROOT_PATH.PWG_LOCAL_DIR . "css/rules.css"; -$options[$value] = 'local / css / rules.css'; -if ($edited_file == $value) $selected = $value; -$options[] = '----------------------'; +$options[] = ''; +$options[] = '----- '.l10n('Active Themes').' -----'; +$options[] = ''; +foreach ($active_themes as $theme) +{ + $value = PHPWG_ROOT_PATH.PWG_LOCAL_DIR . 'css/'.$theme['id'].'-rules.css'; -foreach (get_dirs($conf['themes_dir']) as $theme_id) + $options[$value] = (file_exists($value) ? '✔' : '✘').' '.$theme['name']; + + if ($default_theme == $theme['id']) + { + $options[$value].= ' ('.l10n('default').')'; + } + + if ($edited_file == $value) + { + $selected = $value; + } +} + +$options[] = ''; +$options[] = '----- '.l10n('Inactive Themes').' -----'; +$options[] = ''; +foreach ($inactive_themes as $theme) { - $value = PHPWG_ROOT_PATH.PWG_LOCAL_DIR . 'css/'.$theme_id.'-rules.css'; - $options[$value] = 'local / css / '.$theme_id.'-rules.css'; + $value = PHPWG_ROOT_PATH.PWG_LOCAL_DIR . 'css/'.$theme['id'].'-rules.css'; + + $options[$value] = (file_exists($value) ? '✔' : '✘').' '.$theme['name']; + if ($edited_file == $value) + { $selected = $value; + } } $template->assign('css_lang_tpl', array( diff --git a/plugins/LocalFilesEditor/template/admin.tpl b/plugins/LocalFilesEditor/template/admin.tpl index 1761951d2..00be8a017 100644 --- a/plugins/LocalFilesEditor/template/admin.tpl +++ b/plugins/LocalFilesEditor/template/admin.tpl @@ -52,7 +52,13 @@ if (document.getElementById("text") != null) {/if} {if isset ($css_lang_tpl)} -{html_options name=file_to_edit options=$css_lang_tpl.OPTIONS selected=$css_lang_tpl.SELECTED} + + +

{if isset ($css_lang_tpl.NEW_FILE_URL)} -- cgit v1.2.3