|
Server : Apache/2.4.62 System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64 User : www ( 80) PHP Version : 8.3.8 Disable Function : NONE Directory : /domains/academic/demo/SmartReport/reports/reptest/ |
Upload File : |
<?php
/**
* Generated by Smart Report Maker
*All copyrights are preserved to StarSoft
*http://mysqlreports.com/
*
*/
error_reporting(E_ERROR | E_PARSE);
include_once("lib.php");
if(isset($_GET['start'])) {$start = $_GET['start'];} else { $start=0;}
if(isset($_GET['print'])) {$print = $_GET['print'];}else
$print = 0;
$link_home = $_SERVER["PHP_SELF"];
//*************************create sql statement ******************* $$$
if($datasource=='sql')
{
$sql = Prepare_QSql();
}
else
{
$sql = Prepare_TSql();
}
//get number of rows
$result = query($sql);
$nRecords = mysql_num_rows($result); //$$$
/* begin of export section*********** */
//Exporting section
if(isset($_GET['export']))
{
$export = $_GET['export'];
}
else
{
$export = "";
}
//export data
if($export =='csv' )
{
export_csv($sql,false,0,10);
exit;
}
elseif($export == 'csv1')
{
export_csv($sql,true,$start,$records_per_page);
exit;
}
else if($export=='xml')
{
export_xml($sql,false,0,10);
exit;
}
elseif($export == 'xml1')
{
export_xml($sql,true,$start,$records_per_page);
exit;
}
else if($export =='pdf1')
{
if(count($fields)>8)
get_pdf($sql,'a4','landscape',10,10,10,10,780,800,10,11,true,$start,$records_per_page);
else
get_pdf($sql,'a4','portrait',10,10,10,10,490,500,9,10,true,$start,$records_per_page);
exit;
}
else if($export =='pdf')
{
if(count($fields)>8)
get_pdf($sql,'a4','landscape',10,10,10,10,780,800,10,11,false,$start,$records_per_page);
else
get_pdf($sql,'a4','portrait',10,10,10,10,490,500,9,10,false,$start,$records_per_page);
exit;
}
//exporting links
$link_pdf_current = $_SERVER["PHP_SELF"]."?export=pdf1&&start=$start";
$link_csv_current = $_SERVER["PHP_SELF"]."?export=csv1&&start=$start";
$link_xml_current = $_SERVER["PHP_SELF"]."?export=xml1&&start=$start";
$link_csv_all = $_SERVER["PHP_SELF"]."?export=csv";
$link_xml_all = $_SERVER["PHP_SELF"]."?export=xml";
$link_pdf_all = $_SERVER["PHP_SELF"]."?export=pdf";
// ********************************************/
//**************************print links****************************** $$$
$link_print1 = $_SERVER["PHP_SELF"]."?print=1&&start=$start";
$link_print2 = $_SERVER["PHP_SELF"]."?print=2";
$link_print_real = $_SERVER['PHP_SELF']."?print=3&start=$start";
//*************************next and prev links ********************* $$$
$next_start = $start+$records_per_page;
if($next_start >= $nRecords) $next_start = $start;
$link_next=$_SERVER["PHP_SELF"]."?start=$next_start ";
$prev_start = $start - $records_per_page;
if($prev_start < 0) $prev_start = 0;
$link_prev=$_SERVER["PHP_SELF"]."?start=$prev_start";
//initiaize vars
$cur_row = 0;
$toggle_row = 0;
//previous link
$prev_record = $start -$records_per_page;
if($prev_record>=0)
$prev_link = $_SERVER['PHP_SELF']."?start=$prev_record";
else
$prev_link = '';
//create new sql includes the start and end limits except in case print all
if($print !=2)
$sql .= " limit $start,$records_per_page";
$result = query($sql);
$cur_group_ar=array(); // the current group
$last_group_ar = array(); //the newest grou by fields
$actual_fields = array_diff($fields, $group_by); //actual columns which will be shown without group by fields
$actual_columns_count = count($actual_fields); //number of columns to be shown
$group_by_count = count($group_by);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title><?php echo $title ?></title>
<link href="<?php
if($print!= 0)
{
echo "print.css" ;
}
else
{
echo $style_name . ".css" ;
}
?>" rel="stylesheet" type="text/css" />
</head>
<body class="MainPage">
<table border="0" width="500" align="center" cellpadding="2" cellspacing="0" class="MainTable" >
<!-- ************************* Menu code **************************** !-->
<?php
if($print !=3 ) //not in real priting mode $$$
{
?>
<tr>
<td height="27" class="menu" colspan="<?php echo $actual_columns_count ?>id="menu_row">
<?php
include("menu.php")
?></td>
</tr>
<?php
}
?>
<!-- *************************End Of Menu code **************************** !-->
<!-- ******************** start custom header ******************** !-->
<?php
if(!empty($header))
{
?>
<tr>
<td colspan="<?php echo $actual_columns_count?>" valign="top" ><?php echo($header);?></td>
</tr>
<tr>
<td colspan="<?php echo $actual_columns_count?>" valign="top" class="Separator" ></td>
</tr>
<?php
}
?>
<!-- ******************** end custom header ******************** !-->
<tr>
<td colspan="<?php echo $actual_columns_count?>" valign="top" class="Title" ><?php echo($title);?></td>
</tr>
<tr>
<td class="Separator" colspan="<?php echo $actual_columns_count?>"></td>
</tr>
<?php
while($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
//fill array with current grouping fields
foreach($group_by as $key=>$val)
{
$cur_group_ar[$val] = $row[$val] ;
}
//print group by fields in case of grouping values variation
if(count($last_group_ar)!=0)
{
$diff_index = grouping_diff_index($cur_group_ar,$last_group_ar);
}
else
{
$diff_index = 0 ;
}
if($diff_index !=-1)
{
for($i=$diff_index;$i<count($group_by);$i++)
{
if($i ==0 && $diff_index==0)
echo "<tr><td class='MainGroup' colspan=". $actual_columns_count ." >" .$group_by[$i] .": " . $row[$group_by[$i] ] . " </td></tr>";
else
echo "<tr><td class='SubGroup' colspan=". $actual_columns_count ." >" . $group_by[$i] .": " . $row[$group_by[$i] ] . "</td></tr>";
}
//echo"<tr><td height='15' $span class='TableHeader'></td></tr>";
if($cur_row==0)
{
?>
<tr>
<td><table width="500" border="1" cellspacing="0" cellpadding="2" bordercolor="#CCCCCC" align='center'>
<?php }
} ?>
<?php
//print table columns
if( ($group_by_count>0 && $diff_index !=-1) || $cur_row==0 ) //if there is a change in grouping
{
$i = 0;
foreach($actual_fields as $key=>$val)
{
if($i==0) echo "<tr>";
echo "<td align='center' class='ColumnHeader'>$val</td>";
if($i == $actual_columns_count -1) echo "</tr>";
$i++;
}
}
//print row data
echo "<tr>";
foreach($actual_fields as $key=>$val)
{
if($toggle_row == 0)
if(empty($row[$val]))
echo "<td align='center' class='TableCell'>" . " " . "</td>";
else
echo "<td align='center' class='TableCell'>" . $row[$val] . "</td>";
else
if(empty($row[$val]))
echo "<td align='center' class='AlternateTableCell'>" . " " ."</td>";
else
echo "<td align='center' class='AlternateTableCell'>" . $row[$val] ."</td>";
}
echo "</tr>";
//change toggling of rows
if($toggle_row == 0)
$toggle_row = 1;
else
$toggle_row =0;
//update new grouping
if($diff_index !=-1)
{
$last_group_ar =array();
foreach($group_by as $key=>$val)
{
$last_group_ar[$val] = $row[$val] ;
}
}
//increment current rows
$cur_row ++;
}
?>
</table></td>
</tr>
<!-- ******************** start custom footer ******************** !-->
<?php
if(!empty($footer))
{
echo "<tr><td > $footer</td></tr>";
}
?>
<!-- ******************** end custom footer ******************** !-->
<tr>
<td class="TableFooter"> </td>
</tr>
</table>
<!-- ************************* Show print Dialog **************************** !-->
<?php
//show print dialog in case of print mode $$$
if($print==3)
{
?>
<script>
window.print();
</script>
<?php
}
?>
<!-- ************************* End Of Show print Dialog ********************* !-->
</body>
</html>