formating fixes
[civicrm-core.git] / CRM / Mailing / Selector / Event.php
index deb18891178ed6a31293b441115bb055abee2a39..b9678bc9063b8a4c76bdcb079382d5e3fb4102da 100644 (file)
@@ -23,7 +23,7 @@
  | GNU Affero General Public License or the licensing of CiviCRM,     |
  | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
  +--------------------------------------------------------------------+
-*/
+ */
 
 /**
  *
@@ -45,7 +45,6 @@ class CRM_Mailing_Selector_Event extends CRM_Core_Selector_Base implements CRM_C
    * Array of supported links, currenly null
    *
    * @var array
-   * @static
    */
   static $_links = NULL;
 
@@ -82,7 +81,7 @@ class CRM_Mailing_Selector_Event extends CRM_Core_Selector_Base implements CRM_C
   public $_columnHeaders;
 
   /**
-   * Class constructor
+   * Class constructor.
    *
    * @param string $event
    *   The event type (queue/delivered/open...).
@@ -96,21 +95,19 @@ class CRM_Mailing_Selector_Event extends CRM_Core_Selector_Base implements CRM_C
    *   If the event type is a click-through, do we want only those from a specific url?.
    *
    * @return \CRM_Mailing_Selector_Event
-  @access public
    */
   public function __construct($event, $distinct, $mailing, $job = NULL, $url = NULL) {
-    $this->_event_type  = $event;
+    $this->_event_type = $event;
     $this->_is_distinct = $distinct;
-    $this->_mailing_id  = $mailing;
-    $this->_job_id      = $job;
-    $this->_url_id      = $url;
+    $this->_mailing_id = $mailing;
+    $this->_job_id = $job;
+    $this->_url_id = $url;
   }
 
   /**
    * This method returns the links that are given for each search row.
    *
    * @return array
-   * @static
    */
   public static function &links() {
     return self::$_links;
@@ -121,12 +118,11 @@ class CRM_Mailing_Selector_Event extends CRM_Core_Selector_Base implements CRM_C
    *
    * @param $action
    * @param array $params
-   *
    */
   public function getPagerParams($action, &$params) {
     $params['csvString'] = NULL;
-    $params['rowCount']  = CRM_Utils_Pager::ROWCOUNT;
-    $params['status']    = ts('%1 %%StatusMessage%%', array(1 => $this->eventToTitle()));
+    $params['rowCount'] = CRM_Utils_Pager::ROWCOUNT;
+    $params['status'] = ts('%1 %%StatusMessage%%', array(1 => $this->eventToTitle()));
     $params['buttonTop'] = 'PagerTopButton';
     $params['buttonBottom'] = 'PagerBottomButton';
   }
@@ -137,7 +133,7 @@ class CRM_Mailing_Selector_Event extends CRM_Core_Selector_Base implements CRM_C
    *
    * @param string $action
    *   The action being performed.
-   * @param enum $output
+   * @param string $output
    *   What should the result set include (web/email/csv).
    *
    * @return array
@@ -154,12 +150,12 @@ class CRM_Mailing_Selector_Event extends CRM_Core_Selector_Base implements CRM_C
     if (!isset($this->_columnHeaders)) {
 
       $this->_columnHeaders = array(
-        array(
+        'sort_name' => array(
           'name' => ts('Contact'),
           'sort' => $contact . '.sort_name',
           'direction' => CRM_Utils_Sort::ASCENDING,
         ),
-        array(
+        'email' => array(
           'name' => ts('Email Address'),
           'sort' => $email . '.email',
           'direction' => CRM_Utils_Sort::DONTCARE,
@@ -172,6 +168,13 @@ class CRM_Mailing_Selector_Event extends CRM_Core_Selector_Base implements CRM_C
           break;
 
         case 'delivered':
+          $this->_columnHeaders = array(
+            'contact_id' => array(
+              'name' => ts('Internal Contact ID'),
+              'sort' => $contact . '.id',
+              'direction' => CRM_Utils_Sort::ASCENDING,
+            ),
+          ) + $this->_columnHeaders;
           $dateSort = CRM_Mailing_Event_BAO_Delivered::getTableName() . '.time_stamp';
           break;
 
@@ -213,42 +216,40 @@ class CRM_Mailing_Selector_Event extends CRM_Core_Selector_Base implements CRM_C
           $dateSort = CRM_Mailing_Event_BAO_Unsubscribe::getTableName() . '.time_stamp';
           $this->_columnHeaders = array_merge($this->_columnHeaders, array(
             array(
-                'name' => ts('Unsubscribe'),
-              ),
-            ));
+              'name' => ts('Unsubscribe'),
+            ),
+          ));
           break;
 
         case 'optout':
           $dateSort = CRM_Mailing_Event_BAO_Unsubscribe::getTableName() . '.time_stamp';
           $this->_columnHeaders = array_merge($this->_columnHeaders, array(
             array(
-                'name' => ts('Opt-Out'),
-              ),
-            ));
+              'name' => ts('Opt-Out'),
+            ),
+          ));
           break;
 
         case 'click':
           $dateSort = CRM_Mailing_Event_BAO_TrackableURLOpen::getTableName() . '.time_stamp';
           $this->_columnHeaders = array_merge($this->_columnHeaders, array(
             array(
-                'name' => ts('URL'),
-              ),
-            ));
+              'name' => ts('URL'),
+            ),
+          ));
           break;
 
         default:
           return 0;
       }
 
