All pastes #388079 Raw Edit

Mine

public text v1 · immutable
·published 2007-03-09 20:41 UTC
rendered paste body
<?php
//chrono partie 1
$temps = microtime ();
$temps = explode (" ", $temps);
$temps = $temps[1] + $temps[0];
$chrono_start = $temps;
//fin chrono partie 1

//si le parametre indiquant la categorie est bien présent et est bien un chiffre
if (!isset($_GET['cat']) OR !is_numeric($_GET['cat'])) {echo " catégorie non définie ou argt non numérique !"; exit();}
if (!isset($_GET['p']) OR !is_numeric($_GET['p'])) {echo " Page non définie ou argt non numérique !"; exit();}

//on inclu les fonctions
include 'inc/fonctions.php';

$cat = $_GET['cat'];
$pag = $_GET['p'];

//requete mysql -- infos sur les categories
include "inc/mysql-connect.php";
$sql = 'SELECT nom, pages FROM categories WHERE id='.$cat;
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
    {
    echo '<h1>'.$data['nom'].'</h1>';
    //$pages étant le nombres de pages == nombre de fichiers rss pour la categorie != $pag  etant l'id de la page en cours
    $pages = $data['pages'];
    }

// CONFIGURATION
$cat_url = 'http://www.dailymotion.com/rss/bookmark/humour_is_free_'.$cat;
$feed_url = 'http://www.dailymotion.com/rss/bookmark/humour_is_free_'.$cat.'/'.$pag;
$thumbnail = '320x240'; // Taille des vignettes : "320x240" ou "160x120"

//-------CACHE -------//
//1 repertoire par categorie
//mise a jour OU mise en cache du fichier xml si cache n'existe pas

$file = 'cache/'.$cat.'/'.$pag.'.xml';
if (file_exists($file)) {
   $lastmodif = filemtime($file);
   $now = time();
   $durée = $now-$lastmodif;
   if($durée>="10800")
   {
     //fichier présent mais trop vieux on met a jour
     copie($feed_url, $cat, $pag);
   }
}
else{
  //fichier absent , on le telecharge dans le fichier cache  correspondant
  copie($feed_url, $cat, $pag);
}

//PAGINATION
$contenu = true;
$page = $pages+1;
//on sais que cette categorie a X pages ($pages) on verifie que la page $pages+1 ne contient pas d'infos , si oui >>MAJ
while ($contenu == true) {
ifcontenu($cat_url, $page);
if ($contenu == true)
{
//copie du fichier dans cache
$temps = $cat_url.'/'.$page;
copie($temps, $cat, $page);
//on met +1 dans le nombre de page dans la categorie
$sql = ' UPDATE categories SET pages='.$page.' WHERE id='.$cat;
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
}
$page++;
}
// on ferme la connexion à mysql
mysql_close();
//-------FIN DU CACHE -------//


// Chargement du flux...
if($xml = simplexml_load_file($feed_url)) {
	$xml = $xml->channel;
	foreach($xml->item as $item) {
		$title = $item->title;
		$swf = $item->children('http://search.yahoo.com/mrss');
		$swf = $swf->group->children('http://search.yahoo.com/mrss');
    $swf = $swf[3]->attributes();
    $swf = $swf->url;
		$thumbnail_url = $item->children('http://search.yahoo.com/mrss');
		$thumbnail_url = $thumbnail_url->thumbnail->attributes();
		if($thumbnail != '320x240') $thumbnail_url = str_replace('320x240', $thumbnail, $thumbnail_url);
    echo $title;
    $arrswf = explode("/", $swf);
		echo '<a href="video.php?video='.$arrswf[4].'" title="Regarder '.$title.'"><br/><img src="'.$thumbnail_url.'" alt="'.$title.'" /><div class="lien">Lien</div></a>';
  }
}
// Si erreur lros du chargement, affichage...
else{
  echo '<strong>Impossible de charger le flux '.$feed_url.'.</strong>';
}
//chrono partie 2
$temps = microtime ();
$temps = explode (" ", $temps);
$temps = $temps[1] + $temps[0];
$chrono_finish = $temps;
$temps_generation = $chrono_finish - $chrono_start;
echo 'Page générée en '.number_format ($temps_generation, 4,',','').' s';
//fin chrono partie 2
?>