<?php function get_main () { $db = $GLOBALS["db"]; /* Args will be: name: Table Name limit: number of entries to return (default all) columns: This will be a comma delimited list of column names (in the order that it needs to be displayed) */ // BEGIN: Getting Args if exists if ( array_key_exists('action', $_GET)){ $action=$_GET['action']; } else { $action="show"; } // END: Getting Args if exists if ($action == "show"){ if ( ! array_key_exists("name", $_GET) ){ echo "A tablename was not provided with the request"; return 1; } else { $name=$_GET['name']; } if ( array_key_exists("limit", $_GET)){ $limit=$_GET['limit']; } else { $limit=0; } if ( array_key_exists("columns", $_GET)){ $columns = explode(',', $_GET["columns"]); } $query_modifier=""; if (filter_var($limit, FILTER_VALIDATE_INT)){ if ($limit > 0){ $query_modifier="WHERE LIMIT $limit"; } }else { $query_modifier=""; } $db = new SQLite3("../../webcron.db"); $res = $db->query("SELECT * FROM $name $query_modifier"); echo '<div class="wrapper bordered center_text">'; echo '<div class="log_table bordered">'; echo '<div class="table_row">'; if ( !empty($columns) ) { foreach($columns as $column_name){ echo "<div class=\"table_header\">{$column_name}</div>"; } } else { $counter=0; for ($i = 0; $i < $res->numColumns(); $i++ ){ echo "<div class=\"table_header\">{$res->columnName($i)}</div>"; $counter++; } } echo '</div>'; while ($row = $res->fetchArray()){ echo "<div class=\"table_row\">"; if ( !empty($columns) ) { foreach($columns as $column_name){ echo "<div class=\"table_cell\">{$row[$column_name]}</div>"; } } else { for ($i = 0; $i < $counter; $i++){ echo "<div class=\"table_cell\">{$row[$i]}</div>"; } } echo "</div>"; } echo '</div>'; echo '</div>'; } else if ($action == "list"){ $res = $db->query("SELECT name FROM sqlite_master WHERE type='table';"); while ($row = $res->fetchArray()){ echo "<button onclick='getTable(\"{$row['name']}\")'>{$row['name']}</button><br> "; } } } ?>