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

414
    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...
415
    {
416
        $tf            = Tdmcreate\Files\CreateFile::getInstance();
417
        $pc            = Tdmcreate\Files\CreatePhpCode::getInstance();
418
        $xc            = Tdmcreate\Files\CreateXoopsCode::getInstance();
419
        $cc            = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
420
        $ucfFieldName  = $tf->getCamelCase($fieldName, true);
421
        $stuTableName  = mb_strtoupper($tableName);
422
        $t             = "\t\t";
423
        $ret           = $pc->getPhpCodeCommentLine('Form', 'File ' . $ucfFieldName, $t);
424
        $getConfig     = $xc->getXcGetConfig($moduleDirname, 'maxsize');
425
        $xoopsFormFile = $cc->getClassXoopsFormFile('', $language . '_' . $stuTableName, $fieldName, $getConfig, true, '');
426
        $ret           .= $cc->getClassAddElement('form', $xoopsFormFile, $t);
427
428
        return $ret;
429
    }
430
431
    /**
432
     * @private function getXoopsFormColorPicker
433
     *
434
     * @param $language
435
     * @param $moduleDirname
436
     * @param $fieldName
437
     * @param $required
438
     *
439
     * @return string
440
     */
441
    private function getXoopsFormColorPicker($language, $moduleDirname, $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

441
    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...
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

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

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

768
                        $fieldNameDesc    = mb_substr($fieldElementName, mb_strrpos(/** @scrutinizer ignore-type */ $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_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

768
                        $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

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