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; }