<?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
?>