Fork me on GitHub




« 1 (2) 3 »


#14 Re: News 1.4 et vrais modérateurs
alain01 Posté le : 30/09/2005 18:54
Merci pour ta réponse Hervé.

Tu as raison et cela fonctionne bien effectivement, mais comme il te faut les droits d'administration du module news pour pouvoir éditer les news en attente, qui te dit qu'un moderateur n'ira pas directement sous http://monsite.fr/modules/news/admin/index.php et modifiera / supprimera des catégories enitères (intentionnelement ou non d'ailleurs) ?
#13 Re: News 1.4 et vrais modérateurs
Posté le : 30/09/2005 18:38
et bien ?
Le bloc ne permet pas d'intervenir sur le sujet.
Tu peux modifier le sujet lorsque tu approuve l'article mais c'est tout.
#12 Re: News 1.4 et vrais modérateurs
alain01 Posté le : 30/09/2005 18:21
Parce que je ne veux pas que mes modérateurs puissent intervenir sur les sujets (catégories)...
#11 Re: News 1.4 et vrais modérateurs
Posté le : 30/09/2005 18:17
Citation :

Que dois-je faire pour avoir un VRAI groupe moderateur, qui ne peut que supprimer ou approuver des news, sans intervenir sur l'administration de ce module ?

Pourquoi ne pas utiliser le bloc de modération ?
#10 Re: News 1.4 et vrais modérateurs
alain01 Posté le : 30/09/2005 15:26
ok, je suis parti de ton idée...

J'ai modifié les fichiers
- modules/news/admin/index.php en modules/news/admin/alain_modo.php
- modules/news/admin/functions.php en modules/news/admin/alain_function.php

J'ai ajouté le groupe moderateurs en administrateurs du module news (snif).

J'ai mis un lien pour mes moderateurs :

http://monsite.fr/modules/news/admin/alain_modo.php

et...

ça marche jusqu'à la soumission (plutôt approbation dans ce cas, car approbation d'un article dont ils ne sont pas l'auteur), mais une fois soumis, le module nous ramène sur la page index.php de l'admin donc problème.

Il faut donc modifier aussi le fichier modules/news/submit.php ligne 485
Citation :

/* alain */
/* redirect_header(XOOPS_URL."/modules/news/admin/index.php?op=newarticle",2,_NW_THANKS);
*/
redirect_header XOOPS_URL."/modules/news/index.php",2,_NW_THANKS);


Fichiers joints
/modules/news/admin/alain_modo.php
/modules/news/admin/alain_function.php
/modules/news/submit.php

En tous cas ça marche.
Espérons qu'Hervé nous prépare une future version avec une vraie gestion par les moderateurs.

Attacher un fichier:


zip hack_moderateurs_news1.4.zip Taille: 21.50 KB; Hits: 1721
#9 Re: News 1.4 et vrais modérateurs
xvitry Posté le : 30/09/2005 10:41
Salut,

1- copier le fichier index.php en indexmodo.php
2- supprimer le code qui ne concerne pas les articles en attentes, ce qui devrait donner quelque chose comme ça
<?php
// $Id: index.php,v 1.25 2004/09/02 17:04:07 hthouzard Exp $
// ------------------------------------------------------------------------ //
// XOOPS - PHP Content Management System                                      //
// Copyright (c) 2000 XOOPS.org                                             //
// <http://www.xoops.org/>   ... nbsp;   //
// ------------------------------------------------------------------------ //
// This program is free software; you can redistribute it and/or modify     //
// it under the terms of the GNU General Public License as published by     //
// the Free Software Foundation; either version 2 of the License, or        //
// (at your option) any later version.                                      //
//                                                                             //
// You may not change or alter any portion of this comment or credits       //
// of supporting developers from this source code or any supporting         //
// source code which is considered copyrighted (c) material of the          //
// original comment or credit authors.                                      //
//                                                                             //
// This program is distributed in the hope that it will be useful,          //
// but WITHOUT ANY WARRANTY; without even the implied warranty of           //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            //
// GNU General Public License for more details.                             //
//                                                                             //
// You should have received a copy of the GNU General Public License        //
// along with this program; if not, write to the Free Software              //
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA //
// ------------------------------------------------------------------------ //
include_once '../../../include/cp_header.php';
include_once 
XOOPS_ROOT_PATH."/class/xoopstopic.php";
include_once 
XOOPS_ROOT_PATH."/class/xoopslists.php";
include_once 
XOOPS_ROOT_PATH."/modules/news/class/class.newsstory.php";
include_once 
XOOPS_ROOT_PATH."/modules/news/class/class.newstopic.php";
include_once 
XOOPS_ROOT_PATH."/modules/news/class/class.sfiles.php";
include_once 
XOOPS_ROOT_PATH.'/class/uploader.php';
include_once 
XOOPS_ROOT_PATH.'/class/pagenav.php';
include_once 
XOOPS_ROOT_PATH.'/modules/news/admin/functions.php';
include_once 
XOOPS_ROOT_PATH.'/modules/news/include/functions.php';
include_once 
XOOPS_ROOT_PATH."/class/tree.php";
$dateformat=getmoduleoption('dateformat');
$myts =& MyTextSanitizer::getInstance();
$topicscount=0;

