/** * @param string $post_field * @param array $allowed_mimetypes * @param array $errors * * @return bool */ public function storeUpload($post_field, $allowed_mimetypes = array(), &$errors) { $itemid = $this->getVar('itemid'); if (empty($allowed_mimetypes)) { $allowed_mimetypes = $this->publisher->getHandler('mimetype')->getArrayByType(); } $maxfilesize = $this->publisher->getConfig('maximum_filesize'); $maxfilewidth = $this->publisher->getConfig('maximum_image_width'); $maxfileheight = $this->publisher->getConfig('maximum_image_height'); if (!is_dir(publisher_getUploadDir())) { mkdir(publisher_getUploadDir(), 0757); } xoops_load('XoopsMediaUploader'); $uploader = new XoopsMediaUploader(publisher_getUploadDir() . '/', $allowed_mimetypes, $maxfilesize, $maxfilewidth, $maxfileheight); if ($uploader->fetchMedia($post_field)) { $uploader->setTargetFileName($itemid . "_" . $uploader->getMediaName()); if ($uploader->upload()) { $this->setVar('filename', $uploader->getSavedFileName()); if ($this->getVar('name') == '') { $this->setVar('name', $this->getNameFromFilename()); } $this->setVar('mimetype', $uploader->getMediaType()); return true; } else { $errors = array_merge($errors, $uploader->getErrors(false)); return false; } } else { $errors = array_merge($errors, $uploader->getErrors(false)); return false; } }
/** * @return string */ public function createMetaKeywords() { $keywords = $this->findMetaKeywords($this->originalTitle . ' ' . $this->description, $this->minChar); $moduleKeywords = $this->publisher->getConfig('seo_meta_keywords'); if ($moduleKeywords != '') { $moduleKeywords = explode(',', $moduleKeywords); $keywords = array_merge($keywords, array_map('trim', $moduleKeywords)); } $ret = implode(',', $keywords); return $ret; }
/** * The name says it all */ public function setVarsFromRequest() { //Required fields if (isset($_REQUEST['categoryid'])) { $this->setVar('categoryid', PublisherRequest::getInt('categoryid')); } if (isset($_REQUEST['title'])) { $this->setVar('title', PublisherRequest::getString('title')); } if (isset($_REQUEST['body'])) { $this->setVar('body', PublisherRequest::getText('body')); } //Not required fields if (isset($_REQUEST['summary'])) { $this->setVar('summary', PublisherRequest::getText('summary')); } if (isset($_REQUEST['subtitle'])) { $this->setVar('subtitle', PublisherRequest::getString('subtitle')); } if (isset($_REQUEST['item_tag'])) { $this->setVar('item_tag', PublisherRequest::getString('item_tag')); } if (isset($_REQUEST['image_featured'])) { $image_item = PublisherRequest::getArray('image_item'); $image_featured = PublisherRequest::getString('image_featured'); //Todo: get a better image class for xoops! //Image hack $image_item_ids = array(); global $xoopsDB; $sql = 'SELECT image_id, image_name FROM ' . $xoopsDB->prefix('image'); $result = $xoopsDB->query($sql, 0, 0); while ($myrow = $xoopsDB->fetchArray($result)) { $image_name = $myrow['image_name']; $id = $myrow['image_id']; if ($image_name == $image_featured) { $this->setVar('image', $id); } if (in_array($image_name, $image_item)) { $image_item_ids[] = $id; } } $this->setVar('images', implode('|', $image_item_ids)); } if (isset($_REQUEST['uid'])) { $this->setVar('uid', PublisherRequest::getInt('uid')); } elseif ($this->isnew()) { $this->setVar('uid', is_object($GLOBALS['xoopsUser']) ? $GLOBALS['xoopsUser']->uid() : 0); } if (isset($_REQUEST['author_alias'])) { $this->setVar('author_alias', PublisherRequest::getString('author_alias')); if ($this->getVar('autor_alias') != '') { $this->setVar('uid', 0); } } if (isset($_REQUEST['datesub'])) { $this->setVar('datesub', strtotime($_REQUEST['datesub']['date']) + $_REQUEST['datesub']['time']); } elseif ($this->isnew()) { $this->setVar('datesub', time()); } if (isset($_REQUEST['item_short_url'])) { $this->setVar('short_url', PublisherRequest::getString('item_short_url')); } if (isset($_REQUEST['item_meta_keywords'])) { $this->setVar('meta_keywords', PublisherRequest::getString('item_meta_keywords')); } if (isset($_REQUEST['item_meta_description'])) { $this->setVar('meta_description', PublisherRequest::getString('item_meta_description')); } if (isset($_REQUEST['weight'])) { $this->setVar('weight', PublisherRequest::getInt('weight')); } if (isset($_REQUEST['allowcomments'])) { $this->setVar('cancomment', PublisherRequest::getInt('allowcomments')); } elseif ($this->isnew()) { $this->setVar('cancoment', $this->publisher->getConfig('submit_allowcomments')); } if (isset($_REQUEST['status'])) { $this->setVar('status', PublisherRequest::getInt('status')); } elseif ($this->isnew()) { $this->setVar('status', $this->publisher->getConfig('submit_status')); } if (isset($_REQUEST['dohtml'])) { $this->setVar('dohtml', PublisherRequest::getInt('dohtml')); } elseif ($this->isnew()) { $this->setVar('dohtml', $this->publisher->getConfig('submit_dohtml')); } if (isset($_REQUEST['dosmiley'])) { $this->setVar('dosmiley', PublisherRequest::getInt('dosmiley')); } elseif ($this->isnew()) { $this->setVar('dosmiley', $this->publisher->getConfig('submit_dosmiley')); } if (isset($_REQUEST['doxcode'])) { $this->setVar('doxcode', PublisherRequest::getInt('doxcode')); } elseif ($this->isnew()) { $this->setVar('doxcode', $this->publisher->getConfig('submit_doxcode')); } if (isset($_REQUEST['doimage'])) { $this->setVar('doimage', PublisherRequest::getInt('doimage')); } elseif ($this->isnew()) { $this->setVar('doimage', $this->publisher->getConfig('submit_doimage')); } if (isset($_REQUEST['dolinebreak'])) { $this->setVar('dobr', PublisherRequest::getInt('dolinebreak')); } elseif ($this->isnew()) { $this->setVar('dobr', $this->publisher->getConfig('submit_dobr')); } if (isset($_REQUEST['notify'])) { $this->setVar('notifypub', PublisherRequest::getInt('notify')); } }
/** * The name says it all */ public function setVarsFromRequest() { //Required fields // if (!empty($categoryid = XoopsRequest::getInt('categoryid', 0, 'POST'))) { // $this->setVar('categoryid', $categoryid);} $this->setVar('categoryid', XoopsRequest::getInt('categoryid', 0, 'POST')); $this->setVar('title', XoopsRequest::getString('title', '', 'POST')); $this->setVar('body', XoopsRequest::getText('body', '', 'POST')); //Not required fields $this->setVar('summary', XoopsRequest::getText('summary', '', 'POST')); $this->setVar('subtitle', XoopsRequest::getString('subtitle', '', 'POST')); $this->setVar('item_tag', XoopsRequest::getString('item_tag', '', 'POST')); if ($imageFeatured = XoopsRequest::getString('image_featured', '', 'POST')) { $imageItem = XoopsRequest::getArray('image_item', array(), 'POST'); // $imageFeatured = XoopsRequest::getString('image_featured', '', 'POST'); //Todo: get a better image class for xoops! //Image hack $imageItemIds = array(); $sql = 'SELECT image_id, image_name FROM ' . $GLOBALS['xoopsDB']->prefix('image'); $result = $GLOBALS['xoopsDB']->query($sql, 0, 0); while (($myrow = $GLOBALS['xoopsDB']->fetchArray($result)) !== false) { $imageName = $myrow['image_name']; $id = $myrow['image_id']; if ($imageName == $imageFeatured) { $this->setVar('image', $id); } if (in_array($imageName, $imageItem)) { $imageItemIds[] = $id; } } $this->setVar('images', implode('|', $imageItemIds)); } if ($authorAlias = XoopsRequest::getString('author_alias', '', 'POST')) { $this->setVar('author_alias', $authorAlias); if ($this->getVar('author_alias') !== '') { $this->setVar('uid', 0); } } //mb TODO check on version if ($datesub = XoopsRequest::getString('datesub', '', 'POST')) { // if (version_compare(PHP_VERSION, '5.4.0') >= 0) { // $this->setVar('datesub', strtotime(XoopsRequest::getArray('datesub', array(), 'POST')['date']) + XoopsRequest::getArray('datesub', array(), 'POST')['time']); // } else { $resDate = XoopsRequest::getArray('datesub', array(), 'POST'); $resTime = XoopsRequest::getArray('datesub', array(), 'POST'); // $this->setVar('datesub', strtotime($resDate['date']) + $resTime['time']); $localTimestamp = strtotime($resDate['date']) + $resTime['time']; // get user Timezone offset and use it to find out the Timezone, needed for PHP DataTime $userTimeoffset = $GLOBALS['xoopsUser']->getVar('timezone_offset'); $tz = timezone_name_from_abbr(null, $userTimeoffset * 3600); if ($tz === false) { $tz = timezone_name_from_abbr(null, $userTimeoffset * 3600, false); } $userTimezone = new DateTimeZone($tz); $gmtTimezone = new DateTimeZone('GMT'); $myDateTime = new DateTime('now', $gmtTimezone); $offset = $userTimezone->getOffset($myDateTime); $gmtTimestamp = $localTimestamp - $offset; $this->setVar('datesub', $gmtTimestamp); // } } elseif ($this->isNew()) { $this->setVar('datesub', time()); } $this->setVar('short_url', XoopsRequest::getString('item_short_url', '', 'POST')); $this->setVar('meta_keywords', XoopsRequest::getString('item_meta_keywords', '', 'POST')); $this->setVar('meta_description', XoopsRequest::getString('item_meta_description', '', 'POST')); $this->setVar('weight', XoopsRequest::getInt('weight', 0, 'POST')); if ($this->isNew()) { $this->setVar('uid', is_object($GLOBALS['xoopsUser']) ? $GLOBALS['xoopsUser']->uid() : 0); $this->setVar('cancoment', $this->publisher->getConfig('submit_allowcomments')); $this->setVar('status', $this->publisher->getConfig('submit_status')); $this->setVar('dohtml', $this->publisher->getConfig('submit_dohtml')); $this->setVar('dosmiley', $this->publisher->getConfig('submit_dosmiley')); $this->setVar('doxcode', $this->publisher->getConfig('submit_doxcode')); $this->setVar('doimage', $this->publisher->getConfig('submit_doimage')); $this->setVar('dobr', $this->publisher->getConfig('submit_dobr')); } else { $this->setVar('uid', XoopsRequest::getInt('uid', 0, 'POST')); $this->setVar('cancomment', XoopsRequest::getInt('allowcomments', 1, 'POST')); $this->setVar('status', XoopsRequest::getInt('status', 1, 'POST')); $this->setVar('dohtml', XoopsRequest::getInt('dohtml', 1, 'POST')); $this->setVar('dosmiley', XoopsRequest::getInt('dosmiley', 1, 'POST')); $this->setVar('doxcode', XoopsRequest::getInt('doxcode', 1, 'POST')); $this->setVar('doimage', XoopsRequest::getInt('doimage', 1, 'POST')); $this->setVar('dobr', XoopsRequest::getInt('dolinebreak', 1, 'POST')); } $this->setVar('notifypub', XoopsRequest::getString('notify', '', 'POST')); }
function createElements() { global $xoopsUser; // Category $criteria = new Criteria(null); $criteria->setSort('weight'); $criteria->setOrder('ASC'); $mytree = new XoopsObjectTree($this->publisher->getHandler('category')->getObjects($criteria), "categoryid", "parentid"); $cat_select = $mytree->makeSelBox('parentid', 'name', '--', $this->targetObject->parentid(), true); $this->addElement(new XoopsFormLabel(_AM_PUBLISHER_PARENT_CATEGORY_EXP, $cat_select)); // Name $this->addElement(new XoopsFormText(_AM_PUBLISHER_CATEGORY, 'name', 50, 255, $this->targetObject->name('e')), true); // Description $this->addElement(new XoopsFormTextArea(_AM_PUBLISHER_COLDESCRIPT, 'description', $this->targetObject->description('e'), 7, 60)); // EDITOR $groups = $xoopsUser ? $xoopsUser->getGroups() : XOOPS_GROUP_ANONYMOUS; $gperm_handler = $this->publisher->getHandler('groupperm'); $module_id = $this->publisher->getModule()->mid(); $allowed_editors = publisher_getEditors($gperm_handler->getItemIds('editors', $groups, $module_id)); $nohtml = false; if (count($allowed_editors) > 0) { $editor = @$_POST['editor']; if (!empty($editor)) { publisher_setCookieVar('publisher_editor', $editor); } else { $editor = publisher_getCookieVar('publisher_editor'); if (empty($editor) && is_object($xoopsUser)) { $editor = @$xoopsUser->getVar('publisher_editor'); // Need set through user profile } } $editor = empty($editor) || !in_array($editor, $allowed_editors) ? $this->publisher->getConfig('submit_editor') : $editor; $form_editor = new XoopsFormSelectEditor($this, 'editor', $editor, $nohtml, $allowed_editors); $this->addElement($form_editor); } else { $editor = $this->publisher->getConfig('submit_editor'); } $editor_configs = array(); $editor_configs['rows'] = $this->publisher->getConfig('submit_editor_rows') == '' ? 35 : $this->publisher->getConfig('submit_editor_rows'); $editor_configs['cols'] = $this->publisher->getConfig('submit_editor_cols') == '' ? 60 : $this->publisher->getConfig('submit_editor_cols'); $editor_configs['width'] = $this->publisher->getConfig('submit_editor_width') == '' ? "100%" : $this->publisher->getConfig('submit_editor_width'); $editor_configs['height'] = $this->publisher->getConfig('submit_editor_height') == '' ? "400px" : $this->publisher->getConfig('submit_editor_height'); $editor_configs['name'] = 'header'; $editor_configs['value'] = $this->targetObject->header('e'); $text_header = new XoopsFormEditor(_AM_PUBLISHER_CATEGORY_HEADER, $editor, $editor_configs, $nohtml, $onfailure = null); $text_header->setDescription(_AM_PUBLISHER_CATEGORY_HEADER_DSC); $this->addElement($text_header); // IMAGE $image_array = XoopsLists::getImgListAsArray(publisher_getImageDir('category')); $image_select = new XoopsFormSelect('', 'image', $this->targetObject->image()); //$image_select -> addOption ('-1', '---------------'); $image_select->addOptionArray($image_array); $image_select->setExtra("onchange='showImgSelected(\"image3\", \"image\", \"" . 'uploads/' . PUBLISHER_DIRNAME . '/images/category/' . "\", \"\", \"" . XOOPS_URL . "\")'"); $image_tray = new XoopsFormElementTray(_AM_PUBLISHER_IMAGE, ' '); $image_tray->addElement($image_select); $image_tray->addElement(new XoopsFormLabel('', "<br /><br /><img src='" . publisher_getImageDir('category', false) . $this->targetObject->image() . "' name='image3' id='image3' alt='' />")); $image_tray->setDescription(_AM_PUBLISHER_IMAGE_DSC); $this->addElement($image_tray); // IMAGE UPLOAD $max_size = 5000000; $file_box = new XoopsFormFile(_AM_PUBLISHER_IMAGE_UPLOAD, "image_file", $max_size); $file_box->setExtra("size ='45'"); $file_box->setDescription(_AM_PUBLISHER_IMAGE_UPLOAD_DSC); $this->addElement($file_box); // Short url $text_short_url = new XoopsFormText(_AM_PUBLISHER_CATEGORY_SHORT_URL, 'short_url', 50, 255, $this->targetObject->short_url('e')); $text_short_url->setDescription(_AM_PUBLISHER_CATEGORY_SHORT_URL_DSC); $this->addElement($text_short_url); // Meta Keywords $text_meta_keywords = new XoopsFormTextArea(_AM_PUBLISHER_CATEGORY_META_KEYWORDS, 'meta_keywords', $this->targetObject->meta_keywords('e'), 7, 60); $text_meta_keywords->setDescription(_AM_PUBLISHER_CATEGORY_META_KEYWORDS_DSC); $this->addElement($text_meta_keywords); // Meta Description $text_meta_description = new XoopsFormTextArea(_AM_PUBLISHER_CATEGORY_META_DESCRIPTION, 'meta_description', $this->targetObject->meta_description('e'), 7, 60); $text_meta_description->setDescription(_AM_PUBLISHER_CATEGORY_META_DESCRIPTION_DSC); $this->addElement($text_meta_description); // Weight $this->addElement(new XoopsFormText(_AM_PUBLISHER_COLPOSIT, 'weight', 4, 4, $this->targetObject->weight())); // Added by skalpa: custom template support //todo, check this $this->addElement(new XoopsFormText("Custom template", 'template', 50, 255, $this->targetObject->template('e')), false); // READ PERMISSIONS $groups_read_checkbox = new XoopsFormCheckBox(_AM_PUBLISHER_PERMISSIONS_CAT_READ, 'groups_read[]', $this->targetObject->getGroups_read()); foreach ($this->userGroups as $group_id => $group_name) { $groups_read_checkbox->addOption($group_id, $group_name); } $this->addElement($groups_read_checkbox); // SUBMIT PERMISSIONS $groups_submit_checkbox = new XoopsFormCheckBox(_AM_PUBLISHER_PERMISSIONS_CAT_SUBMIT, 'groups_submit[]', $this->targetObject->getGroups_submit()); $groups_submit_checkbox->setDescription(_AM_PUBLISHER_PERMISSIONS_CAT_SUBMIT_DSC); foreach ($this->userGroups as $group_id => $group_name) { $groups_submit_checkbox->addOption($group_id, $group_name); } $this->addElement($groups_submit_checkbox); // MODERATION PERMISSIONS $groups_moderation_checkbox = new XoopsFormCheckBox(_AM_PUBLISHER_PERMISSIONS_CAT_MODERATOR, 'groups_moderation[]', $this->targetObject->getGroups_moderation()); $groups_moderation_checkbox->setDescription(_AM_PUBLISHER_PERMISSIONS_CAT_MODERATOR_DSC); foreach ($this->userGroups as $group_id => $group_name) { $groups_moderation_checkbox->addOption($group_id, $group_name); } $this->addElement($groups_moderation_checkbox); $moderator = new XoopsFormSelectUser(_AM_PUBLISHER_CATEGORY_MODERATOR, 'moderator', true, $this->targetObject->moderator('e'), 1, false); $moderator->setDescription(_AM_PUBLISHER_CATEGORY_MODERATOR_DSC); $this->addElement($moderator); $cat_tray = new XoopsFormElementTray(_AM_PUBLISHER_SCATEGORYNAME, '<br /><br />'); for ($i = 0; $i < $this->subCatsCount; $i++) { if ($i < (isset($_POST['scname']) ? sizeof($_POST['scname']) : 0)) { $subname = isset($_POST['scname']) ? $_POST['scname'][$i] : ''; } else { $subname = ''; } $cat_tray->addElement(new XoopsFormText('', 'scname[' . $i . ']', 50, 255, $subname)); } $t = new XoopsFormText('', 'nb_subcats', 3, 2); $l = new XoopsFormLabel('', sprintf(_AM_PUBLISHER_ADD_OPT, $t->render())); $b = new XoopsFormButton('', 'submit_subcats', _AM_PUBLISHER_ADD_OPT_SUBMIT, 'submit'); if (!$this->targetObject->categoryid()) { $b->setExtra('onclick="this.form.elements.op.value=\'addsubcats\'"'); } else { $b->setExtra('onclick="this.form.elements.op.value=\'mod\'"'); } $r = new XoopsFormElementTray(''); $r->addElement($l); $r->addElement($b); $cat_tray->addElement($r); $this->addElement($cat_tray); $this->addElement(new XoopsFormHidden('categoryid', $this->targetObject->categoryid())); $this->addElement(new XoopsFormHidden('nb_sub_yet', $this->subCatsCount)); }
public function createElements() { include_once dirname(dirname(__DIR__)) . '/include/common.php'; // Category $criteria = new Criteria(null); $criteria->setSort('weight'); $criteria->setOrder('ASC'); $myTree = new XoopsObjectTree($this->publisher->getHandler('category')->getObjects($criteria), 'categoryid', 'parentid'); $catSelect = $myTree->makeSelBox('parentid', 'name', '--', $this->targetObject->parentid(), true); $this->addElement(new XoopsFormLabel(_AM_PUBLISHER_PARENT_CATEGORY_EXP, $catSelect)); // Name $this->addElement(new XoopsFormText(_AM_PUBLISHER_CATEGORY, 'name', 50, 255, $this->targetObject->name('e')), true); // Description $this->addElement(new XoopsFormTextArea(_AM_PUBLISHER_COLDESCRIPT, 'description', $this->targetObject->description('e'), 7, 60)); // EDITOR $groups = $GLOBALS['xoopsUser'] ? $GLOBALS['xoopsUser']->getGroups() : XOOPS_GROUP_ANONYMOUS; $gpermHandler =& $this->publisher->getHandler('groupperm'); $moduleId = $this->publisher->getModule()->mid(); $allowedEditors = publisherGetEditors($gpermHandler->getItemIds('editors', $groups, $moduleId)); $nohtml = false; if (count($allowedEditors) > 0) { $editor = XoopsRequest::getString('editor', '', 'POST'); if (!empty($editor)) { publisherSetCookieVar('publisher_editor', $editor); } else { $editor = publisherGetCookieVar('publisher_editor'); if (empty($editor) && is_object($GLOBALS['xoopsUser'])) { $editor = null !== $GLOBALS['xoopsUser']->getVar('publisher_editor') ? $GLOBALS['xoopsUser']->getVar('publisher_editor') : ''; // Need set through user profile } } $editor = empty($editor) || !in_array($editor, $allowedEditors) ? $this->publisher->getConfig('submit_editor') : $editor; $formEditor = new XoopsFormSelectEditor($this, 'editor', $editor, $nohtml, $allowedEditors); $this->addElement($formEditor); } else { $editor = $this->publisher->getConfig('submit_editor'); } $editorConfigs = array(); $editorConfigs['rows'] = $this->publisher->getConfig('submit_editor_rows') == '' ? 35 : $this->publisher->getConfig('submit_editor_rows'); $editorConfigs['cols'] = $this->publisher->getConfig('submit_editor_cols') == '' ? 60 : $this->publisher->getConfig('submit_editor_cols'); $editorConfigs['width'] = $this->publisher->getConfig('submit_editor_width') == '' ? '100%' : $this->publisher->getConfig('submit_editor_width'); $editorConfigs['height'] = $this->publisher->getConfig('submit_editor_height') == '' ? '400px' : $this->publisher->getConfig('submit_editor_height'); $editorConfigs['name'] = 'header'; $editorConfigs['value'] = $this->targetObject->header('e'); $textHeader = new XoopsFormEditor(_AM_PUBLISHER_CATEGORY_HEADER, $editor, $editorConfigs, $nohtml, $onfailure = null); $textHeader->setDescription(_AM_PUBLISHER_CATEGORY_HEADER_DSC); $this->addElement($textHeader); // IMAGE $imageArray = XoopsLists::getImgListAsArray(publisherGetImageDir('category')); $imageSelect = new XoopsFormSelect('', 'image', $this->targetObject->getImage()); //$imageSelect -> addOption ('-1', '---------------'); $imageSelect->addOptionArray($imageArray); $imageSelect->setExtra("onchange='showImgSelected(\"image3\", \"image\", \"" . 'uploads/' . PUBLISHER_DIRNAME . '/images/category/' . "\", \"\", \"" . XOOPS_URL . "\")'"); $imageTray = new XoopsFormElementTray(_AM_PUBLISHER_IMAGE, ' '); $imageTray->addElement($imageSelect); $imageTray->addElement(new XoopsFormLabel('', "<br /><br /><img src='" . publisherGetImageDir('category', false) . $this->targetObject->getImage() . "' name='image3' id='image3' alt='' />")); $imageTray->setDescription(_AM_PUBLISHER_IMAGE_DSC); $this->addElement($imageTray); // IMAGE UPLOAD $max_size = 5000000; $fileBox = new XoopsFormFile(_AM_PUBLISHER_IMAGE_UPLOAD, 'image_file', $max_size); $fileBox->setExtra("size ='45'"); $fileBox->setDescription(_AM_PUBLISHER_IMAGE_UPLOAD_DSC); $this->addElement($fileBox); // Short url $textShortUrl = new XoopsFormText(_AM_PUBLISHER_CATEGORY_SHORT_URL, 'short_url', 50, 255, $this->targetObject->short_url('e')); $textShortUrl->setDescription(_AM_PUBLISHER_CATEGORY_SHORT_URL_DSC); $this->addElement($textShortUrl); // Meta Keywords $textMetaKeywords = new XoopsFormTextArea(_AM_PUBLISHER_CATEGORY_META_KEYWORDS, 'meta_keywords', $this->targetObject->meta_keywords('e'), 7, 60); $textMetaKeywords->setDescription(_AM_PUBLISHER_CATEGORY_META_KEYWORDS_DSC); $this->addElement($textMetaKeywords); // Meta Description $textMetaDescription = new XoopsFormTextArea(_AM_PUBLISHER_CATEGORY_META_DESCRIPTION, 'meta_description', $this->targetObject->meta_description('e'), 7, 60); $textMetaDescription->setDescription(_AM_PUBLISHER_CATEGORY_META_DESCRIPTION_DSC); $this->addElement($textMetaDescription); // Weight $this->addElement(new XoopsFormText(_AM_PUBLISHER_COLPOSIT, 'weight', 4, 4, $this->targetObject->weight())); // Added by skalpa: custom template support //todo, check this $this->addElement(new XoopsFormText('Custom template', 'template', 50, 255, $this->targetObject->template('e')), false); // READ PERMISSIONS $readPermissionsTray = new XoopsFormElementTray(_AM_PUBLISHER_PERMISSIONS_CAT_READ, ''); $selectAllReadCheckbox = new XoopsFormCheckBox('', "adminbox", 1); $selectAllReadCheckbox->addOption('allbox', _AM_SYSTEM_ALL); $selectAllReadCheckbox->setExtra(" onclick='xoopsCheckGroup(\"form\", \"adminbox\" , \"groupsRead[]\");' "); $selectAllReadCheckbox->setClass('xo-checkall'); $readPermissionsTray->addElement($selectAllReadCheckbox); $groupsReadCheckbox = new XoopsFormCheckBox('', 'groupsRead[]', $this->targetObject->getGroupsRead()); foreach ($this->userGroups as $group_id => $group_name) { $groupsReadCheckbox->addOption($group_id, $group_name); } $readPermissionsTray->addElement($groupsReadCheckbox); $this->addElement($readPermissionsTray); // SUBMIT PERMISSIONS $submitPermissionsTray = new XoopsFormElementTray(_AM_PUBLISHER_PERMISSIONS_CAT_SUBMIT, ''); $submitPermissionsTray->setDescription(_AM_PUBLISHER_PERMISSIONS_CAT_SUBMIT_DSC); $selectAllSubmitCheckbox = new XoopsFormCheckBox('', "adminbox2", 1); $selectAllSubmitCheckbox->addOption('allbox', _AM_SYSTEM_ALL); $selectAllSubmitCheckbox->setExtra(" onclick='xoopsCheckGroup(\"form\", \"adminbox2\" , \"groupsSubmit[]\");' "); $selectAllSubmitCheckbox->setClass('xo-checkall'); $submitPermissionsTray->addElement($selectAllSubmitCheckbox); $groupsSubmitCheckbox = new XoopsFormCheckBox('', 'groupsSubmit[]', $this->targetObject->getGroupsSubmit()); foreach ($this->userGroups as $group_id => $group_name) { $groupsSubmitCheckbox->addOption($group_id, $group_name); } $submitPermissionsTray->addElement($groupsSubmitCheckbox); $this->addElement($submitPermissionsTray); // MODERATION PERMISSIONS $moderatePermissionsTray = new XoopsFormElementTray(_AM_PUBLISHER_PERMISSIONS_CAT_MODERATOR, ''); $moderatePermissionsTray->setDescription(_AM_PUBLISHER_PERMISSIONS_CAT_MODERATOR_DSC); $selectAllModerateCheckbox = new XoopsFormCheckBox('', "adminbox3", 1); $selectAllModerateCheckbox->addOption('allbox', _AM_SYSTEM_ALL); $selectAllModerateCheckbox->setExtra(" onclick='xoopsCheckGroup(\"form\", \"adminbox3\" , \"groupsModeration[]\");' "); $selectAllModerateCheckbox->setClass('xo-checkall'); $moderatePermissionsTray->addElement($selectAllModerateCheckbox); $groupsModerationCheckbox = new XoopsFormCheckBox('', 'groupsModeration[]', $this->targetObject->getGroupsModeration()); foreach ($this->userGroups as $group_id => $group_name) { $groupsModerationCheckbox->addOption($group_id, $group_name); } $moderatePermissionsTray->addElement($groupsModerationCheckbox); $this->addElement($moderatePermissionsTray); $moderator = new XoopsFormSelectUser(_AM_PUBLISHER_CATEGORY_MODERATOR, 'moderator', true, $this->targetObject->moderator('e'), 1, false); $moderator->setDescription(_AM_PUBLISHER_CATEGORY_MODERATOR_DSC); $this->addElement($moderator); //SUBCATEGORY $catTray = new XoopsFormElementTray(_AM_PUBLISHER_SCATEGORYNAME, '<br /><br />'); for ($i = 0; $i < $this->subCatsCount; ++$i) { $subname = ''; if ($i < (($scname = XoopsRequest::getArray('scname', array(), 'POST')) ? count($scname) : 0)) { $temp = XoopsRequest::getArray('scname', array(), 'POST'); $subname = ($scname = XoopsRequest::getArray('scname', '', 'POST')) ? $temp[$i] : ''; } $catTray->addElement(new XoopsFormText('', 'scname[' . $i . ']', 50, 255, $subname)); } $t = new XoopsFormText('', 'nb_subcats', 3, 2); $l = new XoopsFormLabel('', sprintf(_AM_PUBLISHER_ADD_OPT, $t->render())); $b = new XoopsFormButton('', 'submit_subcats', _AM_PUBLISHER_ADD_OPT_SUBMIT, 'submit'); if (!$this->targetObject->categoryid()) { $b->setExtra('onclick="this.form.elements.op.value=\'addsubcats\'"'); } else { $b->setExtra('onclick="this.form.elements.op.value=\'mod\'"'); } $r = new XoopsFormElementTray(''); $r->addElement($l); $r->addElement($b); $catTray->addElement($r); $this->addElement($catTray); $this->addElement(new XoopsFormHidden('categoryid', $this->targetObject->categoryid())); $this->addElement(new XoopsFormHidden('nb_sub_yet', $this->subCatsCount)); }