$tester_TimeZone = SERVER_TIMEZONE; } else { $tester_TimeZone = MultiPort::getTesterTimeZone($tester); $offset = get_timezone_offset($tester_TimeZone,SERVER_TIMEZONE); } $data_ora = sumDateTimeFN(array($date,$time)) - $offset; */ $message_ha = $form; $offset = 0; if ($sess_selected_tester === NULL) { $tester_TimeZone = SERVER_TIMEZONE; } else { $tester_TimeZone = MultiPort::getTesterTimeZone($sess_selected_tester); $offset = get_timezone_offset($tester_TimeZone, SERVER_TIMEZONE); } $data_ora = sumDateTimeFN(array($data_evento, $ora_evento)) - $offset; $message_ha['data_ora'] = $data_ora; //"now"; $message_ha['tipo'] = ADA_MSG_AGENDA; //$message_ha['mittente'] = $user_name; $message_ha['mittente'] = $user_uname; // delegate sending to the message handler $res = $mh->send_message($message_ha); if (AMA_DataHandler::isError($res)) { $errObj = new ADA_Error($res, translateFN('Errore in inserimento appuntamento'), NULL, NULL, NULL, $error_page . '?err_msg=' . urlencode(translateFN('Errore in inserimento appuntamento'))); } $status = urlencode(translateFN('Appuntamento inserito in agenda')); header("Location: {$success}?status={$status}"); exit; } // end if count
if (AMA_Common_DataHandler::isError($service_infoAr)) { $errObj = new ADA_Error($service_infoAr, translateFN("An error occurred.")); } $service_name = translateFN($service_infoAr[1]); $date_data_Ar = explode('_', $_POST['date']); $date = $date_data_Ar[0]; $time = $date_data_Ar[1]; $time = "{$time}:00"; $offset = 0; if ($tester === NULL) { $tester_TimeZone = SERVER_TIMEZONE; } else { $tester_TimeZone = MultiPort::getTesterTimeZone($tester); $offset = get_timezone_offset($tester_TimeZone, SERVER_TIMEZONE); } $data_ora = sumDateTimeFN(array($date, $time)) - $offset; $event_token = ADAEventProposal::extractEventToken($subject); $event_flag = 0; if (ADA_CHAT_EVENT & $practitioner_proposal['flags']) { $new_subject = translateFN('Appuntamento in chat'); //$url = HTTP_ROOT_DIR.'/comunica/chat.php'; $event_flag = ADA_CHAT_EVENT; } else { if (ADA_VIDEOCHAT_EVENT & $practitioner_proposal['flags']) { $new_subject = translateFN('Appuntamento in videochat'); //$url = HTTP_ROOT_DIR.'/comunica/videochat.php'; $event_flag = ADA_VIDEOCHAT_EVENT; } else { if (ADA_PHONE_EVENT & $practitioner_proposal['flags']) { $new_subject = translateFN('Appuntamento telefonico'); //$url = NULL;
/** * Checks if an event can be proposed in the given date and time * * @param string $date * @param string $time * @return TRUE on success, a ADA error code on failure */ public static function canProposeThisDateTime(ADALoggableUser $userObj, $date, $time, $tester = NULL) { $date = DataValidator::validate_date_format($date); if ($date === FALSE) { return ADA_EVENT_PROPOSAL_ERROR_DATE_FORMAT; } else { $current_timestamp = time(); /** * @var timezone management */ $offset = 0; if ($tester === NULL) { $tester_TimeZone = SERVER_TIMEZONE; } else { $tester_TimeZone = MultiPort::getTesterTimeZone($tester); $offset = get_timezone_offset($tester_TimeZone, SERVER_TIMEZONE); } $timestamp_time_zone = sumDateTimeFN(array($date, "{$time}:00")); $timestamp = $timestamp_time_zone - $offset; if ($current_timestamp >= $timestamp) { return ADA_EVENT_PROPOSAL_ERROR_DATE_IN_THE_PAST; } if (MultiPort::hasThisUserAnAppointmentInThisDate($userObj, $timestamp)) { return ADA_EVENT_PROPOSAL_ERROR_DATE_IN_USE; } } return TRUE; }
$user_info = $dh->_get_user_info($id_chat_owner); // we get the type of the user $owner_type = $user_info['tipo']; // we verify if the typed username from the user is a valid username if ($owner_type == AMA_TYPE_TUTOR or $owner_type == AMA_TYPE_SWITCHER) { $msg = translateFN("<b>Utente abilitato</b>"); } else { $errors["chat_owner"] = translateFN("Il campo 'Proprietario' contiene un nome utente non esistente oppure non abilitato!"); } } // create a unix data date format $start_data_array = array($_POST['start_day'], $_POST['start_time']); $start_data = sumDateTimeFN($start_data_array); // create a unix data date format $end_data_array = array($_POST['end_day'], $_POST['end_time']); $end_data = sumDateTimeFN($end_data_array); // a new chatroom could be created only if no errors were found if (count($errors) == 0) { // prepare message to create //$chatroom_ha = $create_chat_form; switch ($_POST['chat_type']) { case 'Privata': $chatroom_ha['chat_type'] = INVITATION_CHAT; break; case 'Classe': $chatroom_ha['chat_type'] = CLASS_CHAT; break; case 'Pubblica': $chatroom_ha['chat_type'] = PUBLIC_CHAT; break; default: