function publisher_pagewrap_upload(&$errors) { include_once PUBLISHER_ROOT_PATH . '/class/uploader.php'; $publisher = PublisherPublisher::getInstance(); $post_field = 'fileupload'; $max_size = $publisher->getConfig('maximum_filesize'); $max_imgwidth = $publisher->getConfig('maximum_image_width'); $max_imgheight = $publisher->getConfig('maximum_image_height'); if (!is_dir(publisher_getUploadDir(true, 'content'))) { mkdir(publisher_getUploadDir(true, 'content'), 0757); } $allowed_mimetypes = array('text/html', 'text/plain', 'application/xhtml+xml'); $uploader = new XoopsMediaUploader(publisher_getUploadDir(true, 'content') . '/', $allowed_mimetypes, $max_size, $max_imgwidth, $max_imgheight); if ($uploader->fetchMedia($post_field)) { $uploader->setTargetFileName($uploader->getMediaName()); if ($uploader->upload()) { return true; } else { $errors = array_merge($errors, $uploader->getErrors(false)); return false; } } else { $errors = array_merge($errors, $uploader->getErrors(false)); return false; } }
function publisher_editItem($showmenu = false, $itemid = 0, $clone = false) { $publisher = PublisherPublisher::getInstance(); global $publisher_current_page, $xoopsUser; xoops_load('XoopsFormLoader'); $formTpl = new XoopsTpl(); //publisher_submit.html // if there is a parameter, and the id exists, retrieve data: we're editing a item if ($itemid != 0) { // Creating the ITEM object $itemObj = $publisher->getHandler('item')->get($itemid); if (!$itemObj) { redirect_header("item.php", 1, _AM_PUBLISHER_NOITEMSELECTED); exit; } if ($clone) { $itemObj->setNew(); $itemObj->setVar('itemid', 0); $itemObj->setVar('status', _PUBLISHER_STATUS_NOTSET); $itemObj->setVar('datesub', time()); } switch ($itemObj->status()) { case _PUBLISHER_STATUS_SUBMITTED: $breadcrumb_action1 = _CO_PUBLISHER_SUBMITTED; $breadcrumb_action2 = _AM_PUBLISHER_APPROVING; $page_title = _AM_PUBLISHER_SUBMITTED_TITLE; $page_info = _AM_PUBLISHER_SUBMITTED_INFO; $button_caption = _AM_PUBLISHER_APPROVE; $new_status = _PUBLISHER_STATUS_PUBLISHED; break; case _PUBLISHER_STATUS_PUBLISHED: $breadcrumb_action1 = _CO_PUBLISHER_PUBLISHED; $breadcrumb_action2 = _AM_PUBLISHER_EDITING; $page_title = _AM_PUBLISHER_PUBLISHEDEDITING; $page_info = _AM_PUBLISHER_PUBLISHEDEDITING_INFO; $button_caption = _AM_PUBLISHER_MODIFY; $new_status = _PUBLISHER_STATUS_PUBLISHED; break; case _PUBLISHER_STATUS_OFFLINE: $breadcrumb_action1 = _CO_PUBLISHER_OFFLINE; $breadcrumb_action2 = _AM_PUBLISHER_EDITING; $page_title = _AM_PUBLISHER_OFFLINEEDITING; $page_info = _AM_PUBLISHER_OFFLINEEDITING_INFO; $button_caption = _AM_PUBLISHER_MODIFY; $new_status = _PUBLISHER_STATUS_OFFLINE; break; case _PUBLISHER_STATUS_REJECTED: $breadcrumb_action1 = _CO_PUBLISHER_REJECTED; $breadcrumb_action2 = _AM_PUBLISHER_REJECTED; $page_title = _AM_PUBLISHER_REJECTED_EDIT; $page_info = _AM_PUBLISHER_REJECTED_EDIT_INFO; $button_caption = _AM_PUBLISHER_MODIFY; $new_status = _PUBLISHER_STATUS_REJECTED; break; case _PUBLISHER_STATUS_NOTSET: // Then it's a clone... $breadcrumb_action1 = _AM_PUBLISHER_ITEMS; $breadcrumb_action2 = _AM_PUBLISHER_CLONE_NEW; $button_caption = _AM_PUBLISHER_CREATE; $new_status = _PUBLISHER_STATUS_PUBLISHED; $page_title = _AM_PUBLISHER_ITEM_DUPLICATING; $page_info = _AM_PUBLISHER_ITEM_DUPLICATING_DSC; break; case "default": default: $breadcrumb_action1 = _AM_PUBLISHER_ITEMS; $breadcrumb_action2 = _AM_PUBLISHER_EDITING; $page_title = _AM_PUBLISHER_PUBLISHEDEDITING; $page_info = _AM_PUBLISHER_PUBLISHEDEDITING_INFO; $button_caption = _AM_PUBLISHER_MODIFY; $new_status = _PUBLISHER_STATUS_PUBLISHED; break; } $categoryObj = $itemObj->category(); if ($showmenu) { //publisher_adminMenu(2, $breadcrumb_action1 . " > " . $breadcrumb_action2); } echo "<br />\n"; publisher_openCollapsableBar('edititemtable', 'edititemicon', $page_title, $page_info); if (!$clone) { echo "<form><div style=\"margin-bottom: 10px;\">"; echo "<input type='button' name='button' onclick=\"location='item.php?op=clone&itemid=" . $itemObj->itemid() . "'\" value='" . _AM_PUBLISHER_CLONE_ITEM . "'> "; echo "</div></form>"; } } else { // there's no parameter, so we're adding an item $itemObj = $publisher->getHandler('item')->create(); $itemObj->setVarsFromRequest(); $categoryObj = $publisher->getHandler('category')->create(); $breadcrumb_action1 = _AM_PUBLISHER_ITEMS; $breadcrumb_action2 = _AM_PUBLISHER_CREATINGNEW; $button_caption = _AM_PUBLISHER_CREATE; $new_status = _PUBLISHER_STATUS_PUBLISHED; if ($showmenu) { //publisher_adminMenu(2, $breadcrumb_action1 . " > " . $breadcrumb_action2); } $sel_categoryid = isset($_GET['categoryid']) ? $_GET['categoryid'] : 0; $categoryObj->setVar('categoryid', $sel_categoryid); publisher_openCollapsableBar('createitemtable', 'createitemicon', _AM_PUBLISHER_ITEM_CREATING, _AM_PUBLISHER_ITEM_CREATING_DSC); } $sform = $itemObj->getForm(_AM_PUBLISHER_ITEMS); $sform->assign($formTpl); $formTpl->display('db:publisher_submit.html'); publisher_closeCollapsableBar('edititemtable', 'edititemicon'); publisher_openCollapsableBar('pagewraptable', 'pagewrapicon', _AM_PUBLISHER_PAGEWRAP, _AM_PUBLISHER_PAGEWRAPDSC); $dir = publisher_getUploadDir(true, 'content'); if (!preg_match('/777/i', decoct(fileperms($dir)))) { echo "<font color='FF0000'><h4>" . _AM_PUBLISHER_PERMERROR . "</h4></font>"; } // Upload File echo "<form name='form_name2' id='form_name2' action='pw_upload_file.php' method='post' enctype='multipart/form-data'>"; echo "<table cellspacing='1' width='100%' class='outer'>"; echo "<tr><th colspan='2'>" . _AM_PUBLISHER_UPLOAD_FILE . "</th></tr>"; echo "<tr valign='top' align='left'><td class='head'>" . _AM_PUBLISHER_SEARCH_PW . "</td><td class='even'><input type='file' name='fileupload' id='fileupload' size='30' /></td></tr>"; echo "<tr valign='top' align='left'><td class='head'><input type='hidden' name='MAX_FILE_SIZE' id='op' value='500000' /></td><td class='even'><input type='submit' name='submit' value='" . _AM_PUBLISHER_UPLOAD . "' /></td></tr>"; echo "<input type='hidden' name='backto' value='{$publisher_current_page}'/>"; echo "</table>"; echo "</form>"; // Delete File $form = new XoopsThemeForm(_CO_PUBLISHER_DELETEFILE, "form_name", "pw_delete_file.php"); $pWrap_select = new XoopsFormSelect(publisher_getUploadDir(true, 'content'), "address"); $folder = dir($dir); while ($file = $folder->read()) { if ($file != "." && $file != "..") { $pWrap_select->addOption($file, $file); } } $folder->close(); $form->addElement($pWrap_select); $delfile = "delfile"; $form->addElement(new XoopsFormHidden('op', $delfile)); $submit = new XoopsFormButton("", "submit", _AM_PUBLISHER_BUTTON_DELETE, "submit"); $form->addElement($submit); $form->addElement(new XoopsFormHidden('backto', $publisher_current_page)); $form->display(); publisher_closeCollapsableBar('pagewraptable', 'pagewrapicon'); }
/** * @param string $file_name * * @return string */ public function wrappage($file_name) { $content = ''; $page = publisher_getUploadDir(true, 'content') . $file_name; if (file_exists($page)) { // this page uses smarty template ob_start(); include $page; $content = ob_get_contents(); ob_end_clean(); // Cleaning the content $body_start_pos = strpos($content, '<body>'); if ($body_start_pos) { $body_end_pos = strpos($content, '</body>', $body_start_pos); $content = substr($content, $body_start_pos + strlen('<body>'), $body_end_pos - strlen('<body>') - $body_start_pos); } // Check if ML Hack is installed, and if yes, parse the $content in formatForML $myts = MyTextSanitizer::getInstance(); if (method_exists($myts, 'formatForML')) { $content = $myts->formatForML($content); } } return $content; }
<?php /* You may not change or alter any portion of this comment or credits of supporting developers from this source code or any supporting source code which is considered copyrighted (c) material of the original comment or credit authors. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */ /** * @copyright The XUUPS Project http://sourceforge.net/projects/xuups/ * @license http://www.fsf.org/copyleft/gpl.html GNU public license * @package Publisher * @since 1.0 * @author trabis <*****@*****.**> * @author The SmartFactory <www.smartfactory.ca> * @version $Id$ */ include_once dirname(__FILE__) . '/admin_header.php'; if (isset($_POST["op"]) && $_POST["op"] == "delfileok") { $dir = publisher_getUploadDir(true, 'content'); @unlink($dir . '/' . $_POST["address"]); redirect_header($_POST['backto'], 2, _AM_PUBLISHER_FDELETED); } else { xoops_cp_header(); xoops_confirm(array('backto' => $_POST['backto'], 'address' => $_POST["address"], 'op' => 'delfileok'), 'pw_delete_file.php', _AM_PUBLISHER_RUSUREDELF, _YES); xoops_cp_footer(); }
/** * @return string */ public function getFilePath() { return publisher_getUploadDir() . $this->filename(); }
function createDir() { // auto crate folders $thePath = publisher_getUploadDir(); if (publisher_getPathStatus('root', true) < 0) { $thePath = publisher_getUploadDir(); $res = publisher_mkdir($thePath); $msg = $res ? _AM_PUBLISHER_DIRCREATED : _AM_PUBLISHER_DIRNOTCREATED; } if (publisher_getPathStatus('images', true) < 0) { $thePath = publisher_getImageDir(); $res = publisher_mkdir($thePath); if ($res) { $source = PUBLISHER_ROOT_PATH . "/images/blank.png"; $dest = $thePath . "blank.png"; publisher_copyr($source, $dest); } $msg = $res ? _AM_PUBLISHER_DIRCREATED : _AM_PUBLISHER_DIRNOTCREATED; } if (publisher_getPathStatus('images/category', true) < 0) { $thePath = publisher_getImageDir('category'); $res = publisher_mkdir($thePath); if ($res) { $source = PUBLISHER_ROOT_PATH . '/images/blank.png'; $dest = $thePath . 'blank.png'; publisher_copyr($source, $dest); } $msg = $res ? _AM_PUBLISHER_DIRCREATED : _AM_PUBLISHER_DIRNOTCREATED; } if (publisher_getPathStatus('images/item', true) < 0) { $thePath = publisher_getImageDir('item'); $res = publisher_mkdir($thePath); if ($res) { $source = PUBLISHER_ROOT_PATH . '/images/blank.png'; $dest = $thePath . 'blank.png'; publisher_copyr($source, $dest); } $msg = $res ? _AM_PUBLISHER_DIRCREATED : _AM_PUBLISHER_DIRNOTCREATED; } if (publisher_getPathStatus('content', true) < 0) { $thePath = publisher_getUploadDir(true, 'content'); $res = publisher_mkdir($thePath); $msg = $res ? _AM_PUBLISHER_DIRCREATED : _AM_PUBLISHER_DIRNOTCREATED; } }
publisher_openCollapsableBar('pagewraptable', 'pagewrapicon', _AM_PUBLISHER_PAGEWRAP, _AM_PUBLISHER_PAGEWRAPDSC); $dir = publisher_getUploadDir(true, 'content'); if (!preg_match('/777/i', decoct(fileperms($dir)))) { echo "<font color='FF0000'><h4>" . _AM_PUBLISHER_PERMERROR . "</h4></font>"; } // Upload File echo "<form name='form_name2' id='form_name2' action='pw_upload_file.php' method='post' enctype='multipart/form-data'>"; echo "<table cellspacing='1' width='100%' class='outer'>"; echo "<tr><th colspan='2'>" . _AM_PUBLISHER_UPLOAD_FILE . "</th></tr>"; echo "<tr valign='top' align='left'><td class='head'>" . _AM_PUBLISHER_SEARCH . "</td><td class='even'><input type='file' name='fileupload' id='fileupload' size='30' /></td></tr>"; echo "<tr valign='top' align='left'><td class='head'><input type='hidden' name='MAX_FILE_SIZE' id='op' value='500000' /></td><td class='even'><input type='submit' name='submit' value='" . _AM_PUBLISHER_UPLOAD . "' /></td></tr>"; echo "</table>"; echo "</form>"; // Delete File $form = new XoopsThemeForm(_CO_PUBLISHER_DELETEFILE, "form_name", "pw_delete_file.php"); $pWrap_select = new XoopsFormSelect(publisher_getUploadDir(true, 'content'), "address"); $folder = dir($dir); while ($file = $folder->read()) { if ($file != "." && $file != "..") { $pWrap_select->addOption($file, $file); } } $folder->close(); $form->addElement($pWrap_select); $delfile = "delfile"; $form->addElement(new XoopsFormHidden('op', $delfile)); $submit = new XoopsFormButton("", "submit", _AM_PUBLISHER_BUTTON_DELETE, "submit"); $form->addElement($submit); $form->display(); publisher_closeCollapsableBar('pagewraptable', 'pagewrapicon'); xoops_cp_footer();
function createElements($obj) { global $xoopsConfig, $xoopsUser; $publisher = PublisherPublisher::getInstance(); $checkperm = $this->checkperm; $allowed_editors = publisher_getEditors($publisher->getHandler('permission')->getGrantedItems('editors')); $form_view = $publisher->getHandler('permission')->getGrantedItems('form_view'); if (!is_object($xoopsUser)) { $group = array(XOOPS_GROUP_ANONYMOUS); } else { $group = $xoopsUser->getGroups(); } $this->setExtra('enctype="multipart/form-data"'); $this->startTab(_CO_PUBLISHER_TAB_MAIN); // Category $category_select = new XoopsFormSelect(_CO_PUBLISHER_CATEGORY, 'categoryid', $obj->getVar('categoryid', 'e')); $category_select->setDescription(_CO_PUBLISHER_CATEGORY_DSC); $category_select->addOptionArray($publisher->getHandler('category')->getCategoriesForSubmit()); $this->addElement($category_select); // ITEM TITLE $this->addElement(new XoopsFormText(_CO_PUBLISHER_TITLE, 'title', 50, 255, $obj->getVar('title', 'e')), true); // SUBTITLE if ($this->isGranted(_PUBLISHER_SUBTITLE)) { $this->addElement(new XoopsFormText(_CO_PUBLISHER_SUBTITLE, 'subtitle', 50, 255, $obj->getVar('subtitle', 'e'))); } // SHORT URL if ($this->isGranted(_PUBLISHER_ITEM_SHORT_URL)) { $text_short_url = new XoopsFormText(_CO_PUBLISHER_ITEM_SHORT_URL, 'item_short_url', 50, 255, $obj->short_url('e')); $text_short_url->setDescription(_CO_PUBLISHER_ITEM_SHORT_URL_DSC); $this->addElement($text_short_url); } // TAGS if (xoops_isActiveModule('tag') && $this->isGranted(_PUBLISHER_ITEM_TAG)) { include_once XOOPS_ROOT_PATH . '/modules/tag/include/formtag.php'; $text_tags = new XoopsFormTag('item_tag', 60, 255, $obj->getVar('item_tag', 'e'), 0); $this->addElement($text_tags); } // SELECT EDITOR $nohtml = false; if (count($allowed_editors) == 1) { $editor = $allowed_editors[0]; } else { 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) ? $publisher->getConfig('submit_editor') : $editor; $form_editor = new XoopsFormSelectEditor($this, 'editor', $editor, $nohtml, $allowed_editors); $this->addElement($form_editor); } else { $editor = $publisher->getConfig('submit_editor'); } } $editor_configs = array(); $editor_configs["rows"] = !$publisher->getConfig('submit_editor_rows') ? 35 : $publisher->getConfig('submit_editor_rows'); $editor_configs["cols"] = !$publisher->getConfig('submit_editor_cols') ? 60 : $publisher->getConfig('submit_editor_cols'); $editor_configs["width"] = !$publisher->getConfig('submit_editor_width') ? "100%" : $publisher->getConfig('submit_editor_width'); $editor_configs["height"] = !$publisher->getConfig('submit_editor_height') ? "400px" : $publisher->getConfig('submit_editor_height'); // SUMMARY if ($this->isGranted(_PUBLISHER_SUMMARY)) { // Description //$summary_text = new XoopsFormTextArea(_CO_PUBLISHER_SUMMARY, 'summary', $obj->getVar('summary', 'e'), 7, 60); $editor_configs["name"] = "summary"; $editor_configs["value"] = $obj->getVar('summary', 'e'); $summary_text = new XoopsFormEditor(_CO_PUBLISHER_SUMMARY, $editor, $editor_configs, $nohtml, $onfailure = null); $summary_text->setDescription(_CO_PUBLISHER_SUMMARY_DSC); $this->addElement($summary_text); } // BODY $editor_configs["name"] = "body"; $editor_configs["value"] = $obj->getVar('body', 'e'); $body_text = new XoopsFormEditor(_CO_PUBLISHER_BODY, $editor, $editor_configs, $nohtml, $onfailure = null); $body_text->setDescription(_CO_PUBLISHER_BODY_DSC); $this->addElement($body_text); // VARIOUS OPTIONS if ($this->isGranted(_PUBLISHER_DOHTML) || $this->isGranted(_PUBLISHER_DOSMILEY) || $this->isGranted(_PUBLISHER_DOXCODE) || $this->isGranted(_PUBLISHER_DOIMAGE) || $this->isGranted(_PUBLISHER_DOLINEBREAK)) { if ($this->isGranted(_PUBLISHER_DOHTML)) { $html_radio = new XoopsFormRadioYN(_CO_PUBLISHER_DOHTML, 'dohtml', $obj->dohtml(), _YES, _NO); $this->addElement($html_radio); } if ($this->isGranted(_PUBLISHER_DOSMILEY)) { $smiley_radio = new XoopsFormRadioYN(_CO_PUBLISHER_DOSMILEY, 'dosmiley', $obj->dosmiley(), _YES, _NO); $this->addElement($smiley_radio); } if ($this->isGranted(_PUBLISHER_DOXCODE)) { $xcode_radio = new XoopsFormRadioYN(_CO_PUBLISHER_DOXCODE, 'doxcode', $obj->doxcode(), _YES, _NO); $this->addElement($xcode_radio); } if ($this->isGranted(_PUBLISHER_DOIMAGE)) { $image_radio = new XoopsFormRadioYN(_CO_PUBLISHER_DOIMAGE, 'doimage', $obj->doimage(), _YES, _NO); $this->addElement($image_radio); } if ($this->isGranted(_PUBLISHER_DOLINEBREAK)) { $linebreak_radio = new XoopsFormRadioYN(_CO_PUBLISHER_DOLINEBREAK, 'dolinebreak', $obj->dobr(), _YES, _NO); $this->addElement($linebreak_radio); } } // Available pages to wrap if ($this->isGranted(_PUBLISHER_AVAILABLE_PAGE_WRAP)) { $wrap_pages = XoopsLists::getHtmlListAsArray(publisher_getUploadDir(true, 'content')); $available_wrap_pages_text = array(); foreach ($wrap_pages as $page) { $available_wrap_pages_text[] = "<span onclick='publisherPageWrap(\"body\", \"[pagewrap={$page}] \");' onmouseover='style.cursor=\"pointer\"'>{$page}</span>"; } $available_wrap_pages = new XoopsFormLabel(_CO_PUBLISHER_AVAILABLE_PAGE_WRAP, implode(', ', $available_wrap_pages_text)); $available_wrap_pages->setDescription(_CO_PUBLISHER_AVAILABLE_PAGE_WRAP_DSC); $this->addElement($available_wrap_pages); } // Uid /* We need to retreive the users manually because for some reason, on the frxoops.org server, the method users::getobjects encounters a memory error */ // Trabis : well, maybe is because you are getting 6000 objects into memory , no??? LOL if ($this->isGranted(_PUBLISHER_UID)) { $uid_select = new XoopsFormSelect(_CO_PUBLISHER_UID, 'uid', $obj->uid(), 1, false); $uid_select->setDescription(_CO_PUBLISHER_UID_DSC); $sql = "SELECT uid, uname FROM " . $obj->db->prefix('users') . " ORDER BY uname ASC"; $result = $obj->db->query($sql); $users_array = array(); $users_array[0] = $xoopsConfig['anonymous']; while ($myrow = $obj->db->fetchArray($result)) { $users_array[$myrow['uid']] = $myrow['uname']; } $uid_select->addOptionArray($users_array); $this->addElement($uid_select); } /* else { $hidden = new XoopsFormHidden('uid', $obj->uid()); $this->addElement($hidden); unset($hidden); }*/ // Author ALias if ($this->isGranted(_PUBLISHER_AUTHOR_ALIAS)) { $element = new XoopsFormText(_CO_PUBLISHER_AUTHOR_ALIAS, 'author_alias', 50, 255, $obj->getVar('author_alias', 'e')); $element->setDescription(_CO_PUBLISHER_AUTHOR_ALIAS_DSC); $this->addElement($element); unset($element); } // STATUS if ($this->isGranted(_PUBLISHER_STATUS)) { $options = array(_PUBLISHER_STATUS_PUBLISHED => _CO_PUBLISHER_PUBLISHED, _PUBLISHER_STATUS_OFFLINE => _CO_PUBLISHER_OFFLINE, _PUBLISHER_STATUS_SUBMITTED => _CO_PUBLISHER_SUBMITTED, _PUBLISHER_STATUS_REJECTED => _CO_PUBLISHER_REJECTED); $status_select = new XoopsFormSelect(_CO_PUBLISHER_STATUS, 'status', $obj->getVar('status')); $status_select->addOptionArray($options); $status_select->setDescription(_CO_PUBLISHER_STATUS_DSC); $this->addElement($status_select); unset($status_select); } // Datesub if ($this->isGranted(_PUBLISHER_DATESUB)) { $datesub = $obj->getVar('datesub') == 0 ? time() : $obj->getVar('datesub'); $datesub_datetime = new PublisherFormDateTime(_CO_PUBLISHER_DATESUB, 'datesub', $size = 15, $datesub); $datesub_datetime->setDescription(_CO_PUBLISHER_DATESUB_DSC); $this->addElement($datesub_datetime); } // NOTIFY ON PUBLISH if ($this->isGranted(_PUBLISHER_NOTIFY)) { $notify_radio = new XoopsFormRadioYN(_CO_PUBLISHER_NOTIFY, 'notify', $obj->notifypub(), _YES, _NO); $this->addElement($notify_radio); } if ($this->hasTab(_CO_PUBLISHER_TAB_IMAGES)) { $this->startTab(_CO_PUBLISHER_TAB_IMAGES); } // IMAGE if ($this->isGranted(_PUBLISHER_IMAGE_ITEM)) { $objimages = $obj->getImages(); $mainarray = is_object($objimages['main']) ? array($objimages['main']) : array(); $mergedimages = array_merge($mainarray, $objimages['others']); $objimage_array = array(); foreach ($mergedimages as $imageObj) { $objimage_array[$imageObj->getVar('image_name')] = $imageObj->getVar('image_nicename'); } $imgcat_handler = xoops_gethandler('imagecategory'); if (method_exists($imgcat_handler, 'getListByPermission')) { $catlist = $imgcat_handler->getListByPermission($group, 'imgcat_read', 1); } else { $catlist = $imgcat_handler->getList($group, 'imgcat_read', 1); } $catids = array_keys($catlist); $imageObjs = array(); if (!empty($catids)) { $image_handler = xoops_gethandler('image'); $criteria = new CriteriaCompo(new Criteria('imgcat_id', '(' . implode(',', $catids) . ')', 'IN')); $criteria->add(new Criteria('image_display', 1)); $criteria->setSort('image_nicename'); $criteria->setOrder('ASC'); $imageObjs = $image_handler->getObjects($criteria, true); unset($criteria); } $image_array = array(); foreach ($imageObjs as $imageObj) { $image_array[$imageObj->getVar('image_name')] = $imageObj->getVar('image_nicename'); } $image_array = array_diff($image_array, $objimage_array); $image_select = new XoopsFormSelect('', 'image_notused', '', 5); $image_select->addOptionArray($image_array); $image_select->setExtra("onchange='showImgSelected(\"image_display\", \"image_notused\", \"uploads/\", \"\", \"" . XOOPS_URL . "\")'"); //$image_select->setExtra( "onchange='appendMySelectOption(\"image_notused\", \"image_item\")'"); unset($image_array); $image_select2 = new XoopsFormSelect('', 'image_item', '', 5, true); $image_select2->addOptionArray($objimage_array); $image_select2->setExtra("onchange='publisher_updateSelectOption(\"image_item\", \"image_featured\"), showImgSelected(\"image_display\", \"image_item\", \"uploads/\", \"\", \"" . XOOPS_URL . "\")'"); $buttonadd = new XoopsFormButton('', 'buttonadd', _CO_PUBLISHER_ADD); $buttonadd->setExtra("onclick='publisher_appendSelectOption(\"image_notused\", \"image_item\"), publisher_updateSelectOption(\"image_item\", \"image_featured\")'"); $buttonremove = new XoopsFormButton('', 'buttonremove', _CO_PUBLISHER_REMOVE); $buttonremove->setExtra("onclick='publisher_appendSelectOption(\"image_item\", \"image_notused\"), publisher_updateSelectOption(\"image_item\", \"image_featured\")'"); $opentable = new XoopsFormLabel('', "<table><tr><td>"); $addcol = new XoopsFormLabel('', "</td><td>"); $addbreak = new XoopsFormLabel('', "<br />"); $closetable = new XoopsFormLabel('', "</td></tr></table>"); $GLOBALS['xoTheme']->addScript(PUBLISHER_URL . '/js/ajaxupload.3.9.js'); $js_data = new XoopsFormLabel('', ' <script type= "text/javascript">/*<![CDATA[*/ $publisher(document).ready(function(){ var button = $publisher("#publisher_upload_button"), interval; new AjaxUpload(button,{ action: "' . PUBLISHER_URL . '/include/ajax_upload.php", // I disabled uploads in this example for security reasons responseType: "text/html", name: "publisher_upload_file", onSubmit : function(file, ext){ // change button text, when user selects file $publisher("#publisher_upload_message").html(" "); button.html("<img src=\'' . PUBLISHER_URL . '/images/loadingbar.gif\'/>"); this.setData({ "image_nicename": $publisher("#image_nicename").val(), "imgcat_id" : $publisher("#imgcat_id").val() }); // If you want to allow uploading only 1 file at time, // you can disable upload button this.disable(); interval = window.setInterval(function(){ }, 200); }, onComplete: function(file, response){ button.text("' . _CO_PUBLISHER_IMAGE_UPLOAD_NEW . '"); window.clearInterval(interval); // enable upload button this.enable(); // add file to the list var result = eval(response); if (result[0] == "success") { $publisher("#image_item").append("<option value=\'" + result[1] + "\' selected=\'selected\'>" + result[2] + "</option>"); publisher_updateSelectOption(\'image_item\', \'image_featured\'); showImgSelected(\'image_display\', \'image_item\', \'uploads/\', \'\', \'' . XOOPS_URL . '\') } else { $publisher("#publisher_upload_message").html("<div class=\'errorMsg\'>" + result[1] + "</div>"); } } }); }); /*]]>*/</script> '); $messages = new XoopsFormLabel('', "<div id='publisher_upload_message'></div>"); $button = new XoopsFormLabel('', "<div id='publisher_upload_button'>" . _CO_PUBLISHER_IMAGE_UPLOAD_NEW . "</div>"); $nicename = new XoopsFormText('', 'image_nicename', 30, 30, _CO_PUBLISHER_IMAGE_NICENAME); $imgcat_handler = xoops_gethandler('imagecategory'); if (method_exists($imgcat_handler, 'getListByPermission')) { $catlist = $imgcat_handler->getListByPermission($group, 'imgcat_read', 1); } else { $catlist = $imgcat_handler->getList($group, 'imgcat_read', 1); } $imagecat = new XoopsFormSelect('', 'imgcat_id', '', 1); $imagecat->addOptionArray($catlist); $image_upload_tray = new XoopsFormElementTray(_CO_PUBLISHER_IMAGE_UPLOAD, ''); $image_upload_tray->addElement($js_data); $image_upload_tray->addElement($messages); $image_upload_tray->addElement($opentable); $image_upload_tray->addElement($imagecat); $image_upload_tray->addElement($addbreak); $image_upload_tray->addElement($nicename); $image_upload_tray->addElement($addbreak); $image_upload_tray->addElement($button); $image_upload_tray->addElement($closetable); $this->addElement($image_upload_tray); $image_tray = new XoopsFormElementTray(_CO_PUBLISHER_IMAGE_ITEMS, ''); $image_tray->addElement($opentable); $image_tray->addElement($image_select); $image_tray->addElement($addbreak); $image_tray->addElement($buttonadd); $image_tray->addElement($addcol); $image_tray->addElement($image_select2); $image_tray->addElement($addbreak); $image_tray->addElement($buttonremove); $image_tray->addElement($closetable); $image_tray->setDescription(_CO_PUBLISHER_IMAGE_ITEMS_DSC); $this->addElement($image_tray); $imagename = is_object($objimages['main']) ? $objimages['main']->getVar('image_name') : ''; $imageforpath = $imagename != '' ? $imagename : 'blank.gif'; $image_select3 = new XoopsFormSelect(_CO_PUBLISHER_IMAGE_ITEM, 'image_featured', $imagename, 1); $image_select3->addOptionArray($objimage_array); $image_select3->setExtra("onchange='showImgSelected(\"image_display\", \"image_featured\", \"uploads/\", \"\", \"" . XOOPS_URL . "\")'"); $image_select3->setDescription(_CO_PUBLISHER_IMAGE_ITEM_DSC); $this->addElement($image_select3); $image_preview = new XoopsFormLabel(_CO_PUBLISHER_IMAGE_PREVIEW, "<img width='500' src='" . XOOPS_URL . "/uploads/" . $imageforpath . "' name='image_display' id='image_display' alt='' />"); $this->addElement($image_preview); } if ($this->hasTab(_CO_PUBLISHER_TAB_FILES)) { $this->startTab(_CO_PUBLISHER_TAB_FILES); } // File upload UPLOAD if ($this->isGranted(_PUBLISHER_ITEM_UPLOAD_FILE)) { // NAME $name_text = new XoopsFormText(_CO_PUBLISHER_FILENAME, 'item_file_name', 50, 255, ''); $name_text->setDescription(_CO_PUBLISHER_FILE_NAME_DSC); $this->addElement($name_text); unset($name_text); // DESCRIPTION $description_text = new XoopsFormTextArea(_CO_PUBLISHER_FILE_DESCRIPTION, 'item_file_description', ''); $description_text->setDescription(_CO_PUBLISHER_FILE_DESCRIPTION_DSC); $this->addElement($description_text); unset($description_text); $status_select = new XoopsFormRadioYN(_CO_PUBLISHER_FILE_STATUS, 'item_file_status', 1); //1 - active $status_select->setDescription(_CO_PUBLISHER_FILE_STATUS_DSC); $this->addElement($status_select); unset($status_select); $file_box = new XoopsFormFile(_CO_PUBLISHER_ITEM_UPLOAD_FILE, "item_upload_file", 0); $file_box->setDescription(_CO_PUBLISHER_ITEM_UPLOAD_FILE_DSC); $file_box->setExtra("size ='50'"); $this->addElement($file_box); unset($file_box); if (!$obj->isNew()) { $filesObj = $publisher->getHandler('file')->getAllFiles($obj->itemid()); if (count($filesObj) > 0) { $table = ''; $table .= "<table width='100%' cellspacing=1 cellpadding=3 border=0 class = outer>"; $table .= "<tr>"; $table .= "<td width='50' class='bg3' align='center'><strong>ID</strong></td>"; $table .= "<td width='150' class='bg3' align='left'><strong>" . _AM_PUBLISHER_FILENAME . "</strong></td>"; $table .= "<td class='bg3' align='left'><strong>" . _AM_PUBLISHER_DESCRIPTION . "</strong></td>"; $table .= "<td width='60' class='bg3' align='center'><strong>" . _AM_PUBLISHER_HITS . "</strong></td>"; $table .= "<td width='100' class='bg3' align='center'><strong>" . _AM_PUBLISHER_UPLOADED_DATE . "</strong></td>"; $table .= "<td width='60' class='bg3' align='center'><strong>" . _AM_PUBLISHER_ACTION . "</strong></td>"; $table .= "</tr>"; foreach ($filesObj as $fileObj) { $modify = "<a href='file.php?op=mod&fileid=" . $fileObj->fileid() . "'><img src='" . PUBLISHER_URL . "/images/links/edit.gif' title='" . _CO_PUBLISHER_EDITFILE . "' alt='" . _CO_PUBLISHER_EDITFILE . "' /></a>"; $delete = "<a href='file.php?op=del&fileid=" . $fileObj->fileid() . "'><img src='" . PUBLISHER_URL . "/images/links/delete.png' title='" . _CO_PUBLISHER_DELETEFILE . "' alt='" . _CO_PUBLISHER_DELETEFILE . "'/></a>"; if ($fileObj->status() == 0) { $not_visible = "<img src='" . PUBLISHER_URL . "/images/no.gif'/>"; } else { $not_visible = ''; } $table .= "<tr>"; $table .= "<td class='head' align='center'>" . $fileObj->getVar('fileid') . "</td>"; $table .= "<td class='odd' align='left'>" . $not_visible . $fileObj->getFileLink() . "</td>"; $table .= "<td class='even' align='left'>" . $fileObj->description() . "</td>"; $table .= "<td class='even' align='center'>" . $fileObj->counter() . ""; $table .= "<td class='even' align='center'>" . $fileObj->datesub() . "</td>"; $table .= "<td class='even' align='center'> {$modify} {$delete} </td>"; $table .= "</tr>"; } $table .= "</table>"; $files_box = new XoopsFormLabel(_CO_PUBLISHER_FILES_LINKED, $table); $this->addElement($files_box); unset($files_box, $filesObj, $fileObj); } } } if ($this->hasTab(_CO_PUBLISHER_TAB_OTHERS)) { $this->startTab(_CO_PUBLISHER_TAB_OTHERS); } //$this->startTab(_CO_PUBLISHER_TAB_META); // Meta Keywords if ($this->isGranted(_PUBLISHER_ITEM_META_KEYWORDS)) { $text_meta_keywords = new XoopsFormTextArea(_CO_PUBLISHER_ITEM_META_KEYWORDS, 'item_meta_keywords', $obj->meta_keywords('e'), 7, 60); $text_meta_keywords->setDescription(_CO_PUBLISHER_ITEM_META_KEYWORDS_DSC); $this->addElement($text_meta_keywords); } // Meta Description if ($this->isGranted(_PUBLISHER_ITEM_META_DESCRIPTION)) { $text_meta_description = new XoopsFormTextArea(_CO_PUBLISHER_ITEM_META_DESCRIPTION, 'item_meta_description', $obj->meta_description('e'), 7, 60); $text_meta_description->setDescription(_CO_PUBLISHER_ITEM_META_DESCRIPTION_DSC); $this->addElement($text_meta_description); } //$this->startTab(_CO_PUBLISHER_TAB_PERMISSIONS); // COMMENTS if ($this->isGranted(_PUBLISHER_ALLOWCOMMENTS)) { $addcomments_radio = new XoopsFormRadioYN(_CO_PUBLISHER_ALLOWCOMMENTS, 'allowcomments', $obj->cancomment(), _YES, _NO); $this->addElement($addcomments_radio); } // WEIGHT if ($this->isGranted(_PUBLISHER_WEIGHT)) { $this->addElement(new XoopsFormText(_CO_PUBLISHER_WEIGHT, 'weight', 5, 5, $obj->weight())); } $this->endTabs(); //COMMON TO ALL TABS $button_tray = new XoopsFormElementTray('', ''); if (!$obj->isNew()) { $button_tray->addElement(new XoopsFormButton('', 'additem', _SUBMIT, 'submit')); //orclone } else { $button_tray->addElement(new XoopsFormButton('', 'additem', _CO_PUBLISHER_CREATE, 'submit')); $button_tray->addElement(new XoopsFormButton('', '', _CO_PUBLISHER_CLEAR, 'reset')); } $button_tray->addElement(new XoopsFormButton('', 'preview', _CO_PUBLISHER_PREVIEW, 'submit')); $butt_cancel = new XoopsFormButton('', '', _CO_PUBLISHER_CANCEL, 'button'); $butt_cancel->setExtra('onclick="history.go(-1)"'); $button_tray->addElement($butt_cancel); $this->addElement($button_tray); $hidden = new XoopsFormHidden('itemid', $obj->itemid()); $this->addElement($hidden); unset($hidden); return $this; }
/** * @param string $item * @param bool $hasPath * @return string */ function publisher_getImageDir($item = '', $hasPath = true) { if ($item) { $item = "images/{$item}"; } else { $item = "images"; } return publisher_getUploadDir($hasPath, $item); }