X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=include%2Ffunctions_setup.inc;h=7d41ffd9586ea098f34505e041639ae356a5199a;hb=76c4c4c531f38b9ab5a8cd0e49cc34c91260c354;hp=7d5582b06223aa3e1516d731c283fc1582978496;hpb=2277cb2e30195dddd0dc2e918ff59dd3c6730a2a;p=gosa.git diff --git a/include/functions_setup.inc b/include/functions_setup.inc index 7d5582b06..7d41ffd95 100644 --- a/include/functions_setup.inc +++ b/include/functions_setup.inc @@ -30,9 +30,9 @@ function view_schema_check($table) } -function is_schema_readable($server, $admin, $password) +function is_schema_readable($server, $admin, $password, $follow_referrals=FALSE, $tls=FALSE) { - $ldap = new LDAP($admin,$password,$server); + $ldap = new LDAP($admin, $password, $server, $follow_referrals, $tls); $tmp = $ldap->get_objectclasses(); if(count($tmp)){ @@ -41,7 +41,7 @@ function is_schema_readable($server, $admin, $password) return(false); } -function schema_check($server, $admin, $password, $aff=0,$CalledByIndexPhP=false) +function schema_check($server, $admin, $password, $follow_referrals=FALSE, $tls=FALSE, $aff=0, $CalledByIndexPhP=false) { global $config; @@ -78,7 +78,7 @@ function schema_check($server, $admin, $password, $aff=0,$CalledByIndexPhP=false ); /* Get objectclasses */ - $ldap = new LDAP($admin,$password, $server); + $ldap = new LDAP($admin,$password, $server, $follow_referrals, $tls); $objectclasses = $ldap->get_objectclasses(); if(count($objectclasses) == 0){ return (array(array("msg" => _("Can't get schema information from server. No schema check possible!"), "status" => FALSE))); @@ -764,6 +764,14 @@ function show_setup_page3($withoutput = true) function show_setup_page4($withoutput = true) { $smarty= get_smarty(); + $checkvars = array("location", "admin", "password", "peopleou", "base", + "peopledn", "arr_crypts", "uidbase","errorlvl"); + + $fault = false; + $uri = $_SESSION['ldapconf']['uri']; + $ldapconf = $_SESSION['ldapconf']; + $arr_crypts= array(); + $temp = ""; /* check POST data */ if(isset($_POST['check'])) { @@ -777,7 +785,7 @@ function show_setup_page4($withoutput = true) continue; } - if((isset($_POST[$key]))&&($_POST[$key]!="")) { + if((isset($_POST[$key]))&&(!empty($_POST[$key]))) { $_SESSION['ldapconf'][$key] = $_POST[$key]; } else { if($withoutput) { @@ -803,14 +811,6 @@ function show_setup_page4($withoutput = true) } require_once("class_password-methods.inc"); - $fault = false; - $uri = $_SESSION['ldapconf']['uri']; - $ldapconf = $_SESSION['ldapconf']; - $arr_crypts= array(); - $temp = ""; - $checkvars = array("location", "admin", "password", "peopleou", "base", - "peopledn", "arr_crypts", "mail", "uidbase","errorlvl"); - if(!isset($_SESSION['ldapconf']['arr_cryptkeys'])) { require_once("class_password-methods.inc"); $tmp= passwordMethod::get_available_methods_if_not_loaded(); @@ -882,6 +882,13 @@ function show_setup_page4($withoutput = true) if(!isset($_SESSION['ldapconf']['mail'])){ $_SESSION['ldapconf']['mail']= 0; } + if(!isset($_SESSION['ldapconf']['follow_referrals'])){ + $_SESSION['ldapconf']['follow_referrals']= FALSE; + } + if(!isset($_SESSION['ldapconf']['tls'])){ + $_SESSION['ldapconf']['tls']= FALSE; + } + $tmp= array_flip($_SESSION['ldapconf']['arr_cryptkeys']); if(!isset($_SESSION['ldapconf']['arr_crypts'])){ $_SESSION['ldapconf']['arr_crypts'] = $tmp['md5']; @@ -897,14 +904,22 @@ function show_setup_page4($withoutput = true) if(isset($_POST['check']) || (isset($_POST['admin'])) && isset($_POST['password'])) { $ldap= new LDAP($_SESSION['ldapconf']['admin'], $_SESSION['ldapconf']['password'], - $_SESSION['ldapconf']['uri']); + $_SESSION['ldapconf']['uri'], + $_SESSION['ldapconf']['follow_referrals'], + $_SESSION['ldapconf']['tls']); $m= schema_check($_SESSION['ldapconf']['uri'], $_SESSION['ldapconf']['admin'], - $_SESSION['ldapconf']['password']); + $_SESSION['ldapconf']['password'], + $_SESSION['ldapconf']['follow_referrals'], + $_SESSION['ldapconf']['tls']); + $_SESSION['classes']= $m; - if(!is_schema_readable($ldapconf['uri'],$ldapconf['admin'],$ldapconf['password'])){ + //TODO: Ask user for referrals and TLS config options during setup. They are initialized to false at the moment: + $ldapconf['follow_referrals'] = false; + $ldapconf['tls'] = false; + if(!is_schema_readable($ldapconf['uri'], $ldapconf['admin'], $ldapconf['password'], $ldapconf['follow_referrals'], $ldapconf['tls'])){ if($withoutput){ print_red(_("Can't read schema informations, GOsa needs to know your schema setup. Please verify that it is readable for GOsa")); } @@ -954,7 +969,12 @@ function show_setup_page5($withoutput=true) $smarty->assign("webgroup", $info['name']); $smarty->assign("path", CONFIG_DIR); $message= "