Advertisement
quenti77

Refresh des tweet (BDD require)

Jan 10th, 2013
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.92 KB | None | 0 0
  1. <?php
  2.     $racine_site = "../";
  3.     $load_tweet = false;
  4.     $user = "quenti7794";
  5.     $count = 80;
  6.     $date_format = 'd M Y H:i:s';
  7.     $url = "https://api.twitter.com/1/statuses/user_timeline.xml?include_entities=true&include_rts=true&screen_name=".$user."&amp;count=".$count;
  8.    
  9.     include("".$racine_site."include/fonction.php");
  10.    
  11.     // Incrémentation du fichier
  12.     $incFile = fopen('compteur.txt', 'r+');
  13.    
  14.     $timeSpan = fgets($incFile);
  15.     $timeSpan += 1;
  16.    
  17.     fseek($incFile, 0);
  18.     fputs($incFile, "  ");
  19.    
  20.     if ($timeSpan >= 30) {
  21.         $timeSpan = 0;
  22.         $load_tweet = true;
  23.     }
  24.    
  25.     fseek($incFile, 0);
  26.     fputs($incFile, $timeSpan);
  27.     fclose($incFile);
  28.    
  29.     if ($load_tweet)
  30.     {
  31.         // On charge les derniers tweets
  32.         $oXML = simplexml_load_file( $url );
  33.        
  34.         foreach ( $oXML->status as $oStatus )
  35.         {
  36.             $date_time = date_create($oStatus->created_at);
  37.             $date_insert = date_format($date_time, 'Y-m-d H:i:s');
  38.            
  39.             $oUser = $oStatus->user;
  40.             $pseudo = utf8_decode($oUser->screen_name);
  41.            
  42.             $tweet = utf8_decode($oStatus->text);
  43.            
  44.             $req = $bdd->prepare("SELECT t_Pseudo, t_Date, t_Message FROM tweet WHERE t_Pseudo = :pseudo AND t_Date = :temps AND t_Message = :tweet");
  45.             $req->bindValue(':pseudo', $pseudo, PDO::PARAM_STR);
  46.             $req->bindValue(':temps', $date_insert, PDO::PARAM_STR);
  47.             $req->bindValue(':tweet', $tweet, PDO::PARAM_STR);
  48.             $req->execute();
  49.            
  50.             $data = $req->fetchAll();
  51.             $req->closeCursor();
  52.            
  53.             if (count($data) == 0)
  54.             {
  55.                 $req = $bdd->prepare("INSERT INTO tweet VALUES ('', :pseudo, :temps, :tweet, 0)");
  56.                 $req->execute(array( 'pseudo' => $pseudo,
  57.                                 'temps' => $date_insert,
  58.                                 'tweet' => $tweet));
  59.             }
  60.         }
  61.     }
  62.    
  63.     $load_tweet = false;
  64.    
  65.     // On prend le dernier tweet (ou ReTweet) non lu sauf si on à tous lu
  66.     $req = $bdd->prepare("SELECT t_ID, t_Pseudo, t_Date, t_Message FROM tweet WHERE t_Read = 0 ORDER BY t_Date ASC LIMIT :offset, :limit");
  67.     $req->bindValue(':offset', 0, PDO::PARAM_INT);
  68.     $req->bindValue(':limit', 1, PDO::PARAM_INT);
  69.     $req->execute();
  70.    
  71.     $data = $req->fetchAll();
  72.     $req->closeCursor();
  73.    
  74.     if (count($data) == 0)
  75.     {
  76.         $load_tweet = true;
  77.         // S'il sont tous lu on prend le premier
  78.         $req = $bdd->prepare("SELECT t_ID, t_Pseudo, t_Date, t_Message FROM tweet ORDER BY t_Date DESC LIMIT :offset, :limit");
  79.         $req->bindValue(':offset', 0, PDO::PARAM_INT);
  80.         $req->bindValue(':limit', 1, PDO::PARAM_INT);
  81.         $req->execute();
  82.        
  83.         $data = $req->fetchAll();
  84.         $req->closeCursor();
  85.     }
  86.    
  87.     // On affiche les informations
  88.     $donnee = $data[0];
  89.     $date_time = date_create($donnee["t_Date"]);
  90.    
  91.     if ($load_tweet == false)
  92.     {
  93.         // On update la ligne du tweet qui est lu
  94.         $req = $bdd->prepare("UPDATE tweet SET t_Read = 1 WHERE t_ID = :id_tweet");
  95.         $req->bindValue(':id_tweet', $donnee["t_ID"], PDO::PARAM_INT);
  96.         $req->execute();
  97.     }
  98.    
  99.     echo date_format($date_time, $date_format)." \n";
  100.     echo $donnee["t_Pseudo"]." \n";
  101.     echo $donnee["t_Message"]." \n";
  102. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement