diff options
author | Bharat Mediratta <bharat@menalto.com> | 2008-12-15 01:48:34 +0000 |
---|---|---|
committer | Bharat Mediratta <bharat@menalto.com> | 2008-12-15 01:48:34 +0000 |
commit | c02d2554cfdf23a91b6b756ada91ab1ce1018280 (patch) | |
tree | 73cc4f8bfef0254e253a8724a74711e04392a83a | |
parent | 19e75b1e2ed73521b3cad01e55d546d3a6b55587 (diff) |
Refactor admin dashboard.
o Copy all the assets from default to default_admin so that they're
totally separate
o Get rid of $item_theme
o Rename list_users.html.php to users.html.php
o use __call in admin controller to allow us to load any admin page
16 files changed, 1494 insertions, 44 deletions
diff --git a/core/controllers/admin.php b/core/controllers/admin.php index f00d3fdf..97f29cbb 100644 --- a/core/controllers/admin.php +++ b/core/controllers/admin.php @@ -18,36 +18,39 @@ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ class Admin_Controller extends Controller { - public $theme_name = null; - public function __construct() { if (!(user::active()->admin)) { throw new Exception("@todo UNAUTHORIZED", 401); } - // giving default is probably overkill - $this->theme_name = module::get_var("core", "active_admin_theme", "default_admin"); parent::__construct(); } public function index() { - // For now, in order not to duplicate js and css, keep the regular ("item") - // theme in addition to admin theme. - $item_theme_name = module::get_var("core", "active_theme", "default"); - $item_theme = new Theme_View("album.html", "album", $item_theme_name); - - $template = new Theme_View("admin.html", "admin", $this->theme_name); - $template->item_theme = $item_theme; - $template->subpage = "dashboard.html"; + $theme_name = module::get_var("core", "active_admin_theme", "default_admin"); + $template = new Admin_View("admin.html", $theme_name); + $template->content = new View("dashboard.html"); print $template; } - public function subpage() { - $template = new Theme_View($_REQUEST["name"] . ".html", "admin", $this->theme_name); - switch ($_REQUEST["name"]) { - case "list_users": - $template->set_global("users", ORM::factory("user")->find_all()); + public function __call($page_name, $args) { + $theme_name = module::get_var("core", "active_admin_theme", "default_admin"); + // For now, we have only two legal pages. + // @todo get these pages from the modules + switch($page_name) { + case "users": + $view = new Admin_View("users.html", $theme_name); + $view->users = ORM::factory("user")->find_all(); + break; + + case "dashboard": + $view = new Admin_View("dashboard.html", $theme_name); + break; + + default: + Kohana::show_404(); } - print $template; + + print $view; } } diff --git a/core/libraries/Theme_View.php b/core/libraries/Theme_View.php index 51d7c545..7fc400ce 100644 --- a/core/libraries/Theme_View.php +++ b/core/libraries/Theme_View.php @@ -25,7 +25,7 @@ class Theme_View_Core extends View { * * @throws Kohana_Exception if the requested view cannot be found * @param string $name view name - * @param string $page_type page type: album, photo, tags, admin, etc + * @param string $page_type page type: album, photo, tags, etc * @param string $theme_name view name * @return void */ diff --git a/themes/default_admin/css/screen.css b/themes/default_admin/css/screen.css new file mode 100644 index 00000000..89374810 --- /dev/null +++ b/themes/default_admin/css/screen.css @@ -0,0 +1,1095 @@ +/** + * Gallery 3 Default Theme Styles + * + * @requires YUI reset, font, grids CSS + * + * Sheet organization: + * 1) Basic HTML elements + * 2) Base text styles + * 3) Page layout containers + * 4) Reusable content containers + * 5) Specific content blocks + * 6) Navigation and menus + * 7) Generic styles + * 8) Browser hacks + * 9) Debugging information + * 10) Ajax/DOM features + * 11) jQuery UI + */ + +/** ******************************************************************* + * 1) Basic HTML elements + ******************************************************************/ + +/* Basic HTML elements ~~~~~~~~~~~~~~~~ */ + +body, html { + background-color: #ccc; + font-family: 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; +} + +p { + margin-bottom: 1em; +} + +/* Headings ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +h1, h2, h3, h4, h5 { + font-weight: bold; +} + +h1 { + font-size: 1.7em +} + +h2 { + font-size: 1.4em +} + +h3 { + font-size: 1.2em +} + +/* Links ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +a { + color: #6b8cb7; + text-decoration: none; +} + +a:hover { + color: #f30; + text-decoration: underline; +} + +/* Tables ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +caption { + text-align: left; +} + +th { + font-weight: bold; + text-align: left; +} + +/* Forms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +fieldset { + border: 1px solid #ccc; +} + +legend { + font-weight: bold; + margin-left: 1em; +} + +label { + cursor: help; +} + +input[type="text"], +input[type="password"], +textarea, +select { +} + +input[type="text"], +input[type="password"], +textarea, +.gValidationRule { + width: 40%; +} + +input[type="button"] { +} + +input[type="checkbox"] { +} + +input[type="file"] { +} + +input[type="password"] { +} + +input[type="radio"] { +} + +input[type="reset"] { +} + +input[type="submit"] { +} + +input[type="text"] { +} + +option { +} + +optgroup { +} + +select { +} + +textarea { + width: 99%; + height: 12em; +} + +button { +} + +input:focus, +textarea:focus, +option:focus { + background-color: #ffc; +} + +/* Form layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +form li { + margin: 0 !important; + padding: .3em 1.5em .3em 1em; +} + +form ul ul { + clear: both; +} + +form ul ul li { + float: left; +} + +input, +textarea { + display: block; + clear: both; +} + +/* Form validation ~~~~~~~~~~~~~~~~~~~~~~~ */ + +.gRequired { +} + +.gValidationRule { + font-size: 80%; + margin-top: .5em; +} + +form.gError input[type="text"], +li.gError input[type="text"], +form.gError input[type="password"], +li.gError input[type="password"], +form.gError input[type="checkbox"], +li.gError input[type="checkbox"], +form.gError input[type="radio"], +li.gError input[type="radio"], +form.gError textarea, +li.gError textarea, +form.gError select, +li.gError select { + border: 2px solid red; +} + +/** **************************************************************** + * 2) Base text styles + ******************************************************************/ + +#gContent { + font-size: 1em; +} + +#gSidebar { + font-size: .9em; +} + +#gHeader, #gFooter { + font-size: .8em; +} + +.gItem { + font-size: .8em; +} + +/*** *************************************************************** + * 3) Page layout containers + ******************************************************************/ + +/* View container ~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.gView { + background-color: #fff; + border: 1px solid #ccc; + border-bottom: none; +} + +/* Layout containers ~~~~~~~~~~~~~~~~~~~~~ */ + +#gHeader { + border-bottom: 1px solid #fff; +} + +#gContent { + padding-left: 20px; +} + +#gSidebar { + background-color: #fff; + margin-top: -20px; + padding: 0 20px; + width: 220px; +} + +#gFooter { + border-top: 1px solid #ccc; + margin-top: 20px; + padding: 10px 20px; +} + +/** **************************************************************** + * 4) Reusable content containers + ******************************************************************/ + +.gBlock { + clear: both; + margin-bottom: 2.5em; +} + +#gSidebar .gBlock h3 { + background: #e8e8e8; + padding: .3em .75em; +} + +#gSidebar .gBlockContent { + padding: .5em 1em; +} + +/** **************************************************************** + * 5) Specific content blocks + ******************************************************************/ + +/* Logo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gLogo { + margin: 5px 10px 10px 20px; +} + +.gThumbnail { +} + +/* Album ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gAlbumHeader { + position: relative; +} + +#gAlbumGrid { + margin-top: 20px; +} + +#gAlbumGrid .gItem { + float: left; + height: 270px; + margin-bottom: 10px; + padding: 0 0 5px 0; + text-align: center; + width: 33%; +} + +.gItem h2 { + margin: 5px 0; +} + +.gAlbum { + background-color: #d4daff; +} + +.gAlbum h2 { + color: #006; +} + +/* Individual photo ~~~~~~~~~~~~~~~~~~~~~ */ + +#gItem { + margin: 1em 0; +} + +/* Metadata ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.gMetadata td, +.gMetadata th { + padding: 0 1em .5em 0; + vertical-align: top; +} + +.gMetadata th, +.gMetadata td.toggle { + text-align: right; +} + +/* Comments ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gComments { + margin-top: 2em; +} + +#gComments ul li { + margin: 1em 0; +} + +#gComments ul li p { + background-color: #e8e8e8; + margin-bottom: 2px; + padding: 4px; +} + +#gComments ul li div { + padding: 8px; +} + +/* Status messages ~~~~~~~~~~~~~~~~~~~~~~~ */ + +.gMessages li { + border: 1px solid #ccc; + margin: .4em 0; +} + +.gError, .gWarning, .gSuccess, .gHelp, .gInfo { + background-position: .5em .1em; + background-repeat: no-repeat; + padding: .1em .5em .1em 30px; +} + +.gError { + background-color: #fcc; + background-image: url('../images/ico-error.png'); +} + +.gWarning { + background-color: #ff9; + background-image: url('../images/ico-warning.png'); +} + +.gSuccess { + background-color: #cfc; + background-image: url('../images/ico-success.png'); +} + +.gHelp { + background-image: url('../images/ico-help.png'); +} + +.gInfo { + background-image: url('../images/ico-info.png'); +} + +/* Inline layout (forms, lists) ~~~~~~~~~~ */ + +#gHeader #gLoginMenu li, +#gHeader #gSearchForm li, +#gSidebar #gAddTagForm li { + float: left; + padding: .4em .5em; +} + +#gHeader #gLoginMenu input[type="text"], +#gHeader #gLoginMenu input[type="password"], +#gHeader #gSearchForm input[type="text"], +#gSidebar #gAddTagForm input[type="text"] { + width: 10em; +} + +#gHeader #gLoginForm button { + margin-top: 1em; +} + +#gHeader #gSearchForm { + float: right; + margin-right: 20px; +} + +#gHeader #gLoginForm legend, +#gHeader #gLoginFormContainer, +#gHeader #gSearchForm label, +#gSidebar #gAddTagForm legend { + display: none; +} + +#gHeader #gLoginForm fieldset, +#gSidebar #gAddTagForm fieldset { + border: none; +} + +/* Credits ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gCredits li { + display: inline; +} + +#gCredits li:before { + padding: 0 2px 0 2px; + content: "|" +} + +#gCredits li.first:before { + content: "" +} + +/** ******************************************************************* + * 6) Navigation and menus + ****************************************************************** / + +/* Login menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gLoginMenu { + border: 1px solid #ccc; + border-top: none; + float: right; + margin-right: 20px; +} + +/* Site Menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gSiteMenu { + border-bottom: 1px solid #ccc; + font-size: 1.2em; + padding: 0 20px 0; +} + +#gSiteMenu ul { + margin-bottom: 0; +} + +#gViewMenu li { + float: left; +} + +#gViewMenu #gAlbumLink, +#gViewMenu #gHybridLink, +#gViewMenu #gSlideshowLink, +#gViewMenu #gFullsizeLink { + background-color: #BDD2FF; + background-repeat: no-repeat; + background-position: center center; + color: transparent; + display: block; + font-size: .9em; + height: 22px; + overflow: hidden; + text-indent: 1000px; + white-space: nowrap; + width: 32px; +} + +#gViewMenu #gAlbumLink { + background-image: url('../images/ico-view-album.png'); +} + +#gViewMenu #gHybridLink { + background-image: url('../images/ico-view-hybrid.png'); +} + +#gViewMenu #gSlideshowLink { + background-image: url('../images/ico-view-slideshow.png'); +} + +#gViewMenu #gFullsizeLink { + background-image: url('../images/ico-view-fullsize.png'); +} + +/* Breadcrumbs ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gBreadcrumbs { + padding-left: 20px; +} + +#gBreadcrumbs li { + background: transparent url('../images/icon_breadcrumb_separator.gif') no-repeat scroll left center; + float: left; + padding: 10px 0 10px 12px; +} + +#gBreadcrumbs li.root { + background: transparent; +} + +#gBreadcrumbs li a, +#gBreadcrumbs li span { + display: block; +} + +#gBreadcrumbs li.active span { + font-weight: bold; +} + +/* Tags and cloud ~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gTagCloud ul { + font-size: 1.4em; + text-align: justify; +} + +#gTagCloud ul li { + display: inline; + line-height: 1.5em; + text-align: justify; +} + +#gTagCloud ul li a { + text-decoration: none; +} + +#gTagCloud ul li span { + display: none; +} + +#gTagCloud ul li.size1 a { + color: #9cf; + font-size: 80%; + font-weight: 100; +} + +#gTagCloud ul li.size2 a { + color: #69f; + font-size: 90%; + font-weight: 300; +} + +#gTagCloud ul li.size3 a { + color: #69c; + font-size: 100%; + font-weight: 500; +} + +#gTagCloud ul li.size4 a { + color: #369; + font-size: 110%; + font-weight: 700; +} + +#gTagCloud ul li.size5 a { + color: #0e2b52; + font-size: 120%; + font-weight: 900; +} + +#gTagCloud ul li.size6 a { + color: #0e2b52; + font-size: 130%; + font-weight: 900; +} + +#gTagCloud ul li.size7 a { + color: #0e2b52; + font-size: 140%; + font-weight: 900; +} + +#gTagCloud ul li a:hover { + color: #f30; + text-decoration: underline; +} + +/* Pagination ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +#gPager { + clear: both; + padding-top: 2em; +} + +#gPager li { + background-repeat: no-repeat; + float: left; + padding: 5px; +} + +#gPager .first { + background-image: url('../images/first.png'); + background-position: left; + padding-left: 20px; +} + +#gPager .first_inactive { + background-image: url('../images/first_inactive.png'); + background-position: left; + color: #ccc; + padding-left: 20px; +} + +#gPager .previous { + background-image: url('../images/previous.png'); + background-position: left; + padding-left: 17px; +} + +#gPager .previous_inactive { + background-image: url('../images/previous_inactive.png'); + background-position: left; + color: #ccc; + padding-left: 17px; +} + +#gPager .next { + background-image: url('../images/next.png'); + background-position: right; + padding-right: 17px; +} + +#gPager .next_inactive { + background-image: url('../images/next_inactive.png'); + background-position: right; + color: #ccc; + padding-right: 17px; +} + +#gPager .last { + background-image: url('../images/last.png'); + background-position: right; + padding-right: 20px; +} + +#gPager .last_inactive { + background-image: url('../images/last_inactive.png'); + background-position: right; + color: #ccc; + padding-right: 20px; +} + +/** ******************************************************************* + * 7) Generic styles + ******************************************************************/ + +.gButtonLink { + border: 1px solid #ccc; + display: block; + height: 24px; + line-height: 1.7em; + padding: 3px 1em 0; +} + +.gButtonLink:hover { + background-color: #f3f3f3; +} + +/** ******************************************************************* + * 8) Browser hacks + *********************************************************************/ + +.gClearFix:after { + clear: both; + content: "."; + display: block; + height: 0; + visibility: hidden; +} + +/** ******************************************************************* + * 9) Debugging information + *********************************************************************/ + +div.gAnnotatedThemeBlock { + position: relative; + padding: 1em; + margin: 1em; + border: 1px solid #C00; + clear: both; +} + +div.gAnnotatedThemeBlock_album_top { + float: right; +} + +div.gAnnotatedThemeBlock_header_bottom { + float: right; +} + +div.gAnnotatedThemeBlock div.title { + position: absolute; + top: -1em; + right: -1em; + border: 1px solid black; + background: #C00; + color: white; + text-align: left; + padding: 4px; + font-size: 110%; + -moz-border-radius: 5% 5% 5% 5%; +} + +/** ******************************************************************* + * 10) Ajax/DOM features + *********************************************************************/ + +.gInPlaceEdit, +.gInPlaceEdit form, +.gInPlaceEdit input { + display: inline; +} + +span.gInPlaceEdit:hover { + color: #6b8cb7; +} + +.gClose a { + border: 1px solid #ccc; + color: #ccc; + display: block; + font-weight: bold; + padding: 1px 3px; +} + +.gClose a:hover { + border: 1px solid #666; + color: #666; + text-decoration: none; +} + +.gHide, +.gClose { + display: none; +} + +#gDialog { + background-color: #fff; + text-align: left; +} + +#gDialog form { +} + +.gDialogLink { + +} + +/** ******************************************************************* + * 11) jQuery UI + *********************************************************************/ + +/*UI tabs*/ +.ui-tabs-nav { + float: left; + position: relative; + z-index: 1; + border-right: 1px solid #ccc; + bottom: -1px; +} +.ui-tabs-nav li { + float: left; + border: 1px solid #ccc; + border-right: none; +} +.ui-tabs-nav li a { + float: left; + font-weight: normal; + text-decoration: none; + padding: .5em 1.7em; + color: #444444; + background: #e6e6e6 url(../jquery/images/e6e6e6_40x100_textures_02_glass_80.png) 0 50% repeat-x; +} +.ui-tabs-nav li a:hover, .ui-tabs-nav li a:focus, .ui-tabs-nav li a:active { /* order: LVHFA */ + background: #eb9300 url(../jquery/images/eb9300_40x100_textures_02_glass_90.png) 0 50% repeat-x; + color: #111111; +} +.ui-tabs-nav li.ui-tabs-selected { + border-bottom-color: #8ab9ff; +} +.ui-tabs-nav li.ui-tabs-selected a, .ui-tabs-nav li.ui-tabs-selected a:hover, +.ui-tabs-nav li.ui-tabs-selected a:focus, .ui-tabs-nav li.ui-tabs-selected a:active { + background: #8ab9ff url(../jquery/images/8ab9ff_40x100_textures_02_glass_50.png) 0 50% repeat-x; + color: #000; +} +.ui-tabs-panel { + clear:left; + border: 1px solid #ccc; + background: #f3f3f3 url(../jquery/images/f3f3f3_40x100_textures_01_flat_0.png) 0 0 repeat-x; + color: #362b36; + padding: 1.5em 1.7em; + min-width: 0; /* => IE7 trigger hasLayout (while maintaining valid CSS) to prevent margins pushed here from preceding elements */ +} +* html .ui-tabs-panel { + display: inline-block; /* => IE6 trigger hasLayout (while maintaining valid CSS) in IE6 to prevent margins pushed here from preceding elements */ +} +.ui-tabs-hide { + display: none !important/*for accessible hiding: position: absolute; left: -99999999px;*/; +} + +/*dialog*/ +.ui-dialog { + font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; + font-size: 1.2em; + background: #f3f3f3 url(../jquery/images/f3f3f3_40x100_textures_01_flat_0.png) 0 0 repeat-x; + color: #362b36; + border: 4px solid #dddddd; + position: relative; +} +.ui-resizable-handle { + position: absolute; + font-size: 0.1px; + z-index: 99999; +} +.ui-resizable .ui-resizable-handle { + display: block; +} +body .ui-resizable-disabled .ui-resizable-handle { display: none; } /* use 'body' to make it more specific (css order) */ +body .ui-resizable-autohide .ui-resizable-handle { display: none; } /* use 'body' to make it more specific (css order) */ +.ui-resizable-n { + cursor: n-resize; + height: 7px; + width: 100%; + top: -5px; + left: 0px; +} +.ui-resizable-s { + cursor: s-resize; + height: 7px; + width: 100%; + bottom: -5px; + left: 0px; +} +.ui-resizable-e { + cursor: e-resize; + width: 7px; + right: -5px; + top: 0px; + height: 100%; +} +.ui-resizable-w { + cursor: w-resize; + width: 7px; + left: -5px; + top: 0px; + height: 100%; +} +.ui-resizable-se { + cursor: se-resize; + width: 18px; + height: 18px; + right: -5px; + bottom: -5px; + background: url(../jquery/images/222222_11x11_icon_resize_se.gif) no-repeat 0 0; +} +.ui-resizable-sw { + cursor: sw-resize; + width: 9px; + height: 9px; + left: -5px; + bottom: -5px; +} +.ui-resizable-nw { + cursor: nw-resize; + width: 9px; + height: 9px; + left: -5px; + top: -5px; +} +.ui-resizable-ne { + cursor: ne-resize; + width: 9px; + height: 9px; + right: -5px; + top: -5px; +} +.ui-dialog-titlebar { + padding: .5em 1.5em .5em 1em; + color: #444444; + background: #e6e6e6 url(../jquery/images/e6e6e6_40x100_textures_02_glass_80.png) 0 50% repeat-x; + border-bottom: 1px solid #cccccc; + font-size: 1em; + font-weight: normal; + position: relative; +} +.ui-dialog-title {} +.ui-dialog-titlebar-close { + background: url(../jquery/images/888888_11x11_icon_close.gif) 0 0 no-repeat; + position: absolute; + right: 8px; + top: .7em; + width: 11px; + height: 11px; + z-index: 100; +} +.ui-dialog-titlebar-close-hover, .ui-dialog-titlebar-close:hover { + background: url(../jquery/images/222222_11x11_icon_close.gif) 0 0 no-repeat; +} +.ui-dialog-titlebar-close:active { + background: url(../jquery/images/ffffff_11x11_icon_close.gif) 0 0 no-repeat; +} +.ui-dialog-titlebar-close span { + display: none; +} +.ui-dialog-content { + color: #362b36; + padding: 1.5em 1.7em; +} +.ui-dialog-buttonpane { + position: absolute; + bottom: 0; + width: 100%; + text-align: left; + border-top: 1px solid #dddddd; + background: #f3f3f3; +} +.ui-dialog-buttonpane button { + margin: .5em 0 .5em 8px; + color: #444444; + background: #e6e6e6 url(../jquery/images/e6e6e6_40x100_textures_02_glass_80.png) 0 50% repeat-x; + font-size: 1em; + border: 1px solid #cccccc; + cursor: pointer; + padding: .2em .6em .3em .6em; + line-height: 1.4em; +} +.ui-dialog-buttonpane button:hover { + color: #111111; + background: #eb9300 url(../jquery/images/eb9300_40x100_textures_02_glass_90.png) 0 50% repeat-x; + border: 1px solid #888888; +} +.ui-dialog-buttonpane button:active { + color: #000000; + background: #8ab9ff url(../jquery/images/8ab9ff_40x100_textures_02_glass_50.png) 0 50% repeat-x; + border: 1px solid #2694e8; +} +/* This file skins dialog */ +.ui-dialog.ui-draggable .ui-dialog-titlebar, +.ui-dialog.ui-draggable .ui-dialog-titlebar { + cursor: move; +} + +/* +Generic ThemeRoller Classes +>> Make your jQuery Components ThemeRoller-Compatible! +*/ + +/*component global class*/ +.ui-component { +} +/*component content styles*/ +.ui-component-content { + border: 1px solid #dddddd; + background: #f3f3f3 url(../jquery/images/f3f3f3_40x100_textures_01_flat_0.png) 0 0 repeat-x; + color: #362b36; +} +.ui-component-content a { + color: #362b36; + text-decoration: underline; +} +/*component states*/ +.ui-default-state { + border: 1px solid #ccc; + background: #e6e6e6 url(../jquery/images/e6e6e6_40x100_textures_02_glass_80.png) 0 50% repeat-x; + font-weight: normal; + color: #444444 !important; +} +.ui-default-state a { + color: #444444; +} +.ui-default-state:hover, .ui-hover-state { + border: 1px solid #888888; + background: #eb9300 url(../jquery/images/eb9300_40x100_textures_02_glass_90.png) 0 50% repeat-x; + font-weight: normal; + color: #111111 !important; +} +.ui-hover-state a { + color: #111111; +} +.ui-default-state:active, .ui-active-state { + border: 1px solid #2694e8; + background: #8ab9ff url(../jquery/images/8ab9ff_40x100_textures_02_glass_50.png) 0 50% repeat-x; + font-weight: normal; + color: #000 !important; + outline: none; +} +.ui-active-state a { + color: #000; + outline: none; +} +/*icons*/ +.ui-arrow-right-default {background: url(../jquery/images/888888_7x7_arrow_right.gif) no-repeat 50% 50%;} +.ui-arrow-right-default:hover, .ui-arrow-right-hover {background: url(../jquery/images/222222_7x7_arrow_right.gif) no-repeat 50% 50%;} +.ui-arrow-right-default:active, .ui-arrow-right-active {background: url(../jquery/images/ffffff_7x7_arrow_right.gif) no-repeat 50% 50%;} +.ui-arrow-right-content {background: url(../jquery/images/222222_7x7_arrow_right.gif) no-repeat 50% 50%;} + +.ui-arrow-left-default {background: url(../jquery/images/888888_7x7_arrow_left.gif) no-repeat 50% 50%;} +.ui-arrow-left-default:hover, .ui-arrow-left-hover {background: url(../jquery/images/222222_7x7_arrow_left.gif) no-repeat 50% 50%;} +.ui-arrow-left-default:active, .ui-arrow-left-active {background: url(../jquery/images/ffffff_7x7_arrow_left.gif) no-repeat 50% 50%;} +.ui-arrow-left-content {background: url(../jquery/images/222222_7x7_arrow_left.gif) no-repeat 50% 50%;} + +.ui-arrow-down-default {background: url(../jquery/images/888888_7x7_arrow_down.gif) no-repeat 50% 50%;} +.ui-arrow-down-default:hover, .ui-arrow-down-hover {background: url(../jquery/images/222222_7x7_arrow_down.gif) no-repeat 50% 50%;} +.ui-arrow-down-default:active, .ui-arrow-down-active {background: url(../jquery/images/ffffff_7x7_arrow_down.gif) no-repeat 50% 50%;} +.ui-arrow-down-content {background: url(../jquery/images/222222_7x7_arrow_down.gif) no-repeat 50% 50%;} + +.ui-arrow-up-default {background: url(../jquery/images/888888_7x7_arrow_up.gif) no-repeat 50% 50%;} +.ui-arrow-up-default:hover, .ui-arrow-up-hover {background: url(../jquery/images/222222_7x7_arrow_up.gif) no-repeat 50% 50%;} +.ui-arrow-up-default:active, .ui-arrow-up-active {background: url(../jquery/images/ffffff_7x7_arrow_up.gif) no-repeat 50% 50%;} +.ui-arrow-up-content {background: url(../jquery/images/222222_7x7_arrow_up.gif) no-repeat 50% 50%;} + +.ui-close-default {background: url(../jquery/images/888888_11x11_icon_close.gif) no-repeat 50% 50%;} +.ui-close-default:hover, .ui-close-hover {background: url(../jquery/images/222222_11x11_icon_close.gif) no-repeat 50% 50%;} +.ui-close-default:active, .ui-close-active {background: url(../jquery/images/ffffff_11x11_icon_close.gif) no-repeat 50% 50%;} +.ui-close-content {background: url(../jquery/images/ffffff_11x11_icon_close.gif) no-repeat 50% 50%;} + +.ui-folder-closed-default {background: url(../jquery/images/888888_11x11_icon_folder_closed.gif) no-repeat 50% 50%;} +.ui-folder-closed-default:hover, .ui-folder-closed-hover {background: url(../jquery/images/222222_11x11_icon_folder_closed.gif) no-repeat 50% 50%;} +.ui-folder-closed-default:active, .ui-folder-closed-active {background: url(../jquery/images/ffffff_11x11_icon_folder_closed.gif) no-repeat 50% 50%;} +.ui-folder-closed-content {background: url(../jquery/images/888888_11x11_icon_folder_closed.gif) no-repeat 50% 50%;} + +.ui-folder-open-default {background: url(../jquery/images/888888_11x11_icon_folder_open.gif) no-repeat 50% 50%;} +.ui-folder-open-default:hover, .ui-folder-open-hover {background: url(../jquery/images/222222_11x11_icon_folder_open.gif) no-repeat 50% 50%;} +.ui-folder-open-default:active, .ui-folder-open-active {background: url(../jquery/images/ffffff_11x11_icon_folder_open.gif) no-repeat 50% 50%;} +.ui-folder-open-content {background: url(../jquery/images/ffffff_11x11_icon_folder_open.gif) no-repeat 50% 50%;} + +.ui-doc-default {background: url(../jquery/images/888888_11x11_icon_doc.gif) no-repeat 50% 50%;} +.ui-doc-default:hover, .ui-doc-hover {background: url(../jquery/images/222222_11x11_icon_doc.gif) no-repeat 50% 50%;} +.ui-doc-default:active, .ui-doc-active {background: url(../jquery/images/ffffff_11x11_icon_doc.gif) no-repeat 50% 50%;} +.ui-doc-content {background: url(../jquery/images/222222_11x11_icon_doc.gif) no-repeat 50% 50%;} + +.ui-arrows-leftright-default {background: url(../jquery/images/888888_11x11_icon_arrows_leftright.gif) no-repeat 50% 50%;} +.ui-arrows-leftright-default:hover, .ui-arrows-leftright-hover {background: url(../jquery/images/222222_11x11_icon_arrows_leftright.gif) no-repeat 50% 50%;} +.ui-arrows-leftright-default:active, .ui-arrows-leftright-active {background: url(../jquery/images/ffffff_11x11_icon_arrows_leftright.gif) no-repeat 50% 50%;} +.ui-arrows-leftright-content {background: url(../jquery/images/222222_11x11_icon_arrows_leftright.gif) no-repeat 50% 50%;} + +.ui-arrows-updown-default {background: url(../jquery/images/888888_11x11_icon_arrows_updown.gif) no-repeat 50% 50%;} +.ui-arrows-updown-default:hover, .ui-arrows-updown-hover {background: url(../jquery/images/222222_11x11_icon_arrows_updown.gif) no-repeat 50% 50%;} +.ui-arrows-updown-default:active, .ui-arrows-updown-active {background: url(../jquery/images/ffffff_11x11_icon_arrows_updown.gif) no-repeat 50% 50%;} +.ui-arrows-updown-content {background: url(../jquery/images/222222_11x11_icon_arrows_updown.gif) no-repeat 50% 50%;} + +.ui-minus-default {background: url(../jquery/images/888888_11x11_icon_minus.gif) no-repeat 50% 50%;} +.ui-minus-default:hover, .ui-minus-hover {background: url(../jquery/images/222222_11x11_icon_minus.gif) no-repeat 50% 50%;} +.ui-minus-default:active, .ui-minus-active {background: url(../jquery/images/ffffff_11x11_icon_minus.gif) no-repeat 50% 50%;} +.ui-minus-content {background: url(../jquery/images/222222_11x11_icon_minus.gif) no-repeat 50% 50%;} + +.ui-plus-default {background: url(../jquery/images/888888_11x11_icon_plus.gif) no-repeat 50% 50%;} +.ui-plus-default:hover, .ui-plus-hover {background: url(../jquery/images/222222_11x11_icon_plus.gif) no-repeat 50% 50%;} +.ui-plus-default:active, .ui-plus-active {background: url(../jquery/images/ffffff_11x11_icon_plus.gif) no-repeat 50% 50%;} +.ui-plus-content {background: url(../jquery/images/222222_11x11_icon_plus.gif) no-repeat 50% 50%;} + +/*hidden elements*/ +.ui-hidden { + display: none/*for accessible hiding: position: absolute; left: -99999999px;*/; +} +.ui-accessible-hidden { + position: absolute; left: -99999999px; +} +/*reset styles*/ +.ui-reset { + /*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; +} +/*clearfix class*/ +.ui-clearfix:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} +.ui-clearfix {display: inline-block;} +/* Hides from IE-mac \*/ +* html .ui-clearfix {height: 1%;} +.ui-clearfix {display: block;} +/* End hide from IE-mac */ + +/* Note: for resizable styles, use the styles listed above in the dialog section */ diff --git a/themes/default_admin/images/arrows-ffffff.png b/themes/default_admin/images/arrows-ffffff.png Binary files differnew file mode 100644 index 00000000..995df520 --- /dev/null +++ b/themes/default_admin/images/arrows-ffffff.png diff --git a/themes/default_admin/images/ico-draggable.png b/themes/default_admin/images/ico-draggable.png Binary files differnew file mode 100644 index 00000000..2fb361f2 --- /dev/null +++ b/themes/default_admin/images/ico-draggable.png diff --git a/themes/default_admin/images/ico-error.png b/themes/default_admin/images/ico-error.png Binary files differnew file mode 100755 index 00000000..c37bd062 --- /dev/null +++ b/themes/default_admin/images/ico-error.png diff --git a/themes/default_admin/images/ico-help.png b/themes/default_admin/images/ico-help.png Binary files differnew file mode 100755 index 00000000..5c870176 --- /dev/null +++ b/themes/default_admin/images/ico-help.png diff --git a/themes/default_admin/images/ico-info.png b/themes/default_admin/images/ico-info.png Binary files differnew file mode 100755 index 00000000..12cd1aef --- /dev/null +++ b/themes/default_admin/images/ico-info.png diff --git a/themes/default_admin/images/ico-success.png b/themes/default_admin/images/ico-success.png Binary files differnew file mode 100755 index 00000000..a9925a06 --- /dev/null +++ b/themes/default_admin/images/ico-success.png diff --git a/themes/default_admin/images/ico-warning.png b/themes/default_admin/images/ico-warning.png Binary files differnew file mode 100755 index 00000000..628cf2da --- /dev/null +++ b/themes/default_admin/images/ico-warning.png diff --git a/themes/default_admin/images/logo.png b/themes/default_admin/images/logo.png Binary files differnew file mode 100644 index 00000000..7d7b9b9b --- /dev/null +++ b/themes/default_admin/images/logo.png diff --git a/themes/default_admin/jquery/superfish-navbar.css b/themes/default_admin/jquery/superfish-navbar.css new file mode 100644 index 00000000..68c71358 --- /dev/null +++ b/themes/default_admin/jquery/superfish-navbar.css @@ -0,0 +1,93 @@ + +/*** adding the class sf-navbar in addition to sf-menu creates an all-horizontal nav-bar menu ***/ +.sf-navbar { + background: #BDD2FF; + height: 2.5em; + padding-bottom: 2.5em; + position: relative; +} +.sf-navbar li { + background: #AABDE6; + position: static; +} +.sf-navbar a { + border-top: none; +} +.sf-navbar li ul { + width: 44em; /*IE6 soils itself without this*/ +} +.sf-navbar li li { + background: #BDD2FF; + position: relative; +} +.sf-navbar li li ul { + width: 13em; +} +.sf-navbar li li li { + width: 100%; +} +.sf-navbar ul li { + width: auto; + float: left; +} +.sf-navbar a, .sf-navbar a:visited { + border: none; +} +.sf-navbar li.current { + background: #BDD2FF; +} +.sf-navbar li:hover, +.sf-navbar li.sfHover, +.sf-navbar li li.current, +.sf-navbar a:focus, .sf-navbar a:hover, .sf-navbar a:active { + background: #BDD2FF; +} +.sf-navbar ul li:hover, +.sf-navbar ul li.sfHover, +ul.sf-navbar ul li:hover li, +ul.sf-navbar ul li.sfHover li, +.sf-navbar ul a:focus, .sf-navbar ul a:hover, .sf-navbar ul a:active { + background: #D1DFFF; +} +ul.sf-navbar li li li:hover, +ul.sf-navbar li li li.sfHover, +.sf-navbar li li.current li.current, +.sf-navbar ul li li a:focus, .sf-navbar ul li li a:hover, .sf-navbar ul li li a:active { + background: #E6EEFF; +} +ul.sf-navbar .current ul, +ul.sf-navbar ul li:hover ul, +ul.sf-navbar ul li.sfHover ul { + left: 0; + top: 2.5em; /* match top ul list item height */ +} +ul.sf-navbar .current ul ul { + top: -999em; +} + +.sf-navbar li li.current > a { + font-weight: bold; +} + +/*** point all arrows down ***/ +/* point right for anchors in subs */ +.sf-navbar ul .sf-sub-indicator { background-position: -10px -100px; } +.sf-navbar ul a > .sf-sub-indicator { background-position: 0 -100px; } +/* apply hovers to modern browsers */ +.sf-navbar ul a:focus > .sf-sub-indicator, +.sf-navbar ul a:hover > .sf-sub-indicator, +.sf-navbar ul a:active > .sf-sub-indicator, +.sf-navbar ul li:hover > a > .sf-sub-indicator, +.sf-navbar ul li.sfHover > a > .sf-sub-indicator { + background-position: -10px -100px; /* arrow hovers for modern browsers*/ +} + +/*** remove shadow on first submenu ***/ +.sf-navbar > li > ul { + background: transparent; + padding: 0; + -moz-border-radius-bottomleft: 0; + -moz-border-radius-topright: 0; + -webkit-border-top-right-radius: 0; + -webkit-border-bottom-left-radius: 0; +}
\ No newline at end of file diff --git a/themes/default_admin/jquery/superfish.css b/themes/default_admin/jquery/superfish.css new file mode 100644 index 00000000..e87756b2 --- /dev/null +++ b/themes/default_admin/jquery/superfish.css @@ -0,0 +1,136 @@ + +/*** ESSENTIAL STYLES ***/ +.sf-menu, .sf-menu * { + margin: 0; + padding: 0; + list-style: none; +} +.sf-menu { + line-height: 1.0; +} +.sf-menu ul { + position: absolute; + top: -999em; + width: 10em; /* left offset of submenus need to match (see below) */ +} +.sf-menu ul li { + width: 100%; +} +.sf-menu li:hover { + visibility: inherit; /* fixes IE7 'sticky bug' */ +} +.sf-menu li { + float: left; + position: relative; +} +.sf-menu a { + display: block; + position: relative; +} +.sf-menu li:hover ul, +.sf-menu li.sfHover ul { + left: 0; + top: 2.5em; /* match top ul list item height */ + z-index: 99; +} +ul.sf-menu li:hover li ul, +ul.sf-menu li.sfHover li ul { + top: -999em; +} +ul.sf-menu li li:hover ul, +ul.sf-menu li li.sfHover ul { + left: 10em; /* match ul width */ + top: 0; +} +ul.sf-menu li li:hover li ul, +ul.sf-menu li li.sfHover li ul { + top: -999em; +} +ul.sf-menu li li li:hover ul, +ul.sf-menu li li li.sfHover ul { + left: 10em; /* match ul width */ + top: 0; +} + +/*** DEMO SKIN ***/ +.sf-menu { + float: left; + margin-bottom: 1em; +} +.sf-menu a { + border-left: 1px solid #fff; + border-top: 1px solid #CFDEFF; + padding: .75em 1em; + text-decoration: none; +} +.sf-menu a, .sf-menu a:visited { /* visited pseudo selector so IE6 applies text colour*/ + color: #13a; +} +.sf-menu li { + background: #BDD2FF; +} +.sf-menu li li { + background: #AABDE6; +} +.sf-menu li li li { + background: #9AAEDB; +} +.sf-menu li:hover, .sf-menu li.sfHover, +.sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active { + background: #CFDEFF; + outline: 0; +} + +/*** arrows **/ +.sf-menu a.sf-with-ul { + padding-right: 2.25em; + min-width: 1px; /* trigger IE7 hasLayout so spans position accurately */ +} +.sf-sub-indicator { + position: absolute; + display: block; + right: .75em; + top: 1.05em; /* IE6 only */ + width: 10px; + height: 10px; + text-indent: -999em; + overflow: hidden; + background: url('../images/arrows-ffffff.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */ +} +a > .sf-sub-indicator { /* give all except IE6 the correct values */ + top: .8em; + background-position: 0 -100px; /* use translucent arrow for modern browsers*/ +} +/* apply hovers to modern browsers */ +a:focus > .sf-sub-indicator, +a:hover > .sf-sub-indicator, +a:active > .sf-sub-indicator, +li:hover > a > .sf-sub-indicator, +li.sfHover > a > .sf-sub-indicator { + background-position: -10px -100px; /* arrow hovers for modern browsers*/ +} + +/* point right for anchors in subs */ +.sf-menu ul .sf-sub-indicator { background-position: -10px 0; } +.sf-menu ul a > .sf-sub-indicator { background-position: 0 0; } +/* apply hovers to modern browsers */ +.sf-menu ul a:focus > .sf-sub-indicator, +.sf-menu ul a:hover > .sf-sub-indicator, +.sf-menu ul a:active > .sf-sub-indicator, +.sf-menu ul li:hover > a > .sf-sub-indicator, +.sf-menu ul li.sfHover > a > .sf-sub-indicator { + background-position: -10px 0; /* arrow hovers for modern browsers*/ +} + +/*** shadows for all but IE6 ***/ +.sf-shadow ul { + background: url('../images/shadow.png') no-repeat bottom right; + padding: 0 8px 9px 0; + -moz-border-radius-bottomleft: 17px; + -moz-border-radius-topright: 17px; + -webkit-border-top-right-radius: 17px; + -webkit-border-bottom-left-radius: 17px; +} +.sf-shadow ul.sf-shadow-off { + background: transparent; +} diff --git a/themes/default_admin/jquery/superfish.js b/themes/default_admin/jquery/superfish.js new file mode 100644 index 00000000..c6a9c7de --- /dev/null +++ b/themes/default_admin/jquery/superfish.js @@ -0,0 +1,121 @@ + +/* + * Superfish v1.4.8 - jQuery menu widget + * Copyright (c) 2008 Joel Birch + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt + */ + +;(function($){ + $.fn.superfish = function(op){ + + var sf = $.fn.superfish, + c = sf.c, + $arrow = $(['<span class="',c.arrowClass,'"> »</span>'].join('')), + over = function(){ + var $$ = $(this), menu = getMenu($$); + clearTimeout(menu.sfTimer); + $$.showSuperfishUl().siblings().hideSuperfishUl(); + }, + out = function(){ + var $$ = $(this), menu = getMenu($$), o = sf.op; + clearTimeout(menu.sfTimer); + menu.sfTimer=setTimeout(function(){ + o.retainPath=($.inArray($$[0],o.$path)>-1); + $$.hideSuperfishUl(); + if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);} + },o.delay); + }, + getMenu = function($menu){ + var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0]; + sf.op = sf.o[menu.serial]; + return menu; + }, + addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); }; + + return this.each(function() { + var s = this.serial = sf.o.length; + var o = $.extend({},sf.defaults,op); + o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){ + $(this).addClass([o.hoverClass,c.bcClass].join(' ')) + .filter('li:has(ul)').removeClass(o.pathClass); + }); + sf.o[s] = sf.op = o; + + $('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() { + if (o.autoArrows) addArrow( $('>a:first-child',this) ); + }) + .not('.'+c.bcClass) + .hideSuperfishUl(); + + var $a = $('a',this); + $a.each(function(i){ + var $li = $a.eq(i).parents('li'); + $a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);}); + }); + o.onInit.call(this); + + }).each(function() { + var menuClasses = [c.menuClass]; + if (sf.op.dropShadows && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass); + $(this).addClass(menuClasses.join(' ')); + }); + }; + + var sf = $.fn.superfish; + sf.o = []; + sf.op = {}; + sf.IE7fix = function(){ + var o = sf.op; + if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined) + this.toggleClass(sf.c.shadowClass+'-off'); + }; + sf.c = { + bcClass : 'sf-breadcrumb', + menuClass : 'sf-js-enabled', + anchorClass : 'sf-with-ul', + arrowClass : 'sf-sub-indicator', + shadowClass : 'sf-shadow' + }; + sf.defaults = { + hoverClass : 'sfHover', + pathClass : 'overideThisToUse', + pathLevels : 1, + delay : 800, + animation : {opacity:'show'}, + speed : 'normal', + autoArrows : true, + dropShadows : true, + disableHI : false, // true disables hoverIntent detection + onInit : function(){}, // callback functions + onBeforeShow: function(){}, + onShow : function(){}, + onHide : function(){} + }; + $.fn.extend({ + hideSuperfishUl : function(){ + var o = sf.op, + not = (o.retainPath===true) ? o.$path : ''; + o.retainPath = false; + var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass) + .find('>ul').hide().css('visibility','hidden'); + o.onHide.call($ul); + return this; + }, + showSuperfishUl : function(){ + var o = sf.op, + sh = sf.c.shadowClass+'-off', + $ul = this.addClass(o.hoverClass) + .find('>ul:hidden').css('visibility','visible'); + sf.IE7fix.call($ul); + o.onBeforeShow.call($ul); + $ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); }); + return this; + } + }); + +})(jQuery); diff --git a/themes/default_admin/views/admin.html.php b/themes/default_admin/views/admin.html.php index 0d1f8e28..8b3cede3 100644 --- a/themes/default_admin/views/admin.html.php +++ b/themes/default_admin/views/admin.html.php @@ -6,24 +6,24 @@ <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <title>G3: Admin Dashboard</title> <link rel="stylesheet" href="<?= url::file("lib/yui/reset-fonts-grids.css") ?>" type="text/css" media="screen,projection"> - <link rel="stylesheet" href="<?= $item_theme->url("css/screen.css") ?>" type="text/css" media="screen,projection"> + <link rel="stylesheet" href="<?= $theme->url("css/screen.css") ?>" type="text/css" media="screen,projection"> <script src="<?= url::file("lib/jquery.js") ?>"></script> <script src="<?= url::file("lib/jquery-ui.packed.js") ?>"></script> - <link rel="stylesheet" href="<?= $item_theme->url("jquery/superfish.css") ?>" type="text/css" media="screen,projection"> - <link rel="stylesheet" href="<?= $item_theme->url("jquery/superfish-navbar.css") ?>" type="text/css" media="screen,projection"> - <script src="<?= $item_theme->url("jquery/superfish.js") ?>"></script> - <script type="text/javascript"> + <link rel="stylesheet" href="<?= $theme->url("jquery/superfish.css") ?>" type="text/css" media="screen,projection"> + <link rel="stylesheet" href="<?= $theme->url("jquery/superfish-navbar.css") ?>" type="text/css" media="screen,projection"> + <script src="<?= $theme->url("jquery/superfish.js") ?>"></script> + <script type="text/javascript"> $(document).ready(function(){ - $("ul.sf-menu").superfish({ - pathClass: 'current' + $("ul.sf-menu").superfish({ + pathClass: 'current' }); - $("#gSiteAdminMenu li[id]").click(function(event) { - $("#gContent").load("admin/subpage", {name: this.id}); - return false; + $("#gSiteAdminMenu li a").click(function(event) { + $("#gContent").load(this.href); + return false; }); - }); + }); </script> - + <style type="text/css"> #gSiteAdminMenu { clear: both; @@ -42,7 +42,7 @@ background-color: #e7e7e7; margin: -.4em; padding: .2em .6em; - background: #f4f4f4 url('<?= $item_theme->url("images/ico-draggable.png") ?>') no-repeat center right; + background: #f4f4f4 url('<?= $theme->url("images/ico-draggable.png") ?>') no-repeat center right; cursor: move; } .gClose { @@ -59,7 +59,7 @@ text-decoration: none; } #gPhotoStream .gBlockContent { - overflow: scroll; + overflow: scroll; } </style> </head> @@ -72,9 +72,11 @@ <li><?= html::anchor("albums/1", "Browse Gallery") ?></li> <li id="gLogoutLink"><a href="<?= url::site("logout?continue=albums/1") ?>">Logout</a></li> </ul> - <img src="<?= $item_theme->url("images/logo.png") ?>" id="gLogo" alt="Gallery 3: Your Photos on Your Web Site" /> + <img src="<?= $theme->url("images/logo.png") ?>" id="gLogo" alt="Gallery 3: Your Photos on Your Web Site" /> <ul id="gSiteAdminMenu" class="sf-menu sf-navbar"> - <li id="dashboard"><a href="#">Dashboard</a><li> + <li id="dashboard"> + <a href="<?= url::site("admin/dashboard") ?>">Dashboard</a> + <li> <li><a href="#">General Settings</a><li> <li class="current"><a href="#">Content</a> <ul> @@ -95,7 +97,7 @@ </li> <li><a href="#">Users/Groups</a> <ul> - <li id="list_users"><a href="#">List Users</a></li> + <li><a href="<?= url::site("admin/users") ?>">List Users</a></li> <li><a href="#">Create new user</a><li> <li><a href="#">Edit Profile</a></li> </ul> @@ -112,12 +114,12 @@ <div id="yui-main"> <div class="yui-b"> <div id="gContent" class="yui-g"> - <?= $theme->display($subpage); ?> + <?= $content ?> </div> </div> </div> <div id="gSidebar" class="yui-b"> - + <div id="gAvailableBlocks" class="gBlock"> <a href="" class="gClose">X</a> <form class="gBlockContent"> @@ -131,7 +133,7 @@ </fieldset> </form> </div> - + <div id="gPlatform" class="gBlock"> <a href="" class="gClose">X</a> <h2>Gallery Stats</h2> @@ -140,7 +142,7 @@ <li>Your gallery has 34 albums containing 603 photos with 26 comments.</li> </ul> </div> - + <div id="gPlatform" class="gBlock"> <a href="" class="gClose">X</a> <h2>Platform Information</h2> @@ -165,14 +167,14 @@ <li>ImageMagick 1.6</li> <li>GD</li> <li>FFMPEG</li> - </ul> + </ul> </li> </ul> </li> </ul> <p class="gWarning">^ Display as a tree widget</p> </div> - + <div id="gProjectNews" class="gBlock"> <a href="" class="gClose">X</a> <h2>Gallery Project News</h2> @@ -182,7 +184,7 @@ <li>4-Feb <a href="#">Gallery 3.0 released!</a></li> </ul> </div> - + </div> </div> <div id="ft"> @@ -193,4 +195,4 @@ </div> </body> -</html>
\ No newline at end of file +</html> diff --git a/themes/default_admin/views/list_users.html.php b/themes/default_admin/views/users.html.php index 409cacc5..409cacc5 100644 --- a/themes/default_admin/views/list_users.html.php +++ b/themes/default_admin/views/users.html.php |