Merge remote-tracking branch 'upstream/4.5' into 4.5-master-2014-11-24-15-59-25
[civicrm-core.git] / CRM / Activity / BAO / Query.php
index bc01a3140b382d0184bb5f78d37adf1452b1026e..e378efe51d8390975174709584c5f86c1b7514ef 100644 (file)
@@ -51,7 +51,7 @@ class CRM_Activity_BAO_Query {
     }
 
     if (!empty($query->_returnProperties['activity_type_id'])) {
-      $query->_select['activity_type_id'] = "activity_type.id as activity_type_id";
+      $query->_select['activity_type_id'] = "activity_type.value as activity_type_id";
       $query->_element['activity_type_id'] = 1;
       $query->_tables['civicrm_activity'] = 1;
       $query->_tables['activity_type'] = 1;
@@ -60,8 +60,7 @@ class CRM_Activity_BAO_Query {
     }
 
     if (!empty($query->_returnProperties['activity_type'])) {
-      $query->_select['activity_type'] = "activity_type.label as activity_type,
-        civicrm_activity.activity_type_id as activity_type_id";
+      $query->_select['activity_type'] = "activity_type.label as activity_type";
       $query->_element['activity_type'] = 1;
       $query->_tables['civicrm_activity'] = 1;
       $query->_tables['activity_type'] = 1;
@@ -91,7 +90,8 @@ class CRM_Activity_BAO_Query {
     }
 
     if (!empty($query->_returnProperties['activity_status'])) {
-      $query->_select['activity_status'] = "activity_status.label as activity_status";
+      $query->_select['activity_status'] = "activity_status.label as activity_status,
+      civicrm_activity.status_id as status_id";
       $query->_element['activity_status'] = 1;
       $query->_tables['civicrm_activity'] = 1;
       $query->_tables['activity_status'] = 1;
@@ -152,7 +152,7 @@ class CRM_Activity_BAO_Query {
       $query->_element['result'] = 1;
       $query->_tables['civicrm_activity'] = $query->_whereTables['civicrm_activity'] = 1;
     }
-    
+
     if (CRM_Utils_Array::value('parent_id', $query->_returnProperties)) {
       $query->_tables['parent_id'] = 1;
       $query->_whereTables['parent_id'] = 1;
@@ -220,7 +220,7 @@ class CRM_Activity_BAO_Query {
           break;
         }
         $value = CRM_Utils_Type::escape($value, 'Integer');
-        $query->_where[$grouping][] = " source_record_id = $value";
+        $query->_where[$grouping][] = " civicrm_activity.source_record_id = $value";
         $query->_qill[$grouping][] = ts('Survey') . ' - ' . CRM_Core_DAO::getFieldValue('CRM_Campaign_DAO_Survey', $value, 'title');
         break;
 
@@ -380,7 +380,7 @@ class CRM_Activity_BAO_Query {
           $query->_qill[$grouping][] = ts('Activities without Followup Activities');
         }
         break;
-        
+
       case 'followup_parent_id':
         if ($value == 1) {
           $query->_where[$grouping][] = "civicrm_activity.parent_id IS NOT NULL";
@@ -394,6 +394,13 @@ class CRM_Activity_BAO_Query {
     }
   }
 
+  /**
+   * @param $name
+   * @param $mode
+   * @param $side
+   *
+   * @return null|string
+   */
   static function from($name, $mode, $side) {
     $from = NULL;
     switch ($name) {
@@ -435,7 +442,7 @@ class CRM_Activity_BAO_Query {
                       ON ( ac.activity_id = civicrm_activity_contact.activity_id AND ac.record_type_id = {$sourceID})
         INNER JOIN civicrm_contact source_contact ON (ac.contact_id = source_contact.id)";
         break;
-      
+
       case 'parent_id':
         $from = "$side JOIN civicrm_activity AS parent_id ON civicrm_activity.id = parent_id.parent_id";
         break;
@@ -572,6 +579,12 @@ class CRM_Activity_BAO_Query {
     $form->setDefaults(array('activity_test' => 0));
   }
 
+  /**
+   * @param $mode
+   * @param bool $includeCustomFields
+   *
+   * @return array|null
+   */
   static function defaultReturnProperties($mode, $includeCustomFields = TRUE) {
     $properties = NULL;
     if ($mode & CRM_Contact_BAO_Query::MODE_ACTIVITY) {
@@ -612,6 +625,16 @@ class CRM_Activity_BAO_Query {
     return $properties;
   }
 
+  /**
+   * @param $query
+   * @param $value
+   * @param $pseudoconstantType
+   * @param $op
+   * @param $grouping
+   * @param $params
+   *
+   * @return array
+   */
   static function buildWhereAndQill(&$query, $value, $pseudoconstantType, $op, $grouping, $params) {
     $matches = $val = $clause = array();