Example #1
0
 public function save(Doctrine_Connection $conn = null)
 {
     $this->setIsTosync(1);
     parent::save($conn);
     // Notify websocket server
     caNotificationsTools::getInstance()->notifyUpdate('peripherique', $this->toArray());
 }
 public static function getInstance()
 {
     if (empty(self::$instance)) {
         self::$instance = new self();
     }
     return self::$instance;
 }
Example #3
0
 private function notifyAnniversaireInscription()
 {
     $createdAt = $this->visiteur->getDateTimeObject('created_at');
     if ($createdAt->format('Y-m-d') == date('Y-m-d')) {
         caNotificationsTools::getInstance()->sendNotification('general:notif:anniversaire-inscription', 'visiteur:' . $this->visiteur->getGuid(), array('title' => sprintf('Pshit !!!! champagne !!!'), 'message' => 'Tu viens de passer une nouvelle année parmis nous !'), array('model' => 'visiteur', 'model_id' => $this->visiteur->getGuid()));
     }
 }
Example #4
0
 protected function notify($title, $message, $dest, $type = 'general:notif')
 {
     return caNotificationsTools::getInstance()->sendNotification($type, $dest, array('title' => $title, 'message' => $message));
     return caNotificationsTools::getInstance()->sendNotification('general:notif', 'visiteur:' . $this->getVisiteurId(), array('title' => $title, 'message' => $message));
 }
Example #5
0
 public function executeIndex(sfWebRequest $request)
 {
     $this->forward404Unless($request->isMethod(sfRequest::GET));
     $params = $request->getParameterHolder()->getAll();
     // notify an event before the action's body starts
     $this->dispatcher->notify(new sfEvent($this, 'sfDoctrineRestGenerator.get.pre', array('params' => $params)));
     $request->setRequestFormat('html');
     $params = $this->cleanupParameters($params);
     $connexion_id = null;
     if (isset($params['connexion_id'])) {
         $connexion_id = $params['connexion_id'];
         unset($params['connexion_id']);
     }
     try {
         $format = $this->getFormat();
         $this->validateIndex($params);
     } catch (Exception $e) {
         $this->getResponse()->setStatusCode(406);
         $serializer = $this->getSerializer();
         $this->getResponse()->setContentType($serializer->getContentType());
         $error = $e->getMessage();
         // event filter to enable customisation of the error message.
         $result = $this->dispatcher->filter(new sfEvent($this, 'sfDoctrineRestGenerator.filter_error_output'), $error)->getReturnValue();
         if ($error === $result) {
             $error = array(array('message' => $error));
             $this->output = $serializer->serialize($error, 'error');
         } else {
             $this->output = $serializer->serialize($result);
         }
         return sfView::SUCCESS;
     }
     if (isset($params['visiteur_id'])) {
         $this->queryExecuteParcours($params);
         // configure the fields of the returned objects and eventually hide some
         $this->setFieldVisibilityParcours();
     } else {
         $this->queryExecute($params);
         // configure the fields of the returned objects and eventually hide some
         $this->setFieldVisibility();
     }
     $this->configureFields();
     $serializer = $this->getSerializer();
     $this->getResponse()->setContentType($serializer->getContentType());
     $this->output = $serializer->serialize($this->objects, $this->model);
     if (!empty($connexion_id) && count($this->objects) == 1) {
         // Notify websocket server
         caNotificationsTools::getInstance()->notifyAuth($this->objects[0]['guid'], $connexion_id);
     }
     unset($this->objects);
 }
 public function preUpdate(Doctrine_Event $event)
 {
     $name = sprintf('%s::UPDATE', get_class($event->getInvoker()));
     caRulerzTools::getInstance()->dispatchRulez($name, $event->getInvoker());
     caNotificationsTools::getInstance()->notifyUpdate(get_class($event->getInvoker()), $event->getInvoker());
 }
Example #7
0
 protected function notifyToVisiteur($title, $message)
 {
     var_dump("NOTIFY" . $message);
     return caNotificationsTools::getInstance()->sendNotification('general:notif', 'visiteur:' . $this->getVisiteurId(), array('title' => $title, 'message' => $message));
 }
