+<html>
+<head>
+<title>Bliep</title>
+<link rel="stylesheet" type="text/css" href="s.css" />
+<script src="js/canvastext.js"></script>
+<script src="js/gnuplot_common.js"></script>
+<script src="js/gnuplot_mouse.js"></script>
+</head>
+<body>
+<canvas id="bliep" width=900 height=600>
+<div id="err_msg">No support for HTML 5 canvas element</div>
+</canvas>
+<?php
+error_reporting(E_ALL);
+ini_set('display_errors', '1');
+
+//FIXME
+$conn = mysqli_connect("localhost", "USER", "PASSWORD", "bliep");
+if (!$conn) {
+ die(sprintf("Connect error: %s\n", mysqli_connect_error()));
+}
+
+$descriptorspec = array(
+ 0 => array("pipe", "r"),
+ 1 => array("pipe", "w"),
+ 2 => array("pipe", "w")
+);
+$process = proc_open('gnuplot', $descriptorspec, $pipes);
+$tmpfile = tempnam("/tmp", "bliep");
+$tmphandle = fopen($tmpfile, "w");
+$gnuplot =<<<GNUPLOT
+set term canvas size 900,600 name 'bliep'
+set xlabel "Weeknumber"
+set ylabel "Count"
+set xrange [-0.5:*]
+set xtics 1
+set ytics 0.25
+set style data histograms
+set style histogram rowstacked
+set boxwidth 1 relative
+set style fill solid 1.0 border -1
+set title "Telefoon gebruik"
+
+GNUPLOT;
+fwrite($pipes[0], $gnuplot);
+$r = mysqli_query($conn, "
+SELECT WEEK(date), amount, description
+FROM data
+WHERE YEAR(date)=2016
+");
+if($r === FALSE){
+ die(sprintf("Query error: %s\n", mysqli_error($conn)));
+}
+$data = array();
+while($row = mysqli_fetch_array($r)){
+ if(!array_key_exists($row[0], $data)){
+ $data[$row[0]] = array(
+ "sms" => 0.0,
+ "bel" => 0.0,
+ "int" => 0.0,
+ "opw" => 0.0
+ );
+ }
+ $row[1] = floatval(intval($row[1])*0.01);
+ if(strpos($row[2], "sms") !== FALSE){
+ $data[$row[0]]["sms"] += -$row[1];
+ } else if (strpos($row[2], "Bellen") !== FALSE){
+ preg_match_all('!\d+!', $row[2], $matches);
+ $nulnegen = strstr("0900", $matches[0][0]);
+ if($nulnegen === FALSE || $nulnegen != 0){
+ if($matches[0][0][0] === "0"){
+ $data[$row[0]]["bel"] += -$row[1];
+ }
+ }
+ } else if (strpos($row[2], "pwaardering") !== FALSE){
+ $data[$row[0]]["opw"] += $row[1];
+ } else {
+ $data[$row[0]]["int"] += -$row[1];
+ }
+}
+foreach($data as $key => $row){
+ fwrite($tmphandle, sprintf("%d\t%.2f\t%.2f\t%.2f\n",
+ intval($key), $row["int"], $row["bel"], $row["sms"]));
+}
+fclose($tmphandle);
+fwrite($pipes[0], sprintf("
+plot '%s' using 2 t 'internet',\
+'' using 3 t 'bellen',\
+'' using 4 t 'sms'\
+\n", $tmpfile));
+fwrite($pipes[0], "quit\n");
+fclose($pipes[0]);
+$javascript = stream_get_contents($pipes[1]);
+fclose($pipes[1]);
+echo "err: " . stream_get_contents($pipes[2]);
+fclose($pipes[2]);
+$return_value = proc_close($process);
+unlink($tmpfile);
+
+$r = mysqli_query($conn, "
+SELECT amount, date, description
+FROM data
+ORDER BY date DESC LIMIT 25");
+if($r === FALSE){
+ die(sprintf("Query error: %s\n", mysqli_error($conn)));
+}
+echo "\n<table>\n";
+echo "<tr><td>Date</td><td>Amount</td><td>Description</td></tr>\n";
+while($row = mysqli_fetch_array($r)){
+ printf("<tr><td>%s</td><td>€%.2f</td><td>%s</td></tr>\n",
+ $row[1], intval($row[0])*0.01, $row[2]);
+}
+echo "</table>\n";
+mysqli_close($conn);
+echo "<script>$javascript</script>";
+?>
+<script>
+bliep()
+</script>
+</body>
+</html>