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