/** * Логирует запрос * @param \Phalcon\Http\Request $request */ public function log(Request $request) { $token = trim($request->get('token')); $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; $host = parse_url($referer); $host = $host['host']; if ($token != '') { $this->googleTracker->setClientID($token); } $page = new \Racecore\GATracking\Tracking\Page(); $page->setDocumentPath($referer != '' ? $referer : '/'); $page->setDocumentTitle($referer != '' ? $referer : 'Direct'); $this->googleTracker->addTracking($page); $event = new \Racecore\GATracking\Tracking\Event(); $event->setEventCategory('Token_' . $request->get('token')); $event->setEventLabel($host); $event->setEventAction('Hit'); $this->googleTracker->addTracking($event); try { $this->googleTracker->send(); } catch (Exception $e) { //echo 'Error: ' . $e->getMessage() . '<br />' . "\r\n"; //echo 'Type: ' . get_class($e); } }
public function testSingleTracking() { $service = new GATracking('foo'); $trackingRequest = new TrackingRequest(); $trackingRequest->setPayload(array('foo' => 'bar')); $trackingRequest->setResponseHeader(array('baz' => 'fooBar')); $collection = new TrackingRequestCollection(); $collection->add($trackingRequest); $clientMock = $this->getMock('Racecore\\GATracking\\Client\\Adapter\\Socket'); $clientMock->expects($this->once())->method('send')->will($this->returnValue($collection)); $tracking = $this->getMock('Racecore\\GATracking\\Tracking\\Event'); $tracking->expects($this->once())->method('getPackage')->will($this->returnValue(array('test' => 'bar'))); $service->setClientAdapter($clientMock); $response = $service->sendTracking($tracking); $responsePayload = $response->getPayload(); $responseHeader = $response->getResponseHeader(); $this->assertInstanceOf('Racecore\\GATracking\\Request\\TrackingRequest', $response); $this->assertArrayHasKey('foo', $responsePayload); $this->assertEquals('bar', $responsePayload['foo']); $this->assertArrayHasKey('baz', $responseHeader); $this->assertEquals('fooBar', $responseHeader['baz']); }