diff --git a/plugins/admin/systems/class_servService.inc b/plugins/admin/systems/class_servService.inc
index 020f6d58d5b26eab772e6dce69362aab2269b948..5b49f90372bafe1929afe3392b681e1491150acc 100644 (file)
var $cli_description= "Some longer text\nfor help";
var $cli_parameters= array("eins" => "Eins ist toll", "zwei" => "Zwei ist noch besser");
- var $goExportEntry = array();
- var $goTimeSource = array();
- var $goLdapBase= "";
- var $goXdmcpIsEnabled ="";
- var $goFontPath= "";
- var $goNTPServer="";
- var $goLdapServer="";
- var $goTerminalServer="";
- var $goSyslogServer="";
- var $goCupsServer="";
- var $o_subWindow = NULL;
+ var $goExportEntry = array();
+ var $goTimeSource = array();
+ var $goLdapBase = "";
+ var $goXdmcpIsEnabled = "";
+ var $goFontPath = "";
+ var $goNTPServer = "";
+ var $goShareServer = false;
+ var $goLdapServer = "";
+ var $goTerminalServer = "";
+ var $goSyslogServer = "";
+ var $goCupsServer = "";
+ var $o_subWindow = NULL;
/* attribute list for save action */
var $ignore_account= TRUE;
var $attributes = array("goLdapBase","goXdmcpIsEnabled","goFontPath");
var $possible_objectclasses= array( "goShareServer", "goNtpServer", "goServer", "goLdapServer",
"goTerminalServer", "goSyslogServer", "goCupsServer");
- var $objectclasses = array("top","goServer");
+ var $objectclasses = array( "top","goServer");
var $additionaloc = array( "goShareServer" => array("goExportEntry"),
"goNtpServer" => array("goTimeSource"),
"goLdapServer" => array("goLdapBase"),
$tmp =array();
$tmp2=array();
- unset($this->attrs['goExportEntry']['count']);
- if((isset($this->attrs['goExportEntry']))&&(isset($this->attrs['goExportEntry']))){
- foreach($this->attrs['goExportEntry'] as $entry){
- $tmp2= split("\|",$entry);
- $tmp[$tmp2[0]]= $entry;
+ if(isset($this->attrs['goExportEntry'])){
+ unset($this->attrs['goExportEntry']['count']);
+ if((isset($this->attrs['goExportEntry']))&&(isset($this->attrs['goExportEntry']))){
+ foreach($this->attrs['goExportEntry'] as $entry){
+ $tmp2= split("\|",$entry);
+ $tmp[$tmp2[0]]= $entry;
+ }
}
}
$this->goExportEntry = $tmp;
/* Always is account... */
$this->is_account= TRUE;
+
+ /* Check if goShareServer is defined */
+ if((isset($this->attrs['objectClass']))&&(is_array($this->attrs['objectClass']))){
+ if(in_array("goShareServer",$this->attrs['objectClass'])){
+ $this->goShareServer = true;
+ }
+ }
}
function addToList($entry){
}
}
- if(!count($this->goExportEntry)){
+ if(!$this->goShareServer){
$smarty->assign("goShareServerState", " disabled ");
+ $smarty->assign("goExportEntryACL", " disabled ");
+ }else{
+ $smarty->assign("goShareServerState", " ");
+ $smarty->assign("goExportEntryACL", " ");
}
/* Different handling for checkbox */
$this->goXdmcpIsEnabled= "false";
}
+ /* Save xdmcp is enabled flag */
+ if (isset($_POST['goShareServer'])){
+ $this->goShareServer = true;
+ } else {
+ $this->goShareServer = false;
+ }
}
}
/* Save to LDAP */
function save()
{
-
plugin::save();
$tmp= array();
$tmp[]= $oc;
}
}
-
+
/* Merge our current objectclasses */
foreach($this->objectclasses as $oc){
if (!in_array_ics($oc, $tmp)){
/* Reassign cleaned value */
$this->attrs['objectClass']= $tmp;
- /* Remove illegal attributes */
- foreach ($this->additionaloc as $oc => $attrs){
- if (!in_array($oc, $this->objectclasses)){
- foreach ($attrs as $attr){
- $this->attrs[$attr]= array();
- }
- }
- }
-
/* Arrays */
foreach (array("goTimeSource", "goExportEntry") as $name){
$this->attrs[$name]= array();
}
}
- $oc = array();
- foreach($this->attrs['objectClass'] as $name){
- if($name!="goNfsServer"){
- $oc[]=$name;
+ /* Remove illegal attributes */
+ foreach ($this->additionaloc as $oc => $attrs){
+ if (!in_array($oc, $this->objectclasses)){
+ foreach ($attrs as $attr){
+ $this->attrs[$attr]= array();
+ }
}
}
- $this->attrs['objectClass']=$oc;
/* Write to LDAP */
$ldap= $this->config->get_ldap_link();