diff --git a/plugins/personal/environment/class_logonManagementDialog.inc b/plugins/personal/environment/class_logonManagementDialog.inc
index 55b16c7df4ed6135bc32ec4a0db1c6bedec8783d..98ce41ff312a27e1e7454f321ab4c79e3ff2337b 100644 (file)
/* attribute list for save action */
var $ignore_account = TRUE;
- var $attributes = array("LogonName","LogonPriority","LogonLast","LogonOverload","LogonData");
+ var $attributes = array("LogonName","LogonPriority","LogonLast","LogonOverload","LogonData","LogonDescription");
var $objectclasses = array("whatever");
var $use_existing = false;
- var $LogonName =""; // Name for the LogonScript
- var $LogonPriority =""; // Priority defines the order in which the scripts will be processed
- var $LogonLast =""; // Is this script marked as the last, all following scripts will be skipped
- var $LogonOverload =""; // If Overload is activated this script is overlaodable by a group script with same prio
- var $LogonData =""; // The script itself
+ var $LogonName =""; // Name for the LogonScript
+ var $LogonPriority =""; // Priority defines the order in which the scripts will be processed
+ var $LogonLast =""; // Is this script marked as the last, all following scripts will be skipped
+ var $LogonOverload =""; // If Overload is activated this script is overlaodable by a group script with same prio
+ var $LogonData =""; // The script itself
+ var $LogonDescription ="";
+
+ var $nameIsEditable = true;
- function logonManagementDialog ($config, $dn= NULL,$use_existing=false )
+ var $real_LogonName = "";
+
+ function logonManagementDialog ($config, $dn= NULL,$data=false)
{
- $this->use_existing = $use_existing;
plugin::plugin ($config, $dn);
+
+ if($data){
+ $this->LogonName = $data['LogonName'];
+ $this->LogonPriority = $data['LogonPriority'];
+ $this->LogonOverload = $data['LogonOverload'];
+ $this->LogonLast = $data['LogonLast'];
+ $this->LogonData = $data['LogonData'];
+ $this->LogonDescription = $data['LogonDescription'];
+ $this->nameIsEditable = false;
+ $this->real_LogonName = $data['LogonName'];
+ }
}
function execute()
{
+ /* Call parent execute */
+ plugin::execute();
+
$smarty= get_smarty();
$display= "";
+ if((isset($_POST['StartImport']))&&(isset($_FILES['importFile']))){
+ $this->LogonData = file_get_contents($_FILES['importFile']['tmp_name']);
+ @unlink($_FILES['importFile']['tmp_name']);
+ }
+
foreach($this->attributes as $attr){
$smarty->assign($attr,$this->$attr);
if($this->$attr){
$prios=array(1,2,3,4,5,6,7,8,9,10);
$smarty->assign("LogonPrioritys",$prios);
$smarty->assign("LogonPriorityKeys",$prios);
+
+ if(!$this->nameIsEditable){
+ $smarty->assign("LogonNameACL"," disabled ");
+ }else{
+ $smarty->assign("LogonNameACL","");
+ }
+
+
$display.= $smarty->fetch(get_template_path('logonManagement.tpl', TRUE,dirname(__FILE__)));
return($display);
}
if(isset($_POST['dialogissubmitted'])){
foreach($this->attributes as $attr){
if(isset($_POST[$attr])){
- $this->$attr= $_POST[$attr];
+ $this->$attr = stripslashes($_POST[$attr]);
}else{
$this->$attr = false;
}
}
}
+ function check()
+ {
+ /* Call common method to give check the hook */
+ $message= plugin::check();
+
+ if(preg_match("/[^a-z]/",$this->LogonName)){
+ $message[] = _("Specified name is invalid.");
+ }
+
+ if(empty($this->LogonName)){
+ $message[] = _("Please specify a valid script name.");
+ }
+
+ if(preg_match("/[^a-z0-9,\.-;:_\(\)!\? ]/i",$this->LogonDescription)){
+ $message[] = _("Specified description contains invalid characters.");
+ }
+
+ return $message;
+ }
+
+
function save()
{
$a_return= array();
foreach($this->attributes as $attr){
$a_return[$attr]=$this->$attr;
}
+
+ if(!$this->nameIsEditable){
+ $a_return['LogonName']=$this->real_LogonName;
+ }
+
return($a_return);
}