diff --git a/gosa-plugins/samba/personal/samba/class_sambaAccount.inc b/gosa-plugins/samba/personal/samba/class_sambaAccount.inc
index 598cf9a108705d897c3567a79fa9240987578986..65830c6d5b990c8ee855bd302f88048c92ff1c43 100644 (file)
var $plDescription= "This does something";
var $view_logged = FALSE;
- /* CLI vars */
- var $cli_summary= "Manage users samba account";
- var $cli_description= "Some longer text\nfor help";
- var $cli_parameters= array("eins" => "Eins ist toll", "zwei" => "Zwei ist noch besser");
-
/* Switch for Samba version */
var $samba3= FALSE;
var $uidNumber= 65535;
$ldap->search ("(&(objectClass=sambaDomain)(sambaSID=$this->SID))",array("sambaAlgorithmicRidBase","sambaDomainName"));
if ($ldap->count() != 0){
$attrs= $ldap->fetch();
- $this->ridBase= $attrs['sambaAlgorithmicRidBase'][0];
+ if(isset($attrs['sambaAlgorithmicRidBase'])){
+ $this->ridBase= $attrs['sambaAlgorithmicRidBase'][0];
+ } else {
+ $this->ridBase= $this->config->current['RIDBASE'];
+ }
if ($this->sambaDomainName == ""){
$this->sambaDomainName= $attrs['sambaDomainName'][0];
}
/* Do we represent a valid account? */
if (!$this->is_account && $this->parent === NULL){
$display= "<img alt=\"\"src=\"images/stop.png\" align=\"middle\"> <b>".
- _("This account has no samba extensions.")."</b>";
+ msgPool::noValidExtension(_("Samba"))."</b>";
$display.= back_to_main();
return ($display);
}
$display= "";
if ($this->parent !== NULL){
if ($this->is_account){
- $display= $this->show_disable_header(_("Remove samba account"),
- _("This account has samba features enabled. You can disable them by clicking below."));
+ $display= $this->show_disable_header(msgPool::removeFeaturesButton(_("Samba")),
+ msgPool::featuresEnabled(_("Samba")));
} else {
$obj= $this->parent->by_object['posixAccount'];
uidNumbers. There'll be a better solution later
on. */
if ($obj->is_account){
- $display= $this->show_enable_header(_("Create samba account"),
- _("This account has samba features disabled. You can enable them by clicking below."));
+ $display= $this->show_enable_header(msgPool::addFeaturesButton(_("Samba")),
+ msgPool::featuresDisabled(_("Samba")));
} else {
- $display= $this->show_enable_header(_("Create samba account"),
- _("This account has samba features disabled. Posix features are needed for samba accounts, enable them first."), TRUE);
+ $display= $this->show_enable_header(msgPool::addFeaturesButton(_("Samba")),
+ msgPool::featuresDisabled(_("Samba"), _("POSIX")), TRUE);
}
return ($display);
}
}
/* 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 */
for($y= $date['year']-4; $y<$date['year']+4; $y++){
$years[]= $y;
}
- $months= array(_("January"), _("February"), _("March"), _("April"),
- _("May"), _("June"), _("July"), _("August"), _("September"),
- _("October"), _("November"), _("December"));
+ $months= msgPool::months();
$smarty->assign("day", $date["mday"]);
$smarty->assign("days", $days);
$smarty->assign("months", $months);
for($y= $date['year']-4; $y<$date['year']+4; $y++){
$sambaLogonTime_years[]= $y;
}
- $sambaLogonTime_months= array(_("January"), _("February"), _("March"), _("April"),
- _("May"), _("June"), _("July"), _("August"), _("September"),
- _("October"), _("November"), _("December"));
+ $sambaLogonTime_months= msgPool::months();
$smarty->assign("sambaLogonTime_day", $sambaLogonTime_date["mday"]);
$smarty->assign("sambaLogonTime_days", $sambaLogonTime_days);
$smarty->assign("sambaLogonTime_months", $sambaLogonTime_months);
for($y= $date['year']-4; $y<$date['year']+4; $y++){
$sambaLogoffTime_years[]= $y;
}
- $sambaLogoffTime_months= array(_("January"), _("February"), _("March"), _("April"),
- _("May"), _("June"), _("July"), _("August"), _("September"),
- _("October"), _("November"), _("December"));
+ $sambaLogoffTime_months= msgPool::months();
$smarty->assign("sambaLogoffTime_day", $sambaLogoffTime_date["mday"]);
$smarty->assign("sambaLogoffTime_days", $sambaLogoffTime_days);
$smarty->assign("sambaLogoffTime_months", $sambaLogoffTime_months);
for($y= $date['year']-4; $y<$date['year']+4; $y++){
$sambaKickoffTime_years[]= $y;
}
- $sambaKickoffTime_months= array(_("January"), _("February"), _("March"), _("April"),
- _("May"), _("June"), _("July"), _("August"), _("September"),
- _("October"), _("November"), _("December"));
+ $sambaKickoffTime_months= msgPool::months();
//$smarty->assign("sambaKickoffTime_day", $sambaKickoffTime_date["mday"]-1);
$smarty->assign("sambaKickoffTime_day", $sambaKickoffTime_date["mday"]); // hickert
$smarty->assign("sambaKickoffTime_days", $sambaKickoffTime_days);
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));
foreach (array( "sambaHomePath" => _("Home directory"),
"sambaProfilePath" => _("Profile path")) as $key => $val){
if (!$this->mungedObject->is_samba_path($this->$key)){
- $message[]= sprintf(_("The value specified as '%s' contains invalid characters!"), $val);
+ $message[]= msgPool::invalid($val);
}
}
"CtxMaxIdleTime" => _("IDLE")) as $key => $val){
if (isset($this->mungedObject->ctx[$key]) && !tests::is_id($this->mungedObject->ctx[$key]) && $val != 0){
- $message[]= sprintf(_("The timeout property '%s' is checked and contains invalid or no characters!"), $val);
+ $message[]= msgPool::invalid($val);
}
}
/* Too many workstations? Windows usrmgr only supports eight */
if (substr_count($this->sambaUserWorkstations, ",") >= 8){
- $message[]= _("The windows user manager only allows eight clients. You've specified more than eight.");
+ $message[]= _("The windows usermanager allows eight clients at maximum!");
}
}
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){
foreach (array( "sambaHomePath" => _("Home directory"),
"sambaProfilePath" => _("Profile path")) as $key => $val){
if (in_array($key,$this->multi_boxes) && !$this->mungedObject->is_samba_path($this->$key)){
- $message[]= sprintf(_("The value specified as '%s' contains invalid characters!"), $val);
+ $message[]= msgPool::invalid($val);
}
}
if (in_array($key,$this->multi_boxes) &&
isset($this->mungedObject->ctx[$key]) &&
!tests::is_id($this->mungedObject->ctx[$key]) && $val != 0){
- $message[]= sprintf(_("The timeout property '%s' is checked and contains invalid or no characters!"), $val);
+ $message[]=msgPool::invalid($val);
}
}
}
}
}
+
+
+ function PrepareForCopyPaste($source)
+ {
+ plugin::PrepareForCopyPaste($source);
+
+ /* Set a new SID */
+ $this->sambaSID = "";
+ }
+
}
// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: