public function save(Doctrine_Connection $conn = null) { $this->setIsTosync(1); parent::save($conn); // Notify websocket server caNotificationsTools::getInstance()->notifyUpdate('peripherique', $this->toArray()); }
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())); } }
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)); }
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()); }
protected function notifyToVisiteur($title, $message) { var_dump("NOTIFY" . $message); return caNotificationsTools::getInstance()->sendNotification('general:notif', 'visiteur:' . $this->getVisiteurId(), array('title' => $title, 'message' => $message)); }
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(); }); }
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)); }