| GNU Affero General Public License or the licensing of CiviCRM, |
| see the CiviCRM license FAQ at http://civicrm.org/licensing |
+--------------------------------------------------------------------+
-*/
+ */
/**
*
class CRM_Contact_Form_Contact extends CRM_Core_Form {
/**
- * The contact type of the form
+ * The contact type of the form.
*
* @var string
*/
public $_contactType;
/**
- * The contact type of the form
+ * The contact type of the form.
*
* @var string
*/
public $_contactId;
/**
- * The default group id passed in via the url
+ * The default group id passed in via the url.
*
* @var int
*/
public $_gid;
/**
- * The default tag id passed in via the url
+ * The default tag id passed in via the url.
*
* @var int
*/
protected $_dedupeButtonName;
/**
- * Name of optional save duplicate button
+ * Name of optional save duplicate button.
*
* @var string
*/
public $_customValueCount;
/**
- * The array of greetings with option group and filed names
+ * The array of greetings with option group and filed names.
*
* @var array
*/
public $_parseStreetAddress;
/**
- * Check contact has a subtype or not
+ * Check contact has a subtype or not.
*/
public $_isContactSubType;
public $_preEditValues;
/**
- * Build all the data structures needed to build the form
+ * Build all the data structures needed to build the form.
*
* @return void
*/
$this->_dedupeButtonName = $this->getButtonName('refresh', 'dedupe');
$this->_duplicateButtonName = $this->getButtonName('upload', 'duplicate');
+ CRM_Core_Resources::singleton()
+ ->addStyleFile('civicrm', 'css/contactSummary.css', 2, 'html-header');
+
$session = CRM_Core_Session::singleton();
if ($this->_action == CRM_Core_Action::ADD) {
// check for add contacts permissions
$this, TRUE, NULL, 'REQUEST'
);
if (!in_array($this->_contactType,
- array('Individual', 'Household', 'Organization')
- )) {
+ array('Individual', 'Household', 'Organization')
+ )
+ ) {
CRM_Core_Error::statusBounce(ts('Could not get a contact id and/or contact type'));
}
if (
$this->_contactSubType &&
- !(CRM_Contact_BAO_ContactType::isExtendsContactType($this->_contactSubType, $this->_contactType, TRUE))) {
+ !(CRM_Contact_BAO_ContactType::isExtendsContactType($this->_contactSubType, $this->_contactType, TRUE))
+ ) {
CRM_Core_Error::statusBounce(ts("Could not get a valid contact subtype for contact type '%1'", array(1 => $this->_contactType)));
}
FALSE, NULL, 'GET'
);
$typeLabel = CRM_Contact_BAO_ContactType::contactTypePairs(TRUE, $this->_contactSubType ?
- $this->_contactSubType : $this->_contactType
+ $this->_contactSubType : $this->_contactType
);
$typeLabel = implode(' / ', $typeLabel);
}
if ($this->_contactId) {
- $defaults = array();
- $params = array('id' => $this->_contactId);
- $returnProperities = array('id', 'contact_type', 'contact_sub_type', 'modified_date');
+ $defaults = array();
+ $params = array('id' => $this->_contactId);
+ $returnProperities = array('id', 'contact_type', 'contact_sub_type', 'modified_date', 'is_deceased');
CRM_Core_DAO::commonRetrieve('CRM_Contact_DAO_Contact', $params, $defaults, $returnProperities);
if (empty($defaults['id'])) {
}
$displayName = CRM_Contact_BAO_Contact::displayName($this->_contactId);
+ if ($defaults['is_deceased']) {
+ $displayName .= ' <span class="crm-contact-deceased">(deceased)</span>';
+ }
$displayName = ts('Edit %1', array(1 => $displayName));
// Check if this is default domain contact CRM-10482
//set address block defaults
CRM_Contact_Form_Edit_Address::setDefaultValues($defaults, $this);
-
if (!empty($defaults['image_URL'])) {
list($imageWidth, $imageHeight) = getimagesize(CRM_Utils_String::unstupifyUrl($defaults['image_URL']));
list($imageThumbWidth, $imageThumbHeight) = CRM_Contact_BAO_Contact::getThumbSize($imageWidth, $imageHeight);
// get default phone and im provider id.
$defPhoneTypeId = key(CRM_Core_OptionGroup::values('phone_type', FALSE, FALSE, FALSE, ' AND is_default = 1'));
$defIMProviderId = key(CRM_Core_OptionGroup::values('instant_messenger_service',
- FALSE, FALSE, FALSE, ' AND is_default = 1'
- ));
+ FALSE, FALSE, FALSE, ' AND is_default = 1'
+ ));
$defWebsiteTypeId = key(CRM_Core_OptionGroup::values('website_type',
FALSE, FALSE, FALSE, ' AND is_default = 1'
));
// make we require one primary block, CRM-5505
if ($updateMode) {
if (!$hasPrimary) {
- $hasPrimary =
- CRM_Utils_Array::value(
- 'is_primary',
- CRM_Utils_Array::value($instance, $defaults[$name])
- );
+ $hasPrimary = CRM_Utils_Array::value(
+ 'is_primary',
+ CRM_Utils_Array::value($instance, $defaults[$name])
+ );
}
continue;
}
}
/**
- * Global validation rules for the form
+ * Global validation rules for the form.
*
* @param array $fields
* Posted values of the form.
*
* @return bool
* email/openId
- * @static
*/
public static function formRule($fields, &$errors, $contactId = NULL) {
$config = CRM_Core_Config::singleton();
$hasPrimary[] = $instance;
if (!$primaryID &&
in_array($name, array(
- 'email', 'openid')) && !empty($blockValues[$name])) {
+ 'email',
+ 'openid',
+ )) && !empty($blockValues[$name])
+ ) {
$primaryID = $blockValues[$name];
}
}
}
if ($name == 'openid' && !empty($blockValues[$name])) {
- $oid = new CRM_Core_DAO_OpenID();
+ $oid = new CRM_Core_DAO_OpenID();
$oid->openid = $openIds[$instance] = CRM_Utils_Array::value($name, $blockValues);
- $cid = isset($contactId) ? $contactId : 0;
+ $cid = isset($contactId) ? $contactId : 0;
if ($oid->find(TRUE) && ($oid->contact_id != $cid)) {
$errors["{$name}[$instance][openid]"] = ts('%1 already exist.', array(1 => $blocks['OpenID']));
}
if (!empty($invalidStreetNumbers)) {
$first = $invalidStreetNumbers[0];
- foreach ($invalidStreetNumbers as & $num) $num = CRM_Contact_Form_Contact::ordinalNumber($num);
+ foreach ($invalidStreetNumbers as & $num) {
+ $num = CRM_Contact_Form_Contact::ordinalNumber($num);
+ }
$errors["address[$first][street_number]"] = ts('The street number you entered for the %1 address block(s) is not in an expected format. Street numbers may include numeric digit(s) followed by other characters. You can still enter the complete street address (unparsed) by clicking "Edit Complete Street Address".', array(1 => implode(', ', $invalidStreetNumbers)));
}
}
}
/**
- * Build the form object
+ * Build the form object.
*
* @return void
*/
if ($this->_action == CRM_Core_Action::UPDATE) {
$deleteExtra = ts('Are you sure you want to delete contact image.');
$deleteURL = array(
- CRM_Core_Action::DELETE =>
- array(
+ CRM_Core_Action::DELETE => array(
'name' => ts('Delete Contact Image'),
'url' => 'civicrm/contact/image',
'qs' => 'reset=1&cid=%%id%%&action=delete',
$params = $this->controller->exportValues($this->_name);
$group = CRM_Utils_Array::value('group', $params);
- if ($group && is_array($group)) {
+ if (!empty($group) && is_array($group)) {
unset($params['group']);
foreach ($group as $key => $value) {
$params['group'][$value] = 1;
if (isset($params['contact_id'])) {
// process membership status for deceased contact
- $deceasedParams = array('contact_id' => CRM_Utils_Array::value('contact_id', $params),
+ $deceasedParams = array(
+ 'contact_id' => CRM_Utils_Array::value('contact_id', $params),
'is_deceased' => CRM_Utils_Array::value('is_deceased', $params, FALSE),
'deceased_date' => CRM_Utils_Array::value('deceased_date', $params, NULL),
);
// process shared contact address.
CRM_Contact_BAO_Contact_Utils::processSharedAddress($params['address']);
- if (!array_key_exists('TagsAndGroups', $this->_editOptions)) {
+ if (!array_key_exists('TagsAndGroups', $this->_editOptions) && !empty($params['group'])) {
unset($params['group']);
}
- if (!empty($params['contact_id']) && ($this->_action & CRM_Core_Action::UPDATE)) {
+ if (!empty($params['contact_id']) && ($this->_action & CRM_Core_Action::UPDATE) && !empty($params['group'])) {
// figure out which all groups are intended to be removed
$contactGroupList = CRM_Contact_BAO_GroupContact::getContactGroup($params['contact_id'], 'Added');
if (is_array($contactGroupList)) {
}
/**
- * Is there any real significant data in the hierarchical location array
+ * Is there any real significant data in the hierarchical location array.
*
* @param array $fields
* The hierarchical value representation of this location.
*
- * @return boolean
+ * @return bool
* true if data exists, false otherwise
- * @static
*/
public static function blockDataExists(&$fields) {
if (!is_array($fields)) {
return FALSE;
}
- static $skipFields = array('location_type_id', 'is_primary', 'phone_type_id', 'provider_id', 'country_id', 'website_type_id', 'master_id');
+ static $skipFields = array(
+ 'location_type_id',
+ 'is_primary',
+ 'phone_type_id',
+ 'provider_id',
+ 'country_id',
+ 'website_type_id',
+ 'master_id',
+ );
foreach ($fields as $name => $value) {
$skipField = FALSE;
foreach ($skipFields as $skip) {
}
/**
- * That checks for duplicate contacts
+ * That checks for duplicate contacts.
*
* @param array $fields
* Fields array which are submitted.
$contactLinks = CRM_Contact_BAO_Contact_Utils::formatContactIDSToLinks($ids, TRUE, TRUE, $contactID);
$duplicateContactsLinks = '<div class="matching-contacts-found">';
- $duplicateContactsLinks .= ts('One matching contact was found. ', array('count' => count($contactLinks['rows']), 'plural' => '%count matching contacts were found.<br />'));
+ $duplicateContactsLinks .= ts('One matching contact was found. ', array(
+ 'count' => count($contactLinks['rows']),
+ 'plural' => '%count matching contacts were found.<br />',
+ ));
if ($contactLinks['msg'] == 'view') {
- $duplicateContactsLinks .= ts('You can View the existing contact', array('count' => count($contactLinks['rows']), 'plural' => 'You can View the existing contacts'));
+ $duplicateContactsLinks .= ts('You can View the existing contact', array(
+ 'count' => count($contactLinks['rows']),
+ 'plural' => 'You can View the existing contacts',
+ ));
}
else {
- $duplicateContactsLinks .= ts('You can View or Edit the existing contact', array('count' => count($contactLinks['rows']), 'plural' => 'You can View or Edit the existing contacts'));
+ $duplicateContactsLinks .= ts('You can View or Edit the existing contact', array(
+ 'count' => count($contactLinks['rows']),
+ 'plural' => 'You can View or Edit the existing contacts',
+ ));
}
if ($contactLinks['msg'] == 'merge') {
// We should also get a merge link if this is for an existing contact
$errors['_qf_default'] = $duplicateContactsLinks;
-
-
// let smarty know that there are duplicates
$template = CRM_Core_Smarty::singleton();
$template->assign('isDuplicate', 1);
}
/**
- * Use the form name to create the tpl file name
+ * Use the form name to create the tpl file name.
*
* @return string
*/
*
* @return array
* as array of sucess/fails for each address block
- * @static
*/
public function parseAddress(&$params) {
$parseSuccess = $parsedFields = array();
$buildStreetAddress = FALSE;
$parseFieldName = 'street_address';
foreach (array(
- 'street_number', 'street_name', 'street_unit') as $fld) {
+ 'street_number',
+ 'street_name',
+ 'street_unit',
+ ) as $fld) {
if (!empty($address[$fld])) {
$parseFieldName = 'street_number';
$buildStreetAddress = TRUE;
$streetAddress = NULL;
foreach (array(
- 'street_number', 'street_number_suffix', 'street_name', 'street_unit') as $fld) {
+ 'street_number',
+ 'street_number_suffix',
+ 'street_name',
+ 'street_unit',
+ ) as $fld) {
if (in_array($fld, array(
- 'street_name', 'street_unit'))) {
+ 'street_name',
+ 'street_unit',
+ ))) {
$streetAddress .= ' ';
}
$streetAddress .= CRM_Utils_Array::value($fld, $address);
* @param array $parseResult
* An array of address blk instance and its status.
*
- * @return null|string $statusMsg string status message for all address blocks.
- * @static
+ * @return null|string
+ * $statusMsg string status message for all address blocks.
*/
public static function parseAddressStatusMsg($parseResult) {
$statusMsg = NULL;
* @param int $number
* number to convert in to ordinal number.
*
- * @return ordinal number for given number.
- * @static
+ * @return string
+ * ordinal number for given number.
*/
public static function ordinalNumber($number) {
if (empty($number)) {
}
/**
- * Update membership status to deceased
+ * Update membership status to deceased.
* function return the status message for updated membership.
*
* @param array $deceasedParams
* having contact id and deceased value.
*
- * @return null|string $updateMembershipMsg string status message for updated membership.
+ * @return null|string
+ * $updateMembershipMsg string status message for updated membership.
*/
public function updateMembershipStatus($deceasedParams) {
$updateMembershipMsg = NULL;
- $contactId = CRM_Utils_Array::value('contact_id', $deceasedParams);
- $deceasedDate = CRM_Utils_Array::value('deceased_date', $deceasedParams);
+ $contactId = CRM_Utils_Array::value('contact_id', $deceasedParams);
+ $deceasedDate = CRM_Utils_Array::value('deceased_date', $deceasedParams);
// process to set membership status to deceased for both active/inactive membership
if ($contactId &&
- $this->_contactType == 'Individual' && !empty($deceasedParams['is_deceased'])) {
+ $this->_contactType == 'Individual' && !empty($deceasedParams['is_deceased'])
+ ) {
$session = CRM_Core_Session::singleton();
$userId = $session->get('userID');
$userId = $contactId;
}
-
// get deceased status id
$allStatus = CRM_Member_PseudoConstant::membershipStatus();
$deceasedStatusId = array_search('Deceased', $allStatus);
$dao->whereAdd("status_id != $deceasedStatusId");
$dao->find();
$activityTypes = CRM_Core_PseudoConstant::activityType(TRUE, FALSE, FALSE, 'name');
- $allStatus = CRM_Member_PseudoConstant::membershipStatus();
+ $allStatus = CRM_Member_PseudoConstant::membershipStatus();
$memCount = 0;
while ($dao->fetch()) {
// update status to deceased (for both active/inactive membership )
'max_related' => $dao->max_related,
);
-
CRM_Member_BAO_MembershipLog::add($membershipLog, CRM_Core_DAO::$_nullArray);
//create activity when membership status is changed
return $updateMembershipMsg;
}
+
}