<?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$
*
*/
$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,
$customFields = CRM_Core_BAO_CustomField::getFieldsForImport($ctype, FALSE, FALSE, FALSE, TRUE, TRUE);
// hack to add custom data for components
- $components = array('Contribution', 'Participant', 'Membership', 'Activity');
+ $components = array('Contribution', 'Participant', 'Membership', 'Activity', 'Case');
foreach ($components as $value) {
$customFields = array_merge($customFields, CRM_Core_BAO_CustomField::getFieldsForImport($value));
}
}
//handle the case to avoid re-write where the profile field labels are the same
- if (!empty($values[$index])) {
+ if (array_key_exists($index, $values)) {
$index .= $nullValueIndex;
$nullValueIndex .= $nullValueIndex;
}
if (isset($details->$name) || $name == 'group' || $name == 'tag') {
// to handle gender / suffix / prefix
if (in_array(substr($name, 0, -3), array('gender', 'prefix', 'suffix'))) {
- $values[$index] = CRM_Core_PseudoConstant::getLabel('CRM_Contact_DAO_Contact', $name, $details->$name);
$params[$index] = $details->$name;
+ $values[$index] = $details->$name;
}
elseif (in_array($name, CRM_Contact_BAO_Contact::$_greetingTypes)) {
$dname = $name . '_display';
$form->addRule($name, ts('%1 is a required field.', array(1 => $title)), 'required');
}
else {
- $group->setAttribute('unselectable', TRUE);
+ $group->setAttribute('allowClear', TRUE);
}
}
elseif ($fieldName === 'prefix_id' || $fieldName === 'suffix_id') {
);
$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') {
}
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]);
}
}
}
return CRM_Core_DAO::setFieldValue('CRM_Core_DAO_UFGroup', $gId, 'group_type', 'null');
}
- $componentGroupTypes = array('Contribution', 'Participant', 'Membership', 'Activity');
+ $componentGroupTypes = array('Contribution', 'Participant', 'Membership', 'Activity', 'Case');
$validGroupTypes = array_merge(array('Contact', 'Individual', 'Organization', 'Household'), $componentGroupTypes, CRM_Contact_BAO_ContactType::subTypes());
$gTypes = $gTypeValues = array();
* @param array|string $profiles - name of profile(s) to create links for
* @param array $appendProfiles - name of profile(s) to append to each link
*/
- static function getCreateLinks($profiles, $appendProfiles = array()) {
+ static function getCreateLinks($profiles = '', $appendProfiles = array()) {
+ // Default to contact profiles
+ if (!$profiles) {
+ $profiles = array('new_individual', 'new_organization', 'new_household');
+ }
$profiles = (array) $profiles;
$toGet = array_merge($profiles, (array) $appendProfiles);
$retrieved = civicrm_api3('uf_group', 'get', array(
if (in_array($profile['name'], $profiles)) {
$links[] = array(
'label' => $profile['title'],
- 'url' => CRM_Utils_System::url('civicrm/profile/create', 'reset=1&context=dialog&&gid=' . $id),
- 'name' => $profile['name'],
+ 'url' => CRM_Utils_System::url('civicrm/profile/create', "reset=1&context=dialog&gid=$id",
+ NULL, NULL, FALSE, NULL, FALSE) ,
+ 'type' => ucfirst(str_replace('new_', '', $profile['name'])),
);
}
else {