getMessage(); } $cmd = $_REQUEST['cmd']; $tableName = $_REQUEST['tableName']; function dumpAndProcessTable($tableName) { // Set the path to the SQLite3 executable $sqlitePath = "bin\sqlite3.exe"; // Dump the SQLite table to a TSV file $tsvFile = $tableName . ".txt"; $dumpCommand = "bin\sqlite3.exe {$_SESSION['modname']}.db \"SELECT * FROM string\" -separator \"\t\" -cmd \".mode tabs\" -cmd \".headers off\" > \"{$_SESSION['tbl']}{$tsvFile}\""; shell_exec($dumpCommand); // Run the executable with the TSV file as input $executablePath = "bin\EnquettarM.exe"; $processCommand = "{$executablePath} -i \"{$_SESSION['tbl']}{$tsvFile}\""; $etxt = 'ModString.txt'; $etbl = 'ModString.tbl'; shell_exec($processCommand); // now file is generated in rootdir, etbl, which we need to move to session tbl rename($etbl, "{$_SESSION['tbl']}/$tableName.tbl"); // Remove the generated ModString.tbl //unlink($etbl); } if ($cmd == "getTable") { $query = "SELECT ROWID,* FROM $tableName"; $rows = PDO_Execute($query); // Start the table with Bootstrap classes $tableMarkup = ''; // Iterate over the rows foreach ($rows as $row) { $string = str_replace('\n', " ", $row['String']); $tableMarkup .= ""; $tableMarkup .= "{$row['rowid']}"; // Display the Key column as a text input with Bootstrap form-control class $tableMarkup .= "{$row['Key']}"; // Display the String column as a textarea with Bootstrap form-control class $tableMarkup .= ""; // Add the Update and Delete links within a single td element $tableMarkup .= "
"; // Add the Update link with Bootstrap btn and btn-primary classes $tableMarkup .= "Update"; // Add the Delete link with Bootstrap btn and btn-danger classes $tableMarkup .= "Delete"; $tableMarkup .= "
"; $tableMarkup .= ""; } // Return the table markup echo $tableMarkup; } if ($cmd == "update") { $query = "UPDATE $tableName SET Key = ?, String = ? WHERE ROWID = ?"; PDO_Execute($query, [$_REQUEST['key'], $_REQUEST['string'], $_REQUEST['rowid']]); dumpAndProcessTable($tableName); echo $_REQUEST['key'] . " updated"; } if ($cmd == "delete") { $query = "DELETE FROM $tableName WHERE ROWID = ?"; PDO_Execute($query, [$_REQUEST['rowid']]); dumpAndProcessTable($tableName); echo $_REQUEST['rowid'] . " deleted"; } if ($cmd == "add") { $tableName = $_POST['tableName']; $key = $_POST['Key']; $string = $_POST['String']; // Create your insert statement using the provided values $query = "INSERT INTO $tableName (Key, String) VALUES (?, ?)"; $params = array($key, $string); // Execute the insert statement $result = PDO_Execute($query, $params); // Retrieve the last inserted rowid from the table $query = "SELECT last_insert_rowid() AS rowid"; $result = PDO_FetchOne($query); echo $result; dumpAndProcessTable($tableName); }