-      $this->_columnHeaders = array_merge($this->_columnHeaders,
-        array(
-          array(
-            'name' => ts('Date'),
-            'sort' => $dateSort,
-            'direction' => CRM_Utils_Sort::DESCENDING,
+      $this->_columnHeaders = array_merge($this->_columnHeaders, array(
+        'date' => array(
+          'name' => ts('Date'),
+          'sort' => $dateSort,
+          'direction' => CRM_Utils_Sort::DESCENDING,
           ),
-        )
-      );
+        ));
     }
     return $this->_columnHeaders;
   }
@@ -265,76 +266,76 @@ class CRM_Mailing_Selector_Event extends CRM_Core_Selector_Base implements CRM_C
     switch ($this->_event_type) {
       case 'queue':
         $event = new CRM_Mailing_Event_BAO_Queue();
-        return $event->getTotalCount($this->_mailing_id,
+        $result = $event->getTotalCount($this->_mailing_id,
           $this->_job_id
         );
-      break;
+        return $result;
 
       case 'delivered':
         $event = new CRM_Mailing_Event_BAO_Delivered();
-        return $event->getTotalCount($this->_mailing_id,
+        $result = $event->getTotalCount($this->_mailing_id,
           $this->_job_id,
           $this->_is_distinct
         );
-      break;
+        return $result;
 
       case 'opened':
         $event = new CRM_Mailing_Event_BAO_Opened();
-        return $event->getTotalCount($this->_mailing_id,
+        $result = $event->getTotalCount($this->_mailing_id,
           $this->_job_id,
           $this->_is_distinct
         );
-      break;
+        return $result;
 
       case 'bounce':
         $event = new CRM_Mailing_Event_BAO_Bounce();
-        return $event->getTotalCount($this->_mailing_id,
+        $result = $event->getTotalCount($this->_mailing_id,
           $this->_job_id,
           $this->_is_distinct
         );
-      break;
+        return $result;
 
       case 'forward':
         $event = new CRM_Mailing_Event_BAO_Forward();
-        return $event->getTotalCount($this->_mailing_id,
+        $result = $event->getTotalCount($this->_mailing_id,
           $this->_job_id,
           $this->_is_distinct
         );
-      break;
+        return $result;
 
       case 'reply':
         $event = new CRM_Mailing_Event_BAO_Reply();
-        return $event->getTotalCount($this->_mailing_id,
+        $result = $event->getTotalCount($this->_mailing_id,
           $this->_job_id,
           $this->_is_distinct
         );
-      break;
+        return $result;
 
       case 'unsubscribe':
         $event = new CRM_Mailing_Event_BAO_Unsubscribe();
-        return $event->getTotalCount($this->_mailing_id,
+        $result = $event->getTotalCount($this->_mailing_id,
           $this->_job_id,
           $this->_is_distinct
         );
-      break;
+        return $result;
 
       case 'optout':
         $event = new CRM_Mailing_Event_BAO_Unsubscribe();
-        return $event->getTotalCount($this->_mailing_id,
+        $result = $event->getTotalCount($this->_mailing_id,
           $this->_job_id,
           $this->_is_distinct,
           FALSE
         );
-      break;
+        return $result;
 
       case 'click':
         $event = new CRM_Mailing_Event_BAO_TrackableURLOpen();
-        return $event->getTotalCount($this->_mailing_id,
+        $result = $event->getTotalCount($this->_mailing_id,
           $this->_job_id,
           $this->_is_distinct,
           $this->_url_id
         );
-      break;
+        return $result;
 
       default:
         return 0;
@@ -342,9 +343,9 @@ class CRM_Mailing_Selector_Event extends CRM_Core_Selector_Base implements CRM_C
   }
 
   /**
-   * Returns all the rows in the given offset and rowCount
+   * Returns all the rows in the given offset and rowCount.
    *
-   * @param enum $action
+   * @param string $action
    *   The action being performed.
    * @param int $offset
    *   The row number to start from.
@@ -352,7 +353,7 @@ class CRM_Mailing_Selector_Event extends CRM_Core_Selector_Base implements CRM_C
    *   The number of rows to return.
    * @param string $sort
    *   The sql string that describes the sort order.
-   * @param enum $output
+   * @param string $output
    *   What should the result set include (web/email/csv).
    *
    * @return int
@@ -361,66 +362,67 @@ class CRM_Mailing_Selector_Event extends CRM_Core_Selector_Base implements CRM_C
   public function &getRows($action, $offset, $rowCount, $sort, $output = NULL) {
     switch ($this->_event_type) {
       case 'queue':
-        return CRM_Mailing_Event_BAO_Queue::getRows($this->_mailing_id,
+        $rows = CRM_Mailing_Event_BAO_Queue::getRows($this->_mailing_id,
           $this->_job_id, $offset, $rowCount, $sort
         );
-      break;
+        return $rows;
 
       case 'delivered':
-        return CRM_Mailing_Event_BAO_Delivered::getRows($this->_mailing_id,
+        $rows = CRM_Mailing_Event_BAO_Delivered::getRows($this->_mailing_id,
           $this->_job_id, $this->_is_distinct,
           $offset, $rowCount, $sort
         );
-      break;
+        return $rows;
 
       case 'opened':
-        return CRM_Mailing_Event_BAO_Opened::getRows($this->_mailing_id,
+        $rows = CRM_Mailing_Event_BAO_Opened::getRows($this->_mailing_id,
           $this->_job_id, $this->_is_distinct,
           $offset, $rowCount, $sort
         );
-      break;
+        return $rows;
 
       case 'bounce':
-        return CRM_Mailing_Event_BAO_Bounce::getRows($this->_mailing_id,
+        $rows = CRM_Mailing_Event_BAO_Bounce::getRows($this->_mailing_id,
           $this->_job_id, $this->_is_distinct,
           $offset, $rowCount, $sort
         );
-      break;
+        return $rows;
 
       case 'forward':
-        return CRM_Mailing_Event_BAO_Forward::getRows($this->_mailing_id,
+        $rows = CRM_Mailing_Event_BAO_Forward::getRows($this->_mailing_id,
           $this->_job_id, $this->_is_distinct,
           $offset, $rowCount, $sort
         );
+        return $rows;
 
       case 'reply':
-        return CRM_Mailing_Event_BAO_Reply::getRows($this->_mailing_id,
+        $rows = CRM_Mailing_Event_BAO_Reply::getRows($this->_mailing_id,
           $this->_job_id, $this->_is_distinct,
           $offset, $rowCount, $sort
         );
-      break;
+        return $rows;
 
       case 'unsubscribe':
-        return CRM_Mailing_Event_BAO_Unsubscribe::getRows($this->_mailing_id,
+        $rows = CRM_Mailing_Event_BAO_Unsubscribe::getRows($this->_mailing_id,
           $this->_job_id, $this->_is_distinct,
           $offset, $rowCount, $sort, TRUE
         );
-      break;
+        return $rows;
 
       case 'optout':
-        return CRM_Mailing_Event_BAO_Unsubscribe::getRows($this->_mailing_id,
+        $rows = CRM_Mailing_Event_BAO_Unsubscribe::getRows($this->_mailing_id,
           $this->_job_id, $this->_is_distinct,
           $offset, $rowCount, $sort, FALSE
         );
-      break;
+        return $rows;
 
       case 'click':
-        return CRM_Mailing_Event_BAO_TrackableURLOpen::getRows(
+        $rows = CRM_Mailing_Event_BAO_TrackableURLOpen::getRows(
           $this->_mailing_id, $this->_job_id,
           $this->_is_distinct, $this->_url_id,
           $offset, $rowCount, $sort
         );
-      break;
+        return $rows;
 
       default:
         return NULL;
@@ -433,10 +435,12 @@ class CRM_Mailing_Selector_Event extends CRM_Core_Selector_Base implements CRM_C
    * @param string $output
    *   Type of output.
    *
-   * @return string
+   * @return string|NULL
    *   name of the file
    */
-  public function getExportFileName($output = 'csv') {}
+  public function getExportFileName($output = 'csv') {
+    return NULL;
+  }
 
   public function eventToTitle() {
     static $events = NULL;
@@ -447,17 +451,11 @@ class CRM_Mailing_Selector_Event extends CRM_Core_Selector_Base implements CRM_C
         'delivered' => ts('Successful Deliveries'),
         'bounce' => ts('Bounces'),
         'forward' => ts('Forwards'),
-        'reply' => $this->_is_distinct
-         ? ts('Unique Replies')
-         : ts('Replies'),
+        'reply' => $this->_is_distinct ? ts('Unique Replies') : ts('Replies'),
         'unsubscribe' => ts('Unsubscribe Requests'),
         'optout' => ts('Opt-out Requests'),
-        'click' => $this->_is_distinct
-         ? ts('Unique Click-throughs')
-         : ts('Click-throughs'),
-        'opened' => $this->_is_distinct
-         ? ts('Unique Tracked Opens')
-         : ts('Tracked Opens'),
+        'click' => $this->_is_distinct ? ts('Unique Click-throughs') : ts('Click-throughs'),
+        'opened' => $this->_is_distinct ? ts('Unique Tracked Opens') : ts('Tracked Opens'),
       );
     }
     return $events[$this->_event_type];
@@ -466,4 +464,5 @@ class CRM_Mailing_Selector_Event extends CRM_Core_Selector_Base implements CRM_C
   public function getTitle() {
     return $this->eventToTitle();
   }
+
 }