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 &nbsp &nbsp\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



Your browser does not support the HTML5 canvas element.


Drag mouse to navigate.

Navigation





17.Aug.2010, Martin Wengenmayer