aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorplegall <plg@piwigo.org>2011-06-14 09:57:29 +0000
committerplegall <plg@piwigo.org>2011-06-14 09:57:29 +0000
commit9aa5d4e79992302cf598cbdecf120e0a90c6428a (patch)
tree78c75687a90ea9dfaba8fc5673e46362032361bf
parentb137b4f018e3c9381f02ce645e0fd630c4017ca7 (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.php110
-rw-r--r--plugins/LocalFilesEditor/template/admin.tpl8
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) ? '&#x2714;' : '&#x2718;').' 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) ? '&#x2714;' : '&#x2718;').' '.$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) ? '&#x2714;' : '&#x2718;').' '.$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)}