$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);
}