diff --git a/admin_admins.php b/admin_admins.php index 63ca7081..50be2147 100644 --- a/admin_admins.php +++ b/admin_admins.php @@ -48,7 +48,7 @@ if (($page == 'admins' || $page == 'overview') && $userinfo['change_serversettin try { $admin_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/admin/tablelisting.admins.php'; $collection = (new Collection(Admins::class, $userinfo)) - ->withPagination($admin_list_data['admin_list']['columns']); + ->withPagination($admin_list_data['admin_list']['columns'], $admin_list_data['admin_list']['default_sorting']); } catch (Exception $e) { Response::dynamicError($e->getMessage()); } diff --git a/admin_cronjobs.php b/admin_cronjobs.php index 433a072a..9ad6e27d 100644 --- a/admin_cronjobs.php +++ b/admin_cronjobs.php @@ -43,7 +43,7 @@ if ($page == 'cronjobs' || $page == 'overview') { try { $cron_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/admin/tablelisting.cronjobs.php'; $collection = (new Collection(Cronjobs::class, $userinfo)) - ->withPagination($cron_list_data['cron_list']['columns']); + ->withPagination($cron_list_data['cron_list']['columns'], $cron_list_data['cron_list']['default_sorting']); } catch (Exception $e) { Response::dynamicError($e->getMessage()); } diff --git a/admin_customers.php b/admin_customers.php index be0f6245..284518c5 100644 --- a/admin_customers.php +++ b/admin_customers.php @@ -51,7 +51,7 @@ if (($page == 'customers' || $page == 'overview') && $userinfo['customers'] != ' try { $customer_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/admin/tablelisting.customers.php'; $collection = (new Collection(Customers::class, $userinfo, ['show_usages' => true])) - ->withPagination($customer_list_data['customer_list']['columns']); + ->withPagination($customer_list_data['customer_list']['columns'], $customer_list_data['customer_list']['default_sorting']); if ($userinfo['change_serversettings']) { $collection->has('admin', Admins::class, 'adminid', 'adminid'); } diff --git a/admin_domains.php b/admin_domains.php index f9ab0249..3ce65138 100644 --- a/admin_domains.php +++ b/admin_domains.php @@ -57,7 +57,7 @@ if ($page == 'domains' || $page == 'overview') { $domain_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/admin/tablelisting.domains.php'; $collection = (new Collection(Domains::class, $userinfo)) ->has('customer', Customers::class, 'customerid', 'customerid') - ->withPagination($domain_list_data['domain_list']['columns']); + ->withPagination($domain_list_data['domain_list']['columns'], $domain_list_data['domain_list']['default_sorting']); } catch (Exception $e) { Response::dynamicError($e->getMessage()); } diff --git a/admin_ipsandports.php b/admin_ipsandports.php index 5f06c444..c469171d 100644 --- a/admin_ipsandports.php +++ b/admin_ipsandports.php @@ -45,7 +45,7 @@ if ($page == 'ipsandports' || $page == 'overview') { try { $ipsandports_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/admin/tablelisting.ipsandports.php'; $collection = (new Collection(IpsAndPorts::class, $userinfo)) - ->withPagination($ipsandports_list_data['ipsandports_list']['columns']); + ->withPagination($ipsandports_list_data['ipsandports_list']['columns'], $ipsandports_list_data['ipsandports_list']['default_sorting']); } catch (Exception $e) { Response::dynamicError($e->getMessage()); } diff --git a/admin_logger.php b/admin_logger.php index dce4bf88..28fb9638 100644 --- a/admin_logger.php +++ b/admin_logger.php @@ -38,8 +38,7 @@ if ($page == 'log' && $userinfo['change_serversettings'] == '1') { try { $syslog_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/tablelisting.syslog.php'; $collection = (new Collection(SysLog::class, $userinfo)) - ->addParam(['sql_orderby' => ['date' => 'DESC']]) - ->withPagination($syslog_list_data['syslog_list']['columns']); + ->withPagination($syslog_list_data['syslog_list']['columns'], $syslog_list_data['syslog_list']['default_sorting']); } catch (Exception $e) { Response::dynamicError($e->getMessage()); } diff --git a/admin_mysqlserver.php b/admin_mysqlserver.php index 5d0d1db3..dac500ae 100644 --- a/admin_mysqlserver.php +++ b/admin_mysqlserver.php @@ -45,7 +45,7 @@ if ($page == 'mysqlserver' || $page == 'overview') { try { $mysqlserver_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/admin/tablelisting.mysqlserver.php'; $collection = (new Collection(MysqlServer::class, $userinfo)) - ->withPagination($mysqlserver_list_data['mysqlserver_list']['columns']); + ->withPagination($mysqlserver_list_data['mysqlserver_list']['columns'], $mysqlserver_list_data['mysqlserver_list']['default_sorting']); } catch (Exception $e) { Response::dynamicError($e->getMessage()); } diff --git a/admin_phpsettings.php b/admin_phpsettings.php index 67e88dc1..a374037f 100644 --- a/admin_phpsettings.php +++ b/admin_phpsettings.php @@ -44,7 +44,7 @@ if ($page == 'overview') { try { $phpconf_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/admin/tablelisting.phpconfigs.php'; $collection = (new Collection(PhpSettings::class, $userinfo, ['with_subdomains' => true])) - ->withPagination($phpconf_list_data['phpconf_list']['columns']); + ->withPagination($phpconf_list_data['phpconf_list']['columns'], $phpconf_list_data['phpconf_list']['default_sorting']); } catch (Exception $e) { Response::dynamicError($e->getMessage()); } @@ -180,7 +180,7 @@ if ($page == 'overview') { try { $fpmconf_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/admin/tablelisting.fpmconfigs.php'; $collection = (new Collection(FpmDaemons::class, $userinfo)) - ->withPagination($fpmconf_list_data['fpmconf_list']['columns']); + ->withPagination($fpmconf_list_data['fpmconf_list']['columns'], $fpmconf_list_data['fpmconf_list']['default_sorting']); } catch (Exception $e) { Response::dynamicError($e->getMessage()); } diff --git a/admin_plans.php b/admin_plans.php index 995ad75a..119b7e11 100644 --- a/admin_plans.php +++ b/admin_plans.php @@ -48,7 +48,7 @@ if ($page == '' || $page == 'overview') { try { $plan_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/admin/tablelisting.plans.php'; $collection = (new Collection(HostingPlans::class, $userinfo)) - ->withPagination($plan_list_data['plan_list']['columns']); + ->withPagination($plan_list_data['plan_list']['columns'], $plan_list_data['plan_list']['default_sorting']); } catch (Exception $e) { Response::dynamicError($e->getMessage()); } diff --git a/customer_domains.php b/customer_domains.php index 1bd5889d..db61d76d 100644 --- a/customer_domains.php +++ b/customer_domains.php @@ -57,8 +57,7 @@ if ($page == 'overview' || $page == 'domains') { try { $domain_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/customer/tablelisting.domains.php'; $collection = (new Collection(SubDomains::class, $userinfo)) - //->addParam(['sql_search' => ['d.parentdomainid' => $parentdomain_id]]) - ->withPagination($domain_list_data['domain_list']['columns']); + ->withPagination($domain_list_data['domain_list']['columns'], $domain_list_data['domain_list']['default_sorting']); $parentDomainCollection = (new Collection(SubDomains::class, $userinfo, ['sql_search' => ['d.parentdomainid' => 0]])); } catch (Exception $e) { Response::dynamicError($e->getMessage()); diff --git a/customer_email.php b/customer_email.php index 27244dd2..abb13d04 100644 --- a/customer_email.php +++ b/customer_email.php @@ -55,7 +55,7 @@ if ($page == 'overview' || $page == 'emails') { try { $email_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/customer/tablelisting.emails.php'; $collection = (new Collection(Emails::class, $userinfo)) - ->withPagination($email_list_data['email_list']['columns']); + ->withPagination($email_list_data['email_list']['columns'], $email_list_data['email_list']['default_sorting']); } catch (Exception $e) { Response::dynamicError($e->getMessage()); } diff --git a/customer_extras.php b/customer_extras.php index dda10bb7..f08b379d 100644 --- a/customer_extras.php +++ b/customer_extras.php @@ -63,7 +63,7 @@ if ($page == 'overview' || $page == 'htpasswds') { try { $htpasswd_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/customer/tablelisting.htpasswd.php'; $collection = (new Collection(DirProtections::class, $userinfo)) - ->withPagination($htpasswd_list_data['htpasswd_list']['columns']); + ->withPagination($htpasswd_list_data['htpasswd_list']['columns'], $htpasswd_list_data['htpasswd_list']['default_sorting']); } catch (Exception $e) { Response::dynamicError($e->getMessage()); } @@ -180,7 +180,7 @@ if ($page == 'overview' || $page == 'htpasswds') { try { $htaccess_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/customer/tablelisting.htaccess.php'; $collection = (new Collection(DirOptions::class, $userinfo)) - ->withPagination($htaccess_list_data['htaccess_list']['columns']); + ->withPagination($htaccess_list_data['htaccess_list']['columns'], $htaccess_list_data['htaccess_list']['default_sorting']); } catch (Exception $e) { Response::dynamicError($e->getMessage()); } diff --git a/customer_ftp.php b/customer_ftp.php index aa81167f..6ebaa789 100644 --- a/customer_ftp.php +++ b/customer_ftp.php @@ -51,7 +51,7 @@ if ($page == 'overview' || $page == 'accounts') { try { $ftp_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/customer/tablelisting.ftps.php'; $collection = (new Collection(Ftps::class, $userinfo)) - ->withPagination($ftp_list_data['ftp_list']['columns']); + ->withPagination($ftp_list_data['ftp_list']['columns'], $ftp_list_data['ftp_list']['default_sorting']); } catch (Exception $e) { Response::dynamicError($e->getMessage()); } diff --git a/customer_logger.php b/customer_logger.php index 70be98cb..0b7cf0d6 100644 --- a/customer_logger.php +++ b/customer_logger.php @@ -43,8 +43,7 @@ if ($page == 'log') { try { $syslog_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/tablelisting.syslog.php'; $collection = (new Collection(SysLog::class, $userinfo)) - ->addParam(['sql_orderby' => ['date' => 'DESC']]) - ->withPagination($syslog_list_data['syslog_list']['columns']); + ->withPagination($syslog_list_data['syslog_list']['columns'], $syslog_list_data['syslog_list']['default_sorting']); } catch (Exception $e) { Response::dynamicError($e->getMessage()); } diff --git a/customer_mysql.php b/customer_mysql.php index 44c74ae1..3a00ce2c 100644 --- a/customer_mysql.php +++ b/customer_mysql.php @@ -60,7 +60,7 @@ if ($page == 'overview' || $page == 'mysqls') { try { $mysql_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/customer/tablelisting.mysqls.php'; $collection = (new Collection(Mysqls::class, $userinfo)) - ->withPagination($mysql_list_data['mysql_list']['columns']); + ->withPagination($mysql_list_data['mysql_list']['columns'], $mysql_list_data['mysql_list']['default_sorting']); } catch (Exception $e) { Response::dynamicError($e->getMessage()); } diff --git a/dns_editor.php b/dns_editor.php index 079c2a25..8c2c2c42 100644 --- a/dns_editor.php +++ b/dns_editor.php @@ -104,7 +104,7 @@ if ($action == 'add_record' && !empty($_POST)) { try { $dns_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/tablelisting.dns.php'; $collection = (new Collection(DomainZones::class, $userinfo, ['id' => $domain_id])) - ->withPagination($dns_list_data['dns_list']['columns']); + ->withPagination($dns_list_data['dns_list']['columns'], $dns_list_data['dns_list']['default_sorting']); } catch (Exception $e) { Response::dynamicError($e->getMessage()); } diff --git a/lib/Froxlor/UI/Collection.php b/lib/Froxlor/UI/Collection.php index 6d5ef9d9..3d870661 100644 --- a/lib/Froxlor/UI/Collection.php +++ b/lib/Froxlor/UI/Collection.php @@ -109,7 +109,7 @@ class Collection return $this; } - public function withPagination(array $columns): Collection + public function withPagination(array $columns, array $default_sorting = []): Collection { // Get only searchable columns /* @@ -122,7 +122,7 @@ class Collection */ // Prepare pagination - $this->pagination = new Pagination($columns, $this->count(), (int)Settings::Get('panel.paging')); + $this->pagination = new Pagination($columns, $this->count(), (int)Settings::Get('panel.paging'), $default_sorting); $this->params = array_merge($this->params, $this->pagination->getApiCommandParams()); return $this; diff --git a/lib/Froxlor/UI/Pagination.php b/lib/Froxlor/UI/Pagination.php index 5e32abab..d7babfc4 100644 --- a/lib/Froxlor/UI/Pagination.php +++ b/lib/Froxlor/UI/Pagination.php @@ -54,8 +54,9 @@ class Pagination * @param array $fields * @param int $total_entries * @param int $perPage + * @param array $default_sorting array of key=sortfield,value=sortorder for default sorting */ - public function __construct(array $fields = [], int $total_entries = 0, int $perPage = 20) + public function __construct(array $fields = [], int $total_entries = 0, int $perPage = 20, array $default_sorting = []) { $this->fields = $fields; $this->entries = $total_entries; @@ -87,8 +88,14 @@ class Pagination $this->sortfield = $_REQUEST['sortfield']; $this->addOrderBy($this->sortfield, $this->sortorder); } else { + // add default ordering by given order + if (!empty($default_sorting)) { + $this->sortfield = array_key_first($default_sorting); + $this->sortorder = array_shift($default_sorting) ?? $this->sortorder; + $this->addOrderBy($this->sortfield, $this->sortorder); + } // add default ordering by given fields - if (count($fields) > 0) { + if (count($fields) > 0 && empty($this->sortfield)) { $orderfields = array_keys($fields); $this->sortfield = $orderfields[0]; $this->addOrderBy($orderfields[0], $this->sortorder); diff --git a/lib/tablelisting/admin/tablelisting.admins.php b/lib/tablelisting/admin/tablelisting.admins.php index 3980cca0..81a1ab58 100644 --- a/lib/tablelisting/admin/tablelisting.admins.php +++ b/lib/tablelisting/admin/tablelisting.admins.php @@ -36,6 +36,7 @@ return [ 'title' => lng('admin.admin'), 'icon' => 'fa-solid fa-user', 'self_overview' => ['section' => 'admins', 'page' => 'admins'], + 'default_sorting' => ['loginname' => 'asc'], 'columns' => [ 'adminid' => [ 'label' => 'ID', diff --git a/lib/tablelisting/admin/tablelisting.cronjobs.php b/lib/tablelisting/admin/tablelisting.cronjobs.php index 4c2d7d77..209adf49 100644 --- a/lib/tablelisting/admin/tablelisting.cronjobs.php +++ b/lib/tablelisting/admin/tablelisting.cronjobs.php @@ -30,6 +30,7 @@ return [ 'cron_list' => [ 'title' => lng('admin.cron.cronsettings'), 'icon' => 'fa-solid fa-clock-rotate-left', + 'default_sorting' => ['c.id' => 'asc'], 'columns' => [ 'c.desc_lng_key' => [ 'label' => lng('cron.description'), diff --git a/lib/tablelisting/admin/tablelisting.customers.php b/lib/tablelisting/admin/tablelisting.customers.php index 4b2bc664..f742f94c 100644 --- a/lib/tablelisting/admin/tablelisting.customers.php +++ b/lib/tablelisting/admin/tablelisting.customers.php @@ -36,6 +36,7 @@ return [ 'description' => lng('admin.customers_list_desc'), 'icon' => 'fa-solid fa-user', 'self_overview' => ['section' => 'customers', 'page' => 'customers'], + 'default_sorting' => ['c.name' => 'asc'], 'columns' => [ 'c.customerid' => [ 'label' => 'ID', diff --git a/lib/tablelisting/admin/tablelisting.domains.php b/lib/tablelisting/admin/tablelisting.domains.php index fe9e60a1..d0fe2486 100644 --- a/lib/tablelisting/admin/tablelisting.domains.php +++ b/lib/tablelisting/admin/tablelisting.domains.php @@ -35,6 +35,7 @@ return [ 'icon' => 'fa-solid fa-globe', 'empty_msg' => $customerCollection->count() == 0 ? lng('admin.domain_nocustomeraddingavailable') : '', 'self_overview' => ['section' => 'domains', 'page' => 'domains'], + 'default_sorting' => ['d.domain_ace' => 'asc'], 'columns' => [ 'd.id' => [ 'label' => 'ID', diff --git a/lib/tablelisting/admin/tablelisting.filetemplates.php b/lib/tablelisting/admin/tablelisting.filetemplates.php index 1d175b9d..707b35c6 100644 --- a/lib/tablelisting/admin/tablelisting.filetemplates.php +++ b/lib/tablelisting/admin/tablelisting.filetemplates.php @@ -30,6 +30,7 @@ return [ 'title' => lng('admin.templates.filetemplates'), 'icon' => 'fa-solid fa-file-lines', 'self_overview' => ['section' => 'templates', 'page' => 'email'], + 'default_sorting' => ['template' => 'asc'], 'columns' => [ 'template' => [ 'label' => lng('admin.templates.action'), diff --git a/lib/tablelisting/admin/tablelisting.fpmconfigs.php b/lib/tablelisting/admin/tablelisting.fpmconfigs.php index 6e9ed049..9e7bd905 100644 --- a/lib/tablelisting/admin/tablelisting.fpmconfigs.php +++ b/lib/tablelisting/admin/tablelisting.fpmconfigs.php @@ -32,6 +32,7 @@ return [ 'title' => lng('menue.phpsettings.fpmdaemons'), 'icon' => 'fa-brands fa-php', 'self_overview' => ['section' => 'phpsettings', 'page' => 'fpmdaemons'], + 'default_sorting' => ['description' => 'asc'], 'columns' => [ 'id' => [ 'label' => 'ID', diff --git a/lib/tablelisting/admin/tablelisting.integrity.php b/lib/tablelisting/admin/tablelisting.integrity.php index d8e748b0..e53c1b04 100644 --- a/lib/tablelisting/admin/tablelisting.integrity.php +++ b/lib/tablelisting/admin/tablelisting.integrity.php @@ -32,6 +32,7 @@ return [ 'title' => lng('admin.integritycheck'), 'icon' => 'fa-solid fa-circle-check', 'self_overview' => ['section' => 'settings', 'page' => 'integritycheck'], + 'default_sorting' => ['displayid' => 'asc'], 'columns' => [ 'displayid' => [ 'label' => 'ID', diff --git a/lib/tablelisting/admin/tablelisting.ipsandports.php b/lib/tablelisting/admin/tablelisting.ipsandports.php index 33991aa5..47046c48 100644 --- a/lib/tablelisting/admin/tablelisting.ipsandports.php +++ b/lib/tablelisting/admin/tablelisting.ipsandports.php @@ -32,6 +32,7 @@ return [ 'title' => lng('admin.ipsandports.ipsandports'), 'icon' => 'fa-solid fa-ethernet', 'self_overview' => ['section' => 'ipsandports', 'page' => 'ipsandports'], + 'default_sorting' => ['ip' => 'asc'], 'columns' => [ 'ip' => [ 'label' => lng('admin.ipsandports.ip'), diff --git a/lib/tablelisting/admin/tablelisting.mailtemplates.php b/lib/tablelisting/admin/tablelisting.mailtemplates.php index 6186e719..768769c0 100644 --- a/lib/tablelisting/admin/tablelisting.mailtemplates.php +++ b/lib/tablelisting/admin/tablelisting.mailtemplates.php @@ -30,6 +30,7 @@ return [ 'title' => lng('admin.templates.templates'), 'icon' => 'fa-solid fa-envelope', 'self_overview' => ['section' => 'templates', 'page' => 'email'], + 'default_sorting' => ['template' => 'asc'], 'columns' => [ 'language' => [ 'label' => lng('login.language'), diff --git a/lib/tablelisting/admin/tablelisting.mysqlserver.php b/lib/tablelisting/admin/tablelisting.mysqlserver.php index 8d5a1088..53877395 100644 --- a/lib/tablelisting/admin/tablelisting.mysqlserver.php +++ b/lib/tablelisting/admin/tablelisting.mysqlserver.php @@ -31,6 +31,7 @@ return [ 'title' => lng('admin.mysqlserver.mysqlserver'), 'icon' => 'fa-solid fa-server', 'self_overview' => ['section' => 'mysqlserver', 'page' => 'mysqlserver'], + 'default_sorting' => ['caption' => 'asc'], 'columns' => [ 'id' => [ 'label' => lng('admin.mysqlserver.dbserver'), diff --git a/lib/tablelisting/admin/tablelisting.phpconfigs.php b/lib/tablelisting/admin/tablelisting.phpconfigs.php index 4b8ff864..207f90b4 100644 --- a/lib/tablelisting/admin/tablelisting.phpconfigs.php +++ b/lib/tablelisting/admin/tablelisting.phpconfigs.php @@ -33,6 +33,7 @@ return [ 'title' => lng('menue.phpsettings.maintitle'), 'icon' => 'fa-brands fa-php', 'self_overview' => ['section' => 'phpsettings', 'page' => 'overview'], + 'default_sorting' => ['c.description' => 'asc'], 'columns' => [ 'c.id' => [ 'label' => 'ID', diff --git a/lib/tablelisting/admin/tablelisting.plans.php b/lib/tablelisting/admin/tablelisting.plans.php index fd7c684e..a4e08ed2 100644 --- a/lib/tablelisting/admin/tablelisting.plans.php +++ b/lib/tablelisting/admin/tablelisting.plans.php @@ -31,6 +31,7 @@ return [ 'title' => lng('admin.plans.plans'), 'icon' => 'fa-solid fa-clipboard-list', 'self_overview' => ['section' => 'plans', 'page' => 'overview'], + 'default_sorting' => ['p.name' => 'asc'], 'columns' => [ 'p.id' => [ 'label' => 'ID', diff --git a/lib/tablelisting/customer/tablelisting.backups.php b/lib/tablelisting/customer/tablelisting.backups.php index d5cd5c61..1ccf3d10 100644 --- a/lib/tablelisting/customer/tablelisting.backups.php +++ b/lib/tablelisting/customer/tablelisting.backups.php @@ -32,6 +32,7 @@ return [ 'title' => lng('error.customerhasongoingbackupjob'), 'icon' => 'fa-solid fa-server', 'self_overview' => ['section' => 'extras', 'page' => 'backup'], + 'default_sorting' => ['destdir' => 'asc'], 'columns' => [ 'destdir' => [ 'label' => lng('panel.path'), diff --git a/lib/tablelisting/customer/tablelisting.domains.php b/lib/tablelisting/customer/tablelisting.domains.php index d7e94604..b837f5d1 100644 --- a/lib/tablelisting/customer/tablelisting.domains.php +++ b/lib/tablelisting/customer/tablelisting.domains.php @@ -33,6 +33,7 @@ return [ 'title' => lng('admin.domains'), 'icon' => 'fa-solid fa-globe', 'self_overview' => ['section' => 'domains', 'page' => 'domains'], + 'default_sorting' => ['d.domain_ace' => 'asc'], 'columns' => [ 'd.domain_ace' => [ 'label' => lng('domains.domainname'), diff --git a/lib/tablelisting/customer/tablelisting.emails.php b/lib/tablelisting/customer/tablelisting.emails.php index bd8151dc..59f45818 100644 --- a/lib/tablelisting/customer/tablelisting.emails.php +++ b/lib/tablelisting/customer/tablelisting.emails.php @@ -33,6 +33,7 @@ return [ 'title' => lng('menue.email.emails'), 'icon' => 'fa-solid fa-envelope', 'self_overview' => ['section' => 'email', 'page' => 'emails'], + 'default_sorting' => ['m.email_full' => 'asc'], 'columns' => [ 'm.email_full' => [ 'label' => lng('emails.emailaddress'), diff --git a/lib/tablelisting/customer/tablelisting.ftps.php b/lib/tablelisting/customer/tablelisting.ftps.php index b4812262..4eed75ea 100644 --- a/lib/tablelisting/customer/tablelisting.ftps.php +++ b/lib/tablelisting/customer/tablelisting.ftps.php @@ -32,6 +32,7 @@ return [ 'title' => lng('menue.ftp.accounts'), 'icon' => 'fa-solid fa-users', 'self_overview' => ['section' => 'ftp', 'page' => 'accounts'], + 'default_sorting' => ['username' => 'asc'], 'columns' => [ 'username' => [ 'label' => lng('login.username'), diff --git a/lib/tablelisting/customer/tablelisting.htaccess.php b/lib/tablelisting/customer/tablelisting.htaccess.php index c31d0f9e..c29adf42 100644 --- a/lib/tablelisting/customer/tablelisting.htaccess.php +++ b/lib/tablelisting/customer/tablelisting.htaccess.php @@ -32,6 +32,7 @@ return [ 'title' => lng('menue.extras.pathoptions'), 'icon' => 'fa-solid fa-folder', 'self_overview' => ['section' => 'extras', 'page' => 'htaccess'], + 'default_sorting' => ['path' => 'asc'], 'columns' => [ 'path' => [ 'label' => lng('panel.path'), diff --git a/lib/tablelisting/customer/tablelisting.htpasswd.php b/lib/tablelisting/customer/tablelisting.htpasswd.php index 09024b50..99e6328f 100644 --- a/lib/tablelisting/customer/tablelisting.htpasswd.php +++ b/lib/tablelisting/customer/tablelisting.htpasswd.php @@ -31,6 +31,7 @@ return [ 'title' => lng('menue.extras.directoryprotection'), 'icon' => 'fa-solid fa-lock', 'self_overview' => ['section' => 'extras', 'page' => 'htpasswds'], + 'default_sorting' => ['path' => 'asc'], 'columns' => [ 'username' => [ 'label' => lng('login.username'), diff --git a/lib/tablelisting/customer/tablelisting.mysqls.php b/lib/tablelisting/customer/tablelisting.mysqls.php index 132d0e1a..dc599f3b 100644 --- a/lib/tablelisting/customer/tablelisting.mysqls.php +++ b/lib/tablelisting/customer/tablelisting.mysqls.php @@ -32,6 +32,7 @@ return [ 'title' => lng('menue.mysql.databases'), 'icon' => 'fa-solid fa-database', 'self_overview' => ['section' => 'mysql', 'page' => 'mysqls'], + 'default_sorting' => ['databasename' => 'asc'], 'columns' => [ 'databasename' => [ 'label' => lng('mysql.databasename'), diff --git a/lib/tablelisting/tablelisting.sslcertificates.php b/lib/tablelisting/tablelisting.sslcertificates.php index bb468fc1..e2f84455 100644 --- a/lib/tablelisting/tablelisting.sslcertificates.php +++ b/lib/tablelisting/tablelisting.sslcertificates.php @@ -32,6 +32,7 @@ return [ 'title' => lng('domains.ssl_certificates'), 'icon' => 'fa-solid fa-shield', 'self_overview' => ['section' => 'domains', 'page' => 'sslcertificates'], + 'default_sorting' => ['domains.domain_ace' => 'asc'], 'columns' => [ 'd.domain' => [ 'label' => lng('domains.domainname'), diff --git a/lib/tablelisting/tablelisting.syslog.php b/lib/tablelisting/tablelisting.syslog.php index 2542a458..83846433 100644 --- a/lib/tablelisting/tablelisting.syslog.php +++ b/lib/tablelisting/tablelisting.syslog.php @@ -32,6 +32,7 @@ return [ 'title' => lng('menue.logger.logger'), 'icon' => 'fa-solid fa-file-lines', 'self_overview' => ['section' => 'logger', 'page' => 'log'], + 'default_sorting' => ['date' => 'desc'], 'columns' => [ 'date' => [ 'label' => lng('logger.date'), diff --git a/ssl_certificates.php b/ssl_certificates.php index 35a57d09..495a29b3 100644 --- a/ssl_certificates.php +++ b/ssl_certificates.php @@ -62,7 +62,7 @@ $log->logAction(FroxlorLogger::USR_ACTION, LOG_NOTICE, "viewed domains::ssl_cert try { $certificates_list_data = include_once dirname(__FILE__) . '/lib/tablelisting/tablelisting.sslcertificates.php'; $collection = (new Collection(Certificates::class, $userinfo)) - ->withPagination($certificates_list_data['sslcertificates_list']['columns']); + ->withPagination($certificates_list_data['sslcertificates_list']['columns'], $certificates_list_data['sslcertificates_list']['default_sorting']); if ($userinfo['adminsession'] == 1) { $collection->has('domains', Domains::class, 'domainid', 'id'); } else {