use Xmf\Module\Session; include dirname(dirname(__DIR__)) . '/mainfile.php'; $xoops = Xoops::getInstance(); $xoops->header(); // work with session data in our module context echo '<h2>Session demo</h2><h4>Toggle a session variable</h4>'; $sessionHelper = new Session(); if ($sessionHelper) { $var = $sessionHelper->get('fred'); if ($var) { echo sprintf('Clearing session variable value of "%s"', $var) . '<br />'; $sessionHelper->destroy(); } else { $var = date('Y-m-d H:i:s'); echo sprintf('Session variable not set. Setting as: %s', $var) . '<br />'; $sessionHelper->set('fred', $var); } } echo '<h2>Permission demo</h2>'; $permissionHelper = new Permission(); if ($permissionHelper) { // this is the name and item we are going to work with $permissionName = 'fred'; $permissionItemId = 1; // if this is a post operation get the input and save it if ('POST' === Request::getMethod()) { echo $xoops->alert('success', 'Permission updated'); // save the data $name = $permissionHelper->defaultFieldName($permissionName, $permissionItemId); $groups = Request::getVar($name, array(), 'POST'); $permissionHelper->savePermissionForItem($permissionName, $permissionItemId, $groups);
} // if this is a post operation get our test_dir, save it and redirect to app if ('GET' == Request::getMethod()) { $var = Request::getVar('test_dir', '', $hash = 'GET'); if (!empty($var)) { launchApp($var); } } // if this is a post operation get our test_dir, save it and redirect to app if ('POST' == Request::getMethod()) { $test_dir = Request::getVar('test_dir', '', $hash = 'POST'); if (empty($test_dir)) { $test_dir = $config_test_dir; } if ($sessionHelper) { $sessionHelper->set('test_dir', $test_dir); } launchApp($test_dir); } $form = new \Xoops\Form\ThemeForm('', 'form', '', 'POST'); $form->addElement(new \Xoops\Form\Text('Unit Test Directory', 'test_dir', 5, 512, $test_dir)); $form->addElement(new \Xoops\Form\Button('', 'submit', 'Launch', 'submit')); echo $form->render(); echo '<br \\><a href="?test_dir=' . $xoops->path('modules/' . $dir . '/app/tests') . '">Examples</a>'; $xoops->footer(); /** * launchApp - launch the VisualPHPUnit app * * @param string $test_dir fully qualified path to test directory * * @return void
function edit() { $publisher = Publisher::getInstance(); $xoops = Xoops::getInstance(); global $start, $limit, $oAdminButton; if (!isset($_REQUEST['id'])) { $xoops->redirect(PUBLISHER_ADMIN_URL . "/mimetypes.php", 3, _AM_PUBLISHER_MESSAGE_NO_ID); } $mime_id = (int) $_REQUEST['id']; $mimetype = $publisher->getMimetypeHandler()->get($mime_id); // Retrieve mimetype object if (!isset($_POST['edit_mime'])) { $session = new Session(); $mime_type = $session->get("publisher_editMime_{$mime_id}"); $mime_errors = $session->get("publisher_editMimeErr_{$mime_id}"); // Display header PublisherUtils::cpHeader(); //publisher_adminMenu(4, _AM_PUBLISHER_MIMETYPES . " > " . _AM_PUBLISHER_BUTTON_EDIT); PublisherUtils::openCollapsableBar('mimemedittable', 'mimeediticon', _AM_PUBLISHER_MIME_EDIT_TITLE); //Display any form errors if (!$mime_errors === false) { PublisherUtils::renderErrors($mime_errors, PublisherUtils::makeURI(PUBLISHER_ADMIN_URL . '/mimetypes.php', array('op' => 'clearEditSession', 'id' => $mime_id))); } if ($mime_type === false) { $mime_ext = $mimetype->getVar('mime_ext'); $mime_name = $mimetype->getVar('mime_name', 'e'); $mime_types = $mimetype->getVar('mime_types', 'e'); $mime_admin = $mimetype->getVar('mime_admin'); $mime_user = $mimetype->getVar('mime_user'); } else { $mime_ext = $mime_type['mime_ext']; $mime_name = $mime_type['mime_name']; $mime_types = $mime_type['mime_types']; $mime_admin = $mime_type['mime_admin']; $mime_user = $mime_type['mime_user']; } // Display edit form echo "<form action='mimetypes.php?op=edit&id=" . $mime_id . "' method='post'>"; echo "<input type='hidden' name='limit' value='" . $limit . "' />"; echo "<input type='hidden' name='start' value='" . $start . "' />"; echo "<table width='100%' cellspacing='1' class='outer'>"; echo "<tr><th colspan='2'>" . _AM_PUBLISHER_MIME_MODIFYF . "</th></tr>"; echo "<tr valign='top'>\n <td class='head'>" . _AM_PUBLISHER_MIME_EXTF . "</td>\n <td class='even'><input type='text' name='mime_ext' id='mime_ext' value='{$mime_ext}' size='5' /></td>\n </tr>"; echo "<tr valign='top'>\n <td class='head'>" . _AM_PUBLISHER_MIME_NAMEF . "</td>\n <td class='even'><input type='text' name='mime_name' id='mime_name' value='{$mime_name}' /></td>\n </tr>"; echo "<tr valign='top'>\n <td class='head'>" . _AM_PUBLISHER_MIME_TYPEF . "</td>\n <td class='even'><textarea name='mime_types' id='mime_types' cols='60' rows='5'>{$mime_types}</textarea></td>\n </tr>"; echo "<tr valign='top'>\n <td class='head'>" . _AM_PUBLISHER_MIME_ADMINF . "</td>\n <td class='even'>\n <input type='radio' name='mime_admin' value='1' " . ($mime_admin == 1 ? "checked='checked'" : '') . " />" . XoopsLocale::YES . "\n <input type='radio' name='mime_admin' value='0' " . ($mime_admin == 0 ? "checked='checked'" : '') . " />" . XoopsLocale::NO . "\n </td>\n </tr>"; echo "<tr valign='top'>\n <td class='head'>" . _AM_PUBLISHER_MIME_USERF . "</td>\n <td class='even'>\n <input type='radio' name='mime_user' value='1' " . ($mime_user == 1 ? "checked='checked'" : '') . " />" . XoopsLocale::YES . "\n <input type='radio' name='mime_user' value='0' " . ($mime_user == 0 ? "checked='checked'" : '') . " />" . XoopsLocale::NO . "\n </td>\n </tr>"; echo "<tr valign='top'>\n <td class='head'></td>\n <td class='even'>\n <input type='submit' name='edit_mime' id='edit_mime' value='" . _AM_PUBLISHER_BUTTON_UPDATE . "' class='formButton' />\n <input type='button' name='cancel' value='" . _AM_PUBLISHER_BUTTON_CANCEL . "' onclick='history.go(-1)' class='formButton' />\n </td>\n </tr>"; echo "</table></form>"; // end of edit form PublisherUtils::closeCollapsableBar('mimeedittable', 'mimeediticon'); $xoops->footer(); } else { $mime_admin = 0; $mime_user = 0; $has_errors = false; $error = array(); if (isset($_POST['mime_admin']) && $_POST['mime_admin'] == 1) { $mime_admin = 1; } if (isset($_POST['mime_user']) && $_POST['mime_user'] == 1) { $mime_user = 1; } //Validate Mimetype entry if (strlen(trim($_POST['mime_ext'])) == 0) { $has_errors = true; $error['mime_ext'][] = _AM_PUBLISHER_VALID_ERR_MIME_EXT; } if (strlen(trim($_POST['mime_name'])) == 0) { $has_errors = true; $error['mime_name'][] = _AM_PUBLISHER_VALID_ERR_MIME_NAME; } if (strlen(trim($_POST['mime_types'])) == 0) { $has_errors = true; $error['mime_types'][] = _AM_PUBLISHER_VALID_ERR_MIME_TYPES; } if ($has_errors) { $session = new Session(); $mime = array(); $mime['mime_ext'] = $_POST['mime_ext']; $mime['mime_name'] = $_POST['mime_name']; $mime['mime_types'] = $_POST['mime_types']; $mime['mime_admin'] = $mime_admin; $mime['mime_user'] = $mime_user; $session->set('publisher_editMime_' . $mime_id, $mime); $session->set('publisher_editMimeErr_' . $mime_id, $error); header('Location: ' . PublisherUtils::makeURI(PUBLISHER_ADMIN_URL . '/mimetypes.php', array('op' => 'edit', 'id' => $mime_id), false)); } $mimetype->setVar('mime_ext', $_POST['mime_ext']); $mimetype->setVar('mime_name', $_POST['mime_name']); $mimetype->setVar('mime_types', $_POST['mime_types']); $mimetype->setVar('mime_admin', $mime_admin); $mimetype->setVar('mime_user', $mime_user); if (!$publisher->getMimetypeHandler()->insert($mimetype, true)) { $xoops->redirect(PUBLISHER_ADMIN_URL . "/mimetypes.php?op=edit&id={$mime_id}", 3, _AM_PUBLISHER_MESSAGE_EDIT_MIME_ERROR); } else { _clearEditSessionVars($mime_id); header("Location: " . PUBLISHER_ADMIN_URL . "/mimetypes.php?op=manage&limit={$limit}&start={$start}"); } } }
/** * @param bool $another * @param bool $withRedirect * @param $itemObj * * @return bool|string */ public static function uploadFile($another = false, $withRedirect = true, &$itemObj) { $xoops = Xoops::getInstance(); $publisher = Publisher::getInstance(); $itemid = isset($_POST['itemid']) ? (int) $_POST['itemid'] : 0; $uid = $xoops->isUser() ? $xoops->user->getVar('uid') : 0; $session = new Session(); $session->set('publisher_file_filename', isset($_POST['item_file_name']) ? $_POST['item_file_name'] : ''); $session->set('publisher_file_description', isset($_POST['item_file_description']) ? $_POST['item_file_description'] : ''); $session->set('publisher_file_status', isset($_POST['item_file_status']) ? (int) $_POST['item_file_status'] : 1); $session->set('publisher_file_uid', $uid); $session->set('publisher_file_itemid', $itemid); if (!is_object($itemObj)) { $itemObj = $publisher->getItemHandler()->get($itemid); } $fileObj = $publisher->getFileHandler()->create(); $fileObj->setVar('name', isset($_POST['item_file_name']) ? $_POST['item_file_name'] : ''); $fileObj->setVar('description', isset($_POST['item_file_description']) ? $_POST['item_file_description'] : ''); $fileObj->setVar('status', isset($_POST['item_file_status']) ? (int) $_POST['item_file_status'] : 1); $fileObj->setVar('uid', $uid); $fileObj->setVar('itemid', $itemObj->getVar('itemid')); $fileObj->setVar('datesub', time()); // Get available mimetypes for file uploading $allowed_mimetypes = $publisher->getMimetypeHandler()->getArrayByType(); // TODO : display the available mimetypes to the user $errors = array(); /* @var $fileObj PublisherFile */ if ($publisher->getConfig('perm_upload') && is_uploaded_file($_FILES['item_upload_file']['tmp_name'])) { if (!($ret = $fileObj->checkUpload('item_upload_file', $allowed_mimetypes, $errors))) { $errorstxt = implode('<br />', $errors); $message = sprintf(_CO_PUBLISHER_MESSAGE_FILE_ERROR, $errorstxt); if ($withRedirect) { $xoops->redirect("file.php?op=mod&itemid=" . $itemid, 5, $message); } else { return $message; } } } // Storing the file if (!$fileObj->store($allowed_mimetypes)) { if ($withRedirect) { $xoops->redirect("file.php?op=mod&itemid=" . $fileObj->getVar('itemid'), 3, _CO_PUBLISHER_FILEUPLOAD_ERROR . self::formatErrors($fileObj->getErrors())); } else { return _CO_PUBLISHER_FILEUPLOAD_ERROR . self::formatErrors($fileObj->getErrors()); } } if ($withRedirect) { $redirect_page = $another ? 'file.php' : 'item.php'; $xoops->redirect($redirect_page . "?op=mod&itemid=" . $fileObj->getVar('itemid'), 2, _CO_PUBLISHER_FILEUPLOAD_SUCCESS); } return true; }