$tab_orderby, 'tab_sort' => $tab_sort, ]; $admin_tabs_management_page_url = generateURL($admin_tabs_management_page, $request_params); // [Action] Create new record $new_tab_name = trim(getval('new_tab_name', '')); if ($new_tab_name !== '' && enforcePostRequest(false)) { $new_tab_ref = create_tab(['name' => $new_tab_name]); if ($new_tab_ref !== false) { redirect($admin_tabs_management_page_url); } $admin_tabs_management_error = "{$lang['error_fail_save']} -- $new_tab_name"; } // [Paging functionality] $per_page = (int) getval('per_page', $default_perpage_list, true); $list_display_array[] = $default_perpage_list; $list_display_array[] = $default_perpage; if ($per_page === 99999) { // all results option - see render_table() $list_display_array['all'] = 99999; $allow_reorder = true; // When viewing all, switch to order by the "order_by" column since we also enabled re-ordering $tab_orderby = 'order_by'; $tab_sort = 'ASC'; $request_params = []; $admin_tabs_management_page_url = generateURL($admin_tabs_management_page, $request_params); } $list_display_array = array_unique($list_display_array); natsort($list_display_array); $per_page = in_array($per_page, $list_display_array) ? $per_page : $default_perpage; rs_setcookie('per_page', $per_page); $offset = (int) getval('offset', 0, true); $tab_records = get_tabs_with_usage_count([ 'order_by' => [$tab_orderby, $tab_sort], 'limit' => ['per_page' => $per_page, 'offset' => $offset], ]); $tabsfound = count($tab_records["data"]) > 0; if (!$tabsfound) { // No results, go to last page $offset = floor(($tab_records['total'] - 1) / $per_page) * $per_page; $tab_records = get_tabs_with_usage_count([ 'order_by' => [$tab_orderby, $tab_sort], 'limit' => ['per_page' => $per_page, 'offset' => $offset], ]); } $totalpages = ceil($tab_records['total'] / $per_page); $curpage = floor($offset / $per_page) + 1; $table_info = [ 'class' => 'SystemTabs', 'headers' => [ 'reorder_handle' => ['name' => '', 'sortable' => false, 'html' => true], 'ref' => ['name' => $lang['property-reference'], 'sortable' => !isset($allow_reorder)], 'name' => ['name' => $lang['name'], 'sortable' => false, 'html' => true, 'width' => '50%'], 'usage' => ['name' => $lang['usage'], 'sortable' => false], 'tools' => ['name' => $lang['tools'], 'sortable' => false, 'width' => '20%'] ], 'orderbyname' => 'tab_orderby', 'orderby' => $tab_orderby, 'sortname' => 'tab_sort', 'sort' => $tab_sort, 'defaulturl' => $admin_tabs_management_page, 'params' => $request_params, 'pager' => [ 'current' => $curpage, 'total' => $totalpages, 'per_page' => $per_page, ], 'data' => [], ]; foreach ($tab_records['data'] as $tab_record) { $tab_record['reorder_handle'] = isset($allow_reorder) ? '' : ''; $tab_record['name'] = sprintf( '%s', escape(i18n_get_translated($tab_record['name'])), escape($tab_record['ref']), escape($tab_record['name']) ); $tab_record['usage'] = sprintf( '%s %s, %s %s', $tab_record['usage_rtf'], mb_strtolower($lang['admin_resource_type_fields']), $tab_record['usage_rt'], mb_strtolower($lang['resourcetypes']) ); // Allow users to delete tabs except the Default one which is always ID #1 (created by dbstruct). if ($tab_record['ref'] > 1) { $tab_record['tools'] = [ [ 'icon' => 'fa fa-fw fa-trash', 'text' => $lang['action-delete'], 'url' => '#', 'modal' => false, 'onclick' => "return delete_tabs(this, [{$tab_record['ref']}]);", ], ]; } $tab_record['tools'][] = [ 'icon' => 'fa fa-fw fa-edit', 'text' => $lang['action-edit'], 'url' => '#', 'modal' => false, 'onclick' => "return update_tab(this, {$tab_record['ref']}, \"init_edit\");" ]; // Save & Cancel buttons for when editing a tab record $tab_record['tools'][] = [ 'icon' => 'fa fa-solid fa-xmark', 'text' => $lang['cancel'], 'url' => '#', 'url:class' => 'DisplayNone', 'modal' => false, 'onclick' => "return update_tab(this, {$tab_record['ref']}, \"cancel\");" ]; $tab_record['tools'][] = [ 'icon' => 'fa fa-regular fa-floppy-disk', 'text' => $lang['save'], 'url' => '#', 'url:class' => 'DisplayNone', 'modal' => false, 'onclick' => "return update_tab(this, {$tab_record['ref']}, \"save\");" ]; $table_info['data'][] = $tab_record; } include '../../include/header.php'; ?>

$lang['systemsetup'], 'href' => "{$baseurl_short}pages/admin/admin_home.php"], ['title' => $lang['system_tabs']], ]); ?>