diff --git a/plugins/admin/systems/class_workstationService.inc b/plugins/admin/systems/class_workstationService.inc
index d04d110a099f8f33985d83ceff19a795f1d8044d..c80b799fba8e8fe22e1027895e2573d1265df4e1 100644 (file)
<?php
-class termservice extends plugin
+class workservice 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");
+ var $gotoScannerEnable;
/* Generic terminal attributes */
- var $gotoLpdEnable= FALSE;
var $gotoXMonitor= "";
- var $gotoXMethod= "";
- var $gotoXdmcpServer= "";
- var $gotoFontPath= "";
var $gotoXDriver= "";
var $gotoXResolution= "";
var $gotoXColordepth= "";
var $gotoXHsync= "";
var $gotoXVsync= "";
+ var $AutoSync = false;
var $gotoXKbModel= "";
var $gotoXKbLayout= "";
var $gotoXKbVariant= "";
var $gotoXMouseType= "";
var $gotoXMouseport= "";
- var $gotoLpdServer= "";
- var $gotoScannerEnable= "";
- var $gotoScannerModel= "";
var $gotoScannerClients= "";
var $gotoScannerBackend= "";
var $goFonHardware= "automatic";
var $XKbVariants= array ("default", "nodeadkeys", "basic");
var $MouseTypes= array("AUTO", "ImPS/2", "PS/2", "Microsoft", "Logitech");
var $MousePorts= array("AUTO", "/dev/ttyS0", "/dev/ttyS1", "/dev/psaux", "/dev/input/mice");
- var $gotoScannerModels= array();
var $hardware_list= array();
var $used_hardware= array();
/* attribute list for save action */
- var $attributes= array("cn", "gotoLpdEnable", "gotoXMonitor", "gotoXMethod", "gotoXdmcpServer",
- "gotoFontPath", "gotoXDriver", "gotoXResolution", "gotoXColordepth",
- "gotoXHsync", "gotoXVsync", "gotoLpdEnable", "gotoLpdServer",
- "gotoScannerEnable", "gotoScannerModel", "gotoScannerClients",
+ var $attributes= array("gotoXMonitor",
+ "gotoXDriver", "gotoXResolution", "gotoXColordepth",
+ "gotoXHsync", "gotoXVsync",
+ "gotoScannerEnable", "gotoScannerClients",
"gotoScannerBackend", "gotoXKbModel", "gotoXKbLayout", "gotoXKbVariant",
"gotoXMouseType", "gotoXMouseport", "goFonHardware");
var $objectclasses= array("GOhard");
- function termservice ($config, $dn= NULL)
+ function workservice ($config, $dn= NULL)
{
plugin::plugin ($config, $dn);
- /* Load scanner models */
- $fcontents = file ($this->config->basedir."/include/scanner.inc");
- while (list ($line_num, $line) = each ($fcontents)) {
- preg_match('/^(\w+) "([^"]+)" "([^"]+)" "([^"]+)"/', "$line", $matches);
- $this->gotoScannerModels[$matches[2]." - ".$matches[3]]= $matches[1]."|".$matches[4];
- }
- ksort ($this->gotoScannerModels);
-
/* Initialize methods */
$this->XMethods["default"]= _("default");
$this->XMethods["indirect"]= _("show chooser");
}
}
+ if(preg_match("/\+/",$this->gotoXHsync)){
+ $this->AutoSync = true;
+ $this->gotoXHsync = preg_replace("/\+/","-",$this->gotoXHsync);
+ $this->gotoXVsync = preg_replace("/\+/","-",$this->gotoXVsync);
+ }
+
$this->hardware_list["automatic"]= _("automatic");
ksort($this->hardware_list);
}
function execute()
{
+ /* Call parent execute */
+ plugin::execute();
+
/* Do we need to flip is_account state? */
if (isset($_POST['modify_state'])){
$this->is_account= !$this->is_account;
/* Arrays */
foreach(array("XMethods", "XDrivers", "XResolutions", "XColordepths",
- "gotoScannerModels", "XKbModels", "XKbLayouts", "XKbVariants",
+ "XKbModels", "XKbLayouts", "XKbVariants",
"MouseTypes", "MousePorts") as $val){
$smarty->assign("$val", $this->$val);
}
$smarty->assign("nfsservers", $this->config->data['SERVERS']['NFS']);
/* Variables - select */
- foreach(array("gotoXMethod", "gotoXdmcpServer", "gotoFontPath",
+ foreach(array(
"gotoXDriver", "gotoXResolution", "gotoXColordepth",
- "gotoLpdServer", "gotoScannerModel", "gotoXKbModel", "gotoXKbLayout",
+ "gotoXKbModel", "gotoXKbLayout","gotoScannerEnable",
"gotoXKbVariant", "gotoXMouseType", "gotoXMouseport") as $val){
$smarty->assign($val."_select", $this->$val);
$smarty->assign("staticAddress", "");
/* Checkboxes */
- foreach(array("gotoLpdEnable", "gotoScannerEnable") as $val){
+ foreach(array("gotoScannerEnable") as $val){
if ($this->$val == TRUE) {
$smarty->assign("$val", "checked");
} else {
$smarty->assign("$val", "");
}
- $smarty->assign($val."ACL", chkacl($this->acl, "gotoLpdEnable"));
}
/* Phone stuff */
$hl.= "</select>\n";
$smarty->assign ("hardware_list", $hl);
$smarty->assign ("gotoXMonitor", $this->gotoXMonitor);
+ $smarty->assign("AutoSyncACL",chkacl($this->acl,"AutoSync"));
+
+ if($this->AutoSync){
+ $smarty->assign("AutoSyncCHK"," checked ");
+ }else{
+ $smarty->assign("AutoSyncCHK"," ");
+ }
/* Show main page */
- return($smarty->fetch (get_template_path('service.tpl', TRUE)));
+ return($smarty->fetch (get_template_path('workstationService.tpl',TRUE,dirname(__FILE__))));
}
function remove_from_parent()
{
- $ldap= $this->config->get_ldap_link();
- $ldap->rmdir($this->dn);
- show_ldap_error($ldap->get_error());
- $this->handle_post_events("remove");
+ $this->handle_post_events("remove");
}
-
/* Save data to object */
function save_object()
{
plugin::save_object();
- /* Save checkbox state */
- if (isset ($_POST['gotoXMethod'])){
- foreach (array("gotoLpdEnable", "gotoScannerEnable") as $val){
-
- if (!isset ($_POST["$val"]) && chkacl ($this->acl, "$val") == ""){
- $this->$val= FALSE;
- } else {
- $this->$val= TRUE;
- }
+ if(isset($_POST['gotoXHsync'])){
+ if(isset($_POST['AutoSync'])){
+ $this->AutoSync = true;
+ }else{
+ $this->AutoSync = false;
}
}
}
-
/* Check supplied data */
function check()
{
/* Check vsync for correct usage */
$val= preg_replace ("/\s/", "", $this->gotoXVsync);
- if (!preg_match ("/^\d+(\.\d+)?(\-\d+(\.\d+)?)?$/", $val)
+ 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);
+ 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)
+ 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);
+ list($v1,$v2)= preg_split ("/[-+]/", $val);
if ($v2 != ""){
if ($v1 > $v2){
$message[]= _("Please specify a valid HSync range.");
plugin::save();
/* Strip out 'default' values */
- foreach(array("gotoXMethod", "gotoXdmcpServer", "gotoFontPath",
+ foreach(array(
"gotoXDriver", "gotoXResolution", "gotoXColordepth",
- "gotoLpdServer", "gotoScannerModel", "gotoXKbModel", "gotoXKbLayout",
+ "gotoXKbModel", "gotoXKbLayout",
"gotoXKbVariant", "gotoXMouseType", "gotoXMouseport") as $val){
if ($this->attrs[$val] == "default"){
}
}
+ if($this->AutoSync){
+ $this->attrs['gotoXHsync'] = preg_replace("/-/","+",$this->attrs['gotoXHsync']) ;
+ $this->attrs['gotoXVsync'] = preg_replace("/-/","+",$this->attrs['gotoXVsync']) ;
+ }
+
/* Write back to ldap */
$ldap= $this->config->get_ldap_link();
$ldap->cd($this->dn);