RepliesForm   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 71
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
eloc 39
c 1
b 0
f 0
dl 0
loc 71
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 61 4
1
<?php declare(strict_types=1);
2
3
namespace XoopsModules\Adslight\Form;
4
5
/*
6
 You may not change or alter any portion of this comment or credits
7
 of supporting developers from this source code or any supporting source code
8
 which is considered copyrighted (c) material of the original comment or credit authors.
9
10
 This program is distributed in the hope that it will be useful,
11
 but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
*/
14
15
/**
16
 * Module: Adslight
17
 *
18
 * @category        Module
19
 * @author          XOOPS Development Team <https://xoops.org>
20
 * @copyright       {@link https://xoops.org/ XOOPS Project}
21
 * @license         GNU GPL 2.0 or later (https://www.gnu.org/licenses/gpl-2.0.html)
22
 */
23
24
use Xmf\Request;
25
use XoopsModules\Adslight;
26
27
require_once \dirname(__DIR__, 2) . '/include/common.php';
28
29
$moduleDirName = \basename(\dirname(__DIR__, 2));
30
//$helper = Adslight\Helper::getInstance();
31
$permHelper = new \Xmf\Module\Helper\Permission();
32
33
\xoops_load('XoopsFormLoader');
34
35
/**
36
 * Class RepliesForm
37
 */
38
class RepliesForm extends \XoopsThemeForm
39
{
40
    public $targetObject;
41
    public $helper;
42
43
    /**
44
     * Constructor
45
     *
46
     * @param $target
47
     */
48
    public function __construct($target)
49
    {
50
        $this->helper       = $target->helper;
51
        $this->targetObject = $target;
52
53
        $title = $this->targetObject->isNew() ? \AM_ADSLIGHT_REPLIES_ADD : \AM_ADSLIGHT_REPLIES_EDIT;
54
        parent::__construct($title, 'form', \xoops_getenv('SCRIPT_NAME'), 'post', true);
55
        $this->setExtra('enctype="multipart/form-data"');
56
57
        //include ID field, it's needed so the module knows if it is a new form or an edited form
58
59
        $hidden = new \XoopsFormHidden('r_lid', $this->targetObject->getVar('r_lid'));
60
        $this->addElement($hidden);
61
        unset($hidden);
62
63
        // R_lid
64
        $this->addElement(new \XoopsFormLabel(\AM_ADSLIGHT_REPLIES_R_LID, $this->targetObject->getVar('r_lid'), 'r_lid'));
65
        // Lid
66
        //$listingHandler = $this->helper->getHandler('Listing');
67
        //$db     = \XoopsDatabaseFactory::getDatabaseConnection();
68
        /** @var \XoopsPersistableObjectHandler $listingHandler */
69
        $listingHandler = $this->helper->getHandler('Listing');
70
71
        $listing_id_select = new \XoopsFormSelect(\AM_ADSLIGHT_REPLIES_LID, 'lid', $this->targetObject->getVar('lid'));
72
        $listing_id_select->addOptionArray($listingHandler->getList());
73
        $this->addElement($listing_id_select, false);
74
        // Title
75
        $this->addElement(new \XoopsFormText(\AM_ADSLIGHT_REPLIES_TITLE, 'title', 50, 255, $this->targetObject->getVar('title')), false);
76
        // Date
77
        $this->addElement(new \XoopsFormTextDateSelect(\AM_ADSLIGHT_REPLIES_DATE, 'date', 0, \formatTimestamp($this->targetObject->getVar('date'), 's')));
0 ignored issues
show
Bug introduced by
formatTimestamp($this->t...t->getVar('date'), 's') of type string is incompatible with the type integer expected by parameter $value of XoopsFormTextDateSelect::__construct(). ( Ignorable by Annotation )

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

77
        $this->addElement(new \XoopsFormTextDateSelect(\AM_ADSLIGHT_REPLIES_DATE, 'date', 0, /** @scrutinizer ignore-type */ \formatTimestamp($this->targetObject->getVar('date'), 's')));
Loading history...
78
        // Submitter
79
        $this->addElement(new \XoopsFormSelectUser(\AM_ADSLIGHT_REPLIES_SUBMITTER, 'submitter', false, $this->targetObject->getVar('submitter'), 1, false), false);
80
        // Message
81
        if (\class_exists('XoopsFormEditor')) {
82
            $editorOptions           = [];
83
            $editorOptions['name']   = 'message';
84
            $editorOptions['value']  = $this->targetObject->getVar('message', 'e');
85
            $editorOptions['rows']   = 5;
86
            $editorOptions['cols']   = 40;
87
            $editorOptions['width']  = '100%';
88
            $editorOptions['height'] = '400px';
89
            //$editorOptions['editor'] = xoops_getModuleOption('adslight_editor', 'adslight');
90
            //$this->addElement( new \XoopsFormEditor(AM_ADSLIGHT_REPLIES_MESSAGE, 'message', $editorOptions), false  );
91
            if ($this->helper->isUserAdmin()) {
92
                $descEditor = new \XoopsFormEditor(\AM_ADSLIGHT_REPLIES_MESSAGE, $this->helper->getConfig('adslightEditorAdmin'), $editorOptions, $nohtml = false, $onfailure = 'textarea');
93
            } else {
94
                $descEditor = new \XoopsFormEditor(\AM_ADSLIGHT_REPLIES_MESSAGE, $this->helper->getConfig('adslightEditorUser'), $editorOptions, $nohtml = false, $onfailure = 'textarea');
95
            }
96
        } else {
97
            $descEditor = new \XoopsFormDhtmlTextArea(\AM_ADSLIGHT_REPLIES_MESSAGE, 'description', $this->targetObject->getVar('description', 'e'), 5, 50);
98
        }
99
        $this->addElement($descEditor);
100
        // Tele
101
        $this->addElement(new \XoopsFormText(\AM_ADSLIGHT_REPLIES_TELE, 'tele', 50, 255, $this->targetObject->getVar('tele')), false);
102
        // Email
103
        $this->addElement(new \XoopsFormText(\AM_ADSLIGHT_REPLIES_EMAIL, 'email', 50, 255, $this->targetObject->getVar('email')), false);
104
        // R_usid
105
        $this->addElement(new \XoopsFormSelectUser(\AM_ADSLIGHT_REPLIES_R_USID, 'r_usid', false, $this->targetObject->getVar('r_usid'), 1, false), false);
106
107
        $this->addElement(new \XoopsFormHidden('op', 'save'));
108
        $this->addElement(new \XoopsFormButton('', 'submit', \_SUBMIT, 'submit'));
109
    }
110
}
111