email listing

Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann
2022-02-25 11:22:00 +01:00
parent 5b675c25a3
commit c7cc2d4357
8 changed files with 143 additions and 85 deletions

View File

@@ -0,0 +1,35 @@
<?php
namespace Froxlor\UI\Callbacks;
use Froxlor\Settings;
use Froxlor\PhpHelper;
/**
* This file is part of the Froxlor project.
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
*
* @copyright (c) the authors
* @author Froxlor team <team@froxlor.org> (2010-)
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Listing
*
*/
class Email
{
public static function account(string $data, array $attributes): mixed
{
return [
'type' => 'booleanWithInfo',
'data' => [
'checked' => $data != 0,
'info' => $data != 0 ? PhpHelper::sizeReadable($attributes['mboxsize'], 'GiB', 'bi', '%01.' . (int) Settings::Get('panel.decimal_places') . 'f %s') : ''
]
];
}
}

View File

@@ -23,7 +23,7 @@ return array(
'title' => $lng['emails']['account_add'],
'image' => 'icons/email_add.png',
'fields' => array(
'email_full' => array(
'emailaddr' => array(
'label' => $lng['emails']['emailaddress'],
'type' => 'label',
'value' => $result['email_full']

View File

@@ -23,7 +23,7 @@ return array(
'title' => $lng['emails']['forwarder_add'],
'image' => 'icons/autoresponder_add.png',
'fields' => array(
'email_full' => array(
'emailaddr' => array(
'label' => $lng['emails']['from'],
'type' => 'label',
'value' => $result['email_full']

View File

@@ -0,0 +1,83 @@
<?php
/**
* This file is part of the Froxlor project.
* Copyright (c) 2010 the Froxlor Team (see authors).
*
* For the full copyright and license information, please view the COPYING
* file that was distributed with this source code. You can also view the
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
*
* @copyright (c) the authors
* @author Froxlor team <team@froxlor.org> (2010-)
* @author Maurice Preuß <hello@envoyr.com>
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
* @package Tabellisting
*
*/
use Froxlor\UI\Callbacks\Email;
use Froxlor\UI\Callbacks\Text;
use Froxlor\UI\Listing;
return [
'email_list' => [
'title' => $lng['menue']['email']['emails'],
'icon' => 'fa-solid fa-envelope',
'columns' => [
'm.email_full' => [
'label' => $lng['emails']['emailaddress'],
'column' => 'email_full',
],
'm.destination' => [
'label' => $lng['emails']['forwarders'],
'column' => 'destination',
// @todo formatting
],
'm.popaccountid' => [
'label' => $lng['emails']['account'],
'column' => 'popaccountid',
'format_callback' => [Email::class, 'account'],
],
'm.iscatchall' => [
'label' => $lng['emails']['catchall'],
'column' => 'iscatchall',
'format_callback' => [Text::class, 'boolean'],
'visible' => \Froxlor\Settings::Get('catchall.catchall_enabled') == '1'
],
'm.quota' => [
'label' => $lng['emails']['quota'],
'column' => 'quota',
'visible' => \Froxlor\Settings::Get('system.mail_quota_enabled') == '1'
]
],
'visible_columns' => Listing::getVisibleColumnsForListing('email_list', [
'm.email_full',
'm.destination',
'm.popaccountid',
'm.iscatchall',
'm.quota'
]),
'actions' => [
'edit' => [
'icon' => 'fa fa-edit',
'href' => [
'section' => 'email',
'page' => 'emails',
'action' => 'edit',
'id' => ':id'
],
],
'delete' => [
'icon' => 'fa fa-trash',
'class' => 'text-danger',
'href' => [
'section' => 'email',
'page' => 'emails',
'action' => 'delete',
'id' => ':id'
],
]
]
]
];