Пример #1
0
	/**
	 * _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;
	}