<?php
/**
*
* @version $Id$
* @copyright 2003
*/
if ($action == "generate") {
$path = $_REQUEST['scrubsPath'];
include_once('lib/Dommer.php');
include_once('lib/ClassWriter.php');
include_once('lib/ConfigWriter.php');
include_once('lib/Configer.php');
$dommer = new Dommer($path . 'scrubs-config.xml');
$document = $dommer->dominate();
$configWriter = new ConfigWriter($document);
$configWriter->write();
foreach ($document as $class) {
if ($class->tagname == "class") {
$className = $class->get_attribute("name");
$table = $class->get_attribute("table");
$classWriter = new ClassWriter($className);
$classChildren = $class->children();
foreach($classChildren as $classChild) {
switch ($classChild->tagname) {
case "primaryKey":
$field = $classChild->get_attribute("field");
$classWriter->setProperty($field);
break;
case "property":
$property = $classChild->get_attribute("name");
$classWriter->setProperty($property);
break;
case "relationship":
$type = $classChild->get_attribute("type");
$name = $classChild->get_attribute("name");
if ($type == "oneToMany") {
$objectArray = $classChild->get_attribute("objectArray");
$classWriter->setInclude($name);
$classWriter->setRelationship($name);
$classWriter->setObjectArray($objectArray);
}
break;
}
}
$classWriter->write();
}
}
$configer = new Configer(null, true);
$configer->setSectionValue("database", "type", "mysql");
$configer->setSectionValue("database", "host", $_REQUEST['host']);
$configer->setSectionValue("database", "database", $_REQUEST['db']);
$configer->setSectionValue("database", "username", $_REQUEST['username']);
$configer->setSectionValue("database", "password", $_REQUEST['password']);
$configer->save();
} else {
?>
<html>
<head>
<title>Scrubs Generator</title>
</head>
<body>
<form action="scrubs.php" method="POST">
absolute path for Scrubs directory: <input type="text" name="scrubsPath" /> (Eg. c:\apache\Scrubs\ use trailing slash)<br>
database host: <input type="text" name="host"> <br>
database name: <input type="text" name="db"> <br>
database username: <input type="text" name="username"> <br>
database password: <input type="password" name="password"> <br>
<input type="hidden" name="action" value="generate">
<input type="submit" name="submit" value="Generate">
</form>
</body>
</html>
<? }
?>
|