diff options
Diffstat (limited to 'hugo/schema_edit.php')
| -rw-r--r-- | hugo/schema_edit.php | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/hugo/schema_edit.php b/hugo/schema_edit.php new file mode 100644 index 0000000..498ccb7 --- /dev/null +++ b/hugo/schema_edit.php @@ -0,0 +1,126 @@ +<?php +/* vim: set expandtab sw=4 ts=4 sts=4: */ +/** + * + * @package PhpMyAdmin + */ + +/** + * Gets some core libraries + */ + +require_once 'libraries/common.inc.php'; +require_once 'libraries/db_common.inc.php'; +require 'libraries/StorageEngine.class.php'; + +$active_page = 'db_operations.php'; +require_once 'libraries/db_common.inc.php'; +$url_query .= '&goto=schema_edit.php'; +require_once 'libraries/db_info.inc.php'; + +/** + * get all variables needed for exporting relational schema + * in $cfgRelation + */ +$cfgRelation = PMA_getRelationsParam(); + +/** + * Now in ./libraries/relation.lib.php we check for all tables + * that we need, but if we don't find them we are quiet about it + * so people can't work without relational variables. + * This page is absolutely useless if you didn't set up your tables + * correctly, so it is a good place to see which tables we can and + * complain ;-) + */ +if (! $cfgRelation['relwork']) { + echo sprintf(__('<b>%s</b> table not found or not set in %s'), 'relation', 'config.inc.php') . '<br />' . "\n" + . PMA_Util::showDocu('config', 'cfg_Servers_relation') . "\n"; + exit; +} + +if (! $cfgRelation['displaywork']) { + echo sprintf(__('<b>%s</b> table not found or not set in %s'), 'table_info', 'config.inc.php') . '<br />' . "\n" + . PMA_Util::showDocu('config', 'cfg_Servers_table_info') . "\n"; + exit; +} + +if (! isset($cfgRelation['table_coords'])) { + echo sprintf(__('<b>%s</b> table not found or not set in %s'), 'table_coords', 'config.inc.php') . '<br />' . "\n" + . PMA_Util::showDocu('config', 'cfg_Servers_table_coords') . "\n"; + exit; +} +if (! isset($cfgRelation['pdf_pages'])) { + echo sprintf(__('<b>%s</b> table not found or not set in %s'), 'pdf_page', 'config.inc.php') . '<br />' . "\n" + . PMA_Util::showDocu('config', 'cfg_Servers_pdf_pages') . "\n"; + exit; +} + +if ($cfgRelation['pdfwork']) { + + /** + * User object created for presenting the HTML options + * so, user can interact with it and perform export of relations schema + */ + + include_once 'libraries/schema/User_Schema.class.php'; + $user_schema = new PMA_User_Schema(); + + /** + * This function will process the user defined pages + * and tables which will be exported as Relational schema + * you can set the table positions on the paper via scratchboard + * for table positions, put the x,y co-ordinates + * + * @param string $do It tells what the Schema is supposed to do + * create and select a page, generate schema etc + */ + if (isset($_REQUEST['do'])) { + $user_schema->setAction($_REQUEST['do']); + $user_schema->processUserChoice(); + } + + /** + * Show some possibility to select a page for the export of relation schema + * Lists all pages created before and can select and edit from them + */ + + $user_schema->selectPage(); + + /** + * Create a new page where relations will be drawn + */ + + $user_schema->showCreatePageDialog($db); + + /** + * After selection of page or creating a page + * It will show you the list of tables + * A dashboard will also be shown where you can position the tables + */ + + $user_schema->showTableDashBoard(); + + if (isset($_REQUEST['do']) + && ($_REQUEST['do'] == 'edcoord' + || ($_REQUEST['do']== 'selectpage' && isset($user_schema->chosenPage) && $user_schema->chosenPage != 0) + || ($_REQUEST['do'] == 'createpage' && isset($user_schema->chosenPage) && $user_schema->chosenPage != 0)) + ) { + + /** + * show Export schema generation options + */ + $user_schema->displaySchemaGenerationOptions(); + + if ((isset($showwysiwyg) && $showwysiwyg == '1')) { + ?> + <script type="text/javascript"> + //<![CDATA[ + ToggleDragDrop('pdflayout'); + //]]> + </script> + <?php + } + } // end if +} // end if ($cfgRelation['pdfwork']) + +?> |
