Code

Updated rSyslogPlugin to use the correct schemata
[gosa.git] / gosa-plugins / rsyslog / admin / systems / services / rsyslog / class_rSyslogServer.inc
1 <?php
3 class rSyslogServer extends goService{
4         
5   /* This plugin only writes its objectClass */
6   var $objectclasses    = array("goLogDBServer");
7   var $attributes       = array("gosaLogDB","goLogAdmin","goLogPassword");
8   var $StatusFlag       = "";
10   /* This class can't be assigned twice so it conflicts with itsself */
11   var $conflicts        = array("goLogDBServer");
13   var $DisplayName      = "";
14   var $dn               = NULL;
15   var $acl;
16   var $cn                 = "";
17   var $gosaLogDB    = "Syslog";
18   var $goLogAdmin        = "rsyslog";
19   var $goLogPassword    = "";  
20   var $view_logged  =FALSE;
23   function rSyslogServer(&$config,$dn)
24   {
25     goService::goService($config,$dn);
26     $this->DisplayName = _("rSyslog");
27   }
30   function execute()
31   { 
32     $smarty = get_smarty(); 
34     if($this->is_account && !$this->view_logged){
35       $this->view_logged = TRUE;
36       new log("view","server/".get_class($this),$this->dn);
37     }
39     $tmp = $this->plInfo();
40     foreach($tmp['plProvidedAcls'] as $name => $translation){
41       $smarty->assign($name."ACL",$this->getacl($name));
42     }
44     foreach($this->attributes as $attr){
45       $smarty->assign($attr,$this->$attr);
46     }
47     return($smarty->fetch(get_template_path("rSyslogServer.tpl",TRUE,dirname(__FILE__))));
48   }
51   function getListEntry()
52   {
53     $fields = goService::getListEntry();
54     $fields['Message']      = _("rSyslog logging service");
55     #$fields['AllowEdit']    = true;
56     #$fields['AllowStart']   = FALSE;
57     #$fields['AllowStop']    = FALSE;
58     #$fields['AllowRestart'] = FALSE;
59     return($fields);
60   }
63   function check()
64   { 
65     $message = plugin::check();
66     if (empty($this->goLogAdmin)){
67       $message[]= msgPool::required(_("User"));
68     }
69     if (empty($this->goLogPassword)){
70       $message[]= msgPool::required(_("Password"));
71     }
72     if (empty($this->gosaLogDB)){
73       $message[]= msgPool::required(_("Database"));
74     }
75     return($message);
76   }
79   function save_object()
80   {
81     if(isset($_POST['rSyslogServerPosted'])){
82       plugin::save_object();
83     }
84   } 
86   /* Return plugin informations for acl handling */
87   static function plInfo()
88   {
89     return (array(
90           "plShortName"   => _("rSyslog logging service"),
91           "plDescription" => _("rSyslog logging service")." ("._("Services").")",
92           "plSelfModify"  => FALSE,
93           "plDepends"     => array(),
94           "plPriority"    => 99,
95           "plSection"     => array("administration"),
96           "plCategory"    => array("server"),
98           "plProvidedAcls"=> array(
99             "gosaLogDB" => _("Database"),
100             "goLogAdmin"     => _("User"),
101             "goLogPassword" => _("Password"), 
102             "viewEntries"     => _("Allow view of entries on this server")) 
103           ));
104   }
106 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
107 ?>