Merge pull request #3393 from monishdeb/upgrade-distmaker-fix
[civicrm-core.git] / CRM / Member / BAO / Query.php
index 3f029f1648d5a7b1d1b0a266787b011bcbbef2ca..8d7a22605a035d911ad431db2048a2e4afc9ec0a 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.                                    |
  |                                                                    |
 /**
  *
  * @package CRM
- * @copyright CiviCRM LLC (c) 2004-2013
+ * @copyright CiviCRM LLC (c) 2004-2014
  * $Id$
  *
  */
 class CRM_Member_BAO_Query {
 
+  /**
+   * @return array
+   */
   static function &getFields() {
     $fields = CRM_Member_BAO_Membership::exportableFields();
     return $fields;
@@ -42,6 +45,8 @@ class CRM_Member_BAO_Query {
   /**
    * if membership are involved, add the specific membership fields
    *
+   * @param $query
+   *
    * @return void
    * @access public
    */
@@ -126,6 +131,9 @@ class CRM_Member_BAO_Query {
     }
   }
 
+  /**
+   * @param $query
+   */
   static function where(&$query) {
     $grouping = NULL;
     foreach (array_keys($query->_params) as $id) {
@@ -142,6 +150,10 @@ class CRM_Member_BAO_Query {
     }
   }
 
+  /**
+   * @param $values
+   * @param $query
+   */
   static function whereClauseSingle(&$values, &$query) {
     list($name, $op, $value, $grouping, $wildcard) = $values;
     switch ($name) {
@@ -231,6 +243,7 @@ class CRM_Member_BAO_Query {
             $query->_qill[$grouping][] = ts('Membership is a Test');
           }
         }
+        $query->_tables['civicrm_membership'] = $query->_whereTables['civicrm_membership'] = 1;
         return;
 
       case 'member_auto_renew':
@@ -294,7 +307,9 @@ class CRM_Member_BAO_Query {
         $names = array();
         $membershipTypes = CRM_Member_PseudoConstant::membershipType();
         foreach ($value as $id => $dontCare) {
-          $names[] = $membershipTypes[$id];
+          if(!empty($membershipTypes[$id])) {
+            $names[] = $membershipTypes[$id];
+          }
         }
         $query->_qill[$grouping][] = ts('Membership Type %1', array(1 => $op)) . ' ' . implode(' ' . ts('or') . ' ', $names);
         $query->_where[$grouping][] = CRM_Contact_BAO_Query::buildClause("civicrm_membership.membership_type_id",
@@ -334,6 +349,13 @@ class CRM_Member_BAO_Query {
     }
   }
 
+  /**
+   * @param $name
+   * @param $mode
+   * @param $side
+   *
+   * @return null|string
+   */
   static function from($name, $mode, $side) {
     $from = NULL;
     switch ($name) {
@@ -367,6 +389,12 @@ class CRM_Member_BAO_Query {
     return $from;
   }
 
+  /**
+   * @param $mode
+   * @param bool $includeCustomFields
+   *
+   * @return array|null
+   */
   static function defaultReturnProperties($mode,
     $includeCustomFields = TRUE
   ) {
@@ -406,6 +434,9 @@ class CRM_Member_BAO_Query {
     return $properties;
   }
 
+  /**
+   * @param $form
+   */
   static function buildSearchForm(&$form) {
     foreach (CRM_Member_PseudoConstant::membershipType() as $id => $Name) {
       $form->_membershipType = &$form->addElement('checkbox', "member_membership_type_id[$id]", NULL, $Name);
@@ -453,8 +484,15 @@ class CRM_Member_BAO_Query {
     $form->setDefaults(array('member_test' => 0));
   }
 
+  /**
+   * @param $row
+   * @param $id
+   */
   static function searchAction(&$row, $id) {}
 
+  /**
+   * @param $tables
+   */
   static function tableNames(&$tables) {
     //add membership table
     if (!empty($tables['civicrm_membership_log']) || !empty($tables['civicrm_membership_status']) || CRM_Utils_Array::value('civicrm_membership_type', $tables)) {