]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/action.php
Merge branch '0.8.x' of git@gitorious.org:+laconica-developers/laconica/dev into...
[quix0rs-gnu-social.git] / lib / action.php
index 3e43ffe3e3ee1427d53c571ee4fb52b639b31aa6..89a8c8f4d3aa1c5af24440a528f865db5287c6f9 100644 (file)
@@ -98,15 +98,15 @@ class Action extends HTMLOutputter // lawsuit
             Event::handle('EndShowHTML', array($this));
         }
         if (Event::handle('StartShowHead', array($this))) {
-        $this->showHead();
+            $this->showHead();
             Event::handle('EndShowHead', array($this));
         }
         if (Event::handle('StartShowBody', array($this))) {
-        $this->showBody();
+            $this->showBody();
             Event::handle('EndShowBody', array($this));
         }
         if (Event::handle('StartEndHTML', array($this))) {
-        $this->endHTML();
+            $this->endHTML();
             Event::handle('EndEndHTML', array($this));
         }
     }
@@ -124,7 +124,6 @@ class Action extends HTMLOutputter // lawsuit
         $this->showShortcutIcon();
         $this->showStylesheets();
         $this->showScripts();
-        $this->showRelationshipLinks();
         $this->showOpenSearch();
         $this->showFeeds();
         $this->showDescription();
@@ -243,6 +242,12 @@ class Action extends HTMLOutputter // lawsuit
                 $this->element('script', array('type' => 'text/javascript',
                                                'src' => common_path('js/jquery.form.js')),
                                ' ');
+
+                $this->element('script', array('type' => 'text/javascript',
+                                               'src' => common_path('js/jquery.joverlay.min.js')),
+                               ' ');
+
+
                 Event::handle('EndShowJQueryScripts', array($this));
             }
             if (Event::handle('StartShowLaconicaScripts', array($this))) {
@@ -261,19 +266,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
      *
@@ -347,7 +339,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();
@@ -431,10 +423,10 @@ class Action extends HTMLOutputter // lawsuit
                                     _('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');
+                                _('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');
             }
@@ -583,17 +575,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');
+        }
     }
 
     /**
@@ -629,7 +636,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))) {
@@ -1054,36 +1061,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')));
-        }
-    }
 }