88namespace PhpMyAdmin \Plugins \Export ;
99
1010use PhpMyAdmin \Config \Settings \Export ;
11+ use PhpMyAdmin \Dbal \ConnectionType ;
1112use PhpMyAdmin \Dbal \DatabaseInterface ;
1213use PhpMyAdmin \Export \StructureOrData ;
1314use PhpMyAdmin \Http \ServerRequest ;
2021
2122use function __ ;
2223use function array_key_last ;
23- use function is_int ;
24+ use function ctype_digit ;
2425use function is_string ;
2526use function sprintf ;
2627use function str_repeat ;
@@ -95,12 +96,11 @@ public function exportData(
9596 ): void {
9697 $ dbAlias = $ this ->getDbAlias ($ aliases , $ db );
9798 $ tableAlias = $ this ->getTableAlias ($ aliases , $ db , $ table );
98- $ dbi = DatabaseInterface ::getInstance ();
99- $ result = $ dbi ->query ($ sqlQuery );
99+ $ result = $ this ->dbi ->query ($ sqlQuery , ConnectionType::User, DatabaseInterface::QUERY_UNBUFFERED );
100100
101101 $ columnsCnt = $ result ->numFields ();
102102 $ rowsCnt = $ result ->numRows ();
103- $ fieldsMeta = $ dbi ->getFieldsMeta ($ result );
103+ $ fieldsMeta = $ this -> dbi ->getFieldsMeta ($ result );
104104
105105 $ columns = [];
106106 foreach ($ fieldsMeta as $ i => $ field ) {
@@ -166,7 +166,7 @@ public function exportData(
166166 public function exportRawQuery (string $ db , string $ sqlQuery ): void
167167 {
168168 if ($ db !== '' ) {
169- DatabaseInterface :: getInstance () ->selectDb ($ db );
169+ $ this -> dbi ->selectDb ($ db );
170170 }
171171
172172 $ this ->exportData ($ db , '' , $ sqlQuery );
@@ -192,37 +192,33 @@ public function setExportOptions(ServerRequest $request, Export $exportConfig):
192192 );
193193
194194 $ this ->indent = $ this ->setIntValue (
195- ( int ) $ request ->getParsedBodyParam ('toon_indent ' ),
195+ $ request ->getParsedBodyParam ('toon_indent ' ),
196196 $ exportConfig ->toon_indent ?? $ this ->indent ,
197197 );
198198 // phpcs:enable Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps
199199
200200 $ this ->setupExportConfiguration ();
201201 }
202202
203- private function setStringValue (mixed $ fromRequest , mixed $ fromConfig ): string
203+ private function setStringValue (mixed $ fromRequest , string $ fromConfig ): string
204204 {
205205 if (is_string ($ fromRequest ) && $ fromRequest !== '' ) {
206206 return $ fromRequest ;
207207 }
208208
209- if (is_string ( $ fromConfig ) && $ fromConfig !== '' ) {
209+ if ($ fromConfig !== '' ) {
210210 return $ fromConfig ;
211211 }
212212
213213 return '' ;
214214 }
215215
216- private function setIntValue (mixed $ fromRequest , mixed $ fromConfig ): int
216+ private function setIntValue (mixed $ fromRequest , int $ fromConfig ): int
217217 {
218- if (is_int ($ fromRequest )) {
219- return $ fromRequest ;
220- }
221-
222- if (is_int ($ fromConfig )) {
223- return $ fromConfig ;
218+ if (ctype_digit ((string ) $ fromRequest )) {
219+ return (int ) $ fromRequest ;
224220 }
225221
226- return 0 ;
222+ return $ fromConfig ;
227223 }
228224}
0 commit comments