Code

Added new gosaLogService
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 15 May 2007 08:04:14 +0000 (08:04 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 15 May 2007 08:04:14 +0000 (08:04 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@6381 594d385d-05f5-0310-b6e9-bd551577e9d8

plugins/admin/systems/class_gosaLogServer.inc [new file with mode: 0644]
plugins/admin/systems/gosaLogServer.tpl [new file with mode: 0644]

diff --git a/plugins/admin/systems/class_gosaLogServer.inc b/plugins/admin/systems/class_gosaLogServer.inc
new file mode 100644 (file)
index 0000000..5128875
--- /dev/null
@@ -0,0 +1,102 @@
+<?php
+require_once("class_goService.inc");
+
+class gosaLogServer extends goService{
+       
+  /* This plugin only writes its objectClass */
+  var $objectclasses    = array("gosaLogServer");
+  var $attributes       = array("cn","goLogDB","goLogDBUser","goLogDBPassword");
+  var $StatusFlag       = "";
+
+  /* This class can't be assigned twice so it conflicts with itsself */
+  var $conflicts        = array("gosaLogServer");
+
+  var $DisplayName      = "";
+  var $dn               = NULL;
+  var $acl;
+  var $cn                 = "";
+  var $goLogDBServerStatus= "";
+  var $goLogDBUser        = "";
+  var $goLogDBPassword    = "";  
+  var $goLogDB            = "";  
+
+
+  function gosaLogServer($config,$dn)
+  {
+    plugin::plugin($config,$dn);
+    $this->DisplayName = _("GOsa logging service");
+  }
+
+
+  function execute()
+  { 
+    $smarty = get_smarty(); 
+
+    $tmp = $this->plInfo();
+    foreach($tmp['plProvidedAcls'] as $name => $translation){
+      $smarty->assign($name."ACL",$this->getacl($name));
+    }
+
+    foreach($this->attributes as $attr){
+      $smarty->assign($attr,$this->$attr);
+    }
+    return($smarty->fetch(get_template_path("gosaLogServer.tpl",TRUE,dirname(__FILE__))));
+  }
+
+
+  function getListEntry()
+  {
+    $fields = goService::getListEntry();
+    $fields['Message']      = _("GOsa logging service");
+    $fields['AllowEdit']    = true;
+    $fields['AllowStart']   = FALSE;
+    $fields['AllowStop']    = FALSE;
+    $fields['AllowRestart'] = FALSE;
+    return($fields);
+  }
+
+
+  function check()
+  { 
+    $message = plugin::check();
+    if (empty($this->goLogDBUser)){
+      $message[]= sprintf_("The attribute user is empty or contains invalid characters.");
+    }
+    if (empty($this->goLogDBPassword)){
+      $message[]= sprintf_("The attribute password is empty or contains invalid characters.");
+    }
+    if (empty($this->goLogDB)){
+      $message[]= sprintf_("The attribute database is empty or contains invalid characters.");
+    }
+    return($message);
+  }
+
+
+  function save_object()
+  {
+    if(isset($_POST['gosaLogServerPosted'])){
+      plugin::save_object();
+    }
+  } 
+
+  /* Return plugin informations for acl handling */
+  function plInfo()
+  {
+    return (array(
+          "plShortName"   => _("GOsa logging service"),
+          "plDescription" => _("GOsa logging service")." ("._("Services").")",
+          "plSelfModify"  => FALSE,
+          "plDepends"     => array(),
+          "plPriority"    => 98,
+          "plSection"     => array("administration"),
+          "plCategory"    => array("server"),
+
+          "plProvidedAcls"=> array(
+            "goLogDB"         => _("Database"),
+            "goLogDBUser"     => _("User"),
+            "goLogDBPassword" => _("Password")) 
+          ));
+  }
+}
+// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
+?>
diff --git a/plugins/admin/systems/gosaLogServer.tpl b/plugins/admin/systems/gosaLogServer.tpl
new file mode 100644 (file)
index 0000000..7dd032a
--- /dev/null
@@ -0,0 +1,35 @@
+<h2><img class="center" alt="" align="middle" src="images/rightarrow.png" /> {t}GOsa logging database{/t}</h2>
+<table summary="">
+    <tr>
+     <td>{t}Database user{/t}{$must}</td>
+     <td>
+{render acl=$goLogDBUserACL}
+       <input name="goLogDBUser" id="goLogDBUser" size=30 maxlength=60 value="{$goLogDBUser}">
+{/render}
+     </td>
+    </tr>
+    <tr>
+     <td>{t}Password{/t}{$must}</td>
+     <td>
+{render acl=$goLogDBPasswordACL}
+       <input type="password" name="goLogDBPassword" id="goLogDBPassword" size=30 maxlength=60 value="{$goLogDBPassword}">
+{/render}
+     </td>
+    </tr>
+    <tr>
+     <td>{t}Database{/t}{$must}</td>
+     <td>
+{render acl=$goLogDBACL}
+       <input name="goLogDB" id="goLogDB" size=30 maxlength=60 value="{$goLogDB}">
+{/render}
+     </td>
+    </tr>
+   </table>
+
+<p class='seperator'>&nbsp;</p>
+<div style="width:100%; text-align:right;padding-top:10px;padding-bottom:3px;">
+    <input type='submit' name='SaveService' value='{t}Save{/t}'>
+    &nbsp;
+    <input type='submit' name='CancelService' value='{t}Cancel{/t}'>
+</div>
+<input type="hidden" name="gosaLogServerPosted" value="1">