* @param array $conflicts
*
* @return bool
+ * @throws CRM_Core_Exception
*/
public static function markConflict($id1, $id2, $cacheKey, $conflicts) {
if (empty($cacheKey) || empty($conflicts)) {
while ($pncFind->fetch()) {
$data = $pncFind->data;
if (!empty($data)) {
- $data = unserialize($data);
+ $data = CRM_Core_DAO::unSerializeField($data, CRM_Core_DAO::SERIALIZE_PHP);
$data['conflicts'] = implode(",", array_values($conflicts));
$pncUp = new CRM_Core_DAO_PrevNextCache();
*
* @param string|null $value
* @param $serializationType
+ *
* @return array|null
- * @throws \Exception
+ * @throws CRM_Core_Exception
*/
public static function unSerializeField($value, $serializationType) {
if ($value === NULL) {
return strlen($value) ? json_decode($value, TRUE) : [];
case self::SERIALIZE_PHP:
- return strlen($value) ? unserialize($value) : [];
+ return strlen($value) ? unserialize($value, ['allowed_classes' => FALSE]) : [];
case self::SERIALIZE_COMMA:
return explode(',', trim(str_replace(', ', '', $value)));
default:
- throw new Exception('Unknown serialization method for field.');
+ throw new CRM_Core_Exception('Unknown serialization method for field.');
}
}
}
foreach ($result as $index => $values) {
if (isset($values['data']) && !empty($values['data'])) {
- $result[$index]['data'] = unserialize($values['data']);
+ $result[$index]['data'] = CRM_Core_DAO::unSerializeField($values['data'], CRM_Core_DAO::SERIALIZE_PHP);
}
}
return civicrm_api3_create_success($result, $params, 'PrevNextCache');