Esempio n. 1
0
 public function getViewersList($type = null)
 {
     $data = array();
     $log = array();
     $log[0] = array('notLogged' => 0);
     $select = parent::getAll(null, false);
     $select->order('L_Datetime ASC');
     if ($type != 'sendTo') {
         if (null !== $type) {
             $select->where('L_Action = ?', $type);
         }
         if ($this->_articleId > 0) {
             $select->where("L_Data like ?", '%articleId|' . $this->_articleId . '||%');
         }
         if ($this->_categoryId > 0) {
             $select->where("L_Data like ?", '%category|' . $this->_categoryId . '||%');
         }
         if ($this->_releaseId > 0) {
             $select->where("L_Data like ?", 'releaseID|' . $this->_releaseId . '%');
         }
         $select = $this->_addDateFilter($select);
         $data = $this->_db->fetchAll($select);
     } else {
         $data = $this->getRecipients();
     }
     $oUser = new GenericProfile();
     $prevValue = 1;
     $val = 1;
     foreach ($data as $record) {
         $prevValue = 1;
         if (!empty($record['L_UserID'])) {
             $user = $oUser->getMemberDetails($record['L_UserID']);
             if (!empty($log[$record['L_UserID']]['count'])) {
                 $prevValue = ++$log[$record['L_UserID']]['count'];
             }
             $log[$record['L_UserID']] = array('firstName' => $user['firstName'], 'lastName' => $user['lastName'], 'L_Datetime' => $record['L_Datetime'], 'email' => $user['email'], 'count' => $prevValue);
         } else {
             if (!empty($log[0]['notLogged'])) {
                 $val = ++$log[0]['notLogged'];
             }
             $log[0] = array('notLogged' => $val);
         }
     }
     ksort($log);
     return $log;
 }