Code

Some server/terminal fixes
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Mon, 15 Jan 2007 04:43:14 +0000 (04:43 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Mon, 15 Jan 2007 04:43:14 +0000 (04:43 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/branches/2.5@5553 594d385d-05f5-0310-b6e9-bd551577e9d8

plugins/admin/systems/class_servDB.inc
plugins/admin/systems/class_servGeneric.inc
plugins/admin/systems/class_servRepository.inc
plugins/admin/systems/class_servService.inc
plugins/admin/systems/server.tpl
plugins/admin/systems/servservice.tpl

index 4d99ad42ea1e7911c366516de74a9d20d1bfc0ee..d7346be3849bf87ed10ee680e27c80750fd5b5fa 100644 (file)
@@ -118,10 +118,13 @@ class servdb extends plugin
       
       /* Save checkbox state */
       foreach ($this->additionaloc as $oc => $dummy){
-        if (isset($_POST[$oc]) && $_POST[$oc] == '1'){
-          $this->objectclasses[$oc]= $oc;
-        } else {
-          unset($this->objectclasses[$oc]);
+
+        if(chkacl($this->acl,$oc) == ""){
+          if (isset($_POST[$oc]) && $_POST[$oc] == '1'){
+            $this->objectclasses[$oc]= $oc;
+          } else {
+            unset($this->objectclasses[$oc]);
+          }
         }
       }
     }
index 93a05695bd6c2f9f3d62b7d8b99c080b4a3bcc2b..9039ef07700d2b91da296d60dcdd217ab5cae58b 100644 (file)
@@ -79,7 +79,7 @@ class servgeneric extends plugin
     }
 
     /* Check for action */
-    if (isset($_POST['action'])){
+    if (isset($_POST['action']) && chkacl($this->acl,"FAIstate") == ""){
       $cmd= search_config($this->config->data['TABS'], "workgeneric", "ACTIONCMD");
       if ($cmd == ""){
         print_red(_("No ACTIONCMD definition found in your gosa.conf"));
index 1fc0458ef9fd6f388c7c71077283ca5a5586f74a..50966582ba1b4bb4987365a0a09d228fb81811d0 100644 (file)
@@ -114,7 +114,15 @@ class servrepository extends plugin
 
     /* Do we need to flip is_account state? */
     if (isset($_POST['modify_state'])){
-      $this->is_account= !$this->is_account;
+
+      /* Only change account state if allowed */
+      if($this->is_account && $this->acl == "#all#"){
+        $this->is_account= !$this->is_account;
+        $this->is_modified = true;
+      }elseif(!$this->is_account && chkacl($this->acl,"create") == ""){
+        $this->is_account= !$this->is_account;
+        $this->is_modified = true;
+      }
     }
 
     /* Show tab dialog headers */
index 1233484180d1b477faa62b5abf16a864dea77bcf..266c0edc37472da54f253df2ceb103ffe0daacf5 100644 (file)
@@ -145,7 +145,7 @@ class servservice extends plugin
     $smarty= get_smarty();
     $smarty->assign("staticAddress", "");
 
-    if((isset($_POST['DelNfsEnt']))&&(isset($_POST['goExportEntryList']))){
+    if((isset($_POST['DelNfsEnt'])) && (isset($_POST['goExportEntryList'])) && chkacl($this->acl,"goExportEntry") == ""){
       if($this->allow_mounts){
         foreach($_POST['goExportEntryList'] as $entry){
           $this->deleteFromMountList($this->goExportEntryList[$entry]);
@@ -156,13 +156,13 @@ class servservice extends plugin
       }
     }
 
-    if(isset($_POST['NewNfsAdd'])){
+    if(isset($_POST['NewNfsAdd']) && chkacl($this->acl,"goExportEntry") == ""){
       $this->oldone = NULL;
       $this->o_subWindow = new servnfs($this->config,$this->acl, $this->allow_mounts, $this->dn);
       $this->dialog = true;
     }
 
-    if((isset($_POST['NewNfsEdit']))&&(isset($_POST['goExportEntryList']))){
+    if((isset($_POST['NewNfsEdit']))&&(isset($_POST['goExportEntryList'])) && chkacl($this->acl,"goExportEntry") == ""){
       $entry = $this->goExportEntryList[$_POST['goExportEntryList'][0]];
       $add_mount=isset($this->mounts_to_add[$entry]);
       $this->oldone=$entry;
@@ -210,13 +210,13 @@ class servservice extends plugin
     }
 
     /* Here we add a new entry  */
-    if(isset($_POST['NewNTPAdd']) && $_POST['NewNTPExport'] != "") {
+    if(isset($_POST['NewNTPAdd']) && $_POST['NewNTPExport'] != "" && chkacl($this->acl,"goNtpServer") == "") {
       $this->goTimeSource[$_POST['NewNTPExport']]= $_POST['NewNTPExport'];
       asort($this->goTimeSource);
     }
 
     /* Deleting an Entry, is a bit more complicated than adding one*/
-    if(isset($_POST['DelNTPEnt'])) {
+    if(isset($_POST['DelNTPEnt']) && chkacl($this->acl,"goNtpServer") == "") {
       foreach ($_POST['goTimeSource'] as $entry){
         if (isset($this->goTimeSource[$entry])){
           unset($this->goTimeSource[$entry]);
@@ -265,7 +265,7 @@ class servservice extends plugin
       $smarty->assign("goExportEntryACL", " disabled ");
     }else{
       $smarty->assign("goShareServerState", "  ");
-      $smarty->assign("goExportEntryACL", "  ");
+      $smarty->assign("goExportEntryACL", chkacl($this->acl, "goExportEntry"));
     }
 
     /* Different handling for checkbox */
@@ -292,9 +292,9 @@ class servservice extends plugin
     if (isset($_POST['servicetab'])){
       $tmp = $this->goTimeSource;
   
-      if(isset($_POST['goLdapBase'])){
+      if(isset($_POST['goLdapBase']) && chkacl($this->acl,"goLdapBase") == ""){
         $this->goLdapBase = $_POST['goLdapBase'];
-       }
+      }
   
       /* Save checkbox state */
       foreach ($this->additionaloc as $oc => $dummy){
@@ -309,17 +309,21 @@ class servservice extends plugin
       }
 
       /* Save xdmcp is enabled flag */
-      if (isset($_POST['goXdmcpIsEnabled'])){
-        $this->goXdmcpIsEnabled= "true";
-      } else {
-        $this->goXdmcpIsEnabled= "false";
+      if(chkacl($this->acl,"goXdmcpIsEnabled") == ""){
+        if (isset($_POST['goXdmcpIsEnabled'])){
+          $this->goXdmcpIsEnabled= "true";
+        } else {
+          $this->goXdmcpIsEnabled= "false";
+        }
       }
         
       /* Save xdmcp is enabled flag */
-      if (isset($_POST['goShareServer'])){
-        $this->goShareServer = true;
-      } else {
-        $this->goShareServer = false;
+      if(chkacl($this->acl,"goExportEntry") == ""){
+        if (isset($_POST['goShareServer'])){
+          $this->goShareServer = true;
+        } else {
+          $this->goShareServer = false;
+        }
       }
       $this->goTimeSource = array();
       $this->goTimeSource = $tmp;
index 4c9067d4d19a3d496f5927e9be623e9c2944ab44..f4998552d3ea1742754ff425248cb381793c334a 100644 (file)
@@ -4,11 +4,11 @@
        <table summary="">
         <tr>
          <td><LABEL for="cn">{t}Server name{/t}</LABEL>{$must}</td>
-         <td><input name="cn" id="cn" size=20 maxlength=60 value="{$cn}"></td>
+         <td><input name="cn" id="cn" size=20 maxlength=60 value="{$cn}" {$cnACL}></td>
         </tr>
         <tr>
          <td><LABEL for="description">{t}Description{/t}</LABEL></td>
-         <td><input name="description" id="description" size=25 maxlength=80 value="{$description}"></td>
+         <td><input name="description" id="description" size=25 maxlength=80 value="{$description}" {$descriptionACL}></td>
         </tr>
         <tr>
          <td><br><LABEL for="base">{t}Base{/t}</LABEL>{$must}</td>
index 81729b2e03b3df651ca88ebf0cb0613542d46b88..a457f171ecba644628fb9df20e076c61db0b8f9c 100644 (file)
@@ -2,7 +2,7 @@
  <tr>
   <td style="vertical-align:top; border-right:1px solid #A0A0A0; padding-right:5px;" width="50%">
 
-   <input type=checkbox name="goShareServer" value="1" {$goShareServer} 
+   <input type=checkbox name="goShareServer" value="1" {$goShareServer} {$goExportEntryACL} 
        onchange="changeState('goExportEntry');
                        changeState('NewNfsEditId');
                        changeState('DelNfsEntId');