[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3master/var/www/se3/includes/ -> test_dates.inc.php (source)

   1  <?php
   2  
   3  
   4     /**
   5     * Contient une fonction qui compare la date entre client et serveur et ouvre un popup en cas de diff
   6    
   7     * @Version $Id$
   8     
   9     * @Projet LCS / SambaEdu 
  10     
  11     * @Auteurs Stephane Boireau (crob)
  12     
  13     * @Note Ce fichier doit etre appele par un include dans toutes les pages.
  14  
  15     * @Licence Distribue sous la licence GPL
  16     */
  17  
  18     /**
  19  
  20     * file: test_date.inc.php
  21     * @Repertoire: includes/ 
  22     */  
  23    
  24  
  25  
  26  
  27  /**
  28  
  29  * Fonctions qui compare la date et heure entre serveur et client et ouvre un popup.
  30      
  31  * @Parametres
  32  * @Return 
  33  */
  34  
  35  function test_et_alerte_dates(){
  36      // Date du SE3:
  37      $aujourdhui = getdate();
  38      $mois_se3 = $aujourdhui['mon'];
  39      $jour_se3 = $aujourdhui['mday'];
  40      $annee_se3 = $aujourdhui['year'];
  41      $heure_se3 = $aujourdhui['hours'];
  42      $minute_se3 = $aujourdhui['minutes'];
  43      $seconde_se3 = $aujourdhui['seconds'];
  44  
  45      $timestamp_se3=time();
  46  
  47      echo "<script type='text/javascript'>
  48      // Date du SE3:
  49      var annee_se3=$annee_se3;
  50      var mois_se3=$mois_se3;
  51      var jour_se3=$jour_se3;
  52      var heure_se3=$heure_se3;
  53      var minute_se3=$minute_se3;
  54      var seconde_se3=$seconde_se3;
  55  
  56      // Date du client:
  57      var d = new Date();
  58      jour_client =d.getDate();
  59      mois_client =eval(d.getMonth() + 1);
  60      annee_client =d.getFullYear();
  61      heure_client =d.getHours();
  62      minute_client =d.getMinutes();
  63      seconde_client =d.getSeconds();
  64  
  65      // Timestamp du client et du serveur:
  66      timestamp_client=Math.floor((new Date()).getTime() / 1000);
  67      timestamp_se3=$timestamp_se3;
  68  
  69      // Test sur l'ecart entre les timestamp:
  70      test=Math.abs(timestamp_client-timestamp_se3);
  71  
  72      // Quelle est l'ecart minimum qui provoque les problemes de connexion?
  73      // Lors de mes tests, c'etait entre 3 et 4 minutes...
  74      if(test>200){
  75              alert('L\'heure du client et celle du serveur ne coïncident pas.\\nCela peut empêcher la connexion:\\nServeur: '+jour_se3+'/'+mois_se3+'/'+annee_se3+' '+heure_se3+':'+minute_se3+':'+seconde_se3+'\\n'+'Client:    '+jour_client+'/'+mois_client+'/'+annee_client+' '+heure_client+':'+minute_client+':'+seconde_client)
  76      }
  77  
  78      </script>\n";
  79  
  80      /*
  81      // Pour tester, effectuer:
  82      // # date --set='2 minutes ago'
  83      // Et pour retablir:
  84      // # ntpdate ntp.ac-creteil.fr
  85      */
  86  }
  87  ?>


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1