LSobject/LSsession : Added feature to globally disable object creation with configura...
authorBenjamin Renard <brenard@easter-eggs.com>
Mon, 2 Aug 2010 12:39:50 +0000 (14:39 +0200)
committerBenjamin Renard <brenard@easter-eggs.com>
Mon, 2 Aug 2010 12:39:50 +0000 (14:39 +0200)
doc/conf/LSobject.docbook
public_html/includes/class/class.LSsession.php

index e0a9ff5..8722388 100644 (file)
@@ -33,6 +33,8 @@
     // Information des configurations pour la création du conteneur du type d'LSobjet
     // lors de la création nouveau subDn
   ),
+
+  'disable_creation' => [boolean]',
   
   'before_modify' => 'function1',
   'after_modify' => 'function2',
 </varlistentry>
 
 <varlistentry>
+  <term>disable_creation</term>
+  <listitem>
+    <simpara>Booléen permetant de desactiver la creation de ce type d'objet de
+    manière globale.</simpara>
+  </listitem>
+</varlistentry>
+
+<varlistentry>
   <term>before_modify</term>
   <listitem>
     <simpara>Chaîne de caractères correspondant au nom d'une fonction qui sera
index ab09efa..0d2e8dc 100644 (file)
@@ -1844,6 +1844,12 @@ class LSsession {
    * @retval boolean True si l'utilisateur a accès, false sinon
    */    
   public static function canCreate($LSobject) {
+    if (!self :: loadLSobject($LSobject)) {
+      return;
+    }
+    if (LSconfig :: get("LSobjects.$LSobject.disable_creation")) {
+      return;
+    }
     return self :: canAccess($LSobject,NULL,'w','rdn');
   }