Fix view access to specific autorized LSobject even if LSobject type is not in menu
authorBenjamin Renard <brenard@easter-eggs.com>
Thu, 23 Mar 2017 15:41:34 +0000 (16:41 +0100)
committerBenjamin Renard <brenard@easter-eggs.com>
Thu, 23 Mar 2017 15:41:34 +0000 (16:41 +0100)
public_html/view.php

index 8429108..d540e4e 100644 (file)
@@ -25,15 +25,16 @@ require_once 'core.php';
 if(LSsession :: startLSsession()) {
   if (isset($_REQUEST['LSobject'])) {
     $LSobject = $_REQUEST['LSobject'];
-    $dn = isset($_REQUEST['dn'])?urldecode($_REQUEST['dn']):null;
+    if ( $LSobject == 'SELF' ) {
+      $LSobject = LSsession :: getLSuserObject() -> getType();
+      $dn = LSsession :: getLSuserObjectDn();
+    }
+    else {
+      $dn = isset($_REQUEST['dn'])?urldecode($_REQUEST['dn']):null;
+    }
     
-    if (LSsession :: in_menu($LSobject)) {
+    if (LSsession :: in_menu($LSobject) || LSsession :: canAccess($LSobject,$dn)) {
     
-      if ( $LSobject == 'SELF' ) {
-        $LSobject = LSsession :: getLSuserObject() -> getType();
-        $dn = LSsession :: getLSuserObjectDn();
-      }
-      
       if ( LSsession :: loadLSobject($LSobject) ) {
         // Affichage d'un objet
         if ( $dn!='' ) {