Fork me on GitHub

Rapport de message :*
 

Re: Utiliser l'api allociné dans xoopstube

Titre du sujet : Re: Utiliser l'api allociné dans xoopstube
par seboseboss sur 25/12/2014 02:56:41

Mais non j'abandonne pas et d'ailleur j'ai réussi en changeant ma méthode, mais par contre c'est pas xoopsien mais ça marche.

Verdict final ou presque pour alloinfos.php:

<?php
/**
 * $Id: alloinfos.php
 * Module: XoopsTube
 */

include 'header.php';
include 
XOOPS_ROOT_PATH '/header.php';
    
    require_once 
XOOPS_ROOT_PATH '/api-allocine/api-allocine-helper.php';
    
   
// Créer l'objet
    
$helper = 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.

    
$code 1;
    
$profile 'small';

    
//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 $helper->movie$code$profile );
        
        
//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;
        
        
// Afficher les infos
        
echo "<div class='xoopstube_cadreblock'><b><font color=#ff7400>Code du film:</font></b> "$data->code"<br />n";
        echo 
"<b><font color=#ff7400>Titre du film:</font></b> "$data->title"<br />n";
        echo 
"<b><font color=#ff7400>pays:</font></b> "$data->nationality[0]['$'], "<br />n";
        echo 
"<b><font color=#ff7400>pays_id:</font></b> "$data->nationality[0]['code'], "<br />n";
        echo 
"<b><font color=#ff7400>Année de production:</font></b> "$data->productionYear"<br />n";
        echo 
"<b><font color=#ff7400>Durée:</font></b> $heure H : $minute min : $seconde sec <br />n";
        echo 
"<b><font color=#ff7400>Date de sortie:</font></b> "$data->release['releaseDate'], "<br />n";
        echo 
"<b><font color=#ff7400>Realisateur:</font></b> "$data->castingShort['directors'], "<br />n";
        echo 
"<b><font color=#ff7400>Acteur:</font></b> "$data->castingShort['actors'], "<br />n";
        echo 
"<b><font color=#ff7400>Genre:</font></b> "$data->genre[0]['$'], "<br />n";
        echo 
"<b><font color=#ff7400>Genre_id:</font></b> "$data->genre[0]['code'], "<br />n";
        echo 
"<b><font color=#ff7400>Synopsis:</font></b> "$data->synopsisShort"<br /></div>n";
        
// Afficher toutes les données
        //print_r($data->getArray());

    
}
    catch( 
ErrorException $error )
    {
        
// En cas d'erreur
        
echo "Erreur n°"$error->getCode(), ": "$error->getMessage(), PHP_EOL;
    }
    
    
$code_film $xtubemyts->addslashes(ltrim($data->code));
    
$title $xtubemyts->addslashes(ltrim($data->title));
    
$pays_id $xtubemyts->addslashes(ltrim($data->nationality[0]['code']));
    
$annee $xtubemyts->addslashes(ltrim($data->productionYear));
    
$duree $xtubemyts->addslashes(ltrim($data->runtime));
    
$date_sortie $xtubemyts->addslashes(ltrim($data->release['releaseDate']));
    
$nom_realisateur $xtubemyts->addslashes(ltrim($data->castingShort['directors']));
    
$synopsis $xtubemyts->addslashes(ltrim($data->synopsisShort));
    
$nom_acteur $xtubemyts->addslashes(ltrim($data->castingShort['actors']));
    
$nom_genre $xtubemyts->addslashes(ltrim($data->genre[0]['$']));
    
$film_code $xtubemyts->addslashes(ltrim($data->code));
    
$genre_id $xtubemyts->addslashes(ltrim($data->genre[0]['code']));
    
$id_pays $xtubemyts->addslashes(ltrim($data->nationality[0]['code']));
    
$nom_pays $xtubemyts->addslashes(ltrim($data->nationality[0]['$']));
    
    
// Enregistrement des infos dans la base si le code n'existe pas déja..

        
$film = array (
            
'TITRE' => $title,
            
'CODE_FILM' => $code_film,        
            
'PAYS' => $nom_pays
            
'ANNEE' => $annee
            
'GENRE' => $nom_genre
            
'DUREE' => $duree
            
'DATE_SORTIE' => $date_sortie
            
'ACTEUR' => $nom_acteur
            
'REALISATEUR' => $nom_realisateur
            
'SYNOPSIS' => $synopsis
        
);
        
