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) public function getPermission($key1, $key2 = null)
{ {
// User n'existe pas
// if (is_array($this->user) === false) {
// return false;
// Administrateur, toutes les permissions // Administrateur, toutes les permissions
if ($this->getUser('group') === self::GROUP_ADMIN) { if ($this->getUser('group') === self::GROUP_ADMIN) {
return true; return true;
@ -967,10 +964,18 @@ class common
) { ) {
return $this->getData(['profil', $this->user['group'], $this->user['profil'], $key1]); return $this->getData(['profil', $this->user['group'], $this->user['profil'], $key1]);
} else { } else {
// Une permission non spécifiée dans le profil est autorisée par défaut pour le fonctionnement de $action // Une permission non spécifiée dans le profil est autorisée selon la valeur de $actions
return true; 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() public function index()
{ {
self::$courses = array(); self::$courses = array();
if ( if (
$this->getUser('id') $this->getUser('id')
@ -280,11 +281,9 @@ class course extends common
{ {
$courseId = $this->getUrl(2); $courseId = $this->getUrl(2);
if ( if (
$this->getUser('permission', __CLASS__, __FUNCTION__) !== true || ($this->getUser('permission', __CLASS__, __FUNCTION__) !== true
// Le contenu n'existe pas // Le contenu n'existe pas
$this->getData(['course', $courseId]) === null || $this->getData(['course', $courseId]) === null)
// Groupe insuffisant
and ($this->getUrl('group') < self::GROUP_EDITOR)
) { ) {
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
@ -294,7 +293,6 @@ class course extends common
} else { } else {
// Active l'accueil // Active l'accueil
$_SESSION['ZWII_SITE_CONTENT'] = 'home'; $_SESSION['ZWII_SITE_CONTENT'] = 'home';
// ET efface la structure // ET efface la structure
if (is_dir(self::DATA_DIR . $courseId)) { if (is_dir(self::DATA_DIR . $courseId)) {
$success = $this->deleteDir(self::DATA_DIR . $courseId); $success = $this->deleteDir(self::DATA_DIR . $courseId);
@ -1031,7 +1029,7 @@ class course extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $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"', 'notification' => 'Création ' . basename($filename) . ' dans le dossier "Export"',
'state' => true, 'state' => true,
]); ]);

View File

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