summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 4285d1d)
raw | patch | inline | side by side (parent: 4285d1d)
author | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Tue, 14 Dec 2010 13:30:35 +0000 (13:30 +0000) | ||
committer | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Tue, 14 Dec 2010 13:30:35 +0000 (13:30 +0000) |
git-svn-id: https://oss.gonicus.de/repositories/gosa/branches/2.6@20554 594d385d-05f5-0310-b6e9-bd551577e9d8
gosa-plugins/samba/personal/samba/class_sambaAccount.inc | patch | blob | history | |
gosa-plugins/samba/personal/samba/samba3.tpl | patch | blob | history |
diff --git a/gosa-plugins/samba/personal/samba/class_sambaAccount.inc b/gosa-plugins/samba/personal/samba/class_sambaAccount.inc
index 09bd6d7f39f0f6a8019040c5f59b15eb5f62e46f..465bb60e3aa3b2a03643f0be463cb04d35b25739 100644 (file)
var $sambaPwdLastSet= "0";
var $sambaLogonTime= "0";
var $sambaLogoffTime= "2147483647";
- var $sambaKickoffTime= "2147483647";
+ var $sambaKickoffTime= "";
var $sambaPwdCanChange= "0";
var $sambaPwdMustChange= "0";
var $flag_noPasswordRequired = FALSE;
var $flag_temporaryDisabled = FALSE;
var $flag_cannotChangePassword = FALSE;
+ var $flag_sambaKickoffTime = FALSE;
// String values
var $sambaHomePath= "";
// Load flags
$this->loadFlagsFromSource($this->attrs);
+
+ // Set kickOffTime to date
+ if(isset($this->attrs['sambaKickoffTime'][0])){
+ $this->sambaKickoffTime = date("d.m.Y", $this->sambaKickoffTime);
+ $this->flag_sambaKickoffTime = TRUE;
+ }
}
"CtxMaxDisconnectionTime","CtxMaxIdleTimeF","CtxMaxIdleTime","connectclientdrives",
"onnectclientprinters","defaultprinter","shadow","brokenconn",
"reconn","connectclientprinters","SetSambaLogonHours",
- "workstation_list",
+ "workstation_list","sambaKickoffTime",
"enforcePasswordChange", "passwordNeverExpires", "noPasswordRequired",
"temporaryDisabled","cannotChangePassword") as $attr){
// Assign flags
foreach(array("flag_enforcePasswordChange", "flag_passwordNeverExpires", "flag_noPasswordRequired",
- "flag_temporaryDisabled","flag_cannotChangePassword") as $attr){
+ "flag_temporaryDisabled","flag_cannotChangePassword","flag_sambaKickoffTime") as $attr){
$smarty->assign($attr, $this->$attr);
}
/* Call common method to give check the hook */
$message= plugin::check();
+ if($this->flag_sambaKickoffTime){
+ if(!preg_match("/^[0-3][0-9]\.[0-1][0-9]\.([0-9]){4}$/",$this->sambaKickoffTime)){
+ $message[] = msgPool::invalid(_("Account expires after"));
+ }elseif(!strtotime($this->sambaKickoffTime) || strtotime($this->sambaKickoffTime) >= 2147483647){
+ $message[] = msgPool::invalid(_("Account expires after"));
+ }
+ }
+
/* sambaHomePath requires sambaHomeDrive and vice versa */
if(!empty($this->sambaHomePath) && empty($this->sambaHomeDrive)){
$message[]= msgPool::required(_("Home drive"));
// Get posted flags.
foreach(array("enforcePasswordChange", "passwordNeverExpires", "noPasswordRequired",
- "temporaryDisabled","cannotChangePassword") as $name){
+ "temporaryDisabled","cannotChangePassword","sambaKickoffTime") as $name){
$flag = "flag_{$name}";
if($this->acl_is_writeable($name)){
$tmp = isset($_POST[$flag]);
}
$this->attrs['objectClass']= $tmp;
+ // Handle "sambaKickoffTime" flag.
+ if($this->flag_sambaKickoffTime){
+ $this->attrs['sambaKickoffTime'] = strtotime($this->sambaKickoffTime);
+ }else{
+ $this->attrs['sambaKickoffTime']= array();
+ }
// Handle "enforce password change" flag.
if($this->flag_enforcePasswordChange){
"sambaProfilePath" => _("Generic profile path") ,
"AllowLoginOnTerminalServer" => _("Allow login on terminal server"),
"InheritClientConfig" => _("Inherit client config"),
-
+ "sambaKickoffTime" => _("Account expires"),
"enforcePasswordChange" => _("Enforce password change"),
"cannotChangePassword" => _("Disallow password change") ,
"noPasswordRequired" => _("Login from windows client requires no password"),
"onnectclientprinters","defaultprinter","shadow","brokenconn",
"reconn","connectclientprinters","SetSambaLogonHours","workstation_list",
"enforcePasswordChange", "passwordNeverExpires", "noPasswordRequired",
- "temporaryDisabled","cannotChangePassword"
+ "temporaryDisabled","cannotChangePassword","sambaKickoffTime"
) as $attr){
if(isset($_POST["use_".$attr]) || isset($_POST["use_flag_".$attr]) ){
$this->multi_boxes[] = $attr;
if (substr_count($this->sambaUserWorkstations, ",") >= 8){
$message[]= _("The windows user manager only allows eight clients. You've specified more than eight.");
}
+
+
+ if(in_array("sambaKickoffTime", $this->multi_boxes) && $this->flag_sambaKickoffTime){
+ if(!preg_match("/^[0-3][0-9]\.[0-1][0-9]\.([0-9]){4}$/",$this->sambaKickoffTime)){
+ $message[] = msgPool::invalid(_("Account expires after"));
+ }elseif(!strtotime($this->sambaKickoffTime) || strtotime($this->sambaKickoffTime) >= 2147483647){
+ $message[] = msgPool::invalid(_("Account expires after"));
+ }
+ }
return($message);
}
$this->multiple_sambaUserWorkstations[$station] = array("Name" => $station, "UsedByAllUsers" => TRUE);
}
}
+
+ // Set kickOffTime to date
+ if(isset($attrs['sambaKickoffTime'][0])){
+ $this->sambaKickoffTime = date("d.m.Y", $this->sambaKickoffTime);
+ $this->flag_sambaKickoffTime = TRUE;
+ }
}
function multiple_execute()
// Handle Flags.
foreach(array("flag_enforcePasswordChange", "flag_passwordNeverExpires", "flag_noPasswordRequired",
- "flag_temporaryDisabled","flag_cannotChangePassword") as $attr){
+ "flag_temporaryDisabled","flag_cannotChangePassword","flag_sambaKickoffTime") as $attr){
$ret[$attr] = $this->$attr;
}
if(in_array("workstation_list",$this->multi_boxes)){
$ret['multiple_sambaUserWorkstations'] = $this->multiple_sambaUserWorkstations;
}
+
return($ret);
}
diff --git a/gosa-plugins/samba/personal/samba/samba3.tpl b/gosa-plugins/samba/personal/samba/samba3.tpl
index 750738e54b2c3234eb348231957546605aea508d..aff5043143979c5226bde77484b74d72f5859866 100644 (file)
</tr>
{/if}
</table>
+ <table>
+ <tr>
+ <td colspan=2>
+ {render acl=$sambaKickoffTimeACL checkbox=$multiple_support checked=$use_sambaKickoffTime}
+ <input id="flag_sambaKickoffTime" type=checkbox name="flag_sambaKickoffTime" value="1"
+ {if $flag_sambaKickoffTime} checked {/if} class="center">
+ {/render}
+ <label for="flag_sambaKickoffTime">{t}Account expires after{/t}</label>
+ </td>
+ <td style='width:200px;'>
+ {render acl=$sambaKickoffTimeACL}
+ <input type="text" id="sambaKickoffTime" name="sambaKickoffTime" class="date" style='width:100px' value="{$sambaKickoffTime}">
+ {if $sambaKickoffTimeACL|regex_replace:"/[cdmr]/":"" == "w"}
+ <script type="text/javascript">
+ {literal}
+ var datepicker2 = new DatePicker({
+ relative : 'sambaKickoffTime',
+ language : '{/literal}{$lang}{literal}',
+ keepFieldEmpty : true,
+ enableCloseEffect : false,
+ enableShowEffect : false });
+ {/literal}
+ </script>
+ {/if}
+ {/render}
+ </td>
+ </tr>
+ </table>
<p class="seperator"> </p>
<br>