public static function genTableList() { $sql = new \sql\Database(); $sql->selectDB(\util\Config::$database->tablesDB); $table_names = $sql->tableNames(); $list = ""; foreach ($table_names as $tname) { $list .= "<li><a href=\"run_report.php?table=" . $tname . "\">" . $tname . "</a></li>"; } return $list; }
public static function convertToSql($input_filepath, $dbname) { $objPHPExcel = self::loadFile($input_filepath); $tables = array(); foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) { $tbl = new \excel2sql\SqlTable($worksheet, $input_filepath); if ($tbl->finalize()) { $tables[$tbl->name] = $tbl->finalize(); } else { error_log("table import failed: {$input_filepath}/{$tbl->name}"); } } $sql = new \sql\Database(); $sql->selectDB($dbname); $table_names = array(); foreach ($tables as $tname => $queries) { $sql->query($queries["drop"]); $sql->query($queries["creation"]); $sql->query($queries["insertion"]); $table_names[] = $tname; } return $table_names; }
<?php require_once __DIR__ . "/bootstrap.php"; $sql = new \sql\Database(); $report = null; if (isset($_GET['report'])) { $report = \reports\Report::get($_GET['report']); $sql->selectDB(\util\Config::$database->tablesDB); $report->run($sql); } else { if (isset($_GET['table'])) { $sql->selectDB(\util\Config::$database->tablesDB); $table = $_GET['table']; $chart = new \reports\Chart(); $chart->setType('Table'); $report = new \reports\Report(); $report->setTitle($table)->setQuery("SELECT * FROM {$table}")->setChart($chart)->run($sql); } else { if (isset($_GET['serial'])) { $report = \reports\Report::unserialize($_GET['serial']); $sql->selectDB(\util\Config::$database->tablesDB); $report->run($sql); } } } if (!is_null($report)) { $header = new \html\Header(); $header->title(\util\Config::$app->name)->css('css/style.min.css')->js('js/jquery.min.js', 'js/bootstrap.min.js')->addToIncludes($report->script('chart_container')); $content = "<div id='chart_container' class='chart'></div>"; echo "<!DOCTYPE html>\n<html lang='en'>" . $header->html() . "<body>\n\t\t\t<header>" . \util\Html::genNavbar() . "</header>\n\t\t\t<article>\n\t\t\t\t{$content}\n\t\t\t</article>\n\t\t\t<footer>\n\t\t\t</footer>\n\t\t</body>\n\t</html>"; }
public static function update($report) { $sql = new \sql\Database(); $sql->selectDB(\util\Config::$database->reportsDB); $sql->query("UPDATE reports SET serial='" . $report->serialize() . "'" . "WHERE title='" . $report->title() . "'"); }
if (isset($_POST['submit'])) { foreach ($_POST as $k => $v) { $_POST[$k] = trim($v); } if (!empty($_POST['title'])) { $title = $_POST['title']; } else { $errors[] = "You must provide a title in order to create a report!"; } if (!empty($_POST['sql'])) { $query = $_POST['sql']; } else { $errors[] = "You must provide sql in order to create a report!"; } if (count($errors) === 0) { $sql = new \sql\Database(); $sql->selectDB(\util\Config::$database->tablesDB); $hAxis = null; if (isset($_POST['hAxis'])) { $hAxis = $_POST['hAxis']; } $vAxis = null; if (isset($_POST['vAxis'])) { $vAxis = $_POST['vAxis']; } $column1 = null; if (isset($_POST['column1'])) { $column1 = $_POST['column1']; } $column2 = null; if (isset($_POST['column2'])) {
<?php require_once __DIR__ . "/bootstrap.php"; $file_tables = array(); if (!empty($_POST["spreadsheet"])) { $file_table = \excel2sql\SqlConvert::convertToSql($_POST['spreadsheet'], \util\Config::$database->tablesDB); unlink($_POST['spreadsheet']); } $sql = new \sql\Database(); $sql->selectDB(\util\Config::$database->tablesDB); $reports = array(); foreach ($file_table as $tname) { $chart = new \reports\Chart(); $chart->setType('Table'); $report = new \reports\Report(); $report->setTitle($tname)->setQuery("SELECT * FROM {$tname}")->setChart($chart)->run($sql); $reports[] = $report; } $header = new \html\Header(); $header->title(\util\Config::$app->name)->css('css/style.min.css')->js('js/jquery.min.js', 'js/bootstrap.min.js'); if (!empty($reports)) { $head = ''; for ($ir = 0; $ir < count($reports); ++$ir) { $head .= $reports[$ir]->script("chart_container_{$ir}"); } $content = ""; for ($ir = 0; $ir < count($reports); ++$ir) { $content .= "<div id=\"chart_container_{$ir}\"></div><br><br>"; } $header->addToIncludes($head); } else {