<?php
error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE);
include_once("mysqlreflection/mysqlreflection.config.php");
define("DESTINATION_PATH",dirname(__FILE__) . "/../models/beans/" );
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/html">
<head>
<title>MySQL Database Bean Builder</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap core CSS -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet" media="screen">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.js"></script>
<![endif]-->
<style>
.progress {
background: rgba(204, 237, 220, 1);
border: 5px solid rgba(56, 46, 166, 0.27);
border-radius: 10px; height: 36px;
}
</style>
<script>
var globalCount =0 ;
var globalPercent = 0;
</script>
<body>
<div class="container">
<h1>MySQL Database Beans generator</h1>
<h3>This utility performs automatically a source code generation of PHP
Classes from MySQL tables </h3>
<h4>Current database :<?= DBNAME ?> (to change it edit mysqlreflection.config.php)</h4>
<h4>Destination path :<?= DESTINATION_PATH ?></h4>
<a class="btn btn-success" onclick="document.getElementById('results').value = ''" href="?build=1"><span class="glyphicon glyphicon-wrench"></span> Generate classes</a>
<a href="../builders/index" class="btn btn-info"><span class="glyphicon glyphicon-home"></span> Home</a>
<br /> <br />
<div class="progress progress-striped">
<div class="progress-bar" role="progressbar" aria-valuenow="0"
aria-valuemin="0" aria-valuemax="100" style="width:0%">
</div>
</div>
<div class="text-center">
<textarea cols="140" rows="20" id="results" name "results"></textarea>
</div>
</div>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script>
function aggiornaProgressBar(done=false) {
var step = 2;
var progress = $('.progress-bar');
var currentValue = parseInt(progress.attr("aria-valuenow"));
globalCount = globalCount +1;
globalPercent = globalPercent +1;
if (currentValue==100) {
currentValue = 50;
}
currentValue += 1;
progress.attr("aria-valuenow",currentValue);
var percValue = currentValue + '%';
progress.css('width',percValue);
var textarea = document.getElementById('results');
textarea.scrollTop = textarea.scrollHeight;
if (done) {
progress.attr("aria-valuenow",100);
progress.css('width',"100%");
percValue = "Done. " + globalCount + " classes were generated";
}
progress.html(percValue);
}
function aggiornaTextArea(msg){
var m = msg + '
';
$('#results').append(m);
}
function setNumberOfTables(ntables){
if (numberOfTables === 'undefined' || !numberOfTables)
var numberOfTables=ntables;
}
</script>
</body>
<?php
if (isset($_GET["build"])) {
/**
* Demo application: generate classes from a mysql db schema
*/
// CLI mode
// error_reporting(E_ALL);
// include_once("mysqlreflection/mysqlreflection.config.php");
// header('Content-Type: text/html; charset=utf-8');
$msg = "Building classes for mysql schema:[" . DBNAME . "]";
// CLI mode
// echo $msg;
echo "<script>$('#results').append('" . $msg . "');</script>";
// Destination path for the generated classes
$destinationPath = DESTINATION_PATH;
// $destinationPath = "source/";
// Create reflection object and invoke classes generation from the specified schema into mysql_connection.inc.php
$reflection = new MVCMySqlSchemaReflection();
// Generates the classes into the given path. During the generation it outputs the results.
$reflection->generateClassesFromSchema($destinationPath);
// CLI Mode
// echo "<hr>Done.";
// echo "<script> window.scrollTo(0,document.body.scrollHeight);</script>";
echo "<script>$('#results').append('" . "Done." . "
" . "');</script>";
echo "<script>aggiornaProgressBar(true);</script>";
}
?>
|