/**
* get all the registration fields
*
- * @param int $action what action are we doing
- * @param int $mode mode
+ * @param int $action what action are we doing
+ * @param int $mode mode
+ *
+ * @param null $ctype
*
* @return array the fields that are needed for registration
* @static
/**
* get all the listing fields
*
- * @param int $action what action are we doing
- * @param int $visibility visibility of fields we are interested in
- * @param bool $considerSelector whether to consider the in_selector parameter
- * @param array $ufGroupIds
+ * @param int $action what action are we doing
+ * @param int $visibility visibility of fields we are interested in
+ * @param bool $considerSelector whether to consider the in_selector parameter
+ * @param array $ufGroupIds
* @param boolean $searchable
*
+ * @param null $restrict
+ * @param bool $skipPermission
+ * @param int $permissionType
* @return array the fields that are listings related
* @static
* @access public
* and format for use with buildProfile. This is the SQL analog of
* formatUFFields().
*
- * @param mix $id the id of the UF group or ids of ufgroup
- * @param int $register are we interested in registration fields
- * @param int $action what action are we doing
- * @param int $visibility visibility of fields we are interested in
+ * @param mix $id the id of the UF group or ids of ufgroup
+ * @param bool|int $register are we interested in registration fields
+ * @param int $action what action are we doing
+ * @param int $visibility visibility of fields we are interested in
* @param $searchable
- * @param boolean $showall
- * @param string $restrict should we restrict based on a specified profile type
+ * @param bool $showAll
+ * @param string $restrict should we restrict based on a specified profile type
*
+ * @param bool $skipPermission
+ * @param null $ctype
+ * @param int $permissionType
+ * @param string $orderBy
+ * @param null $orderProfiles
+ *
+ * @internal param bool $showall
* @return array the fields that belong to this ufgroup(s)
* @static
* @access public
$gids = implode(',', $profileIds);
$params = array();
if ($restrict) {
- $query = "SELECT g.* from civicrm_uf_group g, civicrm_uf_join j
+ $query = "SELECT g.* from civicrm_uf_group g
+ LEFT JOIN civicrm_uf_join j ON (j.uf_group_id = g.id)
WHERE g.id IN ( {$gids} )
- AND j.uf_group_id IN ( {$gids} )
- AND j.module = %1
+ AND ((j.uf_group_id IN ( {$gids} ) AND j.module = %1) OR g.is_reserved = 1 )
";
$params = array(1 => array($restrict, 'String'));
}
*
* @param array $groupArr (mimic CRM_UF_DAO_UFGroup)
* @param array $fieldArrs list of fields (each mimics CRM_UF_DAO_UFField)
- * @param bool $visibility visibility of fields we are interested in
+ * @param bool $visibility visibility of fields we are interested in
* @param bool $searchable
- * @param bool $showall
+ * @param bool $showAll
+ * @param null $ctype
+ * @param int $permissionType
+ *
+ * @internal param bool $showall
* @return array
* @see getFields
*/
$addressCustom = TRUE;
$name = "address_{$name}";
}
-
- if (!empty($field->location_type_id)) {
+ if ($field->field_name == 'url') {
+ $name .= "-{$field->website_type_id}";
+ }
+ elseif (!empty($field->location_type_id)) {
$name .= "-{$field->location_type_id}";
}
else {
'in_selector' => $field->in_selector,
'rule' => CRM_Utils_Array::value('rule', CRM_Utils_Array::value($field->field_name, $importableFields)),
'location_type_id' => isset($field->location_type_id) ? $field->location_type_id : NULL,
+ 'website_type_id' => isset($field->website_type_id) ? $field->website_type_id : NULL,
'phone_type_id' => isset($field->phone_type_id) ? $field->phone_type_id : NULL,
'group_id' => $group->id,
'add_to_group_id' => isset($group->add_to_group_id) ? $group->add_to_group_id : NULL,
return TRUE;
}
+ /**
+ * @param $showAll
+ * @param $profileType
+ * @param $contactActivityProfile
+ *
+ * @return array
+ */
protected static function getImportableFields($showAll, $profileType, $contactActivityProfile) {
if (!$showAll) {
$importableFields = CRM_Contact_BAO_Contact::importableFields('All', FALSE, FALSE, FALSE, TRUE, TRUE);
return $locationFields;
}
+ /**
+ * @param $ctype
+ *
+ * @return mixed
+ */
protected static function getCustomFields($ctype) {
static $customFieldCache = array();
if (!isset($customFieldCache[$ctype])) {
/**
* check the data validity
*
- * @param int $userID the user id that we are actually editing
- * @param string $title the title of the group we are interested in
- * @pram boolean $register is this the registrtion form
- * @param int $action the action of the form
+ * @param int $userID the user id that we are actually editing
+ * @param string $title the title of the group we are interested in
+ * @param bool $register
+ * @param int $action the action of the form
*
+ * @pram boolean $register is this the registrtion form
* @return boolean true if form is valid
* @static
* @access public
/**
* get the html for the form that represents this particular group
*
- * @param int $userID the user id that we are actually editing
- * @param string $title the title of the group we are interested in
- * @param int $action the action of the form
- * @param boolean $register is this the registration form
- * @param boolean $reset should we reset the form?
- * @param int $profileID do we have the profile ID?
+ * @param int $userID the user id that we are actually editing
+ * @param string $title the title of the group we are interested in
+ * @param int $action the action of the form
+ * @param boolean $register is this the registration form
+ * @param boolean $reset should we reset the form?
+ * @param int $profileID do we have the profile ID?
+ *
+ * @param bool $doNotProcess
+ * @param null $ctype
*
* @return string the html for the form on success, otherwise empty string
* @static
* searches for a contact in the db with similar attributes
*
* @param array $params the list of values to be used in the where clause
- * @param int $id the current contact id (hence excluded from matching)
- * @param boolean $flatten should we flatten the input params
+ * @param int $id the current contact id (hence excluded from matching)
+ * @param string $contactType
+ *
+ * @internal param bool $flatten should we flatten the input params
*
* @return contact_id if found, null otherwise
* @access public
* Given a contact id and a field set, return the values from the db
* for this contact
*
- * @param int $id the contact id
- * @param array $fields the profile fields of interest
- * @param array $values the values for the above fields
- * @param boolean $searchable searchable or not
- * @param array $componentWhere component condition
- * @param boolean $absolute return urls in absolute form (useful when sending an email)
+ * @param $cid
+ * @param array $fields the profile fields of interest
+ * @param array $values the values for the above fields
+ * @param boolean $searchable searchable or not
+ * @param array $componentWhere component condition
+ * @param boolean $absolute return urls in absolute form (useful when sending an email)
+ *
+ * @param null $additionalWhereClause
*
+ * @internal param int $id the contact id
* @return void
* @access public
* @static
$websiteTypes = CRM_Core_PseudoConstant::get('CRM_Core_DAO_Website', 'website_type_id');
$multipleFields = array('url');
- $nullIndex = $nullValueIndex = ' ';
//start of code to set the default values
foreach ($fields as $name => $field) {
continue;
}
+ // Create a unique, non-empty index for each field.
$index = $field['title'];
- //handle for the label not set for the field
- if (empty($field['title'])) {
- $index = $nullIndex;
- $nullIndex .= $nullIndex;
- }
+ if ($index === '') $index = ' ';
+ while (array_key_exists($index, $values))
+ $index .= ' ';
- //handle the case to avoid re-write where the profile field labels are the same
- if (array_key_exists($index, $values)) {
- $index .= $nullValueIndex;
- $nullValueIndex .= $nullValueIndex;
- }
$params[$index] = $values[$index] = '';
$customFieldName = NULL;
// hack for CRM-665
* @params int $displayName if set return display name in array
* @params int $status if set return module other than default modules (User Account/User registration/Profile)
*
+ * @param null $ufGroupId
+ * @param null $displayName
+ * @param null $status
+ *
* @return array $ufGroupJoinRecords
*
* @access public
* Function to get the uf group for a module
*
* @param string $moduleName module name
- * @param int $count no to increment the weight
- * @param bool $skipPermision - whether to add permission clause
- * @param int $op - which operation (view, edit, create, etc) to check permission for
+ * @param int $count no to increment the weight
+ * @param bool $skipPermission
+ * @param int $op - which operation (view, edit, create, etc) to check permission for
* @param array|NULL $returnFields list of UFGroup fields to return; NULL for default
*
+ * @internal param bool $skipPermision - whether to add permission clause
* @return array $ufGroups array of ufgroups for a module
* @access public
* @static
*
* @params int $ufGroupId uf group id (profile id)
*
+ * @param $ufGroupId
+ * @param null $contactID
+ *
* @return boolean true or false
* @static
* @access public
* @params int $contactID contact id
* @params string $usedFor for building up prefixed fieldname for special cases (e.g. onBehalf, Honor)
*
+ * @param $form
+ * @param $field
+ * @param $mode
+ * @param null $contactId
+ * @param bool $online
+ * @param null $usedFor
+ * @param null $rowNumber
+ * @param string $prefix
+ *
* @return null
* @static
* @access public
);
$form->addRule($name, ts('Enter a valid Website.'), 'url');
-
- //Website type select
- if ($usedFor) {
- if (substr($name, -1) == ']') {
- $websiteTypeName = substr($name, 0, -1) . '-website_type_id]';
- }
- $form->addElement('select', $websiteTypeName, NULL, CRM_Core_PseudoConstant::get('CRM_Core_DAO_Website', 'website_type_id'));
- }
- else {
- $form->addElement('select', $name . '-website_type_id', NULL, CRM_Core_PseudoConstant::get('CRM_Core_DAO_Website', 'website_type_id'));
- }
}
// Note should be rendered as textarea
elseif (substr($fieldName, -4) == 'note') {
* @params boolean $singleProfile true for single profile else false(batch update)
* @params int $componentId id for specific components like contribute, event etc
*
+ * @param $contactId
+ * @param $fields
+ * @param $defaults
+ * @param bool $singleProfile
+ * @param null $componentId
+ * @param null $component
+ *
* @return null
* @static
* @access public
}
break;
- case 'Autocomplete-Select':
- if ($customFields[$customFieldId]['data_type'] == 'ContactReference') {
- if (is_numeric($details[$name])) {
- $defaults[$fldName . '_id'] = $details[$name];
- $defaults[$fldName] = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Contact', $details[$name], 'sort_name');
- }
- }
- else {
- $defaults[$fldName] = $details[$name];
- }
- break;
-
case 'Select Date':
// CRM-6681, set defult values according to date and time format (if any).
$dateFormat = NULL;
}
else {
if (is_array($details)) {
- if ($fieldName === 'url') {
- if (!empty($details['website'])) {
- foreach ($details['website'] as $val) {
- $defaults[$fldName] = CRM_Utils_Array::value('url', $val);
- $defaults[$fldName . '-website_type_id'] = $val['website_type_id'];
- }
- }
+ if ($fieldName === 'url'
+ && !empty($details['website'])
+ && !empty($details['website'][$locTypeId])) {
+ $defaults[$fldName] = CRM_Utils_Array::value('url', $details['website'][$locTypeId]);
}
}
}
/**
* Function to get default value for Register.
*
- * @return $defaults
- * @static
+ * @param $fields
+ * @param $defaults
+ *
+ * @return mixed $defaults@static
* @access public
*/
static function setRegisterDefaults(&$fields, &$defaults) {
* @params int $contactId contact id
* @params array $values associative array of name/value pair
*
+ * @param $contactID
+ * @param $values
+ *
* @return void
* @access public
*/
* @params $cid contact id
* @params $params associative array
*
+ * @param $gid
+ * @param $cid
+ * @param $params
+ * @param bool $skipCheck
+ *
* @return array
* @access public
*/
* @params int $gid group id
* @params array $values associative array of fields
*
+ * @param $gid
+ * @param $values
+ * @param $template
+ *
* @return void
* @access public
*/
*
* @param array $params associated array
*
+ * @param null $contactId
+ *
* @return array $data assoicated formatted array
* @access public
* @static
/**
* calculate the profile type 'group_type' as per profile fields.
*
- * @param int $gid profile id
+ * @param $gId
+ * @param bool $includeTypeValues
* @param int $ignoreFieldId ignore particular profile field
*
+ * @internal param int $gid profile id
* @return array list of calculated group type
*/
static function calculateGroupType($gId, $includeTypeValues = FALSE, $ignoreFieldId = NULL) {
/**
* calculate the profile type 'group_type' as per profile fields.
*
- * @param int $gid profile id
+ * @param $ufFields
+ * @param bool $includeTypeValues
* @param int $ignoreFieldId ignore perticular profile field
*
+ * @internal param int $gid profile id
* @return array list of calculated group type
*/
static function _calculateGroupType($ufFields, $includeTypeValues = FALSE, $ignoreFieldId = NULL) {
* BirthDate + SurveyOrPhoneField + SurveyOnlyField Individual,Activity\0ActivityType:2:28
* BirthDate + StudentField + Subject + SurveyOnlyField Individual,Activity,Student\0ActivityType:28
*
- * @param Integer $gid profile id
- * @param Array $groupTypes With key having group type names
+ * @param $gId
+ * @param Array $groupTypes With key having group type names
*
+ * @internal param int $gid profile id
* @return Boolean
*/
static function updateGroupTypes($gId, $groupTypes = array(
* @param array $coreTypes e.g. array('Individual','Contact','Student')
* @param array $subTypes e.g. array('ActivityType' => array(7, 11))
* @param string $delim
+ *
+ * @return string
* @throws CRM_Core_Exception
*/
static function encodeGroupType($coreTypes, $subTypes, $delim = CRM_Core_DAO::VALUE_SEPARATOR) {
/**
* This function is used to setDefault componet specific profile fields.
*
- * @param array $fields profile fields.
- * @param int $componentId componetID
- * @param string $component component name
- * @param array $defaults an array of default values.
+ * @param array $fields profile fields.
+ * @param int $componentId componetID
+ * @param string $component component name
+ * @param array $defaults an array of default values.
+ *
+ * @param bool $isStandalone
*
* @return void.
*/
/**
* @param array|string $profiles - name of profile(s) to create links for
* @param array $appendProfiles - name of profile(s) to append to each link
+ *
+ * @return array
*/
static function getCreateLinks($profiles = '', $appendProfiles = array()) {
// Default to contact profiles
}
/**
- * Funtion to determine of we show overlay profile or not
+ * Function to determine of we show overlay profile or not
*
* @return boolean true if profile should be shown else false
* @static
* @params Integer $profileId Profile Id
* @params String $groupType Group Type
*
+ * @param $profileId
+ * @param null $groupType
+ *
* @return Array group type values
* @static
* @access public
return $groupTypeValue;
}
+ /**
+ * @return bool|object
+ */
static function isProfileDoubleOptin() {
// check for double optin
$config = CRM_Core_Config::singleton();
return FALSE;
}
+ /**
+ * @return bool|object
+ */
static function isProfileAddToGroupDoubleOptin() {
// check for add to group double optin
$config = CRM_Core_Config::singleton();
return $profileIds;
}
+ /**
+ * @todo what do I do?
+ * @param $source
+ * @param $destination
+ * @param bool $returnMultiSummaryFields
+ *
+ * @return array|null
+ */
static function shiftMultiRecordFields(&$source, &$destination, $returnMultiSummaryFields = FALSE) {
$multiSummaryFields = $returnMultiSummaryFields ? array( ) : NULL;
foreach ($source as $field => $properties) {