0) $justCreatedProductId = $rc; break; case "oldList": $listId = $_POST['oldListId']; $subCommand = $_POST['bSubmit']; if($subCommand == "remove") { removeShoppingList($listId); $listId = null; } break; case "trainRhasspy": echo "Triggering training in Rhasspy has not been implemented, yet."; break; } } displayShoppingList($listId, $justCreatedProductId); showDataMaintenance(); echo ""; mysqli_close(DBLink::getDbLink()); function addToList($productId) { if($productId > 0) { $SQL_command; if(oneListExists()) $SQL_command = "INSERT IGNORE INTO listEntries (listId, productId) VALUES ((SELECT id FROM `lists` ORDER BY creationTime DESC LIMIT 1), ".$productId.")"; else $SQL_command = "INSERT IGNORE INTO listEntries (listId, productId) VALUES ((INSERT INTO `lists` (creationTime) VALUES (".round(microtime(true) * 1000).") RETURN @id, ".$productId."))"; if (DBLink::getDbLink()->query($SQL_command)) echo "Product added to list.
"; else echo "Product could not be added to list.
"; } else echo "Select a product."; } function removeFromList($productId, $listId) { if($productId > 0) { if(oneListExists()) { $SQL_command = "DELETE FROM listEntries WHERE listId=".$listId." AND productId=".$productId; if (DBLink::getDbLink()->query($SQL_command)) echo "Product removed from list.
"; else echo "Product could not be removed from list.
"; } } else echo "Select a product."; } function oneListExists() { $SQL_command = "SELECT COUNT(id) as listAmount FROM lists"; $mysqli_result = DBLink::getDbLink()->query($SQL_command); if ($row = mysqli_fetch_object($mysqli_result)) { if($row->listAmount > 0) return true; } return false; } function twoListsExist() { $SQL_command = "SELECT COUNT(id) as listAmount FROM lists"; $mysqli_result = DBLink::getDbLink()->query($SQL_command); if ($row = mysqli_fetch_object($mysqli_result)) { if($row->listAmount > 1) return true; } return false; } function displayShoppingList($listId, $justCreatedProductId) { echo "
"; if(oneListExists()) { $list_SQL_command; if(isset($listId)) { $list_SQL_command = "SELECT * FROM lists WHERE id=".$listId; } else { $list_SQL_command = "SELECT * FROM lists ORDER BY creationTime DESC LIMIT 0,1"; $SQL_command_listId = "SELECT id FROM lists ORDER BY creationTime DESC LIMIT 0,1"; $mysqli_result = DBLink::getDbLink()->query($SQL_command_listId); if ($row = mysqli_fetch_object($mysqli_result)) $listId = $row->id; } $mysqli_result = DBLink::getDbLink()->query($list_SQL_command); if ($row = mysqli_fetch_object($mysqli_result)) { echo "List created on ".date("l, d.m.Y", ($row->creationTime)/1000)." at ".date("G:i:s", ($row->creationTime)/1000)."
"; if(isset($row->comment) && strlen($row->comment) > 0) echo "".$row->comment."
"; echo "
"; } $SQL_command = "SELECT * FROM listEntries INNER JOIN products ON listEntries.productId=products.id INNER JOIN storeTypes ON products.storeTypeId = storeTypes.id WHERE listEntries.listId=".$listId." ORDER BY storeTypes.name, products.name ASC"; $mysqli_result = DBLink::getDbLink()->query($SQL_command); $lastShop=""; while ($row = mysqli_fetch_array($mysqli_result)) { if(isset($lastShop) && $lastShop != "" && $row[7] != $lastShop) echo ""; if(!isset($lastShop) || $row[7] != $lastShop) { $lastShop = $row[7]; echo $lastShop."
================"; echo ""; } echo ""; } echo "
".$row[3]."
"; } else echo "No list exists, yet."; } function showDataMaintenance() { echo "
"; echo "

Data maintenance

Create new list

Create new product

You can enter synonyms. Separate all terms with semikolons."; if(twoListsExist()) { $SQL_command = "SELECT * FROM lists ORDER BY creationTime DESC"; $mysqli_result = DBLink::getDbLink()->query($SQL_command); echo "

Show specific list

"; echo "
"; } echo "

Train Rhasspy

"; } function displayProductList() { $SQL_Befehl = "SELECT name, synonyms FROM products ORDER BY products.name ASC"; $mysqli_result = DBLink::getDbLink()->query($SQL_Befehl); $lastShop=""; while ($row = mysqli_fetch_array($mysqli_result)) { if(is_null($row[1])) echo $row[0]."\n"; else echo "(".str_replace(";", "|", $row[1])."|".$row[0]."):".$row[0]."\n"; } } function createNewShoppingList() { $date = new DateTime(); $SQL_command = "INSERT INTO lists (creationTime) VALUES (".($date->getTimestamp() * 1000).")"; if (DBLink::getDbLink()->query($SQL_command)) echo "New list has been created.
"; else echo "Error creating new list.
"; } function removeShoppingList($listId) { $date = new DateTime(); $SQL_command = "DELETE FROM lists WHERE id=".$listId; if (DBLink::getDbLink()->query($SQL_command)) echo "List has been deleted.
"; else echo "Error deleting list.
"; } function createProduct($productNames, $storeTypeId) { $date = new DateTime(); $SQL_command; if(strpos($productNames, ";") !== false) { $terms = explode(";", $productNames); $mainName = $terms[0]; $syns = ""; for($i=1; $i 0) $syns .= ";".$currentWord; } $syns = ltrim($syns, ';'); } if(strlen($syns) > 0) $SQL_command = "INSERT INTO products (name, synonyms, storeTypeId) VALUES (\"".$mainName."\", \"".$syns."\",".$storeTypeId.")"; else $SQL_command = "INSERT INTO products (name, storeTypeId) VALUES (\"".$productNames."\", ".$storeTypeId.")"; if (DBLink::getDbLink()->query($SQL_command)) { echo "New product has been created.
"; return DBLink::getDbLink()->insert_id; } else echo "Error creating new product.
"; return -1; } ?>