/** * Constructor. * * @param array $parameters * @access public */ function phpOpenTracker_LoggingEngine_Plugin($parameters) { $this->config =& phpOpenTracker_Config::getConfig(); $this->container =& phpOpenTracker_Container::getInstance(); $this->db =& phpOpenTracker_DB::getInstance(); $this->parameters = $parameters; }
/** * Constructor. * * @param array $parameters * @access public */ function phpOpenTracker_LoggingEngine($parameters = array()) { $parameters['init'] = true; $this->config =& phpOpenTracker_Config::getConfig(); $this->container =& phpOpenTracker_Container::getInstance($parameters); $this->db =& phpOpenTracker_DB::getInstance(); $this->_loadPlugins($parameters); }
/** * Parses the parameters of an phpOpenTracker API call. * * @param array $parameters * @return boolean * @access private */ function _parseParameters(&$parameters) { if (!is_array($parameters) || !isset($parameters['api_call'])) { return phpOpenTracker::handleError('No array was passed to API Call, or "api_call" field missing.'); } if (array_search('this', $parameters, true) !== false) { $this->container =& phpOpenTracker_Container::getInstance(array('initAPI' => true)); } if (!isset($parameters['client_id'])) { $parameters['client_id'] = isset($this->container['client_id']) ? $this->container['client_id'] : 1; } $parameters['start'] = isset($parameters['start']) ? $parameters['start'] : false; $parameters['end'] = isset($parameters['end']) ? $parameters['end'] : false; $parameters['constraints'] = isset($parameters['constraints']) ? $parameters['constraints'] : array(); $parameters['limit'] = isset($parameters['limit']) ? $parameters['limit'] : false; $parameters['order'] = isset($parameters['order']) ? $parameters['order'] : 'DESC'; $parameters['range'] = isset($parameters['range']) ? $parameters['range'] : 'total'; $parameters['range_start'] = isset($parameters['range_start']) ? $parameters['range_start'] : 0; $parameters['range_length'] = isset($parameters['range_length']) ? $parameters['range_length'] : 0; $parameters['result_format'] = isset($parameters['result_format']) ? $parameters['result_format'] : false; if (!$parameters['start'] && !$parameters['end']) { if ($parameters['range'] != 'total') { $timerange = $this->_timerange($parameters['range'], $parameters['range_start'], $parameters['range_length']); if ($timerange) { $parameters['start'] = $timerange[0]; $parameters['end'] = $timerange[1]; } else { return false; } } } foreach ($parameters['constraints'] as $field => $value) { if (is_string($value)) { if ($value == 'this') { $parameters['constraints'][$field] = $this->container[$field . '_id']; } else { if ($field == 'weekday') { $parameters['constraints'][$field] = $this->weekdays[strtolower($value)]; } else { $parameters['constraints'][$field] = crc32(strtolower($value)); } } } } if (stristr($parameters['result_format'], 'xml')) { if (!@(include_once 'XML/Tree.php')) { phpOpenTracker::handleError('Could not find PEAR XML_Tree package, exiting.', E_USER_ERROR); } } return true; }
/** * Constructor. * * @access public */ function phpOpenTracker_API_Plugin() { $this->config =& phpOpenTracker_Config::getConfig(); $this->container =& phpOpenTracker_Container::getInstance(); $this->db =& phpOpenTracker_DB::getInstance(); }