-
Notifications
You must be signed in to change notification settings - Fork 18
/
schema_edit.php
132 lines (111 loc) · 4.06 KB
/
schema_edit.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<?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';
/**
* Includ settings for relation stuff
* get all variables needed for exporting relational schema
* in $cfgRelation
*/
require_once './libraries/relation.lib.php';
$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_showDocu('relation') . "\n";
include_once './libraries/footer.inc.php';
}
if (! $cfgRelation['displaywork']) {
echo sprintf(__('<b>%s</b> table not found or not set in %s'), 'table_info', 'config.inc.php') . '<br />' . "\n"
. PMA_showDocu('table_info') . "\n";
include_once './libraries/footer.inc.php';
}
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_showDocu('table_coords') . "\n";
include_once './libraries/footer.inc.php';
}
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_showDocu('pdf_pages') . "\n";
include_once './libraries/footer.inc.php';
}
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'])
/**
* Displays the footer
*/
echo "\n";
require_once './libraries/footer.inc.php';
?>