예제 #1
0
function saveConfig()
{
    DOCMAN_token::check() or die('Invalid Token');
    global $_DOCMAN, $task;
    $mainframe = JFactory::getApplication();
    $_POST = DOCMAN_Utils::stripslashes($_POST);
    $docmanMax = DOCMAN_Utils::text2number($_POST['maxAllowed']);
    $_POST['maxAllowed'] = $docmanMax;
    $max = DOCMAN_utils::getMaxUploadSize();
    if ($docmanMax < 0) {
        $mainframe->redirect("index.php?option=com_docman&section=config", _DML_CONFIG_ERROR_UPLOAD);
    }
    $override_edit = _DM_ASSIGN_NONE;
    $author = JRequest::getBool('assign_edit_author', 0, 'post');
    $editor = JRequest::getBool('assign_edit_editor', 0, 'post');
    if ($author) {
        $override_edit = _DM_ASSIGN_BY_AUTHOR;
    }
    if ($editor) {
        $override_edit = _DM_ASSIGN_BY_EDITOR;
    }
    if ($author && $editor) {
        $override_edit = _DM_ASSIGN_BY_AUTHOR_EDITOR;
    }
    $_POST['editor_assign'] = $override_edit;
    unset($_POST['assign_edit_author']);
    unset($_POST['assign_edit_editor']);
    $override_down = _DM_ASSIGN_NONE;
    $author = JRequest::getBool('assign_download_author', 0, 'post');
    $editor = JRequest::getBool('assign_download_editor', 0, 'post');
    if ($author) {
        $override_down = _DM_ASSIGN_BY_AUTHOR;
    }
    if ($editor) {
        $override_down = _DM_ASSIGN_BY_EDITOR;
    }
    if ($author && $editor) {
        $override_down = _DM_ASSIGN_BY_AUTHOR_EDITOR;
    }
    $_POST['reader_assign'] = $override_down;
    unset($_POST['assign_download_author']);
    unset($_POST['assign_download_editor']);
    foreach ($_POST as $key => $value) {
        $_DOCMAN->setCfg($key, $value);
    }
    if ($_DOCMAN->saveConfig()) {
        if ($max < $docmanMax) {
            $mainframe->redirect("index.php?option=com_docman&section=config", _DML_CONFIG_WARNING . DOCMAN_UTILS::number2text($max));
        } else {
            $section = $task == 'apply' ? '&section=config' : '';
            $mainframe->redirect('index.php?option=com_docman' . $section, _DML_CONFIG_UPDATED);
        }
    } else {
        $mainframe->redirect("index.php?option=com_docman&section=config", _DML_CONFIG_ERROR);
    }
}