예제 #1
0
 /**
  * @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'));
 }
예제 #2
0
 /**
  * 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;
 }
예제 #3
0
파일: item.php 프로젝트: ming-hai/XoopsCore
 /**
  * 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;
 }
예제 #4
0
 /**
  * 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;
 }