| Conditions | 7 |
| Paths | 24 |
| Total Lines | 156 |
| Code Lines | 91 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 2 | ||
| Bugs | 0 | Features | 0 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
| 1 | <?php declare(strict_types=1); |
||
| 47 | public function __construct($target) |
||
| 48 | { |
||
| 49 | $this->helper = $target->helper; |
||
| 50 | $this->targetObject = $target; |
||
| 51 | |||
| 52 | $this->helper->loadLanguage('admin'); |
||
| 53 | |||
| 54 | $title = $this->targetObject->isNew() ? \AM_ADSLIGHT_LISTING_ADD : \AM_ADSLIGHT_LISTING_EDIT; |
||
| 55 | parent::__construct($title, 'form', \xoops_getenv('SCRIPT_NAME'), 'post', true); |
||
| 56 | $this->setExtra('enctype="multipart/form-data"'); |
||
| 57 | |||
| 58 | //include ID field, it's needed so the module knows if it is a new form or an edited form |
||
| 59 | |||
| 60 | $hidden = new \XoopsFormHidden('lid', $this->targetObject->getVar('lid')); |
||
| 61 | $this->addElement($hidden); |
||
| 62 | unset($hidden); |
||
| 63 | |||
| 64 | // Lid |
||
| 65 | $this->addElement(new \XoopsFormLabel(\AM_ADSLIGHT_LISTING_LID, $this->targetObject->getVar('lid'), 'lid')); |
||
| 66 | // Cid |
||
| 67 | //$categoriesHandler = $this->helper->getHandler('Categories'); |
||
| 68 | //$db = \XoopsDatabaseFactory::getDatabaseConnection(); |
||
| 69 | /** @var \XoopsPersistableObjectHandler $categoriesHandler */ |
||
| 70 | $categoriesHandler = $this->helper->getHandler('Categories'); |
||
| 71 | |||
| 72 | $categories_id_select = new \XoopsFormSelect(\AM_ADSLIGHT_LISTING_CID, 'cid', $this->targetObject->getVar('cid')); |
||
| 73 | $categories_id_select->addOptionArray($categoriesHandler->getList()); |
||
| 74 | $this->addElement($categories_id_select, false); |
||
| 75 | // Title |
||
| 76 | $this->addElement(new \XoopsFormText(\AM_ADSLIGHT_LISTING_TITLE, 'title', 50, 255, $this->targetObject->getVar('title')), false); |
||
| 77 | // Status |
||
| 78 | $this->addElement(new \XoopsFormText(\AM_ADSLIGHT_LISTING_STATUS, 'status', 50, 255, $this->targetObject->getVar('status')), false); |
||
| 79 | // Expire |
||
| 80 | $this->addElement(new \XoopsFormText(\AM_ADSLIGHT_LISTING_EXPIRE, 'expire', 50, 255, $this->targetObject->getVar('expire')), false); |
||
| 81 | // Type |
||
| 82 | //$typeHandler = $this->helper->getHandler('Type'); |
||
| 83 | //$db = \XoopsDatabaseFactory::getDatabaseConnection(); |
||
| 84 | /** @var \XoopsPersistableObjectHandler $typeHandler */ |
||
| 85 | $typeHandler = $this->helper->getHandler('Type'); |
||
| 86 | |||
| 87 | $type_id_select = new \XoopsFormSelect(\AM_ADSLIGHT_LISTING_TYPE, 'type', $this->targetObject->getVar('type')); |
||
| 88 | $type_id_select->addOptionArray($typeHandler->getList()); |
||
| 89 | $this->addElement($type_id_select, false); |
||
| 90 | // Desctext |
||
| 91 | if (\class_exists('XoopsFormEditor')) { |
||
| 92 | $editorOptions = []; |
||
| 93 | $editorOptions['name'] = 'desctext'; |
||
| 94 | $editorOptions['value'] = $this->targetObject->getVar('desctext', 'e'); |
||
| 95 | $editorOptions['rows'] = 5; |
||
| 96 | $editorOptions['cols'] = 40; |
||
| 97 | $editorOptions['width'] = '100%'; |
||
| 98 | $editorOptions['height'] = '400px'; |
||
| 99 | //$editorOptions['editor'] = xoops_getModuleOption('adslight_editor', 'adslight'); |
||
| 100 | //$this->addElement( new \XoopsFormEditor(AM_ADSLIGHT_LISTING_DESCTEXT, 'desctext', $editorOptions), false ); |
||
| 101 | if ($this->helper->isUserAdmin()) { |
||
| 102 | $descEditor = new \XoopsFormEditor(\AM_ADSLIGHT_LISTING_DESCTEXT, $this->helper->getConfig('adslightEditorAdmin'), $editorOptions, $nohtml = false, $onfailure = 'textarea'); |
||
| 103 | } else { |
||
| 104 | $descEditor = new \XoopsFormEditor(\AM_ADSLIGHT_LISTING_DESCTEXT, $this->helper->getConfig('adslightEditorUser'), $editorOptions, $nohtml = false, $onfailure = 'textarea'); |
||
| 105 | } |
||
| 106 | } else { |
||
| 107 | $descEditor = new \XoopsFormDhtmlTextArea(\AM_ADSLIGHT_LISTING_DESCTEXT, 'description', $this->targetObject->getVar('description', 'e'), 5, 50); |
||
| 108 | } |
||
| 109 | $this->addElement($descEditor); |
||
| 110 | // Tel |
||
| 111 | $this->addElement(new \XoopsFormText(\AM_ADSLIGHT_LISTING_TEL, 'tel', 50, 255, $this->targetObject->getVar('tel')), false); |
||
| 112 | // Price |
||
| 113 | $this->addElement(new \XoopsFormText(\AM_ADSLIGHT_LISTING_PRICE, 'price', 50, 255, $this->targetObject->getVar('price')), false); |
||
| 114 | // Typeprice |
||
| 115 | //$priceHandler = $this->helper->getHandler('Price'); |
||
| 116 | //$db = \XoopsDatabaseFactory::getDatabaseConnection(); |
||
| 117 | /** @var \XoopsPersistableObjectHandler $priceHandler */ |
||
| 118 | $priceHandler = $this->helper->getHandler('Price'); |
||
| 119 | |||
| 120 | $price_id_select = new \XoopsFormSelect(\AM_ADSLIGHT_LISTING_TYPEPRICE, 'typeprice', $this->targetObject->getVar('typeprice')); |
||
| 121 | $price_id_select->addOptionArray($priceHandler->getList()); |
||
| 122 | $this->addElement($price_id_select, false); |
||
| 123 | // Typecondition |
||
| 124 | //$conditionHandler = $this->helper->getHandler('Condition'); |
||
| 125 | //$db = \XoopsDatabaseFactory::getDatabaseConnection(); |
||
| 126 | /** @var \XoopsPersistableObjectHandler $conditionHandler */ |
||
| 127 | $conditionHandler = $this->helper->getHandler('Condition'); |
||
| 128 | |||
| 129 | $condition_id_select = new \XoopsFormSelect(\AM_ADSLIGHT_LISTING_TYPECONDITION, 'typecondition', $this->targetObject->getVar('typecondition')); |
||
| 130 | $condition_id_select->addOptionArray($conditionHandler->getList()); |
||
| 131 | $this->addElement($condition_id_select, false); |
||
| 132 | // Date_created |
||
| 133 | $this->addElement(new \XoopsFormDateTime(\AM_ADSLIGHT_LISTING_DATE_CREATED, 'date_created', 0, $this->targetObject->getVar('date_created'))); |
||
| 134 | |||
| 135 | $this->addElement(new \XoopsFormText(\AM_ADSLIGHT_LISTING_EMAIL, 'email', 50, 255, $this->targetObject->getVar('email')), false); |
||
| 136 | // Submitter |
||
| 137 | $this->addElement(new \XoopsFormSelectUser(\AM_ADSLIGHT_LISTING_SUBMITTER, 'submitter', false, $this->targetObject->getVar('usid'), 1, false), false); |
||
| 138 | // Usid |
||
| 139 | $this->addElement(new \XoopsFormText(\AM_ADSLIGHT_LISTING_USID, 'usid', 50, 255, $this->targetObject->getVar('usid')), false); |
||
| 140 | // Town |
||
| 141 | $this->addElement(new \XoopsFormText(\AM_ADSLIGHT_LISTING_TOWN, 'town', 50, 255, $this->targetObject->getVar('town')), false); |
||
| 142 | // Country |
||
| 143 | $this->addElement(new \XoopsFormSelectCountry(\AM_ADSLIGHT_LISTING_COUNTRY, 'country', $this->targetObject->getVar('country')), false); |
||
| 144 | // Contactby |
||
| 145 | $this->addElement(new \XoopsFormText(\AM_ADSLIGHT_LISTING_CONTACTBY, 'contactby', 50, 255, $this->targetObject->getVar('contactby')), false); |
||
| 146 | // Premium |
||
| 147 | $this->addElement(new \XoopsFormText(\AM_ADSLIGHT_LISTING_PREMIUM, 'premium', 50, 255, $this->targetObject->getVar('premium')), false); |
||
| 148 | // Valid |
||
| 149 | $this->addElement(new \XoopsFormText(\AM_ADSLIGHT_LISTING_VALID, 'valid', 50, 255, $this->targetObject->getVar('valid')), false); |
||
| 150 | // Photo |
||
| 151 | // $photo = $this->targetObject->getVar('photo') ?: 'blank.png'; |
||
| 152 | |||
| 153 | // pull the first picture |
||
| 154 | $photoName = ''; |
||
| 155 | /** @var \XoopsPersistableObjectHandler $picturesHandler */ |
||
| 156 | $picturesHandler = $this->helper->getHandler('Pictures'); |
||
| 157 | $lid = $this->targetObject->getVar('lid'); |
||
| 158 | $uid = $this->targetObject->getVar('usid'); |
||
| 159 | $criteriaLid = new \Criteria('lid', $lid); |
||
| 160 | $criteriaUid = new \Criteria('uid', $uid); |
||
| 161 | $picturesObjectsArray = $picturesHandler->getObjects($criteriaLid, $criteriaUid); |
||
|
|
|||
| 162 | // How many pictures are on the user album |
||
| 163 | $picturesCount = $picturesHandler->getCount($criteriaLid); |
||
| 164 | if ($picturesCount > 0) { |
||
| 165 | $photo1 = \reset($picturesObjectsArray); |
||
| 166 | $photoName = $photo1->getVar('url'); |
||
| 167 | } |
||
| 168 | $photo = $photoName ?: 'blank.png'; |
||
| 169 | |||
| 170 | $uploadDir = '/uploads/adslight/'; |
||
| 171 | $imgtray = new \XoopsFormElementTray(\AM_ADSLIGHT_LISTING_PHOTO, '<br>'); |
||
| 172 | $imgpath = \sprintf(\AM_ADSLIGHT_FORMIMAGE_PATH, $uploadDir); |
||
| 173 | $imageselect = new \XoopsFormSelect($imgpath, 'photo', $photo); |
||
| 174 | $imageArray = \XoopsLists::getImgListAsArray(XOOPS_ROOT_PATH . $uploadDir); |
||
| 175 | foreach ($imageArray as $image) { |
||
| 176 | $imageselect->addOption($image, $image); |
||
| 177 | } |
||
| 178 | $imageselect->setExtra("onchange='showImgSelected(\"image_photo\", \"photo\", \"" . $uploadDir . '", "", "' . XOOPS_URL . "\")'"); |
||
| 179 | $imgtray->addElement($imageselect); |
||
| 180 | $imgtray->addElement(new \XoopsFormLabel('', "<br><img src='" . XOOPS_URL . '/' . $uploadDir . '/' . $photo . "' name='image_photo' id='image_photo' alt='' style='max-width:300px' >")); |
||
| 181 | $fileseltray = new \XoopsFormElementTray('', '<br>'); |
||
| 182 | $fileseltray->addElement(new \XoopsFormFile(\AM_ADSLIGHT_FORMUPLOAD, 'photo', $this->helper->getConfig('maxsize'))); |
||
| 183 | $fileseltray->addElement(new \XoopsFormLabel('')); |
||
| 184 | $imgtray->addElement($fileseltray); |
||
| 185 | $this->addElement($imgtray); |
||
| 186 | // Hits |
||
| 187 | $this->addElement(new \XoopsFormLabel(\AM_ADSLIGHT_LISTING_HITS, $this->targetObject->getVar('hits'), 'hits')); |
||
| 188 | // Item_rating |
||
| 189 | $this->addElement(new \XoopsFormLabel(\AM_ADSLIGHT_LISTING_ITEM_RATING, $this->targetObject->getVar('item_rating'), 'item_rating')); |
||
| 190 | // Item_votes |
||
| 191 | $this->addElement(new \XoopsFormLabel(\AM_ADSLIGHT_LISTING_ITEM_VOTES, $this->targetObject->getVar('item_votes'), 'item_votes')); |
||
| 192 | // User_rating |
||
| 193 | $this->addElement(new \XoopsFormLabel(\AM_ADSLIGHT_LISTING_USER_RATING, $this->targetObject->getVar('user_rating'), 'user_rating')); |
||
| 194 | // User_votes |
||
| 195 | $this->addElement(new \XoopsFormLabel(\AM_ADSLIGHT_LISTING_USER_VOTES, $this->targetObject->getVar('user_votes'), 'user_votes')); |
||
| 196 | // Comments |
||
| 197 | $this->addElement(new \XoopsFormLabel(\AM_ADSLIGHT_LISTING_COMMENTS, $this->targetObject->getVar('comments'), 'comments')); |
||
| 198 | // Remind |
||
| 199 | $this->addElement(new \XoopsFormLabel(\AM_ADSLIGHT_LISTING_REMIND, $this->targetObject->getVar('remind'), 'remind')); |
||
| 200 | |||
| 201 | $this->addElement(new \XoopsFormHidden('op', 'save')); |
||
| 202 | $this->addElement(new \XoopsFormButton('', 'submit', \_SUBMIT, 'submit')); |
||
| 203 | } |
||
| 205 |