Code Duplication    Length = 118-125 lines in 2 locations

htdocs/class/xoopsform/renderer/XoopsFormRendererBootstrap3.php 1 location

@@ 547-664 (lines=118) @@
544
     *
545
     * @return string rendered form element
546
     */
547
    public function renderFormTextDateSelect(XoopsFormTextDateSelect $element)
548
    {
549
        static $included = false;
550
        if (file_exists(XOOPS_ROOT_PATH . '/language/' . $GLOBALS['xoopsConfig']['language'] . '/calendar.php')) {
551
            include_once XOOPS_ROOT_PATH . '/language/' . $GLOBALS['xoopsConfig']['language'] . '/calendar.php';
552
        } else {
553
            include_once XOOPS_ROOT_PATH . '/language/english/calendar.php';
554
        }
555
556
        $ele_name  = $element->getName();
557
        $ele_value = $element->getValue(false);
558
        if (is_string($ele_value)) {
559
            $display_value = $ele_value;
560
            $ele_value     = time();
561
        } else {
562
            $display_value = date(_SHORTDATESTRING, $ele_value);
563
        }
564
565
        $jstime = formatTimestamp($ele_value, _SHORTDATESTRING);
566
        if (isset($GLOBALS['xoTheme']) && is_object($GLOBALS['xoTheme'])) {
567
            $GLOBALS['xoTheme']->addScript('include/calendar.js');
568
            $GLOBALS['xoTheme']->addStylesheet('include/calendar-blue.css');
569
            if (!$included) {
570
                $included = true;
571
                $GLOBALS['xoTheme']->addScript('', '', '
572
                    var calendar = null;
573
574
                    function selected(cal, date)
575
                    {
576
                    cal.sel.value = date;
577
                    }
578
579
                    function closeHandler(cal)
580
                    {
581
                    cal.hide();
582
                    Calendar.removeEvent(document, "mousedown", checkCalendar);
583
                    }
584
585
                    function checkCalendar(ev)
586
                    {
587
                    var el = Calendar.is_ie ? Calendar.getElement(ev) : Calendar.getTargetElement(ev);
588
                    for (; el != null; el = el.parentNode)
589
                    if (el == calendar.element || el.tagName == "A") break;
590
                    if (el == null) {
591
                    calendar.callCloseHandler(); Calendar.stopEvent(ev);
592
                    }
593
                    }
594
                    function showCalendar(id)
595
                    {
596
                    var el = xoopsGetElementById(id);
597
                    if (calendar != null) {
598
                    calendar.hide();
599
                    } else {
600
                    var cal = new Calendar(true, "' . $jstime . '", selected, closeHandler);
601
                    calendar = cal;
602
                    cal.setRange(1900, 2100);
603
                    calendar.create();
604
                    }
605
                    calendar.sel = el;
606
                    calendar.parseDate(el.value);
607
                    calendar.showAtElement(el);
608
                    Calendar.addEvent(document, "mousedown", checkCalendar);
609
610
                    return false;
611
                    }
612
613
                    Calendar._DN = new Array
614
                    ("' . _CAL_SUNDAY . '",
615
                    "' . _CAL_MONDAY . '",
616
                    "' . _CAL_TUESDAY . '",
617
                    "' . _CAL_WEDNESDAY . '",
618
                    "' . _CAL_THURSDAY . '",
619
                    "' . _CAL_FRIDAY . '",
620
                    "' . _CAL_SATURDAY . '",
621
                    "' . _CAL_SUNDAY . '");
622
                    Calendar._MN = new Array
623
                    ("' . _CAL_JANUARY . '",
624
                    "' . _CAL_FEBRUARY . '",
625
                    "' . _CAL_MARCH . '",
626
                    "' . _CAL_APRIL . '",
627
                    "' . _CAL_MAY . '",
628
                    "' . _CAL_JUNE . '",
629
                    "' . _CAL_JULY . '",
630
                    "' . _CAL_AUGUST . '",
631
                    "' . _CAL_SEPTEMBER . '",
632
                    "' . _CAL_OCTOBER . '",
633
                    "' . _CAL_NOVEMBER . '",
634
                    "' . _CAL_DECEMBER . '");
635
636
                    Calendar._TT = {};
637
                    Calendar._TT["TOGGLE"] = "' . _CAL_TGL1STD . '";
638
                    Calendar._TT["PREV_YEAR"] = "' . _CAL_PREVYR . '";
639
                    Calendar._TT["PREV_MONTH"] = "' . _CAL_PREVMNTH . '";
640
                    Calendar._TT["GO_TODAY"] = "' . _CAL_GOTODAY . '";
641
                    Calendar._TT["NEXT_MONTH"] = "' . _CAL_NXTMNTH . '";
642
                    Calendar._TT["NEXT_YEAR"] = "' . _CAL_NEXTYR . '";
643
                    Calendar._TT["SEL_DATE"] = "' . _CAL_SELDATE . '";
644
                    Calendar._TT["DRAG_TO_MOVE"] = "' . _CAL_DRAGMOVE . '";
645
                    Calendar._TT["PART_TODAY"] = "(' . _CAL_TODAY . ')";
646
                    Calendar._TT["MON_FIRST"] = "' . _CAL_DISPM1ST . '";
647
                    Calendar._TT["SUN_FIRST"] = "' . _CAL_DISPS1ST . '";
648
                    Calendar._TT["CLOSE"] = "' . _CLOSE . '";
649
                    Calendar._TT["TODAY"] = "' . _CAL_TODAY . '";
650
651
                    // date formats
652
                    Calendar._TT["DEF_DATE_FORMAT"] = "' . _SHORTDATESTRING . '";
653
                    Calendar._TT["TT_DATE_FORMAT"] = "' . _SHORTDATESTRING . '";
654
655
                    Calendar._TT["WK"] = "";
656
                ');
657
            }
658
        }
659
        return '<div class="form-inline"><input class="form-control" type="text" name="' . $ele_name
660
            . '" id="' . $ele_name . '" size="' . $element->getSize() . '" maxlength="'
661
            . $element->getMaxlength() . '" value="' . $display_value . '"' . $element->getExtra()
662
            . ' /><input class="form-control" type="reset" value=" ... " onclick="return showCalendar(\''
663
            . $ele_name . '\');"></div>';
664
    }
665
666
    /**
667
     * Render support for XoopsThemeForm

htdocs/class/xoopsform/renderer/XoopsFormRendererLegacy.php 1 location

@@ 482-606 (lines=125) @@
479
     *
480
     * @return string rendered form element
481
     */
482
    public function renderFormTextDateSelect(XoopsFormTextDateSelect $element)
483
    {
484
        static $included = false;
485
        if (file_exists(XOOPS_ROOT_PATH . '/language/' . $GLOBALS['xoopsConfig']['language'] . '/calendar.php')) {
486
            include_once XOOPS_ROOT_PATH . '/language/' . $GLOBALS['xoopsConfig']['language'] . '/calendar.php';
487
        } else {
488
            include_once XOOPS_ROOT_PATH . '/language/english/calendar.php';
489
        }
490
491
        $ele_name  = $element->getName();
492
        $ele_value = $element->getValue(false);
493
        if (is_string($ele_value)) {
494
            $display_value = $ele_value;
495
            $ele_value     = time();
496
        } else {
497
            $display_value = date(_SHORTDATESTRING, $ele_value);
498
        }
499
500
        $jstime = formatTimestamp($ele_value, _SHORTDATESTRING);
501
        if (isset($GLOBALS['xoTheme']) && is_object($GLOBALS['xoTheme'])) {
502
            $GLOBALS['xoTheme']->addScript('include/calendar.js');
503
            $GLOBALS['xoTheme']->addStylesheet('include/calendar-blue.css');
504
            if (!$included) {
505
                $included = true;
506
                $GLOBALS['xoTheme']->addScript('', '', '
507
                    var calendar = null;
508
509
                    function selected(cal, date)
510
                    {
511
                    cal.sel.value = date;
512
                    }
513
514
                    function closeHandler(cal)
515
                    {
516
                    cal.hide();
517
                    Calendar.removeEvent(document, "mousedown", checkCalendar);
518
                    }
519
520
                    function checkCalendar(ev)
521
                    {
522
                    var el = Calendar.is_ie ? Calendar.getElement(ev) : Calendar.getTargetElement(ev);
523
                    for (; el != null; el = el.parentNode)
524
                    if (el == calendar.element || el.tagName == "A") break;
525
                    if (el == null) {
526
                    calendar.callCloseHandler(); Calendar.stopEvent(ev);
527
                    }
528
                    }
529
                    function showCalendar(id)
530
                    {
531
                    var el = xoopsGetElementById(id);
532
                    if (calendar != null) {
533
                    calendar.hide();
534
                    } else {
535
                    var cal = new Calendar(true, "' . $jstime . '", selected, closeHandler);
536
                    calendar = cal;
537
                    cal.setRange(1900, 2100);
538
                    calendar.create();
539
                    }
540
                    calendar.sel = el;
541
                    calendar.parseDate(el.value);
542
                    calendar.showAtElement(el);
543
                    Calendar.addEvent(document, "mousedown", checkCalendar);
544
545
                    return false;
546
                    }
547
548
                    Calendar._DN = new Array
549
                    ("' . _CAL_SUNDAY . '",
550
                    "' . _CAL_MONDAY . '",
551
                    "' . _CAL_TUESDAY . '",
552
                    "' . _CAL_WEDNESDAY . '",
553
                    "' . _CAL_THURSDAY . '",
554
                    "' . _CAL_FRIDAY . '",
555
                    "' . _CAL_SATURDAY . '",
556
                    "' . _CAL_SUNDAY . '");
557
                    Calendar._MN = new Array
558
                    ("' . _CAL_JANUARY . '",
559
                    "' . _CAL_FEBRUARY . '",
560
                    "' . _CAL_MARCH . '",
561
                    "' . _CAL_APRIL . '",
562
                    "' . _CAL_MAY . '",
563
                    "' . _CAL_JUNE . '",
564
                    "' . _CAL_JULY . '",
565
                    "' . _CAL_AUGUST . '",
566
                    "' . _CAL_SEPTEMBER . '",
567
                    "' . _CAL_OCTOBER . '",
568
                    "' . _CAL_NOVEMBER . '",
569
                    "' . _CAL_DECEMBER . '");
570
571
                    Calendar._TT = {};
572
                    Calendar._TT["TOGGLE"] = "' . _CAL_TGL1STD . '";
573
                    Calendar._TT["PREV_YEAR"] = "' . _CAL_PREVYR . '";
574
                    Calendar._TT["PREV_MONTH"] = "' . _CAL_PREVMNTH . '";
575
                    Calendar._TT["GO_TODAY"] = "' . _CAL_GOTODAY . '";
576
                    Calendar._TT["NEXT_MONTH"] = "' . _CAL_NXTMNTH . '";
577
                    Calendar._TT["NEXT_YEAR"] = "' . _CAL_NEXTYR . '";
578
                    Calendar._TT["SEL_DATE"] = "' . _CAL_SELDATE . '";
579
                    Calendar._TT["DRAG_TO_MOVE"] = "' . _CAL_DRAGMOVE . '";
580
                    Calendar._TT["PART_TODAY"] = "(' . _CAL_TODAY . ')";
581
                    Calendar._TT["MON_FIRST"] = "' . _CAL_DISPM1ST . '";
582
                    Calendar._TT["SUN_FIRST"] = "' . _CAL_DISPS1ST . '";
583
                    Calendar._TT["CLOSE"] = "' . _CLOSE . '";
584
                    Calendar._TT["TODAY"] = "' . _CAL_TODAY . '";
585
586
                    // date formats
587
                    Calendar._TT["DEF_DATE_FORMAT"] = "' . _SHORTDATESTRING . '";
588
                    Calendar._TT["TT_DATE_FORMAT"] = "' . _SHORTDATESTRING . '";
589
590
                    Calendar._TT["WK"] = "";
591
                ');
592
            }
593
        }
594
        return '<input type="text" name="' . $ele_name . '" id="' . $ele_name . '" size="'
595
            . $element->getSize() . '" maxlength="' . $element->getMaxlength() . '" value="'
596
            . $display_value . '"' . $element->getExtra()
597
            . ' /><input type="reset" value=" ... " onclick="return showCalendar(\'' . $ele_name
598
            . '\');">';
599
        /*
600
        return "<input type='text' name='" . $ele_name . "' id='" . $ele_name . "' size='"
601
            . $element->getSize() . "' maxlength='" . $element->getMaxlength() . "' value='"
602
            . $display_value . "'" . $element->getExtra()
603
            . " /><input type='reset' value=' ... ' onclick='return showCalendar(\"" . $ele_name
604
            . "\");'>";
605
        */
606
    }
607
608
    /**
609
     * Render support for XoopsThemeForm