Code

Added support for general check hooks
authorcajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Wed, 5 Apr 2006 14:47:54 +0000 (14:47 +0000)
committercajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Wed, 5 Apr 2006 14:47:54 +0000 (14:47 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@2995 594d385d-05f5-0310-b6e9-bd551577e9d8

78 files changed:
FAQ
include/class_plugin.inc
plugins/addons/addressbook/class_addressbook.inc
plugins/admin/applications/class_applicationGeneric.inc
plugins/admin/applications/class_applicationParameters.inc
plugins/admin/departments/class_departmentGeneric.inc
plugins/admin/fai/class_askClassName.inc
plugins/admin/fai/class_faiHook.inc
plugins/admin/fai/class_faiHookEntry.inc
plugins/admin/fai/class_faiPackage.inc
plugins/admin/fai/class_faiPackageConfiguration.inc
plugins/admin/fai/class_faiPackageEntry.inc
plugins/admin/fai/class_faiPackageNew.inc
plugins/admin/fai/class_faiPartitionTable.inc
plugins/admin/fai/class_faiPartitionTableEntry.inc
plugins/admin/fai/class_faiProfile.inc
plugins/admin/fai/class_faiProfileEntry.inc
plugins/admin/fai/class_faiScript.inc
plugins/admin/fai/class_faiScriptEntry.inc
plugins/admin/fai/class_faiTemplate.inc
plugins/admin/fai/class_faiTemplateEntry.inc
plugins/admin/fai/class_faiVariable.inc
plugins/admin/fai/class_faiVariableEntry.inc
plugins/admin/groups/class_groupApplication.inc
plugins/admin/groups/class_groupGeneric.inc
plugins/admin/groups/class_groupMail.inc
plugins/admin/ogroups/class_mailogroup.inc
plugins/admin/ogroups/class_ogroup.inc
plugins/admin/ogroups/class_phonequeue.inc
plugins/admin/systems/class_SelectDeviceType.inc
plugins/admin/systems/class_componentGeneric.inc
plugins/admin/systems/class_glpiAccount.inc
plugins/admin/systems/class_glpiAttachmentPool.inc
plugins/admin/systems/class_glpiDeviceManagement.inc
plugins/admin/systems/class_glpiPrinterAccount.inc
plugins/admin/systems/class_glpiPrinterCartridges.inc
plugins/admin/systems/class_glpiPrinterCartridgesEdit.inc
plugins/admin/systems/class_phoneGeneric.inc
plugins/admin/systems/class_printGeneric.inc
plugins/admin/systems/class_printerPPDDialog.inc
plugins/admin/systems/class_selectUserToPrinterDialog.inc
plugins/admin/systems/class_servDB.inc
plugins/admin/systems/class_servDHCP.inc
plugins/admin/systems/class_servDNSeditZone.inc
plugins/admin/systems/class_servDNSeditZoneEntries.inc
plugins/admin/systems/class_servGeneric.inc
plugins/admin/systems/class_servKolab.inc
plugins/admin/systems/class_servNfs.inc
plugins/admin/systems/class_servRepository.inc
plugins/admin/systems/class_servRepositorySetup.inc
plugins/admin/systems/class_servService.inc
plugins/admin/systems/class_termDNS.inc
plugins/admin/systems/class_terminalGeneric.inc
plugins/admin/systems/class_terminalInfo.inc
plugins/admin/systems/class_terminalService.inc
plugins/admin/systems/class_winGeneric.inc
plugins/admin/systems/class_workstationGeneric.inc
plugins/admin/systems/class_workstationService.inc
plugins/admin/systems/class_workstationStartup.inc
plugins/gofax/blocklists/class_blocklistManagement.inc
plugins/gofax/faxaccount/class_gofaxAccount.inc
plugins/gofon/conference/class_phoneConferenceGeneric.inc
plugins/gofon/macro/class_gofonMacro.inc
plugins/gofon/macro/class_gofonMacroParameters.inc
plugins/gofon/phoneaccount/class_phoneAccount.inc
plugins/personal/connectivity/class_connectivity.inc
plugins/personal/connectivity/class_kolabAccount.inc
plugins/personal/connectivity/class_proxyAccount.inc
plugins/personal/connectivity/class_pureftpdAccount.inc
plugins/personal/environment/class_environment.inc
plugins/personal/environment/class_hotplugDialog.inc
plugins/personal/environment/class_logonManagementDialog.inc
plugins/personal/environment/class_selectPrinterDialog.inc
plugins/personal/generic/class_user.inc
plugins/personal/mail/class_mailAccount.inc
plugins/personal/nagios/class_nagiosAccount.inc
plugins/personal/posix/class_posixAccount.inc
plugins/personal/samba/class_sambaAccount.inc

diff --git a/FAQ b/FAQ
index 04a56a19242bcf5a953e38d0e6982e63d69db918..690b07478c22793d22a66b3086bccaf3953773e4 100644 (file)
--- a/FAQ
+++ b/FAQ
@@ -283,3 +283,16 @@ A: Yes, add
 
    to the main section of GOsa and the folders are created in unix style.
 
+
+Q: I'd like to do special checks for several plugin parameters. How can I modify
+   GOsa to take care of these checks?
+
+A: No need to modify anything. Just add a hook the the plugin you'd like to
+   check:
+
+   check="/your/command/binary"
+
+   This binary will get an ldif to STDIN for analysis and may write an error message
+   to STDOUT. Note, that the supplied ldif may NOT be the original target ldif due
+   to technical reasons.
+   
index dc24a4b173747018dd277431e17cdded32e52fef..afaaf81002d6ba113b6453e3ceec91dd3b755ee1 100644 (file)
@@ -371,6 +371,70 @@ class plugin
   function check()
   {
     $message= array();
+
+    /* Skip if we've no config object */
+    if (!isset($this->config)){
+      return $message;
+    }
+
+    /* Find hooks entries for this class */
+    $command= search_config($this->config->data['MENU'], get_class($this), "CHECK");
+    if ($command == "" && isset($this->config->data['TABS'])){
+      $command= search_config($this->config->data['TABS'], get_class($this), "CHECK");
+    }
+
+    if ($command != ""){
+
+      if (!check_command($command)){
+        $message[]= sprintf(_("Command '%s', specified as CHECK hook for plugin '%s' doesn't seem to exist."), $command,
+                            get_class($this));
+      } else {
+
+        /* Generate "ldif" for check hook */
+        $ldif= "dn: $this->dn\n";
+        
+        /* ... objectClasses */
+        foreach ($this->objectclasses as $oc){
+          $ldif.= "objectClass: $oc\n";
+        }
+        
+        /* ... attributes */
+        foreach ($this->attributes as $attr){
+          if ($this->$attr == ""){
+            continue;
+          }
+          if (is_array($this->$attr)){
+            foreach ($this->$attr as $val){
+              $ldif.= "$attr: $val\n";
+            }
+          } else {
+              $ldif.= "$attr: ".$this->$attr."\n";
+          }
+        }
+
+        /* Append empty line */
+        $ldif.= "\n";
+
+        /* Feed "ldif" into hook and retrieve result*/
+        $descriptorspec = array( 0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("pipe", "w"));
+        $fh= proc_open($command, $descriptorspec, $pipes);
+        if (is_resource($fh)) {
+          fwrite ($pipes[0], $ldif);
+          fclose($pipes[0]);
+          
+          $result= stream_get_contents($pipes[1]);
+          if ($result != ""){
+            $message[]= $result;
+          }
+          
+          fclose($pipes[1]);
+          fclose($pipes[2]);
+          proc_close($fh);
+        }
+      }
+
+    }
+
     return ($message);
   }
 
index f116acfe721ac8c314781d6b9ae401b5740b8178..63415e90ecdc2bc1f8870dde112bcc9afca502e2 100644 (file)
@@ -538,7 +538,8 @@ class addressbook extends plugin
 
        function check()
        {
-               $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
                /* must: sn, givenName */
                if ($this->sn == ""){
index 03a6ab41398a42b71a92d1dbb8746483b5fc2afa..2b5e5a645a9053fe48a138493570d2c62e3eea51 100644 (file)
@@ -300,7 +300,8 @@ class application extends plugin
   /* Check values */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     if(!preg_match("#^/#",$this->gosaApplicationExecute)){
       $message[]=(_("Specified execute path must start with '/'."));
index 3cbf0118fad19dd95eda5ff58240a7115790d77a..12e055a77083a36f1d51d95e6181fa2c9c7a280b 100644 (file)
@@ -150,7 +150,8 @@ $ldap->modify ($this->attrs);
   /* Check values */
   function check()
   {
-       $message= array();
+       /* Call common method to give check the hook */
+       $message= plugin::check();
 
        /* Check for valid option names */
        for ($i= 0; $i<count($this->option_name); $i++){
index d062799a86c9965c270cdb449cf1ba78d6c1dfe2..9d0c5d65224561a0468ccfeb1783887642fc5d71 100644 (file)
@@ -177,7 +177,8 @@ class department extends plugin
        /* Check values */
        function check()
        {
-               $message= array();
+               /* Call common method to give check the hook */
+               $message= plugin::check();
 
                /* Permissions for that base? */
                //      $this->dn= "ou=$this->ou,".$this->base;
index 13b923a8b0cbd45c1014b117e408b4058d9de4a3..df59a0f97ea34a1320967588e22ab3e1a6075d0b 100644 (file)
@@ -132,7 +132,9 @@ class askClassName extends plugin
    */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+  
     if(empty($this->ClassName)){
       $message[]=_("The given class name is empty.");
     }
index 7dd077eb15cc669b2c1ef5bf2e8cf1bc92aa0f78..09b270d8390f736d3dac3df287c472fe229ad573 100644 (file)
@@ -351,7 +351,9 @@ class faiHook extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     return ($message);
   }
 
index 8a7f0c990cef0ef446a8b78c42123af350945d1f..14bc4959ecd5e916f10ef63553741da4774da1aa 100644 (file)
@@ -136,7 +136,9 @@ class faiHookEntry extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     if(empty($this->FAIscript)) {
       $message[]=_("Please enter a value for script.");
     }
index 04f0a2b8a26127f4aa885331ebf0263ef16c56ed..8d7f326b6e30317c570c434cb43810c9278148b6 100644 (file)
@@ -334,7 +334,8 @@ class faiPackage extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
   
     if(count($this->usedPackages)==0){
       $message[]=_("Please select a least one Package.");
index 1717887d7c84ffa1669b6fe83a31c0dabae2c6b6..63c2f90d5ad9d52d1a1c220e26526f718765489d 100644 (file)
@@ -60,7 +60,9 @@ class faiPackageConfiguration extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     return ($message);
   }
 
index 2d1d52e17d84fb2aa41857ea4f74203b62a924be..a8c78aeb39310843101f8bf0606c40f84ca6aab6 100644 (file)
@@ -181,7 +181,9 @@ $CHKS = "<input type='hidden' value='chkchange' name='chkchange'><table summary=
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+        
     return ($message);
   }
 
index ebe1393fb8d904ea10225f5ab1eb0a6d9a70e027..8866bdf3c5c3d788ebadce84afc1bd17fc797bb9 100644 (file)
@@ -137,7 +137,9 @@ class faiPackageNew extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     return ($message);
   }
 
index b5ea44e3bb5a941c4bcb2ff0cc24b659964a3093..26a7132e74e6af559914bc3f6becb1a07cb3d4b6 100644 (file)
@@ -307,8 +307,9 @@ class faiPartitionTable extends plugin
   /* Check supplied data */
   function check()
   {
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
-    $message= array();
     return ($message);
   }
 
index 83e7a179cfbb2b268ed40386e985ef3c76cd8af5..7ff8798d1e152f4f9d5a3a7d3bbb68390113a461 100644 (file)
@@ -330,7 +330,8 @@ class faiPartitionTableEntry extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
    
     /* check every partition.
      * if there is an invalid value defined, append an errorstr to message
index 6df1f06a5345b83b85cb5db120d4fee91719b352..373a8147a39159d0bd1fe05a3f0ca3f938a99319 100644 (file)
@@ -375,7 +375,8 @@ class faiProfile extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     if(count($this->FAIclasses) == 0){
       $message[]=_("Please assign at least one class to this  profile.");
index f44cd0adf7a48a77b84a11f03291fbad1edc2d63..dcda988af192eb197be0ba4b731c951293d61425 100644 (file)
@@ -226,7 +226,9 @@ class faiProfileEntry extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     return ($message);
   }
 
index c8bc4d80272fc66e402b34d01d0287ddfba22b26..6ba262020c0ce7a4ae87a14ed2de02a5dd9f9b62 100644 (file)
@@ -326,7 +326,9 @@ class faiScript extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     return ($message);
   }
 
index 91fa11ff71f34b47cd8f2c6f06ed1ed7baf54d4c..35ba0b38baa38b093de517d52d068c9cd3b442d1 100644 (file)
@@ -126,7 +126,8 @@ class faiScriptEntry extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
   
     if(empty($this->cn)){
       $message[] = _("Please enter a name.");
index 279050b4625e5305d017297b7d147fbb487a1306..8d7d51fb2e37aff5d3f9eec017ef97c91b5da66b 100644 (file)
@@ -259,7 +259,9 @@ class faiTemplate extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     return ($message);
   }
 
index 33092b851090f5db527b715769b84331750b0802..34ee7a74412dc571c31e2939786f159f09265476 100644 (file)
@@ -165,7 +165,9 @@ class faiTemplateEntry extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     if(empty($this->FAItemplateFile)){
       $message[]=_("Please specify a value for attribute 'file'.");
     } 
index baa760623810ce89323f695b221bcc1f95f318e8..81a411dc725e6aa5dcf3bbf469b3833b88abcb20 100644 (file)
@@ -265,7 +265,9 @@ class faiVariable extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     return ($message);
   }
 
index 12c66fe134ee651930a721d4217b784157387784..46614d0cb339932535cc7954ad939197b106f67e 100644 (file)
@@ -91,7 +91,8 @@ class faiVariableEntry extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
     
     if(empty($this->FAIvariableContent)) {
       $message[]=_("Please specify a value for the attribute 'content'."); 
index 246945aff83ef713be905bdf2bb0e9a4c773543c..4727a3ea3d736320f2dd2625108c673f91e273c1 100644 (file)
@@ -784,7 +784,9 @@ $ldap->modify ($this->attrs);
 
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     return ($message);
   }
 
index 4e0cd4d09fe87d98201349c6d1dda44a25a7249c..b52fc2e1fbc9e520dd94edda0cf5a4c77004b087 100644 (file)
@@ -725,7 +725,8 @@ class group extends plugin
 
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     /* Permissions for that base? */
     if ($this->base != ""){
index f898fb4c3cc2c3a555766fc4d444fb88b44d1a96..e3430eaaf8967cf9b217c5c5a56c7043f91059fe 100644 (file)
@@ -794,7 +794,9 @@ I: Only insider delivery */
   {
     $ldap= $this->config->get_ldap_link();
 
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     if(!$this->is_account) return array();
     
     //$message[] = $str;      
index cfed78cf46c0632eb548182fc029335dbf0fac43..f3eacafb0791b3de8e704a6d9134847b36c1e16c 100644 (file)
@@ -60,7 +60,8 @@ class mailogroup extends plugin
   /* Check formular input */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     if ($this->is_account){
       $ldap= $this->config->get_ldap_link();
index b961cf339073737b8d5bbc542dd4c31fc2ca793e..0cf1229469e609a8d39e7d3eb45a421b43cb751a 100644 (file)
@@ -629,7 +629,8 @@ class ogroup extends plugin
 
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     /* Permissions for that base? */
     if ($this->base != ""){
index 4917f27df7541d2a41938dbac13397af31dc5ef4..27c4e21a953ab68ac51b9d8ad08b9f1f05632135 100644 (file)
@@ -186,7 +186,9 @@ class phonequeue extends plugin
   /* Check formular input */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     if($this->is_number_used()){
       $message[] = $this->is_number_used();
     }
index 66c2eed59f48ea8cc7f3d6be2ee1cf789e1ef3aa..cbe2e66f72d552a02b62f75fdc0f43d320d471d1 100644 (file)
@@ -69,7 +69,8 @@ class SelectDeviceType extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     return ($message);
   }
index 23c2428557f844e0adb633702645b2e72808b3c8..e06e3cc37637dd6492384baa26a80621099dc8de 100644 (file)
@@ -128,9 +128,9 @@ class componentGeneric extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
-
-    $message = array_merge($message,$this->netConfigDNS->check());
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+    $message= array_merge($message,$this->netConfigDNS->check());
 
     $this->dn= "cn=".$this->cn.",ou=netdevices,ou=systems,".$this->base;
 
index 617b8f9b3081134e690b09f7c59e496f3da5f64e..353bf8e3fdf74250df6f0b08b8ac1baf18b9e098 100644 (file)
@@ -692,7 +692,8 @@ class glpiAccount extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     //    if($this->TechnicalResponsible == ""){
     //      $message[] = _("Please select a technical responsible person for this entry.");
index fb1d5618dd0569ba02dd31cf062c0ba3ea7fa34d..8b0300d6f65669bbe48af73d96e160f2e94938d8 100644 (file)
@@ -326,7 +326,9 @@ class glpiAttachmentPool extends plugin
   /* Simple check */
   function check()
   {
-    $message = array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     if($this->edit){
     
       /* check if given name is already in use */
index c99e382baa3530aa051c07c042c02e31636e50cb..9fe20a9f1b320a5f69f2b46b530ac6fdd2af24a9 100644 (file)
@@ -335,7 +335,8 @@ class glpiDeviceManagement extends plugin
    */
   function check($attr)
   {
-    $message = array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     if(isset($attr['designation'])){
       $str2 = "designation";
index abaa32acb67dccdee0244424b772778fc6dd5423..4ee03e31ab7069c4b318b61ca5d43537205b99e1 100644 (file)
@@ -675,7 +675,8 @@ class glpiPrinterAccount extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     //    if($this->TechnicalResponsible == ""){
     //      $message[] = _("Please select a technical responsible person for this entry.");
index 4f31fdfa57fbfe12c3782ff252cb46e2db235d09..708da0f4f24faaa6f93fd12bdd9ef7da39ee5051 100644 (file)
@@ -279,7 +279,9 @@ class glpiPrinterCartridges extends plugin
    */
   function check($attr)
   {
-    $message = array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     return($message);
   }
 
index ff8d42751a43bb6f07cf7074028394c1686c49e3..c43a3f1124eaeda32136fd894571c1aea31613a9 100644 (file)
@@ -295,7 +295,8 @@ class glpiPrinterCartridgesEdit extends plugin
 
   /* Check given values */
   function check(){
-    $message=array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
   
     /* Avoid choosing an already used name */
     $types = $this->parent->handle->getCartridgeTypeInformations();
index 2ac553d1bd03cd43a291bda7148aef5a2204aa69..65cb290a52014a59e976f50664a76412e2f55787 100644 (file)
@@ -272,7 +272,10 @@ class phoneGeneric extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= $this->netConfigDNS->check();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+    $message= array_merge($message, $this->netConfigDNS->check());
+
     $this->dn= "cn=".$this->cn.",ou=phones,ou=systems,".$this->base;
 
     /* To check for valid ip*/
index 568bc420f3eba2efc345f4937f9252d9d842bda5..df9f7f12879878165062bdcb7a533e930683fa9c 100644 (file)
@@ -495,7 +495,9 @@ class printgeneric extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= $this->netConfigDNS->check();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+    $message= array_merge($message, $this->netConfigDNS->check());
 
     if(isset($this->parent->by_name['workgeneric'])){
       if($this->parent->by_object['workgeneric']->cn == "wdefault"){
index befe1cc91045d6b3e0614b70db585a03030df4dc..f8f9b35da0df72a368d848533cadd6fab5014c9b 100644 (file)
@@ -238,9 +238,9 @@ class printerPPDDialog extends plugin
   }
 
   function check(){
-    /* Check the given data
-     */
-    $message=array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     return $message;
   }
 
index 923f9454f0f84bc628fb896f73941d35a51a454d..143695676fbef9de278e853c578c52a5afcd2dc6 100644 (file)
@@ -94,7 +94,9 @@ class selectUserToPrinterDialog extends plugin
   }
 
   function check(){
-    $message=array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     if(empty($_POST['gotoPrinter'])){
       $message[] = _("Please select a printer or press cancel.");
     }
index 65e0f9df5419260db5f885977bc81db0f9dc628a..6ceef64e6183bab861fc96c669c12524ccc2bff4 100644 (file)
@@ -127,7 +127,8 @@ class servdb extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     if(in_array("goGlpiServer",$this->objectclasses)){
       foreach(array("goGlpiAdmin","goGlpiDatabase") as $attr){
index 9f4a6e867c19a278a84431ab82d4fb4b3ad976da..8d468f948641e4c4d327ef79e33f9df9ae7019c2 100644 (file)
@@ -61,8 +61,9 @@ class servdhcp extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
-
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+    
     return ($message);
   }
 
index 13ed5678e06b1d4e97a59b2f514d89549f44487c..19662d38bf228b6d385ebccc4f2898239e80aaac 100644 (file)
@@ -341,7 +341,9 @@ class servdnseditZone extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+        
     /* Check if zoneName is already in use */
     $usedZones = $this->getUsedZoneNames();
     if(($this->isNew == true)||($this->zoneName  != $this->InitialzoneName)||($this->ReverseZone != $this->InitialReverseZone)){
index 7a2e57a45d817e6106ec421c3c040efad07d80a3..bf510a9bb733fb48969aa1cc6dac53bd4fb7fa08 100644 (file)
@@ -185,7 +185,8 @@ class servDNSeditZoneEntries extends plugin
    */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
     
     $ldap = $this->config->get_ldap_link();
     $ldap->cd($this->config->current['BASE']);
index 62a31192ac8456635f9498c1e2a3cc4228310997..bd66de5c9fc7ee3371c820be14d4576ad3d3882f 100644 (file)
@@ -183,7 +183,9 @@ class servgeneric extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= $this->netConfigDNS->check();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+    $message= array_merge($message, $this->netConfigDNS->check());
     $this->dn= "cn=".$this->cn.",ou=servers,ou=systems,".$this->base;
 
     /* must: cn */
index d2e5eb0b637cfe17ca532c086acb261f91928ea3..ba733edf5a42eeda429aad425f1f01e52b0a1e5d 100644 (file)
@@ -222,7 +222,9 @@ $ldap->modify ($attrs);
 
   function check() 
   {
-    $message = array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     if(($this->kolabFreeBusyFuture==""))    {
       $message[] = _("Future days in Free/Busy settings must be set.");
     }elseif(!is_uid($this->kolabFreeBusyFuture) || $this->kolabFreeBusyFuture < 0){
index 8b724f4cf07a2432e90bf412f68448dec6120177..0b96923ca78fd71e90dd2d3f6f343931628f7f2c 100644 (file)
@@ -118,7 +118,8 @@ class servnfs extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     // fixme : a check for the path ?  ? 
     if(empty($this->path)){
index eaa059376821e26edad51f9b8d512aa757f94ab1..ddb27e1abc29e6e9ec0f5014ee579561e0d64179 100644 (file)
@@ -310,7 +310,9 @@ $ldap->modify ($this->attrs);
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+        
     return ($message);
   }
 
index bb64d2f8d36ba34a7097d4ecdcceee13c7e5a7ea..b4a9d686f898a9ad348865c37a8530352a8cec13 100644 (file)
@@ -111,7 +111,8 @@ class servRepositorySetup  extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     if(empty($this->Release)){
       $message[]=_("Please enter a value for 'release'.");
index e55f2beed241b799c4a20556fdef771bf7707de2..5c86fc578d94f39cc802e2511b0ef488b856344c 100644 (file)
@@ -266,7 +266,8 @@ class servservice extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
   
     if((isset($_POST['goTerminalServer']))&&(empty($this->goFontPath))){
       $message[]=_("Terminal server, must have fontpath specified.");
index 653f9900c3ccfec3e7b7ea60d7c38cf0d722cacc..299335cb8f2bf3ce08eab97890d0304c008b04f3 100644 (file)
@@ -246,8 +246,8 @@ class termDNS extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
-
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     /* Check if ip must be given
      */  
index 8b252d8f0baa4e5e98ab0139476d633b5043bedf..f991dae27aa24b7bb48a0939b6200f83169242ad 100644 (file)
@@ -257,7 +257,9 @@ class termgeneric extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= $this->netConfigDNS->check();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+    $message= array_merge($message, $this->netConfigDNS->check());
 
     /* Permissions for that base? */
     $this->dn= "cn=".$this->cn."ou=terminals,ou=systems,".$this->base;
index 0c3060534fd4851c8ddee32e7a3b7d47bfb04996..58fb0b356451bad3fb1aa14d9fbda21baf6529a3 100644 (file)
@@ -234,7 +234,6 @@ class terminfo extends plugin
   }
 
 
-
   /* Save to LDAP */
   function save()
   {
index e4eb153d7fb7b22e5bae64a7f568ae197637a29f..fe580b76e5632f58bb4a5e14cde52882df6fa0dd 100644 (file)
@@ -257,7 +257,8 @@ class termservice extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     /* Default entries can use blank hsync/vsync entries */
     if ($this->dn != "" && $this->cn != "default" && $this->cn != "wdefault"){
index 5f250619cd9212478bb2eca9c44325eef0574dc6..196a8bb7abfc7e448dd23db439fa7630c484294b 100644 (file)
@@ -152,7 +152,9 @@ class wingeneric extends plugin
   /* Check supplied data */
   function check()
   {
-    $message=$this->netConfigDNS->check();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+    $message= array_merge($message, $this->netConfigDNS->check());
     $this->dn= "cn=".$this->cn.",ou=netdevices,ou=systems,".$this->base;
 
     $ui= get_userinfo();
index d55db10945ad97c65cf6793dbcdf3d6171e314e8..6bdcbc96e0841e1d82b63c032379bb996fc72f4e 100644 (file)
@@ -218,7 +218,9 @@ class workgeneric extends plugin
   /* Check supplied data */
   function check()
   {
-    $message=$this->netConfigDNS->check();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+    $message= array_merge($message, $this->netConfigDNS->check());
 
     $ui= get_userinfo();
     $this->dn= "cn=".$this->cn.",ou=workstations,ou=systems,".$this->base;
index 2359b8566cb8eaebaf6738b4d9e7bc1e154c9dce..ffbb2cbce859f11c220dcc23a1fff68b0f4c30dc 100644 (file)
@@ -250,7 +250,8 @@ class workservice extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     /* Default entries can use blank hsync/vsync entries */
     if ($this->dn != "" && $this->cn != "default" && $this->cn != "wdefault"){
index a3f3366b22c86fe277def7d2be443b00c3c99f9f..c43f70d4709fd8ff0ecb51d22afad7307e1eb10a 100644 (file)
@@ -346,10 +346,15 @@ class workstartup extends plugin
   function check()
   {
     $messages = array();
+    
+    /* Call common method to give check the hook */
+    $messages= plugin::check();
+
     /* If there are packages selected, but no mirror show error */   
     if(($this->FAIdebianMirror == "none")&&(count($this->FAIclass)>0)){
       $messages[]=_("Please select a 'FAI server' or remove the 'FAI classes'.");
     }
+
     return($messages);
   }
 
index 0e470ae16803bf77d1c82054e0d2d96e8f12ba21..0730ce6cd3a944e392e83c04fae4c7f3b92ea163 100644 (file)
@@ -530,7 +530,8 @@ class blocklist extends plugin
   /* Check values */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     /* Permissions for that base? */
     if ($this->base != ""){
index e8275500172ae60d7a2e41e0230253ca09a23484..feec09343a0fbd1d4a7326f0d538aa39743b4a3f 100644 (file)
@@ -631,8 +631,8 @@ $ldap->modify ($this->attrs);
   /* Check formular input */
   function check()
   {
-    /* Reset message array */
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     /* must: facsimileTelephoneNumber */
     if ($this->facsimileTelephoneNumber == ""){
index 1f5cd480f71efbf9eb22ea80f6c602a0057cce1a..4713d45703d790ebebe80e6cb8dd196313dc9327 100644 (file)
@@ -180,7 +180,8 @@ class conference extends plugin
   /* Check values */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     if($this->is_number_used()){
       $message[] =  $this->is_number_used();
index d358ef900dcd9cd9c6a6ab1083c2e85cc0af77de..c549a62c15fdee2aa99ca4a662f735b92b2b508e 100755 (executable)
@@ -344,8 +344,9 @@ class macro extends plugin
   */
   function check()
   {
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
-    $message = array();
     if(!$this->generate_mysql_entension_entries()){
       $message[] = $this->generate_error;
     }
index 451462083ba21aaae0a79850d84e14b2d200abdc..f5a762f940842f0be12b37fadabc8e066d0963c4 100755 (executable)
@@ -320,7 +320,8 @@ class macroParameter extends plugin
   */
   function check()
   {
-    $message = array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     foreach($this->attributes as $attr){
       if(chkacl($this->acl,"edit")){
index 6d2c229e21794c2bef77b65afa1e300816864137..fb709d0d907eab9ef4f256618aef4c754c919ed6 100644 (file)
@@ -881,8 +881,8 @@ class phoneAccount extends plugin
 
   function check()
   {
-    /* Reset message array */
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     if((strlen($this->goFonVoicemailPIN)==0)||(strlen($this->goFonVoicemailPIN)>4)){
       $message[]=(_("Voicemail PIN must be between 1-4 characters."));
index 4b81da675c45dd08199eda40c3ae8190ae7427ea..12be3de5937ad8e1578b2f8492fb311d5d6c73b8 100644 (file)
@@ -105,7 +105,7 @@ class connectivity extends plugin
 
   function check()
   {
-    $message= array();
+    $message= plugin::check();
 
     foreach ($this->plugin_name as $name){
       $tmp= $this->plugin[$name]->check();
index 2b5ae71c864e4d6a8fca2f7367dc92493ea134f6..114444cf942546324d7a9af3dbff6d24bf527f6a 100644 (file)
@@ -225,7 +225,8 @@ class kolabAccount extends plugin
 
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     /* FBFuture is in days... */
     if ($this->kolabFreeBusyFuture != "" && !preg_match('/^[0-9]+$/', $this->kolabFreeBusyFuture)){
index 1c2596582ec66e285f201a3e98140bc11d387de0..d439a601ea37484af3bf2cbf49d1dbec12b0d649 100644 (file)
@@ -162,7 +162,8 @@ $ldap->modify ($this->attrs);
   /* Check values */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
     
     /* We've got only one value to check for positive integer or emtpy field */
     if ($this->is_account){
index 733428ac7774c77f6aa049e4ecb4b5de06da153e..41dc63e68b1c216cc6e2f97acb51b9d1aac1f430 100644 (file)
@@ -129,7 +129,8 @@ $ldap->modify ($this->attrs);
   /* Check values */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     /* Check for positive integer values */
     if ($this->is_account){
index d34c14f02aecbbbbb02b4a8a8c5356bcbc7e796e..6e1121ae81dbe9b2d31b32487af7abc1f8f259d7 100644 (file)
@@ -752,7 +752,8 @@ class environment extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
   
     if(preg_match("/[^0-9]/",$this->gotoProfileQuota)) {
       $message[]=_("Please set a valid profile quota size.");
index 08e3f3386a1bf18dd5bd9db504c86fa6e0534b55..eb013741ff8b563915c7a927bbebba586d3aeba4 100644 (file)
@@ -105,7 +105,9 @@ class hotplugDialog extends plugin
   /* Check supplied data */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     if(!$this->use_existing){
       if((empty($this->HOT_name))||(preg_match("/[^a-z0-9 ]/i",$this->HOT_name))){
         $message[]=_("Please specify a valid name. Only 0-9 a-Z is allowed.");
index c5ac543c8ae32493ecc89a678f3523654b476521..a8a2821b069d83649ac5d19b66618a400495836d 100644 (file)
@@ -90,17 +90,18 @@ class logonManagementDialog extends plugin
 
   function check()
   {
-  $message = array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
   
-  if(preg_match("/[^a-z]/",$this->LogonName)){
-    $message[] = _("Specified name is invalid.");
-  } 
-  
-  if(preg_match("/[^a-z0-9,\.-;:_\(\)!\? ]/i",$this->LogonDescription)){
-    $message[] = _("Specified description contains invalid characters.");
-  }
-  return $message;
+    if(preg_match("/[^a-z]/",$this->LogonName)){
+      $message[] = _("Specified name is invalid.");
+    
+
+    if(preg_match("/[^a-z0-9,\.-;:_\(\)!\? ]/i",$this->LogonDescription)){
+      $message[] = _("Specified description contains invalid characters.");
+    }
+
+    return $message;
   }
 
 
index 9f880aa0665071dac19d90fbab8326b65db0d644..efeca4e995c6500319163504f078d57e93e4e9cc 100644 (file)
@@ -62,7 +62,9 @@ class selectPrinterDialog extends plugin
   }
 
   function check(){
-    $message=array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     if(empty($_POST['gotoPrinter'])){
       $message[] = _("Please select a printer or press cancel.");
     }
index ab24dffcd1e812885282137b6772304f5ccb9a3e..0d7a9187310469b50310bd3680e41faf61ce9b6c 100644 (file)
@@ -928,7 +928,8 @@ class user extends plugin
   /* Check formular input */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     /* Assemble cn */
     $this->cn= $this->givenName." ".$this->sn;
index 2da4db13cb2b44fc7b60ccb3e3a2d1d827eb4f16..0d51a29dd464af1eb6bb907d88c5d80cbba71bbc 100644 (file)
@@ -712,7 +712,8 @@ $ldap->modify ($this->attrs);
     if(!$this->is_account) return(array());
     $ldap= $this->config->get_ldap_link();
 
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     if(empty($this->gosaMailServer)){
       $message[]= _("There is no valid mailserver specified, please add one in the system setup.");
index ba64598dc4fd215fa2b5b43f658ba3387d6bb05b..1afde98f77f7d0150b7dc1cd9ddfa2c78d2123ee 100644 (file)
@@ -158,7 +158,9 @@ $ldap->modify ($this->attrs);
 
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
+
     $ldap= $this->config->get_ldap_link();
     /* must: mail */
     if ($this->NagiosAlias == ""){
index dec7b5e05e6ce02b927a182872a4c2bfa57a1a15..864ec87b5d22e2e0fe5454f161b022cdccfc5a17 100644 (file)
@@ -901,8 +901,8 @@ $ldap->modify ($this->attrs);
     /* Include global link_info */
     $ldap= $this->config->get_ldap_link();
 
-    /* Reset message array */
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     /* must: homeDirectory */
     if ($this->homeDirectory == ""){
index 239090344bccb6c8241ec5e18db024f700580f07..177e6836bc89e5a2b25d21218b8c169a62c8969e 100644 (file)
@@ -634,7 +634,8 @@ $ldap->modify ($this->attrs);
   /* Check for input problems */
   function check()
   {
-    $message= array();
+    /* Call common method to give check the hook */
+    $message= plugin::check();
 
     if ($this->samba3){