DIR : /home/kozerus/public_html/ko_center/dcall/kosmb_dcalls.php
/home/kozerus/public_html/ko_center/dcall
<?php
/* CAT:Scatter chart */
/* pChart library inclusions */
// include("/pChart/class/pData.class.php");
// include("/pChart/class/pDraw.class.php");
// include("/pChart/class/pImage.class.php");
// include("/pChart/class/pScatter.class.php");
// include("pChart/pData.class");
// include("pChart/pChart.class");
$progid="kosmb_dcalls";
$dbfile="dcalls.db3";
startup();
function startup() {
$dbfile="dcalls.db3";
$tblname="dcall_adccp";
// printf( "MSG_20: dbfile=[$dbfile] tblname=[$tblname] .php<hr>\n" );
// graphs();
// return;
// sql_query_csv( $dbfile, "-csv -header", "select mdt, mtm, mto from ol limit $limit" );
// return;
// $rows=sql_query( $dbfile, "-header", "select mdt, mtm, mto from ol limit $limit" );
// $rows=sql_query( $dbfile, "", "select mdt, mtm, mto from ol limit $limit" );
// foreach( $rows as $row ) {
// foreach( $row as $col ) {
// printf( "col=$col    \n" );
// }
// printf( "<br>\n" );
// }
// return;
// $output = "<hr>bugs<hr>";
// $output .= "dbfile=[$dbfile]<br>\n";
// $output .= "tblname=[$tblname]<br>\n";
// $output .= "dttm=[$dttm]<br><hr>\n";
// printf( "$output\n" );
// return;
// pchart_scatter( $dbfile, $options, $sql );
html_dcall_adccp($options);
return;
}
function html_dcall_adccp($options) {
$dbfile="dcalls.db3";
$tblname="dcall_adccp";
$dbfile="dcalls.db3";
$diffdate1="2011-11-09";
$status="current";
$diffdate2="2011-11-02";
$sql1="select * from $tblname where status like '%$status%' and type like '%sum%'";
$sql2="select * from $tblname where dt like '%diffdate2%' and type like '%sum%";
$sqldif="select * from $tblname where status like '%current%' and type like '%dif%'";
// printf( "$progid $dttm MSG_60: html_dcall_adccp dbfile=[$dbfile] diffdate1=[$diffdate1] diffdate2=[$diffdate2]<br>\n" );
// printf( "$progid $dttm MSG_61: html_dcall_adccp sql1=[".htmlentities($sql1) ."]<br>\n");
// printf( "$progid $dttm MSG_61: html_dcall_adccp sqldif_query=[$sqldif_query]<br>\n");
// printf( "$progid $dttm MSG_61: html_dcall_adccp sql2=[$sql2]<br>\n");
// $sql_results1 = sql_query( $dbfile, $options, $sql1 );
// $sql_results2 = sql_query( $dbfile, $options, $sql2 );
// printf( "dcall_adccp sqldir=[$sqldir]<br>\n" );
// $sqldif_results = sql_query( $dbfile, $options, $sqldif );
$html_query1 = "<hr>html_query1<hr>\n";
$html_dif = "<hr>html_dif<hr>\n";
$html_query2 = "<hr>html_query2<hr>\n";
$html_query1 =sql_query1($dbfile, $diffdate1, $sql1);
// $html_query2 =sql_query2($dbfile, $diffdate2, $sql2);
// $html_dif =sqldif_query($dbfile, "", $sqldif);
$html_body = "";
$html_body .= "<body bgcolor=lightblue>\n";
$html_body .= "<hr>summary: $diffdate1<hr>\n";
$html_body .= $html_query1;
$html_body .= "<hr>diff<hr>\n";
$html_body .= $html_dif;
$html_body .= "<hr>last: $diffdate2<hr>\n";
$html_body .= $html_last;
$html_body .= "</body>\n";
$html = "";
$htlm .= $html_hdr;
$html .= $html_body;
$html .= $html_ftr;
printf( $html );
}
function sql_query1($dbfile, $diffdate, $sql) {
// printf( "BUGS_110: dbfile=[$dbfile] diffdate=[$diffdate] sql=[sql]<br>\n" );
$sqltmp1 = str_replace( "\*", "ALL", $sql );
$sqltmp2 = str_replace( "\%", "perc", $sqltmp1 );
printf( "<br>sql=[$sql]<br>\n" );
printf( "<br>sqltmp1=[$sqltmp1]<br>\n" );
printf( "<br>sqltmp2=[$sqltmp2]<br>\n" );
printf( "BUGS_126: dbfile=[$dbfile] diffdate=[$diffdate] sql=[sql]<br>\n" );
// load adccp current
$options = "-headers";
$rownum=0;
$sql_results1 = sql_query( $dbfile, "-header ", $sql );
$html_query1 = "<table>\n";
foreach( $sql_results1 as $rows ) {
$html_query1 .= "<tr>\n";
$rownum++;
$colnum=0;
$html_query1 .= "<tr>\n";
// $keynum = $rows['keynum'];
// $fy = $rows[fy];
// $p = $rows[p];
// $pp= $rows['pp'];
// $wk= $rows['wk'];
// $dt= $rows[dt];
// $tm= $rows['tm'];
// $src= $rows['src'];
// $seq= $rows['seq'];
// $status= $rows['status'];
// $type= $rows['type'];
// $org= $rows['org'];
// $domain= $rows['domain'];
// $subdom= $rows['subdom'];
// $conclave= $rows['conclave'];
// $osgrp= $rows['osgrp'];
// $os= $rows['os'];
// $loc= $rows['loc'];
// $dsw= $rows['dsw'];
// $dsx= $rows['dsx'];
// $asw= $rows['asw'];
// $asx= $rows['asx'];
// $wsw= $rows['wsw'];
// $swx= $rows['swx'];
// $vsw= $rows['vsw'];
// $vsx= $rows['vsx'];
// $psw= $rows['psw'];
// $psx= $rows['psx'];
// $desc= $rows['desc'];
$keynum = $rows[1];
$fy = $rows[2];
$p = $rows[3];
$pp= $rows[4];
$wk= $rows[5];
$dt= $rows[6];
$tm= $rows[7];
$src= $rows[8];
$seq= $rows[9];
$status= $rows[10];
$type= $rows[11];
$org= $rows[12];
$domain= $rows[13];
$subdom= $rows[14];
$conclave= $rows[15];
$osgrp= $rows[16];
$os= $rows[17];
$loc= $rows[18];
$dsw= $rows[19];
$dsx= $rows[20];
$asw= $rows[21];
$asx= $rows[22];
$wsw= $rows[23];
$swx= $rows[24];
$vsw= $rows[25];
$vsx= $rows[26];
$psw= $rows[27];
$psx= $rows[28];
$desc= $rows[29];
$psvrec_key1="$keynum|$fy|$p|$pp|$wk|$dt|$tm|$src|$seq|";
$psvrec_key2="$status|$type|$org|$domain|$subdom|$conclave|$osgrp|$os|$loc|";
$psvrec_data="$dsw|$dsx|$asw|$asx|$wsw|$swx|$vsw|$vsx|$psw|$psx|$desc\n";
printf( "psvrec_key1=$psvrec_key1<br>\n" );
printf( "psvrec_key2=$psvrec_key2<br>\n" );
printf( "psvrec_data=$psvrec_data<br>\n" );
//// $colnum=0;
//// foreach( $rows as $col ) {
//// $colnum++;
//// $html_query1 .= "<td>colnum=$collnum col=".$col[$colnum]. "</td>";
//// printf( "bugs_170: $rownum $colnum col=".$col[$colnum]. "<br>\n" );
//// }
$html_query1 .= "</tr>\n";
// printf( "BUGS_390: mdt=[$mdt] mtm=[$mtm] mto=[$mto]<br>\n" );
// printf( "$progid $dttm MSG_403: admin m1 [$mdt][$mtm][$mto] [$fmt_mdt][$fmt_mtm] [$s2t_mdt][$s2t_mtm]<br>\n" );
}
$html_query1 .= "</table>\n";
return( $html_query1 );
}
function sqldif_query() {
// load adccp current
$options = "-headers";
$rownum=0;;
$html_dif = "<table>\n";
foreach( $sqldif_results as $rows ) {
$html_dif .= "<tr>\n";
$rownum++;
$colnum=0;
$html_dif .= "<tr>\n";
foreach( $rows as $col ) {
$colnum++;
$html_dif .= "<td>$col[$colnum]</td>";
}
$html_dif .= "</tr>\n";
// printf( "BUGS_390: mdt=[$mdt] mtm=[$mtm] mto=[$mto]<br>\n" );
// printf( "$progid $dttm MSG_403: admin m1 [$mdt][$mtm][$mto] [$fmt_mdt][$fmt_mtm] [$s2t_mdt][$s2t_mtm]<br>\n" );
}
$html_dif .= "</table>\n";
return( $html_dif );
}
function sql_query2() {
// load adccp current
$options = "-headers";
$rownum=0;;
$html_query2 = "<table>\n";
foreach( $sql2_results as $rows ) {
$html_query2 .= "<tr>\n";
$rownum++;
$colnum=0;
$html_query2 .= "<tr>\n";
foreach( $rows as $col ) {
$colnum++;
$html_query2 .= "<td>$col[$colnum]</td>";
}
$html_query2 .= "</tr>\n";
// printf( "BUGS_390: mdt=[$mdt] mtm=[$mtm] mto=[$mto]<br>\n" );
// printf( "$progid $dttm MSG_403: admin m1 [$mdt][$mtm][$mto] [$fmt_mdt][$fmt_mtm] [$s2t_mdt][$s2t_mtm]<br>\n" );
}
$html_query2 .= "</table>\n";
return( $html_query2 );
}
function html_hdr() {
$html_hdr = "";
$html_hdr .= "<html><title>dcall_adccp $dttm </title>\n";
return( $html_hdr );
}
function html_ftr() {
$html_ftr = "";
$html_ftr .= "</html>\n";
return;
}
function sql_tests() {
// $data in this case is an array of rows;
// $data = $stmt->fetchAll();
// $data in this case is just one row after each loop;
// while($data = $stmt->fetch()){}
// $i = 0;
// while($data[$i++] = $stmt->fetch()){}
}
function sql_query( $dbfile, $options, $sql ) {
// $sql = 'select column_name from information_schema.columns where lower(table_name)=lower(\''.$this->table.'\')';
// $sql = 'SHOW COLUMNS FROM ' . $this->table;
// $stmt = $this->connection->prepare($sql);
// $stmt = $pdo->connection->prepare($sql);
// printf( "BUGS_130 SQL_QUERY: dbfile=[$dbfile][$options] sql=[$sql]<br>\n" );
if( preg_match( "/csv/", $options )) {
sql_query_csv( $dbfile, $opionts, $sql );
return;
}
$pdo = newpdo($dbfile);
$stmt = $pdo->prepare($sql);
try {
if($stmt->execute()) {
$raw_rows_data = $stmt->fetchAll(PDO::FETCH_ASSOC);
$firsttime = "yes";
foreach($raw_rows_data as $row_name => $row_value) {
$column_values = array();
foreach($row_value as $column_name => $column_value) {
// printf( "BUGS_150: column_name=[$column_name] column_value=[$column_value]<br>\n" );
if (!(int)$column_name) {
if( $firsttime == "yes" ) {
$column_names[] = $column_name;
}
$column_values[] = $column_value;
// printf( "BUGS_155 column_value=[$column_value]<br>\n" );
}
}
// printf( "BUGS_160: $column_names[0] $column_names[1] $column_names[2]<br>\n" );
// printf( "BUGS_161: $column_values[0] $column_values[1] $column_values[2]<br>\n" );
if( $firsttime == "yes" ) {
$firsttime = "no";
if( preg_match( "/header/", $options )) {
$results[] = $column_names;
}
}
$results[] = $column_values;
}
}
return $results;
} catch (Exception $e) {
return $e->getMessage(); //return exception
}
}
function sql_query_csv( $dbfile, $options, $sql ) {
if( ! file_exists( $dbfile )) {
print( "sql_query_csv ERR: NOTFOUND dbfile=[$dbfile]<hr>\n" );
return;
}
$pdo = newpdo($dbfile);
$result = $pdo->query($sql);
$collim = $result->columnCount();
$countrows = 1;
$output = "";
while($row = $result->fetch(PDO::FETCH_ASSOC)) {
if($countrows == 1) {
$csvhdr=join(",",array_keys($row)) . "\n";
// $output .= join(",", array_keys($row)) . "\n";
$output .= join(",", $row) ."\n";
}
else {
$output .= join(",", $row) ."\n";
}
$countrows++;
}
$pdo=null;
$dttm=date("Ymd_His");
$csvfile = "sql_query"."_$dttm.csv";
// print( "__FUNCTION__=".__FUNCTION__."<br>\n" );
// $content_type = "Content-type: application/csv Content-Disposition: \"inline; filename=$csvfile\"";
// print( "$content_type\n" );
// header( "$content_type" );
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
// header("Content-Length: " . strlen($out));
header("Content-type: text/x-csv");
// header("Content-type: text/csv");
// header("Content-type: application/vnd.ms-excel");
// header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=$csvfile");
print( "$output" );
return;
}
function sql_colnames1(){
$result = $pdo->query("PRAGMA table_info(" . $table_name . ")");
$result->setFetchMode(PDO::FETCH_ASSOC);
$meta = array();
foreach ($result as $row) {
$meta[$row['name']] = array(
'pk' => $row['pk'] == '1',
'type' => $row['type'],
);
}
}
function sql_results( $dbfile, $sql ) {
// foreach( $pdo->query($sql) as $row ) {;}
// $query = $pdo->query("select * from emails");
$first_row = true;
$pdo = newpdo($dbfile);
$query = $pdo->query($sql);
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
if ($first_row) {
$first_row = false;
$number_of_fields = count($row);
$field_names = array_keys($row);
$first_field_name = $field_names[0];
}
print_r($row);
}
foreach( $field_names as $field_name ) {
printf( "number_of_fields=[$number_of_fields] field_name=[$field_name]<br>\n" );
}
}
function pchart_scatter( $dbfile, $options, $sql ) {
$sql="";
$options="";
$lim=5000;
$mto="joachim.kassil";
$mindt="20111223"; $maxdt="20120817";
if( isset( $_GET['lim'] )) { $lim=$_GET['lim']; }
if( isset( $_GET['mto'] )) { $mto=$_GET['mto']; }
if( isset( $_GET['mindt'] )) { $mindt=$_GET['mindt']; }
if( isset( $_GET['maxdt'] )) { $maxdt=$_GET['maxdt']; }
$s2t_mindt=s2t($mindt);
$s2t_maxdt=s2t($maxdt);
// $sql_mils="select mdt, mtm, substr(mto,0,20) from ol where mto like '%joachim.kassil%' and mdt > '2011-12-23' ";
$sql_mils="select mdt, mtm, substr(mto,0,20) from ol where mto like '%$mto%' and mdt >= '$mindt' and mdt <= '$maxdt' ";
// $sql_mdt_min = "select min( mdt ) results from ol where mdt not like '%00000000%'";
$sql_mdt_min = "select min( mdt ) results from ol where mdt >= '$mindt' and mdt <= '$maxdt'";
// $sql_mdt_min = "select min( mdt ) results from ol where mdt > '20111223'";
$results = sql_query( $dbfile, "-headers ", $sql_mdt_min );
$mdt_min=$results[1][0];
$s2t_mdt_min=s2t($mdt_min);
$sql_mdt_max = "select max( mdt ) results from ol";
$results = sql_query( $dbfile, "-headers ", $sql_mdt_max );
$mdt_max=$results[1][0];
$s2t_mdt_max=s2t($mdt_max);
$mtm_min="000000";
$mtm_max="240000";
$fmt_mtm_min="00:00:00";
$fmt_mtm_max="24:00:00";
$s2t_mtm_min=s2t("00:00:00");
$s2t_mtm_max=s2t("23:59:59");
// printf( "BUGS_250: mdt_min [$mdt_min][$fmt_mdt_min] s2t=[$s2t_mdt_min]<br>\n" );
// printf( "BUGS_250: mdt_max [$mdt_max][$fmt_mdt_max] s2t=[$s2t_mdt_max]<br>\n" );
// printf( "BUGS_250: mtm_min [$mtm_min][$fmt_mtm_min] s2t=[$s2t_mtm_min]<br>\n" );
// printf( "BUGS_250: mtm_max [$mtm_max][$fmt_mtm_max] s2t=[$s2t_mtm_max]<br>\n" );
// printf( "BUGS_80: [$mdt_min][$mdt_max]<br>\n" );
// printf( "BUGS_80: [$fmt_mdt_min][$fmt_mdt_max]<br>\n" );
// printf( "BUGS_80: [$s2t_mdt_min][$s2t_mdt_max]<br>\n" );
// return;
/* Create the pData object */
// printf( "pchart_scatter MSG_250: [$dbfile][$options][$sql]<br>\n" );
// return;
$sql_admins="select mdt, mtm, mto from ol where mto like '%admin@konet.org%' and mdt >= '$mindt' and mdt >= '$maxdt'";
$sql_mils="select mdt, mtm, mto from ol where mto like '%joachim.kassil%' and mdt > '$mindt' and mdt >= '$maxdt'";
$myData = new pData();
/* Create the X axis and the binded series */
// $myData->addPoints(array( '2011-12-24','2011-12-25','2012-01-01','2012-01-15','2012-01-20'),"x-date");
$dt1=array();
$dt1[]=strtotime( "2011-12-01" );
$dt1[]=strtotime( "2012-01-01" );
$dt1[]=strtotime( "2012-02-01" );
$dt1[]=strtotime( "2012-03-01" );
$dt1[]=strtotime( "2012-04-01" );
$dt1[]=strtotime( "2012-05-01" );
$dt1[]=strtotime( "2012-06-01" );
$dt1[]=strtotime( "2012-07-01" );
$dt1[]=strtotime( "2012-08-01" );
$myData->addPoints( $dt1, "x-date" );
$myData->setAxisName(0,"x_date");
$myData->setAxisXY(0,AXIS_X);
// $myData->setAxisDisplay(0,AXIS_FORMAT_TIME,"i:s");
// $myData->setAxisDisplay(0,AXIS_FORMAT_DATE,"Y-m");
$myData->setAxisPosition(0,AXIS_POSITION_BOTTOM);
// $myData->SetYAxisFormat("time");
// $myData->SetXAxisFormat("date");
// return;
/* Create the Y axis and the binded series */
// $myData->addPoints(array('00:00', '03:00','08;00', '12:00', '16:00', '24:00' ),"y_time");
$tm1 = array();
$tm1[]=strtotime("00:00" );
$tm1[]=strtotime("04:00" );
$tm1[]=strtotime("08:00" );
$tm1[]=strtotime("12:00" );
$tm1[]=strtotime("16:00" );
$tm1[]=strtotime("20:00" );
$tm1[]=strtotime("24:00" );
$myData->addPoints( $tm1, "y_time" );
$myData->setSerieOnAxis("y_time",1);
$myData->setAxisName(1,"y_time");
$myData->setAxisXY(1,AXIS_Y);
$myData->setAxisDisplay(0,AXIS_FORMAT_DATE,"y-m");
$myData->setAxisDisplay(1,AXIS_FORMAT_TIME,"h:i:s");
/* Draw the scale */
// $AxisBoundaries = array(0=>array(
// "Min"=>strtotime("2011-12-01"),
// "Max"=>strtotime("2012-11-28"),
// "Rows"=>12,
// "RowHeight"=>300),
// 1=>array("Min"=>strtotime("2011-12-02"),"Max"=>strtotime("2012-11-30"))
// );
$AxisBoundaries = array(0=>array(
"Min"=>s2t($mindt),
"Max"=>s2t($maxdt),
"Rows"=>12,
"RowHeight"=>300),
1=>array("Min"=>s2t($maxdt),"Max"=>s2t($maxdt))
);
$ScaleSettings = array(
"Mode"=>SCALE_MODE_MANUAL,
"ManualScale"=>$AxisBoundaries,
"DrawSubTicks"=>TRUE
);
// $myData->drawScatterScale($ScaleSettings);
$myData->addPoints( strtotime("2011-12-25"), mdt3 );
$myData->addPoints( strtotime("2012-01-01"), mdt3 );
$myData->addPoints( strtotime("2012-01-20"), mdt3 );
$myData->addPoints( strtotime("08:11:01"), mtm3 );
$myData->addPoints( strtotime("12:12:02"), mtm3 );
$myData->addPoints( strtotime("20:13:03"), mtm3 );
// load admin emails
$sql_admins="select mdt, mtm, mto from ol where mto like '%admin@konet.org%'";
$admins = sql_query( $dbfile, "", $sql_admins );
// printf( "pchart_scatter MSG_300: sql=[$sql]<br>\n" );
foreach( $admins as $admin ) {
$milcnt++;
$mdt=$admin[0];
$mtm=$admin[1];
$mto=$admin[2];
// printf( "BUGS_390: mdt=[$mdt] mtm=[$mtm] mto=[$mto]<br>\n" );
$mdt_yyyy=substr( $mdt,0,4 );
$mdt_mm=substr( $mdt,4,2 );
$mdt_dd=substr( $mdt,6,2 );
$fmt_mdt=sprintf( "%04d-%02d-%02d", $mdt_yyyy, $mdt_mm, $mdt_dd );
$mtm_hh=substr( $mtm,0,2 );
$mtm_mm=substr( $mtm,2,2 );
$mtm_ss=substr( $mtm,4,2 );
$fmt_mtm=sprintf( "%02d:%02d:%02d", $mtm_hh, $mtm_mm, $mtm_ss );
$s2t_mdt=strtotime($fmt_mdt);
$s2t_mtm=strtotime($fmt_mtm);
$myData->addPoints( $s2t_mdt, "mdt1" );
$myData->addPoints( $s2t_mtm, "mtm1" );
// printf( "$progid $dttm MSG_403: admin m1 [$mdt][$mtm][$mto] [$fmt_mdt][$fmt_mtm] [$s2t_mdt][$s2t_mtm]<br>\n" );
next;
}
$mils = sql_query( $dbfile, "", $sql_mils );
$milcnt=0;
foreach( $mils as $mil ) {
$milcnt++;
$mdt=$mil[0];
$mtm=$mil[1];
$mto=$mil[2];
$s2t_mdt=s2t($mdt);
$s2t_mtm=strtotime($mtm);
$myData->addPoints( $s2t_mdt, "mdt2" );
$myData->addPoints( $s2t_mtm, "mtm2" );
// printf( "BUGS_460 [$mdt][$mtm][$mto] [$fmt_mdt][$fmt_mtm] [$s2t_mdt][$s2t_mtm]<br>\n" );
// printf( "mdt2 s2t_mdt=[$s2t_mdt] mdt=[$mdt] mtm=[$mtm] mto=[$mto]<br>\n" );
// printf( "mtm2 s2t_mtm=[$s2t_mtm] mtm=[$mtm] mtm=[$mtm] mto=[$mto]<br>\n" );
// return;
}
// printf( "<hr width=470 height=100>BUGS_450<hr>\n" );
// return;
$myData->setAxisName(0,"x-dates");
$myData->setAxisXY(0,AXIS_X);
$myData->setAxisPosition(0,AXIS_POSITION_TOP);
$myData->setSerieOnAxis("mtm1",1);
$myData->setAxisName(1,"y_times");
$myData->setAxisXY(1,AXIS_Y);
$myData->setAxisPosition(1,AXIS_POSITION_LEFT);
/* Create the 1st scatter chart binding */
$myData->setScatterSerie("mdt1","mtm1",0);
$myData->setScatterSerieDescription(0,"admin");
$myData->setScatterSerieColor(0,array("R"=>0,"G"=>0,"B"=>0));
/* Create the 2nd scatter chart binding */
$myData->setScatterSerie("mdt2","mtm2",1);
$myData->setScatterSerieDescription(1,"mil");
/* Create the 2nd scatter chart binding */
$myData->setScatterSerie("mdt3","mtm3",2);
$myData->setScatterSerieDescription(2,"other");
/* Create the pChart object */
$myPicture = new pImage(400,400,$myData);
/* Turn of Anti-aliasing */
$myPicture->Antialias = FALSE;
/* Add a border to the picture */
$myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));
/* Set the default font */
$myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
/* Set the graph area */
$myPicture->setGraphArea(40,40,370,370);
/* Create the Scatter chart object */
$myScatter = new pScatter($myPicture,$myData);
/* Draw the scale */
$scaleSettings = array(
"XMargin"=>10,
"YMargin"=>10,
"Floating"=>TRUE,
"GridR"=>200,
"GridG"=>200,
"GridB"=>200,
"DrawSubTicks"=>TRUE,
"CycleBackground"=>TRUE
);
$myScatter->drawScatterScale($scaleSettings);
/* Draw the legend */
$myScatter->drawScatterLegend(280,380,array("Mode"=>LEGEND_HORIZONTAL,"Style"=>LEGEND_NOBORDER));
/* Draw a scatter plot chart */
$myPicture->Antialias = TRUE;
$myScatter->drawScatterPlotChart();
/* Render the picture (choose the best way) */
$myPicture->autoOutput("scatter.png");
}
function s2t( $string ) {
$fmt_dttm=$string;
if( strlen( $string ) == 8 ) {
if( preg_match( "/:/", $string )) {
$fmt_dttm=$string;
}
else {
// yyyymmdd to yyyy-mm-dd
$fmt_dttm=sprintf( "%04d-%02d-%02d",
substr($string,0,4),
substr($string,4,2),
substr($string,6,2)
);
}
}
//hhmmss
if( strlen( $string ) == 6 ) {
$fmt_dttm=sprintf( "%02d:%02d:%02d",
substr($string,0,2),
substr($string,2,2),
substr($string,4,2)
);
}
$s2t_dttm=strtotime($fmt_dttm);
// printf( "$progid $dttm MSG_600: s2t string=[$string] [$fmt_dttm][$s2t_dttm]<br>\n" );
return($s2t_dttm);
}
function newpdo( $dbfile ) {
$php_self=$_SERVER['PHP_SELF'];
$http_host=$_SERVER['HTTP_HOST'];
$request_uri=$_SERVER['REQUEST_URI'];
if( ! file_exists( $dbfile )) {
print( "$php_self newpdo ERR_3979: NOT_EXISTS dbfile=[$dbfile]<br>\n" );
if( $GLOBALS['install'] != true ) {
print( "$php_self newpdo ERR: NOT_INSTALL dbfile=[$dbfile]<br>\n" );
return;
}
else {
print( "$php_self newpdo MSG: CREATE dbfile=[$dbfile]<br>\n" );
}
}
try {
$pdo = null;
$pdo = new PDO("sqlite:$dbfile" );
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
// $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
if( $pdo == null ) {
print( "$php_self newpdo ERR: dbfile=[$dbfile]<br>\n" );
return $pdo;
}
return $pdo;
}
catch(PDOException $e ) {
$errmsg = $e->getMessage();
print( "$php_self newpdo ERR: pdo=[$pdo] dbfile=[$dbfile] errmsg=[$errmsg]<br>\n" );
$pdo = null;
return $pdo;
}
}
function graphs() {
// Dataset definition
$DataSet = new pData;
$DataSet->AddPoints(array(100,320,200,10,43),"Serie1");
$DataSet->AddPoints(array(23,432,43,153,234),"Serie2");
$DataSet->AddPoints(array(1217541600,1217628000,1217714400,1217800800,1217887200),"Serie3");
$DataSet->AddSeries("Serie1");
$DataSet->AddSeries("Serie2");
$DataSet->SetAbsciseLabelSerie("Serie3");
$DataSet->SetSerieName("Incoming","Serie1");
$DataSet->SetSerieName("Outgoing","Serie2");
$DataSet->SetYAxisName("Call duration");
$DataSet->SetYAxisFormat("time");
$DataSet->SetXAxisFormat("date");
// Initialise the graph
$Test = new pChart(700,230);
$Test->setFontProperties("Fonts/tahoma.ttf",8);
$Test->setGraphArea(85,30,650,200);
$Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
$Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);
$Test->drawGraphArea(255,255,255,TRUE);
$Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2);
$Test->drawGrid(4,TRUE,230,230,230,50);
// Draw the 0 line
$Test->setFontProperties("Fonts/tahoma.ttf",6);
$Test->drawTreshold(0,143,55,72,TRUE,TRUE);
// Draw the line graph
$Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription());
$Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),3,2,255,255,255);
// Finish the graph
$Test->setFontProperties("Fonts/tahoma.ttf",8);
$Test->drawLegend(90,35,$DataSet->GetDataDescription(),255,255,255);
$Test->setFontProperties("Fonts/tahoma.ttf",10);
$Test->Render("example17.png");
$Test->drawTitle(60,22,"example 17",50,50,50,585);
}
?>
//
koh5_pano
Drag mouse to navigate.
Navigation
- Left/Right Mouse drag: Changes camera heading.
- Up/Sown Mouse drag: Changes camera pitch.
- Scroll wheel: Changes camera field of view.
- I-Key: Displays Info panel with canvas size, image size and FPS.
17.Aug.2010, Martin Wengenmayer