Fork me on GitHub

Rapport de message :*
 

Nouvelle fonctionnalité xoopstube:Voir les autres épisodes d'une catégorie

Titre du sujet : Nouvelle fonctionnalité xoopstube:Voir les autres épisodes d'une catégorie
par seboseboss sur 13/12/2014 09:36:01

Salut

Je voulais me débrouiller tout seul, mais ça va pas être possible tout de suite, donc nouvelle fonctionnalité qui incroyablement, j'ai réussi à implémenter sauf que comme d'habitude y'a un léger dysfonctionnement et ça touche au systéme utilisateur que je connait pas vraiment.

Voila ce que j'ai fait (trop fort déja pour mon niveau car ça a fonctionné au quart de tour cette fois, ça m'a étonné)

Dans singlevidéo.php

// Voir les autres vidéos dispo dans la même categorie
global $xoopsModuleConfig;
$start xtube_cleanRequestVars($_REQUEST'start'0);
$start intval($start);
$time time();

$sql        $xoopsDB->query('SELECT lastvideosyn, lastvideostotal FROM ' $xoopsDB->prefix('xoopstube_indexpage'));
$lastvideos $xoopsDB->fetchArray($sql);

if (
$lastvideos['lastvideosyn'] == && $lastvideos['lastvideostotal'] > 0) {

$result $xoopsDB->query(
        
'SELECT COUNT(*) FROM ' $xoopsDB->prefix('xoopstube_videos') . ' WHERE cid=' $video_arr['cid'] . '
        AND cid > 10
        AND lid <> ' 
$video_arr['lid'] . '
        AND published > 0 AND published <= ' 
time() . ' AND (expired = 0 OR expired > ' time() . ')  
        AND offline = 0 ORDER by title ASC'
    
);
    list(
$count) = $xoopsDB->fetchRow($result);

    
$count = (($count $lastvideos['lastvideostotal'])
        && (
$lastvideos['lastvideostotal'] != 0)) ? $lastvideos['lastvideostotal'] : $count;
    
$limit = (($start $xoopsModuleConfig['perpage']) > $count) ? ($count $start) : $xoopsModuleConfig['perpage'];
    
    
$result $xoopsDB->query(
       
'SELECT lid, cid, title, vidsource, published FROM ' $xoopsDB->prefix('xoopstube_videos') . '
        WHERE cid=' 
$video_arr['cid'] . '
        AND cid > 10
        AND lid <> ' 
$video_arr['lid'] . '
        AND published > 0 AND published <= ' 
time() . ' AND (expired = 0 OR expired > ' time() . ')  
        AND offline = 0 
        ORDER by title ASC '
$limit$start
    
);

while (
$arrc $xoopsDB->fetchArray($result)) {
    if (
xtube_checkgroups($arrc['cid']) == true) {
    
$videocuid['title']     = $xtubemyts->htmlSpecialCharsStrip($arrc['title']);
    
$videocuid['lid']       = $arrc['lid'];
    
$videocuid['cid']       = $arrc['cid'];
    
$videocuid['vidsource'] = $arrc['vidsource'];
    
$videocuid['published'] = xoopstube_time(formatTimestamp($arrc['published'], $xoopsModuleConfig['dateformat']));
    
$xoopsTpl->append('videoc_uid'$videocuid);
    }
}
    
$pagenav = new XoopsPageNav($count$xoopsModuleConfig['perpage'], $start'start');
    
$xoopsTpl->assign('pagenav'$pagenav->renderNav());
    
$xoopsTpl->assign('showlatest'$lastvideos['lastvideosyn']);
}


Au début j'ai fait sans pagination, mais avec des séries d'animes comme naruto ou il y a presque 400 épisodes, ça posait problème, j'ai dons ajouté la pagination et mis ça dans un bloc callé a côté des autres vidéos de l'utilisateur.

Le résultat donne bien ce que je voulais faire (pour une fois):
Open in new window


MAIS J'ai se message quand je pagine:

Citation :
Désolé, vous n'avez pas l'autorisation d'effectuer cette action.
Veuillez vous inscrire ou vous connecter avant !


mais je suis connecté et en administrateur, cette fois je ne trouverais pas tout seul, c'est spécifique à xoops et je connais pas.

Pourquoi ai je ce message selon vous?

2°)
Il y a un défaut quand à ma méthode:
J'aurais peut être du faire autrement car la pagination fait recharger la page à chaque fois, c'est pas idéal.

Peut être avec une liste déroulante mais ça sera moin jolie.

Des idées?
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

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