Et oui encore un bogue soulevé pour ce module au combien connu et reconnu (quasiment toujours utilisé dès que l'on veut trouver un module gérant les downloads) mais toujours aussi bogué (mais cela va changé sans doute sous SmartDownload...).
Je vous explique la situation :
Du côté admin, n'est sélectionné comme soumetteur que le groupe "webmaster" de plus, l'auto-approbation est activée.
Donc en tant que "utilisateur enregistré", n'apparait pas dans le menu principal "proposer". Pourtant, en allant à l'adresse "submit.php" on accède tout de même au formulaire de soumission, plus encore, on peut soumettre et du coup fort de l'auto-approbation, la soumission est mise en ligne !
Voici donc ce que l'on peut mettre comme code pour vérifier l'autorisation ou pas du groupe d'accéder au formulaire suivant les choix du côté admin.
Au début du fichier "submit.php" après ligne 16 "$mytree = new XoopsTree($xoopsDB->prefix('wfdownloads_cat'), "cid", "pid");" :
//hack machenzy
global $xoopsModuleConfig, $xoopsUser, $xoopsDLModule;
$submissions = 0;
$modhandler = &xoops_gethandler('module');
$xoopsDLModule = &$modhandler->getByDirname("wfdownloads");
if (is_object($xoopsDLModule) && $xoopsDLModule->getVar('isactive'))
{
if (is_object($xoopsUser) && isset($xoopsModuleConfig['submissions']))
{
$groups = $xoopsUser->getGroups();
if (array_intersect($xoopsModuleConfig['submitarts'], $groups))
{
$submissions = 1;
}
}
else
{
if (isset($xoopsModuleConfig['anonpost']) && $xoopsModuleConfig['anonpost'] == 1)
{
$submissions = 1;
}
}
}
if ($submissions == 0)
{
redirect_header("index.php", 1, _MD_WFD_NOTALLOWESTOSUBMIT);
exit();
}
//End hack
Puis commenter les lignes suivantes :
/*if (!is_object($xoopsUser) && !$xoopsModuleConfig['anonpost'])
{
redirect_header(XOOPS_URL . '/user.php', 1, _MD_WFD_MUSTREGFIRST);
exit();
}
if (!$xoopsModuleConfig['submissions'])
{
redirect_header("index.php", 1, _MD_WFD_NOTALLOWESTOSUBMIT);
exit();
}
*/
Voilà, une faille sécurité importante de comblée
@+