Fork me on GitHub

Rapport de message :*
 

Re: Régénérer les desciptions avec allociné

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 
[RecApocalypse
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 AND lid =1511
Error number
1064
Error message
You have an error in your SQL syntaxcheck 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 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 
[RecApocalypse
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:
Open in new window


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)
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

96 Personne(s) en ligne (72 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 96 | Plus ...