diff --git a/plugins/admin/systems/class_terminalService.inc b/plugins/admin/systems/class_terminalService.inc
index c84058364d15ee3add066d836fa61f17074076e9..76c58af78831a3f7983c40b96d84787ae5e17e2f 100644 (file)
class termservice extends plugin
{
class termservice extends plugin
{
- /* CLI vars */
- var $cli_summary= "Manage terminal service aspects";
- var $cli_description= "Some longer text\nfor help";
- var $cli_parameters= array("eins" => "Eins ist toll", "zwei" => "Zwei ist noch besser");
-
/* Generic terminal attributes */
var $gotoLpdEnable= FALSE;
var $gotoXMonitor= "";
/* Generic terminal attributes */
var $gotoLpdEnable= FALSE;
var $gotoXMonitor= "";
var $gotoScannerClients= "";
var $gotoScannerBackend= "";
var $goFonHardware= "automatic";
var $gotoScannerClients= "";
var $gotoScannerBackend= "";
var $goFonHardware= "automatic";
+ var $AutoSync = false;
/* Needed values and lists */
var $ignore_account= TRUE;
/* Needed values and lists */
var $ignore_account= TRUE;
var $objectclasses= array("GOhard");
var $objectclasses= array("GOhard");
- function termservice ($config, $dn= NULL)
+ function termservice ($config, $dn= NULL, $parent= NULL)
{
{
- plugin::plugin ($config, $dn);
+ plugin::plugin ($config, $dn, $parent);
array_unshift($this->XDrivers, "["._("unknown")."]");
array_unshift($this->XDrivers, "["._("unknown")."]");
$this->XKbModels[$type] = $type;
}
$this->XKbModels[$type] = $type;
}
- /* Additional values will be extracted from /etc/gosa/keyboardLayouts */
+ /* Additional values will be extracted from CONFIG_DIR./keyboardLayouts */
$this->XKbLayouts= array ("default"=>"["._("inherited")."]","de"=> "de","intl" =>"intl","us" =>"us");
$this->XKbVariants= array ("default"=>"["._("inherited")."]", "nodeadkeys"=>"nodeadkeys", "basic"=>"basic");
$this->XKbLayouts= array ("default"=>"["._("inherited")."]","de"=> "de","intl" =>"intl","us" =>"us");
$this->XKbVariants= array ("default"=>"["._("inherited")."]", "nodeadkeys"=>"nodeadkeys", "basic"=>"basic");
$this->hardware_list["automatic"]= _("automatic");
ksort($this->hardware_list);
$this->hardware_list["automatic"]= _("automatic");
ksort($this->hardware_list);
+ /* Convert gotoLpdEnable */
+ $this->gotoLpdEnable= preg_match("/yes/i",$this->gotoLpdEnable);
/* Load hardware list */
$ldap= $this->config->get_ldap_link();
/* Load hardware list */
$ldap= $this->config->get_ldap_link();
}
}
}
}
}
}
+ if(preg_match("/\+/",$this->gotoXHsync)){
+ $this->AutoSync = true;
+ $this->gotoXHsync = preg_replace("/\+/","-",$this->gotoXHsync);
+ $this->gotoXVsync = preg_replace("/\+/","-",$this->gotoXVsync);
+ }
}
function execute()
}
function execute()
$smarty->assign ("hardware_list", $hl);
$smarty->assign ("gotoXMonitor", $this->gotoXMonitor);
$smarty->assign ("hardware_list", $hl);
$smarty->assign ("gotoXMonitor", $this->gotoXMonitor);
+ $smarty->assign("AutoSyncACL",chkacl($this->acl,"AutoSync"));
+
+ if($this->AutoSync){
+ $smarty->assign("AutoSyncCHK"," checked ");
+ $smarty->assign("hiddenState"," disabled ");
+ }else{
+ $smarty->assign("AutoSyncCHK"," ");
+ $smarty->assign("hiddenState","");
+ }
+
+
/* Show main page */
return($smarty->fetch (get_template_path('terminalService.tpl', TRUE)));
}
/* Show main page */
return($smarty->fetch (get_template_path('terminalService.tpl', TRUE)));
}
$this->$val= TRUE;
}
}
$this->$val= TRUE;
}
}
+ }
+ if(isset($_POST['gotoXDriver'])){
+ if(isset($_POST['AutoSync'])){
+ $this->AutoSync = true;
+ }else{
+ $this->AutoSync = false;
+ }
}
}
+
}
}
$message= plugin::check();
/* Default entries can use blank hsync/vsync entries */
$message= plugin::check();
/* Default entries can use blank hsync/vsync entries */
- if ($this->dn != "" && $this->cn != "default" && $this->cn != "wdefault"){
-
- /* Check vsync for correct usage */
- $val= preg_replace ("/\s/", "", $this->gotoXVsync);
- if (!preg_match ("/^\d+(\.\d+)?(\-\d+(\.\d+)?)?$/", $val)
- && chkacl ($this->acl, "gotoXVsync") == ""){
-
- $message[]= _("Please specify a valid VSync range.");
- } elseif (chkacl ($this->acl, "gotoXVsync") == ""){
- list($v1,$v2)= split ("-", $val);
- if ($v2 != ""){
- if ($v1 > $v2){
- $message[]= _("Please specify a valid VSync range.");
+ if ($this->dn != "" && $this->cn != "default" && $this->cn != "default"){
+
+ /* But only if no auto sync is enabled... */
+ if (!$this->AutoSync){
+
+ /* Check vsync for correct usage */
+ $val= preg_replace ("/\s/", "", $this->gotoXVsync);
+ if (!preg_match ("/^\d+(\.\d+)?([-]\d+(\.\d+)?)?$/", $val)
+ && chkacl ($this->acl, "gotoXVsync") == ""){
+
+ $message[]= _("Please specify a valid VSync range.");
+ } elseif (chkacl ($this->acl, "gotoXVsync") == ""){
+ list($v1,$v2)= preg_split ("/[-+]/", $val);
+ if ($v2 != ""){
+ if ($v1 > $v2){
+ $message[]= _("Please specify a valid VSync range.");
+ }
}
}
}
}
- }
- /* Check hsync for correct usage */
- $val= preg_replace ("/\s/", "", $this->gotoXHsync);
- if (!preg_match ("/^\d+(\.\d+)?(\-\d+(\.\d+)?)?$/", $val)
- && chkacl ($this->acl, "gotoXHsync") == ""){
-
- $message[]= _("Please specify a valid HSync range.");
- } elseif (chkacl ($this->acl, "gotoXHsync") == ""){
- list($v1,$v2)= split ("-", $val);
- if ($v2 != ""){
- if ($v1 > $v2){
- $message[]= _("Please specify a valid HSync range.");
+ /* Check hsync for correct usage */
+ $val= preg_replace ("/\s/", "", $this->gotoXHsync);
+ if (!preg_match ("/^\d+(\.\d+)?([-]\d+(\.\d+)?)?$/", $val)
+ && chkacl ($this->acl, "gotoXHsync") == ""){
+
+ $message[]= _("Please specify a valid HSync range.");
+ } elseif (chkacl ($this->acl, "gotoXHsync") == ""){
+ list($v1,$v2)= preg_split ("/[-+]/", $val);
+ if ($v2 != ""){
+ if ($v1 > $v2){
+ $message[]= _("Please specify a valid HSync range.");
+ }
}
}
}
}
}
}
}
}
+
return ($message);
}
return ($message);
}
/* Save to LDAP */
function save()
{
/* Save to LDAP */
function save()
{
+ /* Convert to string */
+ $this->gotoLpdEnable= $this->gotoLpdEnable?"Yes":"No";
+
plugin::save();
/* Strip out 'default' values */
plugin::save();
/* Strip out 'default' values */
}
}
}
}
+ if($this->AutoSync){
+ $this->attrs['gotoXHsync'] = "30+55";
+ $this->attrs['gotoXVsync'] = "50+70";
+ }
+
/* Write back to ldap */
$ldap= $this->config->get_ldap_link();
$ldap->cd($this->dn);
/* Write back to ldap */
$ldap= $this->config->get_ldap_link();
$ldap->cd($this->dn);