X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FContact%2FBAO%2FGroupContact.php;h=90609af0833a92a9afa8b60a31d02c270bc86dba;hb=ea494841e1dca16c5d6f350ee69904a13ce3c763;hp=505f92cf2379415b345cb124e6f60a781c337306;hpb=5667521530926d61b370a4bb0806b7e5ad63ccbc;p=civicrm-core.git diff --git a/CRM/Contact/BAO/GroupContact.php b/CRM/Contact/BAO/GroupContact.php index 505f92cf23..90609af083 100644 --- a/CRM/Contact/BAO/GroupContact.php +++ b/CRM/Contact/BAO/GroupContact.php @@ -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. | | | @@ -23,35 +23,35 @@ | 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$ * */ class CRM_Contact_BAO_GroupContact extends CRM_Contact_DAO_GroupContact { /** - * Class constructor + * Class constructor. */ public function __construct() { parent::__construct(); } /** - * Takes an associative array and creates a groupContact object + * Takes an associative array and creates a groupContact object. * * the function extract all the params it needs to initialize the create a * group object. the params array could contain additional unused name/value * pairs * - * @param array $params (reference ) an assoc array of name/value pairs + * @param array $params + * (reference ) an assoc array of name/value pairs. * - * @return CRM_Contact_BAO_Group object - * @static + * @return CRM_Contact_BAO_Group */ public static function add(&$params) { @@ -68,12 +68,12 @@ class CRM_Contact_BAO_GroupContact extends CRM_Contact_DAO_GroupContact { } /** - * Check if there is data to create the object + * Check if there is data to create the object. * - * @param array $params (reference ) an assoc array of name/value pairs + * @param array $params + * (reference ) an assoc array of name/value pairs. * - * @return boolean - * @static + * @return bool */ public static function dataExists(&$params) { // return if no data present @@ -88,11 +88,13 @@ class CRM_Contact_BAO_GroupContact extends CRM_Contact_DAO_GroupContact { * Given the list of params in the params array, fetch the object * and store the values in the values array * - * @param array $params input parameters to find object - * @param array $values output values of the object + * @param array $params + * Input parameters to find object. + * @param array $values + * Output values of the object. * - * @return array (reference) the values that could be potentially assigned to smarty - * @static + * @return array + * (reference) the values that could be potentially assigned to smarty */ public static function getValues(&$params, &$values) { if (empty($params)) { @@ -116,34 +118,29 @@ class CRM_Contact_BAO_GroupContact extends CRM_Contact_DAO_GroupContact { /** * Given an array of contact ids, add all the contacts to the group * - * @param array $contactIds the array of contact ids to be added - * @param int $groupId the id of the group + * @param array $contactIds + * The array of contact ids to be added. + * @param int $groupId + * The id of the group. * @param string $method * @param string $status * @param int $tracking * - * @return array (total, added, notAdded) count of contacts added to group - * @static + * @return array + * (total, added, notAdded) count of contacts added to group */ - static function addContactsToGroup( + public static function addContactsToGroup( $contactIds, $groupId, - $method = 'Admin', - $status = 'Added', + $method = 'Admin', + $status = 'Added', $tracking = NULL ) { - CRM_Utils_Hook::pre('create', 'GroupContact', $groupId, $contactIds); - list($numContactsAdded, - $numContactsNotAdded - ) = self::bulkAddContactsToGroup($contactIds, - $groupId, - $method, - $status, - $tracking - ); + list($numContactsAdded, $numContactsNotAdded) + = self::bulkAddContactsToGroup($contactIds, $groupId, $method, $status, $tracking); // also reset the acl cache $config = CRM_Core_Config::singleton(); @@ -163,21 +160,23 @@ class CRM_Contact_BAO_GroupContact extends CRM_Contact_DAO_GroupContact { /** * Given an array of contact ids, remove all the contacts from the group * - * @param array $contactIds (reference ) the array of contact ids to be removed - * @param int $groupId the id of the group + * @param array $contactIds + * (reference ) the array of contact ids to be removed. + * @param int $groupId + * The id of the group. * * @param string $method * @param string $status - * @param null $tracking + * @param NULL $tracking * - * @return array (total, removed, notRemoved) count of contacts removed to group - * @static + * @return array + * (total, removed, notRemoved) count of contacts removed to group */ - static function removeContactsFromGroup( + public static function removeContactsFromGroup( &$contactIds, $groupId, - $method = 'Admin', - $status = 'Removed', + $method = 'Admin', + $status = 'Removed', $tracking = NULL ) { if (!is_array($contactIds)) { @@ -203,8 +202,8 @@ class CRM_Contact_BAO_GroupContact extends CRM_Contact_DAO_GroupContact { foreach ($contactIds as $contactId) { if ($status == 'Deleted') { - $query = "DELETE FROM civicrm_group_contact WHERE contact_id=$contactId AND group_id=$groupId"; - $dao = CRM_Core_DAO::executeQuery($query); + $query = "DELETE FROM civicrm_group_contact WHERE contact_id=$contactId AND group_id=$groupId"; + $dao = CRM_Core_DAO::executeQuery($query); $historyParams = array( 'group_id' => $groupId, 'contact_id' => $contactId, @@ -261,15 +260,16 @@ class CRM_Contact_BAO_GroupContact extends CRM_Contact_DAO_GroupContact { } /** - * Get list of all the groups and groups for a contact + * Get list of all the groups and groups for a contact. * - * @param int $contactId contact id + * @param int $contactId + * Contact id. * * @param bool $visibility * * - * @return array $values this array has key-> group id and value group title - * @static + * @return array + * this array has key-> group id and value group title */ public static function getGroupList($contactId = 0, $visibility = FALSE) { $group = new CRM_Contact_DAO_Group(); @@ -277,8 +277,8 @@ class CRM_Contact_BAO_GroupContact extends CRM_Contact_DAO_GroupContact { $select = $from = $where = ''; $select = 'SELECT DISTINCT civicrm_group.id, civicrm_group.title '; - $from = ' FROM civicrm_group '; - $where = " WHERE civicrm_group.is_active = 1 "; + $from = ' FROM civicrm_group '; + $where = " WHERE civicrm_group.is_active = 1 "; if ($contactId) { $from .= ' , civicrm_group_contact '; $where .= " AND civicrm_group.id = civicrm_group_contact.group_id @@ -303,33 +303,38 @@ class CRM_Contact_BAO_GroupContact extends CRM_Contact_DAO_GroupContact { } /** - * Get the list of groups for contact based on status of group membership + * Get the list of groups for contact based on status of group membership. * - * @param int $contactId contact id - * @param string $status state of membership - * @param int $numGroupContact number of groups for a contact that should be shown - * @param boolean $count true if we are interested only in the count - * @param boolean $ignorePermission true if we should ignore permissions for the current user + * @param int $contactId + * Contact id. + * @param string $status + * State of membership. + * @param int $numGroupContact + * Number of groups for a contact that should be shown. + * @param bool $count + * True if we are interested only in the count. + * @param bool $ignorePermission + * True if we should ignore permissions for the current user. * useful in profile where permissions are limited for the user. If left * at false only groups viewable by the current user are returned - * @param boolean $onlyPublicGroups true if we want to hide system groups + * @param bool $onlyPublicGroups + * True if we want to hide system groups. * * @param bool $excludeHidden * - * @return array (reference )|int $values the relevant data object values for the contact or - * the total count when $count is true - * - * $access public + * @return array (reference)|int $values + * the relevant data object values for the contact or + * the total count when $count is TRUE */ - static function &getContactGroup( + public static function &getContactGroup( $contactId, - $status = NULL, - $numGroupContact = NULL, - $count = FALSE, + $status = NULL, + $numGroupContact = NULL, + $count = FALSE, $ignorePermission = FALSE, $onlyPublicGroups = FALSE, - $excludeHidden = TRUE, - $groupId = NULL + $excludeHidden = TRUE, + $groupId = NULL ) { if ($count) { $select = 'SELECT count(DISTINCT civicrm_group_contact.id)'; @@ -434,17 +439,20 @@ class CRM_Contact_BAO_GroupContact extends CRM_Contact_DAO_GroupContact { } /** - * Returns membership details of a contact for a group + * Returns membership details of a contact for a group. * - * @param int $contactId id of the contact - * @param int $groupID Id of a perticuler group - * @param string $method If we want the subscription history details for a specific method + * @param int $contactId + * Id of the contact. + * @param int $groupID + * Id of a perticuler group. + * @param string $method + * If we want the subscription history details for a specific method. * - * @return object of group contact - * @static + * @return object + * of group contact */ public static function getMembershipDetail($contactId, $groupID, $method = 'Email') { - $leftJoin = $where = $orderBy = null; + $leftJoin = $where = $orderBy = NULL; if ($method) { //CRM-13341 add group_id clause @@ -475,13 +483,13 @@ SELECT * } /** - * Method to get Group Id + * Method to get Group Id. * - * @param int $groupContactID Id of a perticuler group + * @param int $groupContactID + * Id of a perticuler group. * * * @return groupID - * @static */ public static function getGroupId($groupContactID) { $dao = new CRM_Contact_DAO_GroupContact(); @@ -495,14 +503,15 @@ SELECT * * contacts from the groups * * - * @param array $params (reference ) an assoc array of name/value pairs - * @param array $contactId contact id + * @param array $params + * (reference ) an assoc array of name/value pairs. + * @param array $contactId + * Contact id. * * @param bool $visibility * @param string $method * * @return void - * @static */ public static function create(&$params, $contactId, $visibility = FALSE, $method = 'Admin') { $contactIds = array(); @@ -578,21 +587,24 @@ SELECT * } /** - * Function merges the groups from otherContactID to mainContactID + * Function merges the groups from otherContactID to mainContactID. * along with subscription history * - * @param int $mainContactId contact id of main contact record. - * @param int $otherContactId contact id of record which is going to merge. + * @param int $mainContactId + * Contact id of main contact record. + * @param int $otherContactId + * Contact id of record which is going to merge. * * @see CRM_Dedupe_Merger::cpTables() * * TODO: use the 3rd $sqls param to append sql statements rather than executing them here * - * @return void. - * @static + * @return void + * */ public static function mergeGroupContact($mainContactId, $otherContactId) { - $params = array(1 => array($mainContactId, 'Integer'), + $params = array( + 1 => array($mainContactId, 'Integer'), 2 => array($otherContactId, 'Integer'), ); @@ -688,20 +700,22 @@ AND group_id IN ( $groupIDString ) /** * Given an array of contact ids, add all the contacts to the group * - * @param array $contactIDs the array of contact ids to be added - * @param int $groupID the id of the group + * @param array $contactIDs + * The array of contact ids to be added. + * @param int $groupID + * The id of the group. * @param string $method * @param string $status - * @param null $tracking + * @param NULL $tracking * - * @return array (total, added, notAdded) count of contacts added to group - * @static + * @return array + * (total, added, notAdded) count of contacts added to group */ - static function bulkAddContactsToGroup( + public static function bulkAddContactsToGroup( $contactIDs, $groupID, - $method = 'Admin', - $status = 'Added', + $method = 'Admin', + $status = 'Added', $tracking = NULL ) { @@ -732,7 +746,8 @@ WHERE group_id = %1 AND status = %2 AND contact_id IN ( $contactStr ) "; - $params = array(1 => array($groupID, 'Integer'), + $params = array( + 1 => array($groupID, 'Integer'), 2 => array($status, 'String'), ); @@ -771,11 +786,13 @@ AND contact_id IN ( $contactStr ) * Get options for a given field. * @see CRM_Core_DAO::buildOptions * - * @param String $fieldName - * @param String $context : @see CRM_Core_DAO::buildOptionsContext - * @param Array $props : whatever is known about this dao object + * @param string $fieldName + * @param string $context + * @see CRM_Core_DAO::buildOptionsContext + * @param array $props + * whatever is known about this dao object. * - * @return Array|bool + * @return array|bool */ public static function buildOptions($fieldName, $context = NULL, $props = array()) { $params = array(); @@ -790,4 +807,5 @@ AND contact_id IN ( $contactStr ) return $options; } + }