// get recordset of parent folder from databse $parentFolder = new TableFolder($gDb); $parentFolder->getFolderForDownload($targetFolder->getValue('fol_fol_id_parent')); } //Formularinhalt aufbereiten if ($targetFolder->getValue('fol_fol_id_parent') && $parentFolder->getValue('fol_public') == 0) { $publicFlag = $targetFolder->getValue('fol_public'); } else { if (isset($_POST['fol_public']) == false || $_POST['fol_public'] == 0) { $publicFlag = 1; } else { $publicFlag = 0; } } //setze schon einmal das Public_Flag $targetFolder->editPublicFlagOnFolder($publicFlag); $rolesArray = null; //Nur wenn der Ordner oeffentlich nicht zugaenglich ist //werden die Rollenbrechtigungen gespeichert. //Ansonsten wird ein leeres Rollenset gespeichert... if ($publicFlag == 0) { //Rollenberechtigungen aufbereiten if (array_key_exists('AllowedRoles', $_POST)) { $sentAllowedRoles = $_POST['AllowedRoles']; //fuege alle neuen Rollen hinzu foreach ($sentAllowedRoles as $newRole) { $rolesArray[] = array('rol_id' => $newRole, 'rol_name' => ''); } } } //jetzt noch die Rollenberechtigungen in die DB schreiben
if ($getFolderId === 0 || !is_array($_POST['adm_allowed_roles'])) { // FolderId ist zum hinzufuegen erforderlich $gMessage->show($gL10n->get('SYS_INVALID_PAGE_VIEW')); } try { // get recordset of current folder from database $targetFolder = new TableFolder($gDb); $targetFolder->getFolderForDownload($getFolderId); if ($targetFolder->getValue('fol_fol_id_parent')) { // get recordset of parent folder from database $parentFolder = new TableFolder($gDb); $parentFolder->getFolderForDownload($targetFolder->getValue('fol_fol_id_parent')); } if (in_array('0', $_POST['adm_allowed_roles'], true)) { // set flag public for this folder and all child folders $targetFolder->editPublicFlagOnFolder(1); // if all users have access then delete all existing roles $targetFolder->setRolesOnFolder(array()); } else { // set flag public for this folder and all child folders $targetFolder->editPublicFlagOnFolder(0); // save all set roles in the database $targetFolder->setRolesOnFolder($_POST['adm_allowed_roles']); } $targetFolder->save(); $gMessage->setForwardUrl($g_root_path . '/adm_program/system/back.php'); $gMessage->show($gL10n->get('SYS_SAVE_DATA')); } catch (AdmException $e) { $e->showHtml(); } }