Esempio n. 1
0
 /**
  * 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;
 }
Esempio n. 2
0
 /**
  * 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);
 }
Esempio n. 3
0
 /**
  * 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;
 }
Esempio n. 4
0
 /**
  * Constructor.
  *
  * @access public
  */
 function phpOpenTracker_API_Plugin()
 {
     $this->config =& phpOpenTracker_Config::getConfig();
     $this->container =& phpOpenTracker_Container::getInstance();
     $this->db =& phpOpenTracker_DB::getInstance();
 }