| Conditions | 1 |
| Paths | 1 |
| Total Lines | 325 |
| Code Lines | 307 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 1 | ||
| Bugs | 0 | Features | 0 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
| 1 | <?php |
||
| 270 | public function formatQueries() |
||
| 271 | { |
||
| 272 | return [ |
||
| 273 | 'empty' => [ |
||
| 274 | 'query' => '', |
||
| 275 | 'text' => '', |
||
| 276 | 'cli' => "\x1b[0m", |
||
| 277 | 'html' => '', |
||
| 278 | ], |
||
| 279 | 'minimal' => [ |
||
| 280 | 'query' => 'select 1', |
||
| 281 | 'text' => 'SELECT' . "\n" . |
||
| 282 | ' 1', |
||
| 283 | 'cli' => "\x1b[35mSELECT\n" . |
||
| 284 | " \x1b[92m1\x1b[0m", |
||
| 285 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
| 286 | ' <span class="sql-number">1</span>', |
||
| 287 | ], |
||
| 288 | 'simply' => [ |
||
| 289 | 'query' => 'select * from tbl where 1', |
||
| 290 | 'text' => 'SELECT' . "\n" . |
||
| 291 | ' *' . "\n" . |
||
| 292 | 'FROM' . "\n" . |
||
| 293 | ' tbl' . "\n" . |
||
| 294 | 'WHERE' . "\n" . |
||
| 295 | ' 1', |
||
| 296 | 'cli' => "\x1b[35mSELECT\n" . |
||
| 297 | " \x1b[39m*\n" . |
||
| 298 | "\x1b[35mFROM\n" . |
||
| 299 | " \x1b[39mtbl\n" . |
||
| 300 | "\x1b[35mWHERE\n" . |
||
| 301 | " \x1b[92m1\x1b[0m", |
||
| 302 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
| 303 | ' *<br/>' . |
||
| 304 | '<span class="sql-reserved">FROM</span><br/>' . |
||
| 305 | ' tbl<br/>' . |
||
| 306 | '<span class="sql-reserved">WHERE</span><br/>' . |
||
| 307 | ' <span class="sql-number">1</span>', |
||
| 308 | ], |
||
| 309 | 'typical' => [ |
||
| 310 | 'query' => 'SELECT id, if(id=1,"Si","No") from `tbl` where id = 0 or ' . |
||
| 311 | 'id = 1 group by id order by id desc limit 1 offset 0', |
||
| 312 | 'text' => 'SELECT' . "\n" . |
||
| 313 | ' id,' . "\n" . |
||
| 314 | ' IF(id = 1, "Si", "No")' . "\n" . |
||
| 315 | 'FROM' . "\n" . |
||
| 316 | ' `tbl`' . "\n" . |
||
| 317 | 'WHERE' . "\n" . |
||
| 318 | ' id = 0 OR id = 1' . "\n" . |
||
| 319 | 'GROUP BY' . "\n" . |
||
| 320 | ' id' . "\n" . |
||
| 321 | 'ORDER BY' . "\n" . |
||
| 322 | ' id' . "\n" . |
||
| 323 | 'DESC' . "\n" . |
||
| 324 | 'LIMIT 1 OFFSET 0', |
||
| 325 | 'cli' => "\x1b[35mSELECT\n" . |
||
| 326 | " \x1b[39mid,\n" . |
||
| 327 | " \x1b[35mIF\x1b[39m(id = \x1b[92m1\x1b[39m, \x1b[91m\"Si\"\x1b[39m, \x1b[91m\"No\"\x1b[39m)\n" . |
||
| 328 | "\x1b[35mFROM\n" . |
||
| 329 | " \x1b[36m`tbl`\n" . |
||
| 330 | "\x1b[35mWHERE\n" . |
||
| 331 | " \x1b[39mid = \x1b[92m0 \x1b[35mOR \x1b[39mid = \x1b[92m1\n" . |
||
| 332 | "\x1b[35mGROUP BY\n" . |
||
| 333 | " \x1b[39mid\n" . |
||
| 334 | "\x1b[35mORDER BY\n" . |
||
| 335 | " \x1b[39mid\n" . |
||
| 336 | "\x1b[35mDESC\n" . |
||
| 337 | "LIMIT \x1b[92m1 \x1b[95mOFFSET \x1b[92m0\x1b[0m", |
||
| 338 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
| 339 | ' id,<br/>' . |
||
| 340 | ' <span class="sql-reserved">IF</span>(id = ' . |
||
| 341 | '<span class="sql-number">1</span>, <span class="sql-string">"Si"</span>, ' . |
||
| 342 | '<span class="sql-string">"No"</span>)<br/>' . |
||
| 343 | '<span class="sql-reserved">FROM</span><br/>' . |
||
| 344 | ' <span class="sql-variable">`tbl`</span><br/>' . |
||
| 345 | '<span class="sql-reserved">WHERE</span><br/>' . |
||
| 346 | ' id = <span class="sql-number">0</span> ' . |
||
| 347 | '<span class="sql-reserved">OR</span> id = <span class="sql-number">1</span><br/>' . |
||
| 348 | '<span class="sql-reserved">GROUP BY</span><br/>' . |
||
| 349 | ' id<br/>' . |
||
| 350 | '<span class="sql-reserved">ORDER BY</span><br/>' . |
||
| 351 | ' id<br/>' . |
||
| 352 | '<span class="sql-reserved">DESC</span><br/>' . |
||
| 353 | '<span class="sql-reserved">LIMIT</span> <span class="sql-number">1</span> ' . |
||
| 354 | '<span class="sql-keyword">OFFSET</span> <span class="sql-number">0</span>', |
||
| 355 | ], |
||
| 356 | 'comments' => [ |
||
| 357 | 'query' => 'select /* Comment */ *' . "\n" . |
||
| 358 | 'from tbl # Comment' . "\n" . |
||
| 359 | 'where 1 -- Comment', |
||
| 360 | 'text' => 'SELECT' . "\n" . |
||
| 361 | ' /* Comment */ *' . "\n" . |
||
| 362 | 'FROM' . "\n" . |
||
| 363 | ' tbl # Comment' . "\n" . |
||
| 364 | 'WHERE' . "\n" . |
||
| 365 | ' 1 -- Comment', |
||
| 366 | 'cli' => "\x1b[35mSELECT\n" . |
||
| 367 | " \x1b[37m/* Comment */ \x1b[39m*\n" . |
||
| 368 | "\x1b[35mFROM\n" . |
||
| 369 | " \x1b[39mtbl \x1b[37m# Comment\n" . |
||
| 370 | "\x1b[35mWHERE\n" . |
||
| 371 | " \x1b[92m1 \x1b[37m-- Comment\x1b[0m", |
||
| 372 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
| 373 | ' <span class="sql-comment">/* Comment */</span> *<br/>' . |
||
| 374 | '<span class="sql-reserved">FROM</span><br/>' . |
||
| 375 | ' tbl <span class="sql-comment"># Comment</span><br/>' . |
||
| 376 | '<span class="sql-reserved">WHERE</span><br/>' . |
||
| 377 | ' <span class="sql-number">1</span> ' . |
||
| 378 | '<span class="sql-comment">-- Comment</span>', |
||
| 379 | ], |
||
| 380 | 'strip comments' => [ |
||
| 381 | 'query' => 'select /* Comment */ *' . "\n" . |
||
| 382 | 'from tbl # Comment' . "\n" . |
||
| 383 | 'where 1 -- Comment', |
||
| 384 | 'text' => 'SELECT' . "\n" . |
||
| 385 | ' *' . "\n" . |
||
| 386 | 'FROM' . "\n" . |
||
| 387 | ' tbl' . "\n" . |
||
| 388 | 'WHERE' . "\n" . |
||
| 389 | ' 1', |
||
| 390 | 'cli' => "\x1b[35mSELECT\n" . |
||
| 391 | " \x1b[39m*\n" . |
||
| 392 | "\x1b[35mFROM\n" . |
||
| 393 | " \x1b[39mtbl\n" . |
||
| 394 | "\x1b[35mWHERE\n" . |
||
| 395 | " \x1b[92m1\x1b[0m", |
||
| 396 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
| 397 | ' *<br/>' . |
||
| 398 | '<span class="sql-reserved">FROM</span><br/>' . |
||
| 399 | ' tbl<br/>' . |
||
| 400 | '<span class="sql-reserved">WHERE</span><br/>' . |
||
| 401 | ' <span class="sql-number">1</span>', |
||
| 402 | 'options' => ['remove_comments' => true], |
||
| 403 | ], |
||
| 404 | 'keywords' => [ |
||
| 405 | 'query' => 'select hex("1")', |
||
| 406 | 'text' => 'SELECT' . "\n" . |
||
| 407 | ' HEX("1")', |
||
| 408 | 'cli' => "\x1b[35mSELECT\n" . |
||
| 409 | " \x1b[95mHEX\x1b[39m(\x1b[91m\"1\"\x1b[39m)\x1b[0m", |
||
| 410 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
| 411 | ' <span class="sql-keyword">HEX</span>(<span class="sql-string">"1"</span>)', |
||
| 412 | ], |
||
| 413 | 'distinct count' => [ |
||
| 414 | 'query' => 'select distinct count(*)', |
||
| 415 | 'text' => 'SELECT DISTINCT' . "\n" . |
||
| 416 | ' COUNT(*)', |
||
| 417 | 'cli' => "\x1b[35mSELECT DISTINCT\n" . |
||
| 418 | " \x1b[95mCOUNT\x1b[39m(*)\x1b[0m", |
||
| 419 | 'html' => '<span class="sql-reserved">SELECT</span> <span class="sql-reserved">DISTINCT</span><br/>' . |
||
| 420 | ' <span class="sql-keyword">COUNT</span>(*)', |
||
| 421 | ], |
||
| 422 | 'create procedure' => [ |
||
| 423 | 'query' => 'create procedure test_procedure() begin from tbl select *; end', |
||
| 424 | 'text' => 'CREATE PROCEDURE test_procedure()' . "\n" . |
||
| 425 | 'BEGIN' . "\n" . |
||
| 426 | ' FROM' . "\n" . |
||
| 427 | ' tbl' . "\n" . |
||
| 428 | ' SELECT' . "\n" . |
||
| 429 | ' *;' . "\n" . |
||
| 430 | 'END', |
||
| 431 | 'cli' => "\x1b[35mCREATE PROCEDURE \x1b[39mtest_procedure()\n" . |
||
| 432 | "\x1b[95mBEGIN\n" . |
||
| 433 | " \x1b[35mFROM\n" . |
||
| 434 | " \x1b[39mtbl\n" . |
||
| 435 | " \x1b[35mSELECT\n" . |
||
| 436 | " \x1b[39m*;\n" . |
||
| 437 | "\x1b[95mEND\x1b[0m", |
||
| 438 | 'html' => '<span class="sql-reserved">CREATE</span> ' . |
||
| 439 | '<span class="sql-reserved">PROCEDURE</span> test_procedure()<br/>' . |
||
| 440 | '<span class="sql-keyword">BEGIN</span><br/>' . |
||
| 441 | ' <span class="sql-reserved">FROM</span><br/>' . |
||
| 442 | ' tbl<br/>' . |
||
| 443 | ' <span class="sql-reserved">SELECT</span><br/>' . |
||
| 444 | ' *;<br/>' . |
||
| 445 | '<span class="sql-keyword">END</span>', |
||
| 446 | ], |
||
| 447 | 'insert' => [ |
||
| 448 | 'query' => 'insert into foo values (0, 0, 0), (1, 1, 1)', |
||
| 449 | 'text' => 'INSERT INTO foo' . "\n" . |
||
| 450 | 'VALUES(0, 0, 0),(1, 1, 1)', |
||
| 451 | 'cli' => "\x1b[35mINSERT INTO \x1b[39mfoo\n" . |
||
| 452 | "\x1b[35mVALUES\x1b[39m(\x1b[92m0\x1b[39m, \x1b[92m0\x1b[39m, " . |
||
| 453 | "\x1b[92m0\x1b[39m),(\x1b[92m1\x1b[39m, \x1b[92m1\x1b[39m, \x1b[92m1\x1b[39m)\x1b[0m", |
||
| 454 | 'html' => '<span class="sql-reserved">INSERT</span> <span class="sql-reserved">INTO</span> foo<br/>' . |
||
| 455 | '<span class="sql-reserved">VALUES</span>(<span class="sql-number">0</span>, ' . |
||
| 456 | '<span class="sql-number">0</span>, <span class="sql-number">0</span>),(' . |
||
| 457 | '<span class="sql-number">1</span>, <span class="sql-number">1</span>, ' . |
||
| 458 | '<span class="sql-number">1</span>)', |
||
| 459 | ], |
||
| 460 | 'string as alias' => [ |
||
| 461 | 'query' => 'select "Text" as bar', |
||
| 462 | 'text' => 'SELECT' . "\n" . |
||
| 463 | ' "Text" AS bar', |
||
| 464 | 'cli' => "\x1b[35mSELECT\n" . |
||
| 465 | " \x1b[91m\"Text\" \x1b[35mAS \x1b[39mbar\x1b[0m", |
||
| 466 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
| 467 | ' <span class="sql-string">"Text"</span> ' . |
||
| 468 | '<span class="sql-reserved">AS</span> bar', |
||
| 469 | ], |
||
| 470 | 'escape cli' => [ |
||
| 471 | 'query' => "select 'text\x1b[33mcolor-inj'", |
||
| 472 | 'text' => 'SELECT' . "\n" . |
||
| 473 | " 'text\x1B[33mcolor-inj'", |
||
| 474 | 'cli' => "\x1b[35mSELECT\n" . |
||
| 475 | " \x1b[91m'text\\x1B[33mcolor-inj'\x1b[0m", |
||
| 476 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
| 477 | ' <span class="sql-string">\'text' . "\x1b[33m" . 'color-inj\'</span>', |
||
| 478 | ], |
||
| 479 | 'escape html' => [ |
||
| 480 | 'query' => "select '<s>xss' from `<s>xss` , <s>nxss /*s<s>xss*/", |
||
| 481 | 'text' => 'SELECT' . "\n" . |
||
| 482 | ' \'<s>xss\'' . "\n" . |
||
| 483 | 'FROM' . "\n" . |
||
| 484 | ' `<s>xss`,' . "\n" . |
||
| 485 | ' < s > nxss /*s<s>xss*/', |
||
| 486 | 'cli' => "\x1b[35mSELECT\n" . |
||
| 487 | " \x1b[91m'<s>xss'\n" . |
||
| 488 | "\x1b[35mFROM\n" . |
||
| 489 | " \x1b[36m`<s>xss`\x1b[39m,\n" . |
||
| 490 | " < s > nxss \x1b[37m/*s<s>xss*/\x1b[0m", |
||
| 491 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
| 492 | ' <span class="sql-string">\'<s>xss\'</span><br/>' . |
||
| 493 | '<span class="sql-reserved">FROM</span><br/>' . |
||
| 494 | ' <span class="sql-variable">`<s>xss`</span>,' . |
||
| 495 | '<br/> < s > nxss <span class="sql-comment">/*s<s>xss*/</span>', |
||
| 496 | ], |
||
| 497 | 'create table' => [ |
||
| 498 | 'query' => 'create table if not exists `pma__bookmark` (' . "\n" . |
||
| 499 | '`id` int(11) not null auto_increment,' . "\n" . |
||
| 500 | '`dbase` varchar(255) not null default "",' . "\n" . |
||
| 501 | '`user` varchar(255) not null default "",' . "\n" . |
||
| 502 | '`label` varchar(255) collate utf8_general_ci not null default "",' . "\n" . |
||
| 503 | '`query` text not null,' . "\n" . |
||
| 504 | 'primary key (`id`)', |
||
| 505 | 'text' => 'CREATE TABLE IF NOT EXISTS `pma__bookmark`(' . "\n" . |
||
| 506 | ' `id` INT(11) NOT NULL AUTO_INCREMENT,' . "\n" . |
||
| 507 | ' `dbase` VARCHAR(255) NOT NULL DEFAULT "",' . "\n" . |
||
| 508 | ' `user` VARCHAR(255) NOT NULL DEFAULT "",' . "\n" . |
||
| 509 | ' `label` VARCHAR(255) COLLATE utf8_general_ci NOT NULL DEFAULT "",' . "\n" . |
||
| 510 | ' `query` TEXT NOT NULL,' . "\n" . |
||
| 511 | ' PRIMARY KEY(`id`)', |
||
| 512 | 'cli' => "\x1b[35mCREATE TABLE IF NOT EXISTS \x1b[36m`pma__bookmark`\x1b[39m(\n" . |
||
| 513 | " \x1b[36m`id` \x1b[35mINT\x1b[39m(\x1b[92m11\x1b[39m) " . |
||
| 514 | "\x1b[35mNOT NULL \x1b[95mAUTO_INCREMENT\x1b[39m,\n" . |
||
| 515 | " \x1b[36m`dbase` \x1b[35mVARCHAR\x1b[39m(\x1b[92m255\x1b[39m) " . |
||
| 516 | "\x1b[35mNOT NULL DEFAULT \x1b[91m\"\"\x1b[39m,\n" . |
||
| 517 | " \x1b[36m`user` \x1b[35mVARCHAR\x1b[39m(\x1b[92m255\x1b[39m) " . |
||
| 518 | "\x1b[35mNOT NULL DEFAULT \x1b[91m\"\"\x1b[39m,\n" . |
||
| 519 | " \x1b[36m`label` \x1b[35mVARCHAR\x1b[39m(\x1b[92m255\x1b[39m) " . |
||
| 520 | "\x1b[35mCOLLATE \x1b[39mutf8_general_ci \x1b[35mNOT NULL DEFAULT \x1b[91m\"\"\x1b[39m,\n" . |
||
| 521 | " \x1b[36m`query` \x1b[95mTEXT \x1b[35mNOT NULL\x1b[39m,\n" . |
||
| 522 | " \x1b[35mPRIMARY KEY\x1b[39m(\x1b[36m`id`\x1b[39m)\x1b[0m", |
||
| 523 | 'html' => '<span class="sql-reserved">CREATE</span> <span class="sql-reserved">TABLE</span> ' . |
||
| 524 | '<span class="sql-reserved">IF NOT EXISTS</span> <span class="sql-variable">' . |
||
| 525 | '`pma__bookmark`</span>(<br/>' . |
||
| 526 | ' <span class="sql-variable">`id`</span> ' . |
||
| 527 | '<span class="sql-reserved">INT</span>(<span class="sql-number">11</span>) ' . |
||
| 528 | '<span class="sql-reserved">NOT NULL</span> <span class="sql-keyword">AUTO_INCREMENT</span>,<br/>' . |
||
| 529 | ' <span class="sql-variable">`dbase`</span> ' . |
||
| 530 | '<span class="sql-reserved">VARCHAR</span>(<span class="sql-number">255</span>) ' . |
||
| 531 | '<span class="sql-reserved">NOT NULL</span> <span class="sql-reserved">DEFAULT</span> ' . |
||
| 532 | '<span class="sql-string">""</span>,<br/>' . |
||
| 533 | ' <span class="sql-variable">`user`</span> ' . |
||
| 534 | '<span class="sql-reserved">VARCHAR</span>(<span class="sql-number">255</span>) ' . |
||
| 535 | '<span class="sql-reserved">NOT NULL</span> <span class="sql-reserved">DEFAULT</span> ' . |
||
| 536 | '<span class="sql-string">""</span>,<br/>' . |
||
| 537 | ' <span class="sql-variable">`label`</span> ' . |
||
| 538 | '<span class="sql-reserved">VARCHAR</span>(<span class="sql-number">255</span>) ' . |
||
| 539 | '<span class="sql-reserved">COLLATE</span> utf8_general_ci ' . |
||
| 540 | '<span class="sql-reserved">NOT NULL</span> <span class="sql-reserved">DEFAULT</span> ' . |
||
| 541 | '<span class="sql-string">""</span>,<br/>' . |
||
| 542 | ' <span class="sql-variable">`query`</span> ' . |
||
| 543 | '<span class="sql-keyword">TEXT</span> <span class="sql-reserved">NOT NULL</span>,<br/>' . |
||
| 544 | ' <span class="sql-reserved">' . |
||
| 545 | 'PRIMARY KEY</span>(<span class="sql-variable">`id`</span>)', |
||
| 546 | ], |
||
| 547 | 'join' => [ |
||
| 548 | 'query' => 'join tbl2 on c1=c2', |
||
| 549 | 'text' => 'JOIN tbl2 ON c1 = c2', |
||
| 550 | 'cli' => "\x1b[35mJOIN \x1b[39mtbl2 \x1b[35mON \x1b[39mc1 = c2" . |
||
| 551 | "\x1b[0m", |
||
| 552 | 'html' => '<span class="sql-reserved">JOIN</span> tbl2 <span class="sql-reserved">ON</span> c1 = c2', |
||
| 553 | ], |
||
| 554 | 'named param' => [ |
||
| 555 | 'query' => 'select * from tbl where col = :param', |
||
| 556 | 'text' => 'SELECT' . "\n" . |
||
| 557 | ' *' . "\n" . |
||
| 558 | 'FROM' . "\n" . |
||
| 559 | ' tbl' . "\n" . |
||
| 560 | 'WHERE' . "\n" . |
||
| 561 | ' col = :param', |
||
| 562 | 'cli' => "\x1b[35mSELECT\n" . |
||
| 563 | " \x1b[39m*\n" . |
||
| 564 | "\x1b[35mFROM\n" . |
||
| 565 | " \x1b[39mtbl\n" . |
||
| 566 | "\x1b[35mWHERE\n" . |
||
| 567 | " \x1b[39mcol = \x1b[31m:param\x1b[0m", |
||
| 568 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
| 569 | ' *<br/>' . |
||
| 570 | '<span class="sql-reserved">FROM</span><br/>' . |
||
| 571 | ' tbl<br/>' . |
||
| 572 | '<span class="sql-reserved">WHERE</span><br/>' . |
||
| 573 | ' col = <span class="sql-parameter">:param</span>', |
||
| 574 | ], |
||
| 575 | 'anon param' => [ |
||
| 576 | 'query' => 'select * from tbl where col = ?', |
||
| 577 | 'text' => 'SELECT' . "\n" . |
||
| 578 | ' *' . "\n" . |
||
| 579 | 'FROM' . "\n" . |
||
| 580 | ' tbl' . "\n" . |
||
| 581 | 'WHERE' . "\n" . |
||
| 582 | ' col = ?', |
||
| 583 | 'cli' => "\x1b[35mSELECT\n" . |
||
| 584 | " \x1b[39m*\n" . |
||
| 585 | "\x1b[35mFROM\n" . |
||
| 586 | " \x1b[39mtbl\n" . |
||
| 587 | "\x1b[35mWHERE\n" . |
||
| 588 | " \x1b[39mcol = \x1b[31m?\x1b[0m", |
||
| 589 | 'html' => '<span class="sql-reserved">SELECT</span><br/>' . |
||
| 590 | ' *<br/>' . |
||
| 591 | '<span class="sql-reserved">FROM</span><br/>' . |
||
| 592 | ' tbl<br/>' . |
||
| 593 | '<span class="sql-reserved">WHERE</span><br/>' . |
||
| 594 | ' col = <span class="sql-parameter">?</span>', |
||
| 595 | ], |
||
| 599 |