/** * _PopulateQueryCache * Process and populate query cache. It gets called whenever a record is saved (ie. created or edited). * * @return Boolean Returns TRUE if successful, FALSE otherwise * * @uses Segment_API::$searchinfo * @uses Subscriber_API * @uses Subscriber_API::GenerateQueryFromSegmentRules() * * @access private */ function _PopulateQueryCache() { if (!class_exists('Subscribers_API', false)) { require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'subscribers.php'); } $subscriberAPI = new Subscribers_API(); $status = $subscriberAPI->GenerateQueryFromSegmentRules($this->searchinfo['Lists'], $this->searchinfo['Rules']); if ($status === false) { trigger_error('"Rules" cannot be processed', E_USER_WARNING); return false; } $this->searchinfo['_cache'] = array( 'selectQuery' => $status['selectQuery'], 'countQuery' => $status['countQuery'] ); return true; }