public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     $statsNamespace = new Zend_Session_Namespace('Stats');
     $userAgent = @$_SERVER['HTTP_USER_AGENT'];
     $ip = @$_SERVER['REMOTE_ADDR'];
     if (array_key_exists('HTTP_REFERER', $_SERVER)) {
         $referer = $_SERVER['HTTP_REFERER'];
     } else {
         $referer = '';
     }
     $controller = $request->getControllerName();
     $action = $request->getActionName();
     $module = $request->getModuleName();
     $req = $request->getParams();
     $config = Zend_Registry::get('config');
     $websiteId = $config->website->id;
     $browserStr = @$_SERVER['HTTP_HOST'] . '|' . @$_SERVER['HTTP_USER_AGENT'] . '|' . @$_SERVER['HTTP_ACCEPT_LANGUAGE'] . '|' . @$_SERVER['HTTP_ACCEPT_ENCODING'] . '|' . @$_SERVER['HTTP_ACCEPT_CHARSET'] . '|' . @$_SERVER['HTTP_CONNECTION'] . '|' . $ip;
     if (!isset($statsNamespace->ext_uuid)) {
         $statsNamespace->ext_uuid = 'UID' . uniqid('-' . $websiteId . '-');
         $extUUIDFound = false;
     } else {
         $extUUIDFound = true;
     }
     if ($extUUIDFound === true) {
         $browserHash = $statsNamespace->browserHash;
     } else {
         $browserHash = md5($browserStr);
         $statsNamespace->browserHash = $browserHash;
     }
     $params = array();
     $paramsFromRequest = $request->getParams();
     if (count($paramsFromRequest)) {
         foreach ($paramsFromRequest as $key => $val) {
             if (is_string($key) && (is_string($val) || is_int($val))) {
                 $params[$key] = $val;
             }
         }
     }
     $params = var_export($params, true);
     /* Überprüfen, ob Bot oder realer User */
     $seitenaufrufeModell = new Application_Model_Seitenaufruf();
     $useragentModel = new Application_Model_Useragent();
     $user = $useragentModel->getReturnUseragentIDByHeader($userAgent);
     if ($user === '') {
         $user = '******';
     }
     if ($controller == 'link' && $action == 'kampagne') {
         $kid = $request->getParam('kid', 0);
         $statsNamespace->kampagne_id = $kid;
     }
     /* überprüfen, ob es sich um eine Kampagne Handelt */
     if (isset($statsNamespace->kampagne_id)) {
         $kampagne_id = $statsNamespace->kampagne_id;
     } else {
         $kampagne_id = null;
     }
     $seitenaufrufeModell->insert(array('timestamp' => date('Y-m-d H:i:s'), 'modul' => $module, 'controller' => $controller, 'action' => $action, 'params' => $params, 'useragent' => $userAgent, 'ip' => $ip, 'referer' => $referer, 'search' => $this->get_search_phrase($referer), 'sid' => session_id(), 'ext_uuid' => $statsNamespace->ext_uuid, 'browser_id' => $browserHash, 'user' => $user, 'id' => uniqid(), 'kampagne_id' => $kampagne_id));
 }
 public function seitenaufrufeAction()
 {
     logger::getInstance()->log('Starte Export Seitenaufrufe ', logger::LEVEL_OK);
     $_Model = new Application_Model_Seitenaufruf();
     /* Prüfen ob von bis, sonst die letzte Stunde */
     $from = $this->getRequest()->getParam('from', false);
     $to = $this->getRequest()->getParam('to', false);
     logger::getInstance()->log('from= ' . $from . ' to=' . $to, logger::LEVEL_OK);
     if ($from && $to) {
         logger::getInstance()->log('Hole Daten per $_Model->getAllFromTo( $from, $to )', logger::LEVEL_INFO);
         $this->genericExport($_Model->getAllFromTo($from, $to));
     } else {
         $this->genericExport($_Model->getAllLastHours(1));
     }
     logger::getInstance()->log('Beende Export Seitenaufrufe ', logger::LEVEL_OK);
 }