Fork me on GitHub




« 1 2 3 4 (5) 6 »


Re: Utiliser l'api allociné dans xoopstube
Admin Frxoops
Inscrit: 04/03/2011 09:10
De Lot
Messages: 2837
qu'est ce que tu as en mode debug ?

On commence par vérifier le type de données sensé être présent. Avec un petit var_dump($nom_genre); la place de $nom_genre, comme cela tu sais si $nom_genre est vide car il affiche STRING(0) ou si il affiche rien tu as un problème dans le test (vu qu'il affiche l'autre)

Et pour information, si tu veux que ton code ne soit pas sujet aux bugs "fantômes", je te conseillerai d'écrire cela comme ça

$item_tag = (array_key_exists('item_tag',$video_array)) ? $xtubemyts->htmlSpecialCharsStrip($video_array['item_tag']) : $nom_genre;



Posté le : 03/01/2015 11:35
Partager Twitter Partagez cette article sur GG+
Re: Utiliser l'api allociné dans xoopstube
Régulier
Inscrit: 10/09/2007 11:51
Messages: 476
salut

Déja tu a du avoir du mal à comprendre car apparement j'ai mis le fichier submit.php en exemple à la place de submit_film.php.

Désolé, je viens de m'en appercevoir:

Voila le fichier (le bon) que j'utilise actuellement:

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

include 'header.php';
include 
XOOPS_ROOT_PATH '/header.php';
include 
XOOPS_ROOT_PATH '/class/xoopsformloader.php';

$mytree = new XoopsTree($xoopsDB->prefix('xoopstube_cat'), 'cid''pid');

global 
$xoopsModule$xtubemyts$xoopsModuleConfig;

$xoopsTpl->assign(
    
'xoops_module_header''<link rel="stylesheet" type="text/css" href="' xoopstube_url '/xtubestyle.css" />'
);

$cid intval(xtube_cleanRequestVars($_REQUEST'cid'0));
$lid intval(xtube_cleanRequestVars($_REQUEST'lid'0));

if (
FALSE == xtube_checkgroups($cid'XTubeSubPerm')) {
    
redirect_header('index.php'1_MD_XTUBE_NOPERMISSIONTOPOST);
    exit();
}

