Set up userbar to work with Foundation based framework
This commit is contained in:
parent
4d718abda3
commit
48180d582a
@ -23,7 +23,8 @@ package ORB::Userbar;
|
||||
|
||||
use strict;
|
||||
use parent qw(ORB);
|
||||
use v5.12;
|
||||
use experimental qw(smartmatch);
|
||||
use v5.14;
|
||||
|
||||
|
||||
# ==============================================================================
|
||||
@ -46,41 +47,56 @@ sub block_display {
|
||||
|
||||
$self -> clear_error();
|
||||
|
||||
my $loginurl = $self -> build_url(block => "login",
|
||||
my $urls = { "signin" => $self -> build_url(block => "login",
|
||||
fullurl => 1,
|
||||
pathinfo => [],
|
||||
params => {},
|
||||
forcessl => 1);
|
||||
|
||||
my $fronturl = $self -> build_url(block => $self -> {"settings"} -> {"config"} -> {"default_block"},
|
||||
forcessl => 1),
|
||||
"signout" => $self -> build_url(block => "login",
|
||||
fullurl => 1,
|
||||
pathinfo => [ "logout" ],
|
||||
params => {},
|
||||
forcessl => 1),
|
||||
"signup" => $self -> build_url(block => "login",
|
||||
fullurl => 1,
|
||||
pathinfo => [ "signup" ],
|
||||
params => {},
|
||||
forcessl => 1),
|
||||
"front" => $self -> build_url(block => $self -> {"settings"} -> {"config"} -> {"default_block"},
|
||||
fullurl => 1,
|
||||
pathinfo => [],
|
||||
params => {});
|
||||
params => {})
|
||||
};
|
||||
|
||||
# Initialise fragments to sane "logged out" defaults.
|
||||
my ($userprofile) =
|
||||
($self -> {"template"} -> load_template("userbar/profile_loggedout_http".($ENV{"HTTPS"} eq "on" ? "s" : "").".tem", {"%(url-login)s" => $loginurl}),
|
||||
);
|
||||
my $userprofile;
|
||||
|
||||
# Is the user logged in?
|
||||
if(!$self -> {"session"} -> anonymous_session()) {
|
||||
my $user = $self -> {"session"} -> get_user_byid()
|
||||
or return $self -> self_error("Unable to obtain user data for logged in user. This should not happen!");
|
||||
|
||||
$import = $self -> {"template"} -> load_template("userbar/import_enabled.tem" , {"%(url-import)s" => $self -> build_url(block => "import", pathinfo => [])})
|
||||
if($self -> check_permission("import") && $current ne "import");
|
||||
|
||||
# User is logged in, so actually reflect their current options and state
|
||||
$userprofile = $self -> {"template"} -> load_template("userbar/profile_loggedin.tem", {"%(realname)s" => $user -> {"fullname"},
|
||||
$userprofile = $self -> {"template"} -> load_template("userbar/profile_signedin.tem",
|
||||
{ "%(realname)s" => $user -> {"fullname"},
|
||||
"%(username)s" => $user -> {"username"},
|
||||
"%(gravhash)s" => $user -> {"gravatar_hash"},
|
||||
"%(url-logout)s" => $self -> build_url(block => "login" , pathinfo => ["logout"])});
|
||||
} # if(!$self -> {"session"} -> anonymous_session())
|
||||
"%(url-signout)s" => $urls -> {"signout"},
|
||||
});
|
||||
|
||||
return $self -> {"template"} -> load_template("userbar/userbar.tem", {"%(pagename)s" => $title,
|
||||
"%(front_url)s" => $fronturl,
|
||||
"%(import)s" => $import,
|
||||
"%(doclink)s" => $docs,
|
||||
} else {
|
||||
my $signup = $self -> {"template"} -> load_template("userbar/profile_signup.tem")
|
||||
if($self -> {"settings"} -> {"config"} -> {"Login:allow_self_register"});
|
||||
|
||||
$userprofile = $self -> {"template"} -> load_template("userbar/profile_signedout.tem",
|
||||
{ "%(signup)s" => $signup,
|
||||
"%(url-signin)s" => $urls -> {"signin"},
|
||||
"%(url-signup)s" => $urls -> {"signup"},
|
||||
});
|
||||
}
|
||||
|
||||
return $self -> {"template"} -> load_template("userbar/userbar.tem",
|
||||
{ "%(pagename)s" => $title,
|
||||
"%(url-front)s" => $urls -> {"front"},
|
||||
"%(profile)s" => $userprofile});
|
||||
}
|
||||
|
||||
|
4
templates/default/userbar/profile_signedout.tem
Normal file
4
templates/default/userbar/profile_signedout.tem
Normal file
@ -0,0 +1,4 @@
|
||||
<ul class="menu">
|
||||
%(signup)s
|
||||
<li><a class="button" href="%(url-signin)s">Sign in</a></li>
|
||||
</ul>
|
1
templates/default/userbar/profile_signup.tem
Normal file
1
templates/default/userbar/profile_signup.tem
Normal file
@ -0,0 +1 @@
|
||||
<li><a class="button" href="%(url-signup)s">Sign up</a></li>
|
@ -1,9 +1,12 @@
|
||||
<div class="top-bar">
|
||||
<div class="top-bar-title"><span class="title">%(title)s</span></div>
|
||||
<div class="top-bar-right">
|
||||
<div class="top-bar-left">
|
||||
<ul class="menu">
|
||||
<li><a class="button success">Sign up</a></li>
|
||||
<li><a class="button">Sign in</a></li>
|
||||
<li class="hide-for-medium"><button id="menubtn" class="menu-icon dark" type="button" data-open="offCanvas"></button></li>
|
||||
<li><a href="%(url-front)s"><i class="fa fa-book fa-lg" style="color: #000"></i></a></li>
|
||||
<li><input type="search" placeholder="Search"></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="top-bar-right show-for-medium">
|
||||
%(profile)s
|
||||
</div>
|
||||
</div>
|
Loading…
x
Reference in New Issue
Block a user