Passed
Push — master ( 9625ba...bbffc5 )
by Michael
02:24
created

ClassFormElements::getXoopsFormDhtmlTextArea()   B

Complexity

Conditions 2
Paths 2

Size

Total Lines 24
Code Lines 18

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 18
nc 2
nop 4
dl 0
loc 24
rs 8.9713
c 0
b 0
f 0
1
<?php
2
3
/*
4
 You may not change or alter any portion of this comment or credits
5
 of supporting developers from this source code or any supporting source code
6
 which is considered copyrighted (c) material of the original comment or credit authors.
7
8
 This program is distributed in the hope that it will be useful,
9
 but WITHOUT ANY WARRANTY; without even the implied warranty of
10
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11
 */
12
/**
13
 * tc module.
14
 *
15
 * @copyright       XOOPS Project (https://xoops.org)
16
 * @license         GNU GPL 2 (http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
17
 *
18
 * @since           2.5.0
19
 *
20
 * @author          Txmod Xoops http://www.txmodxoops.org
21
 *
22
 * @version         $Id: ClassFormElements.php 12258 2014-01-02 09:33:29Z timgno $
23
 */
24
25
/**
26
 * Class ClassFormElements.
27
 */
28
class ClassFormElements extends TDMCreateAbstract
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
29
{
30
    /**
31
     *  @static function getInstance
32
     *  @param null
33
     *
34
     * @return ClassFormElements
35
     */
36
    public static function getInstance()
37
    {
38
        static $instance = false;
39
        if (!$instance) {
40
            $instance = new self();
41
        }
42
43
        return $instance;
44
    }
45
46
    /**
47
    *  @public function initForm
48
     *
49
     * @param $module
50
     * @param $table
51
     */
52
    public function initForm($module, $table)
53
    {
54
        $this->setModule($module);
55
        $this->setTable($table);
56
    }
57
58
    /**
59
     * @private function getXoopsFormText
60
     *
61
     * @param        $language
62
     * @param        $fieldName
63
     * @param        $fieldDefault
64
     * @param string $required
65
     * @return string
66
     */
67
    private function getXoopsFormText($language, $fieldName, $fieldDefault, $required = 'false')
68
    {
69
        $tf = TDMCreateFile::getInstance();
70
        $pc = TDMCreatePhpCode::getInstance();
71
        $cc = ClassXoopsCode::getInstance();
72
        $ucfFieldName = $tf->getCamelCase($fieldName, true);
73
        $ccFieldName = $tf->getCamelCase($fieldName, false, true);
74
        if ('' != $fieldDefault) {
75
            $ret = $pc->getPhpCodeCommentLine('Form Text', $ucfFieldName, "\t\t");
76
            $ret .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$this->isNew()', "'{$fieldDefault}'", "\$this->getVar('{$fieldName}')", "\t\t");
77
            $formText = $cc->getClassXoopsFormText('', $language, $fieldName, 20, 150, "{$ccFieldName}", true);
78
            $ret .= $cc->getClassAddElement('form', $formText.$required);
79
        } else {
80
            $ret = $pc->getPhpCodeCommentLine('Form Text', $ucfFieldName, "\t\t");
81
            $formText = $cc->getClassXoopsFormText('', $language, $fieldName, 50, 255, "this->getVar('{$fieldName}')", true);
82
            $ret .= $cc->getClassAddElement('form', $formText.$required);
83
        }
84
85
        return $ret;
86
    }
87
88
    /**
89
    *  @private function getXoopsFormText
90
     *
91
     * @param $language
92
     * @param $fieldName
93
     * @param $required
94
     *
95
     * @return string
96
     */
97
    private function getXoopsFormTextArea($language, $fieldName, $required = 'false')
98
    {
99
        $tf = TDMCreateFile::getInstance();
100
        $pc = TDMCreatePhpCode::getInstance();
101
        $cc = ClassXoopsCode::getInstance();
102
        $ucfFieldName = $tf->getCamelCase($fieldName, true);
103
        $ret = $pc->getPhpCodeCommentLine('Form Text Area', $ucfFieldName, "\t\t");
104
        $formTextArea = $cc->getClassXoopsFormTextArea('', $language, $fieldName, 4, 47, true);
105
        $ret .= $cc->getClassAddElement('form', $formTextArea.$required);
106
107
        return $ret;
108
    }
109
110
    /**
111
    *  @private function getXoopsFormDhtmlTextArea
112
     *
113
     * @param $language
114
     * @param $moduleDirname
115
     * @param $fieldName
116
     * @param $required
117
     *
118
     * @return string
119
     */
120
    private function getXoopsFormDhtmlTextArea($language, $moduleDirname, $fieldName, $required = 'false')
121
    {
122
        $tf = TDMCreateFile::getInstance();
123
        $pc = TDMCreatePhpCode::getInstance();
124
        $xc = TDMCreateXoopsCode::getInstance();
125
        $cc = ClassXoopsCode::getInstance();
126
        $rpFieldName = $tf->getRightString($fieldName);
127
        $ucfFieldName = $tf->getCamelCase($fieldName, true);
128
129
        $ret = $pc->getPhpCodeCommentLine('Form editor', $ucfFieldName, "\t\t");
130
        $ret .= $pc->getPhpCodeArray('editorConfigs', null, false, "\t\t");
131
        $getConfig = $xc->getXcGetConfig($moduleDirname, $moduleDirname.'_editor_'.$rpFieldName);
132
        $configs = [
133
            'name'  => "'{$fieldName}'", 'value' => "\$this->getVar('{$fieldName}', 'e')", 'rows' => 5, 'cols' => 40,
134
            'width' => "'100%'", 'height' => "'400px'", 'editor' => $getConfig,
135
        ];
136
        foreach ($configs as $c => $d) {
137
            $ret .= $xc->getXcEqualsOperator("\$editorConfigs['{$c}']", $d,  null, false, "\t\t");
138
        }
139
        $formEditor = $cc->getClassXoopsFormEditor('', $language, $fieldName, 'editorConfigs', true);
140
        $ret .= $cc->getClassAddElement('form', $formEditor.$required);
141
142
        return $ret;
143
    }
144
145
    /**
146
     * @private function getXoopsFormCheckBox
147
     *
148
     * @param        $language
149
     * @param        $tableSoleName
150
     * @param        $fieldName
151
     * @param        $fieldElementId
152
     * @param string $required
153
     * @return string
154
     */
155
    private function getXoopsFormCheckBox($language, $tableSoleName, $fieldName, $fieldElementId, $required = 'false')
156
    {
157
        $tf = TDMCreateFile::getInstance();
158
        $pc = TDMCreatePhpCode::getInstance();
159
        $xc = TDMCreateXoopsCode::getInstance();
160
        $cc = ClassXoopsCode::getInstance();
161
        $stuTableSoleName = strtoupper($tableSoleName);
162
        $ucfFieldName = $tf->getCamelCase($fieldName, true);
163
        $ccFieldName = $tf->getCamelCase($fieldName, false, true);
164
        $t = "\t\t";
165
        if (in_array(5, $fieldElementId) > 1) {
166
            $ret = $pc->getPhpCodeCommentLine('Form Check Box', 'List Options '.$ucfFieldName, $t);
167
            $ret .= $xc->getXcEqualsOperator('$checkOption', '$this->getOptions()');
168
            $foreach = $cc->getClassXoopsFormCheckBox('check'.$ucfFieldName, '<hr />', $tableSoleName.'_option', '$checkOption', false, $t);
169
            $foreach .= $cc->getClassSetDescription('check'.$ucfFieldName, "{$language}{$stuTableSoleName}_OPTIONS_DESC", $t);
170
            $foreach .= $cc->getClassAddOption('check'.$ucfFieldName, "\$option, {$language}{$stuTableSoleName}_ . strtoupper(\$option)", $t."\t");
171
            $ret .= $pc->getPhpCodeForeach("{$tableName}All", false, false, 'option', $foreach, $t);
0 ignored issues
show
Bug introduced by
The variable $tableName does not exist. Did you forget to declare it?

This check marks access to variables or properties that have not been declared yet. While PHP has no explicit notion of declaring a variable, accessing it before a value is assigned to it is most likely a bug.

Loading history...
172
            $intElem = "\$check{$ucfFieldName}{$required}";
173
            $ret .= $cc->getClassAddElement('form', $intElem, $t);
174
        } else {
175
            $ret = $pc->getPhpCodeCommentLine('Form Check Box', $ucfFieldName, $t);
176
            $ret .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$this->isNew()', 0, "\$this->getVar('{$fieldName}')", $t);
177
            $ret .= $cc->getClassXoopsFormCheckBox('check'.$ucfFieldName, "{$language}", $fieldName, "\${$ccFieldName}", false, $t);
178
            $option = "1, {$language}";
179
            $ret .= $cc->getClassAddOption('check'.$ucfFieldName, $option, $t);
180
            $intElem = "\$check{$ucfFieldName}{$required}";
181
            $ret .= $cc->getClassAddElement('form', $intElem, $t);
182
        }
183
184
        return $ret;
185
    }
186
187
    /**
188
    *  @private function getXoopsFormHidden
189
     *
190
     * @param $fieldName
191
     *
192
     * @return string
193
     */
194
    private function getXoopsFormHidden($fieldName)
195
    {
196
        $tf = TDMCreateFile::getInstance();
197
        $pc = TDMCreatePhpCode::getInstance();
198
        $cc = ClassXoopsCode::getInstance();
199
        $ucfFieldName = $tf->getCamelCase($fieldName, true);
200
        $ret = $pc->getPhpCodeCommentLine('Form Hidden', $ucfFieldName, "\t\t");
201
        $formHidden = $cc->getClassXoopsFormHidden('', $fieldName, $fieldName, true, true);
202
        $ret .= $cc->getClassAddElement('form', $formHidden);
203
204
        return $ret;
205
    }
206
207
    /**
208
    *  @private function getXoopsFormImageList
209
     *
210
     * @param $language
211
     * @param $moduleDirname
212
     * @param $tableName
213
     * @param $tableSoleName
214
     * @param $fieldName
215
     * @param $required
216
     *
217
     * @return string
218
     */
219
    private function getXoopsFormImageList($language, $moduleDirname, $tableName, $tableSoleName, $fieldName, $required = 'false')
220
    {
221
        $tf = TDMCreateFile::getInstance();
222
        $pc = TDMCreatePhpCode::getInstance();
223
        $xc = TDMCreateXoopsCode::getInstance();
224
        $cc = ClassXoopsCode::getInstance();
225
        $stuTableName = strtoupper($tableName);
226
        $rpFieldName = $tf->getRightString($fieldName);
227
        $stuSoleName = strtoupper($tableSoleName.'_'.$rpFieldName);
228
        $ucfFieldName = $tf->getCamelCase($fieldName, true);
229
        $ccFieldName = $tf->getCamelCase($fieldName, false, true);
230
        $t = "\t\t";
231
        $ret = $pc->getPhpCodeCommentLine('Form Frameworks', 'Image Files', $t);
232
        $ret .= $xc->getXcEqualsOperator('$get'.$ucfFieldName, "\$this->getVar('{$fieldName}')", null, false, $t);
233
        $ret .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$get'.$ucfFieldName, '$get'.$ucfFieldName, "'blank.gif'", $t);
234
        $ret .= $xc->getXcEqualsOperator('$imageDirectory', "'/Frameworks/moduleclasses/icons/32'", null, false, $t);
235
        $ret .= $cc->getClassXoopsFormElementTray('imageTray', $language.$stuSoleName, '<br />', $t);
236
        $sprintf = $pc->getPhpCodeSprintf($language.'FORM_IMAGE_PATH', '".{$imageDirectory}/"');
237
        $ret .= $cc->getClassXoopsFormSelect('imageSelect', $sprintf, $fieldName, $ccFieldName, 5, 'false', false, $t);
238
        $ret .= $xc->getXcXoopsImgListArray('imageArray', 'XOOPS_ROOT_PATH . $imageDirectory', $t);
239
        $contForeach = $cc->getClassAddOption('imageSelect', '"{$image1}", $image1', "\t");
240
        $ret .= $pc->getPhpCodeForeach('imageArray', false, false, 'image1', $contForeach, $t);
241
        $setExtraParam = "\"onchange='showImgSelected(\\\"image1\\\", \\\"{$fieldName}\\\", \\\"\".\$imageDirectory.\"\\\", \\\"\\\", \\\"\".XOOPS_URL.\"\\\")'\"";
242
        $ret .= $cc->getClassSetExtra('imageSelect', $setExtraParam, $t);
243
        $ret .= $cc->getClassAddElement('imageTray', '$imageSelect, false', $t);
244
        $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
$paramLabel is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
245
        $xoopsFormLabel = $cc->getClassXoopsFormLabel('', "''", "''", true, '');
246
        $ret .= $cc->getClassAddElement('imageTray', $xoopsFormLabel, $t);
247
        $ret .= $pc->getPhpCodeCommentLine('Form', 'File', $t);
248
        $ret .= $cc->getClassXoopsFormElementTray('fileSelectTray', "''", '<br />', $t);
249
        $getConfig = $xc->getXcGetConfig($moduleDirname, 'maxsize');
250
        $xoopsFormFile = $cc->getClassXoopsFormFile('', $language.'FORM_IMAGE_LIST_'.$stuTableName, 'attachedfile', $getConfig, true, '');
251
        $ret .= $cc->getClassAddElement('fileSelectTray', $xoopsFormFile, $t);
252
        $xoopsFormLabel1 = $cc->getClassXoopsFormLabel('', "''", null, true, $t);
253
        $ret .= $cc->getClassAddElement('fileSelectTray', $xoopsFormLabel1, $t);
254
        $ret .= $cc->getClassAddElement('imageTray', '$fileSelectTray', $t);
255
        $ret .= $cc->getClassAddElement('form', "\$imageTray{$required}", $t);
256
257
        return $ret;
258
    }
259
260
    /**
261
    *  @private function getXoopsFormSelectFile
262
     *
263
     * @param $language
264
     * @param $moduleDirname
265
     * @param $fieldName
266
     * @param $required
267
     *
268
     * @return string
269
     */
270
    private function getXoopsFormSelectFile($language, $moduleDirname, $fieldName, $required = 'false')
271
    {
272
        $tf = TDMCreateFile::getInstance();
273
        $pc = TDMCreatePhpCode::getInstance();
274
        $xc = TDMCreateXoopsCode::getInstance();
275
        $cc = ClassXoopsCode::getInstance();
276
        $ccFieldName = $tf->getCamelCase($fieldName, false, true);
277
        $ucfFieldName = $tf->getCamelCase($fieldName, true);
278
        $t = "\t\t\t";
279
        $ret = $pc->getPhpCodeCommentLine('Form Frameworks', 'Image Files', "\t\t");
280
        $contentIf = $xc->getXcEqualsOperator('$get'.$ucfFieldName, "\$this->getVar('{$fieldName}')", null, false, $t);
281
        $contentIf .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$get'.$ucfFieldName, '$get'.$ucfFieldName, "'blank.gif'", $t);
282
        $contentIf .= $xc->getXcEqualsOperator('$uploadDirectory', "'/uploads/{$moduleDirname}/images/shots'", null, false, $t);
283
        $contentIf .= $cc->getClassXoopsFormElementTray('imageTray', $language.'FORM_IMAGE', '<br />', $t);
284
        $sprintf = $pc->getPhpCodeSprintf($language.'FORM_PATH', '".{$uploadDirectory}/"');
285
        $contentIf .= $cc->getClassXoopsFormSelect('imageSelect', $sprintf, 'selected_image', "\${$moduleDirname}ShotImage", 5, 'false', false, $t);
286
        $contentIf .= $xc->getXcXoopsImgListArray('imageArray', 'XOOPS_ROOT_PATH . $uploadDirectory', $t);
287
        $contForeach = $cc->getClassAddOption('imageSelect', '"{$image1}", $image1', "\t");
288
        $contentIf .= $pc->getPhpCodeForeach('imageArray', false, false, 'image1', $contForeach, $t);
289
        $setExtraParam = "\"onchange='showImgSelected(\\\"image3\\\", \\\"selected_image\\\", \\\"\".\$uploadDirectory.\"\\\", \\\"\\\", \\\"\".XOOPS_URL.\"\\\")'\"";
290
        $contentIf .= $cc->getClassSetExtra('imageSelect', $setExtraParam, $t);
291
        $contentIf .= $cc->getClassAddElement('imageTray', '$imageSelect, false', $t);
292
        $paramLabel = "\"<br /><img src='\".XOOPS_URL.\"/\".\$uploadDirectory.\"/\" . \${$moduleDirname}ShotImage . \"' name='image3' id='image3' alt='' style='max-width:100px' />\\\"";
293
        $xoopsFormLabel = $cc->getClassXoopsFormLabel('', "''", $paramLabel, true, '');
294
        $contentIf .= $cc->getClassAddElement('imageTray', $xoopsFormLabel, $t);
295
        $contentIf .= $pc->getPhpCodeCommentLine('Form', 'File', "\t\t");
296
        $contentIf .= $cc->getClassXoopsFormElementTray('fileSelectTray', "''", '<br />', $t);
297
        $getConfigFile = $xc->getXcGetConfig($moduleDirname, 'maxuploadsize');
298
        $xoopsFormFile = $cc->getClassXoopsFormFile('', $language.'_FORM_UPLOAD', 'attachedimage', $getConfigFile, true, '');
299
        $contentIf1 = $cc->getClassAddElement('fileSelectTray', $xoopsFormFile.$required, $t."\t");
300
301
        $contentIf .= $cc->getClassAddElement('imageTray', '$fileSelectTray', $t);
302
        $contentIf .= $cc->getClassAddElement('form', "\$imageTray{$required}", $t);
303
304
        $contentIf = $pc->getPhpCodeConditions('$permissionUpload', ' == ', 'true', $contentIf1, false, $t);
305
        $getConfig = $xc->getXcGetConfig($moduleDirname, 'useshots');
306
        $ret .= $pc->getPhpCodeConditions($getConfig, null, null, $contentIf, false, "\t\t");
307
308
        return $ret;
309
    }
310
311
    /**
312
    *  @private function getXoopsFormUrlFile
313
     *
314
     * @param   $language
315
     * @param   $moduleDirname
316
     * @param   $fieldName
317
     * @param   $fieldDefault
318
     * @param $required
319
     *
320
     * @return string
321
     */
322
    private function getXoopsFormUrlFile($language, $moduleDirname, $fieldName, $fieldDefault, $required = 'false')
323
    {
324
        $pc = TDMCreatePhpCode::getInstance();
325
        $xc = TDMCreateXoopsCode::getInstance();
326
        $cc = ClassXoopsCode::getInstance();
327
        $t = "\t\t";
328
        $ret = $pc->getPhpCodeCommentLine('Form Url', 'Text File', $t);
329
        $ret .= $cc->getClassXoopsFormElementTray('formUrlFile', '_OPTIONS', '<br /><br />', $t);
330
        $ret .= $pc->getPhpCodeTernaryOperator('formUrl', '$this->isNew()', "'{$fieldDefault}'", "\$this->getVar('{$fieldName}')", $t);
331
        $ret .= $cc->getClassXoopsFormText('formText', $language, $fieldName, 75, 255, 'formUrl', false, $t);
332
        $ret .= $cc->getClassAddElement('formUrlFile', '$formText'.$required, $t);
333
        $getConfig = $xc->getXcGetConfig($moduleDirname, 'maxsize');
334
        $xoopsFormFile = $cc->getClassXoopsFormFile('', $language.'UPLOAD', 'attachedfile', $getConfig, true, '');
335
        $ret .= $cc->getClassAddElement('formUrlFile', $xoopsFormFile.$required, $t);
336
        $ret .= $cc->getClassAddElement('form', '$formUrlFile', $t);
337
338
        return $ret;
339
    }
340
341
    /**
342
     * @private function getXoopsFormUploadImage
343
     *
344
     * @param        $language
345
     * @param        $moduleDirname
346
     * @param        $tableName
347
     * @param        $tableSoleName
348
     * @param        $fieldName
349
     * @param string $required
350
     * @return string
351
     */
352
    private function getXoopsFormUploadImage($language, $moduleDirname, $tableName, $tableSoleName, $fieldName, $required = 'false')
353
    {
354
        $tf = TDMCreateFile::getInstance();
355
        $pc = TDMCreatePhpCode::getInstance();
356
        $xc = TDMCreateXoopsCode::getInstance();
357
        $cc = ClassXoopsCode::getInstance();
358
        $stuTableName = strtoupper($tableName);
359
        $stuSoleName = strtoupper($tableSoleName);
0 ignored issues
show
Unused Code introduced by
$stuSoleName is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
360
        $ucfFieldName = $tf->getCamelCase($fieldName, true);
361
        $ccFieldName = $tf->getCamelCase($fieldName, false, true);
362
        $t = "\t\t";
363
        $ret = $pc->getPhpCodeCommentLine('Form Upload', 'Image', $t);
364
        $ret .= $xc->getXcEqualsOperator('$get'.$ucfFieldName, "\$this->getVar('{$fieldName}')", null, false, $t);
365
        $ret .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$get'.$ucfFieldName, '$get'.$ucfFieldName, "'blank.gif'", $t);
366
        $ret .= $xc->getXcEqualsOperator('$imageDirectory', "'/uploads/{$moduleDirname}/images/{$tableName}'", null, false, $t);
367
        $ret .= $cc->getClassXoopsFormElementTray('imageTray', '_OPTIONS', '<br />', $t);
368
        $sprintf = $pc->getPhpCodeSprintf($language.'FORM_IMAGE_PATH', '".{$imageDirectory}/"');
369
        $ret .= $cc->getClassXoopsFormSelect('imageSelect', $sprintf, $fieldName, $ccFieldName, 5, 'false', false, $t);
370
        $ret .= $xc->getXcXoopsImgListArray('imageArray', 'XOOPS_ROOT_PATH . $imageDirectory', $t);
371
        $contForeach = $cc->getClassAddOption('imageSelect', '"{$image1}", $image1', "\t");
372
        $ret .= $pc->getPhpCodeForeach('imageArray', false, false, 'image1', $contForeach, $t);
373
        $setExtraParam = "\"onchange='showImgSelected(\\\"image1\\\", \\\"{$fieldName}\\\", \\\"\".\$imageDirectory.\"\\\", \\\"\\\", \\\"\".XOOPS_URL.\"\\\")'\"";
374
        $ret .= $cc->getClassSetExtra('imageSelect', $setExtraParam, $t);
375
        $ret .= $cc->getClassAddElement('imageTray', '$imageSelect, false', $t);
376
        $paramLabel = "\"<br /><img src='\".XOOPS_URL.\"/\".\$imageDirectory.\"/\".\${$ccFieldName}.\"' name='image1' id='image1' alt='' style='max-width:100px' />\"";
377
        $xoopsFormLabel = $cc->getClassXoopsFormLabel('', "''", $paramLabel, true, '');
378
        $ret .= $cc->getClassAddElement('imageTray', $xoopsFormLabel, $t);
379
        $ret .= $pc->getPhpCodeCommentLine('Form', 'File', $t);
380
        $ret .= $cc->getClassXoopsFormElementTray('fileSelectTray', "''", '<br />', $t);
381
        $getConfig = $xc->getXcGetConfig($moduleDirname, 'maxsize');
382
        $xoopsFormFile = $cc->getClassXoopsFormFile('', $language.'FORM_UPLOAD_IMAGE_'.$stuTableName, 'attachedfile', $getConfig, true, '');
383
        $ret .= $cc->getClassAddElement('fileSelectTray', $xoopsFormFile, $t);
384
        $xoopsFormLabel1 = $cc->getClassXoopsFormLabel('', "''", null, true);
385
        $ret .= $cc->getClassAddElement('fileSelectTray', $xoopsFormLabel1, $t);
386
        $ret .= $cc->getClassAddElement('imageTray', '$fileSelectTray', $t);
387
        $ret .= $cc->getClassAddElement('form', "\$imageTray{$required}", $t);
388
389
        return $ret;
390
    }
391
392
    /**
393
    *  @private function getXoopsFormUploadFile
394
     *
395
     * @param $language
396
     * @param $moduleDirname
397
     * @param $tableName
398
     * @param $fieldName
399
     * @param $required
400
     *
401
     * @return string
402
     */
403
    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.

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

Loading history...
404
    {
405
        $pc = TDMCreatePhpCode::getInstance();
406
        $xc = TDMCreateXoopsCode::getInstance();
407
        $cc = ClassXoopsCode::getInstance();
408
        $stuTableName = strtoupper($tableName);
409
        $t = "\t\t";
410
        $ret = $pc->getPhpCodeCommentLine('Form', 'File', $t);
411
        $getConfig = $xc->getXcGetConfig($moduleDirname, 'maxsize');
412
        $xoopsFormFile = $cc->getClassXoopsFormFile('', $language.'_'.$stuTableName, $fieldName, $getConfig, true, '');
413
        $ret .= $cc->getClassAddElement('form', $xoopsFormFile, $t);
414
415
        return $ret;
416
    }
417
418
    /**
419
    *  @private function getXoopsFormColorPicker
420
     *
421
     * @param $language
422
     * @param $moduleDirname
423
     * @param $fieldName
424
     * @param $required
425
     *
426
     * @return string
427
     */
428
    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.

This check looks from 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.

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

Loading history...
429
    {
430
        $pc = TDMCreatePhpCode::getInstance();
431
        $xc = TDMCreateXoopsCode::getInstance();
432
        $cc = ClassXoopsCode::getInstance();
433
        $t = "\t\t";
434
        $ret = $pc->getPhpCodeCommentLine('Form Color', 'Picker', $t);
435
        $getVar = $xc->getXcGetVar('', 'this', $fieldName, true);
436
        $xoopsFormFile = $cc->getClassXoopsFormColorPicker('', $language, $fieldName, $getVar, true, '');
437
        $ret .= $cc->getClassAddElement('form', $xoopsFormFile, $t);
438
439
        return $ret;
440
    }
441
442
    /**
443
    *  @private function getXoopsFormSelectBox
444
     *
445
     * @param $language
446
     * @param $moduleDirname
447
     * @param $tableName
448
     * @param $fieldName
449
     * @param $required
450
     *
451
     * @return string
452
     */
453
    private function getXoopsFormSelectBox($language, $moduleDirname, $tableName, $fieldName, $required = 'false')
454
    {
455
        $tf = TDMCreateFile::getInstance();
456
        $pc = TDMCreatePhpCode::getInstance();
457
        $xc = TDMCreateXoopsCode::getInstance();
458
        $cc = ClassXoopsCode::getInstance();
459
        $ucfTableName = ucfirst($tableName);
460
        $ccFieldName = $tf->getCamelCase($fieldName, false, true);
461
        $t = "\t\t";
462
        $ret = $pc->getPhpCodeCommentLine($ucfTableName, 'handler', $t);
463
        $ret .= $xc->getXoopsHandlerLine($moduleDirname, $tableName, $t);
464
        $ret .= $pc->getPhpCodeCommentLine('Form', 'Select', $t);
465
        $ret .= $cc->getClassXoopsFormSelect($ccFieldName.'Select', $language, $fieldName, "this->getVar('{$fieldName}')", null, '', false, $t);
466
        $ret .= $cc->getClassAddOption($ccFieldName.'Select', "'Empty'", $t);
467
        $ret .= $cc->getClassAddOptionArray($ccFieldName.'Select', "\${$tableName}Handler->getList()", $t);
468
        $ret .= $cc->getClassAddElement('form', "\${$ccFieldName}Select{$required}", $t);
469
470
        return $ret;
471
    }
472
473
    /**
474
     * @private function getXoopsFormSelectUser
475
     *
476
     * @param        $language
477
     * @param        $moduleDirname
478
     * @param        $fieldName
479
     * @param string $required
480
     * @return string
481
     */
482
    private function getXoopsFormSelectUser($language, $moduleDirname, $fieldName, $required = 'false')
483
    {
484
        $pc = TDMCreatePhpCode::getInstance();
485
        $xc = TDMCreateXoopsCode::getInstance();
486
        $cc = ClassXoopsCode::getInstance();
487
        $t = "\t\t";
488
        $ret = $pc->getPhpCodeCommentLine('Form Select', 'User', $t);
489
        $getConfig = $xc->getXcGetConfig($moduleDirname, 'maxsize');
0 ignored issues
show
Unused Code introduced by
$getConfig is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
490
        $xoopsSelectUser = $cc->getClassXoopsFormSelectUser('', $language, $fieldName, 'false', $fieldName, true, $t);
491
        $ret .= $cc->getClassAddElement('form', $xoopsSelectUser.$required, $t);
492
493
        return $ret;
494
    }
495
496
    /**
497
    *  @private function getXoopsFormRadioYN
498
     *
499
     * @param $language
500
     * @param $fieldName
501
     * @param $required
502
     *
503
     * @return string
504
     */
505
    private function getXoopsFormRadioYN($language, $fieldName, $required = 'false')
506
    {
507
        $tf = TDMCreateFile::getInstance();
508
        $pc = TDMCreatePhpCode::getInstance();
509
        $cc = ClassXoopsCode::getInstance();
510
        $ccFieldName = $tf->getCamelCase($fieldName, false, true);
511
        $t = "\t\t";
512
        $ret = $pc->getPhpCodeCommentLine('Form Radio', 'Yes/No', $t);
513
        $ret .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$this->isNew()', 0, "\$this->getVar('{$fieldName}')", $t);
514
        $xoopsRadioYN = $cc->getClassXoopsFormRadioYN('', $language, $fieldName, $ccFieldName, true, $t);
515
        $ret .= $cc->getClassAddElement('form', $xoopsRadioYN.$required, $t);
516
517
        return $ret;
518
    }
519
520
    /**
521
    *  @private function getXoopsFormTextDateSelect
522
     *
523
     * @param $language
524
     * @param $fieldName
525
     * @param $required
526
     *
527
     * @return string
528
     */
529
    private function getXoopsFormTextDateSelect($language, $fieldName, $required = 'false')
530
    {
531
        $tf = TDMCreateFile::getInstance();
532
        $pc = TDMCreatePhpCode::getInstance();
533
        $cc = ClassXoopsCode::getInstance();
534
        $t = "\t\t";
535
        $ccFieldName = $tf->getCamelCase($fieldName, false, true);
536
        $ret = $pc->getPhpCodeCommentLine('Form Text', 'Date Select', $t);
537
        $ret .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$this->isNew()', 0, "\$this->getVar('{$fieldName}')", $t);
538
        $xoopsTextDateSelect = $cc->getClassXoopsFormTextDateSelect('', $language, $fieldName, "''", $fieldName, true, $t);
539
        $ret .= $cc->getClassAddElement('form', $xoopsTextDateSelect.$required, $t);
540
541
        return $ret;
542
    }
543
544
    /**
545
    *  @private function getXoopsFormTable
546
     *
547
     * @param $language
548
     * @param $moduleDirname
549
     * @param $tableName
550
     * @param $fieldName
551
     * @param $fieldElement
552
     * @param $required
553
     *
554
     * @return string
555
     */
556
    private function getXoopsFormTable($language, $moduleDirname, $tableName, $fieldName, $fieldElement, $required = 'false')
557
    {
558
        $tc = TDMCreateHelper::getInstance();
559
        $tf = TDMCreateFile::getInstance();
560
        $pc = TDMCreatePhpCode::getInstance();
561
        $xc = TDMCreateXoopsCode::getInstance();
562
        $cc = ClassXoopsCode::getInstance();
563
        $ucfTableName = ucfirst($tableName);
564
        $t = "\t\t";
565
        $ret = $pc->getPhpCodeCommentLine('Form Table', $ucfTableName, $t);
566
        if ($fieldElement > 15) {
567
            $fElement = $tc->getHandler('fieldelements')->get($fieldElement);
0 ignored issues
show
Bug introduced by
The method get cannot be called on $tc->getHandler('fieldelements') (of type string).

Methods can only be called on objects. This check looks for methods being called on variables that have been inferred to never be objects.

Loading history...
568
            $rpFieldelementName = strtolower(str_replace('Table : ', '', $fElement->getVar('fieldelement_name')));
569
            $ccFieldName = $tf->getCamelCase($fieldName, false, true);
570
            $ret .= $xc->getXoopsHandlerLine($moduleDirname, $rpFieldelementName, $t);
571
            $ret .= $cc->getClassXoopsFormSelect($ccFieldName.'Select', $language, $fieldName, "this->getVar('{$fieldName}')", null, '', false, $t);
572
            $ret .= $cc->getClassAddOptionArray($ccFieldName.'Select', "\${$rpFieldelementName}Handler->getList()", $t);
573
            $ret .= $cc->getClassAddElement('form', "\${$ccFieldName}Select{$required}", $t);
574
        }
575
576
        return $ret;
577
    }
578
579
    /**
580
     * @private  function getXoopsFormTopic
581
     *
582
     * @param        $language
583
     * @param        $moduleDirname
584
     * @param        $topicTableName
585
     * @param        $fieldId
586
     * @param        $fieldPid
587
     * @param        $fieldMain
588
     * @param string $required
589
     * @return string
590
     */
591
    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.

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

Loading history...
592
    {
593
        $tf = TDMCreateFile::getInstance();
594
        $pc = TDMCreatePhpCode::getInstance();
595
        $xc = TDMCreateXoopsCode::getInstance();
596
        $cc = ClassXoopsCode::getInstance();
597
        $ucfTopicTableName = ucfirst($topicTableName);
598
        $stlTopicTableName = strtolower($topicTableName);
599
        $ccFieldPid = $tf->getCamelCase($fieldPid, false, true);
600
        $t = "\t\t";
601
        $ret = $pc->getPhpCodeCommentLine('Form Table', $ucfTopicTableName, $t);
602
        $ret .= $xc->getXoopsHandlerLine($moduleDirname, $stlTopicTableName, $t);
603
        $ret .= $cc->getClassCriteriaCompo('criteria', $t);
604
        $ret .= $xc->getXcClearHandlerCount($stlTopicTableName.'Count', $stlTopicTableName, '$criteria', $t);
605
        $contIf = $pc->getPhpCodeIncludeDir('XOOPS_ROOT_PATH', 'class/tree', true, false, 'include', $t."\t");
606
        $contIf .= $xc->getXcClearHandlerAll($stlTopicTableName.'All', $stlTopicTableName, '$criteria', $t."\t");
607
        $contIf .= $cc->getClassXoopsObjectTree($stlTopicTableName.'Tree', $stlTopicTableName.'All', $fieldId, $fieldPid, $t."\t");
608
        $contIf .= $cc->getClassXoopsMakeSelBox($ccFieldPid, $stlTopicTableName.'Tree', $fieldPid, $fieldMain, '--', $fieldPid, $t."\t");
609
        $formLabel = $cc->getClassXoopsFormLabel('', $language, "\${$ccFieldPid}", true, '');
610
        $contIf .= $cc->getClassAddElement('form', $formLabel, $t."\t");
611
        $ret .= $pc->getPhpCodeConditions("\${$stlTopicTableName}Count", null, null, $contIf, false, $t);
612
        $ret .= $pc->getPhpCodeUnset('criteria', $t);
613
614
        return $ret;
615
    }
616
617
    /**
618
    *  @private function getXoopsFormTag
619
     *
620
     * @param $moduleDirname
621
     * @param $fieldId
622
     * @param $required
623
     *
624
     * @return string
625
     */
626
    private function getXoopsFormTag($moduleDirname, $fieldId, $required = 'false')
627
    {
628
        $pc = TDMCreatePhpCode::getInstance();
629
        $xc = TDMCreateXoopsCode::getInstance();
630
        $cc = ClassXoopsCode::getInstance();
631
        $t = "\t\t";
632
        $ret = $pc->getPhpCodeCommentLine('Use tag', 'module', $t);
633
        $isDir = $pc->getPhpCodeIsDir("XOOPS_ROOT_PATH . '/modules/tag'");
634
        $ret .= $pc->getPhpCodeTernaryOperator('dirTag', $isDir, 'true', 'false', $t);
635
        $paramIf = '('.$xc->getXcGetConfig($moduleDirname, 'usetag').' == 1)';
636
        $condIf = $pc->getPhpCodeTernaryOperator('tagId', '$this->isNew()', '0', "\$this->getVar('{$fieldId}')", $t."\t");
637
        $condIf .= $pc->getPhpCodeIncludeDir('XOOPS_ROOT_PATH', 'modules/tag/include/formtag', true, false, $type = 'include', $t."\t");
638
        $paramElem = $cc->getClassXoopsFormTag('', 'tag', 60, 255, 'tagId', 0, true, '');
639
        $condIf .= $cc->getClassAddElement('form', $paramElem.$required, $t."\t");
640
        $ret .= $pc->getPhpCodeConditions($paramIf, ' && ', '$dirTag', $condIf, false, $t);
641
642
        return $ret;
643
    }
644
645
    /**
646
    *  @public function renderElements
647
     *  @param null
648
     * @return string
649
     */
650
    public function renderElements()
651
    {
652
        $tc = TDMCreateHelper::getInstance();
653
        $tf = TDMCreateFile::getInstance();
654
        $ttf = TDMCreateTableFields::getInstance();
655
        $module = $this->getModule();
656
        $table = $this->getTable();
657
        $moduleDirname = $module->getVar('mod_dirname');
658
        $tableName = $table->getVar('table_name');
659
        $tableSoleName = $table->getVar('table_solename');
660
        $languageFunct = $tf->getLanguage($moduleDirname, 'AM');
661
        //$language_table = $languageFunct . strtoupper($tableName);
0 ignored issues
show
Unused Code Comprehensibility introduced by
47% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
662
        $ret = '';
663
        $fields = $ttf->getTableFields($table->getVar('table_mid'), $table->getVar('table_id'), 'field_order ASC, field_id');
664
        $fieldId = '';
665
        $fieldIdTopic = '';
666
        $fieldPidTopic = '';
667
        $fieldMainTopic = '';
668
        $fieldElementId = [];
669
        foreach (array_keys($fields) as $f) {
670
            $fieldName = $fields[$f]->getVar('field_name');
671
            $fieldDefault = $fields[$f]->getVar('field_default');
672
            $fieldElement = $fields[$f]->getVar('field_element');
673
            $fieldParent = $fields[$f]->getVar('field_parent');
674
            $fieldInForm = $fields[$f]->getVar('field_inform');
675
            if ((0 == $f) && (1 == $table->getVar('table_autoincrement'))) {
676
                $fieldId = $fieldName;
677
            }
678
            $rpFieldName = $tf->getRightString($fieldName);
679
            $language = $languageFunct.strtoupper($tableSoleName).'_'.strtoupper($rpFieldName);
680
            $required = (1 == $fields[$f]->getVar('field_required')) ? ', true' : '';
681
682
            $fieldElements = $tc->getHandler('fieldelements')->get($fieldElement);
0 ignored issues
show
Bug introduced by
The method get cannot be called on $tc->getHandler('fieldelements') (of type string).

Methods can only be called on objects. This check looks for methods being called on variables that have been inferred to never be objects.

Loading history...
683
            $fieldElementId[] = $fieldElements->getVar('fieldelement_id');
684
685
            if (1 == $fieldInForm) {
686
                // Switch elements
687
                switch ($fieldElement) {
688
                    case 1:
689
                        break;
690
                    case 2:
691
                        $ret .= $this->getXoopsFormText($language, $fieldName, $fieldDefault, $required);
692
                        break;
693
                    case 3:
694
                        $ret .= $this->getXoopsFormTextArea($language, $fieldName, $required);
695
                        break;
696
                    case 4:
697
                        $ret .= $this->getXoopsFormDhtmlTextArea($language, $moduleDirname, $fieldName, $required);
698
                        break;
699
                    case 5:
700
                        $ret .= $this->getXoopsFormCheckBox($language, $tableSoleName, $fieldName, $fieldElementId, $required);
701
                        break;
702
                    case 6:
703
                        $ret .= $this->getXoopsFormRadioYN($language, $fieldName, $required);
704
                        break;
705
                    case 7:
706
                        $ret .= $this->getXoopsFormSelectBox($language, $moduleDirname, $tableName, $fieldName, $required);
707
                        break;
708
                    case 8:
709
                        $ret .= $this->getXoopsFormSelectUser($language, $moduleDirname, $fieldName, $required);
710
                        break;
711
                    case 9:
712
                        $ret .= $this->getXoopsFormColorPicker($language, $moduleDirname, $fieldName, $required);
713
                        break;
714
                    case 10:
715
                        $ret .= $this->getXoopsFormImageList($languageFunct, $moduleDirname, $tableName, $tableSoleName, $fieldName, $required);
716
                        break;
717
                    case 11:
718
                        $ret .= $this->getXoopsFormSelectFile($language, $moduleDirname, $fieldName, $required);
719
                        break;
720
                    case 12:
721
                        $ret .= $this->getXoopsFormUrlFile($language, $moduleDirname, $fieldName, $fieldDefault, $required);
722
                        break;
723
                    case 13:
724
                        $ret .= $this->getXoopsFormUploadImage($languageFunct, $moduleDirname, $tableName, $tableSoleName, $fieldName, $required);
725
                        break;
726
                    case 14:
727
                        $ret .= $this->getXoopsFormUploadFile($language, $moduleDirname, $tableName, $fieldName, $required);
728
                        break;
729
                    case 15:
730
                        $ret .= $this->getXoopsFormTextDateSelect($language, $fieldName, $required);
731
                        break;
732
                    default:
733
                        // If we use tag module
734
                        if (1 == $table->getVar('table_tag')) {
735
                            $ret .= $this->getXoopsFormTag($moduleDirname, $fieldId, $required);
736
                        }
737
                        // If we want to hide XoopsFormHidden() or field id
738
                        if ((0 == $f) && (1 == $table->getVar('table_autoincrement'))) {
739
                            $ret .= $this->getXoopsFormHidden($fieldName);
740
                        }
741
                        break;
742
                }
743
                if ($fieldElement > 15) {
744
                    if (1 == $table->getVar('table_category') || (1 == $fieldParent)) {
745
                        $fieldElements = $tc->getHandler('fieldelements')->get($fieldElement);
0 ignored issues
show
Bug introduced by
The method get cannot be called on $tc->getHandler('fieldelements') (of type string).

Methods can only be called on objects. This check looks for methods being called on variables that have been inferred to never be objects.

Loading history...
746
                        $fieldElementMid = $fieldElements->getVar('fieldelement_mid');
747
                        $fieldElementTid = $fieldElements->getVar('fieldelement_tid');
748
                        $fieldElementName = $fieldElements->getVar('fieldelement_name');
749
                        $fieldNameDesc = substr($fieldElementName, strrpos($fieldElementName, ':'), strlen($fieldElementName));
750
                        $topicTableName = str_replace(': ', '', $fieldNameDesc);
751
                        $fieldsTopics = $ttf->getTableFields($fieldElementMid, $fieldElementTid);
752
                        foreach (array_keys($fieldsTopics) as $g) {
753
                            $fieldNameTopic = $fieldsTopics[$g]->getVar('field_name');
754
                            if ((0 == $g) && (1 == $table->getVar('table_autoincrement'))) {
755
                                $fieldIdTopic = $fieldNameTopic;
756
                            }
757
                            if (1 == $fieldsTopics[$g]->getVar('field_parent')) {
758
                                $fieldPidTopic = $fieldNameTopic;
759
                            }
760
                            if (1 == $fieldsTopics[$g]->getVar('field_main')) {
761
                                $fieldMainTopic = $fieldNameTopic;
762
                            }
763
                        }
764
                        $ret .= $this->getXoopsFormTopic($language, $moduleDirname, $topicTableName, $fieldIdTopic, $fieldPidTopic, $fieldMainTopic, $required);
765
                    } else {
766
                        $ret .= $this->getXoopsFormTable($language, $moduleDirname, $tableName, $fieldName, $fieldElement, $required);
767
                    }
768
                }
769
            }
770
        }
771
        unset($fieldElementId);
772
773
        return $ret;
774
    }
775
}
776