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}"); } } }