. * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. * */ global $G_TABLE; global $G_CONTENT; global $HTTP_SESSION_VARS; global $HTTP_GET_VARS; if ( !is_object( $G_TABLE ) ) die ("Table object is required!"); $G_TABLE->GetSource(); //will use the templatePower class to render the table // G::LoadClass ('templatePower'); $tpl = new TemplatePower( PATH_TPL . 'paged-table.html' ); $tpl->prepare(); $tpl->assign( "STYLE_CSS" , STYLE_CSS ); $tpl->assign( "title" , $G_TABLE->title ); $orderpag = $HTTP_GET_VARS['order']; if($orderpag=="") { $orcad=""; } else { $orcad=$orderpag; } $curpage = $HTTP_GET_VARS['page']; if( $curpage == "" ) $curpage = 1; $res=(round(($curpage)/20)*20)+1; if ($res>$curpage) $HTTP_SESSION_VARS['COMIENZO'] = $res-20; else $HTTP_SESSION_VARS['COMIENZO']=$res; $HTTP_SESSION_VARS['FINAL']=$HTTP_SESSION_VARS['COMIENZO']+20; $totpages = 0; $HTTP_SESSION_VARS['TP'] = $G_TABLE->TotalCount(); $tcount = $HTTP_SESSION_VARS['TP']; $totpages = $HTTP_SESSION_VARS['TP']; $totpages = $totpages / $G_TABLE->rows_per_page; $totpages = round( $totpages, 0); if( ($totpages * $G_TABLE->rows_per_page) < $tcount ) $totpages++; if ($totpages == 0 ) $curpage = 0; $ntotwidth="0"; for( $ncount=0 ; $ncount < $G_TABLE->ColumnCount() ; $ncount++ ) { $ntotwidth += $G_TABLE->Columns[$ncount]['Width']; } $firstrow = (($curpage-1) * $G_TABLE->rows_per_page) + 1; $lastrow = $firstrow + $G_TABLE->rows_per_page - 1; $cuenta=$G_TABLE->Count(); if( $lastrow > $cuenta ) $lastrow = $cuenta; for( $ncount=0 ; $ncount < $G_TABLE->ColumnCount() ; $ncount++ ) { $pa =1 ;$intPos=$ncount; $strClass = "tblHeader"; $col = $G_TABLE->Columns[$intPos]; $order = !($col["Type"] == "image" || $col["Type"] == "jsimglink"); $tpl->newBlock( "headers" ); $tpl->assign( "width" , ( $col["Width"] > 0 ? " style=\"width:" . $col["Width"] . ";\"" : '' ) ); $tpl->assign( "header" , ( $G_TABLE->Labels[$intPos] ) ); if( $G_TABLE->_ordered == true && $order ) { $res = " 0) $res .= " style=\"width:" . $col["Width"] . ";\""; $res .= ">"; $res .= "" . $G_TABLE->Labels[$intPos] . ""; $res .= "\n"; $tpl->assign( "href" , (ENABLE_ENCRYPT=='yes'?str_replace(G::encrypt('sys' . SYS_SYS, URL_KEY), SYS_SYS, G::encryptUrl(urldecode(SYS_CURRENT_URI), URL_KEY)):SYS_CURRENT_URI) . "?order=" . $G_TABLE->Columns[$intPos]['Name']."&page=".$pa."&label=true" ); $Fields['headers'][] = $header; } else { $tpl->assign( "href" , '' ); $res = " 0) $res .= " style=\"width:" . $col["Width"] . ";\""; $res .= ">"; $res .= $G_TABLE->Labels[$intPos] . "\n"; } } //end grid titles if ( $G_TABLE->rows_per_page == '' ) $G_TABLE->rows_per_page = 25; if ($cuenta >= $G_TABLE->rows_per_page) $lastrow = $G_TABLE->rows_per_page; else $lastrow = $cuenta; while ( $G_TABLE->CurRow() < $lastrow ) { $G_TABLE->Read(); $class = ( $G_TABLE->CurRow() % 2 == 0 ? "Row1" : "Row2" ); $tpl->newBlock( "row" ); $tpl->assign( "class" , $class ); for ( $ncount=0 ; $ncount < $G_TABLE->ColumnCount() ; $ncount++ ) { $tpl->newBlock( "field" ); $col = $G_TABLE->Columns[$ncount]["Align"]; $tpl->assign( "align" , ( $col <> '' ? " align=\"$col\"" : 'x' ) ); $tpl->assign( "value" , $G_TABLE->RenderColumn( $ncount, '', '',0, 0) ); } } if( $curpage > 1 ) { $firstUrl = SYS_CURRENT_URI . '?order=' . $orcad . '&page=1'; $prevpage = $curpage - 1; $prevUrl = SYS_CURRENT_URI . '?order=' . $orcad . '&page=' . $prevpage; $tpl->assign( "firstUrl" , $firstUrl ); $tpl->assign( "prevUrl" , $prevUrl ); $first = "<<"; $prev = "<"; } else { $tpl->assign( "firstOff" , 1 ); $tpl->assign( "prevOff" , 1 ); $first = "<<"; $prev = "<"; } $tpl->gotoBlock( "_ROOT" ); if ( $totpages !=1 ) $tpl->newBlock( "paging" ); $tpl->assign( "first" , $first ); $tpl->assign( "prev" , $prev ); $tpl->assign( "curPage" , '' . G::LoadMessageXml('ID_PAGE') . ' ' . $curpage . ' ' . G::LoadMessageXml('ID_OF') . ' ' . $totpages . ' ' . ''); if( $curpage < $totpages ) { $lastUrl = SYS_CURRENT_URI . '?order=' . $orcad . '&page=' . $totpages; $nextpage = $curpage + 1; $nextUrl = SYS_CURRENT_URI . '?order=' . $orcad . '&page=' . $nextpage; $next = ">"; $last = ">>"; } else { $next = ">"; $last = ">>"; } $tpl->assign( "next" , $next ); $tpl->assign( "last" , $last ); $tpl->assign( "columnCount", $G_TABLE->ColumnCount() ); if( $totpages > 1 ) { // --------- codigo para colocar numeros de paginas --------- $ncount = 1; $inicio=$HTTP_SESSION_VARS['COMIENZO']; $fin=$HTTP_SESSION_VARS['FINAL']; // echo "Inicio:".$inicio." fin".$fin; for( $ncount = $inicio; $ncount <= $fin-1; $ncount++ ) { if($ncount>=1 && $ncount<=$totpages) { if( $ncount <= $totpages ) $pagesEnum .= "   "; $pagesEnum .= ""; $pagesEnum .= $ncount; $pagesEnum .= ""; } } $pagesEnum .="   "; $tpl->assign("pagesEnum", $pagesEnum); } if ( $lastrow == 0 ) { $tpl->gotoBlock( "_ROOT" ); $tpl->newBlock( 'norecords' ); $tpl->assign( "noRecordsFound", G::LoadMessageXml('ID_NO_RECORDS_FOUND') ); $tpl->assign( "columnCount", $G_TABLE->ColumnCount()); } if ( $lastrow > $G_TABLE->rows_per_page * 0.66 ) { $tpl->gotoBlock( "_ROOT" ); $tpl->newBlock( "bottomFooter" ); $tpl->assign( "columnCount", $G_TABLE->ColumnCount() + 1); $tpl->assign( "first" , $first ); $tpl->assign( "prev" , $prev ); $tpl->assign( "next" , $next ); $tpl->assign( "last" , $last ); $tpl->assign("pagesEnum", $pagesEnum); } $tpl->gotoBlock( "_ROOT" ); $tpl->printToScreen(); ?>