47 lines
2.9 KiB
Plaintext
47 lines
2.9 KiB
Plaintext
function createNewPlane(plane) {
|
|
// ajoute le nouvel avion dans la DB
|
|
// envoi un mail de confirmation a l'envoyeur et au destinataire (utiliser les langues expeLang et destLang + si expeKnown = false bien penser a ne pas afficher le mail de l'envoyeur dans le mail pour le destinataire).
|
|
// lance la "roulette" des peripeties aleatoires -> si l'une arrive générer l'effet ->
|
|
Si avion perdu : envoyer mails d'alerte a une date aleatoire entre sentTime et deliveryTime + supprimer l'avion de la DB.
|
|
Si avion accéléré ou ralenti : envoyer mails d'alerte a une date aleatoire sentTime et deliveryTime + modifier deliveryTime & deliveryTimeServer
|
|
echo juste un callback success / error que j'utiliserai pour l'UI.
|
|
return uid
|
|
}
|
|
|
|
plane = {
|
|
=======>uid : (intenger) -> auto-increment par la BD
|
|
deliveryTime : (integer), -> unix time en TZ de l'arrivée
|
|
deliveryTZ : (string), -> time zone de l'arrivée en texte
|
|
deliveryTimeServer : (integer), -> unix en GMT du server (pour le cron)
|
|
destLat : (float), -> latitude de la destination
|
|
destLon : (float), -> longitude de la destination
|
|
destName : (string), -> nom de la destination (nom de la ville)
|
|
sentTime : (integer), -> unix time en TZ du depart
|
|
sentTZ : (string), -> time zone du depart en texte
|
|
startLat : (float), -> latitude du point de depart
|
|
startLon : (float), -> longitude du point de depart
|
|
startName : (string), -> nom du point de depart (nom de la ville)
|
|
message : (string), -> contenu du message, sera du HTML avec des balises simples de style genre <b>, <h1> etc.
|
|
public : (boolean), -> true/false en fonction de si le contenu du message est public
|
|
color : (string), -> le code hexa de la couleur de l'avion aleatoire parmis la liste.
|
|
expeMail : (string), -> addresse mail de l'expediteur
|
|
destMail : (string), -> addresse mail de lu destinataire
|
|
expeKnown : (boolean) -> true/false en fonction de si l'utilisateur choisi de devoiler son addresse mail pour la premiere notification d'envoi au destinataire.
|
|
expeLang : (string) -> langue de l'envoyeur format 2 lettres ('en','fr','ar')
|
|
destLang : (string) -> langue du destinataire format 2 lettres ('en','fr','ar')
|
|
}
|
|
|
|
function getCurrentPlanes(){
|
|
echo
|
|
// un array JSON de tous les avions actuellement en vol (deliveryTimeServer < Now() du serveur).
|
|
//Ne renvoie par avion que les champs: deliveryTime, deliveryTZ, destLat, destLon, destName, sentTime, sentTZ, startLon, startLat, startName, color
|
|
}
|
|
|
|
function getAnthology(page){
|
|
echo
|
|
// un array JSON de tous les avions public = yes depuis le debut de la DB pour la page (20 results par page) e.g si page = 3, renvoie les 20 results apres les 40 premiers.
|
|
//Ne renvoie par avion que les champs: deliveryTime, deliveryTZ, destName, sentTime, sentTZ, startName, message
|
|
}
|
|
|
|
+ la fonction d'envoi des mails une fois l'avion arrivé avec le cron (envoi du mail + suppression de la DB si public = false)
|