mirror of
https://github.com/ad-aures/castopod.git
synced 2026-04-03 23:09:18 +02:00
feat: add analytics and unknown useragents
This commit is contained in:
parent
4651d01a84
commit
ec92e65aa4
44 changed files with 3333 additions and 1987 deletions
|
|
@ -44,5 +44,56 @@ class BaseController extends Controller
|
|||
//--------------------------------------------------------------------
|
||||
// E.g.:
|
||||
// $this->session = \Config\Services::session();
|
||||
|
||||
$session = \Config\Services::session();
|
||||
$session->start();
|
||||
|
||||
// Defines country
|
||||
if (!$session->has('country')) {
|
||||
try {
|
||||
$reader = new \GeoIp2\Database\Reader(
|
||||
WRITEPATH . 'uploads/GeoLite2-Country/GeoLite2-Country.mmdb'
|
||||
);
|
||||
$geoip = $reader->country($_SERVER['REMOTE_ADDR']);
|
||||
$session->set('country', $geoip->country->isoCode);
|
||||
} catch (\Exception $e) {
|
||||
$session->set('country', 'N/A');
|
||||
}
|
||||
}
|
||||
// Defines browser
|
||||
if (!$session->has('browser')) {
|
||||
try {
|
||||
$whichbrowser = new \WhichBrowser\Parser(getallheaders());
|
||||
$session->set('browser', $whichbrowser->browser->name);
|
||||
} catch (\Exception $e) {
|
||||
$session->set('browser', 'Other');
|
||||
}
|
||||
}
|
||||
|
||||
// Defines referrer
|
||||
$newreferer = isset($_SERVER['HTTP_REFERER'])
|
||||
? parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST)
|
||||
: '- Direct -';
|
||||
$newreferer =
|
||||
$newreferer == parse_url(current_url(false), PHP_URL_HOST)
|
||||
? '- Direct -'
|
||||
: $newreferer;
|
||||
if (!$session->has('referer') or $newreferer != '- Direct -') {
|
||||
$session->set('referer', $newreferer);
|
||||
}
|
||||
}
|
||||
|
||||
protected function stats($postcast_id)
|
||||
{
|
||||
$session = \Config\Services::session();
|
||||
$session->start();
|
||||
$db = \Config\Database::connect();
|
||||
$procedureName = $db->prefixTable('analytics_website');
|
||||
$db->query("call $procedureName(?,?,?,?)", [
|
||||
$postcast_id,
|
||||
$session->get('country'),
|
||||
$session->get('browser'),
|
||||
$session->get('referer'),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue