www/export_waters.php

Wed, 20 May 2020 21:49:09 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Wed, 20 May 2020 21:49:09 +0200
changeset 684
ccb9f24d0fe9
parent 563
acdd54144838
child 788
812ce4c5da2a
permissions
-rw-r--r--

Report any online status change via websocket broadcast. When starting, load all in memory tables sorted. The websocket status on the web pages has it's own panel. Prepared the menu system for dynamic updates.

<?php
require_once($_SERVER['DOCUMENT_ROOT'].'/config.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/includes/formulas.php');


$link = mysqli_connect(DBASE_HOST,DBASE_USER,DBASE_PASS,DBASE_NAME);
if (! $link) {
	die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
}
if (! mysqli_set_charset($link, "utf8" )) {
	echo "error";
	return 1;
}

$result = mysqli_query($link, "SELECT * FROM inventory_waters ORDER BY name");
$row = mysqli_fetch_array($result);



/*
 * Create beerxml output
 */
$xw = xmlwriter_open_memory();
xmlwriter_set_indent($xw, 1);
$res = xmlwriter_set_indent_string($xw, ' ');

xmlwriter_start_document($xw, '1.0', 'UTF-8');


xmlwriter_start_element($xw, 'WATERS');
while ($row = mysqli_fetch_array($result)) {

	xmlwriter_start_element($xw, 'WATER');

	xmlwriter_start_element($xw, 'VERSION');
	xmlwriter_text($xw, '1');
	xmlwriter_end_element($xw);

	xmlwriter_start_element($xw, 'NAME');
	xmlwriter_text($xw, $row['name']);
	xmlwriter_end_element($xw);

	if (floatval($row['cost']) > 0) {
                xmlwriter_start_element($xw, 'COST');
                xmlwriter_text($xw, sprintf("%.5f",floatval($row['cost'])));
                xmlwriter_end_element($xw);
        }

        if (strlen($row['notes'])) {
                xmlwriter_start_element($xw, 'NOTES');
                xmlwriter_text($xw, $row['notes']);
                xmlwriter_end_element($xw);
        }

	xmlwriter_start_element($xw, 'CALCIUM');
        xmlwriter_text($xw, sprintf("%.4f",floatval($row['calcium'])));
        xmlwriter_end_element($xw);

        xmlwriter_start_element($xw, 'BICARBONATE');
        xmlwriter_text($xw, sprintf("%.4f",floatval($row['bicarbonate'])));
        xmlwriter_end_element($xw);

        xmlwriter_start_element($xw, 'SULFATE');
        xmlwriter_text($xw, sprintf("%.4f",floatval($row['sulfate'])));
        xmlwriter_end_element($xw);

        xmlwriter_start_element($xw, 'CHLORIDE');
        xmlwriter_text($xw, sprintf("%.4f",floatval($row['chloride'])));
        xmlwriter_end_element($xw);

        xmlwriter_start_element($xw, 'SODIUM');
        xmlwriter_text($xw, sprintf("%.4f",floatval($row['sodium'])));
        xmlwriter_end_element($xw);

        xmlwriter_start_element($xw, 'MAGNESIUM');
        xmlwriter_text($xw, sprintf("%.4f",floatval($row['magnesium'])));
        xmlwriter_end_element($xw);

        xmlwriter_start_element($xw, 'TOTAL_ALKALINITY');
        xmlwriter_text($xw, sprintf("%.4f",floatval($row['total_alkalinity'])));
        xmlwriter_end_element($xw);

        xmlwriter_start_element($xw, 'PH');
        xmlwriter_text($xw, sprintf("%.5f",floatval($row['ph'])));
        xmlwriter_end_element($xw);

	xmlwriter_end_element($xw);	// WATER
}
xmlwriter_end_element($xw);	// WATERS

$beerxml = xmlwriter_output_memory($xw);

Header('Content-type: text/xml');
header('Content-Disposition: attachment; filename="waters.xml"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Pragma: no-cache');
header('Content-Length: '.strlen($beerxml));
exit($beerxml);

mercurial