[gosa.git] / gosa-plugins / rsyslog / admin / systems / services / rsyslog / class_rSyslogServer.inc
1 <?php
3 class rSyslogServer extends goService{
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 }
105 }
106 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
107 ?>