<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 5 |
- +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2019 |
- +--------------------------------------------------------------------+
- | This file is a part of CiviCRM. |
- | |
- | CiviCRM is free software; you can copy, modify, and distribute it |
- | under the terms of the GNU Affero General Public License |
- | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
- | |
- | CiviCRM is distributed in the hope that it will be useful, but |
- | WITHOUT ANY WARRANTY; without even the implied warranty of |
- | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
- | See the GNU Affero General Public License for more details. |
+ | Copyright CiviCRM LLC. All rights reserved. |
| |
- | You should have received a copy of the GNU Affero General Public |
- | License and the CiviCRM Licensing Exception along |
- | with this program; if not, contact CiviCRM LLC |
- | at info[AT]civicrm[DOT]org. If you have questions about the |
- | GNU Affero General Public License or the licensing of CiviCRM, |
- | see the CiviCRM license FAQ at http://civicrm.org/licensing |
+ | This work is published under the GNU AGPLv3 license with some |
+ | permitted exceptions and without any warranty. For full license |
+ | and copyright information, see https://civicrm.org/licensing |
+--------------------------------------------------------------------+
*/
/**
*
* @package CRM
- * @copyright CiviCRM LLC (c) 2004-2019
+ * @copyright CiviCRM LLC https://civicrm.org/licensing
*/
/**
$this->_returnProperties['contact_type'] = 1;
$this->_returnProperties['contact_sub_type'] = 1;
$this->_returnProperties['sort_name'] = 1;
+ if (!empty($this->_returnProperties['location']) && is_array($this->_returnProperties['location'])) {
+ foreach ($this->_returnProperties['location'] as $key => $property) {
+ if (!empty($property['email'])) {
+ $this->_returnProperties['location'][$key]['on_hold'] = 1;
+ }
+ }
+ }
}
$displayRelationshipType = CRM_Utils_Array::value('display_relationship_type', $this->_formValues);
'qs' => $qs,
'title' => $value['title'],
'ref' => $value['ref'],
- 'class' => CRM_Utils_Array::value('class', $value),
+ 'class' => $value['class'] ?? NULL,
];
}
}
}
$row[$property] = $websiteUrl;
}
+ elseif (strpos($property, '-email') !== FALSE) {
+ list($locType) = explode("-email", $property);
+ $onholdProperty = "{$locType}-on_hold";
+
+ $row[$property] = isset($result->$property) ? $result->$property : NULL;
+ if (!empty($row[$property]) && !empty($result->$onholdProperty)) {
+ $row[$property] .= " (On Hold)";
+ }
+ }
else {
$row[$property] = isset($result->$property) ? $result->$property : NULL;
}
* @param string $cacheKey
* @param int $start
* @param int $end
+ *
+ * @throws \CRM_Core_Exception
*/
public function fillupPrevNextCache($sort, $cacheKey, $start = 0, $end = self::CACHE_SIZE) {
$coreSearch = TRUE;
$selectSQL = CRM_Core_DAO::composeQuery("SELECT DISTINCT %1, contact_a.id, contact_a.sort_name", [1 => [$cacheKey, 'String']]);
- $sql = str_ireplace(["SELECT contact_a.id as contact_id", "SELECT contact_a.id as id"], $selectSQL, $sql);
+ $sql = str_ireplace(['SELECT contact_a.id as contact_id', 'SELECT contact_a.id as id'], $selectSQL, $sql);
+ $sql = str_ireplace('ORDER BY `contact_id`', 'ORDER BY `id`', $sql, $sql);
+
try {
Civi::service('prevnext')->fillWithSql($cacheKey, $sql);
}