Add a user_menu method to the Admin_View and then use this method to get the

user menu.  Since the information displayed is identical in both admin and
theme views, it makes sense to combine the generation to it is done in a common
location.
This commit is contained in:
Tim Almdal
2010-01-23 13:29:49 -08:00
parent 06ef3885b3
commit abdeb21ccb
4 changed files with 17 additions and 16 deletions
+1 -2
View File
@@ -111,12 +111,11 @@ class gallery_event_Core {
->label(t("Login")));
} else {
$csrf = access::csrf_token();
$item = $theme->item();
$menu->append(Menu::factory("dialog")
->id("user_menu_edit_profile")
->css_id("g-user-profile-link")
->view("login_current_user.html")
->url(url::site("form/edit/users/{$user->id}"))
->url(url::site("form/edit/user/{$user->id}"))
->label($user->display_name()));
$menu->append(Menu::factory("link")
->id("user_menu_logout")
+10
View File
@@ -36,6 +36,8 @@ class Admin_View_Core extends Gallery_View {
$this->sidebar = "";
$this->set_global("theme", $this);
$this->set_global("user", identity::active_user());
$this->set_global("page_type", "admin");
$this->set_global("page_subtype", $name);
}
public function admin_menu() {
@@ -44,6 +46,14 @@ class Admin_View_Core extends Gallery_View {
return $menu->render();
}
public function user_menu() {
$menu = Menu::factory("root")
->css_id("g-login-menu")
->css_class("g-inline ui-helper-clear-fix");
module::event("user_menu", $menu, $this);
return $menu->render();
}
/**
* Print out any site wide status information.
*/
+5
View File
@@ -229,6 +229,7 @@ th {
#g-header #g-login-menu {
margin-top: 1em;
float: right;
}
/* View container ~~~~~~~~~~~~~~~~~~~~~~~~ */
@@ -473,6 +474,10 @@ th {
right: 150px;
}
.rtl #g-header #g-login-menu {
float: left;
}
.rtl #g-header #g-login-menu li {
margin-left: 0;
padding-left: 0;
+1 -14
View File
@@ -43,23 +43,10 @@
<?= $theme->site_status() ?>
<div id="g-header" class="ui-helper-clearfix">
<?= $theme->admin_header_top() ?>
<ul id="g-login-menu" class="g-inline g-right">
<li class="g-first">
<? if (identity::is_writable()): ?>
<?= t('Logged in as %name', array('name' => html::mark_clean(
'<a href="' . url::site("form/edit/users/{$user->id}") .
'" title="' . t("Edit your profile")->for_html_attr() .
'" id="g-user-profile-link" class="g-dialog-link">' .
html::clean($user->display_name()) . '</a>'))) ?>
<? else: ?>
<?= t('Logged in as %name', array('name' => html::clean($user->display_name()))) ?>
<? endif ?>
</li>
<li id="g-logout-link"><a href="<?= url::site("logout?csrf=$csrf&amp;continue=" . urlencode(item::root()->url())) ?>"><?= t("Logout") ?></a></li>
</ul>
<a id="g-logo" class="g-left" href="<?= item::root()->url() ?>" title="<?= t("go back to the Gallery")->for_html_attr() ?>">
&larr; <?= t("back to the ...") ?>
</a>
<?= $theme->user_menu() ?>
<div id="g-site-admin-menu" class="ui-helper-clearfix">
<?= $theme->admin_menu() ?>
</div>