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); }