Passed
Push — master ( 4674d5...c94053 )
by Goffy
40s queued 13s
created

ClassFormElements::renderElements()   F

Complexity

Conditions 32
Paths 841

Size

Total Lines 124
Code Lines 103

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 32
eloc 103
nc 841
nop 0
dl 0
loc 124
rs 0.1766
c 0
b 0
f 0

How to fix   Long Method    Complexity   

Long Method

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:

1
<?php
2
3
namespace XoopsModules\Tdmcreate\Files\Classes;
4
5
use XoopsModules\Tdmcreate;
6
7
/*
8
 You may not change or alter any portion of this comment or credits
9
 of supporting developers from this source code or any supporting source code
10
 which is considered copyrighted (c) material of the original comment or credit authors.
11
12
 This program is distributed in the hope that it will be useful,
13
 but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15
 */
16
/**
17
 * tc module.
18
 *
19
 * @copyright       XOOPS Project (https://xoops.org)
20
 * @license         GNU GPL 2 (http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
21
 *
22
 * @since           2.5.0
23
 *
24
 * @author          Txmod Xoops http://www.txmodxoops.org
25
 *
26
 */
27
28
/**
29
 * Class ClassFormElements.
30
 */
31
class ClassFormElements extends Tdmcreate\Files\CreateAbstractClass
32
{
33
    /**
34
     * @static function getInstance
35
     * @param null
36
     *
37
     * @return ClassFormElements
38
     */
39
    public static function getInstance()
40
    {
41
        static $instance = false;
42
        if (!$instance) {
43
            $instance = new self();
44
        }
45
46
        return $instance;
47
    }
48
49
    /**
50
     * @public function initForm
51
     *
52
     * @param $module
53
     * @param $table
54
     */
55
    public function initForm($module, $table)
56
    {
57
        $this->setModule($module);
58
        $this->setTable($table);
59
    }
60
61
    /**
62
     * @private function getXoopsFormText
63
     *
64
     * @param        $language
65
     * @param        $fieldName
66
     * @param        $fieldDefault
67
     * @param string $required
68
     * @return string
69
     */
70
    private function getXoopsFormText($language, $fieldName, $fieldDefault, $required = 'false')
71
    {
72
        $tf           = Tdmcreate\Files\CreateFile::getInstance();
73
        $pc           = Tdmcreate\Files\CreatePhpCode::getInstance();
74
        $cc           = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
75
        $ucfFieldName = $tf->getCamelCase($fieldName, true);
76
        $ccFieldName  = $tf->getCamelCase($fieldName, false, true);
77
        if ('' != $fieldDefault) {
78
            $ret      = $pc->getPhpCodeCommentLine('Form Text', $ucfFieldName, "\t\t");
79
            $ret      .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$this->isNew()', "'{$fieldDefault}'", "\$this->getVar('{$fieldName}')", "\t\t");
80
            $formText = $cc->getClassXoopsFormText('', $language, $fieldName, 20, 150, $ccFieldName, true);
81
            $ret      .= $cc->getClassAddElement('form', $formText . $required);
82
        } else {
83
            $ret      = $pc->getPhpCodeCommentLine('Form Text', $ucfFieldName, "\t\t");
84
            $formText = $cc->getClassXoopsFormText('', $language, $fieldName, 50, 255, "this->getVar('{$fieldName}')", true);
85
            $ret      .= $cc->getClassAddElement('form', $formText . $required);
86
        }
87
88
        return $ret;
89
    }
90
91
    /**
92
     * @private function getXoopsFormText
93
     *
94
     * @param $language
95
     * @param $fieldName
96
     * @param $required
97
     *
98
     * @return string
99
     */
100
    private function getXoopsFormTextArea($language, $fieldName, $required = 'false')
101
    {
102
        $tf           = Tdmcreate\Files\CreateFile::getInstance();
103
        $pc           = Tdmcreate\Files\CreatePhpCode::getInstance();
104
        $cc           = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
105
        $ucfFieldName = $tf->getCamelCase($fieldName, true);
106
        $ret          = $pc->getPhpCodeCommentLine('Form Text Area', $ucfFieldName, "\t\t");
107
        $formTextArea = $cc->getClassXoopsFormTextArea('', $language, $fieldName, 4, 47, true);
108
        $ret          .= $cc->getClassAddElement('form', $formTextArea . $required);
109
110
        return $ret;
111
    }
112
113
    /**
114
     * @private function getXoopsFormDhtmlTextArea
115
     *
116
     * @param $language
117
     * @param $moduleDirname
118
     * @param $fieldName
119
     * @param $required
120
     *
121
     * @return string
122
     */
123
    private function getXoopsFormDhtmlTextArea($language, $moduleDirname, $fieldName, $required = 'false')
124
    {
125
        $tf           = Tdmcreate\Files\CreateFile::getInstance();
126
        $pc           = Tdmcreate\Files\CreatePhpCode::getInstance();
127
        $xc           = Tdmcreate\Files\CreateXoopsCode::getInstance();
128
        $cc           = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
129
        $rpFieldName  = $tf->getRightString($fieldName);
130
        $ucfFieldName = $tf->getCamelCase($fieldName, true);
131
132
        $ret       = $pc->getPhpCodeCommentLine('Form editor', $ucfFieldName, "\t\t");
133
        $ret       .= $pc->getPhpCodeArray('editorConfigs', null, false, "\t\t");
134
        $getConfig = $xc->getXcGetConfig($moduleDirname, 'editor_' . $rpFieldName);
135
        $configs   = [
136
            'name'   => "'{$fieldName}'",
137
            'value'  => "\$this->getVar('{$fieldName}', 'e')",
138
            'rows'   => 5,
139
            'cols'   => 40,
140
            'width'  => "'100%'",
141
            'height' => "'400px'",
142
            'editor' => $getConfig,
143
        ];
144
        foreach ($configs as $c => $d) {
145
            $ret .= $xc->getXcEqualsOperator("\$editorConfigs['{$c}']", $d, null, false, "\t\t");
146
        }
147
        $formEditor = $cc->getClassXoopsFormEditor('', $language, $fieldName, 'editorConfigs', true);
148
        $ret        .= $cc->getClassAddElement('form', $formEditor . $required);
149
150
        return $ret;
151
    }
152
153
    /**
154
     * @private function getXoopsFormCheckBox
155
     *
156
     * @param        $language
157
     * @param        $tableSoleName
158
     * @param        $fieldName
159
     * @param        $fieldElementId
160
     * @param string $required
161
     * @return string
162
     */
163
    private function getXoopsFormCheckBox($language, $tableSoleName, $fieldName, $fieldElementId, $required = 'false')
164
    {
165
        $tf               = Tdmcreate\Files\CreateFile::getInstance();
166
        $pc               = Tdmcreate\Files\CreatePhpCode::getInstance();
167
        $xc               = Tdmcreate\Files\CreateXoopsCode::getInstance();
168
        $cc               = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
169
        $stuTableSoleName = mb_strtoupper($tableSoleName);
170
        $ucfFieldName     = $tf->getCamelCase($fieldName, true);
171
        $ccFieldName      = $tf->getCamelCase($fieldName, false, true);
172
        $t                = "\t\t";
173
        if (in_array(5, $fieldElementId) > 1) {
174
            $ret     = $pc->getPhpCodeCommentLine('Form Check Box', 'List Options ' . $ucfFieldName, $t);
175
            $ret     .= $xc->getXcEqualsOperator('$checkOption', '$this->getOptions()');
176
            $foreach = $cc->getClassXoopsFormCheckBox('check' . $ucfFieldName, '<hr />', $tableSoleName . '_option', '$checkOption', false, $t);
177
            $foreach .= $cc->getClassSetDescription('check' . $ucfFieldName, "{$language}{$stuTableSoleName}_OPTIONS_DESC", $t);
178
            $foreach .= $cc->getClassAddOption('check' . $ucfFieldName, "\$option, {$language}{$stuTableSoleName}_ . strtoupper(\$option)", $t . "\t");
179
            $ret     .= $pc->getPhpCodeForeach("{$tableName}All", false, false, 'option', $foreach, $t);
0 ignored issues
show
Comprehensibility Best Practice introduced by
The variable $tableName seems to be never defined.
Loading history...
180
            $intElem = "\$check{$ucfFieldName}{$required}";
181
            $ret     .= $cc->getClassAddElement('form', $intElem, $t);
182
        } else {
183
            $ret     = $pc->getPhpCodeCommentLine('Form Check Box', $ucfFieldName, $t);
184
            $ret     .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$this->isNew()', 0, "\$this->getVar('{$fieldName}')", $t);
185
            $ret     .= $cc->getClassXoopsFormCheckBox('check' . $ucfFieldName, (string)$language, $fieldName, "\${$ccFieldName}", false, $t);
186
            $option  = "1, {$language}";
187
            $ret     .= $cc->getClassAddOption('check' . $ucfFieldName, $option, $t);
188
            $intElem = "\$check{$ucfFieldName}{$required}";
189
            $ret     .= $cc->getClassAddElement('form', $intElem, $t);
190
        }
191
192
        return $ret;
193
    }
194
195
    /**
196
     * @private function getXoopsFormHidden
197
     *
198
     * @param $fieldName
199
     *
200
     * @return string
201
     */
202
    private function getXoopsFormHidden($fieldName)
203
    {
204
        $tf           = Tdmcreate\Files\CreateFile::getInstance();
205
        $pc           = Tdmcreate\Files\CreatePhpCode::getInstance();
206
        $cc           = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
207
        $ucfFieldName = $tf->getCamelCase($fieldName, true);
208
        $ret          = $pc->getPhpCodeCommentLine('Form Hidden', $ucfFieldName, "\t\t");
209
        $formHidden   = $cc->getClassXoopsFormHidden('', $fieldName, $fieldName, true, true);
210
        $ret          .= $cc->getClassAddElement('form', $formHidden);
211
212
        return $ret;
213
    }
214
215
    /**
216
     * @private function getXoopsFormImageList
217
     *
218
     * @param $language
219
     * @param $moduleDirname
220
     * @param $tableName
221
     * @param $tableSoleName
222
     * @param $fieldName
223
     * @param $required
224
     *
225
     * @return string
226
     */
227
    private function getXoopsFormImageList($language, $moduleDirname, $tableName, $tableSoleName, $fieldName, $required = 'false')
228
    {
229
        $tf              = Tdmcreate\Files\CreateFile::getInstance();
230
        $pc              = Tdmcreate\Files\CreatePhpCode::getInstance();
231
        $xc              = Tdmcreate\Files\CreateXoopsCode::getInstance();
232
        $cc              = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
233
        $stuTableName    = mb_strtoupper($tableName);
234
        $rpFieldName     = $tf->getRightString($fieldName);
235
        $stuSoleName     = mb_strtoupper($tableSoleName . '_' . $rpFieldName);
236
        $ucfFieldName    = $tf->getCamelCase($fieldName, true);
237
        $ccFieldName     = $tf->getCamelCase($fieldName, false, true);
238
        $t               = "\t\t";
239
        $ret             = $pc->getPhpCodeCommentLine('Form Frameworks', 'Image Files ' . $ucfFieldName, $t);
240
        $ret             .= $xc->getXcEqualsOperator('$get' . $ucfFieldName, "\$this->getVar('{$fieldName}')", null, false, $t);
241
        $ret             .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$get' . $ucfFieldName, '$get' . $ucfFieldName, "'blank.gif'", $t);
242
        $ret             .= $xc->getXcEqualsOperator('$imageDirectory', "'/Frameworks/moduleclasses/icons/32'", null, false, $t);
243
        $ret             .= $cc->getClassXoopsFormElementTray('imageTray', $language . $stuSoleName, '<br>', $t);
244
        $sprintf         = $pc->getPhpCodeSprintf($language . 'FORM_IMAGE_PATH', '".{$imageDirectory}/"');
245
        $ret             .= $cc->getClassXoopsFormSelect('imageSelect', $sprintf, $fieldName, $ccFieldName, 5, 'false', false, $t);
246
        $ret             .= $xc->getXcXoopsImgListArray('imageArray', 'XOOPS_ROOT_PATH . $imageDirectory', $t);
247
        $contForeach     = $cc->getClassAddOption('imageSelect', '"{$image1}", $image1', "\t");
248
        $ret             .= $pc->getPhpCodeForeach('imageArray', false, false, 'image1', $contForeach, $t);
249
        $setExtraParam   = "\"onchange='showImgSelected(\\\"image1\\\", \\\"{$fieldName}\\\", \\\"\".\$imageDirectory.\"\\\", \\\"\\\", \\\"\".XOOPS_URL.\"\\\")'\"";
250
        $ret             .= $cc->getClassSetExtra('imageSelect', $setExtraParam, $t);
251
        $ret             .= $cc->getClassAddElement('imageTray', '$imageSelect, false', $t);
252
        $paramLabel      = "\"<br><img src='\".XOOPS_URL.\"/\".\$imageDirectory.\"/\".\\\${$ccFieldName}.\\\"' name='image1' id='image1' alt='' style='max-width:100px' />\\\"";
0 ignored issues
show
Unused Code introduced by
The assignment to $paramLabel is dead and can be removed.
Loading history...
253
        $xoopsFormLabel  = $cc->getClassXoopsFormLabel('', "''", "''", true, '');
254
        $ret             .= $cc->getClassAddElement('imageTray', $xoopsFormLabel, $t);
255
        $ret             .= $pc->getPhpCodeCommentLine('Form', 'File', $t);
256
        $ret             .= $cc->getClassXoopsFormElementTray('fileSelectTray', "''", '<br>', $t);
257
        $getConfig       = $xc->getXcGetConfig($moduleDirname, 'maxsize');
258
        $xoopsFormFile   = $cc->getClassXoopsFormFile('', $language . 'FORM_IMAGE_LIST_' . $stuTableName, 'attachedfile', $getConfig, true, '');
259
        $ret             .= $cc->getClassAddElement('fileSelectTray', $xoopsFormFile, $t);
260
        $xoopsFormLabel1 = $cc->getClassXoopsFormLabel('', "''", null, true, $t);
261
        $ret             .= $cc->getClassAddElement('fileSelectTray', $xoopsFormLabel1, $t);
262
        $ret             .= $cc->getClassAddElement('imageTray', '$fileSelectTray', $t);
263
        $ret             .= $cc->getClassAddElement('form', "\$imageTray{$required}", $t);
264
265
        return $ret;
266
    }
267
268
    /**
269
     * @private function getXoopsFormSelectFile
270
     *
271
     * @param $language
272
     * @param $moduleDirname
273
     * @param $fieldName
274
     * @param $required
275
     *
276
     * @return string
277
     */
278
    private function getXoopsFormSelectFile($language, $moduleDirname, $fieldName, $required = 'false')
279
    {
280
        $tf             = Tdmcreate\Files\CreateFile::getInstance();
281
        $pc             = Tdmcreate\Files\CreatePhpCode::getInstance();
282
        $xc             = Tdmcreate\Files\CreateXoopsCode::getInstance();
283
        $cc             = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
284
        $ccFieldName    = $tf->getCamelCase($fieldName, false, true);
285
        $ucfFieldName   = $tf->getCamelCase($fieldName, true);
286
        $t              = "\t\t\t";
287
        $ret            = $pc->getPhpCodeCommentLine('Form Frameworks', 'Image Files ' . $ucfFieldName, "\t\t");
288
        $contentIf      = $xc->getXcEqualsOperator('$get' . $ucfFieldName, "\$this->getVar('{$fieldName}')", null, false, $t);
289
        $contentIf      .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$get' . $ucfFieldName, '$get' . $ucfFieldName, "'blank.gif'", $t);
290
        $contentIf      .= $xc->getXcEqualsOperator('$uploadDirectory', "'/uploads/{$moduleDirname}/images/shots'", null, false, $t);
291
        $contentIf      .= $cc->getClassXoopsFormElementTray('imageTray', $language . 'FORM_IMAGE', '<br>', $t);
292
        $sprintf        = $pc->getPhpCodeSprintf($language . 'FORM_PATH', '".{$uploadDirectory}/"');
293
        $contentIf      .= $cc->getClassXoopsFormSelect('imageSelect', $sprintf, 'selected_image', "\${$moduleDirname}ShotImage", 5, 'false', false, $t);
294
        $contentIf      .= $xc->getXcXoopsImgListArray('imageArray', 'XOOPS_ROOT_PATH . $uploadDirectory', $t);
295
        $contForeach    = $cc->getClassAddOption('imageSelect', '"{$image1}", $image1', "\t");
296
        $contentIf      .= $pc->getPhpCodeForeach('imageArray', false, false, 'image1', $contForeach, $t);
297
        $setExtraParam  = "\"onchange='showImgSelected(\\\"image3\\\", \\\"selected_image\\\", \\\"\".\$uploadDirectory.\"\\\", \\\"\\\", \\\"\".XOOPS_URL.\"\\\")'\"";
298
        $contentIf      .= $cc->getClassSetExtra('imageSelect', $setExtraParam, $t);
299
        $contentIf      .= $cc->getClassAddElement('imageTray', '$imageSelect, false', $t);
300
        $paramLabel     = "\"<br><img src='\".XOOPS_URL.\"/\".\$uploadDirectory.\"/\" . \${$moduleDirname}ShotImage . \"' name='image3' id='image3' alt='' style='max-width:100px' />\\\"";
301
        $xoopsFormLabel = $cc->getClassXoopsFormLabel('', "''", $paramLabel, true, '');
302
        $contentIf      .= $cc->getClassAddElement('imageTray', $xoopsFormLabel, $t);
303
        $contentIf      .= $pc->getPhpCodeCommentLine('Form', 'File', "\t\t");
304
        $contentIf      .= $cc->getClassXoopsFormElementTray('fileSelectTray', "''", '<br>', $t);
305
        $getConfigFile  = $xc->getXcGetConfig($moduleDirname, 'maxuploadsize');
306
        $xoopsFormFile  = $cc->getClassXoopsFormFile('', $language . '_FORM_UPLOAD', 'attachedimage', $getConfigFile, true, '');
307
        $contentIf1     = $cc->getClassAddElement('fileSelectTray', $xoopsFormFile . $required, $t . "\t");
308
309
        $contentIf .= $cc->getClassAddElement('imageTray', '$fileSelectTray', $t);
310
        $contentIf .= $cc->getClassAddElement('form', "\$imageTray{$required}", $t);
311
312
        $contentIf = $pc->getPhpCodeConditions('$permissionUpload', ' == ', 'true', $contentIf1, false, $t);
313
        $getConfig = $xc->getXcGetConfig($moduleDirname, 'useshots');
314
        $ret       .= $pc->getPhpCodeConditions($getConfig, null, null, $contentIf, false, "\t\t");
315
316
        return $ret;
317
    }
318
319
    /**
320
     * @private function getXoopsFormUrlFile
321
     *
322
     * @param   $language
323
     * @param   $moduleDirname
324
     * @param   $fieldName
325
     * @param   $fieldDefault
326
     * @param   $required
327
     *
328
     * @return string
329
     */
330
    private function getXoopsFormUrlFile($language, $moduleDirname, $fieldName, $fieldDefault, $required = 'false')
331
    {
332
        $tf            = Tdmcreate\Files\CreateFile::getInstance();
333
        $pc            = Tdmcreate\Files\CreatePhpCode::getInstance();
334
        $xc            = Tdmcreate\Files\CreateXoopsCode::getInstance();
335
        $cc            = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
336
        $ucfFieldName  = $tf->getCamelCase($fieldName, true);
337
        $t             = "\t\t";
338
        $ret           = $pc->getPhpCodeCommentLine('Form Url', 'Text File ' . $ucfFieldName, $t);
339
        $ret           .= $cc->getClassXoopsFormElementTray('formUrlFile', '_OPTIONS', '<br><br>', $t);
340
        $ret           .= $pc->getPhpCodeTernaryOperator('formUrl', '$this->isNew()', "'{$fieldDefault}'", "\$this->getVar('{$fieldName}')", $t);
341
        $ret           .= $cc->getClassXoopsFormText('formText', $language, $fieldName, 75, 255, 'formUrl', false, $t);
342
        $ret           .= $cc->getClassAddElement('formUrlFile', '$formText' . $required, $t);
343
        $getConfig     = $xc->getXcGetConfig($moduleDirname, 'maxsize');
344
        $xoopsFormFile = $cc->getClassXoopsFormFile('', $language . 'UPLOAD', 'attachedfile', $getConfig, true, '');
345
        $ret           .= $cc->getClassAddElement('formUrlFile', $xoopsFormFile . $required, $t);
346
        $ret           .= $cc->getClassAddElement('form', '$formUrlFile', $t);
347
348
        return $ret;
349
    }
350
351
    /**
352
     * @private function getXoopsFormUploadImage
353
     *
354
     * @param        $language
355
     * @param        $moduleDirname
356
     * @param        $tableName
357
     * @param        $tableSoleName
358
     * @param        $fieldName
359
     * @param string $required
360
     * @return string
361
     */
362
    private function getXoopsFormUploadImage($language, $moduleDirname, $tableName, $tableSoleName, $fieldName, $required = 'false')
363
    {
364
        $tf              = Tdmcreate\Files\CreateFile::getInstance();
365
        $pc              = Tdmcreate\Files\CreatePhpCode::getInstance();
366
        $xc              = Tdmcreate\Files\CreateXoopsCode::getInstance();
367
        $cc              = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
368
        $stuTableName    = mb_strtoupper($tableName);
369
        $stuSoleName     = mb_strtoupper($tableSoleName);
0 ignored issues
show
Unused Code introduced by
The assignment to $stuSoleName is dead and can be removed.
Loading history...
370
        $ucfFieldName    = $tf->getCamelCase($fieldName, true);
371
        $ccFieldName     = $tf->getCamelCase($fieldName, false, true);
372
        $t               = "\t\t";
373
        $ret             = $pc->getPhpCodeCommentLine('Form Upload', 'Image ' . $ucfFieldName, $t);
374
        $ret             .= $xc->getXcEqualsOperator('$get' . $ucfFieldName, "\$this->getVar('{$fieldName}')", null, false, $t);
375
        $ret             .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$get' . $ucfFieldName, '$get' . $ucfFieldName, "'blank.gif'", $t);
376
        $ret             .= $xc->getXcEqualsOperator('$imageDirectory', "'/uploads/{$moduleDirname}/images/{$tableName}'", null, false, $t);
377
        $ret             .= $cc->getClassXoopsFormElementTray('imageTray', '_OPTIONS', '<br>', $t);
378
        $sprintf         = $pc->getPhpCodeSprintf($language . 'FORM_IMAGE_PATH', '".{$imageDirectory}/"');
379
        $ret             .= $cc->getClassXoopsFormSelect('imageSelect', $sprintf, $fieldName, $ccFieldName, 5, 'false', false, $t);
380
        $ret             .= $xc->getXcXoopsImgListArray('imageArray', 'XOOPS_ROOT_PATH . $imageDirectory', $t);
381
        $contForeach     = $cc->getClassAddOption('imageSelect', '"{$image1}", $image1', "\t");
382
        $ret             .= $pc->getPhpCodeForeach('imageArray', false, false, 'image1', $contForeach, $t);
383
        $setExtraParam   = "\"onchange='showImgSelected(\\\"image1\\\", \\\"{$fieldName}\\\", \\\"\".\$imageDirectory.\"\\\", \\\"\\\", \\\"\".XOOPS_URL.\"\\\")'\"";
384
        $ret             .= $cc->getClassSetExtra('imageSelect', $setExtraParam, $t);
385
        $ret             .= $cc->getClassAddElement('imageTray', '$imageSelect, false', $t);
386
        $paramLabel      = "\"<br><img src='\".XOOPS_URL.\"/\".\$imageDirectory.\"/\".\${$ccFieldName}.\"' name='image1' id='image1' alt='' style='max-width:100px' />\"";
387
        $xoopsFormLabel  = $cc->getClassXoopsFormLabel('', "''", $paramLabel, true, '');
388
        $ret             .= $cc->getClassAddElement('imageTray', $xoopsFormLabel, $t);
389
        $ret             .= $pc->getPhpCodeCommentLine('Form', 'File ' . $ucfFieldName, $t);
390
        $ret             .= $cc->getClassXoopsFormElementTray('fileSelectTray', "''", '<br>', $t);
391
        $getConfig       = $xc->getXcGetConfig($moduleDirname, 'maxsize');
392
        $xoopsFormFile   = $cc->getClassXoopsFormFile('', $language . 'FORM_UPLOAD_IMAGE_' . $stuTableName, 'attachedfile', $getConfig, true, '');
393
        $ret             .= $cc->getClassAddElement('fileSelectTray', $xoopsFormFile, $t);
394
        $xoopsFormLabel1 = $cc->getClassXoopsFormLabel('', "''", null, true);
395
        $ret             .= $cc->getClassAddElement('fileSelectTray', $xoopsFormLabel1, $t);
396
        $ret             .= $cc->getClassAddElement('imageTray', '$fileSelectTray', $t);
397
        $ret             .= $cc->getClassAddElement('form', "\$imageTray{$required}", $t);
398
399
        return $ret;
400
    }
401
402
    /**
403
     * @private function getXoopsFormUploadFile
404
     *
405
     * @param $language
406
     * @param $moduleDirname
407
     * @param $tableName
408
     * @param $fieldName
409
     * @param $required
410
     *
411
     * @return string
412
     */
413
    private function getXoopsFormUploadFile($language, $moduleDirname, $tableName, $fieldName, $required = 'false')
0 ignored issues
show
Unused Code introduced by
The parameter $required is not used and could be removed. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-unused  annotation

413
    private function getXoopsFormUploadFile($language, $moduleDirname, $tableName, $fieldName, /** @scrutinizer ignore-unused */ $required = 'false')

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
414
    {
415
        $tf            = Tdmcreate\Files\CreateFile::getInstance();
416
        $pc            = Tdmcreate\Files\CreatePhpCode::getInstance();
417
        $xc            = Tdmcreate\Files\CreateXoopsCode::getInstance();
418
        $cc            = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
419
        $ucfFieldName  = $tf->getCamelCase($fieldName, true);
420
        $stuTableName  = mb_strtoupper($tableName);
421
        $t             = "\t\t";
422
        $ret           = $pc->getPhpCodeCommentLine('Form', 'File ' . $ucfFieldName, $t);
423
        $getConfig     = $xc->getXcGetConfig($moduleDirname, 'maxsize');
424
        $xoopsFormFile = $cc->getClassXoopsFormFile('', $language . '_' . $stuTableName, $fieldName, $getConfig, true, '');
425
        $ret           .= $cc->getClassAddElement('form', $xoopsFormFile, $t);
426
427
        return $ret;
428
    }
429
430
    /**
431
     * @private function getXoopsFormColorPicker
432
     *
433
     * @param $language
434
     * @param $moduleDirname
435
     * @param $fieldName
436
     * @param $required
437
     *
438
     * @return string
439
     */
440
    private function getXoopsFormColorPicker($language, $moduleDirname, $fieldName, $required = 'false')
0 ignored issues
show
Unused Code introduced by
The parameter $moduleDirname is not used and could be removed. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-unused  annotation

440
    private function getXoopsFormColorPicker($language, /** @scrutinizer ignore-unused */ $moduleDirname, $fieldName, $required = 'false')

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
Unused Code introduced by
The parameter $required is not used and could be removed. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-unused  annotation

440
    private function getXoopsFormColorPicker($language, $moduleDirname, $fieldName, /** @scrutinizer ignore-unused */ $required = 'false')

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
441
    {
442
        $tf            = Tdmcreate\Files\CreateFile::getInstance();
443
        $pc            = Tdmcreate\Files\CreatePhpCode::getInstance();
444
        $xc            = Tdmcreate\Files\CreateXoopsCode::getInstance();
445
        $cc            = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
446
        $ucfFieldName  = $tf->getCamelCase($fieldName, true);
447
        $t             = "\t\t";
448
        $ret           = $pc->getPhpCodeCommentLine('Form Color', 'Picker ' . $ucfFieldName, $t);
449
        $getVar        = $xc->getXcGetVar('', 'this', $fieldName, true);
450
        $xoopsFormFile = $cc->getClassXoopsFormColorPicker('', $language, $fieldName, $getVar, true, '');
451
        $ret           .= $cc->getClassAddElement('form', $xoopsFormFile, $t);
452
453
        return $ret;
454
    }
455
456
    /**
457
     * @private function getXoopsFormSelectBox
458
     *
459
     * @param $language
460
     * @param $moduleDirname
461
     * @param $tableName
462
     * @param $fieldName
463
     * @param $required
464
     *
465
     * @return string
466
     */
467
    private function getXoopsFormSelectBox($language, $moduleDirname, $tableName, $fieldName, $required = 'false')
468
    {
469
        $tf           = Tdmcreate\Files\CreateFile::getInstance();
470
        $pc           = Tdmcreate\Files\CreatePhpCode::getInstance();
471
        $xc           = Tdmcreate\Files\CreateXoopsCode::getInstance();
472
        $cc           = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
473
        $ucfTableName = ucfirst($tableName);
474
        $ccFieldName  = $tf->getCamelCase($fieldName, false, true);
475
        $t            = "\t\t";
476
        $ret          = $pc->getPhpCodeCommentLine($ucfTableName, 'handler', $t);
477
        $ret          .= $xc->getXoopsHandlerLine($moduleDirname, $tableName, $t);
478
        $ret          .= $pc->getPhpCodeCommentLine('Form', 'Select ' . $ucfTableName, $t);
479
        $ret          .= $cc->getClassXoopsFormSelect($ccFieldName . 'Select', $language, $fieldName, "this->getVar('{$fieldName}')", null, '', false, $t);
480
        $ret          .= $cc->getClassAddOption($ccFieldName . 'Select', "'Empty'", $t);
481
        $ret          .= $cc->getClassAddOptionArray($ccFieldName . 'Select', "\${$tableName}Handler->getList()", $t);
482
        $ret          .= $cc->getClassAddElement('form', "\${$ccFieldName}Select{$required}", $t);
483
484
        return $ret;
485
    }
486
487
    /**
488
     * @private function getXoopsFormSelectUser
489
     *
490
     * @param        $language
491
     * @param        $moduleDirname
492
     * @param        $fieldName
493
     * @param string $required
494
     * @return string
495
     */
496
    private function getXoopsFormSelectUser($language, $moduleDirname, $fieldName, $required = 'false')
497
    {
498
        $tf              = Tdmcreate\Files\CreateFile::getInstance();
499
        $pc              = Tdmcreate\Files\CreatePhpCode::getInstance();
500
        $xc              = Tdmcreate\Files\CreateXoopsCode::getInstance();
501
        $cc              = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
502
        $ucfFieldName    = $tf->getCamelCase($fieldName, true);
503
        $t               = "\t\t";
504
        $ret             = $pc->getPhpCodeCommentLine('Form Select', 'User ' . $ucfFieldName, $t);
505
        $getConfig       = $xc->getXcGetConfig($moduleDirname, 'maxsize');
0 ignored issues
show
Unused Code introduced by
The assignment to $getConfig is dead and can be removed.
Loading history...
506
        $xoopsSelectUser = $cc->getClassXoopsFormSelectUser('', $language, $fieldName, 'false', $fieldName, true, $t);
507
        $ret             .= $cc->getClassAddElement('form', $xoopsSelectUser . $required, $t);
508
509
        return $ret;
510
    }
511
512
    /**
513
     * @private function getXoopsFormRadioYN
514
     *
515
     * @param $language
516
     * @param $fieldName
517
     * @param $required
518
     *
519
     * @return string
520
     */
521
    private function getXoopsFormRadioYN($language, $fieldName, $required = 'false')
522
    {
523
        $tf           = Tdmcreate\Files\CreateFile::getInstance();
524
        $pc           = Tdmcreate\Files\CreatePhpCode::getInstance();
525
        $cc           = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
526
        $ccFieldName  = $tf->getCamelCase($fieldName, false, true);
527
        $ucfFieldName = $tf->getCamelCase($fieldName, true);
528
        $t            = "\t\t";
529
        $ret          = $pc->getPhpCodeCommentLine('Form Radio', 'Yes/No ' . $ucfFieldName, $t);
530
        $ret          .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$this->isNew()', 0, "\$this->getVar('{$fieldName}')", $t);
531
        $xoopsRadioYN = $cc->getClassXoopsFormRadioYN('', $language, $fieldName, $ccFieldName, true, $t);
532
        $ret          .= $cc->getClassAddElement('form', $xoopsRadioYN . $required, $t);
533
534
        return $ret;
535
    }
536
537
    /**
538
     * @private function getXoopsFormTextDateSelect
539
     *
540
     * @param $language
541
     * @param $fieldName
542
     * @param $required
543
     *
544
     * @return string
545
     */
546
    private function getXoopsFormTextDateSelect($language, $fieldName, $required = 'false')
547
    {
548
        $tf                  = Tdmcreate\Files\CreateFile::getInstance();
549
        $pc                  = Tdmcreate\Files\CreatePhpCode::getInstance();
550
        $cc                  = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
551
        $t                   = "\t\t";
552
        $ccFieldName         = $tf->getCamelCase($fieldName, false, true);
553
        $ucfFieldName        = $tf->getCamelCase($fieldName, true);
554
        $ret                 = $pc->getPhpCodeCommentLine('Form Text', 'Date Select ' . $ucfFieldName, $t);
555
        $ret                 .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$this->isNew()', 0, "\$this->getVar('{$fieldName}')", $t);
556
        $xoopsTextDateSelect = $cc->getClassXoopsFormTextDateSelect('', $language, $fieldName, $fieldName, $ccFieldName, true, $t);
557
        $ret                 .= $cc->getClassAddElement('form', $xoopsTextDateSelect . $required, $t);
558
559
        return $ret;
560
    }
561
562
    /**
563
     * @private function getXoopsFormTable
564
     *
565
     * @param $language
566
     * @param $moduleDirname
567
     * @param $tableName
568
     * @param $fieldName
569
     * @param $fieldElement
570
     * @param $required
571
     *
572
     * @return string
573
     */
574
    private function getXoopsFormTable($language, $moduleDirname, $tableName, $fieldName, $fieldElement, $required = 'false')
575
    {
576
        $tc           = Tdmcreate\Helper::getInstance();
577
        $tf           = Tdmcreate\Files\CreateFile::getInstance();
578
        $pc           = Tdmcreate\Files\CreatePhpCode::getInstance();
579
        $xc           = Tdmcreate\Files\CreateXoopsCode::getInstance();
580
        $cc           = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
581
        $ucfTableName = ucfirst($tableName);
0 ignored issues
show
Unused Code introduced by
The assignment to $ucfTableName is dead and can be removed.
Loading history...
582
        $t            = "\t\t";
583
        if ($fieldElement > 15) {
584
            $fElement           = $tc->getHandler('fieldelements')->get($fieldElement);
585
            $rpFieldelementName = mb_strtolower(str_replace('Table : ', '', $fElement->getVar('fieldelement_name')));
586
            $ret                = $pc->getPhpCodeCommentLine('Form Table', $rpFieldelementName, $t);
587
            $ccFieldName        = $tf->getCamelCase($fieldName, false, true);
588
            $ret                .= $xc->getXoopsHandlerLine($moduleDirname, $rpFieldelementName, $t);
589
            $ret                .= $cc->getClassXoopsFormSelect($ccFieldName . 'Select', $language, $fieldName, "this->getVar('{$fieldName}')", null, '', false, $t);
590
            $ret                .= $cc->getClassAddOptionArray($ccFieldName . 'Select', "\${$rpFieldelementName}Handler->getList()", $t);
591
            $ret                .= $cc->getClassAddElement('form', "\${$ccFieldName}Select{$required}", $t);
592
        }
593
594
        return $ret;
0 ignored issues
show
Comprehensibility Best Practice introduced by
The variable $ret does not seem to be defined for all execution paths leading up to this point.
Loading history...
595
    }
596
597
    /**
598
     * @private  function getXoopsFormTopic
599
     *
600
     * @param        $language
601
     * @param        $moduleDirname
602
     * @param        $topicTableName
603
     * @param        $fieldId
604
     * @param        $fieldPid
605
     * @param        $fieldMain
606
     * @param string $required
607
     * @return string
608
     */
609
    private function getXoopsFormTopic($language, $moduleDirname, $topicTableName, $fieldId, $fieldPid, $fieldMain, $required = 'false')
0 ignored issues
show
Unused Code introduced by
The parameter $required is not used and could be removed. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-unused  annotation

609
    private function getXoopsFormTopic($language, $moduleDirname, $topicTableName, $fieldId, $fieldPid, $fieldMain, /** @scrutinizer ignore-unused */ $required = 'false')

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
610
    {
611
        $tf                = Tdmcreate\Files\CreateFile::getInstance();
612
        $pc                = Tdmcreate\Files\CreatePhpCode::getInstance();
613
        $xc                = Tdmcreate\Files\CreateXoopsCode::getInstance();
614
        $cc                = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
615
        $ucfTopicTableName = ucfirst($topicTableName);
616
        $stlTopicTableName = mb_strtolower($topicTableName);
617
        $ccFieldPid        = $tf->getCamelCase($fieldPid, false, true);
618
        $t                 = "\t\t";
619
        $ret               = $pc->getPhpCodeCommentLine('Form Table', $ucfTopicTableName, $t);
620
        $ret               .= $xc->getXoopsHandlerLine($moduleDirname, $stlTopicTableName, $t);
621
        $ret               .= $cc->getClassCriteriaCompo('criteria', $t);
622
        $ret               .= $xc->getXcClearHandlerCount($stlTopicTableName . 'Count', $stlTopicTableName, '$criteria', $t);
623
        $contIf            = $pc->getPhpCodeIncludeDir('XOOPS_ROOT_PATH', 'class/tree', true, false, 'include', $t . "\t");
624
        $contIf            .= $xc->getXcClearHandlerAll($stlTopicTableName . 'All', $stlTopicTableName, '$criteria', $t . "\t");
625
        $contIf            .= $cc->getClassXoopsObjectTree($stlTopicTableName . 'Tree', $stlTopicTableName . 'All', $fieldId, $fieldPid, $t . "\t");
626
        $contIf            .= $cc->getClassXoopsMakeSelBox($ccFieldPid, $stlTopicTableName . 'Tree', $fieldPid, $fieldMain, '--', $fieldPid, $t . "\t");
627
        $formLabel         = $cc->getClassXoopsFormLabel('', $language, "\${$ccFieldPid}", true, '');
628
        $contIf            .= $cc->getClassAddElement('form', $formLabel, $t . "\t");
629
        $ret               .= $pc->getPhpCodeConditions("\${$stlTopicTableName}Count", null, null, $contIf, false, $t);
630
        $ret               .= $pc->getPhpCodeUnset('criteria', $t);
631
632
        return $ret;
633
    }
634
635
    /**
636
     * @private function getXoopsFormTag
637
     *
638
     * @param $moduleDirname
639
     * @param $fieldId
640
     * @param $required
641
     *
642
     * @return string
643
     */
644
    private function getXoopsFormTag($moduleDirname, $fieldId, $required = 'false')
645
    {
646
        $pc        = Tdmcreate\Files\CreatePhpCode::getInstance();
647
        $xc        = Tdmcreate\Files\CreateXoopsCode::getInstance();
648
        $cc        = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
649
        $t         = "\t\t";
650
        $ret       = $pc->getPhpCodeCommentLine('Use tag', 'module', $t);
651
        $isDir     = $pc->getPhpCodeIsDir("XOOPS_ROOT_PATH . '/modules/tag'");
652
        $ret       .= $pc->getPhpCodeTernaryOperator('dirTag', $isDir, 'true', 'false', $t);
653
        $paramIf   = '(' . $xc->getXcGetConfig($moduleDirname, 'usetag') . ' == 1)';
654
        $condIf    = $pc->getPhpCodeTernaryOperator('tagId', '$this->isNew()', '0', "\$this->getVar('{$fieldId}')", $t . "\t");
655
        $condIf    .= $pc->getPhpCodeIncludeDir('XOOPS_ROOT_PATH', 'modules/tag/include/formtag', true, false, $type = 'include', $t . "\t");
656
        $paramElem = $cc->getClassXoopsFormTag('', 'tag', 60, 255, 'tagId', 0, true, '');
657
        $condIf    .= $cc->getClassAddElement('form', $paramElem . $required, $t . "\t");
658
        $ret       .= $pc->getPhpCodeConditions($paramIf, ' && ', '$dirTag', $condIf, false, $t);
659
660
        return $ret;
661
    }
662
663
    /**
664
     * @public function renderElements
665
     * @param null
666
     * @return string
667
     */
668
    public function renderElements()
669
    {
670
        $tc            = Tdmcreate\Helper::getInstance();
671
        $tf            = Tdmcreate\Files\CreateFile::getInstance();
672
        $ttf           = Tdmcreate\Files\CreateTableFields::getInstance();
673
        $module        = $this->getModule();
674
        $table         = $this->getTable();
675
        $moduleDirname = $module->getVar('mod_dirname');
676
        $tableName     = $table->getVar('table_name');
677
        $tableSoleName = $table->getVar('table_solename');
678
        $languageFunct = $tf->getLanguage($moduleDirname, 'AM');
679
        //$language_table = $languageFunct . strtoupper($tableName);
680
        $ret            = '';
681
        $fields         = $ttf->getTableFields($table->getVar('table_mid'), $table->getVar('table_id'), 'field_order ASC, field_id');
682
        $fieldId        = '';
683
        $fieldIdTopic   = '';
684
        $fieldPidTopic  = '';
685
        $fieldMainTopic = '';
686
        $fieldElementId = [];
687
        foreach (array_keys($fields) as $f) {
688
            $fieldName    = $fields[$f]->getVar('field_name');
689
            $fieldDefault = $fields[$f]->getVar('field_default');
690
            $fieldElement = $fields[$f]->getVar('field_element');
691
            $fieldParent  = $fields[$f]->getVar('field_parent');
692
            $fieldInForm  = $fields[$f]->getVar('field_inform');
693
            if ((0 == $f) && (1 == $table->getVar('table_autoincrement'))) {
694
                $fieldId = $fieldName;
695
            }
696
            $rpFieldName = $tf->getRightString($fieldName);
697
            $language    = $languageFunct . mb_strtoupper($tableSoleName) . '_' . mb_strtoupper($rpFieldName);
698
            $required    = (1 == $fields[$f]->getVar('field_required')) ? ', true' : '';
699
700
            $fieldElements    = $tc->getHandler('fieldelements')->get($fieldElement);
701
            $fieldElementId[] = $fieldElements->getVar('fieldelement_id');
702
703
            if (1 == $fieldInForm) {
704
                // Switch elements
705
                switch ($fieldElement) {
706
                    case 1:
707
                        break;
708
                    case 2:
709
                        $ret .= $this->getXoopsFormText($language, $fieldName, $fieldDefault, $required);
710
                        break;
711
                    case 3:
712
                        $ret .= $this->getXoopsFormTextArea($language, $fieldName, $required);
713
                        break;
714
                    case 4:
715
                        $ret .= $this->getXoopsFormDhtmlTextArea($language, $moduleDirname, $fieldName, $required);
716
                        break;
717
                    case 5:
718
                        $ret .= $this->getXoopsFormCheckBox($language, $tableSoleName, $fieldName, $fieldElementId, $required);
719
                        break;
720
                    case 6:
721
                        $ret .= $this->getXoopsFormRadioYN($language, $fieldName, $required);
722
                        break;
723
                    case 7:
724
                        $ret .= $this->getXoopsFormSelectBox($language, $moduleDirname, $tableName, $fieldName, $required);
725
                        break;
726
                    case 8:
727
                        $ret .= $this->getXoopsFormSelectUser($language, $moduleDirname, $fieldName, $required);
728
                        break;
729
                    case 9:
730
                        $ret .= $this->getXoopsFormColorPicker($language, $moduleDirname, $fieldName, $required);
731
                        break;
732
                    case 10:
733
                        $ret .= $this->getXoopsFormImageList($languageFunct, $moduleDirname, $tableName, $tableSoleName, $fieldName, $required);
734
                        break;
735
                    case 11:
736
                        $ret .= $this->getXoopsFormSelectFile($language, $moduleDirname, $fieldName, $required);
737
                        break;
738
                    case 12:
739
                        $ret .= $this->getXoopsFormUrlFile($language, $moduleDirname, $fieldName, $fieldDefault, $required);
740
                        break;
741
                    case 13:
742
                        $ret .= $this->getXoopsFormUploadImage($languageFunct, $moduleDirname, $tableName, $tableSoleName, $fieldName, $required);
743
                        break;
744
                    case 14:
745
                        $ret .= $this->getXoopsFormUploadFile($language, $moduleDirname, $tableName, $fieldName, $required);
746
                        break;
747
                    case 15:
748
                        $ret .= $this->getXoopsFormTextDateSelect($language, $fieldName, $required);
749
                        break;
750
                    default:
751
                        // If we use tag module
752
                        if (1 == $table->getVar('table_tag')) {
753
                            $ret .= $this->getXoopsFormTag($moduleDirname, $fieldId, $required);
754
                        }
755
                        // If we want to hide XoopsFormHidden() or field id
756
                        if ((0 == $f) && (1 == $table->getVar('table_autoincrement'))) {
757
                            $ret .= $this->getXoopsFormHidden($fieldName);
758
                        }
759
                        break;
760
                }
761
                if ($fieldElement > 15) {
762
                    if ((1 == $fieldParent) || 1 == $table->getVar('table_category')) {
763
                        $fieldElements    = $tc->getHandler('fieldelements')->get($fieldElement);
764
                        $fieldElementMid  = $fieldElements->getVar('fieldelement_mid');
765
                        $fieldElementTid  = $fieldElements->getVar('fieldelement_tid');
766
                        $fieldElementName = $fieldElements->getVar('fieldelement_name');
767
                        $fieldNameDesc    = mb_substr($fieldElementName, mb_strrpos($fieldElementName, ':'), mb_strlen($fieldElementName));
0 ignored issues
show
Bug introduced by
It seems like $fieldElementName can also be of type array and array; however, parameter $str of mb_substr() does only seem to accept string, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

767
                        $fieldNameDesc    = mb_substr(/** @scrutinizer ignore-type */ $fieldElementName, mb_strrpos($fieldElementName, ':'), mb_strlen($fieldElementName));
Loading history...
Bug introduced by
It seems like $fieldElementName can also be of type array and array; however, parameter $str of mb_strlen() does only seem to accept string, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

767
                        $fieldNameDesc    = mb_substr($fieldElementName, mb_strrpos($fieldElementName, ':'), mb_strlen(/** @scrutinizer ignore-type */ $fieldElementName));
Loading history...
Bug introduced by
It seems like $fieldElementName can also be of type array and array; however, parameter $haystack of mb_strrpos() does only seem to accept string, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

767
                        $fieldNameDesc    = mb_substr($fieldElementName, mb_strrpos(/** @scrutinizer ignore-type */ $fieldElementName, ':'), mb_strlen($fieldElementName));
Loading history...
768
                        $topicTableName   = str_replace(': ', '', $fieldNameDesc);
769
                        $fieldsTopics     = $ttf->getTableFields($fieldElementMid, $fieldElementTid);
770
                        foreach (array_keys($fieldsTopics) as $g) {
771
                            $fieldNameTopic = $fieldsTopics[$g]->getVar('field_name');
772
                            if ((0 == $g) && (1 == $table->getVar('table_autoincrement'))) {
773
                                $fieldIdTopic = $fieldNameTopic;
774
                            }
775
                            if (1 == $fieldsTopics[$g]->getVar('field_parent')) {
776
                                $fieldPidTopic = $fieldNameTopic;
777
                            }
778
                            if (1 == $fieldsTopics[$g]->getVar('field_main')) {
779
                                $fieldMainTopic = $fieldNameTopic;
780
                            }
781
                        }
782
                        $ret .= $this->getXoopsFormTopic($language, $moduleDirname, $topicTableName, $fieldIdTopic, $fieldPidTopic, $fieldMainTopic, $required);
783
                    } else {
784
                        $ret .= $this->getXoopsFormTable($language, $moduleDirname, $tableName, $fieldName, $fieldElement, $required);
785
                    }
786
                }
787
            }
788
        }
789
        unset($fieldElementId);
790
791
        return $ret;
792
    }
793
}
794