public function check()
{
if (empty($this->user_id)) {
$user = $this->container->platform->getUser();
$this->user_id = $user->id;
}
if (empty($this->item_id)) {
// Yeah, I know, the Model shouldn't access the input directly but this saves us a lot of code in the
// front-end models where we're logging downloads.
$this->item_id = $this->input->getInt('id', 0);
}
if (empty($this->accessed_on) || $this->accessed_on == '0000-00-00 00:00:00') {
\JLoader::import('joomla.utilities.date');
$date = new \JDate();
$this->accessed_on = $date->toSql();
}
if (empty($this->referer)) {
if (isset($_SERVER['HTTP_REFERER'])) {
$this->referer = $_SERVER['HTTP_REFERER'];
}
}
if (empty($this->ip)) {
$this->ip = Ip::getIp();
if (class_exists('\\AkeebaGeoipProvider')) {
$geoip = new \AkeebaGeoipProvider();
$this->country = $geoip->getCountryCode($this->ip);
}
}
return parent::check();
}