Example #8
0
 private function registerLuaApi(Lua $lua)
 {
     // Map getEntity
     $lua->registerCallback('getEntity', function ($type, $guid) {
         $objectTable = call_user_func(array($type . 'Table', 'getInstance'));
         $object = call_user_func(array($objectTable, 'find'), array($guid));
         return $object->toArray();
     });
     // Map sendNotification
     $lua->registerCallback('sendNotification', function ($type, $dest, $options, $model) {
         caNotificationsTools::getInstance()->sendNotification($type, $dest, $options, $model);
     });
     // Map sendMail
     $lua->registerCallback('sendMail', function ($dest, $subject, $message) {
         sfContext::getInstance()->getMailer()->composeAndSend('*****@*****.**', $dest, $subject, $message);
     });
     // Map createMedailleVisiteur
     $lua->registerCallback('createVisiteurMedaille', function ($visiteur_id, $medaille_id, $connection = 'insitu') {
         $medaille = Doctrine_Core::getTable('Medaille')->findOneByGuid($medaille_id);
         $visiteur_medaille = new VisiteurMedaille();
         $visiteur_medaille->setGuid(Guid::generate());
         $visiteur_medaille->setMedailleId($medaille_id);
         $visiteur_medaille->setVisiteurId($visiteur_id);
         $visiteur_medaille->setConnection($connection);
         if (!($visiteur_medaille->hasAlreadyMedaille($connection) && $medaille->getIsUnique())) {
             $visiteur_medaille->save();
         }
     });
     // Map date
     $lua->registerCallback('date', function ($format) {
         return date($format);
     });
     // Map varDump
     $lua->registerCallback('varDump', function ($data) {
         return var_dump($data);
     });
     // Map isBestScoreInteractif
     $lua->registerCallback('isBestScoreInteractif', function ($logVisiteObj) {
         $interactif_id = $logVisiteObj['interactif_id'];
         $log_visite_guid = $logVisiteObj['guid'];
         $visiteur_id = $logVisiteObj['visiteur_id'];
         $score = $logVisiteObj['score'];
         $log_visite_highscore = LogVisiteTable::getInstance()->getHighScoreByInteractif($interactif_id);
         // $log_visite =  Doctrine_Core::getTable('LogVisite')->findOneByGuid($log_visite_guid);
         if ($score == $log_visite_highscore['highscore']) {
             return true;
         }
         return false;
     });
     // Map isUserBestScoreInteractif
     $lua->registerCallback('isVisiteurBestScoreInteractif', function ($logVisiteObj) {
         $interactif_id = $logVisiteObj['interactif_id'];
         $log_visite_guid = $logVisiteObj['guid'];
         $visiteur_id = $logVisiteObj['visiteur_id'];
         $score = $logVisiteObj['score'];
         //$log_visite =  Doctrine_Core::getTable('LogVisite')->findOneByGuid($log_visite_guid);
         $log_visite_highscore = LogVisiteTable::getInstance()->getVisiteurHighScoreByInteractif($interactif_id, $visiteur_id);
         if ($score == $log_visite_highscore['highscore'] && $visiteur_id == $log_visite_highscore['visiteur_id']) {
             return true;
         }
         return false;
     });
     // Map nbLogVisiteExposition
     $lua->registerCallback('nbLogVisiteExposition', function ($exposition_id, $visiteur_id) {
         $count_log_visite = LogVisiteTable::getInstance()->countLogVisiteByExposition($exposition_id, $visiteur_id);
         return $count_log_visite;
     });
     // Map nbLogVisiteExposition
     $lua->registerCallback('hasVisiteMultiPlateforme', function ($logVisiteObj) {
         $interactif_id = $logVisiteObj['interactif_id'];
         $visiteur_id = $logVisiteObj['visiteur_id'];
         $count_log_visite = LogVisiteTable::getInstance()->hasLogVisiteMultiPlateforme($interactif_id, $visiteur_id);
         return $count_log_visite;
     });
     // Map getTotalXP
     $lua->registerCallback('getTotalScore', function () {
         $capscience_total_score = XpTable::getInstance()->getTotalScore();
         return $capscience_total_score;
     });
     // Map nbLogVisiteExposition
     $lua->registerCallback('getTotalScoreByVisiteur', function ($visiteur_id) {
         $visiteur = Doctrine_Core::getTable('Visiteur')->findOneByGuid($visiteur_id);
         $visiteur_score = $visiteur->getTotalXp();
         return $visiteur_score;
     });
     // Map nbLogVisiteExposition
     $lua->registerCallback('getTotalScoreByTypologieAndVisiteur', function ($typologie_id, $visiteur_id) {
         $visiteur_score_by_typlogie = XpTable::getInstance()->getTotalScoreByTypologieAndVisiteur($typologie_id, $visiteur_id);
         return $visiteur_score_by_typlogie;
     });
     // create new notification
     $lua->registerCallback('createNotification', function ($visiteur_id, $libelle, $params = array()) {
         $notif = new Notification();
         $notif->setLibelle($libelle);
         $notif->setVisiteurId($visiteur_id);
         if (isset($params['visite_id'])) {
             $notif->setVisiteId($params['visite_id']);
         }
         if (isset($params['from_model'])) {
             $notif->setFromModel($params['from_model']);
         }
         if (isset($params['from_model_id'])) {
             $notif->setFromModelId($params['from_model_id']);
         }
         if (isset($params['parameter'])) {
             $notif->setParameter(json_encode((array) $params['parameter']));
         }
         $notif->save();
     });
 }
Example #9
0
 protected function notifyToInteractif($title, $message)
 {
     var_dump(sprintf("NOTIFY %s : %s : %s", $title, $message, $this->getVisiteurId()));
     return caNotificationsTools::getInstance()->sendNotification('general:notif', 'interactif:' . $this->getInteractifId(), array('title' => $title, 'message' => $message));
 }