summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2009-06-06 12:10:45 +0200
committerAndreas Gohr <andi@splitbrain.org>2009-06-06 12:10:45 +0200
commit10271ce404f0c9bef254b22ad4258ac6355e22cc (patch)
tree0a5354500905dc75592a32482bdd5827b9593074
parentb860e7b4685b5defd19f79bea841b0e71a4de075 (diff)
downloadrpg-10271ce404f0c9bef254b22ad4258ac6355e22cc.tar.gz
rpg-10271ce404f0c9bef254b22ad4258ac6355e22cc.tar.bz2
Redesigned admin screen
Ignore-this: a0d2db2839de9eacbd6a853c39ed592c This patch reorders the admin screen to make the main tasks better accessible. This was inspired by a similar plugin by Håkan Sandell [1] [1] http://www.dokuwiki.org/plugin:adminhomepage darcs-hash:20090606101045-7ad00-83fbb0dd3af288f66801b796387e4ec3d411d4c9.gz
-rw-r--r--inc/html.php111
-rw-r--r--inc/lang/en/adminplugins.txt2
-rw-r--r--lib/images/admin/README2
-rw-r--r--lib/images/admin/acl.pngbin0 -> 1336 bytes
-rw-r--r--lib/images/admin/config.pngbin0 -> 1761 bytes
-rw-r--r--lib/images/admin/plugin.pngbin0 -> 1415 bytes
-rw-r--r--lib/images/admin/popularity.pngbin0 -> 1420 bytes
-rw-r--r--lib/images/admin/revert.pngbin0 -> 1598 bytes
-rw-r--r--lib/images/admin/usermanager.pngbin0 -> 1850 bytes
-rw-r--r--lib/tpl/default/_admin.css43
-rw-r--r--lib/tpl/default/style.ini1
11 files changed, 130 insertions, 29 deletions
diff --git a/inc/html.php b/inc/html.php
index 8c555bbbe..72af8f18a 100644
--- a/inc/html.php
+++ b/inc/html.php
@@ -1332,40 +1332,93 @@ function html_debug(){
print '</body></html>';
}
+/**
+ * List available Administration Tasks
+ *
+ * @author Andreas Gohr <andi@splitbrain.org>
+ * @author Håkan Sandell <hakan.sandell@home.se>
+ */
function html_admin(){
- global $ID;
- global $INFO;
- global $lang;
- global $conf;
-
- print p_locale_xhtml('admin');
-
- // build menu of admin functions from the plugins that handle them
- $pluginlist = plugin_list('admin');
- $menu = array();
- foreach ($pluginlist as $p) {
- if($obj =& plugin_load('admin',$p) === NULL) continue;
-
- // check permissions
- if($obj->forAdminOnly() && !$INFO['isadmin']) continue;
-
- $menu[] = array('plugin' => $p,
- 'prompt' => $obj->getMenuText($conf['lang']),
- 'sort' => $obj->getMenuSort()
- );
- }
+ global $ID;
+ global $INFO;
+ global $lang;
+ global $conf;
+ global $auth;
- usort($menu, 'p_sort_modes');
+ // build menu of admin functions from the plugins that handle them
+ $pluginlist = plugin_list('admin');
+ $menu = array();
+ foreach ($pluginlist as $p) {
+ if($obj =& plugin_load('admin',$p) === NULL) continue;
- // output the menu
- ptln('<ul>');
+ // check permissions
+ if($obj->forAdminOnly() && !$INFO['isadmin']) continue;
- foreach ($menu as $item) {
- if (!$item['prompt']) continue;
- ptln(' <li><div class="li"><a href="'.wl($ID, 'do=admin&amp;page='.$item['plugin']).'">'.$item['prompt'].'</a></div></li>');
- }
+ $menu[$p] = array('plugin' => $p,
+ 'prompt' => $obj->getMenuText($conf['lang']),
+ 'sort' => $obj->getMenuSort()
+ );
+ }
- ptln('</ul>');
+ print p_locale_xhtml('admin');
+
+ // Admin Tasks
+ if($INFO['isadmin']){
+ ptln('<ul class="admin_tasks">');
+
+ if($auth && $auth->canDo('getUsers')){
+ ptln(' <li class="admin_usermanager"><div class="li">'.
+ '<a href="'.wl($ID, array('do' => 'admin','page' => 'usermanager')).'">'.
+ $menu['usermanager']['prompt'].'</a></div></li>');
+ }
+ unset($menu['usermanager']);
+
+ ptln(' <li class="admin_acl"><div class="li">'.
+ '<a href="'.wl($ID, array('do' => 'admin','page' => 'acl')).'">'.
+ $menu['acl']['prompt'].'</a></div></li>');
+ unset($menu['acl']);
+
+ ptln(' <li class="admin_plugin"><div class="li">'.
+ '<a href="'.wl($ID, array('do' => 'admin','page' => 'plugin')).'">'.
+ $menu['plugin']['prompt'].'</a></div></li>');
+ unset($menu['plugin']);
+
+ ptln(' <li class="admin_config"><div class="li">'.
+ '<a href="'.wl($ID, array('do' => 'admin','page' => 'config')).'">'.
+ $menu['config']['prompt'].'</a></div></li>');
+ unset($menu['config']);
+ }
+ ptln('</ul>');
+
+ // Manager Tasks
+ ptln('<ul class="admin_tasks">');
+
+ ptln(' <li class="admin_revert"><div class="li">'.
+ '<a href="'.wl($ID, array('do' => 'admin','page' => 'revert')).'">'.
+ $menu['revert']['prompt'].'</a></div></li>');
+ unset($menu['revert']);
+
+ ptln(' <li class="admin_popularity"><div class="li">'.
+ '<a href="'.wl($ID, array('do' => 'admin','page' => 'popularity')).'">'.
+ $menu['popularity']['prompt'].'</a></div></li>');
+ unset($menu['popularity']);
+
+ ptln('</ul>');
+
+
+ // print the rest as sorted list
+ if(count($menu)){
+ usort($menu, 'p_sort_modes');
+ // output the menu
+ ptln('<div class="clearer"></div>');
+ print p_locale_xhtml('adminplugins');
+ ptln('<ul>');
+ foreach ($menu as $item) {
+ if (!$item['prompt']) continue;
+ ptln(' <li><div class="li"><a href="'.wl($ID, 'do=admin&amp;page='.$item['plugin']).'">'.$item['prompt'].'</a></div></li>');
+ }
+ ptln('</ul>');
+ }
}
/**
diff --git a/inc/lang/en/adminplugins.txt b/inc/lang/en/adminplugins.txt
new file mode 100644
index 000000000..3ec46cf4e
--- /dev/null
+++ b/inc/lang/en/adminplugins.txt
@@ -0,0 +1,2 @@
+===== Additional Plugins =====
+
diff --git a/lib/images/admin/README b/lib/images/admin/README
new file mode 100644
index 000000000..90bab9578
--- /dev/null
+++ b/lib/images/admin/README
@@ -0,0 +1,2 @@
+These icons were taken from the nuvoX KDE icon theme and are GPL licensed
+See http://www.kde-look.org/content/show.php/nuvoX?content=38467
diff --git a/lib/images/admin/acl.png b/lib/images/admin/acl.png
new file mode 100644
index 000000000..96fb4cd56
--- /dev/null
+++ b/lib/images/admin/acl.png
Binary files differ
diff --git a/lib/images/admin/config.png b/lib/images/admin/config.png
new file mode 100644
index 000000000..e4d376d85
--- /dev/null
+++ b/lib/images/admin/config.png
Binary files differ
diff --git a/lib/images/admin/plugin.png b/lib/images/admin/plugin.png
new file mode 100644
index 000000000..e2823bac7
--- /dev/null
+++ b/lib/images/admin/plugin.png
Binary files differ
diff --git a/lib/images/admin/popularity.png b/lib/images/admin/popularity.png
new file mode 100644
index 000000000..4e22aaf0d
--- /dev/null
+++ b/lib/images/admin/popularity.png
Binary files differ
diff --git a/lib/images/admin/revert.png b/lib/images/admin/revert.png
new file mode 100644
index 000000000..002d3a75b
--- /dev/null
+++ b/lib/images/admin/revert.png
Binary files differ
diff --git a/lib/images/admin/usermanager.png b/lib/images/admin/usermanager.png
new file mode 100644
index 000000000..c5c8dc6d6
--- /dev/null
+++ b/lib/images/admin/usermanager.png
Binary files differ
diff --git a/lib/tpl/default/_admin.css b/lib/tpl/default/_admin.css
new file mode 100644
index 000000000..9e61547bf
--- /dev/null
+++ b/lib/tpl/default/_admin.css
@@ -0,0 +1,43 @@
+
+.dokuwiki ul.admin_tasks {
+ font-size: 115%;
+ float: left;
+ width: 40%;
+ list-style-type: none;
+}
+
+.dokuwiki ul.admin_tasks li {
+ line-height: 22px;
+ padding-left: 35px;
+ margin: 1em 0;
+ background: transparent none no-repeat scroll 0 0;
+ text-align: left;
+}
+
+.dokuwiki ul.admin_tasks li div.li{
+ font-weight: bold;
+}
+
+.dokuwiki ul.admin_tasks li.admin_acl {
+ background-image: url(../../images/admin/acl.png);
+}
+
+.dokuwiki ul.admin_tasks li.admin_usermanager {
+ background-image: url(../../images/admin/usermanager.png);
+}
+
+.dokuwiki ul.admin_tasks li.admin_plugin {
+ background-image: url(../../images/admin/plugin.png);
+}
+
+.dokuwiki ul.admin_tasks li.admin_config {
+ background-image: url(../../images/admin/config.png);
+}
+
+.dokuwiki ul.admin_tasks li.admin_revert {
+ background-image: url(../../images/admin/revert.png);
+}
+
+.dokuwiki ul.admin_tasks li.admin_popularity {
+ background-image: url(../../images/admin/popularity.png);
+}
diff --git a/lib/tpl/default/style.ini b/lib/tpl/default/style.ini
index 14ad5c6a1..7631a34b7 100644
--- a/lib/tpl/default/style.ini
+++ b/lib/tpl/default/style.ini
@@ -11,6 +11,7 @@ design.css = screen
style.css = screen
media.css = screen
+_admin.css = screen
rtl.css = rtl
print.css = print