<?php
+/**********************************************************************
+ Copyright (C) FrontAccounting, LLC.
+ Released under the terms of the GNU General Public License, GPL,
+ as published by the Free Software Foundation, either version 3
+ of the License, or (at your option) any later version.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
+***********************************************************************/
//--------------------------------------------------------------------------------------------------
-function pager_link($link_text, $url)
+function pager_link($link_text, $url, $icon=false)
{
global $path_to_root;
- $link = access_string($link_text);
+ if (user_graphic_links() && $icon)
+ $link_text = set_icon($icon, $link_text);
$href = $path_to_root . $url;
- return "<a href='$href'$link[1]>" . $link[0] . "</a>";
+ return "<a href='$href'>" . $link_text . "</a>";
}
function navi_button($name, $value, $enabled=true, $icon = false) {
function navi_button_cell($name, $value, $enabled=true, $align='left') {
label_cell(navi_button($name, $value, $enabled), "align='$align'");
}
+
+
//-----------------------------------------------------------------------------
//
// Sql paged table view. Call this function inside form.
//
function display_db_pager(&$pager) {
- global $table_style, $use_popup_windows, $use_date_picker, $path_to_root;
+ global $path_to_root;
$pager->select_records();
div_start("_{$pager->name}_span");
$headers = array();
-//display_error(print_r($pager->columns,true));
+
foreach($pager->columns as $num_col=>$col) {
- if (isset($col['head'])) {
- if (!isset($col['ord']))
+ // record status control column is displayed only when control checkbox is on
+ if (isset($col['head']) && ($col['type']!='inactive' || get_post('show_inactive'))) {
+ if (!isset($col['ord']))
$headers[] = $col['head'];
else {
$icon = (($col['ord'] == 'desc') ? 'sort_desc.gif' :
}
}
/* show a table of records returned by the sql */
- start_table("$table_style width=95%");
+ start_table(TABLESTYLE, "width='$pager->width'");
table_header($headers);
if($pager->header_fun) { // if set header handler
$cc = 0; //row colour counter
foreach($pager->data as $line_no => $row) {
+ if ($pager->row_fun) {
+ if (function_exists($pager->row_fun)) {
+ $fn = $pager->row_fun;
+ $row = $fn($row);
+ }
+ }
+
$marker = $pager->marker;
if ($marker && $marker($row))
start_row("class='$pager->marker_class'");
} else
$cell = '';
}
-
switch($coltype) { // format column
+ case 'time':
+ label_cell($cell, "width='40'"); break;
case 'date':
- label_cell(sql2date($cell), "align='center'"); break;
+ label_cell(sql2date($cell), "align='center' nowrap"); break;
case 'dstamp': // time stamp displayed as date
- label_cell(sql2date(substr($cell, 0, 10)), "align='center'"); break;
+ label_cell(sql2date(substr($cell, 0, 10)), "align='center' nowrap"); break;
case 'tstamp': // time stamp - FIX user format
label_cell(sql2date(substr($cell, 0, 10)).
' '. substr($cell, 10), "align='center'"); break;
else
amount_cell($cell, false); break;
case 'qty':
- qty_cell($cell); break;
+ if ($cell=='')
+ label_cell('');
+ else
+ qty_cell($cell, false, isset($col['dec']) ? $col['dec'] : null); break;
+ case 'email':
+ email_cell($cell,isset( $col['align']) ? "align='" . $col['align'] . "'" : null);
+ break;
case 'rate':
- rate_cell($cell); break;
+ label_cell(number_format2($cell, user_exrate_dec()), "align=center"); break;
+ case 'inactive':
+ if(get_post('show_inactive'))
+ $pager->inactive_control_cell($row); break;
default:
-// case 'text':
if (isset( $col['align']))
label_cell($cell, "align='" . $col['align'] . "'");
else
end_row();
}
- end_table();
- start_table("$table_style align='center' class='navibar' width=95%");
- start_row();
+ start_row("class='navibar'");
+ $colspan = count($pager->columns);
+ $inact = @$pager->inactive_ctrl==true
+ ? ' '.checkbox(null, 'show_inactive', null, true). _("Show also Inactive") : '';
if($pager->rec_count) {
- $from = ($pager->curr_page-1)*$pager->page_len+1;
- $to = $from + $pager->page_len - 1;
- if ($to > $pager->rec_count)
- $to = $pager->rec_count;
- $all = $pager->rec_count;
- label_cell(sprintf( _('Records %d-%d of %d'), $from, $to, $all),
- "style='border:none'");
- echo "<td style='border:none'>";
+ echo "<td colspan=$colspan class='navibar' style='border:none;padding:3px;'>";
+ echo "<div style='float:right;'>";
$but_pref = $pager->name.'_page_';
- start_table("align='right'");
+ start_table();
start_row();
+ if (@$pager->inactive_ctrl)
+ submit('Update', _('Update'), true, '', null); // inactive update
echo navi_button_cell($but_pref.'first', _('First'), $pager->first_page, 'right');
echo navi_button_cell($but_pref.'prev', _('Prev'), $pager->prev_page,'right');
echo navi_button_cell($but_pref.'next', _('Next'), $pager->next_page,'right');
echo navi_button_cell($but_pref.'last', _('Last'), $pager->last_page, 'right');
end_row();
- end_table();
+ end_table();
+ echo "</div>";
+ $from = ($pager->curr_page-1)*$pager->page_len+1;
+ $to = $from + $pager->page_len - 1;
+ if ($to > $pager->rec_count)
+ $to = $pager->rec_count;
+ $all = $pager->rec_count;
+ echo sprintf( _('Records %d-%d of %d'), $from, $to, $all);
+ echo $inact;
echo "</td>";
} else {
- label_cell( _('No records'));
+ label_cell( _('No records') . $inact, "colspan=$colspan class='navibar'");
}
+
end_row();
+
end_table();
if (isset($pager->marker_txt))
}
-?>
\ No newline at end of file