Files
server/usr/share/psa-horde/ingo/lib/Block/Overview.php
2026-01-07 20:52:11 +01:00

124 lines
4.2 KiB
PHP

<?php
/**
* Copyright 2006-2017 Horde LLC (http://www.horde.org/)
*
* See the enclosed file LICENSE for license information (ASL). If you
* did not receive this file, see http://www.horde.org/licenses/apache.
*
* @author Oliver Kuhl <okuhl@netcologne.de>
* @category Horde
* @license http://www.horde.org/licenses/apache ASL
* @package Ingo
*/
/**
* Block to show filter information.
*
* @author Oliver Kuhl <okuhl@netcologne.de>
* @category Horde
* @license http://www.horde.org/licenses/apache ASL
* @package Ingo
*/
class Ingo_Block_Overview extends Horde_Core_Block
{
/**
*/
public function __construct($app, $params = array())
{
parent::__construct($app, $params);
$this->_name = _("Overview");
}
/**
*/
protected function _title()
{
return Horde::url($GLOBALS['registry']->getInitialPage(), true)->link() . $GLOBALS['registry']->get('name') . '</a>';
}
/**
*/
protected function _content()
{
/* Get list of filters */
$filters = $GLOBALS['injector']->getInstance('Ingo_Factory_Storage')->create()->retrieve(Ingo_Storage::ACTION_FILTERS);
$html = '<table class="ingoBlockSummary">';
foreach ($filters->getFilterList() as $filter) {
if (!empty($filter['disable'])) {
$active = _("inactive");
} else {
$active = _("active");
}
$s_categories = $GLOBALS['session']->get('ingo', 'script_categories');
switch ($filter['name']) {
case 'Vacation':
if (in_array(Ingo_Storage::ACTION_VACATION, $s_categories)) {
$html .= '<tr><td>' .
'<span class="iconImg vacationImg"></span>' .
'</td><td>' .
Ingo_Basic_Vacation::url()->link(array('title' => _("Edit"))) .
_("Vacation") . '</a> ' . $active .
'</td></tr>';
}
break;
case 'Forward':
if (in_array(Ingo_Storage::ACTION_FORWARD, $s_categories)) {
$html .= '<tr><td>' .
'<span class="iconImg forwardImg"></span>' .
'</td><td>' .
Ingo_Basic_Forward::url()->link(array('title' => _("Edit"))) .
_("Forward") . '</a> ' . $active;
$data = unserialize($GLOBALS['prefs']->getValue('forward'));
if (!empty($data['a'])) {
$html .= ':<br />' . implode('<br />', $data['a']);
}
$html .= '</td></tr>';
}
break;
case 'Whitelist':
if (in_array(Ingo_Storage::ACTION_WHITELIST, $s_categories)) {
$html .= '<tr><td>' .
'<span class="iconImg whitelistImg"></span>' .
'</td><td>' .
Ingo_Basic_Whitelist::url()->link(array('title' => _("Edit"))) .
_("Whitelist") . '</a> ' . $active .
'</td></tr>';
}
break;
case 'Blacklist':
if (in_array(Ingo_Storage::ACTION_BLACKLIST, $s_categories)) {
$html .= '<tr><td>' .
'<span class="iconImg blacklistImg"></span>' .
'</td><td>' .
Ingo_Basic_Blacklist::url()->link(array('title' => _("Edit"))) .
_("Blacklist") . '</a> ' . $active .
'</td></tr>';
}
break;
case 'Spam Filter':
if (in_array(Ingo_Storage::ACTION_SPAM, $s_categories)) {
$html .= '<tr><td>' .
'<span class="iconImg spamImg"></span>' .
'</td><td>' .
Ingo_Basic_Spam::url()->link(array('title' => _("Edit"))) .
_("Spam Filter") . '</a> ' . $active .
'</td></tr>';
}
break;
}
}
return $html . '</table>';
}
}