From: Jan Schneider Date: Mon, 22 Feb 2010 15:21:36 +0000 (+0100) Subject: Add option to disallow world permissions for user shares. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=4522c96db7c6c657592867711ee40b61647c79da;p=horde.git Add option to disallow world permissions for user shares. --- diff --git a/horde/config/conf.xml b/horde/config/conf.xml index 05747ea62..505b02fdf 100644 --- a/horde/config/conf.xml +++ b/horde/config/conf.xml @@ -1053,19 +1053,18 @@ to. Allow Sharing? - false - - Allow sharing with groups that users aren't members - of? + false + true false - Share Caching Enabling share caching improves performance because the share backend will only be queried once per session. But it also increases @@ -1073,7 +1072,6 @@ users log in the next time. false - Shares Driver You can use different driver types for the Horde Share diff --git a/horde/docs/CHANGES b/horde/docs/CHANGES index 1ba8391b5..ccf96e04e 100644 --- a/horde/docs/CHANGES +++ b/horde/docs/CHANGES @@ -2,6 +2,7 @@ v4.0-cvs -------- +[jan] Add option to disallow world permissions for user shares. [mms] Allow Mozilla DNS prefetching to be turned off when displaying untrusted content (Ticket #8836). [jan] Store alarm dates in UTC (Bug #8381). diff --git a/horde/services/shares/edit.php b/horde/services/shares/edit.php index d86123f6e..a05bc7b36 100644 --- a/horde/services/shares/edit.php +++ b/horde/services/shares/edit.php @@ -89,48 +89,51 @@ case 'editform': } } - // Process default permissions. - if (Horde_Util::getFormData('default_show')) { - $perm->addDefaultPermission(Horde_Perms::SHOW, false); - } else { - $perm->removeDefaultPermission(Horde_Perms::SHOW, false); - } - if (Horde_Util::getFormData('default_read')) { - $perm->addDefaultPermission(Horde_Perms::READ, false); - } else { - $perm->removeDefaultPermission(Horde_Perms::READ, false); - } - if (Horde_Util::getFormData('default_edit')) { - $perm->addDefaultPermission(Horde_Perms::EDIT, false); - } else { - $perm->removeDefaultPermission(Horde_Perms::EDIT, false); - } - if (Horde_Util::getFormData('default_delete')) { - $perm->addDefaultPermission(Horde_Perms::DELETE, false); - } else { - $perm->removeDefaultPermission(Horde_Perms::DELETE, false); - } + if (Horde_Auth::isAdmin() || + !empty($GLOBALS['conf']['shares']['world'])) { + // Process default permissions. + if (Horde_Util::getFormData('default_show')) { + $perm->addDefaultPermission(Horde_Perms::SHOW, false); + } else { + $perm->removeDefaultPermission(Horde_Perms::SHOW, false); + } + if (Horde_Util::getFormData('default_read')) { + $perm->addDefaultPermission(Horde_Perms::READ, false); + } else { + $perm->removeDefaultPermission(Horde_Perms::READ, false); + } + if (Horde_Util::getFormData('default_edit')) { + $perm->addDefaultPermission(Horde_Perms::EDIT, false); + } else { + $perm->removeDefaultPermission(Horde_Perms::EDIT, false); + } + if (Horde_Util::getFormData('default_delete')) { + $perm->addDefaultPermission(Horde_Perms::DELETE, false); + } else { + $perm->removeDefaultPermission(Horde_Perms::DELETE, false); + } - // Process guest permissions. - if (Horde_Util::getFormData('guest_show')) { - $perm->addGuestPermission(Horde_Perms::SHOW, false); - } else { - $perm->removeGuestPermission(Horde_Perms::SHOW, false); - } - if (Horde_Util::getFormData('guest_read')) { - $perm->addGuestPermission(Horde_Perms::READ, false); - } else { - $perm->removeGuestPermission(Horde_Perms::READ, false); - } - if (Horde_Util::getFormData('guest_edit')) { - $perm->addGuestPermission(Horde_Perms::EDIT, false); - } else { - $perm->removeGuestPermission(Horde_Perms::EDIT, false); - } - if (Horde_Util::getFormData('guest_delete')) { - $perm->addGuestPermission(Horde_Perms::DELETE, false); - } else { - $perm->removeGuestPermission(Horde_Perms::DELETE, false); + // Process guest permissions. + if (Horde_Util::getFormData('guest_show')) { + $perm->addGuestPermission(Horde_Perms::SHOW, false); + } else { + $perm->removeGuestPermission(Horde_Perms::SHOW, false); + } + if (Horde_Util::getFormData('guest_read')) { + $perm->addGuestPermission(Horde_Perms::READ, false); + } else { + $perm->removeGuestPermission(Horde_Perms::READ, false); + } + if (Horde_Util::getFormData('guest_edit')) { + $perm->addGuestPermission(Horde_Perms::EDIT, false); + } else { + $perm->removeGuestPermission(Horde_Perms::EDIT, false); + } + if (Horde_Util::getFormData('guest_delete')) { + $perm->addGuestPermission(Horde_Perms::DELETE, false); + } else { + $perm->removeGuestPermission(Horde_Perms::DELETE, false); + } } // Process creator permissions. diff --git a/horde/templates/shares/edit.inc b/horde/templates/shares/edit.inc index c3b0b7180..bff7a049f 100644 --- a/horde/templates/shares/edit.inc +++ b/horde/templates/shares/edit.inc @@ -50,6 +50,7 @@ if (isset($userperms[$owner])) { +   @@ -119,6 +120,7 @@ if (isset($userperms[$owner])) { +   diff --git a/kronolith/perms.php b/kronolith/perms.php index 868b54a22..aa95bd347 100644 --- a/kronolith/perms.php +++ b/kronolith/perms.php @@ -73,58 +73,61 @@ case 'editform': } } - // Process default permissions. - if (Horde_Util::getFormData('default_show')) { - $perm->addDefaultPermission(Horde_Perms::SHOW, false); - } else { - $perm->removeDefaultPermission(Horde_Perms::SHOW, false); - } - if (Horde_Util::getFormData('default_read')) { - $perm->addDefaultPermission(Horde_Perms::READ, false); - } else { - $perm->removeDefaultPermission(Horde_Perms::READ, false); - } - if (Horde_Util::getFormData('default_edit')) { - $perm->addDefaultPermission(Horde_Perms::EDIT, false); - } else { - $perm->removeDefaultPermission(Horde_Perms::EDIT, false); - } - if (Horde_Util::getFormData('default_delete')) { - $perm->addDefaultPermission(Horde_Perms::DELETE, false); - } else { - $perm->removeDefaultPermission(Horde_Perms::DELETE, false); - } - if (Horde_Util::getFormData('default_delegate')) { - $perm->addDefaultPermission(Kronolith::PERMS_DELEGATE, false); - } else { - $perm->removeDefaultPermission(Kronolith::PERMS_DELEGATE, false); - } + if (Horde_Auth::isAdmin() || + !empty($GLOBALS['conf']['shares']['world'])) { + // Process default permissions. + if (Horde_Util::getFormData('default_show')) { + $perm->addDefaultPermission(Horde_Perms::SHOW, false); + } else { + $perm->removeDefaultPermission(Horde_Perms::SHOW, false); + } + if (Horde_Util::getFormData('default_read')) { + $perm->addDefaultPermission(Horde_Perms::READ, false); + } else { + $perm->removeDefaultPermission(Horde_Perms::READ, false); + } + if (Horde_Util::getFormData('default_edit')) { + $perm->addDefaultPermission(Horde_Perms::EDIT, false); + } else { + $perm->removeDefaultPermission(Horde_Perms::EDIT, false); + } + if (Horde_Util::getFormData('default_delete')) { + $perm->addDefaultPermission(Horde_Perms::DELETE, false); + } else { + $perm->removeDefaultPermission(Horde_Perms::DELETE, false); + } + if (Horde_Util::getFormData('default_delegate')) { + $perm->addDefaultPermission(Kronolith::PERMS_DELEGATE, false); + } else { + $perm->removeDefaultPermission(Kronolith::PERMS_DELEGATE, false); + } - // Process guest permissions. - if (Horde_Util::getFormData('guest_show')) { - $perm->addGuestPermission(Horde_Perms::SHOW, false); - } else { - $perm->removeGuestPermission(Horde_Perms::SHOW, false); - } - if (Horde_Util::getFormData('guest_read')) { - $perm->addGuestPermission(Horde_Perms::READ, false); - } else { - $perm->removeGuestPermission(Horde_Perms::READ, false); - } - if (Horde_Util::getFormData('guest_edit')) { - $perm->addGuestPermission(Horde_Perms::EDIT, false); - } else { - $perm->removeGuestPermission(Horde_Perms::EDIT, false); - } - if (Horde_Util::getFormData('guest_delete')) { - $perm->addGuestPermission(Horde_Perms::DELETE, false); - } else { - $perm->removeGuestPermission(Horde_Perms::DELETE, false); - } - if (Horde_Util::getFormData('guest_delegate')) { - $perm->addGuestPermission(Kronolith::PERMS_DELEGATE, false); - } else { - $perm->removeGuestPermission(Kronolith::PERMS_DELEGATE, false); + // Process guest permissions. + if (Horde_Util::getFormData('guest_show')) { + $perm->addGuestPermission(Horde_Perms::SHOW, false); + } else { + $perm->removeGuestPermission(Horde_Perms::SHOW, false); + } + if (Horde_Util::getFormData('guest_read')) { + $perm->addGuestPermission(Horde_Perms::READ, false); + } else { + $perm->removeGuestPermission(Horde_Perms::READ, false); + } + if (Horde_Util::getFormData('guest_edit')) { + $perm->addGuestPermission(Horde_Perms::EDIT, false); + } else { + $perm->removeGuestPermission(Horde_Perms::EDIT, false); + } + if (Horde_Util::getFormData('guest_delete')) { + $perm->addGuestPermission(Horde_Perms::DELETE, false); + } else { + $perm->removeGuestPermission(Horde_Perms::DELETE, false); + } + if (Horde_Util::getFormData('guest_delegate')) { + $perm->addGuestPermission(Kronolith::PERMS_DELEGATE, false); + } else { + $perm->removeGuestPermission(Kronolith::PERMS_DELEGATE, false); + } } // Process creator permissions. diff --git a/kronolith/templates/perms/perms.inc b/kronolith/templates/perms/perms.inc index 4865ccbec..8fcc9a947 100644 --- a/kronolith/templates/perms/perms.inc +++ b/kronolith/templates/perms/perms.inc @@ -40,6 +40,7 @@ +   @@ -121,6 +122,7 @@   +