Merge branch 4.5 into 4.6
[civicrm-core.git] / CRM / Mailing / Page / Report.php
index 08398972af8f517a6a6ca90a943d4991a0949e19..c7a639bd7c28f706d22c4dda3fe84ef672aac924 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        |
  +--------------------------------------------------------------------+
-*/
+ */
 
 /**
  *
@@ -41,9 +41,10 @@ class CRM_Mailing_Page_Report extends CRM_Core_Page_Basic {
   public $_mailing_id;
 
   /**
-   * Get BAO Name
+   * Get BAO Name.
    *
-   * @return string Classname of BAO
+   * @return string
+   *   Classname of BAO
    */
   public function getBAOName() {
     return 'CRM_Mailing_BAO_Mailing';
@@ -75,7 +76,8 @@ class CRM_Mailing_Page_Report extends CRM_Core_Page_Basic {
    *
    * @param null $mode
    *
-   * @return string user context.
+   * @return string
+   *   user context.
    */
   public function userContext($mode = NULL) {
     return 'civicrm/mailing/report';
@@ -95,7 +97,11 @@ class CRM_Mailing_Page_Report extends CRM_Core_Page_Basic {
    */
   public function run() {
     $this->_mailing_id = CRM_Utils_Request::retrieve('mid', 'Positive', $this);
-
+    //CRM-15979 - check if abtest exist for mailing then redirect accordingly
+    $abtest = CRM_Mailing_BAO_MailingAB::getABTest($this->_mailing_id);
+    if (!empty($abtest) && !empty($abtest->id)) {
+      CRM_Utils_System::redirect(CRM_Utils_System::url('civicrm/a/', NULL, TRUE, '/abtest/' . $abtest->id));
+    }
     // check that the user has permission to access mailing id
     CRM_Mailing_BAO_Mailing::checkPermission($this->_mailing_id);
 
@@ -134,10 +140,10 @@ class CRM_Mailing_Page_Report extends CRM_Core_Page_Basic {
 
     $this->assign('report', $report);
     CRM_Utils_System::setTitle(ts('CiviMail Report: %1',
-        array(1 => $report['mailing']['name'])
-      ));
+      array(1 => $report['mailing']['name'])
+    ));
 
     return CRM_Core_Page::run();
   }
-}
 
+}