+ /**
+ * Set up sort possibilities; one could argue that this is best
+ * placed in the template, but most template authors won't understand
+ * or need to understand it, so some advanced templates can override
+ * it if they do something different.
+ */
+ if (!($aTemplate['sort'] & SQSORT_THREAD) && $aTemplate['enablesort']) {
+ $aTemplate['aSortSupported']
+ = array(SQM_COL_SUBJ => array(SQSORT_SUBJ_ASC , SQSORT_SUBJ_DESC),
+ SQM_COL_DATE => array(SQSORT_DATE_DESC , SQSORT_DATE_ASC),
+ SQM_COL_INT_DATE => array(SQSORT_INT_DATE_DESC, SQSORT_INT_DATE_ASC),
+ SQM_COL_FROM => array(SQSORT_FROM_ASC , SQSORT_FROM_DESC),
+ SQM_COL_TO => array(SQSORT_TO_ASC , SQSORT_TO_DESC),
+ SQM_COL_CC => array(SQSORT_CC_ASC , SQSORT_CC_DESC),
+ SQM_COL_SIZE => array(SQSORT_SIZE_ASC , SQSORT_SIZE_DESC));
+ } else {
+ $aTemplate['aSortSupported'] = array();
+ }
+
+
+ /**
+ * Figure out which columns should serve as labels for checkbox:
+ * we try to grab the two columns before and after the checkbox,
+ * except the subject column, since it is the link that opens
+ * the message view
+ *
+ * if $javascript_on is set, then the highlighting code takes
+ * care of this; just skip it
+ *
+ * This code also might be more appropriate in a template file, but
+ * we are moving this complex stuff out of the way of template
+ * authors; advanced template sets are always free to override
+ * the resultant values.
+ *
+ */
+ $show_label_columns = array();
+ $index_order_part = array();
+ if (!($aTemplate['javascript_on'] && $aTemplate['fancy_index_highlite'])) {
+ $get_next_two = 0;
+ $last_order_part = 0;
+ $last_last_order_part = 0;
+ foreach ($aTemplate['aOrder'] as $index_order_part) {
+ if ($index_order_part == SQM_COL_CHECK) {
+ $get_next_two = 1;
+ if ($last_last_order_part != SQM_COL_SUBJ)
+ $show_label_columns[] = $last_last_order_part;
+ if ($last_order_part != SQM_COL_SUBJ)
+ $show_label_columns[] = $last_order_part;
+
+ } else if ($get_next_two > 0 && $get_next_two < 3 && $index_order_part != SQM_COL_SUBJ) {
+ $show_label_columns[] = $index_order_part;
+ $get_next_two++;
+ }
+ $last_last_order_part = $last_order_part;
+ $last_order_part = $index_order_part;
+ }
+ }
+ $aTemplate['show_label_columns'] = $show_label_columns;
+
+