Closed sudwebdesign closed 8 months ago
C'est en testant avec plxAdminBar que je met a jour pour suive les évolutions de PluXml qui m'a permis de découvrir ceci. Cela me semblais anormal, vu que le menu d'un abonné affiche juste le lien Profil.
2 remarques :
Une façon plus rapide est de faire un test sur $_SESSION['profil'] dans prepend.php quand PLX_AUTH n'est pas défini.
# Hook Plugins
eval($plxAdmin->plxPlugins->callHook('AdminPrepend'));
# Restricted grants for PROFIL_SUBSCRIBER
if(
!defined('PLX_AUTHPAGE') and
$_SESSION['profil'] > PROFIL_WRITER and
!preg_match('#/core/admin/profil\.php$#', $_SERVER['PHP_SELF'])
) {
header('Location: profil.php');
exit;
}
Je pousserai un PR demain
La il y aucune boucle infini, un abonné a le droit d'ouvrir les page admin/article.php medias.php et index.php car (me semble t'il) aucun test du profil est fait sur ces pages et pour la redirection de index vers profil le premier commit le prévoit.
Pour éviter des problèmes avec les plugins, je ferais le test decheckProfil avant l'appel aux hooks
Le placement de checkprofil
est inspiré de admin/categories.php ou de catégorie.php (me rappelle plus) où il est rajouté PROFIL_WRITER
Au moins ils se ressemblent (les hooks sont bien avant la vérif).
C'est sur que de placer la vérif après un hook semble (a priori) bizarre, peut-être une raison historique ou autre... Il est donc possible de changer le profil de l'utilisateur en session ou bien plus.
Je te laisse seul juge du placement des checkprofil, ce qui compte c'est que PluXml est le moins de bogue possible ;)
Il est possible a un abonné d'écrire un article, lister les articles et accéder aux médias, avec ce patch leurs accès est interdit.