Merge pull request #431 from xmujay/0609_monitor
[phpmyadmin/aamir.git] / pmd_pdf.php
blobcde96f1efb1914d25a5ffc981082a243083d82e1
1 <?php
2 /* vim: set expandtab sw=4 ts=4 sts=4: */
3 /**
5 * @package PhpMyAdmin-Designer
6 */
8 require_once './libraries/common.inc.php';
9 require_once 'libraries/pmd_common.php';
11 /**
12 * Sets globals from $_POST
14 $post_params = array(
15 'db',
16 'mode',
17 'newpage',
18 'pdf_page_number',
19 'scale'
22 foreach ($post_params as $one_post_param) {
23 if (isset($_POST[$one_post_param])) {
24 $GLOBALS[$one_post_param] = $_POST[$one_post_param];
28 /**
29 * If called directly from the designer, first save the positions
31 if (! isset($scale)) {
32 include_once 'pmd_save_pos.php';
35 if (isset($mode)) {
36 if ('create_export' != $mode && empty($pdf_page_number)) {
37 die("<script>alert('Pages not found!');history.go(-2);</script>");
40 $pmd_table = PMA_Util::backquote($GLOBALS['cfgRelation']['db']) . '.'
41 . PMA_Util::backquote($GLOBALS['cfgRelation']['designer_coords']);
42 $pma_table = PMA_Util::backquote($GLOBALS['cfgRelation']['db']) . '.'
43 . PMA_Util::backquote($cfgRelation['table_coords']);
44 $scale_q = PMA_Util::sqlAddSlashes($scale);
46 if ('create_export' == $mode) {
47 $pdf_page_number = PMA_REL_createPage($newpage, $cfgRelation, $db);
48 if ($pdf_page_number > 0) {
49 $message = PMA_Message::success(__('Page has been created'));
50 $mode = 'export';
51 } else {
52 $message = PMA_Message::error(__('Page creation failed'));
56 $pdf_page_number_q = PMA_Util::sqlAddSlashes($pdf_page_number);
58 if ('export' == $mode) {
59 $sql = "REPLACE INTO " . $pma_table
60 . " (db_name, table_name, pdf_page_number, x, y)"
61 . " SELECT db_name, table_name, " . $pdf_page_number_q . ","
62 . " ROUND(x/" . $scale_q . ") , ROUND(y/" . $scale_q . ") y"
63 . " FROM " . $pmd_table
64 . " WHERE db_name = '" . PMA_Util::sqlAddSlashes($db) . "'";
66 PMA_queryAsControlUser($sql, true, PMA_DatabaseInterface::QUERY_STORE);
69 if ('import' == $mode) {
70 PMA_queryAsControlUser(
71 'UPDATE ' . $pma_table . ',' . $pmd_table .
72 ' SET ' . $pmd_table . '.`x`= ' . $pma_table . '.`x` * '. $scale_q . ',
73 ' . $pmd_table . '.`y`= ' . $pma_table . '.`y` * '. $scale_q .'
74 WHERE
75 ' . $pmd_table . '.`db_name`=' . $pma_table . '.`db_name`
76 AND
77 ' . $pmd_table . '.`table_name` = ' . $pma_table . '.`table_name`
78 AND
79 ' . $pmd_table . '.`db_name`=\''. PMA_Util::sqlAddSlashes($db) . '\'
80 AND pdf_page_number = ' . $pdf_page_number_q . ';',
81 true, PMA_DatabaseInterface::QUERY_STORE
86 $response = PMA_Response::getInstance();
87 $response->getFooter()->setMinimal();
90 <br/>
91 <div>
92 <?php
93 if (! empty($message)) {
94 $message->display();
97 <form name="form1" method="post" action="pmd_pdf.php">
98 <?php
99 echo PMA_generate_common_hidden_inputs($db);
100 echo '<div>';
101 echo '<fieldset><legend>' . __('Import/Export coordinates for PDF schema') . '</legend>';
103 $choices = array();
105 $table_info_result = PMA_queryAsControlUser(
106 'SELECT * FROM ' . PMA_Util::backquote($GLOBALS['cfgRelation']['db'])
107 . '.' . PMA_Util::backquote($cfgRelation['pdf_pages'])
108 . ' WHERE db_name = \'' . PMA_Util::sqlAddSlashes($db) . '\''
111 if ($GLOBALS['dbi']->numRows($table_info_result) > 0) {
112 echo '<p>' . __('Page:');
113 echo '<select name="pdf_page_number">';
115 while ($page = $GLOBALS['dbi']->fetchAssoc($table_info_result)) {
116 echo '<option value="' . $page['page_nr'] . '">';
117 echo htmlspecialchars($page['page_descr']);
118 echo '</option>';
120 echo '</select>';
121 echo '</p>';
122 $choices['import'] = __('Import from selected page');
123 $choices['export'] = __('Export to selected page');
125 $choices['create_export'] = __('Create a page and export to it');
127 if (1 == count($choices)) {
128 echo $choices['create_export'];
129 echo '<input type="hidden" name="mode" value="create_export" />';
130 } else {
131 echo PMA_Util::getRadioFields(
132 'mode', $choices, $checked_choice = '', $line_break = true,
133 $escape_label = false, $class = ''
136 echo '<br />';
137 echo '<label for="newpage">' . __('New page name: ') . '</label>';
138 echo '<input id="newpage" type="text" name="newpage" />';
140 echo '<p>' . __('Export/Import to scale:');
142 <select name="scale">
143 <option value="1">1:1</option>
144 <option value="2">1:2</option>
145 <option value="3" selected="selected">1:3 (<?php echo __('recommended'); ?>)</option>
146 <option value="4">1:4</option>
147 <option value="5">1:5</option>
148 </select>
149 </p>
150 <input type="submit" value="<?php echo __('Go'); ?>"/>
151 </fieldset>
152 </div>
153 </form>
154 </div>