Esempio n. 1
0
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&amp;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}");
        }
    }
}