function retrieve($cacheKey, $join = NULL, $where = NULL, $offset = 0, $rowCount = 0) { $query = "\nSELECT data\nFROM civicrm_prevnext_cache pn\n{$join}\nWHERE cacheKey = %1\n"; $params = array(1 => array($cacheKey, 'String')); if ($where) { $query .= " AND {$where}"; } if ($rowCount) { $query .= " LIMIT {$offset}, {$rowCount}"; } $dao = CRM_Core_DAO::executeQuery($query, $params); $main = array(); while ($dao->fetch()) { if (CRM_Core_BAO_PrevNextCache::is_serialized($dao->data)) { $main[] = unserialize($dao->data); } else { $main[] = $dao->data; } } return $main; }