Code Duplication    Length = 21-23 lines in 2 locations

htdocs/xoops_lib/Xoops/Form/Select.php 1 location

@@ 150-170 (lines=21) @@
147
     *
148
     * @return string
149
     */
150
    public function renderValidationJS()
151
    {
152
        // render custom validation code if any
153
        if (!empty($this->customValidationCode)) {
154
            return implode("\n", $this->customValidationCode);
155
            // generate validation code if required
156
        } elseif ($this->isRequired()) {
157
            $eltname = $this->getName();
158
            $eltcaption = $this->getCaption();
159
            $eltmsg = empty($eltcaption)
160
                ? sprintf(\XoopsLocale::F_ENTER, $eltname)
161
                : sprintf(\XoopsLocale::F_ENTER, $eltcaption);
162
            $eltmsg = str_replace('"', '\"', stripslashes($eltmsg));
163
            return "\nvar hasSelected = false; var selectBox = myform.{$eltname};"
164
                . "for (i = 0; i < selectBox.options.length; i++ ) { "
165
                . "if (selectBox.options[i].selected == true && selectBox.options[i].value != '') "
166
                . "{ hasSelected = true; break; } }" . "if (!hasSelected) "
167
                . "{ window.alert(\"{$eltmsg}\"); selectBox.focus(); return false; }";
168
        }
169
        return '';
170
    }
171
}
172

htdocs/xoops_lib/Xoops/Form/Checkbox.php 1 location

@@ 126-148 (lines=23) @@
123
     *
124
     * @return string
125
     */
126
    public function renderValidationJS()
127
    {
128
        // render custom validation code if any
129
        if (!empty($this->customValidationCode)) {
130
            return implode("\n", $this->customValidationCode);
131
            // generate validation code if required
132
        } elseif ($this->isRequired()) {
133
            $eltname = $this->getName();
134
            $eltcaption = $this->getCaption();
135
            $eltmsg = empty($eltcaption)
136
                ? sprintf(\XoopsLocale::F_ENTER, $eltname)
137
                : sprintf(\XoopsLocale::F_ENTER, $eltcaption);
138
            $eltmsg = str_replace('"', '\"', stripslashes($eltmsg));
139
            return "\n"
140
            . "var hasChecked = false; var checkBox = myform.elements['{$eltname}'];"
141
            . " if (checkBox.length) {for (var i = 0; i < checkBox.length; i++)"
142
            . " {if (checkBox[i].checked == true) {hasChecked = true; break;}}}"
143
            . "else{if (checkBox.checked == true) {hasChecked = true;}}"
144
            . "if (!hasChecked) {window.alert(\"{$eltmsg}\");if (checkBox.length)"
145
            . " {checkBox[0].focus();}else{checkBox.focus();}return false;}";
146
        }
147
        return '';
148
    }
149
}
150