예제 #1
0
 /** Get singleton instance
  * @return Piwik_SiteUsers_Model */
 public static function getInstance()
 {
     if (self::$instance == null) {
         self::$instance = new self();
     }
     return self::$instance;
 }
예제 #2
0
 /** Build archive for a single day */
 public static function archiveDay(Piwik_ArchiveProcessing $archive)
 {
     $self = self::getInstance();
     $self->extractArchiveProcessing($archive);
     $model = Piwik_SiteUsers_Model::getInstance();
     $data = $model->dayAnalyzeLogins($self->idsite, $self->startDate, $self->endDate);
     $self->archiveDataArray('logins', $data);
 }
예제 #3
0
 /** Logger hook */
 public function log($notification)
 {
     $data = Piwik_Common::getRequestVar('data', '');
     $data = html_entity_decode($data);
     $data = json_decode($data, true);
     if (!isset($data['SiteUsers_Action'])) {
         return false;
     }
     $action = $notification->getNotificationObject();
     $idaction = $action->getIdActionUrl();
     $info = $notification->getNotificationInfo();
     $idsite = $info['idSite'];
     $idvisit = $info['idVisit'];
     include_once dirname(__FILE__) . '/Model.php';
     include_once dirname(dirname(dirname(__FILE__))) . '/core/Date.php';
     $model = Piwik_SiteUsers_Model::getInstance();
     $logAction = $data['SiteUsers_Action'];
     if ($logAction == 'logout') {
         return $model->logLogout($idvisit);
     }
     if (!isset($data['SiteUsers_UserID']) || !isset($data['SiteUsers_UserName'])) {
         return false;
     }
     $iduser = $data['SiteUsers_UserID'];
     $userName = $data['SiteUsers_UserName'];
     if ($logAction == 'login') {
         $model->logLogin($iduser, $userName, $idsite, $idvisit);
     }
 }