Fix permission

This commit is contained in:
Fred Tempez 2023-11-25 21:44:50 +01:00
parent dc7c3788a8
commit 5f569e5b97
3 changed files with 20 additions and 15 deletions

View File

@ -941,9 +941,6 @@ class common
*/
public function getPermission($key1, $key2 = null)
{
// User n'existe pas
// if (is_array($this->user) === false) {
// return false;
// Administrateur, toutes les permissions
if ($this->getUser('group') === self::GROUP_ADMIN) {
return true;
@ -967,10 +964,18 @@ class common
) {
return $this->getData(['profil', $this->user['group'], $this->user['profil'], $key1]);
} else {
// Une permission non spécifiée dans le profil est autorisée par défaut pour le fonctionnement de $action
return true;
// Une permission non spécifiée dans le profil est autorisée selon la valeur de $actions
if (class_exists($key1)) {
$module = new $key1;
if (array_key_exists($key2, $module::$actions)) {
// var_dump($this->getUser('group'));
// var_dump($module::$actions[$key2]);
// var_dump($this->getUser('group') >= $module::$actions[$key2]);
return $this->getUser('group') >= $module::$actions[$key2];
}
}
return false;
}
}
/**

View File

@ -74,6 +74,7 @@ class course extends common
public function index()
{
self::$courses = array();
if (
$this->getUser('id')
@ -280,11 +281,9 @@ class course extends common
{
$courseId = $this->getUrl(2);
if (
$this->getUser('permission', __CLASS__, __FUNCTION__) !== true ||
($this->getUser('permission', __CLASS__, __FUNCTION__) !== true
// Le contenu n'existe pas
$this->getData(['course', $courseId]) === null
// Groupe insuffisant
and ($this->getUrl('group') < self::GROUP_EDITOR)
|| $this->getData(['course', $courseId]) === null)
) {
// Valeurs en sortie
$this->addOutput([
@ -294,7 +293,6 @@ class course extends common
} else {
// Active l'accueil
$_SESSION['ZWII_SITE_CONTENT'] = 'home';
// ET efface la structure
if (is_dir(self::DATA_DIR . $courseId)) {
$success = $this->deleteDir(self::DATA_DIR . $courseId);
@ -1031,7 +1029,7 @@ class course extends common
// Valeurs en sortie
$this->addOutput([
'redirect' => helper::baseUrl(!helper::checkRewrite()) . 'course/user/' . $courseId,
'redirect' => helper::baseUrl() . 'course/users/' . $courseId,
'notification' => 'Création ' . basename($filename) . ' dans le dossier "Export"',
'state' => true,
]);

View File

@ -2,15 +2,16 @@
<div class="col1">
<?php echo template::button('courseBack', [
'class' => 'buttonGrey',
'href' => helper::baseUrl() . $this->getUrl(2),
'value' => template::ico('left')
'href' => helper::baseUrl(),
'value' => template::ico('home')
]); ?>
</div>
<?php if ($this->getUser('group') === self::GROUP_ADMIN): ?>
<div class="col1 offset9">
<?php echo template::button('courseCategory', [
'href' => helper::baseUrl() . 'course/category',
'value' => template::ico('table'),
'help' => 'Catégories de contenu'
'help' => 'Catégories'
]); ?>
</div>
<div class="col1 ">
@ -20,6 +21,7 @@
'value' => template::ico('plus')
]); ?>
</div>
<?php endif; ?>
</div>
<?php if($module::$courses): ?>
<?php echo template::table([2, 2, 2, 3, 1, 1, 1], $module::$courses, ['Titre court', 'Auteur', 'Description', 'Lien direct', '', '', ''], ['id' => 'dataTables']); ?>