|
Re: Utiliser l'api allociné dans xoopstube |
|
Régulier
Inscrit: 10/09/2007 11:51
|
re
C'est tout bon ça passe, merci beaucoup
Posté le : 29/12/2014 12:38
|
|
|
Re: Utiliser l'api allociné dans xoopstube |
|
Régulier
Inscrit: 10/09/2007 11:51
|
RE AH encore un soucis, si j'entre un titre avec une apostrophe, il ne me retourne pas de résultat alors que le titre existe dans la bdd allociné. Si j'entre le titre en enlevant l'apostrophe, il trouve la fiche mais à l'affichage le titre est coupé à l'endroit de l'apostrophe. Exemple: La Route d'Eldorado -> pas de résultat La Route d Eldorado -> résultat affiché mais autocomplétion = La Route d\ il manque le reste. il y a aussi le genre qui ne veut pas s'afficher en autocomplétion, hier j'ai réussi à l'afficher mais je sais plus comment j'ai fait. bizarement cette variable ne s'affiche pas en utilisant la méthode qui fonctionne sur les autres à savoir '' . $variable . '' j'ai un message d'erreur qui s'affiche:
Undefined property: AlloData::$throwExceptions dans le fichier /api-allocine/AlloData.class.php - ligne 356
Posté le : 29/12/2014 13:03
|
|
|
Re: Utiliser l'api allociné dans xoopstube |
|
Admin Frxoops
Inscrit: 04/03/2011 09:10
De Lot
|
problème de slashes
lors de l'envoi de la demande, pensez à mettre addslashes (mysql est sensé l'enlever) sur le message du résultat ne pas oublier de mettre stipslashes
Posté le : 29/12/2014 14:45
|
|
|
Re: Utiliser l'api allociné dans xoopstube |
|
Régulier
Inscrit: 10/09/2007 11:51
|
Re J'ai du reprendre la fonction que j'avais au début car les titres de films avec lettre accentué ne passaient pas tout comme les apostrophes. Le fichier allosearch.php:
<?php
/**
* $Id: allosearch.php
* Module: XoopsTube
*/
include 'header.php';
include XOOPS_ROOT_PATH . '/header.php';
require_once XOOPS_ROOT_PATH . '/api-allocine/api-allocine-helper.php';
global $xoopsModule, $xtubemyts, $xoopsModuleConfig;
echo '<h1>' . _MD_XTUBE_ALLOFORM_TITLE . '</h1>';
?>
<html><div class="xoopstube_cadreblock" style="overflow: auto; margin-left: 5%; margin-right: 5%;"></html>
<?php
$helper = new AlloHelper;
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;
}
$title = $_POST['filmtitle'];
$q = removeAccents($title);
$page = 1;
$count = 16;
$filter = array('movie');
$profile = 'small';
if (isset($_POST['submit'])) {
try {
// Envoi de la requête
$arrayMovie = $helper->search($q, $page, $count, $filter)->getArray();
if (isset($arrayMovie['movie'])) {
foreach ($arrayMovie['movie'] as $key) {
if (isset($key['title'])) {
echo "<div class='xoopstube_descrblock' style='float: left; width: 190px; margin: 5px;margin-bottom: 20px; padding: 2px; font-size: 90%; text-align: center;'><span><img src=",$key['poster']," style='width: 190px; height: 260px; align: left;'></img></span>
<span><font style='color: orange;'>" .$key['title']."</font><br />
<form action='submit_film.php' method='POST'>
<input type='hidden' value=".$key['code']." name='filmcode'>
<input type='submit' value='Selectionner'>
</form></span></div>";
}
else {
$titreor = $key['originalTitle'];
echo '<li onClick="fill(''.$titreOr.'');">'.$titreOr.'</li>';
}
}
}
}
catch (ErrorException $error) {
// En cas d'erreur
echo "Erreur n°", $error->getCode(), ": ", $error->getMessage(), PHP_EOL;
}
}else{
echo "pas de résultat";
}
?>
<html></div></html>
<?php
$xoopsTpl->assign('module_dir', $xoopsModule->getVar('dirname'));
include XOOPS_ROOT_PATH . '/footer.php';
?>
Maintenant c'est bon les lettre accentué ne gêne plus mais j'ai toujours le soucis des apostrophes. Vu que j'ai supprimé l'enregistrement en bdd avant soumission, il ne devrait plus y avoir de soucis car on ne passe pas par mysql, de plus j'ai fait un echo pour voir le titre en sortie de $_post et pas de soucis bien écrit sans antislashe, donc je sais pas. J'ai aussi enlever les addslash dans submit_film.php Le bout de code correspondant:
//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';
//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 = preg_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;
$nom_genre = $data->genre[0]['$'];
$nom_genre2 = $data->genre[1]['$'];
$nom_genre3 = $data->genre[2]['$'];
$nom_genre4 = $data->genre[3]['$'];
$descrip = '' . $data->synopsis .'<br /><br />Date de sortie ' . datefr($date) . '('.$heure.':'.$minute.':'.$seconde.')<br />Réalisé par ' . $nom_realisateur . '<br />Avec ' . $nom_acteur . '<br />Genre ' . $nom_genre . '<br />Nationalité ' . $nom_pays . '<br /><img src="' . $data->poster . '" style="width: 190px; height: 260px;"></img><br />' . $data->trailerEmbed . '';
}
$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->htmlSpecialCharsStrip($video_array['title']) : ''.$titre.' [FilmFR]';
$vidid = $video_array['vidid'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['vidid']) : '';
$publisher = $video_array['publisher'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['publisher']) : '';
$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']) : ''.$data->genre[0]['$'].",".$nom_genre2.",".$nom_genre3.",".$nom_genre4.'';
Mais je vais les remettre car ça ne change rien et ils vont en avoir besoin au cas d'un update par exemple ou la les infos viendrons de mysql. Rofl j'y comprend rien, j'ai remis addslashes mais il me coupe quand même le titre.
Posté le : 29/12/2014 19:41
|
|
|
Re: Utiliser l'api allociné dans xoopstube |
|
Admin Frxoops
Inscrit: 04/03/2011 09:10
De Lot
|
j'ai eu le problème avec le module news dernièrement pour un client, dans la BDD c'était OK, mais à l'affichage, il manquait un morceau après l'apostrophe.
Un simple htmlspecialchar(); a résolu le problème
Posté le : 29/12/2014 21:06
|
|
|
Re: Utiliser l'api allociné dans xoopstube |
|
Régulier
Inscrit: 10/09/2007 11:51
|
j'ai galéré mais finalement j'ai trouvé, t'avait raison, c'est juste que j'ai eu du mal à le mettre en pratique car je le faisais au mauvais endroit. fallait faire ça:
$title = $video_array['title'] ? $xtubemyts->htmlSpecialChars($video_array['title']) : $xtubemyts->htmlSpecialChars($data->title);
Posté le : 30/12/2014 18:04
|
|
|
Re: Utiliser l'api allociné dans xoopstube |
|
Admin Frxoops
Inscrit: 04/03/2011 09:10
De Lot
|
Posté le : 30/12/2014 21:21
|
|
|
Re: Utiliser l'api allociné dans xoopstube |
|
Régulier
Inscrit: 10/09/2007 11:51
|
Salut Alors c'est tout bon, j'ai solutionné tout les problèmes d'accent, de ponctuation, mais il reste 1 chose que je ne comprend pas, c'est pourquoi ma variable $nom_genre ne veut pas s'afficher en autocomplétion alors qu'elle s'affiche pour la description. J'avais réussi à l'afficher l'autre jour mais plus moyen. l'écriture normale ne fonctionne pas.
//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';
//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 = $xtubemyts->addslashes(ltrim($data->poster));
$titre = $xtubemyts->addslashes(ltrim($data->title));
$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->synopsis));
$nom_acteur = $xtubemyts->addslashes(ltrim($data->castingShort['actors']));
$nom_pays = $xtubemyts->addslashes(ltrim($data->nationality[0]['$']));
$bande_a = $xtubemyts->addslashes(ltrim($data->trailerEmbed));
$nom_genre = $xtubemyts->addslashes(ltrim($data->genre[0]['$']));
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);
$descrip = '' . $data->synopsis .'<br /><br />Date de production ' . $data->productionYear . '('.$heure.'h'.$minute.'min)<br />Réalisé par ' . $nom_realisateur . '<br />Avec ' . $nom_acteur . '<br />Genre ' . $nom_genre . '<br />Nationalité ' . $nom_pays . '<br /><img src="' . $data->poster . '" style="width: 190px; height: 260px;"></img><br />' . $data->trailerEmbed . '';
}
$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']) : '';
$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 l'utilise dans la variable $descr et elle s'affiche bien en autocomplétion dans la description. L'autre jour j'avais réussi à l'afficher mais en écrivant différement, pas comme il faudrait faire. c'est bizare et j'ai pâs réussi a le refaire. Si tu a une idée du pourquoi du comment, je suis prenneur.
Posté le : 31/12/2014 10:53
|
|
|
Re: Utiliser l'api allociné dans xoopstube |
|
Régulier
Inscrit: 10/09/2007 11:51
|
RE si je met une chaine de caractères, elle l'affiche pas non plus, je comprend pas pourquoi. le fichier complet:
<?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'], 1, 1, 1, 1, 1) . '</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 ' ';
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";
$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'] : 0;
$title = $video_array['title'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['title']) : '';
$vidid = $video_array['vidid'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['vidid']) : '';
$publisher = $video_array['publisher'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['publisher']) : '';
$screenshot = $video_array['screenshot'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['screenshot']) : '';
$descriptionb = $video_array['description'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['description']) : '';
$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']) : '0:00:00';
$keywords = $video_array['keywords'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['keywords']) : '';
$item_tag = $video_array['item_tag'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['item_tag']) : '';
$picurl = $video_array['picurl'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['picurl']) : 'http://';
$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', 70, 255, $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_select, FALSE);
// Video code form
$videocode = new XoopsFormText(_MD_XTUBE_DLVIDID, 'vidid', 70, 512, $vidid);
$videocode->setDescription('<br /><small>' . _MD_XTUBE_VIDEO_DLVIDIDDSC . '</small>');
$sform->addElement($videocode, TRUE);
$sform->addElement(new XoopsFormLabel('', _MD_XTUBE_VIDEO_DLVIDID_NOTE));
// Picture url form
$picurl = new XoopsFormText(_MD_XTUBE_VIDEO_PICURL, 'picurl', 70, 255, $picurl);
$picurl->setDescription('<br /><span style="font-weight: normal;">' . _MD_XTUBE_VIDEO_PICURLNOTE . '</span>');
$sform->addElement($picurl, FALSE);
// Video publisher form
$sform->addElement(new XoopsFormText(_MD_XTUBE_VIDEO_PUBLISHER, 'publisher', 70, 255, $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', 7, 7, $time);
$timeform->setDescription('<small>(h:mm:ss)</small>');
$sform->addElement($timeform, FALSE);
// Video category form
ob_start();
$mytree->makeMySelBox('title', 'title', $cid, 0);
$sform->addElement(new XoopsFormLabel(_MD_XTUBE_CATEGORYC, ob_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($optionsTrayNote, FALSE);
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', 70, 255, $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();
}
?>
Posté le : 31/12/2014 11:53
|
|
|
Re: Utiliser l'api allociné dans xoopstube |
|
Régulier
Inscrit: 10/09/2007 11:51
|
Salut J'ai tout retourné dans tout les sens et je ne comprend pas pourquoi ma variable $nom_genre ne s'affiche pas sur ce champ??? alors que tout les autres champ ne m'ont posé aucun pb.
$item_tag = $video_array['item_tag'] ? $xtubemyts->htmlSpecialCharsStrip($video_array['item_tag']) : ''.$nom_genre.'';
Sinon c'est tout bon, j'ai terminé, ça marche nickel. je posterais les codes quand ce dernier soucis sera réglé.
Posté le : 02/01/2015 03:04
|
|
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.
|