From: hickert Date: Fri, 22 Sep 2006 04:10:01 +0000 (+0000) Subject: Made framework.tpl lgsy like ... X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=bc1bed13c75f7e49dc854b943dc9beb7bc544d36;p=gosa.git Made framework.tpl lgsy like ... git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@4761 594d385d-05f5-0310-b6e9-bd551577e9d8 --- diff --git a/plugins/admin/systems/class_goSpamServer.inc b/plugins/admin/systems/class_goSpamServer.inc index 1d4771220..5f4618d15 100644 --- a/plugins/admin/systems/class_goSpamServer.inc +++ b/plugins/admin/systems/class_goSpamServer.inc @@ -1,6 +1,8 @@ ui = get_userinfo(); - /* Set up the users ACL's for this 'dn' */ - $acl= get_permissions ($this->dn, $this->ui->subtreeACL); - $this->acl= get_module_permission($acl, "goSpamServer", $this->ui->dn); - /* Get Flags */ foreach($this->Flags as $flag){ $var = "saFlags".$flag; @@ -87,44 +85,30 @@ class gospamserver extends plugin{ function execute() { + $display =""; $smarty = get_smarty(); - if(get_class($this->parent) == "servtabs"){ - - $smarty->assign("servtabs",true); - /* Do we need to flip is_account state? */ - if (isset($_POST['modify_state'])) { - $this->is_account = !$this->is_account; - } + + /* If displayed, it is ever true*/ + $this->is_account =true; - /* Show tab dialog headers */ - if ($this->is_account) { - /* call Add Acoount to add account */ - $display = $this->show_header(_("Remove spamassassin extension"), - _("This server has spamassassin features enabled. You can disable them by clicking below.")); - } else { - /* call remove Account */ - $display = $this->show_header(_("Add spamassassin service"), - _("This server has spamassassin features disabled. You can enable them by clicking below.")); - return ($display); - } - }else{ - $this->is_account =true; - $display =""; - $smarty->assign("servtabs",false); + /* Get acls */ + $tmp = $this->plinfo(); + foreach($tmp['plProvidedAcls'] as $name => $translation){ + $smarty->assign($name."ACL",$this->getacl($name)); } - + /* Add new trusted network */ - if(isset($_POST['AddNewTrust'])){ + if(isset($_POST['AddNewTrust']) && ($this->acl_is_writeable("saTrustedNetworks"))){ $this->AddTrust($_POST['NewTrustName']); } /* Delete selected trusted network */ - if(isset($_POST['DelTrust'])){ + if(isset($_POST['DelTrust']) && ($this->acl_is_writeable("saTrustedNetworks"))){ $this->DelTrust($_POST['TrustedNetworks']); } /* Add a new rule */ - if(isset($_POST['AddRule'])){ + if(isset($_POST['AddRule']) && $this->acl_is_writeable("saRule")){ $this->dialog = new goSpamServerRule($this->config,$this->dn); } @@ -136,7 +120,7 @@ class gospamserver extends plugin{ /* Handle post to delete rules */ $once = true; foreach($_POST as $name => $value){ - if(preg_match("/^editRule_/",$name) && $once ){ + if(preg_match("/^editRule_/",$name) && $once && $this->acl_is_readable("saRule")){ $once = false; $entry = preg_replace("/^editRule_/","",$name); $entry = preg_replace("/_(x|y)$/","",$entry); @@ -144,7 +128,7 @@ class gospamserver extends plugin{ $name = $entry; $this->dialog = new goSpamServerRule($this->config,$this->dn,$name,$rule); } - if(preg_match("/^delRule_/",$name) && $once ){ + if(preg_match("/^delRule_/",$name) && $once && $this->acl_is_writeable("saRule")){ $once = false; $entry = preg_replace("/^delRule_/","",$name); $entry = preg_replace("/_(x|y)$/","",$entry); @@ -160,7 +144,7 @@ class gospamserver extends plugin{ foreach($msgs as $msg){ print_red($msg); } - }else{ + }elseif($this->acl_is_writeable("saRule")){ $ret = $this->dialog->save(); if((!empty($ret['orig_name'])) && isset($this->Rules[$ret['orig_name']])){ unset($this->Rules[$ret['orig_name']]); @@ -179,13 +163,12 @@ class gospamserver extends plugin{ /* Assign smarty vars */ foreach($this->attributes as $attr){ $smarty->assign($attr,$this->$attr); - $smarty->assign($attr."ACL",chkacl($this->acl,$attr)); } /* Assign checkbox states */ foreach($this->Flags as $Flag){ $var = "saFlags".$Flag; - $smarty->assign("saFlags".$Flag."ACL",chkacl($this->acl,$Flag)); + $smarty->assign("saFlags".$Flag."ACL", $this->getacl($Flag)); if($this->$var){ $smarty->assign("saFlags".$Flag."CHK"," checked " ); }else{ @@ -197,11 +180,14 @@ class gospamserver extends plugin{ $DivRules = new divSelectBox("SpamRules"); $DivRules->SetHeight(130); - if(preg_match("/disabled/",chkacl($this->acl,"saTrustedNetworks"))){ + if($this->acl_is_writeable("saTrustedNetworks")){ $actions = ""; }else{ + $actions = ""; - $actions.= ""; + if($this->acl_is_writeable("saRule")){ + $actions.= ""; + } } foreach($this->Rules as $key => $net){ @@ -246,37 +232,6 @@ class gospamserver extends plugin{ } } - - /* remove this extension */ - function remove_from_parent() - { - - if(!$this->is_account && $this->initially_was_account){ - - plugin::remove_from_parent(); - - /* Remove status flag, it is not a memeber of - this->attributes, so ensure that it is deleted too */ - if(!empty($this->StatusFlag)){ - $this->attrs[$this->StatusFlag] = array(); - } - - /* Check if this is a new entry ... add/modify */ - $ldap = $this->config->get_ldap_link(); - $ldap->cat($this->dn,array("objectClass")); - if($ldap->count()){ - $ldap->cd($this->dn); - $ldap->modify($this->attrs); - }else{ - $ldap->cd($this->dn); - $ldap->add($this->attrs); - } - show_ldap_error($ldap->get_error(), sprintf(_("Removing of server services/spamassassin with dn '%s' failed."),$this->dn)); - $this->handle_post_events("remove"); - } - } - - function save() { if(!$this->is_account) return; @@ -354,7 +309,7 @@ class gospamserver extends plugin{ } - /* Return plugin informations for acl handling + /* Return plugin informations for acl handling */ function plInfo() { return (array( @@ -380,104 +335,15 @@ class gospamserver extends plugin{ "saFlagP" => _("Enable use of Pyzor")) )); } - */ /* For newer service management dialogs */ function getListEntry() { - $this->updateStatusState(); - $flag = $this->StatusFlag; - $fields['Status'] = $this->$flag; + $fields = goService::getListEntry(); $fields['Message'] = _("Spamassassin"); - $fields['AllowStart'] = true; - $fields['AllowStop'] = true; - $fields['AllowRestart'] = true; - $fields['AllowRemove'] = true; $fields['AllowEdit'] = true; return($fields); } - - function updateStatusState() - { - if(empty($this->StatusFlag)) return; - - $attrs = array(); - $flag = $this->StatusFlag; - $ldap = $this->config->get_ldap_link(); - $ldap->cd($this->cn); - $ldap->cat($this->dn,array($flag)); - if($ldap->count()){ - $attrs = $ldap->fetch(); - } - if(isset($attrs[$flag][0])){ - $this->$flag = $attrs[$flag][0]; - } - } - function action_hook($add_attrs= array()) - { - /* Find postcreate entries for this class */ - $command= search_config($this->config->data['MENU'], get_class($this), "ACTION_HOOK"); - if ($command == "" && isset($this->config->data['TABS'])){ - $command= search_config($this->config->data['TABS'], get_class($this), "ACTION_HOOK"); - } - if ($command != ""){ - /* Walk through attribute list */ - foreach ($this->attributes as $attr){ - if (!is_array($this->$attr)){ - $command= preg_replace("/%$attr/", $this->$attr, $command); - } - } - $command= preg_replace("/%dn/", $this->dn, $command); - /* Additional attributes */ - foreach ($add_attrs as $name => $value){ - $command= preg_replace("/%$name/", $value, $command); - } - - /* If there are still some %.. in our command, try to fill these with some other class vars */ - if(preg_match("/%/",$command)){ - $attrs = get_object_vars($this); - foreach($attrs as $name => $value){ - if(!is_string($value)) continue; - $command= preg_replace("/%$name/", $value, $command); - } - } - - if (check_command($command)){ - @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__, - $command, "Execute"); - - exec($command); - } else { - $message= sprintf(_("Command '%s', specified as ACTION_HOOK for plugin '%s' doesn't seem to exist."), $command, get_class($this)); - print_red ($message); - } - } - } - - /* Directly save new status flag */ - function setStatus($value) - { - if($value == "none") return; - if(!$this->initially_was_account) return; - $ldap = $this->config->get_ldap_link(); - $ldap->cd($this->dn); - $ldap->cat($this->dn,array("objectClass")); - if($ldap->count()){ - - $tmp = $ldap->fetch(); - for($i = 0; $i < $tmp['objectClass']['count']; $i ++){ - $attrs['objectClass'][] = $tmp['objectClass'][$i]; - } - $flag = $this->StatusFlag; - $attrs[$flag] = $value; - $this->$flag = $value; - $ldap->modify($attrs); - show_ldap_error($ldap->get_error(), sprintf(_("Set status flag for server services/spamassassin with dn '%s' failed."),$this->dn)); - $this->action_hook(); - } - } - - } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> diff --git a/plugins/admin/systems/class_goTerminalServer.inc b/plugins/admin/systems/class_goTerminalServer.inc index 6fcb615ed..d6fa3ac93 100644 --- a/plugins/admin/systems/class_goTerminalServer.inc +++ b/plugins/admin/systems/class_goTerminalServer.inc @@ -1,6 +1,8 @@ plinfo(); + foreach($tmp['plProvidedAcls'] as $name => $translation){ + $smarty->assign($name."ACL",$this->getacl($name)); + } + foreach($this->attributes as $attr){ $smarty->assign($attr,$this->$attr); - $smarty->assign($attr."ACL",chkacl($this->acl,$attr)); } return($smarty->fetch(get_template_path("goTerminalServer.tpl",TRUE,dirname(__FILE__)))); } @@ -43,44 +50,13 @@ class goTerminalServer extends plugin{ function getListEntry() { - $this->updateStatusState(); - $flag = $this->StatusFlag; - $fields['Status'] = $this->$flag; + $fields = goService::getListEntry(); $fields['Message'] = _("Terminal service"); - $fields['AllowStart'] = true; - $fields['AllowStop'] = true; - $fields['AllowRestart'] = true; - $fields['AllowRemove']= true; $fields['AllowEdit'] = true; return($fields); } - function remove_from_parent() - { - plugin::remove_from_parent(); - - /* Remove status flag, it is not a memeber of - this->attributes, so ensure that it is deleted too */ - if(!empty($this->StatusFlag)){ - $this->attrs[$this->StatusFlag] = array(); - } - - /* Check if this is a new entry ... add/modify */ - $ldap = $this->config->get_ldap_link(); - $ldap->cat($this->dn,array("objectClass")); - if($ldap->count()){ - $ldap->cd($this->dn); - $ldap->modify($this->attrs); - }else{ - $ldap->cd($this->dn); - $ldap->add($this->attrs); - } - show_ldap_error($ldap->get_error(), sprintf(_("Removing server services/terminalServer with dn '%s' failed."),$this->dn)); - $this->handle_post_events("remove"); - } - - function save() { plugin::save(); @@ -108,30 +84,6 @@ class goTerminalServer extends plugin{ } - /* Directly save new status flag */ - function setStatus($value) - { - if($value == "none") return; - if(!$this->initially_was_account) return; - $ldap = $this->config->get_ldap_link(); - $ldap->cd($this->dn); - $ldap->cat($this->dn,array("objectClass")); - if($ldap->count()){ - - $tmp = $ldap->fetch(); - for($i = 0; $i < $tmp['objectClass']['count']; $i ++){ - $attrs['objectClass'][] = $tmp['objectClass'][$i]; - } - $flag = $this->StatusFlag; - $attrs[$flag] = $value; - $this->$flag = $value; - $ldap->modify($attrs); - show_ldap_error($ldap->get_error(), sprintf(_("Set status flag for server services/terminalServer with dn '%s' failed."),$this->dn)); - $this->action_hook(); - } - } - - function check() { $message = plugin::check(); @@ -155,67 +107,8 @@ class goTerminalServer extends plugin{ } } - function action_hook($add_attrs= array()) - { - /* Find postcreate entries for this class */ - $command= search_config($this->config->data['MENU'], get_class($this), "ACTION_HOOK"); - if ($command == "" && isset($this->config->data['TABS'])){ - $command= search_config($this->config->data['TABS'], get_class($this), "ACTION_HOOK"); - } - if ($command != ""){ - /* Walk through attribute list */ - foreach ($this->attributes as $attr){ - if (!is_array($this->$attr)){ - $command= preg_replace("/%$attr/", $this->$attr, $command); - } - } - $command= preg_replace("/%dn/", $this->dn, $command); - /* Additional attributes */ - foreach ($add_attrs as $name => $value){ - $command= preg_replace("/%$name/", $value, $command); - } - - /* If there are still some %.. in our command, try to fill these with some other class vars */ - if(preg_match("/%/",$command)){ - $attrs = get_object_vars($this); - foreach($attrs as $name => $value){ - if(!is_string($value)) continue; - $command= preg_replace("/%$name/", $value, $command); - } - } - - if (check_command($command)){ - @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__, - $command, "Execute"); - - exec($command); - } else { - $message= sprintf(_("Command '%s', specified as ACTION_HOOK for plugin '%s' doesn't seem to exist."), $command, get_class($this)); - print_red ($message); - } - } - } - - - /* Get updates for status flag */ - function updateStatusState() - { - if(empty($this->StatusFlag)) return; - - $attrs = array(); - $flag = $this->StatusFlag; - $ldap = $this->config->get_ldap_link(); - $ldap->cd($this->cn); - $ldap->cat($this->dn,array($flag)); - if($ldap->count()){ - $attrs = $ldap->fetch(); - } - if(isset($attrs[$flag][0])){ - $this->$flag = $attrs[$flag][0]; - } - } - /* Return plugin informations for acl handling */ + /* Return plugin informations for acl handling */ function plInfo() { return (array( diff --git a/plugins/admin/systems/goSpamServer.tpl b/plugins/admin/systems/goSpamServer.tpl index 1158d5531..99e408f1c 100644 --- a/plugins/admin/systems/goSpamServer.tpl +++ b/plugins/admin/systems/goSpamServer.tpl @@ -1,4 +1,4 @@ - +
@@ -16,9 +18,11 @@ {t}Required score{/t}

Spam tagging

@@ -8,7 +8,9 @@ {t}Rewrite header{/t}
- +{render acl=$saRewriteHeaderACL} + +{/render}
+{render acl=$saRequiredScoreACL} +{/render}
@@ -29,12 +33,20 @@
- {html_options options=$TrustedNetworks}
-   - - +{/render} +{render acl=$saTrustedNetworksACL} +   +{/render} +{render acl=$saTrustedNetworksACL} + +{/render} +{render acl=$saTrustedNetworksACL} + +{/render}
@@ -53,9 +65,15 @@
-  {t}Enable use of bayes filtering{/t}
-  {t}Enable bayes auto learning{/t}
-  {t}Enable RBL checks{/t} +{render acl=$saFlagsBACL} +  {t}Enable use of bayes filtering{/t}
+{/render} +{render acl=$saFlagsbACL} +  {t}Enable bayes auto learning{/t}
+{/render} +{render acl=$saFlagsCACL} +  {t}Enable RBL checks{/t} +{/render}
@@ -64,9 +82,15 @@
-  {t}Enable use of Razor{/t}
-  {t}Enable use of DDC{/t}
-  {t}Enable use of Pyzor{/t} +{render acl=$saFlagsRACL} +  {t}Enable use of Razor{/t}
+{/render} +{render acl=$saFlagsDACL} +  {t}Enable use of DDC{/t}
+{/render} +{render acl=$saFlagsPACL} +  {t}Enable use of Pyzor{/t} +{/render}
@@ -81,11 +105,15 @@

Rules

- +
+{render acl=$saTrustedNetworksACL} {$divRules}
- +{/render} +{render acl=$saTrustedNetworksACL} + +{/render}
@@ -94,14 +122,12 @@ -{if !$servtabs}

 

-

+

  -

-{/if} + diff --git a/plugins/admin/systems/goTerminalServer.tpl b/plugins/admin/systems/goTerminalServer.tpl index ebe86e949..524640f6c 100644 --- a/plugins/admin/systems/goTerminalServer.tpl +++ b/plugins/admin/systems/goTerminalServer.tpl @@ -2,21 +2,28 @@ +{render acl=$goXdmcpIsEnabledACL} + +{/render} + {t}Temporary disable login{/t} + - +
- {t}Temporary disable login{/t}
{t}Font path{/t} +{render acl=$goXdmcpIsEnabledACL} + +{/render} +

 

-

+

  -

+