[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-wpkg/sources/wawadeb/ -> se3_wpkglist.php (source)

   1  <?php
   2  // $GET $POST
   3  $branche=$_GET['branch'];
   4  
   5  
   6  // Récupérer la date de dernière modification d'un fichier distant (la fonction retourne un timestamp unix, cf. http://wiki.pcinfo-web.com/timestamp )
   7  function RecupDateModifDistant( $uri ) {
   8      // default
   9      $unixtime = 0;
  10      $fp = fopen( $uri, "r" );
  11      if( !$fp ) {return;}
  12  
  13      $MetaData = stream_get_meta_data( $fp );
  14  
  15      foreach( $MetaData['wrapper_data'] as $response )
  16          {
  17          // Dans le cas d'une redirection vers une autre page / un autre fichier
  18          if( substr( strtolower($response), 0, 10 ) == 'location: ' )
  19              {
  20              $newUri = substr( $response, 10 );
  21              fclose( $fp );
  22              return RecupDateModifDistant( $newUri );
  23              }
  24          // Dans le cas où on a bien l'en-tête "last-modified"
  25          elseif( substr( strtolower($response), 0, 15 ) == 'last-modified: ' )
  26              {
  27              $unixtime = strtotime( substr($response, 15) );
  28              //$unixtime = substr($response,15);
  29              // Mise au format pour l'interface SE3
  30              $unixtime = date( 'Y-m-d\TH:i:sO' , $unixtime );
  31              break;
  32              }
  33          }
  34      fclose( $fp );
  35      return $unixtime;
  36  }
  37  
  38  
  39  
  40  // en-tete du fichier a generer.
  41  echo "<?xml version='1.0' encoding='iso-8859-1'?>\n";
  42  echo "<packages>\n";
  43  
  44  $svnurl="http://svn.tice.ac-caen.fr/svn/SambaEdu3/wpkg-packages";
  45  
  46  if ($branche<>"testing") {
  47      $branche="stable";
  48  }
  49  
  50  $file = fopen ("$svnurl/$branche", "r");
  51  if (!$file) {
  52    echo "<p>Impossible de lire la page.\n";
  53    exit;
  54  }
  55  while (!feof ($file)) {
  56      $line = fgets ($file, 1024);
  57      /* Cela ne fonctionne que si les balises href sont correctement utilisees */
  58      //if (preg_match ("@\<a.*\>(.*)/\</a\>@i", $line, $out)) {
  59       //   $rep = $out[1];
  60          //echo $rep;
  61  
  62       //   if ($rep <> "..") {
  63              //echo $rep;
  64              // pour la date : date("F d Y H:i:s", filename($xml));
  65              //$srep = fopen ("$svnurl/$branche/$rep", "r");
  66              //while (!feof ($srep)) {
  67                  //$files = fgets ($srep, 1024);
  68                  if (preg_match ("@\<a.*\>(.*).xml\</a\>@i", $line, $xmlfiles)) {
  69                      $xmlfile = $xmlfiles[1];
  70                      // LIRE LE id dans le fichier $xmlfile.xml et sa date
  71                       $filedate = RecupDateModifDistant( "$svnurl/$branche/$rep/$xmlfile.xml" );
  72              //$fileopened = fopen ("$svnurl/$branche/$rep/$xmlfile.xml", "r");
  73                      // recuperation de l'id dans le xml
  74                      //$filedate=date("F d Y H:i:s", filemtime($svnurl/$branche/$rep/$xmlfile.xml));
  75                      //fclose($fileopened);
  76              $md5sum=md5_file("$svnurl/$branche/$xmlfile.xml");
  77              //$md5sum="b3aa7b6f8357e66f291b8cda074e990d";
  78                      $id="$xmlfile"; // pour les tests
  79                      echo "<package id='$id' xml='$xmlfile.xml' url='$svnurl/$branche/$xmlfile.xml' md5sum='$md5sum' date='$filedate' svn_link='$svnurl/logs/$xmlfile.log' /> ";
  80                       //echo "$xmlfile.xml";
  81                      echo "\n";
  82                  }
  83              //}
  84              //fclose($srep);
  85         // }
  86      //}
  87  }
  88  fclose($file);
  89  echo "</packages>";
  90  ?>


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