/** * Tâches pseudo-planifiées exécutées lors de la connexion d'un utilisateur d'un établissement * * @param void * @return void */ public static function cron() { // On essaye de faire en sorte que plusieurs connexions ne lancent pas ces procédures simultanément $fichier_lock = CHEMIN_DOSSIER_TMP.'lock.txt'; if(!file_exists($fichier_lock)) { // On écrit un marqueur FileSystem::ecrire_fichier($fichier_lock,''); // On efface les fichiers temporaires obsolètes FileSystem::nettoyer_fichiers_temporaires($_SESSION['BASE']); // On rend visibles les notifications en attente et on supprime les notifications obsolètes Sesamail::envoyer_notifications(); DB_STRUCTURE_NOTIFICATION::DB_supprimer_log_anciens(); // On efface le marqueur FileSystem::supprimer_fichier($fichier_lock); } // Si le fichier témoin du nettoyage existe, on vérifie que sa présence n'est pas anormale (cela s'est déjà produit...) else { if( $_SERVER['REQUEST_TIME'] - filemtime($fichier_lock) > 30 ) { FileSystem::supprimer_fichier($fichier_lock); } } }