+<?php
+
+class ModuleAJAXBackend extends AJAXBackendBase {
+
+ public function machines()
+ {
+ $out = '';
+ $sql = "SELECT id,name FROM sprit_machine WHERE active = 1 ORDER BY name";
+ foreach ($this->db->fetchObjectList($sql) as $row) {
+ $out .= sprintf('<li>%s ', $row->name);
+ $out .= '<form action="list.php" method="POST" style="display:inline;">';
+ $out .= sprintf('<input type="hidden" name="machine" value="%d">', $row->id);
+ $out .= sprintf('<img src="%spix/arrowrightmonth.gif" onclick="machine_list(this);" style="margin-bottom:-4px;" title="Liste zeigen">',
+ $this->relativeRootPath());;
+ $out .= '</form>';
+ $out .= '</li>';
+ }
+ return array('status' => true, 'list' => $out);;
+ }
+
+ public function savemachine()
+ {
+ if (empty($_POST['id'])) {
+ $sql = sprintf("INSERT INTO sprit_machine (name,active,sys_user,sys_edit) " .
+ "VALUES (%s,1,%s,now())",
+ $this->db->quote(utf8_decode($_POST['name'])),
+ $this->db->quote($_SERVER['REMOTE_USER']));
+ } else {
+ $sql = sprintf("UPDATE sprit_machine SET name=%s,sys_edit=now(),sys_user=%s WHERE id = %d",
+ $this->db->quote(utf8_decode($_POST['name'])),
+ $this->db->quote($_SERVER['REMOTE_USER']),
+ $_POST['id']);
+ }
+ return array('status' => $this->db->execute($sql));
+ }
+
+ public function savelog()
+ {
+ $data = array('machine' => intval($_POST['machine']),
+ 'date' => assert_iso_date($_POST['date']),
+ 'city' => $_POST['city'],
+ 'tankstelle' => $_POST['tankstelle'],
+ 'price_liter' => str_replace(',','.',$_POST['price_liter']),
+ 'liter' => str_replace(',','.',$_POST['liter']),
+ 'price' => str_replace(',','.',$_POST['price']),
+ 'km' => intval($_POST['km']),
+ 'km_total' => intval($_POST['km_total']),
+ 'sys_edit' => 'now()',
+ 'sys_user' => $_SERVER['REMOTE_USER']);
+
+ foreach ($data as $k => $v)
+ if (empty($v))
+ json_error(sprintf('Field %s must not be empty', $k));
+
+ if (empty($_POST['id'])) {
+ $ok = $this->db->insertInto('sprit_log', $data);
+ } else {
+ $ok = $this->db->update('sprit_log', $data, 'id = ' . intval($_POST['id']));
+ }
+
+ $d = explode('-', $data['date']);
+ return array('status' => $ok, 'year' => $d[0]);
+ }
+
+ public function loadyear()
+ {
+ $log = new SpritLog();
+ return array('status' => true,
+ 'list' => $log->formatYear($_POST['year']),
+ 'year' => $_POST['year']);
+ }
+
+}