/**
 * Show new submissions
 *
 * This list can be view in the module's admin when you click on the tab named "Post/Edit News"
 * Submissions are news that was submit by users but who are not approved, so you need to edit
 * them to approve them.
 * Actually you can see the the story's title, the topic, the posted date, the author and a
 * link to delete the story. If you click on the story's title, you will be able to edit the news.
 * The table contains ALL the new submissions.
 * The system's block called "Waiting Contents" is listing the number of those news.
 */
function newSubmissions()
{
    global 
$dateformat;
    
$storyarray NewsStory :: getAllSubmitted();
    if ( 
count$storyarray ) > )
    {
        
news_collapsableBar('newsub''topnewsubicon');
        echo 
"<img onclick='toggle('toptable'); toggleIcon('toptableicon');' id='topnewsubicon' name='topnewsubicon' src=" XOOPS_URL "/modules/news/images/close12.gif alt='' /></a>&nbsp;"._AM_NEWSUB."</h4>";
        echo 
"<div id='newsub'>";
        echo 
"<br />";
        echo 
"<div style='text-align: center;'><table width='100%' cellspacing='1' cellpadding='3' border='0' class='outer'><tr class='bg3'><td align='center'>" _AM_TITLE "</td><td align='center'>" _AM_TOPIC "</td><td align='center'>" _AM_POSTED "</td><td align='center'>" _AM_POSTER "</td><td align='center'>" _AM_ACTION "</td></tr>n";
        
$class='';
        foreach( 
$storyarray as $newstory )
        {
            
$class = ($class == 'even') ? 'odd' 'even';
            echo 
"<tr class='".$class."'><td align='left'>n";
            
$title $newstory->title();
            if (!isset(
$title) || ($title == "" )) {
                echo 
"<a href='".XOOPS_URL."/modules/news/admin/index.php?op=edit&amp;returnside=1&amp;storyid=" $newstory -> storyid() . "'>" _AD_NOSUBJECT "</a>n";
            } else {
                echo 
"&nbsp;<a href='".XOOPS_URL."/modules/news/submit.php?returnside=1&amp;op=edit&amp;storyid=" $newstory -> storyid() . "'>" $title "</a>n";
            }
            echo 
"</td><td>" $newstory->topic_title() . "</td><td align='center' class='nw'>" formatTimestamp($newstory->created(),$dateformat) . "</td><td align='center'><a href='" XOOPS_URL "/userinfo.php?uid=" $newstory->uid() . "'>" $newstory->uname() . "</a></td><td align='right'><a href='".XOOPS_URL."/modules/news/admin/index.php?op=delete&amp;storyid=" $newstory->storyid() . "'>" _AM_DELETE "</a></td></tr>n";
        }
        echo 
"</table></div>";
        echo 
"<br /></div><br />";
    }
}




// **********************************************************************************************************************************************
// **** Main
// **********************************************************************************************************************************************
$op 'default';
if(isset(
$_POST['op'])) {
 
$op=$_POST['op'];
} else {
    if(isset(
$_GET['op'])) {
        
$op=$_GET['op'];
    }
}


switch (
$op)
{
    
    case 
"delete":
           
$storyid=0;
           if(isset(
$_GET['storyid'])) {
            
$storyid=intval($_GET['storyid']);
           } else {
               if(isset(
$_POST['storyid'])) {
                   
$storyid=intval($_POST['storyid']);
               }
           }

        if (!empty(
$_POST['ok'])) {
            if (empty(
$storyid)) {
                
redirect_header'index.php?op=newarticle'2_AM_EMPTYNODELETE );
                exit();
            }
            
$story = new NewsStory($storyid);
            
$story->delete();
            
$sfiles = new sFiles();
            
$filesarr=Array();
            
$filesarr=$sfiles->getAllbyStory($storyid);
            if(
count($filesarr)>0) {
                foreach (
$filesarr as $onefile) {
                    
$onefile->delete();
                }
            }
            
xoops_comment_delete($xoopsModule->getVar('mid'),$storyid);
            
xoops_notification_deletebyitem($xoopsModule->getVar('mid'), 'story'$storyid);
            
updateCache();
            
redirect_header'index.php?op=newarticle'1_AM_DBUPDATED );
            exit();
        } else {
            
$story = new NewsStory($storyid);
            
xoops_cp_header();
            echo 
"<h4>" _AM_CONFIG "</h4>";
            
xoops_confirm(array('op' => 'delete''storyid' => $storyid'ok' => 1), 'index.php'_AM_RUSUREDEL .'<br />' $story->title());
        }
        break;

 
    case 
"edit":
        include_once 
XOOPS_ROOT_PATH.'/modules/news/submit.php';
        break;


    case 
"default":
    default:
        
xoops_cp_header();
        
adminmenu(-1);
        if(!
TableExists($xoopsDB->prefix('stories_votedata')) || !TableExists($xoopsDB->prefix('stories_files')) )
        {
            echo 
"<div align='center'>"._AM_NEWS_PLEASE_UPGRADE."</div><br/><br />";
        }

        
//echo "<h4>" . _AM_CONFIG . "</h4>";
        //echo"<table width='100%' border='0' cellspacing='1' class='outer'><tr><td class="odd">";
        //echo " - <b><a href='index.php?op=topicsmanager'>" . _AM_TOPICSMNGR . "</a></b>";
        //echo "<br /><br />n";
        //echo " - <b><a href='index.php?op=newarticle'>" . _AM_PEARTICLES . "</a></b>n";
        //echo "<br /><br />n";
        //echo " - <b><a href='groupperms.php'>" . _AM_GROUPPERM . "</a></b>n";
        //echo "<br /><br />n";
        //echo " - <b><a href='" . XOOPS_URL . '/modules/system/admin.php?fct=preferences&amp;op=showmod&amp;mod=' . $xoopsModule -> getVar( 'mid' ) . "'>" . _AM_GENERALCONF . "</a></b>";
        //echo "<br /><br />n";
        //echo " - <b><a href='index.php?op=prune'>" . _AM_NEWS_PRUNENEWS . "</a></b>n";
        //echo "<br /><br />n";
        //echo " - <b><a href='index.php?op=export'>" . _AM_NEWS_EXPORT_NEWS . "</a></b>n";
        //echo "<br /><br />n";
        //echo " - <b><a href='index.php?op=configurenewsletter'>" . _AM_NEWS_NEWSLETTER . "</a></b>n";
        //echo "<br /><br />n";
        //echo " - <b><a href='index.php?op=stats'>" . _AM_NEWS_STATS . "</a></b>n";
        //echo"</td></tr></table>";
        
break;
}

xoops_cp_footer();
?>


3- pour le bloc, je suppose que c'est le bloc dans le fichier blocks/news_moderate.php
remplacer les index.php par indexmodo.php

PS: je n'ai rien testé, donc ce n'est qu'une théorie mais je ne sais pas si ça marche...
Par ailleurs le code d'Hervé étant particulièrement bien documenté et structuré, il est relativement facile de s'y retrouver et de comprendre chacune des options...

PS 2 : en fin de code, j'ai mis le menu en commentaire car je ne sais pas trop s'il faut effacer ou pas cette partie.

Bref, c'est un point de départ....

SVP, ne me jetez pas de cailloux pour tentative de massacre de modules, de toute façon je n'y connaît pas grand chose...

A+
#8 Re: News 1.4 et vrais modérateurs
alain01 Posté le : 30/09/2005 10:07
Ok, oui, je comprends ton idée...

Il faut dans ce cas, que je modifie aussi le lien qui envoi vers la page admin news vers l'ancre "News en attente" dans le bloc news en attente et dans mon bloc "waitings".

Qui tente quelque chose ?
#7 Re: News 1.4 et vrais modérateurs
xvitry Posté le : 30/09/2005 09:51
Est-ce qu'en faisant une copie de la page qui présentent les articles en attente, puis en supprimant le menu, et les autres éléments de la page (dans le code php), enfin en faisant pointer un lien (à partir du menu) vers cette page ça pourrait suffire en attendant qu'Hervé trouve une parade à ce bidouillage ?

De cette façon les modérateurs pourraient accéder à la page, mais comme ils n'auraient pas de menu, ils ne sauraient pas qu'il peuvent intervenir ailleurs.

Ok, c'est du bricolage et une idée en l'air, mais dans le cadre d'un Intranet c'est jouable... non?
#6 Re: News 1.4 et vrais modérateurs
alain01 Posté le : 30/09/2005 08:53
Citation :

GreaTed a écrit:
de modération des news), et qui donnerait accès à une page qui affiche les articles à approuver.


Sauf que cette page n'existe pas dans le module actuellement...
#5 Re: News 1.4 et vrais modérateurs
GreaTed Posté le : 29/09/2005 22:36
Ou bien, dans la partie utilisateur, afficher un sous-menu du module (comme "proposer" ou "archives") qui ne serait visible que pour le groupe des modérateurs (mais dans ce cas, toutes les personnes de ce groupe auraient les droits de modération des news), et qui donnerait accès à une page qui affiche les articles à approuver.

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



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

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