X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-plugins%2Fsamba%2Fpersonal%2Fsamba%2Fclass_sambaAccount.inc;h=593263262645dd31268e39234d3f786890741a6c;hb=fbf8e4356f625423e3ccfcb0c6520942726a44e1;hp=0f37c46aeee296972c91042ea63a81e384389ab6;hpb=df9331036ed98b4167b71266c0df615d464f1bb6;p=gosa.git diff --git a/gosa-plugins/samba/personal/samba/class_sambaAccount.inc b/gosa-plugins/samba/personal/samba/class_sambaAccount.inc index 0f37c46ae..593263262 100644 --- a/gosa-plugins/samba/personal/samba/class_sambaAccount.inc +++ b/gosa-plugins/samba/personal/samba/class_sambaAccount.inc @@ -338,27 +338,34 @@ class sambaAccount extends plugin } /* Add user workstation finished? */ - if (isset($_POST["add_ws_finish"]) || isset($_POST["add_ws_cancel"])){ + if (isset($_POST["add_ws_cancel"])){ $this->show_ws_dialog= FALSE; $this->dialog= FALSE; } /* Add user workstation? */ - if (isset($_POST["add_ws_finish"]) && isset($_POST['wslist'])){ + if (isset($_POST["add_ws_finish"])){ - if($this->multiple_support_active){ - foreach($_POST['wslist'] as $ws){ - $this->multiple_sambaUserWorkstations[trim($we)] = array("Name" => trim($ws), "UsedByAllUsers" => TRUE); - } - }else{ - $tmp= $this->sambaUserWorkstations; - foreach($_POST['wslist'] as $ws){ - $tmp.= ",$ws"; + if (isset($_POST['wslist'])){ + if($this->multiple_support_active){ + foreach($_POST['wslist'] as $ws){ + $this->multiple_sambaUserWorkstations[trim($we)] = array("Name" => trim($ws), "UsedByAllUsers" => TRUE); + } + }else{ + $tmp= $this->sambaUserWorkstations; + foreach($_POST['wslist'] as $ws){ + $tmp.= ",$ws"; + } + $tmp= preg_replace('/,+/', ',', $tmp); + $this->sambaUserWorkstations= trim($tmp, ','); } - $tmp= preg_replace('/,+/', ',', $tmp); - $this->sambaUserWorkstations= trim($tmp, ','); + $this->is_modified= TRUE; + + $this->show_ws_dialog= FALSE; + $this->dialog= FALSE; + } else { + msg_dialog::display(_("Error"), _("Please select an entry!"), ERROR_DIALOG); } - $this->is_modified= TRUE; } /* Show ws dialog */ @@ -408,7 +415,7 @@ class sambaAccount extends plugin asort($wslist); $smarty->assign("search_image", get_template_path('images/search.png')); - $smarty->assign("launchimage", get_template_path('images/small_filter.png')); + $smarty->assign("launchimage", get_template_path('images/lists/action.png')); $smarty->assign("tree_image", get_template_path('images/tree.png')); $smarty->assign("deplist", $this->config->idepartments); $smarty->assign("alphabet", generate_alphabet()); @@ -448,7 +455,7 @@ class sambaAccount extends plugin for($y= $date['year']-4; $y<$date['year']+4; $y++){ $sambaLogonTime_years[]= $y; } - $sambaLogonTime_months= msgPool::months; + $sambaLogonTime_months= msgPool::months(); $smarty->assign("sambaLogonTime_day", $sambaLogonTime_date["mday"]); $smarty->assign("sambaLogonTime_days", $sambaLogonTime_days); $smarty->assign("sambaLogonTime_months", $sambaLogonTime_months); @@ -722,7 +729,9 @@ class sambaAccount extends plugin new log("remove","users/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error()); - show_ldap_error($ldap->get_error(), sprintf(_("Removing of user/samba account with dn '%s' failed."),$this->dn)); + if (!$ldap->success()){ + msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, LDAP_MOD, get_class())); + } /* Optionally execute a command after we're done */ $this->handle_post_events("remove", array("uid" => $this->uid)); @@ -1080,7 +1089,9 @@ class sambaAccount extends plugin new log("create","users/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error()); } - show_ldap_error($ldap->get_error(), sprintf(_("Saving of user/samba account with dn '%s' failed."),$this->dn)); + if (!$ldap->success()){ + msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, 0, get_class())); + } /* Optionally execute a command after we're done */ if ($this->initially_was_account == $this->is_account){ @@ -1108,33 +1119,33 @@ class sambaAccount extends plugin } - function adapt_from_template($dn) + function adapt_from_template($dn, $skip= array()) { - plugin::adapt_from_template($dn); + plugin::adapt_from_template($dn, $skip); $this->sambaSID= ""; $this->sambaPrimaryGroupSID= ""; /* Fill mungedDial field */ - if ($this->samba3 && isset($this->attrs['sambaMungedDial'])){ + if ($this->samba3 && isset($this->attrs['sambaMungedDial']) && !in_array('sambaMungedDial', $skip)){ $this->mungedObject->load($this->sambaMungedDial); } /* Password expiery */ if(isset($this->attrs['sambaPwdMustChange']) && - $this->attrs['sambaPwdMustChange'][0] != 0){ + $this->attrs['sambaPwdMustChange'][0] != 0 && !in_array('sambaPwdMustChange', $skip)){ $this->password_expires= 1; } if(isset($this->attrs['sambaLogonTime']) && ! ( $this->attrs['sambaLogonTime'][0] == 0 || $this->attrs['sambaLogonTime'][0] == 2147483647 - )){ + ) && !in_array('sambaLogonTime', $skip)){ $this->logon_time_set= 1; } if(isset($this->attrs['sambaLogoffTime']) && ! ( $this->attrs['sambaLogoffTime'][0] == 0 || $this->attrs['sambaLogoffTime'][0] == 2147483647 - )){ + ) && !in_array('sambaLogonTime', $skip)){ $this->logoff_time_set= 1; } @@ -1142,7 +1153,7 @@ class sambaAccount extends plugin if(isset($this->attrs['sambaKickoffTime']) && ! ( $this->attrs['sambaKickoffTime'][0] == 0 || $this->attrs['sambaKickoffTime'][0] == 2147483647 - )){ + ) && !in_array('sambaKickoffTime', $skip)){ $this->kickoff_time_set= 1; }