public static function track($action, $properties = array()) { if (class_exists('\\Activity\\Models\\Actions')) { \Activity\Models\Actions::track($action, $properties); } if (class_exists('\\Admin\\Models\\Settings') && class_exists('\\KM')) { $settings = \Admin\Models\Settings::fetch(); if ($settings->enabledIntegration('kissmetrics') && $settings->{'integration.kissmetrics.key'}) { \KM::init($settings->{'integration.kissmetrics.key'}); $identity = \Dsc\System::instance()->get('auth')->getIdentity(); if ($identity->email) { \KM::identify($identity->email); } elseif (isset($_COOKIE['km_ni'])) { \KM::identify($_COOKIE['km_ni']); } elseif (isset($_COOKIE['km_ai'])) { \KM::identify($_COOKIE['km_ai']); } else { $mongo_id = new \MongoId(); \KM::identify((string) $mongo_id); } \KM::record($action, $properties); } } return null; }
public function track() { $action = $this->input->get('action', null, 'string'); $properties = $this->input->get('properties', null, 'string'); if (!empty($properties) && is_string($properties)) { $properties = json_decode($properties); } if (!empty($action)) { \Activity\Models\Actions::track($action, $properties); } }
protected function postSite() { parent::postSite(); if (!\Audit::instance()->isbot()) { $actor = \Activity\Models\Actors::fetch(); $app = \Base::instance(); // Track the site visit if it hasn't been done today for this actor if (empty($actor->last_visit) || $actor->last_visit < date('Y-m-d', strtotime('today'))) { \Activity\Models\Actions::track('Visited Site'); $actor->set('last_visit', date('Y-m-d', strtotime('today')))->set('visited', time())->save(); } if ($this->input->get('ping', null, 'int') != 1) { $actor->markActive(!empty($this->auth->getIdentity()->id)); } } }