File: C:/xampp/htdocs/FograCT1/pbnEM16.php
<?php
$company= $_GET['company'];
if ($company=='') {
$company='pbndemo';
}
echo "Welcome! ".$company;
function getIP() {
foreach (array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR') as $key) {
if (array_key_exists($key, $_SERVER) === true) {
foreach (explode(',', $_SERVER[$key]) as $ip) {
if (filter_var($ip, FILTER_VALIDATE_IP) !== false) {
return $ip;
}
}
}
}
}
// $tags=json_decode(file_get_contents('http://gd.geobytes.com/GetCityDetails?fqcn='. getIP()), true)
//print_r($tags[geobytescity]);
echo "ip:".getIP();
$ip=getIP();
$details = json_decode(file_get_contents("http://ipinfo.io/{$ip}/json"));
//echo $details->city; // -> "Mountain View"
//echo $details->country;
$myip=$ip;
$area=$details->city;
$country=$details->country;
echo "<br>area:".$area;
include '../CTCounter2.php';
$servername = "127.0.0.1";
$username = "root";
$password = "fredsql";
$DBNAME = "tvicheck-st";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//echo "Connected successfully";
if( !mysqli_select_db($conn, $DBNAME)) {
die ("無法選擇資料庫");
}
mysqli_query( $conn, "SET NAMES 'utf8'");
$queryC="select * from ctmember where company='$company' ";
//echo "<br>".$queryC."<br>";
//$resultC = mysql_query($queryC) or die ("Error in query: $queryC. " . mysql_error());
$results = mysqli_query($conn, $queryC);
$num = mysqli_num_rows( $results);
//$obj = mysqli_fetch_object($results);
if ($num > 0)
{
$row = mysqli_fetch_object($results);
$CTcount=$row->CTcount;
echo "count:".$CTcount;
$CTcount=$CTcount+1;
$queryU="update ctmember set ldate=NOW(),ltool='DP16',CTcount='$CTcount' where company='$company' ";
//$resultU = mysql_query($queryU) or die ("Error in query: $queryU. " . mysql_error());
$resultU = mysqli_query($conn, $queryU);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Displayer Check</title>
</head>
<body class="oneColElsCtr">
<?php
error_reporting(0);
//$tvifile= $_GET['tvifile'];
$f321= $_GET['f321'];
$name= $_GET['name'];
$company= $_GET['company'];
$device= $_GET['device'];
$instrument= $_GET['instrument'];
$display= $_GET['display'];
include 'de00.php';
$sum=200;
$check=1;
$dtime=time();
$dStr=substr($dtime,7,9)."-";
//$myip = $_SERVER['REMOTE_ADDR'];
//unlink('targetrgb.ti3');
//move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$_FILES["file"]["name"]);
//$pieces = explode("-", $_FILES["file"]["name"]);
//$id=$pieces[0];
/////////////////////////////////////transfer vi.ti3
//mysql_close($connection);
///////////////////////////////////////////////////////////////////////////////////////////////
//move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]);
// echo $_FILES["file"]["name"] ." upload sucess! " . "<br />";
echo "Fogra39 SoftProof Report start: " . "<br />";
// echo "Stored in: " . "upload/" . $_FILES["file"]["name"]. "<br />";
// $contents = file("upload/".$_FILES["file"]["name"]);
//$filename=$_FILES["file"]["name"];
$contents = file($f321);
$filedb=substr($f321,7,60);
$dbstr=explode("_", $filedb);
echo $dbstr[0]."XX".$dbstr[1]."XX".$dbstr[2]."XX".$dbstr[3].$dbstr[4].$dbstr[5];
$filename=$filedb;
$po=$dbstr[1];
$string = implode($contents);
//echo $contents[20];
//echo $string;
$p = ereg_replace("\r\n?", " ", $string);
//$p = str_replace("\n", ' ', $p);
$p = str_replace("\n", ' ', $p);
$dotTM=explode("_", $p);
//cho "dotTM:";
//print_r($dotTM);
$snstring=$dotTM[48];
ctcounter($company,$myip,$area,$country,$snstring,'DP16');
function get_between ($text, $s1, $s2) {
$mid_url = "";
$pos_s = strrpos($text,$s1);
$pos_e = strrpos($text,$s2);
for ( $i=$pos_s+strlen($s1) ; (( $i<($pos_e)) && $i < strlen($text)) ; $i++ ) {
$mid_url .= $text[$i];
}
return $mid_url;
}
$targrt=file("FograCT15.txt");
$stringT = implode($targrt);
$pT = str_replace("\r\n?", " ", $stringT);
$pT = str_replace("\n", ' ', $pT);
//echo "<br>pT:".$pT;
$datastring=get_between($pT,"BEGIN_DATA","END_DATA");
$dotT=explode(" ", $datastring);
$datastring=get_between($p,"BEGIN_DATA","END_DATA");
$dot = explode(" ", $datastring);
$WX=$dotTM[0];
//$WY=$dotw[2];
$WY=$dotTM[1];
//$WZ=substr($dotw[3],0,-2);
$WZ=$dotTM[2];
//$WX=96.42;$WY=100;$WY=82.52;
echo "<br /><br />Luminance:".$WX.",".$WY.",".$WZ;
//echo "<br />First set:".$dotTM[3];
//echo ",".$dotTM[4];
//echo ",".$dotTM[5]."<br />"."<br />";
$i=4;
function getL($WXi,$WYi,$WZi,$Xi,$Yi,$Zi){
$yr=$Yi/$WYi;
if ($yr>0.008856) {
$fy=pow($yr, 1/3);
}
else {
$fy=((903.3*$yr)+16)/116;
}
$Li=(116*$fy)-16;
return round($Li,2);
}
function geta($WXi,$WYi,$WZi,$Xi,$Yi,$Zi){
$yr=$Yi/$WYi;
if ($yr>0.008856) {
$fy=pow($yr, 1/3);
}
else {
$fy=((903.3*$yr)+16)/116;
}
$xr=$Xi/$WXi;
if ($xr>0.008856) {
$fx=pow($xr, 1/3);
}
else {
$fx=((903.3*$xr)+16)/116;
}
$ai=500*($fx-$fy);
return round($ai,2);
}
function getb($WXi,$WYi,$WZi,$Xi,$Yi,$Zi){
$yr=$Yi/$WYi;
if ($yr>0.008856) {
$fy=pow($yr, 1/3);
}
else {
$fy=((903.3*$yr)+16)/116;
}
$zr=$Zi/$WZi;
if ($zr>0.008856) {
$fz=pow($zr, 1/3);
}
else {
$fz=((903.3*$zr)+16)/116;
}
$bi=200*($fy-$fz);
return round($bi,2);
}
function de76($l1,$a1,$b1,$l2,$a2,$b2) {
$d76=sqrt(pow(($l1-$l2),2)+ pow(($a1-$a2),2)+pow(($b1-$b2),2));
return round($d76,2);
}
function de94($l1,$a1,$b1,$l2,$a2,$b2) {
$cp=SQRT(pow($a1,2)+pow($b1,2));
$ctp=SQRT(pow($a2,2)+pow($b2,2));
$d76=sqrt(pow(($l1-$l2),2)+ pow(($a1-$a2),2)+pow(($b1-$b2),2));
$dph=SQRT(ABS(pow($d76,2)-pow(($l1-$l2),2)-pow((SQRT(pow($a1,2)+pow($b1,2))-SQRT(pow($a2,2)+pow($b2,2))),2)));
$dcp=$ctp-$cp;
$d94=SQRT((pow((($l1-$l2)/(1*1)),2))+pow(($dcp/(1*(1+(0.045*$cp)))),2)+ pow(($dph/(1*(1+(0.015*$cp)))),2));
return round($d94,2);
}
$sum=0;
$x = $dotTM[0] / ($dotTM[0] + $dotTM[1] + $dotTM[2]);
$y = $dotTM[1] / ($dotTM[0] + $dotTM[1] + $dotTM[2]);
$n = ($x - 0.3320) / (0.1858 - $y);
$CCT = 437 * pow($n, 3) + 3601 * pow($n, 2) + 6861 * $n + 5517;
//echo "CCT:".$CCT;
?>
<table width="200" border="1" align="center">
<tr>
<td>CCT</td><td colspan="3"><?php echo round($CCT,2);?></td>
<td>cdm2</td><td colspan="3"><?php echo $dotTM[1];?></td>
</tr>
<tr align='center'>
<td align='center'>NO</td><td>實測L</td><td>實測a</td><td>實測b</td><td>目標L</td><td>目標a</td><td>目標b</td><td>dE(00)</td>
<?php
$TT76=0;
$max76=0;
$max1=0;
$max2=0;
$sum=0;
$bbcolor='#FFFFFF';
$arr =array();
$a90sum=0;
$fcsum="";
$i=3;
for ( $j = 0; $j <=3; $j+= 1) {
$X = $dotTM[$i+(($j)*3)];
$Y = $dotTM[$i+1+(($j)*3)];
$Z = $dotTM[$i+2+(($j)*3)];
$L= getL($WX,$WY,$WZ,$X,$Y,$Z);
$a= geta($WX,$WY,$WZ,$X,$Y,$Z);
$b= getb($WX,$WY,$WZ,$X,$Y,$Z);
$de76r=de76($L,$a,$b,$dotT[$j*8+6],$dotT[$j*8+7],$dotT[$j*8+8]);
$de94r=de00($L,$a,$b,$dotT[$j*8+6],$dotT[$j*8+7],$dotT[$j*8+8]);
$sum=$de94r+$sum;
$no=$j+1;
if ($j==0) {
$bbcolor='#66FFFF';}
elseif ($j==1) {
$bbcolor='#66FFFF';}
elseif ($j==2) {
$bbcolor='#FFCCFF';}
elseif ($j==3) {
$bbcolor='#FFCCFF';}
if ($no==1) {
$CL=round($L,2);
$Ca=round($a,2);
$Cb=round($b,2);}
elseif ($no==2) {
$CL70=round($L,2);
$Ca70=round($a,2);
$Cb70=round($b,2);}
elseif ($no==3) {
$ML=round($L,2);
$Ma=round($a,2);
$Mb=round($b,2);}
elseif ($no==4) {
$ML70=round($L,2);
$Ma70=round($a,2);
$Mb70=round($b,2);}
echo "<tr align='right'><td bgcolor=".$bbcolor.">".$no."</td><td bgcolor=".$bbcolor.">".round($L,2)."</td><td bgcolor=".$bbcolor.">".round($a,2)."</td><td bgcolor=".$bbcolor.">".round($b,2)."</td><td bgcolor=".$bbcolor.">".$dotT[$j*8+6]."</td><td bgcolor=".$bbcolor.">".$dotT[$j*8+7]."</td><td bgcolor=".$bbcolor.">".$dotT[$j*8+8]."</td><td bgcolor=".$bbcolor.">";
if ($de94r>2) {
echo "<font color='red'>";}
else {"<font color='green'>";}
echo round($de94r,2)."</td></tr>";
$TT94=$de94r+$TT94;
$max1=max($max1,$de94r);
$max94=max($max1,$de94r);
array_push($arr, $de94r);
}
for ( $j = 4; $j <=14; $j+= 1) {
$X = $dotTM[$i+(($j)*3)];
$Y = $dotTM[$i+1+(($j)*3)];
$Z = $dotTM[$i+2+(($j)*3)];
$L= getL($WX,$WY,$WZ,$X,$Y,$Z);
$a= geta($WX,$WY,$WZ,$X,$Y,$Z);
$b= getb($WX,$WY,$WZ,$X,$Y,$Z);
$de76r=de76($L,$a,$b,$dotT[$j*8+6],$dotT[$j*8+7],$dotT[$j*8+8]);
$de94r=de94($L,$a,$b,$dotT[$j*8+6],$dotT[$j*8+7],$dotT[$j*8+8]);
$sum=$de94r+$sum;
$no=$j+1;
if ($j==4) {
$bbcolor='#FFFF99';}
elseif ($j==5) {
$bbcolor='#FFFF99';}
elseif ($j==6) {
$bbcolor='#cccccc';}
elseif ($j==7) {
$bbcolor='#9BCDFF';}
elseif ($j==8) {
$bbcolor='#9BCDFF';}
elseif ($j==9) {
$bbcolor='#FFBBAA';}
elseif ($j==10) {
$bbcolor='#FFBBAA';}
elseif ($j==11) {
$bbcolor='#CAFFDB';}
elseif ($j==12) {
$bbcolor='#CAFFDB';}
elseif ($j==13) {
$bbcolor='#ffffff';}
elseif ($j==14) {
$bbcolor='#bbbbbb';}
if ($no==5) {
$YL=round($L,2);
$Ya=round($a,2);
$Yb=round($b,2);}
elseif ($no==6) {
$YL70=round($L,2);
$Ya70=round($a,2);
$Yb70=round($b,2);}
elseif ($no==7) {
$BKL=round($L,2);
$BKa=round($a,2);
$BKb=round($b,2);}
elseif ($no==8) {
$BL=round($L,2);
$Ba=round($a,2);
$Bb=round($b,2);}
elseif ($no==9) {
$BL70=round($L,2);
$Ba70=round($a,2);
$Bb70=round($b,2);}
elseif ($no==10) {
$RL=round($L,2);
$Ra=round($a,2);
$Rb=round($b,2);}
elseif ($no==11) {
$RL70=round($L,2);
$Ra70=round($a,2);
$Rb70=round($b,2);}
elseif ($no==12) {
$GL=round($L,2);
$Ga=round($a,2);
$Gb=round($b,2);}
elseif ($no==13) {
$GL70=round($L,2);
$Ga70=round($a,2);
$Gb70=round($b,2);}
elseif ($no==14) {
$PL=round($L,2);
$Pa=round($a,2);
$Pb=round($b,2);}
elseif ($no==15) {
$GrL=round($L,2);
$Gra=round($a,2);
$Grb=round($b,2);}
echo "<tr align='right'><td bgcolor=".$bbcolor.">".$no."</td><td bgcolor=".$bbcolor.">".round($L,2)."</td><td bgcolor=".$bbcolor.">".round($a,2)."</td><td bgcolor=".$bbcolor.">".round($b,2)."</td><td bgcolor=".$bbcolor.">".$dotT[$j*8+6]."</td><td bgcolor=".$bbcolor.">".$dotT[$j*8+7]."</td><td bgcolor=".$bbcolor.">".$dotT[$j*8+8]."</td><td bgcolor=".$bbcolor.">";
if ($de94r>2) {
echo "<font color='red'>";}
else {"<font color='green'>";}
echo $de94r."</td></tr>";
$TT94=$de94r+$TT94;
$max1=max($max1,$de94r);
$max94=max($max1,$de94r);
array_push($arr, $de94r);
}
//////////////////////////////
sort($arr);
$score95 = $arr[round((90/100) * count($arr)-0.5)];
for ( $a = 0; $a <= 8; $a+= 1) {
$a90sum=$a90sum+$arr[$a];
}
echo "<tr align='right'><td bgcolor='#FFBBAA'>Avg</td><td bgcolor='#FFBBAA'>".round(($TT94/10),2)."</td><td bgcolor='#FFBBAA'>Max</td><td bgcolor='#FFBBAA'>".round($max94,2)."</td></tr>";
$a90sum=$a90sum-$max94;
if (($a90sum/9)>2) {
$fcsum= "<font color='red'>";}
else {
$fcsum="<font color='green'>";}
if ($score95>3.5) {
$fcm= "<font color='red'>";}
else {
$fcm="<font color='green'>";}
echo "<tr align='right'><td bgcolor='#CAFFDB'>A90%</td><td bgcolor='#CAFFDB'>".$fcsum.round(($a90sum/42),2)."</td><td bgcolor='#CAFFDB'>Mx90%</td><td bgcolor='#CAFFDB'>".$fcm.round($score95,2)."</td></tr>";
$summ=100-$sum;
?>
<tr> <td> score </td><td><?php echo round($summ,2);?></td></tr>
</table>
<?php
$servername = "127.0.0.1";
$username = "root";
$password = "fredsql";
$DBNAME = "tvicheck-st";
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//echo "Connected successfully";
if( !mysqli_select_db($conn, $DBNAME)) {
die ("無法選擇資料庫");
}
mysqli_query( $conn, "SET NAMES 'utf8'");
$querys = "select score, filename from dptool where po='$po' ORDER BY id DESC LIMIT 1 ";
//echo "sql:".$querys;
$results = mysqli_query($conn, $querys);
$num = mysqli_num_rows( $results);
//$obj = mysqli_fetch_object($results);
if ($num > 0)
{
$row = mysqli_fetch_object($results);
$sqName=$row->filename;
$scoreq=$row->score;}
else { $sNo=1;}
//echo "sqName:".$sqName;
if ($summ<>$scoreq) {
// generate and execute query
$query = "INSERT INTO dptool(company, contact, ip, email, type, filename, po, sn, score, passbit, date, device, dsn, rankbit) VALUES('$company', '$name', '$myip','$email', '$display', '$filedb','$po','$snstring','$summ', '$passbit', NOW(), '$instrument', '$dsn', '$rankbit')";
$result = mysqli_query($conn, $query);
}
mysqli_close($conn);
?>
</table>
<table width="200" border="1" align="center">
<tr>
<td><div align="center">
<?php // content="text/plain; charset=utf-8"
require_once ('../jpgraph/jpgraph.php');
require_once ('../jpgraph/jpgraph_scatter.php');
//unlink('targetrgb.ti3');
unlink('scatterGu.png');
//unlink('scatterGuF.png');
//unlink('scatterGuA.png');
$datax = array(-37,22,74,68,-5,-65,-37);//Fogra39
$datay = array(-50,-46,-3,48,93,27,-50);
$datax2 = array($Ca,$Ba,$Ma,$Ra,$Ya,$Ga,$Ca);//Sample
$datay2 = array($Cb,$Bb,$Mb,$Rb,$Yb,$Gb,$Cb);
$datax3 = array(-25,18,51,47,-5,-40,-25);//Fogra39 70%
$datay3 = array(-37,-37,-7,38,63,21,-37);
$datax4 = array($Ca70,$Ba70,$Ma70,$Ra70,$Ya70,$Ga70,$Ca70);//Sample 70%
$datay4 = array($Cb70,$Bb70,$Mb70,$Rb70,$Yb70,$Gb70,$Cb70);
$graph = new Graph(600,600);
$graph->img->SetMargin(40,40,40,40);
$graph->img->SetAntiAliasing();
$graph->SetScale("linlin");
$graph->SetShadow();
$graph->title->Set("Fogra39 in Red");
$graph->title->SetFont(FF_FONT1,FS_BOLD);
$graph->SetBackgroundImage("lab.png",BGIMG_FILLFRAME);
//$sp1->SetColor("#55bbdd");
//$sp1->SetLegend('Line 1');
$sp1 = new ScatterPlot($datay,$datax);
$sp1->SetLinkPoints(true,"red",2);
$sp1->mark->SetType(MARK_FILLEDCIRCLE);
$sp1->mark->SetFillColor("red");
$sp1->mark->SetWidth(3);
$sp3 = new ScatterPlot($datay3,$datax3);
$sp3->SetLinkPoints(true,"#FFaaaa",2);
$sp3->mark->SetType(MARK_FILLEDCIRCLE);
$sp3->mark->SetFillColor("#FFCCCC");
$sp3->mark->SetWidth(3);
$sp2 = new ScatterPlot($datay2,$datax2);
$sp2->SetLinkPoints(true,"#55bbdd",2);
$sp2->mark->SetType(MARK_FILLEDCIRCLE);
$sp2->mark->SetFillColor("#55bbdd");
$sp2->mark->SetWidth(3);
$sp4 = new ScatterPlot($datay4,$datax4);
$sp4->SetLinkPoints(true,"#77cccc",2);
$sp4->mark->SetType(MARK_FILLEDCIRCLE);
$sp4->mark->SetFillColor("#55bbdd");
$sp4->mark->SetWidth(3);
$graph->Add($sp1);
$graph->Add($sp2);
$graph->Add($sp3);
$graph->Add($sp4);
//$graph->Stroke();
$graph->Stroke('scatterGu.png');
?>
<img src="scatterGu.png">
</div></td></tr>
</table>
<tr>
<br />
<td align="center"><font size="-2"> © <a href="mailto:[email protected]">Fred Kuo</a>, 2010. All rights reserved.<br><a href="http://www.fredkuo.idv.tw/wordpress/?p=1025">Read more.</a><br>
</td>
</tr>
</body>
</html>