Example #1
0
function generateMVC($debug_on)
{
    $debug = "Debug Info:<br>";
    $files = glob('../objects/*.{json}', GLOB_BRACE);
    $sql_all = '';
    foreach ($files as $file) {
        $filename = basename($file, '.json');
        if ($filename == 'DEFAULT') {
            continue;
        }
        $debug .= '<h3>' . $filename . '</h3>';
        $myfile = fopen("../objects/DEFAULT.json", "r") or die("UNABLE TO OPEN FILE!");
        $default_json = fread($myfile, filesize("../objects/DEFAULT.json"));
        fclose($myfile);
        $myfile = fopen($file, "r") or die("UNABLE TO OPEN FILE!");
        $json = fread($myfile, filesize($file));
        fclose($myfile);
        $default_obj = json_decode($default_json, true);
        $obj = json_decode($json, true);
        $data = getData($obj, $default_obj, $filename);
        $sql = writeFullSQL($data['sql'], $filename);
        $model = writeFullModel($data['model'], $filename);
        $controller = writeFullController($filename);
        $debug .= '<br>------ SQL ---------------------<br><br>' . $sql . '<br><br>';
        $debug .= '<br>------ MODEL ---------------------<br><br>' . convertToHTML($model) . '<br><br>';
        $debug .= '<br>------ CONTROLLER ---------------------<br><br>' . convertToHTML($controller) . '<br><br>';
        $model = convertToFileText($model);
        $sql_all .= "\n" . $sql;
        writeToFile($model, '../../model/', $filename, '.php');
        $controller = convertToFileText($controller);
        writeToFile($controller, '../../controller/', $filename . 'Controller', '.php');
    }
    writeToFile($sql_all, '../sql/', 'create_tables', '.sql');
    if ($debug_on) {
        echo '<hr><div class="debug-info">' . $debug . '</div>';
    }
    return array('success' => 1, 'sql' => $sql_all, 'debug' => $debug);
}
function getRecordAsListItem( $structure, $record ) {
	$result = '';
	
	foreach ( $structure->getAttributes() as $attribute ) {
		$type = $attribute->type;
		$value = $record->getAttributeValue( $attribute );
		
		if ( is_a( $type, Structure ) ) {
			$result .= getRecordAsListItem( $type->getStructure(), $value );
		}
		else {
			$result .= convertToHTML( $value, $type );
		}
		$result .= ' - ';
	}
	$result = rtrim( $result, ' - ' );
	
	return $result;
}
	public function convert( $record ) {
		$result = new ArrayRecord( $this->structure );
		$result->setAttributeValue( $this->attribute, convertToHTML( $record->getAttributeValue( $this->attribute ), $this->attribute->type ) );
		
		return $result;
	}