Cleanup phpdoc comments
[civicrm-core.git] / CRM / Utils / Pager.php
index 3b90bcc7dd568760d44192988c153fb5a8200086..feab68279a7c86bd8b63de3e6782af6abf979ee3 100644 (file)
@@ -1,9 +1,9 @@
 <?php
 /*
  +--------------------------------------------------------------------+
- | CiviCRM version 4.4                                                |
+ | CiviCRM version 4.5                                                |
  +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2013                                |
+ | Copyright CiviCRM LLC (c) 2004-2014                                |
  +--------------------------------------------------------------------+
  | This file is a part of CiviCRM.                                    |
  |                                                                    |
@@ -28,7 +28,7 @@
 /**
  *
  * @package CRM
- * @copyright CiviCRM LLC (c) 2004-2013
+ * @copyright CiviCRM LLC (c) 2004-2014
  * $Id$
  *
  */
  */
 
 require_once 'Pager/Sliding.php';
+
+/**
+ * Class CRM_Utils_Pager
+ */
 class CRM_Utils_Pager extends Pager_Sliding {
 
   /**
-   * constants for static parameters of the pager
+   * Constants for static parameters of the pager
    */
   CONST ROWCOUNT = 50, PAGE_ID = 'crmPID', PAGE_ID_TOP = 'crmPID', PAGE_ID_BOTTOM = 'crmPID_B', PAGE_ROWCOUNT = 'crmRowCount';
 
   /**
-   * the output of the pager. This is a name/value array with various keys
+   * The output of the pager. This is a name/value array with various keys
    * that an application could use to display the pager
    * @var array
    */
@@ -64,18 +68,17 @@ class CRM_Utils_Pager extends Pager_Sliding {
    * We have embedded some html in this class. Need to figure out how to export this
    * to the top level at some point in time
    *
-   * @param int     total        the total count of items to be displayed
-   * @param int     currentPage  the page currently being displayed
-   * @param string  status       the status message to be displayed. It embeds a token
+   * @param array $params
+   *
+   * @internal param \total $int the total count of items to be displayed
+   * @internal param \currentPage $int the page currently being displayed
+   * @internal param \status $string the status message to be displayed. It embeds a token
    *                             %%statusMessage%% that will be replaced with which items
    *                             are currently being displayed
-   * @param string  csvString    the title of the link to be displayed for the export
-   * @param int     perPage      the number of items displayed per page
-   *
-   * @return object              the newly created and initialized pager object
-   *
-   * @access public
+   * @internal param \csvString $string the title of the link to be displayed for the export
+   * @internal param \perPage $int the number of items displayed per page
    *
+   * @return \CRM_Utils_Pager the newly created and initialized pager object@access public
    */
   function __construct($params) {
     if ($params['status'] === NULL) {
@@ -126,7 +129,7 @@ class CRM_Utils_Pager extends Pager_Sliding {
   }
 
   /**
-   * helper function to assign remaining pager options as good default
+   * Helper function to assign remaining pager options as good default
    * values
    *
    * @param array   $params      the set of options needed to initialize the parent
@@ -187,11 +190,12 @@ class CRM_Utils_Pager extends Pager_Sliding {
    * POST over-rides a GET, a POST at the top overrides
    * a POST at the bottom (of the page)
    *
-   * @param int defaultPageId   current pageId
+   * @param int $defaultPageId defaultPageId   current pageId
+   *
+   * @param array $params
    *
    * @return int                new pageId to display to the user
    * @access public
-   *
    */
   function getPageID($defaultPageId = 1, &$params) {
     // POST has higher priority than GET vars
@@ -261,56 +265,58 @@ class CRM_Utils_Pager extends Pager_Sliding {
     return array($offset, $this->_perPage);
   }
 
+  /**
+   * @return string
+   */
   function getCurrentLocation() {
     $config = CRM_Core_Config::singleton();
     $path = CRM_Utils_Array::value($config->userFrameworkURLVar, $_GET);
     return CRM_Utils_System::url($path, CRM_Utils_System::getLinksUrl(self::PAGE_ID, FALSE, TRUE), FALSE, NULL, FALSE) . $this->getCurrentPageID();
   }
 
+  /**
+   * @return string
+   */
   function getFirstPageLink() {
     if ($this->isFirstPage()) {
       return '';
     }
-
     $href = $this->makeURL(self::PAGE_ID, 1);
-    return sprintf('<a class="crm-pager-link" href="%s" title="%s">%s</a>',
-      $href,
-      str_replace('%d', 1, $this->_altFirst),
-      $this->_firstPagePre . $this->_firstPageText . $this->_firstPagePost
-    ) . $this->_spacesBefore . $this->_spacesAfter;
+    return $this->formatLink($href, str_replace('%d', 1, $this->_altFirst), $this->_firstPagePre . $this->_firstPageText . $this->_firstPagePost) .
+      $this->_spacesBefore . $this->_spacesAfter;
   }
 
+  /**
+   * @return string
+   */
   function getLastPageLink() {
     if ($this->isLastPage()) {
       return '';
     }
-
     $href = $this->makeURL(self::PAGE_ID, $this->_totalPages);
-    return sprintf('<a class="crm-pager-link" href="%s" title="%s">%s</a>',
-      $href,
-      str_replace('%d', $this->_totalPages, $this->_altLast),
-      $this->_lastPagePre . $this->_lastPageText . $this->_lastPagePost
-    );
+    return $this->formatLink($href, str_replace('%d', $this->_totalPages, $this->_altLast), $this->_lastPagePre . $this->_lastPageText . $this->_lastPagePost);
   }
 
+  /**
+   * @return string
+   */
   function getBackPageLink() {
     if ($this->_currentPage > 1) {
       $href = $this->makeURL(self::PAGE_ID, $this->getPreviousPageID());
-      return sprintf('<a class="crm-pager-link" href="%s" title="%s">%s</a>',
-        $href,
-        $this->_altPrev, $this->_prevImg
-      ) . $this->_spacesBefore . $this->_spacesAfter;
+      return $this->formatLink($href, $this->_altPrev, $this->_prevImg) . $this->_spacesBefore . $this->_spacesAfter;
     }
     return '';
   }
 
+  /**
+   * @return string
+   */
   function getNextPageLink() {
     if ($this->_currentPage < $this->_totalPages) {
       $href = $this->makeURL(self::PAGE_ID, $this->getNextPageID());
-      return $this->_spacesAfter . sprintf('<a class="crm-pager-link" href="%s" title="%s">%s</a>',
-        $href,
-        $this->_altNext, $this->_nextImg
-      ) . $this->_spacesBefore . $this->_spacesAfter;
+      return $this->_spacesAfter .
+        $this->formatLink($href, $this->_altNext, $this->_nextImg) .
+        $this->_spacesBefore . $this->_spacesAfter;
     }
     return '';
   }
@@ -319,12 +325,23 @@ class CRM_Utils_Pager extends Pager_Sliding {
    * Build a url for pager links
    */
   function makeURL($key, $value) {
-    $href = CRM_Utils_System::makeURL($key);
+    $href = CRM_Utils_System::makeURL($key, TRUE);
     // CRM-12212 Remove alpha sort param
     if (strpos($href, '&amp;sortByCharacter=')) {
       $href = preg_replace('#(.*)\&amp;sortByCharacter=[^&]*(.*)#', '\1\2', $href);
     }
     return $href . $value;
   }
+
+  /**
+   * Output the html pager link
+   * @param string $href
+   * @param string $title
+   * @param string $image
+   * @return string
+   */
+  private function formatLink($href, $title, $image) {
+    return sprintf('<a class="crm-pager-link action-item crm-hover-button" href="%s" title="%s">%s</a>', $href, $title, $image);
+  }
 }