Example #1
0
 /**
  * Returns an instance of ChatDataHandler.
  *
  * @param  string $dsn - optional, a valid data source name
  * @return an instance of ChatDataHandler
  */
 static function instance($dsn = null)
 {
     if (self::$instance === NULL) {
         self::$instance = new ChatDataHandler($dsn);
     } else {
         self::$instance->setDSN($dsn);
     }
     //return null;
     return self::$instance;
 }
Example #2
0
 /**
  * Obtains a ChatDataHandler instance.
  *
  * @return ChatDataHandler instance
  */
 private static function obtainChatDataHandlerInstance()
 {
     if (!self::isInStaticContext()) {
         $cdh = ChatDataHandler::instance($this->tester_dsn);
     } else {
         $tester_dsn = $_SESSION['sess_selected_tester_dsn'];
         $cdh = ChatDataHandler::instance($tester_dsn);
     }
     return $cdh;
 }
Example #3
0
 public static function hasThisUserAChatAppointment(ADALoggableUser $userObj)
 {
     $id_course_instance = DataValidator::is_uinteger($_SESSION['sess_id_course_instance']);
     if ($id_course_instance === FALSE) {
         return FALSE;
     }
     $fields_list_Ar = array('id_mittente', 'data_ora', 'titolo', 'priorita', 'read_timestamp');
     $clause = '(flags & ' . ADA_CHAT_EVENT . ') AND (flags & ' . ADA_EVENT_CONFIRMED . ')';
     $sort_field = 'data_ora desc';
     $mh = MessageHandler::instance(self::getDSN($_SESSION['sess_selected_tester']));
     $msgs_ha = $mh->find_messages($userObj->getId(), ADA_MSG_AGENDA, $fields_list_Ar, $clause, $sort_field);
     if (!AMA_DataHandler::isError($msgs_ha)) {
         $today_time = today_timeFN();
         $today_date = today_dateFN();
         $today_time_date = date(ADA_DATE_FORMAT);
         foreach ($msgs_ha as $one_date) {
             $time_2_add = 30 * 60;
             // 30 minuti di arrotondamento.
             $unix_date_app_rounded = $one_date[1] + $time_2_add;
             $udate_now = time();
             if ($udate_now >= $one_date[1] and $udate_now <= $unix_date_app_rounded) {
                 //$matches = array();
                 //preg_match('/([0-9]+#)/',$one_date[2], $matches);
                 //$message_internal_identifier = $matches[1];
                 $event_token = ADAEventProposal::extractEventToken($one_date[2]);
                 $cdh = ChatDataHandler::instance(MultiPort::getDSN($_SESSION['sess_selected_tester']));
                 $id_chatroom = $cdh->get_chatroom_with_title_prefixFN($event_token);
                 if (AMA_DataHandler::isError($id_chatroom)) {
                     return FALSE;
                 }
                 return $id_chatroom;
                 //return TRUE;
             }
         }
     }
     return FALSE;
 }