require (
'connect.php');
require (
'lib.php');
    
        
$id_film existe_table($film['CODE_FILM'], 'FILM''ID_FILM''CODE_FILM');
            if (
$id_film==0){
        
$sql 'INSERT INTO FILM'
            
' (id_film, code_film, titre, pays_id, annee, duree, date_sortie, nom_realisateur, synopsis) ';
        
        
$sql .= " VALUES     ('', $code_film, '$title', $pays_id, '$annee', $duree, '$date_sortie','$nom_realisateur', '$synopsis')";
        if (!
$result $xoopsDB->query($sql)) {
                        
$_error $xoopsDB->error() . " : " $xoopsDB->errno();
                        
XoopsErrorHandler_HandleError(E_USER_WARNING$_error__FILE____LINE__);
                    }
        
$sql2 'INSERT INTO ACTEUR'
            
' (id_acteur, nom_acteur) ';
        
        
$sql2 .= " VALUES     ('', '$nom_acteur')";
       
        if (!
$result $xoopsDB->query($sql2)) {
                        
$_error $xoopsDB->error() . " : " $xoopsDB->errno();
                        
XoopsErrorHandler_HandleError(E_USER_WARNING$_error__FILE____LINE__);
                    }
        
$sql3 'INSERT INTO GENRE'
            
' (id_genre, nom_genre) ';
        
        
$sql3 .= " VALUES     ('', '$nom_genre')";
       
        if (!
$result $xoopsDB->query($sql3)) {
                        
$_error $xoopsDB->error() . " : " $xoopsDB->errno();
                        
XoopsErrorHandler_HandleError(E_USER_WARNING$_error__FILE____LINE__);
                    }
        
$sql4 'INSERT INTO ACTEUR_FILM'
            
' (acteur_id, film_code) ';
        
        
$sql4 .= " VALUES     ('', '$film_code')";
       
        if (!
$result $xoopsDB->query($sql4)) {
                        
$_error $xoopsDB->error() . " : " $xoopsDB->errno();
                        
XoopsErrorHandler_HandleError(E_USER_WARNING$_error__FILE____LINE__);
                    }
        
$sql5 'INSERT INTO GENRE_FILM'
            
' (genre_id, film_id) ';
        
        
$sql5 .= " VALUES     ('$genre_id', '')";
       
        if (!
$result $xoopsDB->query($sql5)) {
                        
$_error $xoopsDB->error() . " : " $xoopsDB->errno();
                        
XoopsErrorHandler_HandleError(E_USER_WARNING$_error__FILE____LINE__);
                    }
        
$sql6 'INSERT INTO PAYS'
            
' (id_pays, nom_pays) ';
        
        
$sql6 .= " VALUES     ('', '$nom_pays')";
       
        if (!
$result $xoopsDB->query($sql6)) {
                        
$_error $xoopsDB->error() . " : " $xoopsDB->errno();
                        
XoopsErrorHandler_HandleError(E_USER_WARNING$_error__FILE____LINE__);
                    }
        
$sql7 'INSERT INTO REALISATEUR'
            
' (id_realisateur, nom_realisateur) ';
        
        
$sql7 .= " VALUES     ('', '$nom_realisateur')";
       
        if (!
$result $xoopsDB->query($sql7)) {
                        
$_error $xoopsDB->error() . " : " $xoopsDB->errno();
                        
XoopsErrorHandler_HandleError(E_USER_WARNING$_error__FILE____LINE__);
                    }                
                    else {
                    echo 
'<h4>' _MD_XTUBE_INSERT_INFOS_OK '</h4>';
                    }                

    }else
    {
    echo 
'<h4>' _MD_XTUBE_CODE_ALREADY_IN_BDD '</h4>';
    }

$xoopsTpl->assign('module_dir'$xoopsModule->getVar('dirname'));
include 
XOOPS_ROOT_PATH '/footer.php';    
?>


Y'a certainement moyen de faire plus cours, mais faut pas trop m'en demander non plus un.

Le principal, c'est déja que ça fonctionne, c'est déja un miracle que j'y soit arrivé.

Dans le lib on trouve la fonction suivante:

function existe_table($element$table$id_primaire_table$nom_champ_element) {
    
// vérifie l'existence de l'élément $element dans la table $table et renvoie son id
    // si l'élément n'existe pas, retourne 0
    
global $mysql_link;
    
$element=trim($element);
    
$sql "SELECT $id_primaire_table FROM $table WHERE $nom_champ_element LIKE '$element'";
    
$result mysql_query($sql$mysql_link);
    if (
mysql_num_rows($result)==0) {
        
$id_primaire_table 0;
    }
    else {
        
$row mysql_fetch_row($result);
        
$id_primaire_table $row[0];
        
mysql_free_result($result);
    }
    return(
$id_primaire_table);
}

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

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