Esempio n. 1
0
function saveDocument($uid)
{
    DOCMAN_token::check() or die('Invalid Token');
    global $database, $_DMUSER;
    //fetch params
    $params = mosGetParam($_REQUEST, 'params', '');
    if (is_array($params)) {
        $txt = array();
        foreach ($params as $k => $v) {
            $txt[] = "{$k}={$v}";
        }
        $_POST['attribs'] = implode("\n", $txt);
    }
    $doc = new mosDMDocument($database);
    $doc->load($uid);
    // Load from id
    $doc->bind($_POST);
    /* ------------------------------ *
     *   MAMBOT - Setup All Mambots   *
     * ------------------------------ */
    $logbot = new DOCMAN_mambot('onLog');
    $postbot = new DOCMAN_mambot('onAfterEditDocument');
    $logbot->setParm('document', $doc);
    $logbot->setParm('file', $_POST['dmfilename']);
    $logbot->setParm('user', $_DMUSER);
    if (!$uid) {
        $logbot->copyParm('process', 'new document');
    } else {
        $logbot->copyParm('process', 'edit document');
    }
    $logbot->copyParm('new', !$uid);
    $postbot->setParmArray($logbot->getParm());
    $postbot->trigger();
    if ($postbot->getError()) {
        $logbot->copyParm('msg', $postbot->getErrorMsg());
        $logbot->copyParm('status', 'LOG_ERROR');
        $logbot->trigger();
        _returnTo('cat_view', $postbot->getErrorMsg());
    }
    // let's indicate last update information to store
    if ($doc->save()) {
        $logbot->copyParm('msg', 'Document saved');
        $logbot->copyParm('status', 'LOG_OK');
        $logbot->trigger();
        // if submited for the first time lets do auto-approve/publish operations
        if (!$uid) {
            autoApprove($doc);
            autoPublish($doc);
        }
        /* removed $message: undefined
         * original code:
         * _returnTo('cat_view', _DML_THANKSDOCMAN . $message ? "<br />" . $message : '', $doc->catid);
         */
        _returnTo('cat_view', _DML_THANKSDOCMAN, $doc->catid);
    }
    // doc->save failed. Log error
    $logbot->copyParm('msg', $doc->getError());
    $logbot->copyParm('status', 'LOG_ERROR');
    $logbot->trigger();
    _returnTo('cat_view', _DML_PROBLEM_SAVING_DOCUMENT);
}
Esempio n. 2
0
function saveDocument()
{
    DOCMAN_token::check() or die('Invalid Token');
    global $task, $_DMUSER;
    $database = JFactory::getDBO();
    $mainframe = JFactory::getApplication();
    //fetch current id
    $cid = JRequest::getInt('cid', 0, 'post');
    //fetch params
    $params = JRequest::getVar('params', array(), 'post', 'array');
    if (is_array($params)) {
        $txt = array();
        foreach ($params as $k => $v) {
            $txt[] = "{$k}={$v}";
        }
        $_POST['attribs'] = implode("\n", $txt);
    }
    $doc = new mosDMDocument($database);
    // Create record
    $doc->load($cid);
    // Load from id
    $doc->bind(DOCMAN_Utils::stripslashes($_POST));
    /* ------------------------------ *
     *   MAMBOT - Setup All Mambots   *
     * ------------------------------ */
    $logbot = new DOCMAN_mambot('onLog');
    $postbot = new DOCMAN_mambot('onAfterEditDocument');
    $logbot->setParm('document', $doc);
    $logbot->setParm('file', DOCMAN_Utils::stripslashes($_POST['dmfilename']));
    $logbot->setParm('user', $_DMUSER);
    if (!$cid) {
        $logbot->copyParm('process', 'new document');
    } else {
        $logbot->copyParm('process', 'edit document');
    }
    $logbot->copyParm('new', !$cid);
    $postbot->setParmArray($logbot->getParm());
    $postbot->trigger();
    if ($postbot->getError()) {
        $logbot->copyParm('msg', $postbot->getErrorMsg());
        $logbot->copyParm('status', 'LOG_ERROR');
        $logbot->trigger();
        $mainframe->redirect("index.php?option=com_docman&section=documents", $postbot->getErrorMsg());
    }
    if ($doc->save()) {
        // Update from browser
        $logbot->copyParm('msg', 'Document saved');
        $logbot->copyParm('status', 'LOG_OK');
        $logbot->trigger();
        if ($task == 'save') {
            $url = 'index.php?option=com_docman&section=documents';
        } else {
            // $task = 'apply'
            $url = 'index.php?option=com_docman&section=documents&task=edit&cid[0]=' . $doc->id;
        }
        $mainframe->redirect($url, _DML_SAVED_CHANGES);
    }
    $logbot->copyParm('msg', $doc->getError());
    $logbot->copyParm('status', 'LOG_ERROR');
    $logbot->trigger();
    $mainframe->redirect('index.php?option=com_docman&section=documents', $doc->getError());
}
function saveDocument($uid)
{
    DOCMAN_token::check() or die('Invalid Token');
    global $_DOCMAN, $_DMUSER;
    jimport('joomla.filesystem.file');
    $database = JFactory::getDBO();
    //fetch params
    $params = JRequest::getVar('params', array(), 'request', 'array');
    if (is_array($params)) {
        $txt = array();
        foreach ($params as $k => $v) {
            $txt[] = "{$k}={$v}";
        }
        $_POST['attribs'] = implode("\n", $txt);
    }
    $doc = new mosDMDocument($database);
    $doc->load(JRequest::getInt('id'));
    // get the uploaded filename from the session
    $session = JFactory::getSession();
    if ($session->get('docman.dmfilename')) {
        $_POST['dmfilename'] = $session->get('docman.dmfilename');
        $_POST['document_url'] = $session->get('docman.document_url');
    } else {
        $_POST['dmfilename'] = $doc->dmfilename;
        unset($_POST['document_url']);
    }
    $doc->bind(DOCMAN_Utils::stripslashes($_POST));
    // plugins
    $logbot = new DOCMAN_mambot('onLog');
    $postbot = new DOCMAN_mambot('onAfterEditDocument');
    $logbot->setParm('document', $doc);
    $logbot->setParm('file', $_POST['dmfilename']);
    $logbot->setParm('user', $_DMUSER);
    if (!$uid) {
        $logbot->copyParm('process', 'new document');
    } else {
        $logbot->copyParm('process', 'edit document');
    }
    $logbot->copyParm('new', !$uid);
    $postbot->setParmArray($logbot->getParm());
    // let's indicate last update information to store
    if ($doc->save()) {
        $session->set('docman.dmfilename', null);
        $session->set('docman.document_url', null);
        $logbot->copyParm('msg', 'Document saved');
        $logbot->copyParm('status', 'LOG_OK');
        $logbot->trigger();
        // if submited for the first time lets do auto-approve/publish operations
        if (!$uid) {
            autoApprove($doc);
            autoPublish($doc);
        }
        // If document is saved, trigger the postbot.
        $postbot->trigger();
        if ($postbot->getError()) {
            $logbot->copyParm('msg', $postbot->getErrorMsg());
            $logbot->copyParm('status', 'LOG_ERROR');
            $logbot->trigger();
            _returnTo('cat_view', $postbot->getErrorMsg());
        }
        _returnTo('cat_view', _DML_THANKSDOCMAN, $doc->catid);
    }
    // doc->save failed. Log error
    $logbot->copyParm('msg', $doc->getError());
    $logbot->copyParm('status', 'LOG_ERROR');
    $logbot->trigger();
    _returnTo('cat_view', _DML_PROBLEM_SAVING_DOCUMENT);
}
Esempio n. 4
0
 function copy($cid, $catid)
 {
     global $database, $my;
     if (!is_array($cid) || count($cid) < 1) {
         echo "<script> alert('" . _DML_SELECT_ITEM_COPY . " ); window.history.go(-1);</script>\n";
         return false;
     }
     foreach ($cid as $id) {
         $docold = new mosDMDocument($database);
         $docnew = new mosDMDocument($database);
         $docold->load($id);
         $docnew->bind((array) $docold);
         $docnew->id = 0;
         $docnew->catid = $catid;
         if ($docold->catid == $docnew->catid) {
             $docnew->dmname = _DML_COPY_OF . ' ' . $docnew->dmname;
         }
         $docnew->store();
     }
     return true;
 }