Code

Updated phoneAccount.
[gosa.git] / include / class_config.inc
index 848bc57a28ea351822da34d7dd17a403eacee999..270f1e2565c7f5484e10308ce47d45a1a1805a40 100644 (file)
@@ -179,39 +179,49 @@ class config  {
     $this->level--;
   }
 
-  function get_ldap_link($sizelimit= FALSE)
-  {
-    /* Build new connection */
-    $this->ldap= ldap_init ($this->current['SERVER'], $this->current['BASE'],
-        $this->current['ADMIN'], $this->current['PASSWORD']);
 
-    /* Check for connection */
-    if (is_null($this->ldap) || (is_int($this->ldap) && $this->ldap == 0)){
-      $smarty= get_smarty();
-      print_red (_("Can't bind to LDAP. Please contact the system administrator."));
-      $smarty->display (get_template_path('headers.tpl'));
-      echo '<body style="background-image:none">'.$_SESSION['errors'].'</body></html>';
-      exit();
+  function get_credentials($creds)
+  {
+    if (isset($_SERVER['HTTP_GOSA_KEY'])){
+      return (cred_decrypt($creds, $_SERVER['HTTP_GOSA_KEY']));
     }
+    return ($creds);
+  }
 
-    if (!isset($_SESSION['size_limit'])){
-      $_SESSION['size_limit']= $this->current['SIZELIMIT'];
-      $_SESSION['size_ignore']= $this->current['SIZEIGNORE'];
-    }
 
-    if ($sizelimit){
-      $this->ldap->set_size_limit($_SESSION['size_limit']);
-    } else {
-      $this->ldap->set_size_limit(0);
-    }
+  function get_ldap_link($sizelimit= FALSE)
+  {
+      /* Build new connection */
+      $this->ldap= ldap_init ($this->current['SERVER'], $this->current['BASE'],
+          $this->current['ADMIN'], $this->get_credentials($this->current['PASSWORD']));
+
+      /* Check for connection */
+      if (is_null($this->ldap) || (is_int($this->ldap) && $this->ldap == 0)){
+        $smarty= get_smarty();
+        print_red (_("Can't bind to LDAP. Please contact the system administrator."));
+        $smarty->display (get_template_path('headers.tpl'));
+        echo '<body style="background-image:none">'.$_SESSION['errors'].'</body></html>';
+        exit();
+      }
 
-    /* Move referrals */
-    if (!isset($this->current['REFERRAL'])){
-      $this->ldap->referrals= array();
-    } else {
-      $this->ldap->referrals= $this->current['REFERRAL'];
-    }
+      if (!isset($_SESSION['size_limit'])){
+        $_SESSION['size_limit']= $this->current['SIZELIMIT'];
+        $_SESSION['size_ignore']= $this->current['SIZEIGNORE'];
+      }
 
+      if ($sizelimit){
+        $this->ldap->set_size_limit($_SESSION['size_limit']);
+      } else {
+        $this->ldap->set_size_limit(0);
+      }
+
+      /* Move referrals */
+      if (!isset($this->current['REFERRAL'])){
+        $this->ldap->referrals= array();
+      } else {
+        $this->ldap->referrals= $this->current['REFERRAL'];
+      }
+#    } 
     return ($this->ldap);
   }