1111use PhpMyAdmin \Controllers \AbstractController ;
1212use PhpMyAdmin \Database \CentralColumns ;
1313use PhpMyAdmin \Http \ServerRequest ;
14+ use PhpMyAdmin \Identifiers \DatabaseName ;
1415use PhpMyAdmin \Message ;
1516use PhpMyAdmin \ResponseRenderer ;
1617use PhpMyAdmin \Template ;
@@ -35,6 +36,7 @@ public function __construct(
3536 public function __invoke (ServerRequest $ request ): void
3637 {
3738 $ GLOBALS ['message ' ] ??= null ;
39+ $ db = DatabaseName::from ($ request ->getParam ('db ' ));
3840
3941 if ($ request ->hasBodyParam ('edit_save ' )) {
4042 $ this ->response ->addHTML ((string ) $ this ->editSave ([
@@ -48,7 +50,7 @@ public function __invoke(ServerRequest $request): void
4850 'col_attribute ' => $ request ->getParsedBodyParam ('col_attribute ' ),
4951 'col_type ' => $ request ->getParsedBodyParam ('col_type ' ),
5052 'collation ' => $ request ->getParsedBodyParam ('collation ' ),
51- ]));
53+ ], $ db ));
5254
5355 return ;
5456 }
@@ -64,13 +66,14 @@ public function __invoke(ServerRequest $request): void
6466 'col_attribute ' => $ request ->getParsedBodyParam ('col_attribute ' ),
6567 'col_type ' => $ request ->getParsedBodyParam ('col_type ' ),
6668 'collation ' => $ request ->getParsedBodyParam ('collation ' ),
67- ]);
69+ ], $ db );
6870 }
6971
7072 if ($ request ->hasBodyParam ('getColumnList ' )) {
71- $ this ->response ->addJSON ('message ' , $ this ->getColumnList ([
72- 'cur_table ' => $ request ->getParsedBodyParam ('cur_table ' ),
73- ]));
73+ $ this ->response ->addJSON ('message ' , $ this ->centralColumns ->getListRaw (
74+ $ db ->getName (),
75+ $ request ->getParsedBodyParam ('cur_table ' , '' ),
76+ ));
7477
7578 return ;
7679 }
@@ -124,18 +127,19 @@ public function __invoke(ServerRequest $request): void
124127 ]);
125128 }
126129
127- $ this ->main ([
128- 'pos ' => $ request ->getParsedBodyParam ('pos ' ),
129- 'total_rows ' => $ request ->getParsedBodyParam ('total_rows ' ),
130- ]);
130+ $ this ->main (
131+ $ request ->getParsedBodyParam ('pos ' , '' ),
132+ $ request ->getParsedBodyParam ('total_rows ' , '' ),
133+ $ db ,
134+ );
131135
132136 $ pos = 0 ;
133137 if (is_numeric ($ request ->getParsedBodyParam ('pos ' ))) {
134138 $ pos = (int ) $ request ->getParsedBodyParam ('pos ' );
135139 }
136140
137141 $ numberOfColumns = $ this ->centralColumns ->getColumnsCount (
138- $ GLOBALS [ ' db ' ] ,
142+ $ db -> getName () ,
139143 $ pos ,
140144 Config::getInstance ()->settings ['MaxRows ' ],
141145 );
@@ -149,24 +153,23 @@ public function __invoke(ServerRequest $request): void
149153 $ GLOBALS ['message ' ] = $ tmpMsg ;
150154 }
151155
152- /** @param mixed[] $params Request parameters */
153- public function main (array $ params ): void
156+ public function main (string $ totalRows , string $ position , DatabaseName $ db ): void
154157 {
155158 $ GLOBALS ['text_dir ' ] ??= null ;
156159
157- if (! empty ( $ params [ ' total_rows ' ]) && is_numeric ($ params [ ' total_rows ' ] )) {
158- $ totalRows = (int ) $ params [ ' total_rows ' ] ;
160+ if ($ totalRows !== '' && $ totalRows !== ' 0 ' && is_numeric ($ totalRows )) {
161+ $ totalRows = (int ) $ totalRows ;
159162 } else {
160- $ totalRows = $ this ->centralColumns ->getCount ($ GLOBALS [ ' db ' ] );
163+ $ totalRows = $ this ->centralColumns ->getCount ($ db -> getName () );
161164 }
162165
163166 $ pos = 0 ;
164- if (isset ( $ params [ ' pos ' ]) && is_numeric ($ params [ ' pos ' ] )) {
165- $ pos = (int ) $ params [ ' pos ' ] ;
167+ if (is_numeric ($ position )) {
168+ $ pos = (int ) $ position ;
166169 }
167170
168171 $ variables = $ this ->centralColumns ->getTemplateVariablesForMain (
169- $ GLOBALS [ ' db ' ] ,
172+ $ db -> getName () ,
170173 $ totalRows ,
171174 $ pos ,
172175 $ GLOBALS ['text_dir ' ],
@@ -175,30 +178,20 @@ public function main(array $params): void
175178 $ this ->render ('database/central_columns/main ' , $ variables );
176179 }
177180
178- /**
179- * @param mixed[] $params Request parameters
180- *
181- * @return mixed[] JSON
182- */
183- public function getColumnList (array $ params ): array
184- {
185- return $ this ->centralColumns ->getListRaw ($ GLOBALS ['db ' ], $ params ['cur_table ' ] ?? '' );
186- }
187-
188181 /**
189182 * @param mixed[] $params Request parameters
190183 *
191184 * @return true|Message
192185 */
193- public function editSave (array $ params ): bool |Message
186+ public function editSave (array $ params, DatabaseName $ db ): bool |Message
194187 {
195188 $ columnDefault = $ params ['col_default ' ];
196189 if ($ columnDefault === 'NONE ' && $ params ['col_default_sel ' ] !== 'USER_DEFINED ' ) {
197190 $ columnDefault = '' ;
198191 }
199192
200193 return $ this ->centralColumns ->updateOneColumn (
201- $ GLOBALS [ ' db ' ] ,
194+ $ db -> getName () ,
202195 $ params ['orig_col_name ' ],
203196 $ params ['col_name ' ],
204197 $ params ['col_type ' ],
@@ -216,15 +209,15 @@ public function editSave(array $params): bool|Message
216209 *
217210 * @return true|Message
218211 */
219- public function addNewColumn (array $ params ): bool |Message
212+ public function addNewColumn (array $ params, DatabaseName $ db ): bool |Message
220213 {
221214 $ columnDefault = $ params ['col_default ' ];
222215 if ($ columnDefault === 'NONE ' && $ params ['col_default_sel ' ] !== 'USER_DEFINED ' ) {
223216 $ columnDefault = '' ;
224217 }
225218
226219 return $ this ->centralColumns ->updateOneColumn (
227- $ GLOBALS [ ' db ' ] ,
220+ $ db -> getName () ,
228221 '' ,
229222 $ params ['col_name ' ],
230223 $ params ['col_type ' ],
0 commit comments