if (
TRUE == xtube_checkgroups($cid'XTubeSubPerm')) {
    if (
xtube_cleanRequestVars($_REQUEST'submit'0)) {
        if (
FALSE == xtube_checkgroups($cid'XTubeSubPerm')) {
            
redirect_header('index.php'1_MD_XTUBE_NOPERMISSIONTOPOST);
            exit();
        }

        
$submitter    = (is_object($xoopsUser) && !empty($xoopsUser)) ? $xoopsUser->getVar('uid') : 0;
        
$vidsource    xtube_cleanRequestVars($_REQUEST'vidsource'0);
        
$offline      xtube_cleanRequestVars($_REQUEST'offline'0);
        
$notifypub    xtube_cleanRequestVars($_REQUEST'notifypub'0);
        
$approve      xtube_cleanRequestVars($_REQUEST'approve'0);
        
$vidrating    xtube_cleanRequestVars($_REQUEST'vidrating'0);
        
$vidid        $xtubemyts->addslashes(ltrim($_POST['vidid']));
        
$title        $xtubemyts->addslashes(ltrim($_REQUEST['title']));
        
$descriptionb $xtubemyts->addslashes(ltrim($_REQUEST['descriptionb']));
        
$publisher    $xtubemyts->addslashes(trim($_REQUEST['publisher']));
        
$time         $xtubemyts->addslashes(ltrim($_REQUEST['time']));
        
$keywords     $xtubemyts->addslashes(trim($_REQUEST['keywords']));
        
$item_tag     $xtubemyts->addslashes(ltrim($_REQUEST['item_tag']));
        
$picurl       $xtubemyts->addslashes(ltrim($_REQUEST['picurl']));
        
$date         time();
        
$publishdate  0;
        
$ipaddress    $_SERVER['REMOTE_ADDR'];

        if (
$lid == 0) {
            
$status      0;
            
$publishdate 0;
            
$message     _MD_XTUBE_THANKSFORINFO;
            if (
TRUE == xtube_checkgroups($cid'XTubeAutoApp')) {
                
$publishdate time();
                
$status      1;
                
$message     _MD_XTUBE_ISAPPROVED;
            }
            
$sql 'INSERT INTO ' $xoopsDB->prefix('xoopstube_videos')
                . 
'    (lid, cid, title, vidid, submitter, publisher, status, date, hits, rating, votes, comments, vidsource, published, expired, offline, description, ipaddress, notifypub, vidrating, time, keywords, item_tag, picurl) ';
            
$sql .= " VALUES     ('', $cid, '$title', '$vidid', '$submitter', '$publisher', '$status', '$date', 0, 0, 0, 0, '$vidsource', '$publishdate', 0, '$offline', '$descriptionb', '$ipaddress', '$notifypub', '$vidrating', '$time', '$keywords', '$item_tag', '$picurl')";
            if (!
$result $xoopsDB->query($sql)) {
                
$_error $xoopsDB->error() . ' : ' $xoopsDB->errno();
                
XoopsErrorHandler_HandleError(E_USER_WARNING$_error__FILE____LINE__);
            }
            
$newid mysql_insert_id();

// Add item_tag to Tag-module
            
if ($lid == 0) {
                
$tagupdate xtube_tagupdate($newid$item_tag);
            } else {
                
$tagupdate xtube_tagupdate($lid$item_tag);
            }

// Notify of new link (anywhere) and new link in category
            
$notification_handler = &xoops_gethandler('notification');

            
$tags               = array();
            
$tags['VIDEO_NAME'] = $title;
            
$tags['VIDEO_URL']
                                =
                
XOOPS_URL '/modules/' $xoopsModule->getVar('dirname') . '/singlevideo.php?cid=' $cid '&lid='
                    
$newid;

            
$sql    'SELECT title FROM ' $xoopsDB->prefix('xoopstube_cat') . ' WHERE cid=' $cid;
            
$result $xoopsDB->query($sql);
            
$row    $xoopsDB->fetchArray($result);

            
$tags['CATEGORY_NAME'] = $row['title'];
            
$tags['CATEGORY_URL']
                                   =
                
XOOPS_URL '/modules/' $xoopsModule->getVar('dirname') . '/viewcat.php?cid=' $cid;
            if (
TRUE == xtube_checkgroups($cid'XTubeAutoApp')) {
                
$notification_handler->triggerEvent('global'0'new_video'$tags);
                
$notification_handler->triggerEvent('category'$cid'new_video'$tags);
                
redirect_header('index.php'2_MD_XTUBE_ISAPPROVED);
            } else {
                
$tags['WAITINGFILES_URL']
                    = 
XOOPS_URL '/modules/' $xoopsModule->getVar('dirname') . '/admin/newvideos.php';
                
$notification_handler->triggerEvent('global'0'video_submit'$tags);
                
$notification_handler->triggerEvent('category'$cid'video_submit'$tags);
                if (
$notifypub) {
                    include_once 
XOOPS_ROOT_PATH '/include/notification_constants.php';
                    
$notification_handler->subscribe('video'$newid'approve'XOOPS_NOTIFICATION_MODE_SENDONCETHENDELETE);
                }
                
redirect_header('index.php'2_MD_XTUBE_THANKSFORINFO);
            }
        } else {
            if (
TRUE == xtube_checkgroups($cid'XTubeAutoApp') || $approve == 1) {
                
$updated time();
                
$sql     "UPDATE " $xoopsDB->prefix('xoopstube_videos')
                    . 
" SET cid=$cid, title='$title', vidid='$vidid', publisher='$publisher', updated='$updated', offline='$offline', description='$descriptionb', ipaddress='$ipaddress', notifypub='$notifypub', vidrating='$vidrating', time='$time', keywords='$keywords', item_tag='$item_tag', picurl='$picurl' WHERE lid ="
                    
$lid;
                if (!
$result $xoopsDB->query($sql)) {
                    
$_error $xoopsDB->error() . " : " $xoopsDB->errno();
                    
XoopsErrorHandler_HandleError(E_USER_WARNING$_error__FILE____LINE__);
                }

                
$notification_handler = &xoops_gethandler('notification');
                
$tags                 = array();
                
$tags['VIDEO_NAME']   = $title;
                
$tags['VIDEO_URL']
                                      =
                    
XOOPS_URL '/modules/' $xoopsModule->getVar('dirname') . '/singlevideo.php?cid=' $cid
                        
'&lid=' $lid;
                
$sql
                                       
=
                    
"SELECT title FROM " $xoopsDB->prefix('xoopstube_cat') . " WHERE cid=" $cid;
                
$result                $xoopsDB->query($sql);
                
$row                   $xoopsDB->fetchArray($result);
                
$tags['CATEGORY_NAME'] = $row['title'];
                
$tags['CATEGORY_URL']
                                       =
                    
XOOPS_URL '/modules/' $xoopsModule->getVar('dirname') . '/viewcat.php?cid=' $cid;

                
$notification_handler->triggerEvent('global'0'new_video'$tags);
                
$notification_handler->triggerEvent('category'$cid'new_video'$tags);
                
$_message _MD_XTUBE_ISAPPROVED;
            } else {
                
$submitter_array $xoopsDB->fetchArray(
                    
$xoopsDB->query(
                        
'SELECT submitter FROM ' $xoopsDB->prefix('xoopstube_videos') . ' WHERE lid=' intval($lid)
                    )
                );
                
$modifysubmitter $xoopsUser->uid();
                
$requestid       $modifysubmitter;
                
$requestdate     time();
                
$updated         xtube_cleanRequestVars($_REQUEST'up_dated'time());
                if (
$modifysubmitter == $submitter_array['submitter']) {
                    
$sql 'INSERT INTO ' $xoopsDB->prefix('xoopstube_mod')
                        . 
' (requestid, lid, cid, title, vidid, publisher, vidsource, description, modifysubmitter, requestdate, time, keywords, item_tag, picurl)';
                    
$sql .= " VALUES ('', $lid$cid, '$title', '$vidid', '$publisher', '$vidsource', '$descriptionb', '$modifysubmitter', '$requestdate', '$time', '$keywords', '$item_tag', '$picurl')";
                    if (!
$result $xoopsDB->query($sql)) {
                        
$_error $xoopsDB->error() . " : " $xoopsDB->errno();
                        
XoopsErrorHandler_HandleError(E_USER_WARNING$_error__FILE____LINE__);
                    }
                } else {
                    
redirect_header('index.php'2_MD_XTUBE_MODIFYNOTALLOWED);
                }

                
$tags = array();
                
$tags['MODIFYREPORTS_URL']
                                      =
                    
XOOPS_URL '/modules/' $xoopsModule->getVar('dirname') . '/admin/index.php?op=listModReq';
                
$notification_handler = &xoops_gethandler('notification');
                
$notification_handler->triggerEvent('global'0'video_modify'$tags);

                
$tags['WAITINGFILES_URL']
                    = 
XOOPS_URL '/modules/' $xoopsModule->getVar('dirname') . '/admin/index.php?op=listNewvideos';
                
$notification_handler->triggerEvent('global'0'video_submit'$tags);
                
$notification_handler->triggerEvent('category'$cid'video_submit'$tags);
                if (
$notifypub) {
                    include_once 
XOOPS_ROOT_PATH '/include/notification_constants.php';
                    
$notification_handler->subscribe('video'$newid'approve'XOOPS_NOTIFICATION_MODE_SENDONCETHENDELETE);
                }
                
$_message _MD_XTUBE_THANKSFORINFO;
            }
            
redirect_header('index.php'2$_message);
        }
    } else {
        global 
$xoopsModuleConfig;

        
$approve xtube_cleanRequestVars($_REQUEST'approve'0);

// Show disclaimer
        
if ($xoopsModuleConfig['showdisclaimer'] && !isset($_GET['agree']) && $approve == 0) {
            echo 
'<br /><div style="text-align: center;">' xtube_imageheader() . '</div><br />';
            echo 
'<h4>' _MD_XTUBE_DISCLAIMERAGREEMENT '</h4>';
            echo 
'<div>' $xtubemyts->displayTarea($xoopsModuleConfig['disclaimer'], 11111) . '</div>';
            echo 
'<form action="submit.php" method="post">';
            echo 
'<div style="text-align: center;">' _MD_XTUBE_DOYOUAGREE '</b><br /><br />';
            echo
'<input type="button" onclick="location='submit.php?agree=1'" class="formButton" value="'
                
_MD_XTUBE_AGREE '" alt="' _MD_XTUBE_AGREE '" />';
            echo 
'&nbsp;';
            echo
'<input type="button" onclick="location='index.php'" class="formButton" value="' _CANCEL '" alt="'
                
_CANCEL '" />';
            echo 
'</div></form>';
            include 
XOOPS_ROOT_PATH '/footer.php';
            exit();
        }
        echo 
'<br /><div style="text-align: center;">' xtube_imageheader() . '</div><br />';
        echo 
'<div>' _MD_XTUBE_SUB_SNEWMNAMEDESC '</div>';
//        echo "<div class='xoopstube_singletitle'>" . _MD_XTUBE_SUBMITCATHEAD . "</div>n";
 
    //récupération infos allociné et autocompletion
    
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 $_POST['filmcode'];
    
$profile 'medium';
    
$filter 'movie';
    
    
//Ensuite, il est conseillé d'effectuer des requêtes dans un bloc try{} catch(){} pour gérer les erreurs.
if(isset($_POST['filmcode'])) {
    try
    {
        
// Envoi de la requête
        
$data $helper->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'];
        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

    
}
    catch( 
ErrorException $error )
    {
        
// En cas d'erreur
        
echo "Erreur n°"$error->getCode(), ": "$error->getMessage(), PHP_EOL;
    }
    
    
    
$url_img $data->poster;
    
$titre $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;
    
$ba_href $data->trailer['href'];
    
$nom_genre $data->genre[0]['$'];
    
$nom_genre2 $data->genre[1]['$'];
    
    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;
        }
    
$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="' $ba_href '" class="zoombox w600% h340%" title="Bande annonce : ' $titre '"><img src="/streaming/images/icon/trailer.png" alt="/streaming/images/icon/trailer.png" class="decoded" style="border: medium none;"></a></img></div><br />';
}
       
$sql         'SELECT * FROM ' $xoopsDB->prefix('xoopstube_videos') . ' WHERE lid=' intval($lid);
        
$video_array $xoopsDB->fetchArray($xoopsDB->query($sql));

        
$lid          $video_array['lid'] ? $video_array['lid'] : 0;
        
$cid          $video_array['cid'] ? $video_array['cid'] : 2;
        
$title        $video_array['title'] ? $xtubemyts->htmlSpecialChars($video_array['title']) : $xtubemyts->htmlSpecialChars($data->title).' [FilmFR]';
        
$vidid        $video_array['vidid'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['vidid']) : '';
        
$publisher    $video_array['publisher'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['publisher']) : '' $xoopsUser->getVar('uname') . '';
        
$screenshot   $video_array['screenshot'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['screenshot']) : '';
        
$descriptionb $video_array['description'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['description']) : ''.$descrip.'';
        
$published    $video_array['published'] ? $video_array['published'] : 0;
        
$expired      $video_array['expired'] ? $video_array['expired'] : 0;
        
$updated      $video_array['updated'] ? $video_array['updated'] : 0;
        
$offline      $video_array['offline'] ? $video_array['offline'] : 0;
        
$vidsource    $video_array['vidsource'] ? $video_array['vidsource'] : 0;
        
$ipaddress    $video_array['ipaddress'] ? $video_array['ipaddress'] : 0;
        
$notifypub    $video_array['notifypub'] ? $video_array['notifypub'] : 0;
        
$vidrating    $video_array['vidrating'] ? $video_array['vidrating'] : 1;
        
$time         $video_array['time'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['time']) : ''.$heure.'h'.$minute.'min';
        
$keywords     $video_array['keywords'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['keywords']) : '';
        
$item_tag     $video_array['item_tag'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['item_tag']) : '' $nom_genre '';
        
$picurl       $video_array['picurl'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['picurl']) : '';

        
$sform = new XoopsThemeForm(_MD_XTUBE_SUBMITCATHEAD'storyform'xoops_getenv('PHP_SELF'));
        
$sform->setExtra('enctype="multipart/form-data"');

        
xoopstube_noindexnofollow();

// Video title form
        
$sform->addElement(new XoopsFormText(_MD_XTUBE_FILETITLE'title'70255$title), TRUE);

// Video source form
        
$vidsource_array  = array(
            
0   => _MD_XTUBE_YOUTUBE,
            
1   => _MD_XTUBE_METACAFE,
            
2   => _MD_XTUBE_IFILM,
            
4   => _MD_XTUBE_VIDDLER,
            
100 => _MD_XTUBE_GOOGLEVIDEO,
            
101 => _MD_XTUBE_MYSPAVETV,
            
102 => _MD_XTUBE_DAILYMOTION,
            
103 => _MD_XTUBE_BLIPTV,
            
104 => _MD_XTUBE_CLIPFISH,
            
105 => _MD_XTUBE_LIVELEAK,
            
106 => _MD_XTUBE_MAKTOOB,
            
107 => _MD_XTUBE_VEOH,
            
108 => _MD_XTUBE_VIMEO,
            
109 => _MD_XTUBE_RUTUBE,
            
110 => _MD_XTUBE_STAGEVU,
            
111 => _MD_XTUBE_NETU,
            
112 => _MD_XTUBE_MAILRU,
            
113 => _MD_XTUBE_EXASHARE,
            
114 => _MD_XTUBE_VK,
            
115 => _MD_XTUBE_VIDEOMEGA,
            
116 => _MD_XTUBE_SPEEDVIDEO,
            
117 => _MD_XTUBE_WAT,
            
118 => _MD_XTUBE_KIWI,
            
119 => _MD_XTUBE_VODLOCKER,
            
//120 => _MD_XTUBE_UPTOSTREAM,
            //121 => _MD_XTUBE_AXAVID,
        
);
        
$vidsource_select = new XoopsFormSelect(_MD_XTUBE_VIDSOURCE'vidsource'$vidsource);
        
$vidsource_select->addOptionArray($vidsource_array);
        
$sform->addElement($vidsource_selectFALSE);

// Video code form
        
$videocode = new XoopsFormText(_MD_XTUBE_DLVIDID'vidid'70512$vidid);
        
$videocode->setDescription('<br /><small>' _MD_XTUBE_VIDEO_DLVIDIDDSC '</small>');
        
$sform->addElement($videocodeTRUE);
        
$sform->addElement(new XoopsFormLabel(''_MD_XTUBE_VIDEO_DLVIDID_NOTE));

// Picture url form
        
$picurl = new XoopsFormText(_MD_XTUBE_VIDEO_PICURL'picurl'70255$picurl);
        
$picurl->setDescription('<br /><span style="font-weight: normal;">' _MD_XTUBE_VIDEO_PICURLNOTE '</span>');
        
$sform->addElement($picurlFALSE);

// Video publisher form
        
$sform->addElement(new XoopsFormText(_MD_XTUBE_VIDEO_PUBLISHER'publisher'70255$publisher), TRUE);

// Category tree
        
$mytree = new XoopsTree($xoopsDB->prefix('xoopstube_cat'), 'cid''pid');

        
$submitcats = array();
        
$sql        'SELECT * FROM ' $xoopsDB->prefix('xoopstube_cat') . ' ORDER BY title';
        
$result     $xoopsDB->query($sql);
        while (
$myrow $xoopsDB->fetchArray($result)) {
            if (
TRUE == xtube_checkgroups($myrow['cid'], 'XTubeSubPerm')) {
                
$submitcats[$myrow['cid']] = $myrow['title'];
            }
        }

// Video time form
        
$timeform = new XoopsFormText(_MD_XTUBE_TIME'time'77$time);
        
$timeform->setDescription('<small>(h:mm:ss)</small>');
        
$sform->addElement($timeformFALSE);

// Video category form
        
ob_start();
        
$mytree->makeMySelBox('title''title'$cid0);
        
$sform->addElement(new XoopsFormLabel(_MD_XTUBE_CATEGORYCob_get_contents()));
        
ob_end_clean();

// Video description form
//        $editor = xtube_getWysiwygForm( _MD_XTUBE_DESCRIPTIONC, 'descriptionb', $descriptionb, 10, 50, '');
//        $sform -> addElement( $editor, true );

        
$optionsTrayNote = new XoopsFormElementTray(_MD_XTUBE_DESCRIPTIONC'<br />');
        if (
class_exists('XoopsFormEditor')) {
            
$options['name']   = 'descriptionb';
            
$options['value']  = $descriptionb;
            
$options['rows']   = 7;
            
$options['cols']   = 100;
            
$options['width']  = '100%';
            
$options['height'] = '200px';
            
$editor            = new XoopsFormEditor(''$xoopsModuleConfig['form_optionsuser'], $options$nohtml FALSE$onfailure 'textarea');
            
$optionsTrayNote->addElement($editor);
        } else {
            
$editor = new XoopsFormDhtmlTextArea('''descriptionb'$item->getVar('descriptionb''e'), '100%''100%');
            
$optionsTrayNote->addElement($editor);
        }

        
$sform->addElement($optionsTrayNoteFALSE);

        if (
$xoopsModuleConfig['usercantag'] == 1) {
// Insert tags if Tag-module is installed
            
if (xtube_tag_module_included()) {
                include_once 
XOOPS_ROOT_PATH '/modules/tag/include/formtag.php';
                
$text_tags = new XoopsFormTag('item_tag'70255$video_array['item_tag'], 0);
                
$sform->addElement($text_tags);
            }
        } else {
            
$sform->addElement(new XoopsFormHidden('item_tag'$video_array['item_tag']));
        }

        
$submitter2 = (is_object($xoopsUser) && !empty($xoopsUser)) ? $xoopsUser->getVar('uid') : 0;
        if (
$submitter2 0) {
            
$option_tray = new XoopsFormElementTray(_MD_XTUBE_OPTIONS'<br />');

            if (!
$approve) {
                
$notify_checkbox = new XoopsFormCheckBox('''notifypub');
                
$notify_checkbox->addOption(1_MD_XTUBE_NOTIFYAPPROVE);
                
$option_tray->addElement($notify_checkbox);
            } else {
                
$sform->addElement(new XoopsFormHidden('notifypub'0));
            }
        }

        if (
TRUE == xtube_checkgroups($cid'XTubeAppPerm') && $lid 0) {
            
$approve_checkbox = new XoopsFormCheckBox('''approve'$approve);
            
$approve_checkbox->addOption(1_MD_XTUBE_APPROVE);
            
$option_tray->addElement($approve_checkbox);
        } else {
            if (
TRUE == xtube_checkgroups($cid'XTubeAutoApp')) {
                
$sform->addElement(new XoopsFormHidden('approve'1));
            } else {
                
$sform->addElement(new XoopsFormHidden('approve'0));
            }
        }
        
$sform->addElement($option_tray);

        
$button_tray = new XoopsFormElementTray('''');
        
$button_tray->addElement(new XoopsFormButton('''submit'_SUBMIT'submit'));
        
$button_tray->addElement(new XoopsFormHidden('lid'$lid));

        
$sform->addElement($button_tray);
        
$sform->display();

        include 
XOOPS_ROOT_PATH '/footer.php';
    }
} else {
    
redirect_header('index.php'2_MD_XTUBE_NOPERMISSIONTOPOST);
    exit();
}
?>


Note:
Pas pratique ces balises code, on ne peut pas naviguer de droite à gauche ou vice versa sans aller tout en bas, du coup c'est vraiment galère de lire le code quand il s'agit d'un grand fichier.
Faudrait pouvoir faire défiler en restant appuyé sur clic gauche ou que la barre de défilement retse collé en bas de page tant qu'ont est pas en bas.
Vous vous en foutez je parie.(bon ben tant pis pour moi)

C'est juste une remarque.

J'ai essayé ta ligne de code et elle me renvoi cette erreur:

array_key_exists() expects parameter 2 to be array, boolean given dans le fichier /modules/xoopstube/submit_film.php ligne 305


Sinon pour répondre à tes questions:

je n'est aucune erreur renvoyé concernant la ligne en question, juste pas d'auto-complétion.

Si je ne me trompe, il n'y a pas de test sur cette portion d'ou mon incompréhention.

j'ai mis var dump à la place et tjrs rien d'affiché.
$item_tag     $video_array['item_tag'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['item_tag']) : var_dump($nom_genre);

Posté le : 03/01/2015 19:23
Partager Twitter Partagez cette article sur GG+
Re: Utiliser l'api allociné dans xoopstube
Admin Frxoops
Inscrit: 04/03/2011 09:10
De Lot
Messages: 2837
Citation :

Note:
Pas pratique ces balises code, on ne peut pas naviguer de droite à gauche ou vice versa sans aller tout en bas, du coup c'est vraiment galère de lire le code quand il s'agit d'un grand fichier.
Faudrait pouvoir faire défiler en restant appuyé sur clic gauche ou que la barre de défilement retse collé en bas de page tant qu'ont est pas en bas.
Vous vous en foutez je parie.(bon ben tant pis pour moi)


Non, non, je ne m'en fous pas, j'en prend note, je suis justement occupé à préparer la nouvelle version du site, donc je note, c'est une remarque pertinente.

Sinon, ma ligne t'affiche ce genre de message, c'est que le tableau $video_array n'existe pas.

Et si var_dump ne t'affiche rien, effectivement, c'est qu'il y a un problème

déjà je suis perplexe par ce bout de code
$sql         'SELECT * FROM ' $xoopsDB->prefix('xoopstube_videos') . ' WHERE lid=' intval($lid);
        
$video_array $xoopsDB->fetchArray($xoopsDB->query($sql));

        
$lid          $video_array['lid'] ? $video_array['lid'] : 0;
        
$cid          $video_array['cid'] ? $video_array['cid'] : 2;
        
$title        $video_array['title'] ? $xtubemyts->htmlSpecialChars($video_array['title']) : $xtubemyts->htmlSpecialChars($data->title).' [FilmFR]';
        
$vidid        $video_array['vidid'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['vidid']) : '';
        
$publisher    $video_array['publisher'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['publisher']) : '' $xoopsUser->getVar('uname') . '';
        
$screenshot   $video_array['screenshot'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['screenshot']) : '';
        
$descriptionb $video_array['description'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['description']) : ''.$descrip.'';
        
$published    $video_array['published'] ? $video_array['published'] : 0;
        
$expired      $video_array['expired'] ? $video_array['expired'] : 0;
        
$updated      $video_array['updated'] ? $video_array['updated'] : 0;
        
$offline      $video_array['offline'] ? $video_array['offline'] : 0;
        
$vidsource    $video_array['vidsource'] ? $video_array['vidsource'] : 0;
        
$ipaddress    $video_array['ipaddress'] ? $video_array['ipaddress'] : 0;
        
$notifypub    $video_array['notifypub'] ? $video_array['notifypub'] : 0;
        
$vidrating    $video_array['vidrating'] ? $video_array['vidrating'] : 1;
        
$time         $video_array['time'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['time']) : ''.$heure.'h'.$minute.'min';
        
$keywords     $video_array['keywords'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['keywords']) : '';
        
$item_tag     $video_array['item_tag'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['item_tag']) : '' $nom_genre '';
        
$picurl       $video_array['picurl'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['picurl']) : '';


je ne me souvient plus ce que retourne la class xoopsDB pour cette fonction (j'utilise les miennes via PDO)
$video_array $xoopsDB->fetchArray($xoopsDB->query($sql));

ici en théorie tu devrais avoir un tableau en retour

mais de la forme
$video_array[0] -> première ligne
$video_array[1] -> seconde ligne
etc...

donc en théorie pour la première ligne (ou si tu est sûr qu'il n'y aura qu'un résultat)
if(is_array($video_array) && count($video_array) > 0){ // On teste si c'est un tableau et si il y a au moins 1 resultat
$lid = (array_key_exists('lid',$video_array[0])) ? $video_array[0]['lid'] : 0
.
.
.
}else{
$lid 0;
.
.
.
}

[/code]

Posté le : 03/01/2015 21:43
Partager Twitter Partagez cette article sur GG+
Re: Utiliser l'api allociné dans xoopstube
Régulier
Inscrit: 10/09/2007 11:51
Messages: 476
re
Citation :
Non, non, je ne m'en fous pas


Je disait pas ça pour toi spécialement, mais à tout les admins xoops.

Sinon moi aussi ,je comprend pas tout car ce fichier sert à enregistrer les données du lien mais aussi à faire la mise à jour des infos.

Je sais que pas mal de choses servent à rien dans mon fichier, je me suis juste pas fait chier et j'ai adapté le fichier existant, aussi vu que j'ai pas mal fait de modif, il reste des variables qui servent plus, faudrait que je fasse du nettoyage.

Pour le morceau de code que tu me montre, il était d'origine dans le fichier, j'ai juste ajouté, mes variables au bout pour auto-complétion du formulaire.

Dans l'immédiat, c'est vraiment pas important cette histoire de $nom_genre, ça fait juste un champ de plus à remplir à la main.

Mais j'aimerais au final avoir le fin mot quand même.

La je suis en train de faire un script pour mettre à jour toutes les descriptions car j'ai changé la configuration et je ne peut pas modifier autrement qu'avec un script.il faut regénérer à partir d'allociné.

J'étais bien parti, mais la ça y est je galère, ça c'est compliqué.Je vais devoir ouvrir un autre sujet je crois bien.désolé je suis encore trop nul pour tout faire moi même.

Franchement respect, c'est balèze et extrèmement vaste la programmation.

ps: en y regardant de plus prêt, je crois que tu viens de me donner la solution sans même le savoir car j'arrive pas à récup mes infos sql sous forme de tableau, j'ai que la première ligne.je te dirait ça.

Posté le : 03/01/2015 22:00
Partager Twitter Partagez cette article sur GG+
Re: Utiliser l'api allociné dans xoopstube
Régulier
Inscrit: 10/09/2007 11:51
Messages: 476
YOP

Je te reprend pour ce sujet, en fait ,je t'ai dit une bétise, la valeur avec var_dump s'affiche bien, mais pas la ou je pensais la trouver, je l'avais pas vu.

Regarde, elle apparait en haut à gauche du formulaire alors qu'elle devrait apparaitre dans le champ genre:

Open in new window


donc voila, je pige pas pourquoi, ma variable s'affiche pas dans mon champ mais c'est surement lié au fait que ce formulaire sert également à faire un update.

Doit y avoir un bug qui fait qu'au lieu de prendre ma valeur, il prend la valeur vide comme si on voulais faire un update.

mdr, je suis pas trés clair la.

Bref , je pige pas.

Posté le : 06/01/2015 17:24
Partager Twitter Partagez cette article sur GG+
Re: Utiliser l'api allociné dans xoopstube
Admin Frxoops
Inscrit: 04/03/2011 09:10
De Lot
Messages: 2837
Citation :

string(9)"Animation"

est le résultat d'un var_dump

si il s'affiche dans le var_dump et qu'il a disparu ensuite, montre que le problème se situe entre les 2 (var_dump et la ligne qui affiche le champs du formulaire)
commence par vérifier si les variables que tu envois au niveau du formulaire.
Sinon une méthode pratique pour debugger, suffit de déplacer var_dump vers le bas (ligne par ligne) pour savoir a quel niveau la variable disparait.



Posté le : 06/01/2015 17:51
Partager Twitter Partagez cette article sur GG+
Re: Utiliser l'api allociné dans xoopstube
Régulier
Inscrit: 10/09/2007 11:51
Messages: 476
Re

c'est bien ça, il prend comme valeur la donnée de tableau vide.

J'ai réussi à afficher en faisant comme ça:
$item_tag     $video_array['item_tag'] ? $video_array['item_tag'] : $video_array['item_tag'] = $nom_genre;


Et puisque ce fichier ne sert pas aux mises à jour éventuel, (c'est tjrs submit.php qui s'en occupe), je pense pas que cela pose de problème.

Est ce que tu pourrait m'expliquer cette phrase de code, je comprend mal le fonctionnement (? = comparaison) mais plus clairement, c'est quoi:

$lid     $video_array['lid'] ? $video_array['lid'] : 0;

Posté le : 06/01/2015 17:56
Partager Twitter Partagez cette article sur GG+
Re: Utiliser l'api allociné dans xoopstube
Admin Frxoops
Inscrit: 04/03/2011 09:10
De Lot
Messages: 2837
qu'est-ce qu'un var_dump($video_array); affiche ?

Car le problème, a priori, c'est que tu as un soucis avec ton test

Posté le : 06/01/2015 18:06
Partager Twitter Partagez cette article sur GG+
Re: Utiliser l'api allociné dans xoopstube
Régulier
Inscrit: 10/09/2007 11:51
Messages: 476
Re

Actuellement , le var_dump m'affiche ceci:

array(1) { ["item_tag"]=> string(19"Animation Aventure " }


et c'est normal que le tableau soit vide car je fait un nouveau up, si je faisais une mise à jour du post, la le tableau serait plein.

c'est suivant le cas vu que le fichier sert normalement pour les 2 actions.

Posté le : 06/01/2015 19:21
Partager Twitter Partagez cette article sur GG+
Re: Utiliser l'api allociné dans xoopstube
Admin Frxoops
Inscrit: 04/03/2011 09:10
De Lot
Messages: 2837
On fait je crois qu'il y a une erreur de syntaxe
Ce n'est pas
$item_tag     $video_array['item_tag'] ? $video_array['item_tag'] : $video_array['item_tag'] = $nom_genre;


mais

$item_tag     $video_array['item_tag'] ? $video_array['item_tag'] : $nom_genre;


j'ai pas percuté avec le scrolling de la fenêtre code

Posté le : 06/01/2015 19:33
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
« 1 2 3 4 (5) 6 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

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

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