fix

parent 35d070ed
<?php
use common\modules\sessions\models\SessionUrl;
use yii\helpers\Html;
use yii\helpers\Url;
......@@ -153,12 +154,15 @@ use common\modules\bids\models\BidFile;
$params = $url->parseUrl(); ?>
<p>
Рекламная площадка: <?=$params['utm_medium']?> <br>
Компания: <?=$params['utm_campaign']?> <br>
Номер объявления: <?=$params['utm_content']?> <br>
Ключевое слово: <?=$params['keyword']?> <br>
Тип блока: <?=$params['position_type']?> <br>
Позиция объявления в блоке: <?=$params['position']?> <br><br>
Рекламная площадка: <?=$params['utm_source']?> <br>
Маркетинговый канал: <?=$params['utm_medium']?> <br>
Компания: <?=$params['campaign_id']?> <br>
Ключевое слово: <?=$params['utm_term']?> <br>
Тип блока: <?=SessionUrl::getPositionType($params['position_type'])?> <br>
Позиция объявления в блоке: <?=$params['position']?> <br>
ID-объявления: <?=$params['ad_id']?> <br>
Тип устройства, на котором произведен показ: <?=SessionUrl::getDeviceType($params['device_type'])?> <br>
Регион показа объявления: <?=$params['region_name']?> <br><br>
<strong>Дата посещения:</strong> <?=date('d.m.Y H:i', $url->created_at)?> <br>
<strong>Время пребывания на посадочной странице:</strong> <?=date('H:i:s', mktime(0, 0, $url->time))?> <br>
......
......@@ -20,6 +20,26 @@ use common\modules\sessions\models\Session;
*/
class SessionUrl extends \common\components\ActiveRecordModel
{
/**
* Тип блока (position_type), если показ произошел на странице с результатами поиска
* @var array
*/
private static $_position_type = [
'premium' => 'спецразмещение',
'other' => 'блок справа или блок внизу',
'none' => 'объявление было показано в сетях (РСЯ или внешние сети)'
];
/**
* Тип устройства, на котором произведен показ
* @var array
*/
private static $_device_type = [
'desktop' => 'десктоп',
'mobile' => 'мобильный телефон',
'tablet' => 'планшет'
];
/**
* @inheritdoc
*/
......@@ -28,6 +48,9 @@ class SessionUrl extends \common\components\ActiveRecordModel
return 'sessions_url';
}
/**
* @return string
*/
public function name()
{
return 'Посещения страниц';
......@@ -69,12 +92,19 @@ class SessionUrl extends \common\components\ActiveRecordModel
return $this->hasOne(Session::className(), ['id' => 'session_id']);
}
// Время пребывания на странице в секундах
/**
* Время пребывания на странице в секундах
* @return int
*/
public function getTime()
{
return $this->updated_at - $this->created_at;
}
/**
* Парсинг GET параметров рефферальной страницы
* @return mixed
*/
public function parseUrl()
{
parse_str(parse_url($this->url, PHP_URL_QUERY), $params);
......@@ -82,15 +112,40 @@ class SessionUrl extends \common\components\ActiveRecordModel
return $params;
}
/**
* Содержит ли рефферальная страница UTM метки
* @return int
*/
public function isUtm()
{
$params = $this->parseUrl();
if(isset($params['utm_source']))
{
return 1;
if(isset($params['utm_source'])) {
return true;
}
return 0;
return false;
}
/**
* @return array
*/
public static function getPositionType($type)
{
if(isset(self::$_position_type[$type])) {
return self::$_position_type[$type];
}
return null;
}
/**
* @return array
*/
public static function getDeviceType($type)
{
if(isset(self::$_device_type[$type])) {
return self::$_device_type[$type];
}
return null;
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment