Whoua dur Alors on a 2 fichier
1) admin/groupperm_global.php
La on vas mettre un appelle a la classe des permissions
include_once XOOPS_ROOT_PATH . '/class/xoopsform/grouppermform.php';
Puis on vas construire notre formulaire de permission
function list_groups()
{
global $xoopsModule ;
$global_perms_array = array(
GPERM_VIEW => _TR_CONF_VIEW ,
GPERM_EDIT => _TR_CONF_EDIT ,
GPERM_SUP_EDIT => _TR_CONF_SUP_EDIT ,
// GPERM_EDITABLE => _ALBM_GPERM_G_EDITABLE ,
GPERM_DELETE => _TR_CONF_DEL ,
GPERM_SUP_DELETE => _TR_CONF_SUP_DEL ,
// GPERM_DELETABLE => _ALBM_GPERM_G_DELETABLE ,
GPERM_UP => _TR_CONF_UP ,
GPERM_DL => _TR_CONF_DL ,
) ;
$form = new XoopsGroupPermForm( '' , $xoopsModule->mid() , 'tr_global') ;
foreach( $global_perms_array as $perm_id => $perm_name ) {
$form->addItem( $perm_id , $perm_name ) ;
}
echo $form->render() ;
}
ou GPERM_VIEW et le nom de la variable et _TR_CONF_VIEW la traduction que tu déclare plus tard dans modinfo.php pareil pour GPERM_EDIT => _TR_CONF_EDIT , ect..
ensuite tu appelle ta fonction
echo "<div id='toptable'>";
list_groups() ;
echo "</div>n" ;
bon en gros c'est ça manque deux trois truc mais bon...
ensuite tu crée un fichier get_perm.php que tu inclus dans ton header pour qu'il soit appelé dans toute les pages
<?php
if( ! defined( 'XOOPS_ROOT_PATH' ) ) exit ;
$global_perms = 0 ;
if( is_object( $xoopsDB ) ) {
if( ! is_object( $xoopsUser ) ) {
$whr_groupid = "gperm_groupid=".XOOPS_GROUP_ANONYMOUS ;
} else {
$groups =& $xoopsUser->getGroups() ;
$whr_groupid = "gperm_groupid IN (" ;
foreach( $groups as $groupid ) {
$whr_groupid .= "$groupid," ;
}
$whr_groupid = substr( $whr_groupid , 0 , -1 ) . ")" ;
}
// $rs = $xoopsDB->query( "SELECT gperm_itemid FROM ".$xoopsDB->prefix("group_permission")." WHERE gperm_modid='$myalbum_mid' AND gperm_name='myalbum_global' AND ($whr_groupid)" ) ;
$rs = $xoopsDB->query( "SELECT gperm_itemid FROM ".$xoopsDB->prefix("group_permission")." LEFT JOIN ".$xoopsDB->prefix("modules")." m ON gperm_modid=m.mid WHERE m.dirname='$mydirname' AND gperm_name='tr_global' AND ($whr_groupid)" ) ;
while( list( $itemid ) = $xoopsDB->fetchRow( $rs ) ) {
$global_perms |= $itemid ;
}
}
?>
Ensuite a toi de vérifier les permissions a chaque page
if( ! ( $global_perms & GPERM_UP ) ) {
redirect_header( "index.php" , 2 , _TR_NO_LEVEL) ;
exit ;
}
Cordialement, Venom