Merge pull request #5550 from civicrm/4.5
[civicrm-core.git] / CRM / Core / BAO / UFGroup.php
index 74d81d7d400a2e349e7da672b942a3fa7aad4deb..2c90b4bbed61ef99f2c924d99e1a9cf702f3a321 100644 (file)
@@ -3,7 +3,7 @@
  +--------------------------------------------------------------------+
  | CiviCRM version 4.6                                                |
  +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2014                                |
+ | Copyright CiviCRM LLC (c) 2004-2015                                |
  +--------------------------------------------------------------------+
  | This file is a part of CiviCRM.                                    |
  |                                                                    |
  | GNU Affero General Public License or the licensing of CiviCRM,     |
  | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
  +--------------------------------------------------------------------+
-*/
+ */
 
 /**
  *
  * @package CRM
- * @copyright CiviCRM LLC (c) 2004-2014
+ * @copyright CiviCRM LLC (c) 2004-2015
  * $Id$
  *
  */
@@ -42,14 +42,14 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
     LISTINGS_VISIBILITY = 4;
 
   /**
-   * Cache the match clause used in this transaction
+   * Cache the match clause used in this transaction.
    *
    * @var string
    */
   static $_matchFields = NULL;
 
   /**
-   * Fetch object based on array of properties
+   * Fetch object based on array of properties.
    *
    * @param array $params
    *   (reference) an assoc array of name/value pairs.
@@ -58,7 +58,6 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
    *
    * @return object
    *   CRM_Core_DAO_UFGroup object
-   * @static
    */
   public static function retrieve(&$params, &$defaults) {
     return CRM_Core_DAO::commonRetrieve('CRM_Core_DAO_UFGroup', $params, $defaults);
@@ -106,14 +105,13 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
    * @return string
    *   title
    *
-   * @static
    */
   public static function getTitle($id) {
     return CRM_Core_DAO::getFieldValue('CRM_Core_DAO_UFGroup', $id, 'title');
   }
 
   /**
-   * Update the is_active flag in the db
+   * Update the is_active flag in the db.
    *
    * @param int $id
    *   Id of the database record.
@@ -122,14 +120,13 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
    *
    * @return Object
    *   CRM_Core_DAO_UFGroup object on success, null otherwise
-   * @static
    */
   public static function setIsActive($id, $is_active) {
     return CRM_Core_DAO::setFieldValue('CRM_Core_DAO_UFGroup', $id, 'is_active', $is_active);
   }
 
   /**
-   * Get all the registration fields
+   * Get all the registration fields.
    *
    * @param int $action
    *   What action are we doing.
@@ -140,7 +137,6 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
    *
    * @return array
    *   the fields that are needed for registration
-   * @static
    */
   public static function getRegistrationFields($action, $mode, $ctype = NULL) {
     if ($mode & CRM_Profile_Form::MODE_REGISTER) {
@@ -186,7 +182,7 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
   }
 
   /**
-   * Get all the listing fields
+   * Get all the listing fields.
    *
    * @param int $action
    *   What action are we doing.
@@ -202,9 +198,8 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
    * @param int $permissionType
    * @return array
    *   the fields that are listings related
-   * @static
    */
-  static function getListingFields(
+  public static function getListingFields(
     $action,
     $visibility,
     $considerSelector = FALSE,
@@ -282,9 +277,8 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
    *
    * @return array
    *   the fields that belong to this ufgroup(s)
-   * @static
    */
-  static function getFields(
+  public static function getFields(
     $id,
     $register = FALSE,
     $action = NULL,
@@ -428,9 +422,9 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
    *
    * @param CRM_Core_DAO_UFGroup|CRM_Core_DAO $group
    * @param CRM_Core_DAO_UFField|CRM_Core_DAO $field
+   * @param array $customFields
    * @param array $addressCustomFields
    * @param array $importableFields
-   * @param array $customFields
    * @param int $permissionType
    *   Eg CRM_Core_Permission::CREATE.
    * @return array
@@ -541,7 +535,7 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
   }
 
   /**
-   * Create a query to find all visible UFFields in a UFGroup
+   * Create a query to find all visible UFFields in a UFGroup.
    *
    * This is the SQL-variant of checkUFFieldDisplayable().
    *
@@ -589,7 +583,7 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
   }
 
   /**
-   * Create a query to find all visible UFFields in a UFGroup
+   * Create a query to find all visible UFFields in a UFGroup.
    *
    * This is the PHP in-memory variant of createUFFieldQuery().
    *
@@ -706,7 +700,7 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
   }
 
   /**
-   * Check the data validity
+   * Check the data validity.
    *
    * @param int $userID
    *   The user id that we are actually editing.
@@ -717,9 +711,8 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
    *   The action of the form.
    *
    * @pram  boolean $register is this the registrtion form
-   * @return boolean
+   * @return bool
    *   true if form is valid
-   * @static
    */
   public static function isValid($userID, $title, $register = FALSE, $action = NULL) {
     if ($register) {
@@ -751,7 +744,7 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
   }
 
   /**
-   * Get the html for the form that represents this particular group
+   * Get the html for the form that represents this particular group.
    *
    * @param int $userID
    *   The user id that we are actually editing.
@@ -771,9 +764,8 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
    *
    * @return string
    *   the html for the form on success, otherwise empty string
-   * @static
    */
-  static function getEditHTML(
+  public static function getEditHTML(
     $userID,
     $title,
     $action = NULL,
@@ -910,7 +902,7 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
   }
 
   /**
-   * Searches for a contact in the db with similar attributes
+   * Searches for a contact in the db with similar attributes.
    *
    * @param array $params
    *   The list of values to be used in the where clause.
@@ -920,7 +912,6 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
    *
    * @return int|null
    *   contact_id if found, null otherwise
-   * @static
    */
   public static function findContact(&$params, $id = NULL, $contactType = 'Individual') {
     $dedupeParams = CRM_Dedupe_Finder::formatParams($params, $contactType);
@@ -952,7 +943,6 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
    * @param null $additionalWhereClause
    *
    * @return void
-   * @static
    */
   public static function getValues(
     $cid, &$fields, &$values,
@@ -1386,9 +1376,8 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
    * @param int $id
    *   Profile Id.
    *
-   * @return boolean
+   * @return bool
    *
-   * @static
    */
   public static function usedByModule($id) {
     //check whether this group is used by any module(check uf join records)
@@ -1412,9 +1401,8 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
    * @param int $id
    *   Profile Id.
    *
-   * @return boolean
+   * @return bool
    *
-   * @static
    */
   public static function del($id) {
     //check whether this group contains  any profile fields
@@ -1438,14 +1426,13 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
   }
 
   /**
-   * Add the UF Group
+   * Add the UF Group.
    *
    * @param array $params
    *   Reference array contains the values submitted by the form.
    * @param array $ids
    *   Reference array contains the id.
    *
-   * @static
    *
    * @return object
    */
@@ -1490,7 +1477,7 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
   }
 
   /**
-   * Make uf join entries for an uf group
+   * Make uf join entries for an uf group.
    *
    * @param array $params
    *   (reference) an assoc array of name/value pairs.
@@ -1498,7 +1485,6 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
    *   Ufgroup id.
    *
    * @return void
-   * @static
    */
   public static function createUFJoin(&$params, $ufGroupId) {
     $groupTypes = CRM_Utils_Array::value('uf_group_type', $params);
@@ -1562,7 +1548,7 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
   }
 
   /**
-   * Get the UF Join records for an ufgroup id
+   * Get the UF Join records for an ufgroup id.
    *
    * @param int $ufGroupId
    *   Uf group id.
@@ -1573,7 +1559,6 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
    *
    * @return array
    *
-   * @static
    */
   public static function getUFJoinRecord($ufGroupId = NULL, $displayName = NULL, $status = NULL) {
     if ($displayName) {
@@ -1612,13 +1597,12 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
   }
 
   /**
-   * Function takes an associative array and creates a ufjoin record for ufgroup
+   * Function takes an associative array and creates a ufjoin record for ufgroup.
    *
    * @param array $params
    *   (reference) an assoc array of name/value pairs.
    *
    * @return CRM_Core_BAO_UFJoin
-   * @static
    */
   public static function addUFJoin(&$params) {
     $ufJoin = new CRM_Core_DAO_UFJoin();
@@ -1628,13 +1612,12 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
   }
 
   /**
-   * Delete the uf join record for an uf group
+   * Delete the uf join record for an uf group.
    *
    * @param array $params
    *   (reference) an assoc array of name/value pairs.
    *
    * @return void
-   * @static
    */
   public static function delUFJoin(&$params) {
     $ufJoin = new CRM_Core_DAO_UFJoin();
@@ -1643,14 +1626,13 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
   }
 
   /**
-   * Get the weight for ufjoin record
+   * Get the weight for ufjoin record.
    *
    * @param int $ufGroupId
    *   If $ufGroupId get update weight or add weight.
    *
    * @return int
    *   weight of the UFGroup
-   * @static
    */
   public static function getWeight($ufGroupId = NULL) {
     //calculate the weight
@@ -1674,7 +1656,7 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
   }
 
   /**
-   * Get the uf group for a module
+   * Get the uf group for a module.
    *
    * @param string $moduleName
    *   Module name.
@@ -1687,7 +1669,6 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
    *
    * @return array
    *   array of ufgroups for a module
-   * @static
    */
   public static function getModuleUFGroup($moduleName = NULL, $count = 0, $skipPermission = TRUE, $op = CRM_Core_Permission::VIEW, $returnFields = NULL) {
     $selectFields = array('id', 'title', 'created_id', 'is_active', 'is_reserved', 'group_type');
@@ -1737,10 +1718,6 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
         if ($field == 'id') {
           continue;
         }
-        elseif ($field == 'name') {
-          $ufGroups[$dao->id][$field] = $dao->title;
-          continue;
-        }
         $ufGroups[$dao->id][$field] = $dao->$field;
       }
     }
@@ -1752,15 +1729,14 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
   }
 
   /**
-   * Filter ufgroups based on logged in user contact type
+   * Filter ufgroups based on logged in user contact type.
    *
    * @param int $ufGroupId
    *   Uf group id (profile id).
    * @param int $contactID
    *
-   * @return boolean
+   * @return bool
    *   true or false
-   * @static
    */
   public static function filterUFGroups($ufGroupId, $contactID = NULL) {
     if (!$contactID) {
@@ -1795,7 +1771,7 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
   }
 
   /**
-   * Add profile field to a form
+   * Add profile field to a form.
    *
    * @param CRM_Core_Form $form
    * @param array $field
@@ -1810,9 +1786,8 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
    * @param string $prefix
    *
    * @return null
-   * @static
    */
-  static function buildProfile(
+  public static function buildProfile(
     &$form,
     &$field,
     $mode,
@@ -1835,7 +1810,7 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
     // do not display view fields in drupal registration form
     // CRM-4632
     if ($view && $mode == CRM_Profile_Form::MODE_REGISTER) {
-      return;
+      return NULL;
     }
 
     if ($usedFor == 'onbehalf') {
@@ -1862,14 +1837,13 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
     if ($fieldName == 'image_URL' && $mode == CRM_Profile_Form::MODE_EDIT) {
       $deleteExtra = ts('Are you sure you want to delete contact image.');
       $deleteURL = array(
-        CRM_Core_Action::DELETE =>
-          array(
-            'name' => ts('Delete Contact Image'),
-            'url' => 'civicrm/contact/image',
-            'qs' => 'reset=1&id=%%id%%&gid=%%gid%%&action=delete',
-            'extra' =>
-              'onclick = "if (confirm( \'' . $deleteExtra . '\' ) ) this.href+=\'&amp;confirmed=1\'; else return false;"',
-          ),
+        CRM_Core_Action::DELETE => array(
+          'name' => ts('Delete Contact Image'),
+          'url' => 'civicrm/contact/image',
+          'qs' => 'reset=1&id=%%id%%&gid=%%gid%%&action=delete',
+          'extra' =>
+          'onclick = "if (confirm( \'' . $deleteExtra . '\' ) ) this.href+=\'&amp;confirmed=1\'; else return false;"',
+        ),
       );
       $deleteURL = CRM_Core_Action::formLink($deleteURL,
         CRM_Core_Action::DELETE,
@@ -1958,7 +1932,7 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
       'membership_end_date',
       'join_date',
     ))) {
-      $form->addDate($name, $title, $required, array('formatType' => 'custom'));
+      $form->addDate($name, $title, $required, array('formatType' => 'activityDate'));
     }
     elseif (CRM_Utils_Array::value('name', $field) == 'membership_type') {
       list($orgInfo, $types) = CRM_Member_BAO_MembershipType::getMembershipTypeInfo();
@@ -2162,8 +2136,8 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
       list($products, $options) = CRM_Contribute_BAO_Premium::getPremiumProductInfo();
       $sel = &$form->addElement('hierselect', $name, $title);
       $products = array(
-          '0' => ts('- select -'),
-        ) + $products;
+        '0' => ts('- select -'),
+      ) + $products;
       $sel->setOptions(array($products, $options));
     }
     elseif ($fieldName == 'payment_instrument') {
@@ -2337,7 +2311,7 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
   }
 
   /**
-   * Set profile defaults
+   * Set profile defaults.
    *
    * @param int $contactId
    *   Contact id.
@@ -2350,11 +2324,8 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
    * @param int $componentId
    *   Id for specific components like contribute, event etc.
    * @param null $component
-   *
-   * @return null
-   * @static
    */
-  static function setProfileDefaults(
+  public static function setProfileDefaults(
     $contactId, &$fields, &$defaults,
     $singleProfile = TRUE, $componentId = NULL, $component = NULL
   ) {
@@ -2606,7 +2577,6 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
    *
    * @return array
    *   associative array of profiles
-   * @static
    */
   public static function getProfiles($types, $onlyPure = FALSE) {
     $profiles = array();
@@ -2637,11 +2607,10 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
    *
    * @return array
    *   associative array of profiles
-   * @static
    */
   public static function getValidProfiles($required, $optional = NULL) {
     if (!is_array($required) || empty($required)) {
-      return;
+      return NULL;
     }
 
     $profiles = array();
@@ -2670,7 +2639,6 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
    *
    * @return array
    *   associative array of profiles
-   * @static
    */
   public static function checkValidProfile($ufId, $required = NULL) {
     $validProfile = FALSE;
@@ -2711,7 +2679,6 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
    * @param array $defaults
    *
    * @return array
-   * @static
    */
   public static function setRegisterDefaults(&$fields, &$defaults) {
     $config = CRM_Core_Config::singleton();
@@ -2799,7 +2766,6 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
    *
    * @return void
    */
-
   public static function commonSendMail($contactID, &$values) {
     if (!$contactID || !$values) {
       return;
@@ -2886,7 +2852,7 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
   }
 
   /**
-   * Assign uf fields to template
+   * Assign uf fields to template.
    *
    * @param int $gid
    *   Group id.
@@ -2904,7 +2870,7 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
   }
 
   /**
-   * Format fields for dupe Contact Matching
+   * Format fields for dupe Contact Matching.
    *
    * @param array $params
    *
@@ -2912,7 +2878,6 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
    *
    * @return array
    *   assoicated formatted array
-   * @static
    */
   public static function formatFields($params, $contactId = NULL) {
     if ($contactId) {
@@ -3133,7 +3098,7 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
    * @param array $groupTypes
    *   With key having group type names.
    *
-   * @return Boolean
+   * @return bool
    */
   public static function updateGroupTypes($gId, $groupTypes = array()) {
     if (!is_array($groupTypes) || !$gId) {
@@ -3197,7 +3162,7 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
   }
 
   /**
-   * Create a "group_type" string
+   * Create a "group_type" string.
    *
    * @param array $coreTypes
    *   E.g. array('Individual','Contact','Student').
@@ -3321,8 +3286,8 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
       }
       elseif ($name == 'membership_type') {
         // since membership_type field is a hierselect -
-        $defaults[$fldName][0] =
-          CRM_Core_DAO::getFieldValue('CRM_Member_DAO_MembershipType', $values['membership_type_id'], 'member_of_contact_id', 'id');
+        $defaults[$fldName][0]
+          CRM_Core_DAO::getFieldValue('CRM_Member_DAO_MembershipType', $values['membership_type_id'], 'member_of_contact_id', 'id');
         $defaults[$fldName][1] = $values['membership_type_id'];
       }
       elseif ($name == 'membership_status') {
@@ -3426,14 +3391,13 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
   }
 
   /**
-   * Retrieve groups of  profiles
+   * Retrieve groups of  profiles.
    *
    * @param int $profileID
    *   Id of the profile.
    *
    * @return array
    *   returns array
-   * @static
    */
   public static function profileGroups($profileID) {
     $groupTypes = array();
@@ -3523,14 +3487,13 @@ SELECT  group_id
   }
 
   /**
-   * Check if we are rendering mixed profiles
+   * Check if we are rendering mixed profiles.
    *
    * @param array $profileIds
    *   Associated array of profile ids.
    *
-   * @return boolean
+   * @return bool
    *   true if profile is mixed
-   * @static
    */
   public static function checkForMixProfiles($profileIds) {
     $mixProfile = FALSE;
@@ -3577,11 +3540,10 @@ SELECT  group_id
   }
 
   /**
-   * Determine of we show overlay profile or not
+   * Determine of we show overlay profile or not.
    *
-   * @return boolean
+   * @return bool
    *   true if profile should be shown else false
-   * @static
    */
   public static function showOverlayProfile() {
     $showOverlay = TRUE;
@@ -3602,14 +3564,13 @@ SELECT  group_id
   }
 
   /**
-   * Get group type values of the profile
+   * Get group type values of the profile.
    *
    * @param int $profileId
    * @param string $groupType
    *
-   * @return Array
+   * @return array
    *   group type values
-   * @static
    */
   public static function groupTypeValues($profileId, $groupType = NULL) {
     $groupTypeValue = array();
@@ -3679,11 +3640,10 @@ SELECT  group_id
   }
 
   /**
-   * Get profiles used for batch entry
+   * Get profiles used for batch entry.
    *
    * @return array
    *   profileIds profile ids
-   * @static
    */
   public static function getBatchProfiles() {
     $query = "SELECT id
@@ -3725,12 +3685,11 @@ SELECT  group_id
   }
 
   /**
-   * This is function is used to format pseudo fields
+   * This is function is used to format pseudo fields.
    *
    * @param array $fields
    *   Associated array of profile fields.
    *
-   * @static
    */
   public static function reformatProfileFields(&$fields) {
     //reformat fields array
@@ -3755,4 +3714,5 @@ SELECT  group_id
       }
     }
   }
+
 }