diff options
author | plegall <plg@piwigo.org> | 2011-06-14 09:57:29 +0000 |
---|---|---|
committer | plegall <plg@piwigo.org> | 2011-06-14 09:57:29 +0000 |
commit | 9aa5d4e79992302cf598cbdecf120e0a90c6428a (patch) | |
tree | 78c75687a90ea9dfaba8fc5673e46362032361bf | |
parent | b137b4f018e3c9381f02ce645e0fd630c4017ca7 (diff) |
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
-rw-r--r-- | plugins/LocalFilesEditor/include/css.inc.php | 110 | ||||
-rw-r--r-- | 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} +<select name="file_to_edit"> +{foreach from=$css_lang_tpl.OPTIONS item=theme key=value} + <option value="{$value}" {if $value == $css_lang_tpl.SELECTED}selected="selected"{/if} {if is_numeric($value)}disabled="disabled"{/if}>{$theme}</option> +{/foreach} +</select> + + <input class="submit" type="submit" value="{'locfiledit_edit'|@translate}" name="edit" /> <br><br> {if isset ($css_lang_tpl.NEW_FILE_URL)} |