* @license https://files.froxlor.org/misc/COPYING.txt GPLv2 */ use Froxlor\UI\Callbacks\Customer; use Froxlor\UI\Callbacks\Impersonate; use Froxlor\UI\Callbacks\ProgressBar; use Froxlor\UI\Callbacks\Text; use Froxlor\UI\Callbacks\Style; use Froxlor\UI\Listing; return [ 'customer_list' => [ 'title' => lng('admin.customers'), 'description' => 'Manage your customers', 'icon' => 'fa-solid fa-user', 'self_overview' => ['section' => 'customers', 'page' => 'customers'], 'columns' => [ 'c.customerid' => [ 'label' => 'ID', 'field' => 'customerid', 'sortable' => true, ], 'c.name' => [ 'label' => lng('customer.name'), 'field' => 'name', 'callback' => [Text::class, 'customerfullname'], ], 'c.loginname' => [ 'label' => lng('login.username'), 'field' => 'loginname', 'callback' => [Impersonate::class, 'customer'], ], 'a.loginname' => [ 'label' => lng('admin.admin'), 'field' => 'adminname', 'callback' => [Impersonate::class, 'admin'], ], 'c.email' => [ 'label' => lng('customer.email'), 'field' => 'email', ], 'c.street' => [ 'label' => lng('customer.street'), 'field' => 'street', ], 'c.zipcode' => [ 'label' => lng('customer.zipcode'), 'field' => 'zipcode', ], 'c.city' => [ 'label' => lng('customer.city'), 'field' => 'city', ], 'c.phone' => [ 'label' => lng('customer.phone'), 'field' => 'phone', ], 'c.fax' => [ 'label' => lng('customer.fax'), 'field' => 'fax', ], 'c.customernumber' => [ 'label' => lng('customer.customernumber'), 'field' => 'customernumber', ], 'c.def_language' => [ 'label' => lng('login.profile_lng'), 'field' => 'def_language', ], 'c.guid' => [ 'label' => 'GUID', 'field' => 'guid', ], 'c.diskspace' => [ 'label' => lng('customer.diskspace'), 'field' => 'diskspace', 'callback' => [ProgressBar::class, 'diskspace'], ], 'c.traffic' => [ 'label' => lng('customer.traffic'), 'field' => 'traffic', 'callback' => [ProgressBar::class, 'traffic'], ], 'c.deactivated' => [ 'label' => lng('admin.deactivated'), 'field' => 'deactivated', 'class' => 'text-center', 'callback' => [Text::class, 'boolean'], ], 'c.phpenabled' => [ 'label' => lng('admin.phpenabled'), 'field' => 'phpenabled', 'class' => 'text-center', 'callback' => [Text::class, 'boolean'], ], 'c.perlenabled' => [ 'label' => lng('admin.perlenabled'), 'field' => 'perlenabled', 'class' => 'text-center', 'callback' => [Text::class, 'boolean'], ], 'c.dnsenabled' => [ 'label' => lng('admin.dnsenabled'), 'field' => 'dnsenabled', 'class' => 'text-center', 'callback' => [Text::class, 'boolean'], ], 'c.theme' => [ 'label' => lng('panel.theme'), 'field' => 'theme', ], 'c.logviewenabled' => [ 'label' => lng('admin.logviewenabled'), 'field' => 'logviewenabled', 'class' => 'text-center', 'callback' => [Text::class, 'boolean'], ], 'api_allowed' => [ 'label' => lng('usersettings.api_allowed.title'), 'field' => 'api_allowed', 'class' => 'text-center', 'callback' => [Text::class, 'boolean'], ], ], 'visible_columns' => Listing::getVisibleColumnsForListing('customer_list', [ 'c.name', 'c.loginname', 'a.loginname', 'c.email', 'c.diskspace', 'c.traffic', ]), 'actions' => [ 'unlock' => [ 'icon' => 'fa fa-unlock', 'title' => lng('panel.unlock'), 'class' => 'btn-outline-secondary', 'href' => [ 'section' => 'customers', 'page' => 'customers', 'action' => 'unlock', 'id' => ':customerid' ], 'visible' => [Customer::class, 'isLocked'] ], 'edit' => [ 'icon' => 'fa fa-edit', 'title' => lng('panel.edit'), 'href' => [ 'section' => 'customers', 'page' => 'customers', 'action' => 'edit', 'id' => ':customerid' ], ], 'delete' => [ 'icon' => 'fa fa-trash', 'title' => lng('panel.delete'), 'class' => 'btn-danger', 'href' => [ 'section' => 'customers', 'page' => 'customers', 'action' => 'delete', 'id' => ':customerid' ], ], ], 'format_callback' => [ [Style::class, 'resultCustomerLockedOrDeactivated'] ] ] ];