diff --git a/setup/class_setupStep_Config3.inc b/setup/class_setupStep_Config3.inc index 89a80cf1da53005dbfbac40158ae76f936504b74..70ad929d2e4b5d42e9d0d23c70fcb358b6dca6e5 100644 --- a/setup/class_setupStep_Config3.inc +++ b/setup/class_setupStep_Config3.inc @@ -242,7 +242,7 @@ class Step_Config3 extends setup_step $attrs['fdSchemaCheck'] = ($cv['enable_schema_check']?"TRUE":"FALSE"); $attrs['fdLogging'] = ($this->optional['logging']?"TRUE":"FALSE"); - $attrs['fdDisplayErrors'] = ($cv['errorlvl']?"TRUE":"FALSE"); + $attrs['fdDisplayErrors'] = ($this->errorlvl?"TRUE":"FALSE"); $attrs['fdSessionLifetime'] = $this->optional['session_lifetime']; $attrs['fdDebugLevel'] = $this->optional['debuglevel']; diff --git a/setup/class_setupStep_Migrate.inc b/setup/class_setupStep_Migrate.inc index b1d91afe813f168b3568fe6f185ebaf3a3b96b07..64534077cb5305849f12c24034279d467f5c1b35 100644 --- a/setup/class_setupStep_Migrate.inc +++ b/setup/class_setupStep_Migrate.inc @@ -93,10 +93,6 @@ class Step_Migrate extends setup_step var $menu_dialog = FALSE; var $menu = array(); - /* Win-Workstations outside to reserved ou */ - var $outside_winstations = array(); - var $outside_winstations_dialog = FALSE; - /* check for multiple use of same uidNumber */ var $check_uidNumbers = array(); var $check_uidNumbers_dialog = FALSE; @@ -180,12 +176,6 @@ class Step_Migrate extends setup_step $this->search_outside_groups(); $this->check_organizationalUnits(); - $this->checks['outside_winstations']['TITLE'] = _("Checking for windows workstations outside the computers tree"); - $this->checks['outside_winstations']['STATUS'] = FALSE; - $this->checks['outside_winstations']['STATUS_MSG']= ""; - $this->checks['outside_winstations']['ERROR_MSG'] = ""; - $this->search_outside_winstations(); - $this->checks['uidNumber_usage']['TITLE'] = _("Checking for duplicated UID numbers"); $this->checks['uidNumber_usage']['STATUS'] = FALSE; $this->checks['uidNumber_usage']['STATUS_MSG']= ""; @@ -321,68 +311,6 @@ class Step_Migrate extends setup_step } } - - /* Search for winstations outside the computers ou - */ - function search_outside_winstations() - { - /* Establish ldap connection */ - $cv = $this->parent->captured_values; - $ldap_l = new LDAP($cv['admin'], - $cv['password'], - $cv['connection'], - FALSE, - $cv['tls']); - - $ldap = new ldapMultiplexer($ldap_l); - - /* Get winstation ou */ - if($cv['generic_settings']['wws_ou_active']) { - $winstation_ou = $cv['generic_settings']['wws_ou']; - } else { - $winstation_ou = "ou=computers"; - } - - if($cv['samba_version'] == 3){ - $oc = "sambaSamAccount"; - } else { - $oc = "sambaAccount"; - } - - $ldap->cd($cv['base']); - $res = $ldap->search("(&(objectClass=".$oc.")(uid=*$))",array("dn","sambaSID")); - if(!$res){ - $this->checks['outside_winstations']['STATUS'] = FALSE; - $this->checks['outside_winstations']['STATUS_MSG']= _("LDAP query failed"); - $this->checks['outside_winstations']['ERROR_MSG'] = _("Possibly the 'root object' is missing."); - return(false); - } - - $this->outside_winstations = array(); - while($attrs = $ldap->fetch()){ - if((!preg_match("/^[^,]+,".preg_quote($winstation_ou, '/')."/",$attrs['dn'])) && !preg_match("/,dc=addressbook,/",$attrs['dn'])){ - $attrs['selected'] = FALSE; - $attrs['ldif'] = ""; - $this->outside_winstations[base64_encode($attrs['dn'])] = $attrs; - } - } - - if(count($this->outside_winstations)){ - $this->checks['outside_winstations']['STATUS'] = FALSE; - $this->checks['outside_winstations']['STATUS_MSG']= _("Failed"); - $this->checks['outside_winstations']['ERROR_MSG'] = - sprintf(_("Found %s winstations outside the predefined computers department ou '%s'."),count($this->outside_winstations),$winstation_ou); - $this->checks['outside_winstations']['ERROR_MSG'].= "<input type='submit' name='outside_winstations_dialog' value='"._("Migrate")."...'>"; - return(false); - } else { - $this->checks['outside_winstations']['STATUS'] = TRUE; - $this->checks['outside_winstations']['STATUS_MSG']= _("Ok"); - $this->checks['outside_winstations']['ERROR_MSG'] = ""; - return(TRUE); - } - } - - /* Search for groups outside the group ou */ function search_outside_groups() @@ -1216,57 +1144,6 @@ class Step_Migrate extends setup_step return(TRUE); } - - function migrate_outside_winstations($perform = FALSE) - { - /* Establish ldap connection */ - $cv = $this->parent->captured_values; - $ldap_l = new LDAP($cv['admin'], - $cv['password'], - $cv['connection'], - FALSE, - $cv['tls']); - - $ldap = new ldapMultiplexer($ldap_l); - - $ldap->cd($cv['base']); - - /* Check if there was a destination department posted */ - if(isset($_POST['move_winstation_to'])){ - $destination_dep = $_POST['move_winstation_to']; - } else { - msg_dialog::display(_("LDAP error"), _("Cannot move users to the requested department!"), ERROR_DIALOG); - return(false); - } - - foreach($this->outside_winstations as $b_dn => $data){ - $this->outside_winstations[$b_dn]['ldif'] =""; - if($data['selected']){ - $dn = base64_decode($b_dn); - $d_dn = preg_replace("/,.*$/",",".base64_decode($destination_dep),$dn); - if(!$perform){ - $this->outside_winstations[$b_dn]['ldif'] = _("Winstation will be moved from").":<br>\t".($ldap->fix($dn))."<br>"._("to").":<br>\t".($ldap->fix($d_dn)); - - - /* Check if there are references to this object */ - $ldap->search("(&(member=".LDAP::prepare4filter($dn).")(|(objectClass=gosaGroupOfNames)(objectClass=groupOfNames)))",array('dn')); - $refs = ""; - while($attrs = $ldap->fetch()){ - $ref_dn = $attrs['dn']; - $refs .= "<br />\t".$ref_dn; - } - if(!empty($refs)){ - $this->outside_winstations[$b_dn]['ldif'] .= "<br /><br /><i>"._("Updating following references too").":</i>".$refs; - } - - } else { - $this->move($dn,$d_dn); - } - } - } - } - - function migrate_outside_groups($perform = FALSE) { /* Establish ldap connection */ @@ -1372,47 +1249,6 @@ class Step_Migrate extends setup_step $this->checks_initialised = TRUE; } - /************* - * Winstations outside the computers ou - *************/ - - if(isset($_POST['outside_winstations_dialog_cancel'])){ - $this->outside_winstations_dialog = FALSE; - $this->dialog = FALSE; - $this->show_details = FALSE; - } - - if(isset($_POST['outside_winstations_dialog_whats_done'])){ - $this->migrate_outside_winstations(FALSE); - } - - if(isset($_POST['outside_winstations_dialog_perform'])){ - $this->migrate_outside_winstations(TRUE); - $this->search_outside_winstations(); - $this->dialog = FALSE; - $this->show_details = FALSE; - $this->outside_winstations_dialog = FALSE; - } - - if(isset($_POST['outside_winstations_dialog'])){ - $this->outside_winstations_dialog = TRUE; - $this->dialog = TRUE; - } - - if($this->outside_winstations_dialog){ - - /* Fix displayed dn syntax */ - $tmp = $this->outside_winstations; - foreach($tmp as $key => $data){ - $tmp[$key]['dn'] = LDAP::fix($data['dn']); - } - - $smarty = get_smarty(); - $smarty->assign("ous",$this->get_all_winstation_ous()); - $smarty->assign("method","outside_winstations"); - $smarty->assign("outside_winstations",$tmp); - return($smarty->fetch(get_template_path("setup_migrate.tpl",TRUE,dirname(__FILE__)))); - } /************* * Groups outside the group ou *************/ @@ -1886,18 +1722,7 @@ class Step_Migrate extends setup_step function save_object() { - $this->is_completed= TRUE; - - /* Capture all selected winstations from outside_winstations_dialog */ - if($this->outside_winstations_dialog){ - foreach($this->outside_winstations as $dn => $data){ - if(isset($_POST['select_winstation_'.$dn])){ - $this->outside_winstations[$dn]['selected'] = TRUE; - } else { - $this->outside_winstations[$dn]['selected'] = FALSE; - } - } - } + $this->is_completed = TRUE; /* Capture all selected groups from outside_groups_dialog */ if($this->outside_groups_dialog){ @@ -2266,54 +2091,6 @@ class Step_Migrate extends setup_step return($tmp); } - - function get_all_winstation_ous() - { - /* Establish ldap connection */ - $cv = $this->parent->captured_values; - $ldap_l = new LDAP($cv['admin'], - $cv['password'], - $cv['connection'], - FALSE, - $cv['tls']); - - $ldap = new ldapMultiplexer($ldap_l); - - /* Get winstation ou */ - if($cv['generic_settings']['wws_ou_active']) { - $winstation_ou = $cv['generic_settings']['wws_ou']; - } else { - $winstation_ou = "ou=computers"; - } - - $ldap->cd($cv['base']); - $ldap->search("(".$winstation_ou.")",array("dn")); - - if($ldap->count() == 0 ){ - $add_dn = $winstation_ou.",ou=systems,".$cv['base']; - $naming_attr = preg_replace("/=.*$/","",$add_dn); - $naming_value = preg_replace("/^[^=]*+=([^,]*).*$/","\\1",$add_dn); - $add = array(); - $add['objectClass'] = array("organizationalUnit"); - $add[$naming_attr] = $naming_value; - - $ldap->cd($cv['base']); - $ldap->create_missing_trees(preg_replace("/^[^,]+,/","",$add_dn)); - $ldap->cd($add_dn); - $ldap->add($add); - } - - $ldap->search("(".$winstation_ou.")",array("dn")); - $tmp = array(); - while($attrs= $ldap->fetch()){ - if(!preg_match("/ou=snapshots,/",$attrs['dn'])){ - $tmp[base64_encode($attrs['dn'])] = $ldap->fix($attrs['dn']); - } - } - return($tmp); - } - - function get_all_group_ous() { /* Establish ldap connection */ diff --git a/setup/setup_migrate.tpl b/setup/setup_migrate.tpl index 18d0a43eccb98b5bc60bf5ea7b5e0c961b11bfaf..4c4e91f1f516a4f4268900ed0d4dae1d469754ba 100644 --- a/setup/setup_migrate.tpl +++ b/setup/setup_migrate.tpl @@ -53,60 +53,12 @@ <br> <input type='submit' name='rootOC_migrate_start' value='{t}Migrate{/t}'> </p> - - <p class='seperator'> </p> - <div style='width:100%; text-align:right; padding:5px;'> - <input type='submit' name='rootOC_dialog_cancel' value='{t}Close{/t}'> - </div> - - {elseif $method == "outside_winstations"} - - <h2>{t}Move windows workstations into a valid windows workstation department{/t}</h2> - - {t}This dialog allows you to move the displayed windows workstations into a valid department{/t} - <br> - {t}Be careful with this tool, there may be references pointing to this workstations that can't be migrated.{/t} - <br> - <br> - - {foreach from=$outside_winstations item=val key=key} - {if $outside_winstations.$key.selected} - <input id='select_winstation_{$key}' type='checkbox' name='select_winstation_{$key}' checked> - {else} - <input id='select_winstation_{$key}' type='checkbox' name='select_winstation_{$key}'> - {/if} - - {$outside_winstations.$key.dn} - {if $outside_winstations.$key.ldif != ""} - <div class="step2_entry_container_info" id="sol_8"> - <div style='padding-left:20px;'> - <pre> - {$outside_winstations.$key.ldif} - </pre> - </div> - </div> - {/if} - <br> - {/foreach} - <input type='checkbox' id='toggle_calue' onClick="toggle_all_('^select_winstation_','toggle_calue')"> - {t}Select all{/t} - <p> - <b>{t}Move selected windows workstations into the following FusionDirectory department{/t} : </b> - <select name='move_winstation_to'> - {html_options options=$ous} - </select> - <br> - <input type='submit' name='outside_winstations_dialog_perform' value='{t}Move selected workstations{/t}'> - <input type='submit' name='outside_winstations_dialog_whats_done' value='{t}What will be done here{/t}'> - </p> - - <p class='seperator'> </p> + <p class='seperator'> </p> <div style='width:100%; text-align:right; padding:5px;'> - <input type='submit' name='outside_winstations_dialog_cancel' value='{t}Close{/t}'> + <input type='submit' name='rootOC_dialog_cancel' value='{t}Close{/t}'> </div> - {elseif $method == "outside_groups"} @@ -119,7 +71,7 @@ {t}Be careful with this option! There may be references pointing to these groups. The FusionDirectory setup can't migrate references, so you may want to cancel the migration in this case.{/t} </p> <p> - {t}Move selected groups into this group tree{/t}: + {t}Move selected groups into this group tree{/t}: <select name='move_group_to'> {html_options options=$ous} </select> @@ -156,13 +108,13 @@ {/if} </p> - <p class='seperator'> </p> + <p class='seperator'> </p> <div style='width:99%; text-align:right; padding:5px;'> <input type='submit' name='outside_groups_dialog_perform' value='{t}Apply{/t}'> <input type='submit' name='outside_groups_dialog_cancel' value='{t}Cancel{/t}'> </div> - + {elseif $method == "outside_users"} <h2>{t}Move users into configured user tree{/t}</h2> @@ -171,9 +123,9 @@ </p> <p style='color:red'> {t}Be careful with this option! There may be references pointing to these users. The FusionDirectory setup can't migrate references, so you may want to cancel the migration in this case.{/t} - </p> + </p> <p> - {t}Move selected users into this people tree{/t}: + {t}Move selected users into this people tree{/t}: <select name='move_user_to'> {html_options options=$ous} </select> @@ -207,21 +159,21 @@ <input type='submit' name='outside_users_dialog_whats_done' value='{t}Show changes{/t}'> {/if} - <p class='seperator'> </p> + <p class='seperator'> </p> <div style='width:99%; text-align:right; padding:5px;'> <input type='submit' name='outside_users_dialog_perform' value='{t}Apply{/t}'> <input type='submit' name='outside_users_dialog_cancel' value='{t}Cancel{/t}'> </div> - + {elseif $method == "migrate_acls"} <h2>{t}Migrate GOsa 2.5 administrative accounts{/t}</h2> <p> {t}This dialog allows the migration of GOsa 2.5 admin accounts into FusionDirectory 1.0 useable accounts.{/t} </p> - <table> - <tr> + <table> + <tr> <td></td> <td></td> </tr> @@ -255,9 +207,9 @@ {/if} <input type='submit' value="{t}Reload{/t}"> - <p class='seperator'> </p> + <p class='seperator'> </p> <div style='width:99%; text-align:right; padding:5px;'> - <input type='submit' name='migrate_admin_user' value='{t}Apply{/t}'> + <input type='submit' name='migrate_admin_user' value='{t}Apply{/t}'> <input type='submit' name='migrate_acls_cancel' value='{t}Cancel{/t}'> </div> @@ -268,12 +220,12 @@ <pre> {$what_will_be_done_now} </pre> - </div> + </div> <input type='submit' name='create_acls_create_confirmed' value='{t}Next{/t}'> <input type='submit' name='create_acls_create_abort' value='{t}Abort{/t}'> {else} <h2>{t}Create a new FusionDirectory administrator account{/t}</h2> - + <p> {t}This dialog will automatically add a new super administrator to your LDAP tree.{/t} </p> @@ -312,7 +264,7 @@ </td> </tr> </table> - + <!-- Place cursor --> <script language="JavaScript" type="text/javascript"> <!-- // First input field on page @@ -320,19 +272,19 @@ --> </script> - <p class='seperator'> </p> + <p class='seperator'> </p> <div style='width:99%; text-align:right; padding:5px;'> - <input type='submit' name='create_admin_user' value='{t}Apply{/t}'> + <input type='submit' name='create_admin_user' value='{t}Apply{/t}'> <input type='submit' name='create_acls_cancel' value='{t}Cancel{/t}'> </div> - {/if} + {/if} {elseif $method == "migrate_deps"} - + <h2>Department migration</h2> <p>{t}The listed departments are currently invisible in the FusionDirectory user interface. If you want to change this for a couple of entries, select them and use the migrate button below.{/t}</p> <p>{t}If you want to know what will be done when migrating the selected entries, use the 'Show changes' button to see the LDIF.{/t}</p> - + {foreach from=$deps_to_migrate item=val key=key} {if $deps_to_migrate.$key.checked} @@ -361,7 +313,7 @@ dn: {$deps_to_migrate.$key.dn} <input id='migrate_{$key}' type='checkbox' name='migrate_{$key}'> {$deps_to_migrate.$key.dn} {/if} - + <br> {/foreach} <input type='checkbox' id='toggle_calue' onClick="toggle_all_('^migrate_','toggle_calue')"> @@ -374,7 +326,7 @@ dn: {$deps_to_migrate.$key.dn} <input type='submit' name='deps_visible_migrate_whatsdone' value='{t}Show changes{/t}'> {/if} - <p class='seperator'> </p> + <p class='seperator'> </p> <div style='width:99%; text-align:right; padding:5px;'> <input type='submit' name='deps_visible_migrate_migrate' value='{t}Apply{/t}'> @@ -382,7 +334,7 @@ dn: {$deps_to_migrate.$key.dn} <input type='submit' name='deps_visible_migrate_close' value='{t}Cancel{/t}'> </div> {elseif $method == "migrate_users"} - + <h2>User migration</h2> <p>{t}The listed users are currently invisible in the FusionDirectory user interface. If you want to change this for a couple of users, just select them and use the 'Migrate' button below.{/t}</p> @@ -427,7 +379,7 @@ dn: {$users_to_migrate.$key.dn} <input type='submit' name='users_visible_migrate_whatsdone' value='{t}Show changes{/t}'> {/if} - <p class='seperator'> </p> + <p class='seperator'> </p> <div style='width:99%; text-align:right; padding-top:5px;'> <input type='submit' name='users_visible_migrate_migrate' value='{t}Apply{/t}'> @@ -446,14 +398,14 @@ dn: {$users_to_migrate.$key.dn} {foreach from=$devices item=item key=key} <input type='checkbox' name='migrate_{$key}' id='migrate_{$key}' {if $item.DETAILS} checked {/if}> <b>{$item.DEVICE_NAME}</b> - - {$item.DN} + - {$item.DN} {if $item.DETAILS && $device_details} <div class="step2_entry_container_info"> <b>{t}Current{/t}</b> <pre>{$item.CURRENT}</pre> - - + + <b>{t}After migration{/t}</b> <pre>{$item.AFTER}</pre> </div> @@ -462,7 +414,7 @@ dn: {$users_to_migrate.$key.dn} {/foreach} <input type='checkbox' id='toggle_calue' onClick="toggle_all_('^migrate_','toggle_calue')"> {t}Select all{/t} - + <br> {if $device_details} @@ -472,7 +424,7 @@ dn: {$users_to_migrate.$key.dn} <input type='submit' name='device_dialog_whats_done' value='{t}Show changes{/t}'> {/if} - <p class='seperator'> </p> + <p class='seperator'> </p> <div style='width:99%; text-align:right; padding-top:5px;'> <input type='submit' name='migrate_devices' value='{t}Apply{/t}'> @@ -495,8 +447,8 @@ dn: {$users_to_migrate.$key.dn} <div class="step2_entry_container_info"> <b>{t}Current{/t}</b> <pre>{$item.CURRENT}</pre> - - + + <b>{t}After migration{/t}</b> <pre>{$item.AFTER}</pre> </div> @@ -505,7 +457,7 @@ dn: {$users_to_migrate.$key.dn} {/foreach} <input type='checkbox' id='toggle_calue' onClick="toggle_all_('^migrate_','toggle_calue')"> {t}Select all{/t} - + <br> {if $service_details} @@ -515,7 +467,7 @@ dn: {$users_to_migrate.$key.dn} <input type='submit' name='service_dialog_whats_done' value='{t}Show changes{/t}'> {/if} - <p class='seperator'> </p> + <p class='seperator'> </p> <div style='width:99%; text-align:right; padding-top:5px;'> <input type='submit' name='migrate_services' value='{t}Apply{/t}'> @@ -539,8 +491,8 @@ dn: {$users_to_migrate.$key.dn} <div class="step2_entry_container_info"> <b>{t}Current{/t}</b> <pre>{$item.CURRENT}</pre> - - + + <b>{t}After migration{/t}</b> <pre>{$item.AFTER}</pre> </div> @@ -549,7 +501,7 @@ dn: {$users_to_migrate.$key.dn} {/foreach} <input type='checkbox' id='toggle_calue' onClick="toggle_all_('^migrate_','toggle_calue')"> {t}Select all{/t} - + <br> {if $menu_details} @@ -559,7 +511,7 @@ dn: {$users_to_migrate.$key.dn} <input type='submit' name='menu_dialog_whats_done' value='{t}Show changes{/t}'> {/if} - <p class='seperator'> </p> + <p class='seperator'> </p> <div style='width:99%; text-align:right; padding-top:5px;'> <input type='submit' name='migrate_menus' value='{t}Apply{/t}'>