if (Event::handle('StartShowScripts', array($this))) {
if (Event::handle('StartShowJQueryScripts', array($this))) {
$this->script('jquery.min.js');
- $this->script('jquery.form.js');
- $this->script('jquery.cookie.js');
- $this->inlineScript('if (typeof window.JSON !== "object") { $.getScript("'.common_path('js/json2.js').'"); }');
+ $this->script('jquery.form.min.js');
+ $this->script('jquery.cookie.min.js');
+ $this->inlineScript('if (typeof window.JSON !== "object") { $.getScript("'.common_path('js/json2.min.js').'"); }');
$this->script('jquery.joverlay.min.js');
Event::handle('EndShowJQueryScripts', array($this));
}
if (Event::handle('StartShowStatusNetScripts', array($this)) &&
Event::handle('StartShowLaconicaScripts', array($this))) {
- $this->script('util.js');
+ $this->script('util.min.js');
$this->showScriptMessages();
// Frame-busting code to avoid clickjacking attacks.
$this->inlineScript('if (window.top !== window.self) { window.top.location.href = window.self.location.href; }');
* events and appending to the array. Try to avoid adding strings that won't be used, as
* they'll be added to HTML output.
*/
+
function showScriptMessages()
{
$messages = array();
+
if (Event::handle('StartScriptMessages', array($this, &$messages))) {
// Common messages needed for timeline views etc...
$messages['showmore_tooltip'] = _m('TOOLTIP', 'Show more');
$messages = array_merge($messages, $this->getScriptMessages());
+
+ Event::handle('EndScriptMessages', array($this, &$messages));
}
- if ($messages) {
+
+ if (!empty($messages)) {
$this->inlineScript('SN.messages=' . json_encode($messages));
}
- Event::handle('EndScriptMessages', array($this, &$messages));
+
return $messages;
}
$user = User::singleUser();
$url = common_local_url('showstream',
array('nickname' => $user->nickname));
+ } else if (common_logged_in()) {
+ $cur = common_current_user();
+ $url = common_local_url('all', array('nickname' => $cur->nickname));
} else {
$url = common_local_url('public');
}
+
$this->elementStart('a', array('class' => 'url home bookmark',
'href' => $url));
$this->text(' ');
$this->element('span', array('class' => 'fn org'), common_config('site', 'name'));
$this->elementEnd('a');
+
Event::handle('EndAddressData', array($this));
}
$this->elementEnd('address');
function showPrimaryNav()
{
$user = common_current_user();
- $this->elementStart('dl', array('id' => 'site_nav_global_primary'));
- // TRANS: DT element for primary navigation menu. String is hidden in default CSS.
- $this->element('dt', null, _('Primary site navigation'));
- $this->elementStart('dd');
- $this->elementStart('ul', array('class' => 'nav'));
+ $this->elementStart('ul', array('class' => 'nav',
+ 'id' => 'site_nav_global_primary'));
if (Event::handle('StartPrimaryNav', array($this))) {
- if ($user) {
- // TRANS: Tooltip for main menu option "Personal"
- $tooltip = _m('TOOLTIP', 'Personal profile and friends timeline');
- $this->menuItem(common_local_url('all', array('nickname' => $user->nickname)),
- // TRANS: Main menu option when logged in for access to personal profile and friends timeline
- _m('MENU', 'Personal'), $tooltip, false, 'nav_home');
- // TRANS: Tooltip for main menu option "Account"
- $tooltip = _m('TOOLTIP', 'Change your email, avatar, password, profile');
+ if (!empty($user)) {
+ $this->menuItem(common_local_url('all',
+ array('nickname' => $user->nickname)),
+ _m('Home'),
+ _m('Friends timeline'),
+ false,
+ 'nav_home');
+ $this->menuItem(common_local_url('showstream',
+ array('nickname' => $user->nickname)),
+ _m('Profile'),
+ _m('Your profile'),
+ false,
+ 'nav_profile');
+ $this->menuItem(common_local_url('public'),
+ _m('Public'),
+ _m('Everyone on this site'),
+ false,
+ 'nav_public');
$this->menuItem(common_local_url('profilesettings'),
- // TRANS: Main menu option when logged in for access to user settings
- _('Account'), $tooltip, false, 'nav_account');
- // TRANS: Tooltip for main menu option "Services"
- $tooltip = _m('TOOLTIP', 'Connect to services');
- $this->menuItem(common_local_url('oauthconnectionssettings'),
- // TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
- _('Connect'), $tooltip, false, 'nav_connect');
+ _m('Settings'),
+ _m('Change your personal settings'),
+ false,
+ 'nav_account');
if ($user->hasRight(Right::CONFIGURESITE)) {
- // TRANS: Tooltip for menu option "Admin"
- $tooltip = _m('TOOLTIP', 'Change site configuration');
$this->menuItem(common_local_url('siteadminpanel'),
- // TRANS: Main menu option when logged in and site admin for access to site configuration
- _m('MENU', 'Admin'), $tooltip, false, 'nav_admin');
- }
- if (common_config('invite', 'enabled')) {
- // TRANS: Tooltip for main menu option "Invite"
- $tooltip = _m('TOOLTIP', 'Invite friends and colleagues to join you on %s');
- $this->menuItem(common_local_url('invite'),
- // TRANS: Main menu option when logged in and invitations are allowed for inviting new users
- _m('MENU', 'Invite'),
- sprintf($tooltip,
- common_config('site', 'name')),
- false, 'nav_invitecontact');
+ _m('Admin'),
+ _m('Site configuration'),
+ false,
+ 'nav_admin');
}
- // TRANS: Tooltip for main menu option "Logout"
- $tooltip = _m('TOOLTIP', 'Logout from the site');
$this->menuItem(common_local_url('logout'),
- // TRANS: Main menu option when logged in to log out the current user
- _m('MENU', 'Logout'), $tooltip, false, 'nav_logout');
- }
- else {
- if (!common_config('site', 'closed') && !common_config('site', 'inviteonly')) {
- // TRANS: Tooltip for main menu option "Register"
- $tooltip = _m('TOOLTIP', 'Create an account');
- $this->menuItem(common_local_url('register'),
- // TRANS: Main menu option when not logged in to register a new account
- _m('MENU', 'Register'), $tooltip, false, 'nav_register');
- }
- // TRANS: Tooltip for main menu option "Login"
- $tooltip = _m('TOOLTIP', 'Login to the site');
+ _m('Logout'),
+ _m('Logout from the site'),
+ false,
+ 'nav_logout');
+ } else {
+ $this->menuItem(common_local_url('public'),
+ _m('Public'),
+ _m('Everyone on this site'),
+ false,
+ 'nav_public');
$this->menuItem(common_local_url('login'),
- // TRANS: Main menu option when not logged in to log in
- _m('MENU', 'Login'), $tooltip, false, 'nav_login');
+ _m('Login'),
+ _m('Login to the site'),
+ false,
+ 'nav_login');
}
- // TRANS: Tooltip for main menu option "Help"
- $tooltip = _m('TOOLTIP', 'Help me!');
- $this->menuItem(common_local_url('doc', array('title' => 'help')),
- // TRANS: Main menu option for help on the StatusNet site
- _m('MENU', 'Help'), $tooltip, false, 'nav_help');
- if ($user || !common_config('site', 'private')) {
- // TRANS: Tooltip for main menu option "Search"
- $tooltip = _m('TOOLTIP', 'Search for people or text');
- $this->menuItem(common_local_url('peoplesearch'),
- // TRANS: Main menu option when logged in or when the StatusNet instance is not private
- _m('MENU', 'Search'), $tooltip, false, 'nav_search');
+
+ if (!empty($user) || !common_config('site', 'private')) {
+ $this->menuItem(common_local_url('noticesearch'),
+ _m('Search'),
+ _m('Search the site'),
+ false,
+ 'nav_search');
}
+
Event::handle('EndPrimaryNav', array($this));
}
$this->elementEnd('ul');
- $this->elementEnd('dd');
- $this->elementEnd('dl');
}
/**
// Revist. Should probably do an hAtom pattern here
$text = common_config('site', 'notice');
if ($text) {
- $this->elementStart('dl', array('id' => 'site_notice',
+ $this->elementStart('div', array('id' => 'site_notice',
'class' => 'system_notice'));
- // TRANS: DT element for site notice. String is hidden in default CSS.
- $this->element('dt', null, _('Site notice'));
- $this->elementStart('dd', null);
$this->raw($text);
- $this->elementEnd('dd');
- $this->elementEnd('dl');
+ $this->elementEnd('div');
}
}
*/
function showLocalNavBlock()
{
- $this->elementStart('dl', array('id' => 'site_nav_local_views'));
- // TRANS: DT element for local views block. String is hidden in default CSS.
- $this->element('dt', null, _('Local views'));
- $this->elementStart('dd');
+ // Need to have this ID for CSS; I'm too lazy to add it to
+ // all menus
+ $this->elementStart('div', array('id' => 'site_nav_local_views'));
$this->showLocalNav();
- $this->elementEnd('dd');
- $this->elementEnd('dl');
+ $this->elementEnd('div');
}
/**
if ($dclass != 'Action' || Event::hasHandler('StartShowPageNotice')) {
- $this->elementStart('dl', array('id' => 'page_notice',
+ $this->elementStart('div', array('id' => 'page_notice',
'class' => 'system_notice'));
- // TRANS: DT element for page notice. String is hidden in default CSS.
- $this->element('dt', null, _('Page notice'));
- $this->elementStart('dd');
if (Event::handle('StartShowPageNotice', array($this))) {
$this->showPageNotice();
Event::handle('EndShowPageNotice', array($this));
}
- $this->elementEnd('dd');
- $this->elementEnd('dl');
+ $this->elementEnd('div');
}
}
*/
function showSecondaryNav()
{
- $this->elementStart('dl', array('id' => 'site_nav_global_secondary'));
- // TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
- $this->element('dt', null, _('Secondary site navigation'));
- $this->elementStart('dd', null);
- $this->elementStart('ul', array('class' => 'nav'));
+ $this->elementStart('ul', array('class' => 'nav',
+ 'id' => 'site_nav_global_secondary'));
if (Event::handle('StartSecondaryNav', array($this))) {
$this->menuItem(common_local_url('doc', array('title' => 'help')),
// TRANS: Secondary navigation menu option leading to help on StatusNet.
// TRANS: Secondary navigation menu option leading to privacy policy.
_('Privacy'));
$this->menuItem(common_local_url('doc', array('title' => 'source')),
- // TRANS: Secondary navigation menu option.
+ // TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
_('Source'));
$this->menuItem(common_local_url('version'),
// TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
_('Version'));
$this->menuItem(common_local_url('doc', array('title' => 'contact')),
- // TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
+ // TRANS: Secondary navigation menu option leading to e-mail contact information on the
+ // TRANS: StatusNet site, where to report bugs, ...
_('Contact'));
$this->menuItem(common_local_url('doc', array('title' => 'badge')),
- // TRANS: Secondary navigation menu option.
+ // TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
_('Badge'));
Event::handle('EndSecondaryNav', array($this));
}
$this->elementEnd('ul');
- $this->elementEnd('dd');
- $this->elementEnd('dl');
}
/**
*/
function showLicenses()
{
- $this->elementStart('dl', array('id' => 'licenses'));
$this->showStatusNetLicense();
$this->showContentLicense();
- $this->elementEnd('dl');
}
/**
*/
function showStatusNetLicense()
{
- // TRANS: DT element for StatusNet software license.
- $this->element('dt', array('id' => 'site_statusnet_license'), _('StatusNet software license'));
- $this->elementStart('dd', null);
if (common_config('site', 'broughtby')) {
// TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is set.
// TRANS: Text between [] is a link description, text between () is the link itself.
$instr .= sprintf(_('It runs the [StatusNet](http://status.net/) microblogging software, version %s, available under the [GNU Affero General Public License](http://www.fsf.org/licensing/licenses/agpl-3.0.html).'), STATUSNET_VERSION);
$output = common_markup_to_html($instr);
$this->raw($output);
- $this->elementEnd('dd');
// do it
}
function showContentLicense()
{
if (Event::handle('StartShowContentLicense', array($this))) {
- // TRANS: DT element for StatusNet site content license.
- $this->element('dt', array('id' => 'site_content_license'), _('Site content license'));
- $this->elementStart('dd', array('id' => 'site_content_license_cc'));
-
switch (common_config('license', 'type')) {
case 'private':
// TRANS: Content license displayed when license is set to 'private'.
break;
}
- $this->elementEnd('dd');
Event::handle('EndShowContentLicense', array($this));
}
}
{
// Does a little before-after block for next/prev page
if ($have_before || $have_after) {
- $this->elementStart('dl', 'pagination');
- // TRANS: DT element for pagination (previous/next, etc.).
- $this->element('dt', null, _('Pagination'));
- $this->elementStart('dd', null);
- $this->elementStart('ul', array('class' => 'nav'));
+ $this->elementStart('ul', array('class' => 'nav',
+ 'id' => 'pagination'));
}
if ($have_before) {
$pargs = array('page' => $page-1);
}
if ($have_before || $have_after) {
$this->elementEnd('ul');
- $this->elementEnd('dd');
- $this->elementEnd('dl');
}
}
$this->clientError(_('There was a problem with your session token.'));
}
}
+
+ /**
+ * Check if the current request is a POST
+ *
+ * @return boolean true if POST; otherwise false.
+ */
+
+ function isPost()
+ {
+ return ($_SERVER['REQUEST_METHOD'] == 'POST');
+ }
}