1.7.00 gestion RFM WIP
This commit is contained in:
parent
6d42f792e4
commit
db0637ca1c
@ -142,8 +142,8 @@ class JsonDb extends \Prowebcraft\Dot
|
|||||||
*/
|
*/
|
||||||
public function save()
|
public function save()
|
||||||
{
|
{
|
||||||
/// $v = json_encode($this->data, JSON_UNESCAPED_UNICODE | JSON_FORCE_OBJECT | JSON_PRETTY_PRINT);
|
$v = json_encode($this->data, JSON_UNESCAPED_UNICODE | JSON_FORCE_OBJECT | JSON_PRETTY_PRINT);
|
||||||
$v = json_encode($this->data, JSON_UNESCAPED_UNICODE | JSON_FORCE_OBJECT);
|
// $v = json_encode($this->data, JSON_UNESCAPED_UNICODE | JSON_FORCE_OBJECT);
|
||||||
$l = strlen($v);
|
$l = strlen($v);
|
||||||
$t = 0;
|
$t = 0;
|
||||||
while ($t < 5) {
|
while ($t < 5) {
|
||||||
|
@ -224,7 +224,7 @@ class init extends common
|
|||||||
'1' => [
|
'1' => [
|
||||||
'name' => 'Membre simple',
|
'name' => 'Membre simple',
|
||||||
'readonly' => false,
|
'readonly' => false,
|
||||||
'permanent' => false,
|
'permanent' => true,
|
||||||
'comment' => 'Accède aux pages réservées',
|
'comment' => 'Accède aux pages réservées',
|
||||||
'filemanager' => false,
|
'filemanager' => false,
|
||||||
'file' => [
|
'file' => [
|
||||||
@ -261,8 +261,8 @@ class init extends common
|
|||||||
'copycut' => false,
|
'copycut' => false,
|
||||||
'chmod' => false,
|
'chmod' => false,
|
||||||
'share' => false,
|
'share' => false,
|
||||||
'coursePath' => '',
|
'coursePath' => 'none',
|
||||||
'homePath' => ''
|
'homePath' => 'none'
|
||||||
],
|
],
|
||||||
'page' => [
|
'page' => [
|
||||||
'add' => false,
|
'add' => false,
|
||||||
@ -357,7 +357,7 @@ class init extends common
|
|||||||
'copycut' => false,
|
'copycut' => false,
|
||||||
'chmod' => false,
|
'chmod' => false,
|
||||||
'share' => true,
|
'share' => true,
|
||||||
'coursePath' => '/site/file/source/partage/',
|
'coursePath' => 'none',
|
||||||
'homePath' => '/site/file/source/partage/'
|
'homePath' => '/site/file/source/partage/'
|
||||||
],
|
],
|
||||||
'page' => [
|
'page' => [
|
||||||
@ -458,7 +458,7 @@ class init extends common
|
|||||||
'copycut' => false,
|
'copycut' => false,
|
||||||
'chmod' => false,
|
'chmod' => false,
|
||||||
'share' => true,
|
'share' => true,
|
||||||
'coursePath' => '',
|
'coursePath' => 'none',
|
||||||
'homePath' => '/site/file/source/partage/'
|
'homePath' => '/site/file/source/partage/'
|
||||||
],
|
],
|
||||||
'page' => [
|
'page' => [
|
||||||
@ -518,7 +518,7 @@ class init extends common
|
|||||||
'2' => [
|
'2' => [
|
||||||
'name' => 'Rédacteur',
|
'name' => 'Rédacteur',
|
||||||
'readonly' => false,
|
'readonly' => false,
|
||||||
'permanent' => true,
|
'permanent' => false,
|
||||||
'comment' => 'Tous les droits d\'édition des espaces',
|
'comment' => 'Tous les droits d\'édition des espaces',
|
||||||
'filemanager' => true,
|
'filemanager' => true,
|
||||||
'file' => [
|
'file' => [
|
||||||
@ -555,7 +555,7 @@ class init extends common
|
|||||||
'copycut' => true,
|
'copycut' => true,
|
||||||
'chmod' => true,
|
'chmod' => true,
|
||||||
'share' => true,
|
'share' => true,
|
||||||
'coursePath' => '',
|
'coursePath' => 'none',
|
||||||
'homePath' => '/site/file/source/partage/'
|
'homePath' => '/site/file/source/partage/'
|
||||||
],
|
],
|
||||||
'page' => [
|
'page' => [
|
||||||
|
@ -692,8 +692,8 @@ class user extends common
|
|||||||
'rename' => $this->getInput('profilEditFolderRename', helper::FILTER_BOOLEAN),
|
'rename' => $this->getInput('profilEditFolderRename', helper::FILTER_BOOLEAN),
|
||||||
'copycut' => $this->getInput('profilEditFolderCopycut', helper::FILTER_BOOLEAN),
|
'copycut' => $this->getInput('profilEditFolderCopycut', helper::FILTER_BOOLEAN),
|
||||||
'chmod' => $this->getInput('profilEditFolderChmod', helper::FILTER_BOOLEAN),
|
'chmod' => $this->getInput('profilEditFolderChmod', helper::FILTER_BOOLEAN),
|
||||||
'coursePath' => preg_replace('/^\\./', '', $this->getInput('profilEditCoursePath')), // Supprime le point pour préserver le chemin
|
'coursePath' => $this->getInput('profilEditCoursePath'), // Supprime le point pour préserver le chemin
|
||||||
'homePath' => preg_replace('/^\\./', '', $this->getInput('profilEditHomePath')), // Supprime le point pour préserver le chemin
|
'homePath' => $this->getInput('profilEditHomePath'), // Supprime le point pour préserver le chemin
|
||||||
],
|
],
|
||||||
'page' => [
|
'page' => [
|
||||||
'add' => $this->getInput('profilEditPageAdd', helper::FILTER_BOOLEAN),
|
'add' => $this->getInput('profilEditPageAdd', helper::FILTER_BOOLEAN),
|
||||||
@ -757,21 +757,20 @@ class user extends common
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Chemin vers les dossiers du gestionnaire de fichier
|
// Chemin vers les dossiers du gestionnaire de fichier
|
||||||
self::$sharePath = $this->getSubdirectories('./site/file/source');
|
self::$sharePath = $this->getSubdirectories('site/file/source');
|
||||||
|
|
||||||
// Exclure les espaces des cours
|
// Exclure les espaces des cours
|
||||||
/*
|
|
||||||
foreach (array_keys($this->getData(['course'])) as $courseId) {
|
foreach (array_keys($this->getData(['course'])) as $courseId) {
|
||||||
self::$sharePath = array_filter(self::$sharePath, function ($key) use ($courseId) {
|
self::$sharePath = array_filter(self::$sharePath, function ($key) use ($courseId) {
|
||||||
return strpos($key, $courseId) === false;
|
return strpos($key, $courseId) === false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
self::$sharePath = array_flip(self::$sharePath);
|
self::$sharePath = array_flip(self::$sharePath);
|
||||||
self::$sharePath = array_merge(['none' => 'Aucun Accès'], self::$sharePath);
|
self::$sharePath = array_merge(['none' => 'Aucun Accès'], self::$sharePath);
|
||||||
self::$sharePath = array_merge(['' => 'Confiné dans le dossier de l\'espace ouvert'], self::$sharePath);
|
self::$sharePath = array_merge(['course' => 'Confiné dans le dossier de l\'espace ouvert'], self::$sharePath);
|
||||||
self::$sharePath = array_merge(['./site/file/source/' => 'Tout le gestionnaire de fichiers'], self::$sharePath);
|
self::$sharePath = array_merge(['/site/file/source/' => 'Tout le gestionnaire de fichiers'], self::$sharePath);
|
||||||
|
|
||||||
// Liste des modules installés
|
// Liste des modules installés
|
||||||
self::$listModules = helper::getModules();
|
self::$listModules = helper::getModules();
|
||||||
@ -869,8 +868,8 @@ class user extends common
|
|||||||
'rename' => $this->getInput('profilAddFolderRename', helper::FILTER_BOOLEAN),
|
'rename' => $this->getInput('profilAddFolderRename', helper::FILTER_BOOLEAN),
|
||||||
'copycut' => $this->getInput('profilAddFolderCopycut', helper::FILTER_BOOLEAN),
|
'copycut' => $this->getInput('profilAddFolderCopycut', helper::FILTER_BOOLEAN),
|
||||||
'chmod' => $this->getInput('profilAddFolderChmod', helper::FILTER_BOOLEAN),
|
'chmod' => $this->getInput('profilAddFolderChmod', helper::FILTER_BOOLEAN),
|
||||||
'coursePath' => preg_replace('/^\\./', '', $this->getInput('profilAddCoursePath')), // Supprime le point pour préserver le chemin
|
'coursePath' => $this->getInput('profilAddCoursePath'), // Supprime le point pour préserver le chemin
|
||||||
'homePath' => preg_replace('/^\\./', '', $this->getInput('profilAddHomePath')), // Supprime le point pour préserver le chemin
|
'homePath' => $this->getInput('profilAddHomePath'), // Supprime le point pour préserver le chemin
|
||||||
],
|
],
|
||||||
'page' => [
|
'page' => [
|
||||||
'add' => $this->getInput('profilAddPageAdd', helper::FILTER_BOOLEAN),
|
'add' => $this->getInput('profilAddPageAdd', helper::FILTER_BOOLEAN),
|
||||||
@ -959,7 +958,7 @@ class user extends common
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Chemin vers les dossiers du gestionnaire de fichier
|
// Chemin vers les dossiers du gestionnaire de fichier
|
||||||
self::$sharePath = $this->getSubdirectories('./site/file/source');
|
self::$sharePath = $this->getSubdirectories('site/file/source');
|
||||||
|
|
||||||
// Exclure les espaces des cours
|
// Exclure les espaces des cours
|
||||||
/*
|
/*
|
||||||
@ -972,7 +971,7 @@ class user extends common
|
|||||||
|
|
||||||
self::$sharePath = array_flip(self::$sharePath);
|
self::$sharePath = array_flip(self::$sharePath);
|
||||||
self::$sharePath = array_merge(['none' => 'Aucun Accès'], self::$sharePath);
|
self::$sharePath = array_merge(['none' => 'Aucun Accès'], self::$sharePath);
|
||||||
self::$sharePath = array_merge(['' => 'Confiné dans le dossier de l\'espace ouvert'], self::$sharePath);
|
self::$sharePath = array_merge(['course' => 'Confiné dans le dossier de l\'espace ouvert'], self::$sharePath);
|
||||||
self::$sharePath = array_merge(['./site/file/source/' => 'Tout le gestionnaire de fichiers'], self::$sharePath);
|
self::$sharePath = array_merge(['./site/file/source/' => 'Tout le gestionnaire de fichiers'], self::$sharePath);
|
||||||
|
|
||||||
// Liste des modules installés
|
// Liste des modules installés
|
||||||
|
@ -93,16 +93,14 @@
|
|||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="col5">
|
<div class="col5">
|
||||||
<?php echo template::select('profilEditCoursePath', $module::$sharePath, [
|
<?php var_dump ($this->getData(['profil', $this->getUrl(2), $this->getUrl(3), 'folder', 'coursePath']));echo template::select('profilEditCoursePath', $module::$sharePath, [
|
||||||
'label' => 'Dossier depuis un espace',
|
'label' => 'Dossier depuis un espace',
|
||||||
'class' => 'filemanager',
|
'class' => 'filemanager',
|
||||||
/*
|
/*
|
||||||
* 'none' interdit l'accès au gestionnaire de fichier
|
* 'none' interdit l'accès au gestionnaire de fichier
|
||||||
* Ce n'est pas un chemin donc on n'ajoute pas le .
|
* Ce n'est pas un chemin donc on n'ajoute pas le .
|
||||||
*/
|
*/
|
||||||
'selected' => $this->getData(['profil', $this->getUrl(2), $this->getUrl(3), 'folder', 'coursePath']) !== 'none'
|
'selected' => $this->getData(['profil', $this->getUrl(2), $this->getUrl(3), 'folder', 'coursePath'])
|
||||||
? '.' . $this->getData(['profil', $this->getUrl(2), $this->getUrl(3), 'folder', 'coursePath'])
|
|
||||||
: $this->getData(['profil', $this->getUrl(2), $this->getUrl(3), 'folder', 'coursePath'])
|
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="col5">
|
<div class="col5">
|
||||||
@ -110,9 +108,7 @@
|
|||||||
'label' => 'Dossier depuis l\'accueil',
|
'label' => 'Dossier depuis l\'accueil',
|
||||||
'class' => 'filemanager',
|
'class' => 'filemanager',
|
||||||
// 'none' interdit l'accès au gestionnaire de fichier au niveau de l'accueil
|
// 'none' interdit l'accès au gestionnaire de fichier au niveau de l'accueil
|
||||||
'selected' => $this->getData(['profil', $this->getUrl(2), $this->getUrl(3), 'folder', 'homePath']) !== 'none'
|
'selected' => $this->getData(['profil', $this->getUrl(2), $this->getUrl(3), 'folder', 'homePath'])
|
||||||
? '.' . $this->getData(['profil', $this->getUrl(2), $this->getUrl(3), 'folder', 'homePath'])
|
|
||||||
: $this->getData(['profil', $this->getUrl(2), $this->getUrl(3), 'folder', 'homePath'])
|
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
21
core/vendor/filemanager/config/config.php
vendored
21
core/vendor/filemanager/config/config.php
vendored
@ -52,28 +52,35 @@ if (!is_null($u) && !is_null($g) && !is_null($userId)) {
|
|||||||
case 1:
|
case 1:
|
||||||
// Accès contrôlés par le profil
|
// Accès contrôlés par le profil
|
||||||
$profil = $u['user'][$userId]['profil'];
|
$profil = $u['user'][$userId]['profil'];
|
||||||
|
$file = $g['profil'][$group][$profil]['file'];
|
||||||
|
$folder = $g['profil'][$group][$profil]['folder'];
|
||||||
// membre sans profil déclaré ou accès interdit, pas d'accès
|
// membre sans profil déclaré ou accès interdit, pas d'accès
|
||||||
if (
|
if (
|
||||||
is_null($profil)
|
is_null($profil)
|
||||||
|| $g['profil'][$group][$profil]['filemanager'] === false
|
|| $g['profil'][$group][$profil]['filemanager'] === false
|
||||||
|
|| $folder = $g['profil'][$group][$profil]['folder'] === 'none'
|
||||||
) {
|
) {
|
||||||
exit("<h1 style='color: red'>Accès interdit au gestionnaire de fichiers !</h1>");
|
exit("<h1 style='color: red'>Accès interdit au gestionnaire de fichiers !</h1>");
|
||||||
}
|
}
|
||||||
|
|
||||||
$file = $g['profil'][$group][$profil]['file'];
|
|
||||||
$folder = $g['profil'][$group][$profil]['folder'];
|
|
||||||
|
|
||||||
// Chemin du dossier partagé dans le profil
|
// Chemin du dossier partagé dans le profil
|
||||||
$sharedPathKey = ($courseId === 'home') ? 'homePath' : 'coursePath';
|
$sharedPathKey = ($courseId === 'home') ? 'homePath' : 'coursePath';
|
||||||
$sharedPath = isset($folder[$sharedPathKey]) ? $folder[$sharedPathKey] : '';
|
$sharedPath = isset($folder[$sharedPathKey]) ? $folder[$sharedPathKey] : '';
|
||||||
|
|
||||||
// Un dossier renvoie vers le dossier confiné
|
// Accès non partagé
|
||||||
$uploadDir = empty($sharedPath) ? '/site/file/source/' . $courseId . '/' : $sharedPath;
|
if (
|
||||||
|
$folder[$sharedPathKey] === 'none'
|
||||||
|
) {
|
||||||
|
exit("<h1 style='color: red'>Accès interdit au gestionnaire de fichiers !</h1>");
|
||||||
|
}
|
||||||
|
|
||||||
$currentPath = '../../..' . $uploadDir . '/';
|
// Un dossier renvoie vers le dossier confiné
|
||||||
|
$uploadDir = $sharedPath === 'course' ? '/site/file/source/' . $courseId . '/' : $sharedPath;
|
||||||
|
|
||||||
|
$currentPath = '../../../' . $uploadDir;
|
||||||
|
|
||||||
// Affiche un message d'erreur du le dossier partagé a été supprimé.
|
// Affiche un message d'erreur du le dossier partagé a été supprimé.
|
||||||
if (is_dir($uploadDir) == false ) {
|
if (is_dir($currentPath) == false) {
|
||||||
exit("<h1 style='color: red'>Le dossier partagé est inexistant, contactez l'administrateur.</h1>");
|
exit("<h1 style='color: red'>Le dossier partagé est inexistant, contactez l'administrateur.</h1>");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user