<td><a class="changelink" href="{url 'IPF_Admin_Views_ListItems', array($app.path, $component->slug())}">{trans 'Change'}</a></td>
</tr>
{/foreach}
- {foreach $app.additions as $item}
- <tr>
- <th colspan="3" scope="row"><a href="{$item['url']}">{$item['title']}</a></th>
- </tr>
- {/foreach}
</tbody>
</table>
</div>
$app_list[] = (object)array(
'name' => $app->getTitle(),
'path' => $app->slug(),
- 'additions' => $app->getAdditions(),
'components' => $components,
);
}
public function __construct($data=array())
{
- $this->name = str_replace('_App', '', get_class($this));
+ $this->name = preg_replace('/_App$/', '', get_class($this));
$rc = new ReflectionClass($this);
$this->path = dirname($rc->getFileName()).DIRECTORY_SEPARATOR;
return $this->name;
}
- public function getLabel()
- {
- return str_replace('ipf_','',strtolower($this->name));
- }
-
- public function getAdditions()
- {
- return array();
- }
-
public function getTitle()
{
return $this->name;
$project = IPF_Project::getInstance();
$paths = array(IPF::get('project_path').'/db/migrations');
- foreach ($project->frameworkApps() as $app) {
+ foreach ($project->appList() as $app) {
$paths[] = $app->getPath() . 'migrations';
}
{
return array(
new IPF_Legacy_ORM_Command_BuildModels,
- new IPF_Legacy_ORM_Command_BuildContribModels,
new IPF_Legacy_ORM_Command_Sql,
new IPF_Legacy_ORM_Command_SyncDB,
new IPF_Legacy_ORM_Command_Fixtures,
+++ /dev/null
-<?php
-
-class IPF_Legacy_ORM_Command_BuildContribModels
-{
- public $command = 'buildcontribmodels';
- public $description = 'Build all contrib model classes';
-
- public function run($args=null)
- {
- print "Build all contrib model classes\n";
-
- $project = IPF_Project::getInstance();
-
- $extraAllwedReferences = array();
- foreach ($project->frameworkApps() as $app) {
- $models = IPF_ORM::generateModelsFromYaml($app->path, $extraAllwedReferences);
- $extraAllwedReferences = array_merge($extraAllwedReferences, $models);
- }
- }
-}
-
$project = IPF_Project::getInstance();
$paths = array();
- foreach ($project->customApps() as $app)
+ foreach ($project->appList() as $app)
$paths[] = $app->getPath();
- $extraAllowedReferences = $this->frameworkModels($project);
- IPF_ORM::generateModelsFromYaml($paths, $extraAllowedReferences);
- }
-
- private function frameworkModels($project)
- {
- $models = array();
- foreach ($project->frameworkApps() as $app)
- $models = array_merge($models, IPF_Legacy_ORM_App::appModelList($app));
- return $models;
+ IPF_ORM::generateModelsFromYaml($paths, array());
}
}
$project = IPF_Project::getInstance();
$paths = array(IPF::get('project_path'));
- foreach ($project->customApps() as $app)
+ foreach ($project->appList() as $app)
$paths[] = $app->path;
$fixtures = array();
{
print "Show all SQL DDL from model classes\n";
- $project = IPF_Project::getInstance();
-
- $sql = '';
-
- foreach ($project->frameworkApps() as $app)
- $sql .= IPF_ORM::generateSqlFromModels($app)."\n";
-
- foreach ($project->customApps() as $app)
- $sql .= IPF_ORM::generateSqlFromModels($app)."\n";
-
- print $sql;
+ foreach (IPF_Project::getInstance()->appList() as $app)
+ print IPF_ORM::generateSqlFromModels($app)."\n";
}
}
return implode("\n", $ret);
}
+
+ public static function GetObjectOr404($object, $id)
+ {
+ $obj = IPF_ORM::getTable($object)->findOneById($id);
+ if ($obj)
+ return $obj;
+ throw new IPF_HTTP_Error404();
+ }
}
private function __construct()
{
- $applist = IPF::get('applications');
- foreach ($applist as &$appname) {
- if (!IPF_Utils::isValidName($appname))
- throw new IPF_Exception_Panic("Application name \"$name\" is incorrect");
- $this->apps[$appname] = null;
+ foreach (IPF::get('applications') as $name) {
+ $className = $name.'_App';
+ $this->apps[$name] = new $className;
}
$this->router = new IPF_Router;
}
public function appList()
{
- foreach($this->apps as $appName => &$app) {
- if ($app == null) {
- $app = $this->getApp($appName);
- }
- }
return $this->apps;
}
- // Lazy Application Loader
- public function getApp($name)
- {
- if (!array_key_exists($name, $this->apps))
- throw new IPF_Exception_Panic("Application \"$name\" not found");
- if ($this->apps[$name] == null) {
- $className = $name.'_App';
- $this->apps[$name] = new $className;
- }
- return $this->apps[$name];
- }
-
- public function frameworkApps()
- {
- $result = array();
- foreach ($this->apps as $appname => &$app) {
- if (substr($appname, 0, 4) === 'IPF_')
- $result[] = $this->getApp($appname);
- }
- return $result;
- }
-
- public function customApps()
- {
- $result = array();
- foreach ($this->apps as $appname => &$app) {
- if (substr($appname, 0, 4) !== 'IPF_')
- $result[] = $this->getApp($appname);
- }
- return $result;
- }
-
public function run()
{
\PFF\Container::setFactory('databaseConnection', array('IPF_Database', 'connect'));
final class IPF_Shortcuts
{
- public static function GetObjectOr404($object, $id)
- {
- $obj = IPF_ORM::getTable($object)->findOneById($id);
- if ($obj)
- return $obj;
- throw new IPF_HTTP_Error404();
- }
-
public static function RenderToResponse($tplfile, $params=array(), $request=null)
{
return new IPF_HTTP_Response(IPF_Shortcuts::RenderToString($tplfile, $params, $request));