$this->set('searchDone', 0);
if (!empty($_POST['_qf_AddToHousehold_refresh'])) {
- $searchParams['contact_type'] = array('Household' => 'Household');
+ $searchParams['contact_type'] = 'Household';
$searchParams['rel_contact'] = $this->params['name'];
$this->search($this, $searchParams);
$this->set('searchDone', 1);
$this->set('searchDone', 0);
if (!empty($_POST['_qf_AddToOrganization_refresh'])) {
- $searchParams['contact_type'] = array('Organization' => 'Organization');
+ $searchParams['contact_type'] = 'Organization';
$searchParams['rel_contact'] = $this->params['name'];
$this->search($this, $searchParams);
$this->set('searchDone', 1);
/**
* Product information.
+ *
* @var array
*/
private static $productInfo;
* @param array $defaults
* (reference ) an assoc array to hold the flattened values.
*
- * @return CRM_Contribute_BAO_ManagePremium
+ * @return CRM_Contribute_DAO_Product
*/
public static function retrieve(&$params, &$defaults) {
$premium = new CRM_Contribute_DAO_Product();
* Delete financial Types.
*
* @param int $premiumID
- *
*/
public static function del($premiumID) {
- //check dependencies
-
- //delete from financial Type table
$premium = new CRM_Contribute_DAO_Premium();
$premium->id = $premiumID;
$premium->delete();
* @param int $pageID
* @param bool $formItems
* @param int $selectedProductID
- * @param null $selectedOption
- *
+ * @param string $selectedOption
*/
public static function buildPremiumBlock(&$form, $pageID, $formItems = FALSE, $selectedProductID = NULL, $selectedOption = NULL) {
$form->add('hidden', "selectProduct", $selectedProductID, array('id' => 'selectProduct'));
* @param CRM_Core_Form $form
* @param int $productID
* @param int $premiumProductID
- *
*/
public function buildPremiumPreviewBlock($form, $productID, $premiumProductID = NULL) {
if ($premiumProductID) {
* Delete premium associated w/ contribution page.
*
* @param int $contributionPageID
- *
*/
public static function deletePremium($contributionPageID) {
if (!$contributionPageID) {
$name = CRM_Utils_Array::value($contributionStatus, $statusName);
switch ($name) {
case 'Completed':
+ // [CRM-17498] Removing unsupported status change options.
+ unset($status[CRM_Utils_Array::key('Pending', $statusName)]);
+ unset($status[CRM_Utils_Array::key('Failed', $statusName)]);
+ unset($status[CRM_Utils_Array::key('Partially paid', $statusName)]);
+ unset($status[CRM_Utils_Array::key('Pending refund', $statusName)]);
case 'Cancelled':
case 'Chargeback':
case 'Refunded':
* States/provinces abbreviations
* @var array
*/
- private static $stateProvinceAbbreviation;
+ private static $stateProvinceAbbreviation = array();
/**
* Country.
* array reference of all State/Province abbreviations.
*/
public static function stateProvinceAbbreviation($id = FALSE, $limit = TRUE) {
- if ($id > 1) {
- $query = "
-SELECT abbreviation
+ if ($id && is_numeric($id)) {
+ if (!array_key_exists($id, (array) self::$stateProvinceAbbreviation)) {
+ $query = "SELECT abbreviation
FROM civicrm_state_province
WHERE id = %1";
- $params = array(
- 1 => array(
- $id,
- 'Integer',
- ),
- );
- return CRM_Core_DAO::singleValueQuery($query, $params);
+ $params = array(
+ 1 => array(
+ $id,
+ 'Integer',
+ ),
+ );
+ self::$stateProvinceAbbreviation[$id] = CRM_Core_DAO::singleValueQuery($query, $params);
+ }
+ return self::$stateProvinceAbbreviation[$id];
}
-
- if (!self::$stateProvinceAbbreviation || !$id) {
-
+ else {
$whereClause = FALSE;
if ($limit) {
self::populate(self::$stateProvinceAbbreviation, 'CRM_Core_DAO_StateProvince', TRUE, 'abbreviation', 'is_active', $whereClause);
}
- if ($id) {
- if (array_key_exists($id, self::$stateProvinceAbbreviation)) {
- return self::$stateProvinceAbbreviation[$id];
- }
- else {
- $result = NULL;
- return $result;
- }
- }
return self::$stateProvinceAbbreviation;
}
$$moniker = $result['values'][$cid];
}
- static $fields = array();
- if (empty($fields)) {
- $fields = CRM_Contact_DAO_Contact::fields();
- CRM_Core_DAO::freeResult();
- }
+ $fields = CRM_Contact_DAO_Contact::fields();
// FIXME: there must be a better way
foreach (array('main', 'other') as $moniker) {
*/
public static function defaultReturnProperty($exportMode) {
// hack to add default return property based on export mode
+ $property = NULL;
if ($exportMode == CRM_Export_Form_Select::CONTRIBUTE_EXPORT) {
$property = 'contribution_id';
}
elseif ($exportMode == CRM_Export_Form_Select::ACTIVITY_EXPORT) {
$property = 'activity_id';
}
- elseif ($exportMode == CRM_Export_Form_Select::CONTACT_EXPORT) {
- $property = 'contact_id';
- }
return $property;
}
}
}
}
- $returnProperties[self::defaultReturnProperty($exportMode)] = 1;
+ if (!empty(self::defaultReturnProperty($exportMode))) {
+ $returnProperties[self::defaultReturnProperty($exportMode)] = 1;
+ }
}
else {
$primary = TRUE;
list($select, $from, $where, $having) = $query->query();
if ($mergeSameHousehold == 1) {
- if (!$returnProperties['id']) {
+ if (empty($returnProperties['id'])) {
$returnProperties['id'] = 1;
}
* @return string
*/
public function getTitle() {
- return ts('Export All or Selected Fields');
+ return ts('Export Options');
}
/**
if (empty($details['reminder_date'])) {
$nextReminderDate = new DateTime($details['scheduled_date']);
+ $details['initial_reminder_day'] = empty($details['initial_reminder_day']) ? 0 : $details['initial_reminder_day'];
$nextReminderDate->modify("-" . $details['initial_reminder_day'] . "day");
$nextReminderDate = $nextReminderDate->format("Ymd");
}
else {
$nextReminderDate = new DateTime($details['reminder_date']);
+ $details['additional_reminder_day'] = empty($details['additional_reminder_day']) ? 0 : $details['additional_reminder_day'];
$nextReminderDate->modify("+" . $details['additional_reminder_day'] . "day");
$nextReminderDate = $nextReminderDate->format("Ymd");
}
$isGroupReserved = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_UFGroup', $this->_gid, 'is_reserved');
$this->assign('isGroupReserved', $isGroupReserved);
- $profileType = CRM_Core_BAO_UFField::getProfileType($this->_gid);
- if ($profileType == 'Contribution' || $profileType == 'Membership' || $profileType == 'Activity' || $profileType == 'Participant') {
+ $isMixedProfile = CRM_Core_BAO_UFField::checkProfileType($this->_gid);
+ if ($isMixedProfile) {
$this->assign('skipCreate', TRUE);
}
$groupTypes = self::extractGroupTypes($value['group_type']);
// drop Create, Edit and View mode links if profile group_type is one of the following:
- $groupComponents = array('Contribution', 'Membership', 'Activity', 'Participant', 'Case');
- $componentFound = array_intersect($groupComponents, array_keys($groupTypes));
- if (!empty($componentFound)) {
+ // Contribution, Membership, Activity, Participant, Case, Grant
+ $isMixedProfile = CRM_Core_BAO_UFField::checkProfileType($id);
+ if ($isMixedProfile) {
$action -= CRM_Core_Action::ADD;
+ $action -= CRM_Core_Action::ADVANCED;
+ $action -= CRM_Core_Action::BASIC;
+ $action -= CRM_Core_Action::PROFILE;
}
$ufGroup[$id]['group_type'] = self::formatGroupTypes($groupTypes);
public function getTimeZoneOffset() {
$timezone = $this->getTimeZoneString();
if ($timezone) {
- if ($timezone == 'UTC') {
+ if ($timezone == 'UTC' || $timezone == 'Etc/UTC') {
// CRM-17072 Let's short-circuit all the zero handling & return it here!
return '+00:00';
}
public function testContactModifiedAnniversary() {
$contact = $this->callAPISuccess('Contact', 'create', $this->fixtures['contact_birthdate']);
$this->_testObjects['CRM_Contact_DAO_Contact'][] = $contact['id'];
+ $modifiedDate = $this->callAPISuccess('Contact', 'getvalue', array('id' => $contact['id'], 'return' => 'modified_date'));
$actionSchedule = $this->fixtures['sched_contact_mod_anniv'];
$actionScheduleDao = CRM_Core_BAO_ActionSchedule::add($actionSchedule);
$this->assertTrue(is_numeric($actionScheduleDao->id));
),
array(
// On the eve of 3 years after they were modified, send an email.
- 'time' => date('Y-m-d H:i:s', strtotime($contact['values'][$contact['id']]['modified_date'] . ' +3 years -23 hours')),
+ 'time' => date('Y-m-d H:i:s', strtotime($modifiedDate . ' +3 years -1 day')),
'recipients' => array(array('test-bday@example.com')),
),
));