ClassFormElements::getXoopsFormCheckBox()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 30
Code Lines 26

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 26
nc 2
nop 5
dl 0
loc 30
rs 9.504
c 0
b 0
f 0
1
<?php
2
3
namespace XoopsModules\Tdmcreate\Files\Classes;
4
5
use XoopsModules\Tdmcreate;
6
7
/*
8
 You may not change or alter any portion of this comment or credits
9
 of supporting developers from this source code or any supporting source code
10
 which is considered copyrighted (c) material of the original comment or credit authors.
11
12
 This program is distributed in the hope that it will be useful,
13
 but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15
 */
16
/**
17
 * tc module.
18
 *
19
 * @copyright       XOOPS Project (https://xoops.org)
20
 * @license         GNU GPL 2 (http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
21
 *
22
 * @since           2.5.0
23
 *
24
 * @author          Txmod Xoops http://www.txmodxoops.org
25
 *
26
 */
27
28
/**
29
 * Class ClassFormElements.
30
 */
31
class ClassFormElements extends Tdmcreate\Files\CreateAbstractClass
32
{
33
    /**
34
     * @static function getInstance
35
     * @param null
36
     *
37
     * @return ClassFormElements
38
     */
39
    public static function getInstance()
40
    {
41
        static $instance = false;
42
        if (!$instance) {
43
            $instance = new self();
44
        }
45
46
        return $instance;
47
    }
48
49
    /**
50
     * @public function initForm
51
     *
52
     * @param $module
53
     * @param $table
54
     */
55
    public function initForm($module, $table)
56
    {
57
        $this->setModule($module);
58
        $this->setTable($table);
59
    }
60
61
    /**
62
     * @private function getXoopsFormText
63
     *
64
     * @param        $language
65
     * @param        $fieldName
66
     * @param        $fieldDefault
67
     * @param string $required
68
     * @return string
69
     */
70
    private function getXoopsFormText($language, $fieldName, $fieldDefault, $required = 'false')
71
    {
72
        $tf           = Tdmcreate\Files\CreateFile::getInstance();
73
        $pc           = Tdmcreate\Files\CreatePhpCode::getInstance();
74
        $cxc          = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
75
        $ccFieldName  = $tf->getCamelCase($fieldName, false, true);
76
        if ('' != $fieldDefault) {
77
            $ret      = $pc->getPhpCodeCommentLine('Form Text', $ccFieldName, "\t\t");
78
            $ret      .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$this->isNew()', "'{$fieldDefault}'", "\$this->getVar('{$fieldName}')", "\t\t");
79
            $formText = $cxc->getClassXoopsFormText('', $language, $fieldName, 20, 150, $ccFieldName, true);
80
            $ret      .= $cxc->getClassAddElement('form', $formText . $required);
81
        } else {
82
            $ret      = $pc->getPhpCodeCommentLine('Form Text', $ccFieldName, "\t\t");
83
            $formText = $cxc->getClassXoopsFormText('', $language, $fieldName, 50, 255, "this->getVar('{$fieldName}')", true);
84
            $ret      .= $cxc->getClassAddElement('form', $formText . $required);
85
        }
86
87
        return $ret;
88
    }
89
90
    /**
91
     * @private function getXoopsFormText
92
     *
93
     * @param $language
94
     * @param $fieldName
95
     * @param $required
96
     *
97
     * @return string
98
     */
99
    private function getXoopsFormTextArea($language, $fieldName, $required = 'false')
100
    {
101
        $tf           = Tdmcreate\Files\CreateFile::getInstance();
102
        $pc           = Tdmcreate\Files\CreatePhpCode::getInstance();
103
        $cxc          = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
104
        $ccFieldName  = $tf->getCamelCase($fieldName, false, true);
105
        $ret          = $pc->getPhpCodeCommentLine('Form Editor', 'TextArea ' . $ccFieldName, "\t\t");
106
        $formTextArea = $cxc->getClassXoopsFormTextArea('', $language, $fieldName, 4, 47, true);
107
        $ret          .= $cxc->getClassAddElement('form', $formTextArea . $required);
108
109
        return $ret;
110
    }
111
112
    /**
113
     * @private function getXoopsFormDhtmlTextArea
114
     *
115
     * @param $language
116
     * @param $fieldName
117
     * @param $required
118
     *
119
     * @return string
120
     */
121
    private function getXoopsFormDhtmlTextArea($language, $fieldName, $required = 'false')
122
    {
123
        $tf          = Tdmcreate\Files\CreateFile::getInstance();
124
        $pc          = Tdmcreate\Files\CreatePhpCode::getInstance();
125
        $xc          = Tdmcreate\Files\CreateXoopsCode::getInstance();
126
        $cxc         = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
127
        $rpFieldName = $tf->getRightString($fieldName);
128
        $ccFieldName = $tf->getCamelCase($fieldName, false, true);
129
        $ret         = $pc->getPhpCodeCommentLine('Form Editor', 'DhtmlTextArea ' . $ccFieldName, "\t\t");
130
        $ret         .= $pc->getPhpCodeArray('editorConfigs', null, false, "\t\t");
131
        $getConfig   = $xc->getXcGetConfig('editor_' . $rpFieldName);
132
        $configs     = [
133
            'name'   => "'{$fieldName}'",
134
            'value'  => "\$this->getVar('{$fieldName}', 'e')",
135
            'rows'   => 5,
136
            'cols'   => 40,
137
            'width'  => "'100%'",
138
            'height' => "'400px'",
139
            'editor' => $getConfig,
140
        ];
141
        foreach ($configs as $c => $d) {
142
            $ret .= $xc->getXcEqualsOperator("\$editorConfigs['{$c}']", $d, null, "\t\t");
143
        }
144
        $formEditor = $cxc->getClassXoopsFormEditor('', $language, $fieldName, 'editorConfigs', true);
145
        $ret        .= $cxc->getClassAddElement('form', $formEditor . $required);
146
147
        return $ret;
148
    }
149
150
    /**
151
     * @private function getXoopsFormCheckBox
152
     *
153
     * @param        $language
154
     * @param        $tableSoleName
155
     * @param        $fieldName
156
     * @param        $fieldElementId
157
     * @param string $required
158
     * @return string
159
     */
160
    private function getXoopsFormCheckBox($language, $tableSoleName, $fieldName, $fieldElementId, $required = 'false')
161
    {
162
        $tf               = Tdmcreate\Files\CreateFile::getInstance();
163
        $pc               = Tdmcreate\Files\CreatePhpCode::getInstance();
164
        $xc               = Tdmcreate\Files\CreateXoopsCode::getInstance();
165
        $cxc              = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
166
        $stuTableSoleName = mb_strtoupper($tableSoleName);
167
        $ucfFieldName     = $tf->getCamelCase($fieldName, true);
168
        $ccFieldName      = $tf->getCamelCase($fieldName, false, true);
169
        $t                = "\t\t";
170
        if (in_array(5, $fieldElementId) > 1) {
171
            $ret     = $pc->getPhpCodeCommentLine('Form Check Box', 'List Options ' . $ccFieldName, $t);
172
            $ret     .= $xc->getXcEqualsOperator('$checkOption', '$this->getOptions()');
173
            $foreach = $cxc->getClassXoopsFormCheckBox('check' . $ucfFieldName, '<hr />', $tableSoleName . '_option', '$checkOption', false, $t . "\t");
174
            $foreach .= $cxc->getClassSetDescription('check' . $ucfFieldName, "{$language}{$stuTableSoleName}_OPTIONS_DESC", $t . "\t");
175
            $foreach .= $cxc->getClassAddOption('check' . $ucfFieldName, "\$option, {$language}{$stuTableSoleName}_ . strtoupper(\$option)", $t . "\t");
176
            $ret     .= $pc->getPhpCodeForeach("{$tableSoleName}All", false, false, 'option', $foreach, $t);
177
            $intElem = "\$check{$ucfFieldName}{$required}";
178
            $ret     .= $cxc->getClassAddElement('form', $intElem, $t);
179
        } else {
180
            $ret     = $pc->getPhpCodeCommentLine('Form Check Box', $ccFieldName, $t);
181
            $ret     .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$this->isNew()', 0, "\$this->getVar('{$fieldName}')", $t);
182
            $ret     .= $cxc->getClassXoopsFormCheckBox('check' . $ucfFieldName, (string)$language, $fieldName, "\${$ccFieldName}", false, $t);
183
            $option  = "1, {$language}";
184
            $ret     .= $cxc->getClassAddOption('check' . $ucfFieldName, $option, $t);
185
            $intElem = "\$check{$ucfFieldName}{$required}";
186
            $ret     .= $cxc->getClassAddElement('form', $intElem, $t);
187
        }
188
189
        return $ret;
190
    }
191
192
    /**
193
     * @private function getXoopsFormHidden
194
     *
195
     * @param $fieldName
196
     *
197
     * @return string
198
     */
199
    private function getXoopsFormHidden($fieldName)
200
    {
201
        $tf           = Tdmcreate\Files\CreateFile::getInstance();
202
        $pc           = Tdmcreate\Files\CreatePhpCode::getInstance();
203
        $cxc          = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
204
        $ccFieldName  = $tf->getCamelCase($fieldName, false, true);
205
        $ret          = $pc->getPhpCodeCommentLine('Form Hidden', $ccFieldName, "\t\t");
206
        $formHidden   = $cxc->getClassXoopsFormHidden('', $fieldName, $fieldName, true, true);
207
        $ret          .= $cxc->getClassAddElement('form', $formHidden);
208
209
        return $ret;
210
    }
211
212
    /**
213
     * @private function getXoopsFormImageList
214
     *          provides listbox for select image, a preview of image and an upload field
215
     *
216
     * @param $language
217
     * @param $moduleDirname
218
     * @param $fieldName
219
     * @param $required
220
     *
221
     * @return string
222
     */
223
    private function getXoopsFormImageList($language, $moduleDirname, $fieldName, $required = 'false')
224
    {
225
        $tf              = Tdmcreate\Files\CreateFile::getInstance();
226
        $pc              = Tdmcreate\Files\CreatePhpCode::getInstance();
227
        $xc              = Tdmcreate\Files\CreateXoopsCode::getInstance();
228
        $cxc             = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
229
        $ucfFieldName    = $tf->getCamelCase($fieldName, true);
230
        $ccFieldName     = $tf->getCamelCase($fieldName, false, true);
231
        $languageShort   = substr($language, 0, 4) . mb_strtoupper($moduleDirname) . '_';
232
        $t               = "\t\t";
233
        $ret             = $pc->getPhpCodeCommentLine('Form Frameworks Images', 'Files ' . $ccFieldName, $t);
234
        $ret             .= $pc->getPhpCodeCommentLine('Form Frameworks Images', $ccFieldName .': Select Uploaded Image', $t);
235
        $ret             .= $xc->getXcEqualsOperator('$get' . $ucfFieldName, "\$this->getVar('{$fieldName}')", null, $t);
236
        $ret             .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$get' . $ucfFieldName, '$get' . $ucfFieldName, "'blank.gif'", $t);
237
        $ret             .= $xc->getXcEqualsOperator('$imageDirectory', "'/Frameworks/moduleclasses/icons/32'", null, $t);
238
        $ret             .= $cxc->getClassXoopsFormElementTray('imageTray', $language, '<br>', $t);
239
        $sprintf         = $pc->getPhpCodeSprintf($language . '_UPLOADS', '".{$imageDirectory}/"');
240
        $ret             .= $cxc->getClassXoopsFormSelect('imageSelect', $sprintf, $fieldName, $ccFieldName, 5, 'false', false, $t);
241
        $ret             .= $xc->getXcXoopsListImgListArray('imageArray', 'XOOPS_ROOT_PATH . $imageDirectory', $t);
242
        $contForeach     = $cxc->getClassAddOption('imageSelect', '"{$image1}", $image1', $t . "\t");
243
        $ret             .= $pc->getPhpCodeForeach('imageArray', false, false, 'image1', $contForeach, $t);
244
        $setExtraParam   = "\"onchange='showImgSelected(\\\"imglabel_{$fieldName}\\\", \\\"{$fieldName}\\\", \\\"\" . \$imageDirectory . \"\\\", \\\"\\\", \\\"\" . XOOPS_URL . \"\\\")'\"";
245
        $ret             .= $cxc->getClassSetExtra('imageSelect', $setExtraParam, $t);
246
        $ret             .= $cxc->getClassAddElement('imageTray', '$imageSelect, false', $t);
247
248
        $paramLabel      = "\"<br><img src='\" . XOOPS_URL . \"/\" . \$imageDirectory . \"/\" . \${$ccFieldName} . \"' id='imglabel_{$fieldName}' alt='' style='max-width:100px' />\"";
249
        $xoopsFormLabel  = $cxc->getClassXoopsFormLabel('', "''", $paramLabel, true, '');
250
251
        $ret             .= $cxc->getClassAddElement('imageTray', $xoopsFormLabel, $t);
252
        $ret             .= $pc->getPhpCodeCommentLine('Form Frameworks Images', $ccFieldName .': Upload new image', $t);
253
        $ret             .= $cxc->getClassXoopsFormElementTray('fileSelectTray', "''", '<br>', $t);
254
        $getConfig       = $xc->getXcGetConfig('maxsize_image');
255
        $xoopsFormFile   = $cxc->getClassXoopsFormFile('', $languageShort . 'FORM_UPLOAD_NEW', $fieldName, $getConfig, true, '');
256
        $ret             .= $cxc->getClassAddElement('fileSelectTray', $xoopsFormFile, $t);
257
        $xoopsFormLabel1 = $cxc->getClassXoopsFormLabel('', "''", null, true, $t);
258
        $ret             .= $cxc->getClassAddElement('fileSelectTray', $xoopsFormLabel1, $t);
259
        $ret             .= $cxc->getClassAddElement('imageTray', '$fileSelectTray', $t);
260
        $ret             .= $cxc->getClassAddElement('form', "\$imageTray{$required}", $t);
261
262
        return $ret;
263
    }
264
265
    /**
266
     * @private function getXoopsFormSelectFile
267
     *          provides listbox for select file and an upload field
268
     *
269
     * @param $language
270
     * @param $moduleDirname
271
     * @param $tableName
272
     * @param $fieldName
273
     * @param $required
274
     *
275
     * @return string
276
     */
277
    private function getXoopsFormSelectFile($language, $moduleDirname, $tableName, $fieldName, $required = 'false')
278
    {
279
        $tf              = Tdmcreate\Files\CreateFile::getInstance();
280
        $pc              = Tdmcreate\Files\CreatePhpCode::getInstance();
281
        $xc              = Tdmcreate\Files\CreateXoopsCode::getInstance();
282
        $cxc             = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
283
        $ucfFieldName    = $tf->getCamelCase($fieldName, true);
284
        $ccFieldName     = $tf->getCamelCase($fieldName, false, true);
285
        $languageShort   = substr($language, 0, 4) . mb_strtoupper($moduleDirname) . '_';
286
        $t               = "\t\t";
287
        $ret             = $pc->getPhpCodeCommentLine('Form File', $ccFieldName, $t);
288
        $ret             .= $pc->getPhpCodeCommentLine("Form File {$ccFieldName}:", 'Select Uploaded File ', $t);
289
        $ret             .= $xc->getXcEqualsOperator('$get' . $ucfFieldName, "\$this->getVar('{$fieldName}')", null, $t);
290
        $ret             .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$get' . $ucfFieldName, '$get' . $ucfFieldName, "'blank.gif'", $t);
291
        $ret             .= $xc->getXcEqualsOperator('$fileDirectory', "'/uploads/{$moduleDirname}/files/{$tableName}'", null, $t);
292
        $ret             .= $cxc->getClassXoopsFormElementTray('fileTray', $language, '<br>', $t);
293
        $sprintf         = $pc->getPhpCodeSprintf($language . '_UPLOADS', '".{$fileDirectory}/"');
294
        $ret             .= $cxc->getClassXoopsFormSelect('fileSelect', $sprintf, $fieldName, $ccFieldName, 5, 'false', false, $t);
295
        $ret             .= $xc->getXcXoopsListImgListArray('fileArray', 'XOOPS_ROOT_PATH . $fileDirectory', $t);
296
        $contForeach     = $cxc->getClassAddOption('fileSelect', '"{$file1}", $file1', $t . "\t");
297
        $ret             .= $pc->getPhpCodeForeach('fileArray', false, false, 'file1', $contForeach, $t);
298
        //TODO: make preview for images or show "no preview possible"
299
        //$setExtraParam   = "\"onchange='showImgSelected(\\\"filelabel_{$fieldName}\\\", \\\"{$fieldName}\\\", \\\"\".\$fileDirectory.\"\\\", \\\"\\\", \\\"\".XOOPS_URL.\"\\\")'\"";
300
        //$ret             .= $cc->getClassSetExtra('fileSelect', $setExtraParam, $t);
301
        $ret             .= $cxc->getClassAddElement('fileTray', '$fileSelect, false', $t);
302
        //$paramLabel      = "\"<br><img src='\".XOOPS_URL.\"/\".\$fileDirectory.\"/\".\${$ccFieldName}.\"' name='filelabel_{$fieldName}' id='filelabel_{$fieldName}' alt='' style='max-width:100px' />\"";
303
        //$xoopsFormLabel  = $cc->getClassXoopsFormLabel('', "''", $paramLabel, true, '');
304
        //$ret             .= $cc->getClassAddElement('fileTray', $xoopsFormLabel, $t);
305
        $ret             .= $pc->getPhpCodeCommentLine("Form File {$ccFieldName}:", 'Upload new file', $t);
306
        $getConfigSize   = $xc->getXcGetConfig('maxsize_file');
307
        $contIf          = $xc->getXcEqualsOperator('$maxsize', $getConfigSize,'', "\t\t\t");
308
        $xoopsFormFile   = $cxc->getClassXoopsFormFile('fileTray', "'<br>' . " . $languageShort . 'FORM_UPLOAD_NEW', $fieldName, '$maxsize', true, '');
309
        $contIf          .= $cxc->getClassAddElement('fileTray', $xoopsFormFile, $t . "\t");
310
        $configText      = "(\$maxsize / 1048576) . ' '  . " . $languageShort . 'FORM_UPLOAD_SIZE_MB';
311
        $labelInfo1      = $cxc->getClassXoopsFormLabel('',  $languageShort . 'FORM_UPLOAD_SIZE', $configText, true, '');
312
        $contIf          .= $cxc->getClassAddElement('fileTray', $labelInfo1, $t . "\t");
313
        $formHidden      = $cxc->getClassXoopsFormHidden('', $fieldName, $ccFieldName, true, true, $t, true);
314
        $contElse        = $cxc->getClassAddElement('fileTray', $formHidden, $t . "\t");
315
        $ret             .= $pc->getPhpCodeConditions('$permissionUpload', null, null, $contIf, $contElse, "\t\t");
316
        $ret             .= $cxc->getClassAddElement('form', "\$fileTray, {$required}", $t);
317
318
        return $ret;
319
    }
320
321
    /**
322
     * @private function getXoopsFormUrlFile
323
     *          provides textbox with last uploaded url and an upload field
324
     *
325
     * @param   $language
326
     * @param   $moduleDirname
327
     * @param   $fieldName
328
     * @param   $fieldDefault
329
     * @param   $required
330
     *
331
     * @return string
332
     */
333
    private function getXoopsFormUrlFile($language, $moduleDirname, $fieldName, $fieldDefault, $required = 'false')
334
    {
335
        $tf            = Tdmcreate\Files\CreateFile::getInstance();
336
        $pc            = Tdmcreate\Files\CreatePhpCode::getInstance();
337
        $xc            = Tdmcreate\Files\CreateXoopsCode::getInstance();
338
        $cxc           = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
339
        $ccFieldName    = $tf->getCamelCase($fieldName, false, true);
340
        $languageShort = substr($language, 0, 4) . mb_strtoupper($moduleDirname) . '_';
341
        $t             = "\t\t";
342
        $ret           = $pc->getPhpCodeCommentLine('Form Url', 'Text File ' . $ccFieldName, $t);
343
        $ret           .= $cxc->getClassXoopsFormElementTray('formUrlFile', $language, '<br><br>', $t);
344
        $ret           .= $pc->getPhpCodeTernaryOperator('formUrl', '$this->isNew()', "'{$fieldDefault}'", "\$this->getVar('{$fieldName}')", $t);
345
        $ret           .= $cxc->getClassXoopsFormText('formText', $language . '_UPLOADS', $fieldName, 75, 255, 'formUrl', false, $t);
346
        $ret           .= $cxc->getClassAddElement('formUrlFile', '$formText' . $required, $t);
347
        $getConfig     = $xc->getXcGetConfig('maxsize_file');
348
        $xoopsFormFile = $cxc->getClassXoopsFormFile('', $languageShort . 'FORM_UPLOAD', $fieldName, $getConfig, true, '');
349
        $ret           .= $cxc->getClassAddElement('formUrlFile', $xoopsFormFile . $required, $t);
350
        $ret           .= $cxc->getClassAddElement('form', '$formUrlFile', $t);
351
352
        return $ret;
353
    }
354
355
    /**
356
     * @private function getXoopsFormUploadImage
357
     *          provides listbox for select image, a preview of image and an upload field
358
     *
359
     * @param        $language
360
     * @param        $moduleDirname
361
     * @param        $tableName
362
     * @param        $fieldName
363
     * @param string $required
364
     * @return string
365
     */
366
    private function getXoopsFormUploadImage($language, $moduleDirname, $tableName, $fieldName, $required = 'false')
367
    {
368
        $tf              = Tdmcreate\Files\CreateFile::getInstance();
369
        $pc              = Tdmcreate\Files\CreatePhpCode::getInstance();
370
        $xc              = Tdmcreate\Files\CreateXoopsCode::getInstance();
371
        $cxc             = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
372
        $ucfFieldName    = $tf->getCamelCase($fieldName, true);
373
        $ccFieldName     = $tf->getCamelCase($fieldName, false, true);
374
        $languageShort   = substr($language, 0, 4) . mb_strtoupper($moduleDirname) . '_';
375
        $t               = "\t\t";
376
        $ret             = $pc->getPhpCodeCommentLine('Form Image', $ccFieldName, $t);
377
        $ret             .= $pc->getPhpCodeCommentLine("Form Image {$ccFieldName}:", 'Select Uploaded Image ', $t);
378
        $ret             .= $xc->getXcEqualsOperator('$get' . $ucfFieldName, "\$this->getVar('{$fieldName}')", null, $t);
379
        $ret             .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$get' . $ucfFieldName, '$get' . $ucfFieldName, "'blank.gif'", $t);
380
        $ret             .= $xc->getXcEqualsOperator('$imageDirectory', "'/uploads/{$moduleDirname}/images/{$tableName}'", null, $t);
381
        $ret             .= $cxc->getClassXoopsFormElementTray('imageTray', $language, '<br>', $t);
382
        $sprintf         = $pc->getPhpCodeSprintf($language . '_UPLOADS', '".{$imageDirectory}/"');
383
        $ret             .= $cxc->getClassXoopsFormSelect('imageSelect', $sprintf, $fieldName, $ccFieldName, 5, 'false', false, $t);
384
        $ret             .= $xc->getXcXoopsListImgListArray('imageArray', 'XOOPS_ROOT_PATH . $imageDirectory', $t);
385
        $contForeach     = $cxc->getClassAddOption('imageSelect', '"{$image1}", $image1', $t . "\t");
386
        $ret             .= $pc->getPhpCodeForeach('imageArray', false, false, 'image1', $contForeach, $t);
387
        $setExtraParam   = "\"onchange='showImgSelected(\\\"imglabel_{$fieldName}\\\", \\\"{$fieldName}\\\", \\\"\" . \$imageDirectory . \"\\\", \\\"\\\", \\\"\" . XOOPS_URL . \"\\\")'\"";
388
        $ret             .= $cxc->getClassSetExtra('imageSelect', $setExtraParam, $t);
389
        $ret             .= $cxc->getClassAddElement('imageTray', '$imageSelect, false', $t);
390
        $paramLabel      = "\"<br><img src='\" . XOOPS_URL . \"/\" . \$imageDirectory . \"/\" . \${$ccFieldName} . \"' id='imglabel_{$fieldName}' alt='' style='max-width:100px' />\"";
391
        $xoopsFormLabel  = $cxc->getClassXoopsFormLabel('', "''", $paramLabel, true, '');
392
        $ret             .= $cxc->getClassAddElement('imageTray', $xoopsFormLabel, $t);
393
        $ret             .= $pc->getPhpCodeCommentLine("Form Image {$ccFieldName}:", 'Upload new image', $t);
394
        $getConfigSize   = $xc->getXcGetConfig('maxsize_image');
395
        $contIf          = $xc->getXcEqualsOperator('$maxsize', $getConfigSize,'', "\t\t\t");
396
        $xoopsFormFile   = $cxc->getClassXoopsFormFile('imageTray', "'<br>' . " . $languageShort . 'FORM_UPLOAD_NEW', $fieldName, '$maxsize', true, '');
397
        $contIf          .= $cxc->getClassAddElement('imageTray', $xoopsFormFile, $t . "\t");
398
        $configText      = "(\$maxsize / 1048576) . ' '  . " . $languageShort . 'FORM_UPLOAD_SIZE_MB';
399
        $labelInfo1      = $cxc->getClassXoopsFormLabel('',  $languageShort . 'FORM_UPLOAD_SIZE', $configText, true, '');
400
        $contIf          .= $cxc->getClassAddElement('imageTray', $labelInfo1, $t . "\t");
401
        $getConfig       = $xc->getXcGetConfig('maxwidth_image');
402
        $labelInfo2      = $cxc->getClassXoopsFormLabel('',  $languageShort . 'FORM_UPLOAD_IMG_WIDTH', $getConfig . " . ' px'", true, '');
403
        $contIf          .= $cxc->getClassAddElement('imageTray', $labelInfo2, $t . "\t");
404
        $getConfig       = $xc->getXcGetConfig('maxheight_image');
405
        $labelInfo3      = $cxc->getClassXoopsFormLabel('',  $languageShort . 'FORM_UPLOAD_IMG_HEIGHT', $getConfig . " . ' px'", true, '');
406
        $contIf          .= $cxc->getClassAddElement('imageTray', $labelInfo3, $t . "\t");
407
        $formHidden      = $cxc->getClassXoopsFormHidden('', $fieldName, $ccFieldName, true, true, $t, true);
408
        $contElse        = $cxc->getClassAddElement('imageTray', $formHidden, $t . "\t");
409
        $ret             .= $pc->getPhpCodeConditions('$permissionUpload', null, null, $contIf, $contElse, "\t\t");
410
        $ret             .= $cxc->getClassAddElement('form', "\$imageTray, {$required}", $t);
411
412
        return $ret;
413
    }
414
415
    /**
416
     * @private function getXoopsFormUploadFile
417
     *          provides label with last uploaded file and an upload field
418
     *
419
     * @param $language
420
     * @param $moduleDirname
421
     * @param $tableName
422
     * @param $fieldName
423
     *
424
     * @param string $required
425
     * @return string
426
     */
427
    private function getXoopsFormUploadFile($language, $moduleDirname, $tableName, $fieldName, $required = 'false')
428
    {
429
        $tf             = Tdmcreate\Files\CreateFile::getInstance();
430
        $pc             = Tdmcreate\Files\CreatePhpCode::getInstance();
431
        $xc             = Tdmcreate\Files\CreateXoopsCode::getInstance();
432
        $cxc            = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
433
        $ccFieldName    = $tf->getCamelCase($fieldName, false, true);
434
        $languageShort  = substr($language, 0, 4) . mb_strtoupper($moduleDirname) . '_';
435
        $t              = "\t\t\t";
436
        $ret            = $pc->getPhpCodeCommentLine('Form File', 'Upload ' . $ccFieldName, "\t\t");
437
        $ret            .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$this->isNew()', "''", "\$this->getVar('{$fieldName}')", "\t\t");
438
        $uForm          = $cxc->getClassXoopsFormElementTray('fileUploadTray', $language, '<br>', $t);
439
        $uForm          .= $xc->getXcEqualsOperator('$fileDirectory', "'/uploads/{$moduleDirname}/files/{$tableName}'", null, $t);
440
        $sprintf        = $pc->getPhpCodeSprintf($language . '_UPLOADS', '".{$fileDirectory}/"');
441
        $xoopsFormLabel = $cxc->getClassXoopsFormLabel('', $sprintf, $ccFieldName, true, "\t\t", true);
442
        $condIf         = $cxc->getClassAddElement('fileUploadTray', $xoopsFormLabel, $t . "\t");
443
        $uForm          .= $pc->getPhpCodeConditions('!$this->isNew()', null, null, $condIf, false, "\t\t\t");
444
        $getConfig      = $xc->getXcGetConfig('maxsize_file');
445
        $uForm          .= $xc->getXcEqualsOperator('$maxsize', $getConfig,'', "\t\t\t");
446
        $xoopsFormFile  = $cxc->getClassXoopsFormFile('', "''", $fieldName, '$maxsize', true, '');
447
        $uForm          .= $cxc->getClassAddElement('fileUploadTray', $xoopsFormFile, $t);
448
        $configText     = "(\$maxsize / 1048576) . ' '  . " . $languageShort . 'FORM_UPLOAD_SIZE_MB';
449
        $labelInfo1      = $cxc->getClassXoopsFormLabel('',  $languageShort . 'FORM_UPLOAD_SIZE', $configText, true, '');
450
        $uForm          .= $cxc->getClassAddElement('fileUploadTray', $labelInfo1, $t );
451
        $uForm          .= $cxc->getClassAddElement('form', "\$fileUploadTray, {$required}", $t);
452
        $formHidden     = $cxc->getClassXoopsFormHidden('', $fieldName, $ccFieldName, true, true, "\t\t", true);
453
        $contElse       = $cxc->getClassAddElement('form', $formHidden, $t);
454
455
        $ret           .= $pc->getPhpCodeConditions('$permissionUpload', null, null, $uForm, $contElse, "\t\t");
456
457
        return $ret;
458
    }
459
460
    /**
461
     * @private function getXoopsFormColorPicker
462
     *
463
     * @param $language
464
     * @param $fieldName
465
     *
466
     * @param string $required
467
     * @return string
468
     */
469
    private function getXoopsFormColorPicker($language, $fieldName, $required = 'false')
470
    {
471
        $tf            = Tdmcreate\Files\CreateFile::getInstance();
472
        $pc            = Tdmcreate\Files\CreatePhpCode::getInstance();
473
        $xc            = Tdmcreate\Files\CreateXoopsCode::getInstance();
474
        $cxc           = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
475
        $ccFieldName   = $tf->getCamelCase($fieldName, false, true);
476
        $t             = "\t\t";
477
        $ret           = $pc->getPhpCodeCommentLine('Form Color', 'Picker ' . $ccFieldName, $t);
478
        $getVar        = $xc->getXcGetVar('', 'this', $fieldName, true);
479
        $xoopsFormFile = $cxc->getClassXoopsFormColorPicker('', $language, $fieldName, $getVar, true, '');
480
        $ret           .= $cxc->getClassAddElement('form', $xoopsFormFile. $required, $t);
481
482
        return $ret;
483
    }
484
485
    /**
486
     * @private function getXoopsFormSelectBox
487
     *
488
     * @param $language
489
     * @param $tableName
490
     * @param $fieldName
491
     * @param $required
492
     *
493
     * @return string
494
     */
495
    private function getXoopsFormSelectBox($language, $tableName, $fieldName, $required = 'false')
496
    {
497
        $tf           = Tdmcreate\Files\CreateFile::getInstance();
498
        $pc           = Tdmcreate\Files\CreatePhpCode::getInstance();
499
        $xc           = Tdmcreate\Files\CreateXoopsCode::getInstance();
500
        $cxc          = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
501
        $ucfTableName = ucfirst($tableName);
502
        $ccFieldName  = $tf->getCamelCase($fieldName, false, true);
503
        $t            = "\t\t";
504
        $ret          = $pc->getPhpCodeCommentLine($ucfTableName, 'handler', $t);
505
        $ret          .= $xc->getXcHandlerLine($tableName, $t);
506
        $ret          .= $pc->getPhpCodeCommentLine('Form', 'Select ' . $ccFieldName, $t);
507
        $ret          .= $cxc->getClassXoopsFormSelect($ccFieldName . 'Select', $language, $fieldName, "this->getVar('{$fieldName}')", null, '', false, $t);
508
        $ret          .= $cxc->getClassAddOption($ccFieldName . 'Select', "'Empty'", $t);
509
        $ret          .= $cxc->getClassAddOptionArray($ccFieldName . 'Select', "\${$tableName}Handler->getList()", $t);
510
        $ret          .= $cxc->getClassAddElement('form', "\${$ccFieldName}Select{$required}", $t);
511
512
        return $ret;
513
    }
514
515
    /**
516
     * @private function getXoopsFormSelectUser
517
     *
518
     * @param        $language
519
     * @param        $fieldName
520
     * @param string $required
521
     * @return string
522
     */
523
    private function getXoopsFormSelectUser($language, $fieldName, $required = 'false')
524
    {
525
        $tf              = Tdmcreate\Files\CreateFile::getInstance();
526
        $pc              = Tdmcreate\Files\CreatePhpCode::getInstance();
527
        $cxc             = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
528
        $ccFieldName     = $tf->getCamelCase($fieldName, false, true);
529
        $t               = "\t\t";
530
        $ret             = $pc->getPhpCodeCommentLine('Form Select', 'User ' . $ccFieldName, $t);
531
        $xoopsSelectUser = $cxc->getClassXoopsFormSelectUser('', $language, $fieldName, 'false', $fieldName, true, $t);
532
        $ret             .= $cxc->getClassAddElement('form', $xoopsSelectUser . $required, $t);
533
534
        return $ret;
535
    }
536
537
    /**
538
     * @private function getXoopsFormRadioYN
539
     *
540
     * @param $language
541
     * @param $fieldName
542
     * @param $required
543
     *
544
     * @return string
545
     */
546
    private function getXoopsFormRadioYN($language, $fieldName, $required = 'false')
547
    {
548
        $tf           = Tdmcreate\Files\CreateFile::getInstance();
549
        $pc           = Tdmcreate\Files\CreatePhpCode::getInstance();
550
        $cxc          = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
551
        $ccFieldName  = $tf->getCamelCase($fieldName, false, true);
552
        $t            = "\t\t";
553
        $ret          = $pc->getPhpCodeCommentLine('Form Radio', 'Yes/No ' . $ccFieldName, $t);
554
        $ret          .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$this->isNew()', 0, "\$this->getVar('{$fieldName}')", $t);
555
        $xoopsRadioYN = $cxc->getClassXoopsFormRadioYN('', $language, $fieldName, $ccFieldName, true, $t);
556
        $ret          .= $cxc->getClassAddElement('form', $xoopsRadioYN . $required, $t);
557
558
        return $ret;
559
    }
560
561
    /**
562
     * @private function getXoopsFormTextDateSelect
563
     *
564
     * @param $language
565
     * @param $fieldName
566
     * @param $required
567
     *
568
     * @return string
569
     */
570
    private function getXoopsFormTextDateSelect($language, $fieldName, $required = 'false')
571
    {
572
        $tf                  = Tdmcreate\Files\CreateFile::getInstance();
573
        $pc                  = Tdmcreate\Files\CreatePhpCode::getInstance();
574
        $cxc                 = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
575
        $t                   = "\t\t";
576
        $ccFieldName         = $tf->getCamelCase($fieldName, false, true);
577
        $ret                 = $pc->getPhpCodeCommentLine('Form Text', 'Date Select ' . $ccFieldName, $t);
578
        $ret                 .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$this->isNew()', 0, "\$this->getVar('{$fieldName}')", $t);
579
        $xoopsTextDateSelect = $cxc->getClassXoopsFormTextDateSelect('', $language, $fieldName, $fieldName, $ccFieldName, true, $t);
580
        $ret                 .= $cxc->getClassAddElement('form', $xoopsTextDateSelect . $required, $t);
581
582
        return $ret;
583
    }
584
585
    /**
586
     * @private function getXoopsFormDateTime
587
     *
588
     * @param $language
589
     * @param $fieldName
590
     * @param $required
591
     *
592
     * @return string
593
     */
594
    private function getXoopsFormDateTime($language, $fieldName, $required = 'false')
595
    {
596
        $tf                  = Tdmcreate\Files\CreateFile::getInstance();
597
        $pc                  = Tdmcreate\Files\CreatePhpCode::getInstance();
598
        $cxc                 = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
599
        $t                   = "\t\t";
600
        $ccFieldName         = $tf->getCamelCase($fieldName, false, true);
601
        $ret                 = $pc->getPhpCodeCommentLine('Form Text', 'Date Select ' . $ccFieldName, $t);
602
        $ret                 .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$this->isNew()', 0, "\$this->getVar('{$fieldName}')", $t);
603
        $xoopsTextDateSelect = $cxc->getClassXoopsFormDateTime('', $language, $fieldName, $fieldName, $ccFieldName, true, $t);
604
        $ret                 .= $cxc->getClassAddElement('form', $xoopsTextDateSelect . $required, $t);
605
606
        return $ret;
607
    }
608
609
    /**
610
     * @private function getXoopsFormSelectStatus
611
     *
612
     * @param $language
613
     * @param $moduleDirname
614
     * @param $fieldName
615
     * @param string $required
616
     *
617
     * @return string
618
     */
619
    private function getXoopsFormSelectStatus($language, $moduleDirname, $fieldName, $required = 'false')
620
    {
621
        $tf           = Tdmcreate\Files\CreateFile::getInstance();
622
        $pc           = Tdmcreate\Files\CreatePhpCode::getInstance();
623
        $cxc          = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
624
        $ccFieldName  = $tf->getCamelCase($fieldName, false, true);
625
        $languageShort = substr($language, 0, 4) . mb_strtoupper($moduleDirname) . '_';
626
        $t            = "\t\t";
627
        $ret          = $pc->getPhpCodeCommentLine('Form Select', 'Status ' . $ccFieldName, $t);
628
        $ret          .= $cxc->getClassXoopsFormSelect($ccFieldName . 'Select', $language, $fieldName, "this->getVar('{$fieldName}')", null, '', false, $t);
629
        $ret          .= $cxc->getClassAddOption($ccFieldName . 'Select', "Constants::STATUS_NONE, {$languageShort}STATUS_NONE", $t);
630
        $ret          .= $cxc->getClassAddOption($ccFieldName . 'Select', "Constants::STATUS_OFFLINE, {$languageShort}STATUS_OFFLINE", $t);
631
        $ret          .= $cxc->getClassAddOption($ccFieldName . 'Select', "Constants::STATUS_SUBMITTED, {$languageShort}STATUS_SUBMITTED", $t);
632
        $ret          .= $cxc->getClassAddOption($ccFieldName . 'Select', "Constants::STATUS_APPROVED, {$languageShort}STATUS_APPROVED", $t);
633
        $ret          .= $cxc->getClassAddElement('form', "\${$ccFieldName}Select{$required}", $t);
634
635
        return $ret;
636
    }
637
638
    /**
639
     * @private function getXoopsFormPassword
640
     *
641
     * @param $language
642
     * @param $fieldName
643
     * @param $required
644
     *
645
     * @return string
646
     */
647
    private function getXoopsFormPassword($language, $fieldName, $required = 'false')
648
    {
649
        $tf            = Tdmcreate\Files\CreateFile::getInstance();
650
        $pc            = Tdmcreate\Files\CreatePhpCode::getInstance();
651
        $cxc           = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
652
        $t             = "\t\t";
653
        $ccFieldName   = $tf->getCamelCase($fieldName, false, true);
654
        $ret           = $pc->getPhpCodeCommentLine('Form Text', 'Enter Password ' . $ccFieldName, $t);
655
        $xoopsPassword = $cxc->getClassXoopsFormPassword('', $language, $fieldName, 10, 32, true, $t);
656
        $ret           .= $cxc->getClassAddElement('form', $xoopsPassword . $required, $t);
657
658
        return $ret;
659
    }
660
661
    /**
662
     * @private function getXoopsFormSelectCountry
663
     *
664
     * @param $language
665
     * @param $fieldName
666
     * @param string $required
667
     *
668
     * @return string
669
     */
670
    private function getXoopsFormSelectCountry($language, $fieldName, $required = 'false')
671
    {
672
        $tf           = Tdmcreate\Files\CreateFile::getInstance();
673
        $pc           = Tdmcreate\Files\CreatePhpCode::getInstance();
674
        $cxc          = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
675
        $xc           = Tdmcreate\Files\CreateXoopsCode::getInstance();
676
        $ccFieldName  = $tf->getCamelCase($fieldName, false, true);
677
        $t            = "\t\t";
678
        $ret          = $pc->getPhpCodeCommentLine('Form Select', 'Country ' . $ccFieldName, $t);
679
        $ret          .= $cxc->getClassXoopsFormSelect($ccFieldName . 'Select', $language, $fieldName, "this->getVar('{$fieldName}')", null, '', false, $t);
680
        $ret          .= $cxc->getClassAddOption($ccFieldName . 'Select', "'', _NONE", $t);
681
        $ret          .= $xc->getXcXoopsListCountryList('countryArray', $t);
682
        $ret          .= $cxc->getClassAddOptionArray($ccFieldName . 'Select', '$countryArray', $t);
683
        $ret          .= $cxc->getClassAddElement('form', "\${$ccFieldName}Select{$required}", $t);
684
685
        return $ret;
686
    }
687
688
    /**
689
     * @private function getXoopsFormSelectLang
690
     *
691
     * @param $language
692
     * @param $fieldName
693
     * @param string $required
694
     *
695
     * @return string
696
     */
697
    private function getXoopsFormSelectLang($language, $fieldName, $required = 'false')
698
    {
699
        $tf           = Tdmcreate\Files\CreateFile::getInstance();
700
        $pc           = Tdmcreate\Files\CreatePhpCode::getInstance();
701
        $cxc          = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
702
        $xc           = Tdmcreate\Files\CreateXoopsCode::getInstance();
703
        $ccFieldName  = $tf->getCamelCase($fieldName, false, true);
704
        $t            = "\t\t";
705
        $ret          = $pc->getPhpCodeCommentLine('Form Select', 'Lang ' . $ccFieldName, $t);
706
        $ret          .= $cxc->getClassXoopsFormSelect($ccFieldName . 'Select', $language, $fieldName, "this->getVar('{$fieldName}')", null, '', false, $t);
707
        $ret          .= $cxc->getClassAddOption($ccFieldName . 'Select', "'', _NONE", $t);
708
        $ret          .= $xc->getXcXoopsListLangList('langArray', $t);
709
        $ret          .= $cxc->getClassAddOptionArray($ccFieldName . 'Select', '$langArray', $t);
710
        $ret          .= $cxc->getClassAddElement('form', "\${$ccFieldName}Select{$required}", $t);
711
712
        return $ret;
713
    }
714
715
    /**
716
     * @private function getXoopsFormRadio
717
     *
718
     * @param $language
719
     * @param $moduleDirname
720
     * @param $fieldName
721
     * @param string $required
722
     *
723
     * @return string
724
     */
725
    private function getXoopsFormRadio($language, $moduleDirname, $fieldName, $required = 'false')
726
    {
727
        $tf            = Tdmcreate\Files\CreateFile::getInstance();
728
        $pc            = Tdmcreate\Files\CreatePhpCode::getInstance();
729
        $cxc           = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
730
        $ccFieldName   = $tf->getCamelCase($fieldName, false, true);
731
        $languageShort = substr($language, 0, 4) . mb_strtoupper($moduleDirname) . '_';
732
        $t             = "\t\t";
733
        $ret           = $pc->getPhpCodeCommentLine('Form Radio', $ccFieldName, $t);
734
        $ret           .= $pc->getPhpCodeTernaryOperator($ccFieldName, '$this->isNew()', '0', "\$this->getVar('{$fieldName}')", $t);
735
        $ret           .= $cxc->getClassXoopsFormRadio($ccFieldName . 'Select', $language, $fieldName, "{$ccFieldName}", false, $t);
736
        $ret           .= $cxc->getClassAddOption($ccFieldName . 'Select', "'0', _NONE", $t);
737
        $ret           .= $cxc->getClassAddOption($ccFieldName . 'Select', "'1', {$languageShort}LIST_1", $t);
738
        $ret           .= $cxc->getClassAddOption($ccFieldName . 'Select', "'2', {$languageShort}LIST_2", $t);
739
        $ret           .= $cxc->getClassAddOption($ccFieldName . 'Select', "'3', {$languageShort}LIST_3", $t);
740
        $ret           .= $cxc->getClassAddElement('form', "\${$ccFieldName}Select{$required}", $t);
741
742
        return $ret;
743
    }
744
745
    /**
746
     * @private function getXoopsFormSelectCombo
747
     *
748
     * @param $language
749
     * @param $moduleDirname
750
     * @param $tableName
751
     * @param $fieldName
752
     * @param string $required
753
     *
754
     * @return string
755
     */
756
    private function getXoopsFormSelectCombo($language, $moduleDirname, $tableName, $fieldName, $required = 'false')
757
    {
758
        $tf            = Tdmcreate\Files\CreateFile::getInstance();
759
        $pc            = Tdmcreate\Files\CreatePhpCode::getInstance();
760
        $xc            = Tdmcreate\Files\CreateXoopsCode::getInstance();
761
        $cxc           = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
762
        $ucfTableName  = ucfirst($tableName);
763
        $ccFieldName   = $tf->getCamelCase($fieldName, false, true);
764
        $languageShort = substr($language, 0, 4) . mb_strtoupper($moduleDirname) . '_';
765
        $t             = "\t\t";
766
        $ret           = $pc->getPhpCodeCommentLine($ucfTableName, 'handler', $t);
767
        $ret           .= $xc->getXcHandlerLine($tableName, $t);
768
        $ret           .= $pc->getPhpCodeCommentLine('Form', 'Select ' . $ccFieldName, $t);
769
        $ret           .= $cxc->getClassXoopsFormSelect($ccFieldName . 'Select', $language, $fieldName, "this->getVar('{$fieldName}')", '5', '', false, $t);
770
        $ret           .= $cxc->getClassAddOption($ccFieldName . 'Select', "'0', _NONE", $t);
771
        $ret           .= $cxc->getClassAddOption($ccFieldName . 'Select', "'1', {$languageShort}LIST_1", $t);
772
        $ret           .= $cxc->getClassAddOption($ccFieldName . 'Select', "'2', {$languageShort}LIST_2", $t);
773
        $ret           .= $cxc->getClassAddOption($ccFieldName . 'Select', "'3', {$languageShort}LIST_3", $t);
774
        $ret           .= $cxc->getClassAddElement('form', "\${$ccFieldName}Select{$required}", $t);
775
776
        return $ret;
777
    }
778
779
    /**
780
     * @private function getXoopsFormTable
781
     *
782
     * @param $language
783
     * @param $fieldName
784
     * @param $fieldElement
785
     * @param $required
786
     *
787
     * @return string
788
     */
789
    private function getXoopsFormTable($language,$fieldName, $fieldElement, $required = 'false')
790
    {
791
        $tc  = Tdmcreate\Helper::getInstance();
792
        $tf  = Tdmcreate\Files\CreateFile::getInstance();
793
        $pc  = Tdmcreate\Files\CreatePhpCode::getInstance();
794
        $xc  = Tdmcreate\Files\CreateXoopsCode::getInstance();
795
        $cxc = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
796
797
        $t   = "\t\t";
798
        $ret = '';
799
        $fElement           = $tc->getHandler('fieldelements')->get($fieldElement);
800
        $rpFieldelementName = mb_strtolower(str_replace('Table : ', '', $fElement->getVar('fieldelement_name')));
801
        $ret                .= $pc->getPhpCodeCommentLine('Form Table', $rpFieldelementName, $t);
802
        $ccFieldName        = $tf->getCamelCase($fieldName, false, true);
803
        $ret                .= $xc->getXcHandlerLine($rpFieldelementName, $t);
804
        $ret                .= $cxc->getClassXoopsFormSelect($ccFieldName . 'Select', $language, $fieldName, "this->getVar('{$fieldName}')", null, '', false, $t);
805
        $ret                .= $cxc->getClassAddOptionArray($ccFieldName . 'Select', "\${$rpFieldelementName}Handler->getList()", $t);
806
        $ret                .= $cxc->getClassAddElement('form', "\${$ccFieldName}Select{$required}", $t);
807
808
        return $ret;
809
    }
810
811
    /**
812
     * @private  function getXoopsFormTopic
813
     *
814
     * @param        $language
815
     * @param        $topicTableName
816
     * @param        $fieldId
817
     * @param        $fieldPid
818
     * @param        $fieldMain
819
     * @return string
820
     */
821
    private function getXoopsFormTopic($language, $topicTableName, $fieldId, $fieldPid, $fieldMain)
822
    {
823
        $tf                = Tdmcreate\Files\CreateFile::getInstance();
824
        $pc                = Tdmcreate\Files\CreatePhpCode::getInstance();
825
        $xc                = Tdmcreate\Files\CreateXoopsCode::getInstance();
826
        $cxc               = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
827
        $ucfTopicTableName = ucfirst($topicTableName);
828
        $stlTopicTableName = mb_strtolower($topicTableName);
829
        $ccFieldPid        = $tf->getCamelCase($fieldPid, false, true);
830
        $t                 = "\t\t";
831
        $ret               = $pc->getPhpCodeCommentLine('Form Table', $ucfTopicTableName, $t);
832
        $ret               .= $xc->getXcHandlerLine($stlTopicTableName, $t);
833
        $ret               .= $xc->getXcCriteriaCompo('cr' . $ucfTopicTableName, $t);
834
        $ret               .= $xc->getXcHandlerCountClear($stlTopicTableName . 'Count', $stlTopicTableName, '$cr' . $ucfTopicTableName, $t);
835
        $contIf            = $pc->getPhpCodeIncludeDir('XOOPS_ROOT_PATH', 'class/tree', true, false, 'include', $t . "\t");
836
        $contIf            .= $xc->getXcHandlerAllClear($stlTopicTableName . 'All', $stlTopicTableName, '$cr' . $ucfTopicTableName, $t . "\t");
837
        $contIf            .= $cxc->getClassXoopsObjectTree($stlTopicTableName . 'Tree', $stlTopicTableName . 'All', $fieldId, $fieldPid, $t . "\t");
838
        $contIf            .= $cxc->getClassXoopsMakeSelBox($ccFieldPid, $stlTopicTableName . 'Tree', $fieldPid, $fieldMain, '--', $fieldPid, $t . "\t");
839
        $formLabel         = $cxc->getClassXoopsFormLabel('', $language, "\${$ccFieldPid}", true, '');
840
        $contIf            .= $cxc->getClassAddElement('form', $formLabel, $t . "\t");
841
        $ret               .= $pc->getPhpCodeConditions("\${$stlTopicTableName}Count", null, null, $contIf, false, $t);
842
        $ret               .= $pc->getPhpCodeUnset('cr' . $ucfTopicTableName, $t);
843
844
        return $ret;
845
    }
846
847
    /**
848
     * @private function getXoopsFormTag
849
     *
850
     * @param $fieldId
851
     * @param $required
852
     *
853
     * @return string
854
     */
855
    private function getXoopsFormTag($fieldId, $required = 'false')
856
    {
857
        $pc        = Tdmcreate\Files\CreatePhpCode::getInstance();
858
        $xc        = Tdmcreate\Files\CreateXoopsCode::getInstance();
859
        $cxc       = Tdmcreate\Files\Classes\ClassXoopsCode::getInstance();
860
        $t         = "\t\t";
861
        $ret       = $pc->getPhpCodeCommentLine('Use tag', 'module', $t);
862
        $isDir     = $pc->getPhpCodeIsDir("XOOPS_ROOT_PATH . '/modules/tag'");
863
        $ret       .= $pc->getPhpCodeTernaryOperator('dirTag', $isDir, 'true', 'false', $t);
864
        $paramIf   = '(' . $xc->getXcGetConfig('usetag') . ' == 1)';
865
        $condIf    = $pc->getPhpCodeTernaryOperator('tagId', '$this->isNew()', '0', "\$this->getVar('{$fieldId}')", $t . "\t");
866
        $condIf    .= $pc->getPhpCodeIncludeDir('XOOPS_ROOT_PATH', 'modules/tag/include/formtag', true, false, $type = 'include', $t . "\t");
867
        $paramElem = $cxc->getClassXoopsFormTag('', 'tag', 60, 255, 'tagId', 0, true, '');
868
        $condIf    .= $cxc->getClassAddElement('form', $paramElem . $required, $t . "\t");
869
        $ret       .= $pc->getPhpCodeConditions($paramIf, ' && ', '$dirTag', $condIf, false, $t);
870
871
        return $ret;
872
    }
873
874
    /**
875
     * @public function renderElements
876
     * @param null
877
     * @return string
878
     */
879
    public function renderElements()
880
    {
881
        $tc            = Tdmcreate\Helper::getInstance();
882
        $tf            = Tdmcreate\Files\CreateFile::getInstance();
883
        $ttf           = Tdmcreate\Files\CreateTableFields::getInstance();
884
        $module        = $this->getModule();
885
        $table         = $this->getTable();
886
        $moduleDirname = $module->getVar('mod_dirname');
887
        $tableName     = $table->getVar('table_name');
888
        $tableSoleName = $table->getVar('table_solename');
889
        $languageFunct = $tf->getLanguage($moduleDirname, 'AM');
890
        //$language_table = $languageFunct . strtoupper($tableName);
891
        $ret            = '';
892
        $fields         = $ttf->getTableFields($table->getVar('table_mid'), $table->getVar('table_id'), 'field_order ASC, field_id');
893
        $fieldId        = '';
894
        $fieldIdTopic   = '';
895
        $fieldPidTopic  = '';
896
        $fieldMainTopic = '';
897
        $fieldElementId = [];
898
        $counter        = 0;
899
        foreach (array_keys($fields) as $f) {
900
            $fieldName    = $fields[$f]->getVar('field_name');
901
            $fieldDefault = $fields[$f]->getVar('field_default');
902
            $fieldElement = $fields[$f]->getVar('field_element');
903
            $fieldParent  = $fields[$f]->getVar('field_parent');
904
            $fieldInForm  = $fields[$f]->getVar('field_inform');
905
            if ((0 == $f) && (1 == $table->getVar('table_autoincrement'))) {
906
                $fieldId = $fieldName;
907
            }
908
            $rpFieldName = $tf->getRightString($fieldName);
909
            $language    = $languageFunct . mb_strtoupper($tableSoleName) . '_' . mb_strtoupper($rpFieldName);
910
            $required    = (1 == $fields[$f]->getVar('field_required')) ? ', true' : '';
911
912
            $fieldElements    = $tc->getHandler('fieldelements')->get($fieldElement);
913
            $fieldElementId[] = $fieldElements->getVar('fieldelement_id');
914
915
            if (1 == $fieldInForm) {
916
                $counter++;
917
                // Switch elements
918
                switch ($fieldElement) {
919
                    case 1:
920
                        break;
921
                    case 2:
922
                        $ret .= $this->getXoopsFormText($language, $fieldName, $fieldDefault, $required);
923
                        break;
924
                    case 3:
925
                        $ret .= $this->getXoopsFormTextArea($language, $fieldName, $required);
926
                        break;
927
                    case 4:
928
                        $ret .= $this->getXoopsFormDhtmlTextArea($language, $fieldName, $required);
929
                        break;
930
                    case 5:
931
                        $ret .= $this->getXoopsFormCheckBox($language, $tableSoleName, $fieldName, $fieldElementId, $required);
932
                        break;
933
                    case 6:
934
                        $ret .= $this->getXoopsFormRadioYN($language, $fieldName, $required);
935
                        break;
936
                    case 7:
937
                        $ret .= $this->getXoopsFormSelectBox($language, $tableName, $fieldName, $required);
938
                        break;
939
                    case 8:
940
                        $ret .= $this->getXoopsFormSelectUser($language, $fieldName, $required);
941
                        break;
942
                    case 9:
943
                        $ret .= $this->getXoopsFormColorPicker($language, $fieldName, $required);
944
                        break;
945
                    case 10:
946
                        $ret .= $this->getXoopsFormImageList($language, $moduleDirname, $fieldName, $required);
947
                        break;
948
                    case 11:
949
                        $ret .= $this->getXoopsFormSelectFile($language, $moduleDirname, $tableName, $fieldName, $required);
950
                        break;
951
                    case 12:
952
                        $ret .= $this->getXoopsFormUrlFile($language, $moduleDirname, $fieldName, $fieldDefault, $required);
953
                        break;
954
                    case 13:
955
                        $ret .= $this->getXoopsFormUploadImage($language, $moduleDirname, $tableName, $fieldName, $required);
956
                        break;
957
                    case 14:
958
                        $ret .= $this->getXoopsFormUploadFile($language, $moduleDirname, $tableName, $fieldName, $required);
959
                        break;
960
                    case 15:
961
                        $ret .= $this->getXoopsFormTextDateSelect($language, $fieldName, $required);
962
                        break;
963
                    case 16:
964
                        $ret .= $this->getXoopsFormSelectStatus($language, $moduleDirname, $fieldName, $required);
965
                        break;
966
                    case 17:
967
                        $ret .= $this->getXoopsFormPassword($language,  $fieldName, $required);
968
                        break;
969
                    case 18:
970
                        $ret .= $this->getXoopsFormSelectCountry($language, $fieldName, $required);
971
                        break;
972
                    case 19:
973
                        $ret .= $this->getXoopsFormSelectLang($language, $fieldName, $required);
974
                        break;
975
                    case 20:
976
                        $ret .= $this->getXoopsFormRadio($language, $moduleDirname, $fieldName, $required);
977
                        break;
978
                    case 21:
979
                        $ret .= $this->getXoopsFormDateTime($language, $fieldName, $required);
980
                        break;
981
                    case 22:
982
                        $ret .= $this->getXoopsFormSelectCombo($language, $moduleDirname, $tableName, $fieldName, $required);
983
                        break;
984
                    default:
985
                        // If we use tag module
986
                        if (1 == $table->getVar('table_tag')) {
987
                            $ret .= $this->getXoopsFormTag($fieldId, $required);
988
                        }
989
                        // If we want to hide XoopsFormHidden() or field id
990
                        if ((0 == $f) && (1 == $table->getVar('table_autoincrement'))) {
991
                            $ret .= $this->getXoopsFormHidden($fieldName);
992
                        }
993
                        break;
994
                }
995
996
                $fieldElements    = $tc->getHandler('fieldelements')->get($fieldElement);
997
                $fieldElementTid  = $fieldElements->getVar('fieldelement_tid');
998
                if ((int)$fieldElementTid > 0 ) {
999
                    if ((1 == $fieldParent) || 1 == $table->getVar('table_category')) {
1000
                        $fieldElementMid  = $fieldElements->getVar('fieldelement_mid');
1001
                        $fieldElementName = $fieldElements->getVar('fieldelement_name');
1002
                        $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

1002
                        $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_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

1002
                        $fieldNameDesc    = mb_substr($fieldElementName, mb_strrpos($fieldElementName, ':'), mb_strlen(/** @scrutinizer ignore-type */ $fieldElementName));
Loading history...
Bug introduced by
It seems like $fieldElementName can also be of type array and array; however, parameter $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

1002
                        $fieldNameDesc    = mb_substr(/** @scrutinizer ignore-type */ $fieldElementName, mb_strrpos($fieldElementName, ':'), mb_strlen($fieldElementName));
Loading history...
1003
                        $topicTableName   = str_replace(': ', '', $fieldNameDesc);
1004
                        $fieldsTopics     = $ttf->getTableFields($fieldElementMid, $fieldElementTid);
1005
                        foreach (array_keys($fieldsTopics) as $g) {
1006
                            $fieldNameTopic = $fieldsTopics[$g]->getVar('field_name');
1007
                            if ((0 == $g) && (1 == $table->getVar('table_autoincrement'))) {
1008
                                $fieldIdTopic = $fieldNameTopic;
1009
                            }
1010
                            if (1 == $fieldsTopics[$g]->getVar('field_parent')) {
1011
                                $fieldPidTopic = $fieldNameTopic;
1012
                            }
1013
                            if (1 == $fieldsTopics[$g]->getVar('field_main')) {
1014
                                $fieldMainTopic = $fieldNameTopic;
1015
                            }
1016
                        }
1017
                        $ret .= $this->getXoopsFormTopic($language, $topicTableName, $fieldIdTopic, $fieldPidTopic, $fieldMainTopic);
1018
                    } else {
1019
                        $ret .= $this->getXoopsFormTable($language, $fieldName, $fieldElement, $required);
1020
                    }
1021
                }
1022
            }
1023
        }
1024
        unset($fieldElementId);
1025
1026
        return $ret;
1027
    }
1028
}
1029