Conditions | 17 |
Paths | 1728 |
Total Lines | 185 |
Code Lines | 160 |
Lines | 0 |
Ratio | 0 % |
Changes | 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 |
||
405 | public function getEditorForm($mode, $operation, array $item) |
||
406 | { |
||
407 | global $db, $table, $event_status, $event_type, $event_interval; |
||
408 | |||
409 | $modeToUpper = mb_strtoupper($mode); |
||
410 | |||
411 | $response = Response::getInstance(); |
||
412 | |||
413 | // Escape special characters |
||
414 | $need_escape = [ |
||
415 | 'item_original_name', |
||
416 | 'item_name', |
||
417 | 'item_type', |
||
418 | 'item_execute_at', |
||
419 | 'item_interval_value', |
||
420 | 'item_starts', |
||
421 | 'item_ends', |
||
422 | 'item_definition', |
||
423 | 'item_definer', |
||
424 | 'item_comment', |
||
425 | ]; |
||
426 | foreach ($need_escape as $index) { |
||
427 | $item[$index] = htmlentities((string) $item[$index], ENT_QUOTES); |
||
428 | } |
||
429 | $original_data = ''; |
||
430 | if ($mode == 'edit') { |
||
431 | $original_data = "<input name='item_original_name' " |
||
432 | . "type='hidden' value='{$item['item_original_name']}'>\n"; |
||
433 | } |
||
434 | // Handle some logic first |
||
435 | if ($operation == 'change') { |
||
436 | if ($item['item_type'] == 'RECURRING') { |
||
437 | $item['item_type'] = 'ONE TIME'; |
||
438 | $item['item_type_toggle'] = 'RECURRING'; |
||
439 | } else { |
||
440 | $item['item_type'] = 'RECURRING'; |
||
441 | $item['item_type_toggle'] = 'ONE TIME'; |
||
442 | } |
||
443 | } |
||
444 | if ($item['item_type'] == 'ONE TIME') { |
||
445 | $isrecurring_class = ' hide'; |
||
446 | $isonetime_class = ''; |
||
447 | } else { |
||
448 | $isrecurring_class = ''; |
||
449 | $isonetime_class = ' hide'; |
||
450 | } |
||
451 | // Create the output |
||
452 | $retval = ""; |
||
453 | $retval .= "<!-- START " . $modeToUpper . " EVENT FORM -->\n\n"; |
||
454 | $retval .= "<form class='rte_form' action='db_events.php' method='post'>\n"; |
||
455 | $retval .= "<input name='{$mode}_item' type='hidden' value='1'>\n"; |
||
456 | $retval .= $original_data; |
||
457 | $retval .= Url::getHiddenInputs($db, $table) . "\n"; |
||
458 | $retval .= "<fieldset>\n"; |
||
459 | $retval .= "<legend>" . __('Details') . "</legend>\n"; |
||
460 | $retval .= "<table class='rte_table'>\n"; |
||
461 | $retval .= "<tr>\n"; |
||
462 | $retval .= " <td>" . __('Event name') . "</td>\n"; |
||
463 | $retval .= " <td><input type='text' name='item_name' \n"; |
||
464 | $retval .= " value='{$item['item_name']}'\n"; |
||
465 | $retval .= " maxlength='64'></td>\n"; |
||
466 | $retval .= "</tr>\n"; |
||
467 | $retval .= "<tr>\n"; |
||
468 | $retval .= " <td>" . __('Status') . "</td>\n"; |
||
469 | $retval .= " <td>\n"; |
||
470 | $retval .= " <select name='item_status'>\n"; |
||
471 | foreach ($event_status['display'] as $key => $value) { |
||
472 | $selected = ""; |
||
473 | if (! empty($item['item_status']) && $item['item_status'] == $value) { |
||
474 | $selected = " selected='selected'"; |
||
475 | } |
||
476 | $retval .= "<option$selected>$value</option>"; |
||
477 | } |
||
478 | $retval .= " </select>\n"; |
||
479 | $retval .= " </td>\n"; |
||
480 | $retval .= "</tr>\n"; |
||
481 | |||
482 | $retval .= "<tr>\n"; |
||
483 | $retval .= " <td>" . __('Event type') . "</td>\n"; |
||
484 | $retval .= " <td>\n"; |
||
485 | if ($response->isAjax()) { |
||
486 | $retval .= " <select name='item_type'>"; |
||
487 | foreach ($event_type as $key => $value) { |
||
488 | $selected = ""; |
||
489 | if (! empty($item['item_type']) && $item['item_type'] == $value) { |
||
490 | $selected = " selected='selected'"; |
||
491 | } |
||
492 | $retval .= "<option$selected>$value</option>"; |
||
493 | } |
||
494 | $retval .= " </select>\n"; |
||
495 | } else { |
||
496 | $retval .= " <input name='item_type' type='hidden' \n"; |
||
497 | $retval .= " value='{$item['item_type']}'>\n"; |
||
498 | $retval .= " <div class='font_weight_bold center half_width'>\n"; |
||
499 | $retval .= " {$item['item_type']}\n"; |
||
500 | $retval .= " </div>\n"; |
||
501 | $retval .= " <input type='submit'\n"; |
||
502 | $retval .= " name='item_changetype' class='half_width'\n"; |
||
503 | $retval .= " value='"; |
||
504 | $retval .= sprintf(__('Change to %s'), $item['item_type_toggle']); |
||
505 | $retval .= "'>\n"; |
||
506 | } |
||
507 | $retval .= " </td>\n"; |
||
508 | $retval .= "</tr>\n"; |
||
509 | $retval .= "<tr class='onetime_event_row $isonetime_class'>\n"; |
||
510 | $retval .= " <td>" . __('Execute at') . "</td>\n"; |
||
511 | $retval .= " <td class='nowrap'>\n"; |
||
512 | $retval .= " <input type='text' name='item_execute_at'\n"; |
||
513 | $retval .= " value='{$item['item_execute_at']}'\n"; |
||
514 | $retval .= " class='datetimefield'>\n"; |
||
515 | $retval .= " </td>\n"; |
||
516 | $retval .= "</tr>\n"; |
||
517 | $retval .= "<tr class='recurring_event_row $isrecurring_class'>\n"; |
||
518 | $retval .= " <td>" . __('Execute every') . "</td>\n"; |
||
519 | $retval .= " <td>\n"; |
||
520 | $retval .= " <input class='half_width' type='text'\n"; |
||
521 | $retval .= " name='item_interval_value'\n"; |
||
522 | $retval .= " value='{$item['item_interval_value']}'>\n"; |
||
523 | $retval .= " <select class='half_width' name='item_interval_field'>"; |
||
524 | foreach ($event_interval as $key => $value) { |
||
525 | $selected = ""; |
||
526 | if (! empty($item['item_interval_field']) |
||
527 | && $item['item_interval_field'] == $value |
||
528 | ) { |
||
529 | $selected = " selected='selected'"; |
||
530 | } |
||
531 | $retval .= "<option$selected>$value</option>"; |
||
532 | } |
||
533 | $retval .= " </select>\n"; |
||
534 | $retval .= " </td>\n"; |
||
535 | $retval .= "</tr>\n"; |
||
536 | $retval .= "<tr class='recurring_event_row$isrecurring_class'>\n"; |
||
537 | $retval .= " <td>" . _pgettext('Start of recurring event', 'Start'); |
||
538 | $retval .= " </td>\n"; |
||
539 | $retval .= " <td class='nowrap'>\n"; |
||
540 | $retval .= " <input type='text'\n name='item_starts'\n"; |
||
541 | $retval .= " value='{$item['item_starts']}'\n"; |
||
542 | $retval .= " class='datetimefield'>\n"; |
||
543 | $retval .= " </td>\n"; |
||
544 | $retval .= "</tr>\n"; |
||
545 | $retval .= "<tr class='recurring_event_row$isrecurring_class'>\n"; |
||
546 | $retval .= " <td>" . _pgettext('End of recurring event', 'End') . "</td>\n"; |
||
547 | $retval .= " <td class='nowrap'>\n"; |
||
548 | $retval .= " <input type='text' name='item_ends'\n"; |
||
549 | $retval .= " value='{$item['item_ends']}'\n"; |
||
550 | $retval .= " class='datetimefield'>\n"; |
||
551 | $retval .= " </td>\n"; |
||
552 | $retval .= "</tr>\n"; |
||
553 | $retval .= "<tr>\n"; |
||
554 | $retval .= " <td>" . __('Definition') . "</td>\n"; |
||
555 | $retval .= " <td><textarea name='item_definition' rows='15' cols='40'>"; |
||
556 | $retval .= $item['item_definition']; |
||
557 | $retval .= "</textarea></td>\n"; |
||
558 | $retval .= "</tr>\n"; |
||
559 | $retval .= "<tr>\n"; |
||
560 | $retval .= " <td>" . __('On completion preserve') . "</td>\n"; |
||
561 | $retval .= " <td><input type='checkbox'\n"; |
||
562 | $retval .= " name='item_preserve'{$item['item_preserve']}></td>\n"; |
||
563 | $retval .= "</tr>\n"; |
||
564 | $retval .= "<tr>\n"; |
||
565 | $retval .= " <td>" . __('Definer') . "</td>\n"; |
||
566 | $retval .= " <td><input type='text' name='item_definer'\n"; |
||
567 | $retval .= " value='{$item['item_definer']}'></td>\n"; |
||
568 | $retval .= "</tr>\n"; |
||
569 | $retval .= "<tr>\n"; |
||
570 | $retval .= " <td>" . __('Comment') . "</td>\n"; |
||
571 | $retval .= " <td><input type='text' name='item_comment' maxlength='64'\n"; |
||
572 | $retval .= " value='{$item['item_comment']}'></td>\n"; |
||
573 | $retval .= "</tr>\n"; |
||
574 | $retval .= "</table>\n"; |
||
575 | $retval .= "</fieldset>\n"; |
||
576 | if ($response->isAjax()) { |
||
577 | $retval .= "<input type='hidden' name='editor_process_{$mode}'\n"; |
||
578 | $retval .= " value='true'>\n"; |
||
579 | $retval .= "<input type='hidden' name='ajax_request' value='true'>\n"; |
||
580 | } else { |
||
581 | $retval .= "<fieldset class='tblFooters'>\n"; |
||
582 | $retval .= " <input type='submit' name='editor_process_{$mode}'\n"; |
||
583 | $retval .= " value='" . __('Go') . "'>\n"; |
||
584 | $retval .= "</fieldset>\n"; |
||
585 | } |
||
586 | $retval .= "</form>\n\n"; |
||
587 | $retval .= "<!-- END " . $modeToUpper . " EVENT FORM -->\n\n"; |
||
588 | |||
589 | return $retval; |
||
590 | } |
||
684 |