Exemplo n.º 1
0
 /**
  * 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);
     }
   }
 }