/** * @param UserrankRank|XoopsObject $obj */ public function __construct(XoopsObject $obj) { if ($obj->isNew()) { $blank_img = 'blank.gif'; } else { $blank_img = str_replace('ranks/', '', $obj->getVar('rank_image', 'e')); } $title = $obj->isNew() ? sprintf(_AM_USERRANK_ADD) : sprintf(_AM_USERRANK_EDIT); parent::__construct($title, 'form', 'userrank.php', 'post', true); $this->setExtra('enctype="multipart/form-data"'); $this->addElement(new Xoops\Form\Text(_AM_USERRANK_TITLE, 'rank_title', 4, 50, $obj->getVar('rank_title')), true); $min = new Xoops\Form\Text(_AM_USERRANK_MINPOST, 'rank_min', 1, 10, $obj->getVar('rank_min')); $min->setPattern('^\\d+$', _AM_USERRANK_ERROR_POST); $this->addElement($min); $max = new Xoops\Form\Text(_AM_USERRANK_MAXPOST, 'rank_max', 1, 10, $obj->getVar('rank_max')); $max->setPattern('^\\d+$', _AM_USERRANK_ERROR_POST); $this->addElement($max); $imgtray_img = new Xoops\Form\ElementTray(_AM_USERRANK_IMAGE, '<br />'); $imgpath_img = sprintf(_AM_USERRANK_IMAGE_PATH, \XoopsBaseConfig::get('uploads-path') . '/ranks/'); $imageselect_img = new Xoops\Form\Select($imgpath_img, 'rank_image', $blank_img); $image_array_img = XoopsLists::getImgListAsArray(\XoopsBaseConfig::get('uploads-path') . '/ranks'); $imageselect_img->addOption("{$blank_img}", $blank_img); foreach ($image_array_img as $image_img) { $imageselect_img->addOption("{$image_img}", $image_img); } $imageselect_img->setExtra("onchange='showImgSelected(\"xo-ranks-img\", \"rank_image\", \"ranks\", \"\", \"" . \XoopsBaseConfig::get('uploads-url') . "\")'"); $imgtray_img->addElement($imageselect_img, false); $imgtray_img->addElement(new Xoops\Form\Label('', "<br /><img src='" . \XoopsBaseConfig::get('uploads-url') . "/ranks/" . $blank_img . "' name='image_img' id='xo-ranks-img' alt='' />")); $fileseltray_img = new Xoops\Form\ElementTray('<br />', '<br /><br />'); $fileseltray_img->addElement(new Xoops\Form\File(_AM_USERRANK_UPLOAD, 'rank_image'), false); $fileseltray_img->addElement(new Xoops\Form\Label(''), false); $imgtray_img->addElement($fileseltray_img); $this->addElement($imgtray_img); if (!$obj->isNew()) { $rank_special = $obj->getVar('rank_special'); } else { $rank_special = 0; } $special_tray = new Xoops\Form\ElementTray(_AM_USERRANK_SPECIAL, '<br />'); $special_tray->setDescription(_AM_USERRANK_SPECIAL_CAN); $special_tray->addElement(new Xoops\Form\RadioYesNo('', 'rank_special', $rank_special)); $this->addElement($special_tray); if (!$obj->isNew()) { $this->addElement(new Xoops\Form\Hidden('rank_id', $obj->getVar('rank_id'))); } $this->addElement(new Xoops\Form\Hidden('op', 'userrank_save')); $this->addElement(new Xoops\Form\Button('', 'submit', XoopsLocale::A_SUBMIT, 'submit')); }
/** * delete a category from the database * * @param XoopsObject $category reference to the category to delete * @param bool $force * * @return bool FALSE if failed. */ public function delete(XoopsObject $category, $force = false) { $xoops = Xoops::getInstance(); // Deleting this category ITEMs $criteria = new Criteria('categoryid', $category->getVar('categoryid')); $this->publisher->getItemHandler()->deleteAll($criteria, true, true); unset($criteria); // Deleting the sub categories $subcats = $this->getCategories(0, 0, $category->getVar('categoryid')); foreach ($subcats as $subcat) { $this->delete($subcat); } if (!parent::delete($category, $force)) { $category->setErrors('An error while deleting.'); return false; } $module_id = $this->publisher->getModule()->getVar('mid'); $xoops->getHandlerGroupPermission()->deleteByModule($module_id, "category_read", $category->getVar('categoryid')); $xoops->getHandlerGroupPermission()->deleteByModule($module_id, "item_submit", $category->getVar('categoryid')); $xoops->getHandlerGroupPermission()->deleteByModule($module_id, "category_moderation", $category->getVar('categoryid')); return true; }
/** * insert a new item in the database * * @param XoopsObject $item reference to the {@link PublisherItem} object * @param bool $force * * @return bool FALSE if failed, TRUE if already present and unchanged or successful */ public function insert(XoopsObject $item, $force = true) { $xoops = Xoops::getInstance(); if (!$item->getVar('meta_keywords') || !$item->getVar('meta_description') || !$item->getVar('short_url')) { $publisher_metagen = new PublisherMetagen($item->title(), $item->getVar('meta_keywords'), $item->getVar('summary')); // Auto create meta tags if empty if (!$item->getVar('meta_keywords')) { $item->setVar('meta_keywords', $publisher_metagen->_keywords); } if (!$item->getVar('meta_description')) { $item->setVar('meta_description', $publisher_metagen->_description); } // Auto create short_url if empty if (!$item->getVar('short_url')) { $item->setVar('short_url', $publisher_metagen->generateSeoTitle($item->getVar('title', 'n'), false)); } } if (!parent::insert($item, $force)) { return false; } if ($xoops->isActiveModule('tag')) { // Storing tags information $tag_handler = $xoops->getModuleHandler('tag', 'tag'); $tag_handler->updateByItem($item->getVar('item_tag'), $item->getVar('itemid'), PUBLISHER_DIRNAME, 0); } return true; }
/** * delete a profile field from the database * * @param XoopsObject|ProfileField $obj reference to the object to delete * @param bool $force * @return bool FALSE if failed. **/ public function deleteFields(XoopsObject $obj, $force = false) { $xoops = Xoops::getInstance(); $profile_handler = \Xoops::getModuleHelper('profile')->getHandler('profile'); // remove column from table $sql = "ALTER TABLE " . $profile_handler->table . " DROP `" . $obj->getVar('field_name', 'n') . "`"; if ($this->db2->query($sql)) { //change this to update the cached field information storage if (!parent::delete($obj, $force)) { return false; } if ($obj->getVar('field_show') || $obj->getVar('field_edit')) { $profile_module = $xoops->getModuleByDirname('profile'); if (is_object($profile_module)) { // Remove group permissions $groupperm_handler = $xoops->getHandlerGroupPermission(); $criteria = new CriteriaCompo(new Criteria('gperm_modid', $profile_module->getVar('mid'))); $criteria->add(new Criteria('gperm_itemid', $obj->getVar('field_id'))); return $groupperm_handler->deleteAll($criteria); } } } return false; }