]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/action.php
Fixed: If the site name contains "." or "@" (and perhaps others), then notification...
[quix0rs-gnu-social.git] / lib / action.php
index fc123a6332933976e2b064a608467847645b35a3..95ee10c642b0ec22bfd7d755144d031d958fba7e 100644 (file)
@@ -124,7 +124,6 @@ class Action extends HTMLOutputter // lawsuit
         $this->showShortcutIcon();
         $this->showStylesheets();
         $this->showScripts();
-        $this->showRelationshipLinks();
         $this->showOpenSearch();
         $this->showFeeds();
         $this->showDescription();
@@ -248,7 +247,6 @@ class Action extends HTMLOutputter // lawsuit
                                                'src' => common_path('js/jquery.joverlay.min.js')),
                                ' ');
 
-
                 Event::handle('EndShowJQueryScripts', array($this));
             }
             if (Event::handle('StartShowLaconicaScripts', array($this))) {
@@ -267,19 +265,6 @@ class Action extends HTMLOutputter // lawsuit
         }
     }
 
-    /**
-     * Show document relationship links
-     *
-     * SHOULD overload
-     *
-     * @return nothing
-     */
-    function showRelationshipLinks()
-    {
-        // output <link> elements with appropriate HTML4.01 link types:
-        // http://www.w3.org/TR/html401/types.html#type-links
-    }
-
     /**
      * Show OpenSearch headers
      *
@@ -353,7 +338,7 @@ class Action extends HTMLOutputter // lawsuit
     {
         $this->elementStart('body', (common_current_user()) ? array('id' => $this->trimmed('action'),
                                                                     'class' => 'user_in')
-                                                            : array('id' => $this->trimmed('action')));
+                            : array('id' => $this->trimmed('action')));
         $this->elementStart('div', array('id' => 'wrap'));
         if (Event::handle('StartShowHeader', array($this))) {
             $this->showHeader();
@@ -398,15 +383,18 @@ class Action extends HTMLOutputter // lawsuit
     {
         $this->elementStart('address', array('id' => 'site_contact',
                                              'class' => 'vcard'));
-        $this->elementStart('a', array('class' => 'url home bookmark',
-                                       'href' => common_local_url('public')));
-        if (common_config('site', 'logo') || file_exists(theme_file('logo.png'))) {
-            $this->element('img', array('class' => 'logo photo',
-                                        'src' => (common_config('site', 'logo')) ? common_config('site', 'logo') : theme_path('logo.png'),
-                                        'alt' => common_config('site', 'name')));
+        if (Event::handle('StartAddressData', array($this))) {
+            $this->elementStart('a', array('class' => 'url home bookmark',
+                                           'href' => common_local_url('public')));
+            if (common_config('site', 'logo') || file_exists(theme_file('logo.png'))) {
+                $this->element('img', array('class' => 'logo photo',
+                                            'src' => (common_config('site', 'logo')) ? common_config('site', 'logo') : theme_path('logo.png'),
+                                            'alt' => common_config('site', 'name')));
+            }
+            $this->element('span', array('class' => 'fn org'), common_config('site', 'name'));
+            $this->elementEnd('a');
+            Event::handle('EndAddressData', array($this));
         }
-        $this->element('span', array('class' => 'fn org'), common_config('site', 'name'));
-        $this->elementEnd('a');
         $this->elementEnd('address');
     }
 
@@ -436,11 +424,13 @@ class Action extends HTMLOutputter // lawsuit
                     $this->menuItem(common_local_url('smssettings'),
                                     _('Connect'), _('Connect to SMS, Twitter'), false, 'nav_connect');
                 }
-                $this->menuItem(common_local_url('invite'),
-                                 _('Invite'),
-                                 sprintf(_('Invite friends and colleagues to join you on %s'),
-                                 common_config('site', 'name')),
-                                 false, 'nav_invitecontact');
+                if (common_config('invite', 'enabled')) {
+                    $this->menuItem(common_local_url('invite'),
+                                    _('Invite'),
+                                    sprintf(_('Invite friends and colleagues to join you on %s'),
+                                            common_config('site', 'name')),
+                                    false, 'nav_invitecontact');
+                }
                 $this->menuItem(common_local_url('logout'),
                                 _('Logout'), _('Logout from the site'), false, 'nav_logout');
             }
@@ -449,8 +439,6 @@ class Action extends HTMLOutputter // lawsuit
                     $this->menuItem(common_local_url('register'),
                                     _('Register'), _('Create an account'), false, 'nav_register');
                 }
-                $this->menuItem(common_local_url('openidlogin'),
-                                _('OpenID'), _('Login with OpenID'), false, 'nav_openid');
                 $this->menuItem(common_local_url('login'),
                                 _('Login'), _('Login to the site'), false, 'nav_login');
             }
@@ -589,17 +577,32 @@ class Action extends HTMLOutputter // lawsuit
     /**
      * Show page notice block.
      *
+     * Only show the block if a subclassed action has overrided
+     * Action::showPageNotice(), or an event handler is registered for
+     * the StartShowPageNotice event, in which case we assume the
+     * 'page_notice' definition list is desired.  This is to prevent
+     * empty 'page_notice' definition lists from being output everywhere.
+     *
      * @return nothing
      */
     function showPageNoticeBlock()
     {
-        $this->elementStart('dl', array('id' => 'page_notice',
-                                        'class' => 'system_notice'));
-        $this->element('dt', null, _('Page notice'));
-        $this->elementStart('dd');
-        $this->showPageNotice();
-        $this->elementEnd('dd');
-        $this->elementEnd('dl');
+        $rmethod = new ReflectionMethod($this, 'showPageNotice');
+        $dclass = $rmethod->getDeclaringClass()->getName();
+
+        if ($dclass != 'Action' || Event::hasHandler('StartShowPageNotice')) {
+
+            $this->elementStart('dl', array('id' => 'page_notice',
+                                            'class' => 'system_notice'));
+            $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');
+        }
     }
 
     /**
@@ -635,7 +638,7 @@ class Action extends HTMLOutputter // lawsuit
         $this->elementStart('div', array('id' => 'aside_primary',
                                          'class' => 'aside'));
         if (Event::handle('StartShowExportData', array($this))) {
-        $this->showExportData();
+            $this->showExportData();
             Event::handle('EndShowExportData', array($this));
         }
         if (Event::handle('StartShowSections', array($this))) {
@@ -703,6 +706,11 @@ class Action extends HTMLOutputter // lawsuit
                             _('About'));
             $this->menuItem(common_local_url('doc', array('title' => 'faq')),
                             _('FAQ'));
+            $bb = common_config('site', 'broughtby');
+            if (!empty($bb)) {
+                $this->menuItem(common_local_url('doc', array('title' => 'tos')),
+                                _('TOS'));
+            }
             $this->menuItem(common_local_url('doc', array('title' => 'privacy')),
                             _('Privacy'));
             $this->menuItem(common_local_url('doc', array('title' => 'source')),
@@ -764,7 +772,9 @@ class Action extends HTMLOutputter // lawsuit
         $this->elementStart('p');
         $this->element('img', array('id' => 'license_cc',
                                     'src' => common_config('license', 'image'),
-                                    'alt' => common_config('license', 'title')));
+                                    'alt' => common_config('license', 'title'),
+                                    'width' => '80',
+                                    'height' => '15'));
         //TODO: This is dirty: i18n
         $this->text(_('All '.common_config('site', 'name').' content and data are available under the '));
         $this->element('a', array('class' => 'license',
@@ -963,12 +973,16 @@ class Action extends HTMLOutputter // lawsuit
         $action = $this->trimmed('action');
         $args   = $this->args;
         unset($args['action']);
+        if (common_config('site', 'fancy')) {
+            unset($args['p']);
+        }
         if (array_key_exists('submit', $args)) {
             unset($args['submit']);
         }
         foreach (array_keys($_COOKIE) as $cookie) {
             unset($args[$cookie]);
         }
+
         return common_local_url($action, $args);
     }
 
@@ -1060,36 +1074,4 @@ class Action extends HTMLOutputter // lawsuit
     {
         return null;
     }
-
-    /**
-     * Generate document metadata for sequential navigation
-     *
-     * @param boolean $have_before is there something before?
-     * @param boolean $have_after  is there something after?
-     * @param integer $page        current page
-     * @param string  $action      current action
-     * @param array   $args        rest of query arguments
-     *
-     * @return nothing
-     */
-    function sequenceRelationships($have_next, $have_previous, $page, $action, $args=null)
-    {
-        // Outputs machine-readable pagination in <link> elements.
-        // Pattern taken from $this->pagination() method.
-
-        // "next" is equivalent to "after"
-        if ($have_next) {
-            $pargs   = array('page' => $page-1);
-            $this->element('link', array('rel' => 'next',
-                                         'href' => common_local_url($action, $args, $pargs),
-                                         'title' => _('Next')));
-        }
-        // "previous" is equivalent to "before"
-        if ($have_previous=true) { // FIXME
-            $pargs   = array('page' => $page+1);
-            $this->element('link', array('rel' => 'prev',
-                                         'href' => common_local_url($action, $args, $pargs),
-                                         'title' => _('Previous')));
-        }
-    }
 }