Chris@76: Chris@76:
'; Chris@76: Chris@76: // Show the title of the table (if any). Chris@76: if (!empty($cur_list['title'])) Chris@76: echo ' Chris@76:
Chris@76:

Chris@76: ', $cur_list['title'], ' Chris@76:

Chris@76:
'; Chris@76: // This is for the old style menu with the arrows "> Test | Test 1" Chris@76: if (empty($settings['use_tabs']) && isset($cur_list['list_menu'], $cur_list['list_menu']['show_on']) && ($cur_list['list_menu']['show_on'] == 'both' || $cur_list['list_menu']['show_on'] == 'top')) Chris@76: template_create_list_menu($cur_list['list_menu'], 'top'); Chris@76: Chris@76: if (isset($cur_list['additional_rows']['top_of_list'])) Chris@76: template_additional_rows('top_of_list', $cur_list); Chris@76: Chris@76: if (isset($cur_list['additional_rows']['after_title'])) Chris@76: { Chris@76: echo ' Chris@76:
'; Chris@76: template_additional_rows('after_title', $cur_list); Chris@76: echo ' Chris@76:
'; Chris@76: } Chris@76: Chris@76: if (!empty($cur_list['items_per_page']) || isset($cur_list['additional_rows']['bottom_of_list'])) Chris@76: { Chris@76: echo ' Chris@76:
'; Chris@76: Chris@76: // Show the page index (if this list doesn't intend to show all items). Chris@76: if (!empty($cur_list['items_per_page'])) Chris@76: echo ' Chris@76:
Chris@76:
', $txt['pages'], ': ', $cur_list['page_index'], '
Chris@76:
'; Chris@76: Chris@76: if (isset($cur_list['additional_rows']['above_column_headers'])) Chris@76: { Chris@76: echo ' Chris@76:
'; Chris@76: Chris@76: template_additional_rows('above_column_headers', $cur_list); Chris@76: Chris@76: echo ' Chris@76:
'; Chris@76: } Chris@76: Chris@76: echo ' Chris@76:
'; Chris@76: } Chris@76: Chris@76: echo ' Chris@76: '; Chris@76: Chris@76: // Show the column headers. Chris@76: $header_count = count($cur_list['headers']); Chris@76: if (!($header_count < 2 && empty($cur_list['headers'][0]['label']))) Chris@76: { Chris@76: echo ' Chris@76: Chris@76: '; Chris@76: Chris@76: // Loop through each column and add a table header. Chris@76: $i = 0; Chris@76: foreach ($cur_list['headers'] as $col_header) Chris@76: { Chris@76: $i ++; Chris@76: if (empty($col_header['class']) && $i == 1) Chris@76: $col_header['class'] = 'first_th'; Chris@76: elseif (empty($col_header['class']) && $i == $header_count) Chris@76: $col_header['class'] = 'last_th'; Chris@76: Chris@76: echo ' Chris@76: '; Chris@76: } Chris@76: Chris@76: echo ' Chris@76: Chris@76: Chris@76: '; Chris@76: } Chris@76: Chris@76: // Show a nice message informing there are no items in this list. Chris@76: if (empty($cur_list['rows']) && !empty($cur_list['no_items_label'])) Chris@76: echo ' Chris@76: Chris@76: Chris@76: '; Chris@76: Chris@76: // Show the list rows. Chris@76: elseif (!empty($cur_list['rows'])) Chris@76: { Chris@76: $alternate = false; Chris@76: foreach ($cur_list['rows'] as $id => $row) Chris@76: { Chris@76: echo ' Chris@76: '; Chris@76: Chris@76: foreach ($row as $row_data) Chris@76: echo ' Chris@76: ', $row_data['value'], ''; Chris@76: Chris@76: echo ' Chris@76: '; Chris@76: Chris@76: $alternate = !$alternate; Chris@76: } Chris@76: } Chris@76: Chris@76: echo ' Chris@76: Chris@76:
', empty($col_header['href']) ? '' : '', empty($col_header['label']) ? ' ' : $col_header['label'], empty($col_header['href']) ? '' : '', empty($col_header['sort_image']) ? '' : ' ', '
', $cur_list['no_items_label'], '
'; Chris@76: Chris@76: if (!empty($cur_list['items_per_page']) || isset($cur_list['additional_rows']['below_table_data']) || isset($cur_list['additional_rows']['bottom_of_list'])) Chris@76: { Chris@76: echo ' Chris@76:
'; Chris@76: Chris@76: // Show the page index (if this list doesn't intend to show all items). Chris@76: if (!empty($cur_list['items_per_page'])) Chris@76: echo ' Chris@76:
Chris@76:
', $txt['pages'], ': ', $cur_list['page_index'], '
Chris@76:
'; Chris@76: Chris@76: if (isset($cur_list['additional_rows']['below_table_data'])) Chris@76: { Chris@76: echo ' Chris@76:
'; Chris@76: Chris@76: template_additional_rows('below_table_data', $cur_list); Chris@76: Chris@76: echo ' Chris@76:
'; Chris@76: } Chris@76: Chris@76: if (isset($cur_list['additional_rows']['bottom_of_list'])) Chris@76: { Chris@76: echo ' Chris@76:
'; Chris@76: Chris@76: template_additional_rows('bottom_of_list', $cur_list); Chris@76: Chris@76: echo ' Chris@76:
'; Chris@76: } Chris@76: Chris@76: echo ' Chris@76:
'; Chris@76: } Chris@76: Chris@76: if (isset($cur_list['form'])) Chris@76: { Chris@76: foreach ($cur_list['form']['hidden_fields'] as $name => $value) Chris@76: echo ' Chris@76: '; Chris@76: Chris@76: echo ' Chris@76:
Chris@76: '; Chris@76: } Chris@76: Chris@76: // Tabs at the bottom. Usually bottom alligned. Chris@76: if (!empty($settings['use_tabs']) && isset($cur_list['list_menu'], $cur_list['list_menu']['show_on']) && ($cur_list['list_menu']['show_on'] == 'both' || $cur_list['list_menu']['show_on'] == 'bottom')) Chris@76: template_create_list_menu($cur_list['list_menu'], 'bottom'); Chris@76: Chris@76: if (isset($cur_list['javascript'])) Chris@76: echo ' Chris@76: '; Chris@76: } Chris@76: Chris@76: function template_additional_rows($row_position, $cur_list) Chris@76: { Chris@76: global $context, $settings, $options; Chris@76: Chris@76: foreach ($cur_list['additional_rows'][$row_position] as $row) Chris@76: echo ' Chris@76:
', $row['value'], '
'; Chris@76: } Chris@76: Chris@76: function template_create_list_menu($list_menu, $direction = 'top') Chris@76: { Chris@76: global $context, $settings; Chris@76: Chris@76: /** Chris@76: // This is use if you want your generic lists to have tabs. Chris@76: $cur_list['list_menu'] = array( Chris@76: // This is the style to use. Tabs or Buttons (Text 1 | Text 2). Chris@76: // By default tabs are selected if not set. Chris@76: // The main difference between tabs and buttons is that tabs get highlighted if selected. Chris@76: // If style is set to buttons and use tabs is diabled then we change the style to old styled tabs. Chris@76: 'style' => 'tabs', Chris@76: // The posisiton of the tabs/buttons. Left or Right. By default is set to left. Chris@76: 'position' => 'left', Chris@76: // This is used by the old styled menu. We *need* to know the total number of columns to span. Chris@76: 'columns' => 0, Chris@76: // This gives you the option to show tabs only at the top, bottom or both. Chris@76: // By default they are just shown at the top. Chris@76: 'show_on' => 'top', Chris@76: // Links. This is the core of the array. It has all the info that we need. Chris@76: 'links' => array( Chris@76: 'name' => array( Chris@76: // This will tell use were to go when they click it. Chris@76: 'href' => $scripturl . '?action=theaction', Chris@76: // The name that you want to appear for the link. Chris@76: 'label' => $txt['name'], Chris@76: // If we use tabs instead of buttons we highlight the current tab. Chris@76: // Must use conditions to determine if its selected or not. Chris@76: 'is_selected' => isset($_REQUEST['name']), Chris@76: ), Chris@76: ), Chris@76: ); Chris@76: */ Chris@76: Chris@76: // Are we using right-to-left orientation? Chris@76: $first = $context['right_to_left'] ? 'last' : 'first'; Chris@76: $last = $context['right_to_left'] ? 'first' : 'last'; Chris@76: Chris@76: // Tabs take preference over buttons in certain cases. Chris@76: if (empty($settings['use_tabs']) && $list_menu['style'] == 'button') Chris@76: $list_menu['style'] = 'tabs'; Chris@76: Chris@76: if (!isset($list_menu['style']) || isset($list_menu['style']) && $list_menu['style'] == 'tabs') Chris@76: { Chris@76: if (!empty($settings['use_tabs'])) Chris@76: { Chris@76: echo ' Chris@76: Chris@76: ', $list_menu['position'] == 'right' ? ' Chris@76: ' : '', ' Chris@76: ', $list_menu['position'] == 'left' ? ' Chris@76: ' : '', ' Chris@76: Chris@76:
  Chris@76: Chris@76: Chris@76: '; Chris@76: Chris@76: foreach ($list_menu['links'] as $link) Chris@76: { Chris@76: if ($link['is_selected']) Chris@76: echo ' Chris@76: Chris@76: Chris@76: '; Chris@76: else Chris@76: echo ' Chris@76: '; Chris@76: } Chris@76: Chris@76: echo ' Chris@76: Chris@76: Chris@76:
   Chris@76: ', $link['label'], ' Chris@76:   Chris@76: ', $link['label'], ' Chris@76:  
Chris@76:
 
'; Chris@76: } Chris@76: else Chris@76: { Chris@76: echo ' Chris@76: Chris@76: '; Chris@76: Chris@76: $links = array(); Chris@76: foreach ($list_menu['links'] as $link) Chris@76: $links[] = ($link['is_selected'] ? '> ' : '') . '' . $link['label'] . ''; Chris@76: Chris@76: echo ' Chris@76: ', implode(' | ', $links), ' Chris@76: Chris@76: '; Chris@76: } Chris@76: } Chris@76: elseif (isset($list_menu['style']) && $list_menu['style'] == 'buttons') Chris@76: { Chris@76: $links = array(); Chris@76: foreach ($list_menu['links'] as $link) Chris@76: $links[] = '' . $link['label'] . ''; Chris@76: Chris@76: echo ' Chris@76: Chris@76: ', $list_menu['position'] == 'right' ? ' Chris@76: ' : '', ' Chris@76: ', $list_menu['position'] == 'left' ? ' Chris@76: ' : '', ' Chris@76: Chris@76:
  Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76:
 ', implode('  |  ', $links), ' 
Chris@76:
 
'; Chris@76: } Chris@76: } Chris@76: Chris@76: ?>