Titre du sujet : Re: Régénérer les desciptions avec allociné par seboseboss sur 04/01/2015 13:10:52
oh yes:
Code trouvé pour Get On Up : 125174
mise à jour réussi pour Get On Up
mise à jour réussi pour [Rec] 4 : Apocalypse
Code trouvé pour Interstellar : 114782
mise à jour réussi pour Interstellar
Code trouvé pour La Légende de Manolo : 203878
mise à jour réussi pour La Légende de Manolo
Code trouvé pour Hunger Games - La Révolte : Partie 1 : 204925
mise à jour réussi pour Hunger Games - La Révolte : Partie 1
Code trouvé pour Le Hobbit : la Bataille des Cinq Armées : 210516
mise à jour réussi pour Le Hobbit : la Bataille des Cinq Armées
Mais non:
0.000320 - UPDATE xoopstube_videos .SET description = $descrip WHERE cid = 2 AND lid =1511
Error number: 1064
Error message: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '= $descrip WHERE cid = 2 AND lid =1511' at line 1
code:
global $xoopsModule, $xtubemyts, $xoopsModuleConfig;
$descrip = $xtubemyts->addslashes(ltrim('$descrip'));
$lid = $titre_arr['lid'];
$sql2 = $xoopsDB->queryF('UPDATE ' . $xoopsDB->prefix('xoopstube_videos') . " .SET description = " . $descrip . '
WHERE cid = 2 AND lid ='
. $lid);
echo "mise à jour réussi pour " . $title . "<br />";
et maintenant:
0.000427 - UPDATE xoopstube_videos SET description = $descrip WHERE cid = 2 AND lid =1511
Error number: 1054
Error message: Unknown column '$descrip' in 'field list'
avec:
$descrip = '' . $synopsis .'<br /><br />Date de production ' . $annee . '('.$heure.'h'.$minute.'min)<br />Réalisé par ' . $nom_realisateur . '<br />Avec ' . $nom_acteur . '<br />Genre ' . $nom_genre . ' ' . $nom_genre2 . '<br />Nationalité ' . $nom_pays . '<br /><div id="demo"><span class="cutout"><img src="' . $url_img . '" style="width: 243px; height: 363px;"></img></span><br /><br /><a href="' . $data->trailer['href'] . '" class="zoombox w600% h340%" title="Bande annonce : ' . $titre2 . '"><img src="/streaming/images/icon/trailer.png" alt="/streaming/images/icon/trailer.png" class="decoded" style="border: medium none;"></a></img></div><br />';
global $xoopsModule, $xtubemyts, $xoopsModuleConfig;
$descrip = $xtubemyts->addslashes(ltrim('$descrip'));
$lid = $titre_arr['lid'];
$sql2 = $xoopsDB->queryF('UPDATE ' . $xoopsDB->prefix('xoopstube_videos') . " SET description = " . $descrip . '
WHERE cid = 2 AND lid ='
. $lid);
echo "mise à jour réussi pour " . $title . "<br />";
}
catch( ErrorException $error )
{
// En cas d'erreur
echo "Erreur n°", $error->getCode(), ": ", $error->getMessage(), "pour " . $title . " <br />";
}
}
include XOOPS_ROOT_PATH . '/footer.php';
?>
AH c'est pas trop tôt, mais c'est pas parfait:
<?php
/**
* $Id: regen_descr.php
* Module: XoopsTube
*/
include 'header.php';
include XOOPS_ROOT_PATH . '/header.php';
include XOOPS_ROOT_PATH . '/header.php';
require_once XOOPS_ROOT_PATH . '/api-allocine/api-allocine-helper.php';
function removeAccents($title) {
$accentued = array("à","á","â","ã","ä","ç","è","é","ê","ë","ì",
"í","î","ï","ñ","ò","ó","ô","õ","ö","ù","ú","û","ü","ý","ÿ",
"À","Á","Â","Ã","Ä","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ñ","Ò",
"Ó","Ô","Õ","Ö","Ù","Ú","Û","Ü","Ý","'",",","!","?",".",":","&");
$nonaccentued = array("a","a","a","a","a","c","e","e","e","e","i","i",
"i","i","n","o","o","o","o","o","u","u","u","u","y","y","A","A","A",
"A","A","C","E","E","E","E","I","I","I","I","N","O","O","O","O","O",
"U","U","U","U","Y"," "," "," "," "," "," "," ");
$title = str_replace($accentued, $nonaccentued, $title);
return $title;
}
function removespace($nom_genre)
{
$spaced = array("Arts Martiaux","Comédie dramatique","Comédie musicale","Science fiction");
$nonspaced = array("Arts-Martiaux","Comédie-dramatique","Comédie-musicale","Science-fiction");
$nom_genre = str_replace($spaced, $nonspaced, $nom_genre);
return $nom_genre;
}
function removetagtitre($title)
{
$taged = array(" [Cam-TS-TC]"," VOSTFR"," DVDSCR"," vostfr");
$nontaged = array("","","","");
$title = str_replace($taged, $nontaged, $title);
return $title;
}
function datefr($date) {
$split = split("-",$date);
$annee = $split[0];
$mois = $split[1];
$jour = $split[2];
return "$jour"."-"."$mois"."-"."$annee";
$date = $data->release['releaseDate']; // Date format américain
// $date=date("Y-m-d"); // Ou date du jour
}
$sql= $xoopsDB->query('SELECT lid, title FROM ' . $xoopsDB->prefix('xoopstube_videos')
. ' WHERE published > 0 AND published <= ' . time() . ' AND (expired = 0 OR expired > ' . time()
. ') AND offline = 0 AND cid = 8');
// boucle pour parcourir les résultats de la requête
while ( $myrow = $xoopsDB->fetchArray($sql)) {
$titre_arr =array();
$titre_arr['lid'] = $myrow['lid'];
$titre_arr['title'] = $myrow['title'];
//print_r ($titre_arr);
// On lance la recherche des codes films grace aux titres
$helper = new AlloHelper;
$title = $titre_arr['title'];
$title = removetagtitre($title);//enlever les tag en fin de chaine
//echo $title;
$q = removeAccents($title); //nettoyage du titre pour recherche
$page = 1;
$count = 1;
if (isset($title)) {
try {
// Envoi de la requête de recherche
$info = $helper->search($q, $page, $count)->getArray();
//print_r($info);
if (isset($info['movie'])) {
foreach ($info['movie'] as $key) {
$code = $key['code'];
echo "Code trouvé pour " . $title . " : " . $code . " <br />";
}
}
}
catch (ErrorException $error) {
// En cas d'erreur
echo "Erreur n°", $error->getCode(), ": ", $error->getMessage(), "pour " . $title . " <br />";
}
}
// début de la récupération des infos
// Créer l'objet
$allohelper = new AlloHelper;
//Pour plus de clareté, on définit les paramètres à l'avance: le code du film, et la quantité d'informations à récupérer.
$profile = 'medium';
$filter = 'movie';
//Ensuite, il est conseillé d'effectuer des requêtes dans un bloc try{} catch(){} pour gérer les erreurs.
try
{
// Envoi de la requête
$data = $allohelper->movie( $code, $profile, $filter );
//print_r($data->getArray());
//Convertir la durée en hh:mm:ss
$total = $data->runtime; //Nombre de secondes
$heure = intval(abs($total / 3600));
$total = $total - ($heure * 3600);
$minute = intval(abs($total / 60));
$total = $total - ($minute * 60);
$seconde = $total;
//Convertir la date en jj.mm.aa
$date = $data->release['releaseDate'];
$url_img = $data->poster;
$titre2 = $data->title;
$annee = $data->productionYear;
$duree = $data->runtime;
$date_sortie = $data->release['releaseDate'];
$nom_realisateur = $data->castingShort['directors'];
$synopsis = $data->synopsis;
$nom_acteur = $data->castingShort['actors'];
$nom_pays = $data->nationality[0]['$'];
$bande_a = $data->trailerEmbed;
$nom_genre = $data->genre[0]['$'];
$nom_genre2 = $data->genre[1]['$'];
$nom_genre = removespace($nom_genre);
$nom_genre2 = removespace($nom_genre2);
$descrip = '' . $synopsis .'<br /><br />Date de production ' . $annee . '('.$heure.'h'.$minute.'min)<br />Réalisé par ' . $nom_realisateur . '<br />Avec ' . $nom_acteur . '<br />Genre ' . $nom_genre . ' ' . $nom_genre2 . '<br />Nationalité ' . $nom_pays . '<br /><div id="demo"><span class="cutout"><img src="' . $url_img . '" style="width: 243px; height: 363px;"></img></span><br /><br /><a href="' . $data->trailer['href'] . '" class="zoombox w600% h340%" title="Bande annonce : ' . $titre2 . '"><img src="/streaming/images/icon/trailer.png" alt="/streaming/images/icon/trailer.png" class="decoded" style="border: medium none;"></a></img></div><br />';
global $xoopsModule, $xtubemyts, $xoopsModuleConfig;
$descrip = $xtubemyts->addslashes(ltrim($descrip));
$lid = $titre_arr['lid'];
$sql2 = "UPDATE " . $xoopsDB->prefix('xoopstube_videos')
. " SET description='$descrip'
WHERE lid =" . $lid;
echo "mise à jour réussi pour " . $title . "<br />";
if (!$result = $xoopsDB->queryF($sql2)) {
$_error = $xoopsDB->error() . " : " . $xoopsDB->errno();
XoopsErrorHandler_HandleError(E_USER_WARNING, $_error, __FILE__, __LINE__);
}
}
catch( ErrorException $error )
{
// En cas d'erreur
echo "Erreur n°", $error->getCode(), ": ", $error->getMessage(), "pour " . $title . " <br />";
}
}
include XOOPS_ROOT_PATH . '/footer.php';
?>
resultat pour cid= 8:
Code trouvé pour Get On Up : 125174
mise à jour réussi pour Get On Up
mise à jour réussi pour [Rec] 4 : Apocalypse
Code trouvé pour Interstellar : 114782
mise à jour réussi pour Interstellar
Code trouvé pour La Légende de Manolo : 203878
mise à jour réussi pour La Légende de Manolo
Code trouvé pour Hunger Games - La Révolte : Partie 1 : 204925
mise à jour réussi pour Hunger Games - La Révolte : Partie 1
Code trouvé pour Le Hobbit : la Bataille des Cinq Armées : 210516
mise à jour réussi pour Le Hobbit : la Bataille des Cinq Armées
Les descriptions sont bien dans la base mais pour le deuxième titre (rec4), on a de nouveau la description de get on up (pas bon).Apparement, c'est parceque le code à pas été trouvé pour ce titre. Tout les autres sont bon:
Maintenant que ça à l'air de fonctionner à peu près, il faut que je limite le nombre de ligne à executer à la fois pour pouvoir faire cid= 2 (1500 vidéos)
|