Example #1
0
function fetchEditDocumentForm($uid, $filename = null, $catid = 0)
{
    global $database, $mosConfig_absolute_path;
    global $_DOCMAN, $_DMUSER;
    $doc = new mosDMDocument($database);
    if ($uid) {
        $doc->load($uid);
        //Load the document
        //check user permissions
        $err = $_DMUSER->canPreformTask($doc, 'Edit');
        if ($err) {
            _returnTo('cat_view', $err, $doc->catid);
        }
    } else {
        $doc->init_record();
        //Initialise a document
        //check user permissions
        $err = $_DMUSER->canPreformTask($doc, 'Upload');
        if ($err) {
            _returnTo('cat_view', $err, $doc->catid);
        }
    }
    //checkout the document
    $doc->checkout($_DMUSER->userid);
    // Set document filename
    if (!is_null($filename)) {
        $filename = DOCMAN_Utils::safeDecodeURL($filename);
        $doc->dmfilename = $filename;
    }
    // Set document url
    $prefix = substr($doc->dmfilename, 0, _DM_DOCUMENT_LINK_LNG);
    if (strcasecmp($prefix, _DM_DOCUMENT_LINK) == 0) {
        $doc->dmlink = substr($doc->dmfilename, _DM_DOCUMENT_LINK_LNG);
        $doc->dmfilename = _DM_DOCUMENT_LINK;
    }
    $lists = array();
    // Set filename
    $lists['dmfilename'] = filesSelectList($doc);
    // Built category select list
    $options = array(mosHTML::makeOption('0', _DML_SELECT_CAT));
    if ($uid) {
        $lists['catid'] = dmHTML::categoryList($doc->catid, "", $options);
    } else {
        $lists['catid'] = dmHTML::categoryList($catid, "", $options);
    }
    // Build select lists
    $lists['approved'] = mosHTML::yesnoRadioList('approved', 'class="inputbox"', $doc->approved);
    $lists['published'] = mosHTML::yesnoRadioList('published', 'class="inputbox"', $doc->published);
    $lists['viewer'] = dmHTML::viewerList($doc, 'dmowner');
    $lists['maintainer'] = dmHTML::maintainerList($doc, 'dmmantainedby');
    $lists['licenses'] = licenseSelectList($doc);
    $lists['licenses_display'] = licenseDisplayList($doc);
    // Built image list
    $lists['dmthumbnail'] = dmHTML::imageList('dmthumbnail', $doc->dmthumbnail);
    $lists['dmthumbnail_preview'] = $doc->dmthumbnail;
    // Find lastupdate user
    $last = array();
    if ($doc->dmlastupdateby > _DM_PERMIT_USER) {
        $database->setQuery("SELECT id, name " . "\n FROM #__users " . "\n WHERE id=" . (int) $doc->dmlastupdateby);
        $last = $database->loadObjectList();
    } else {
        $last[0]->name = "Super Administrator";
    }
    // Find createdby user
    $created = array();
    if ($doc->dmsubmitedby > _DM_PERMIT_USER) {
        $database->setQuery("SELECT id, name " . "\n FROM #__users " . "\n WHERE id=" . (int) $doc->dmsubmitedby);
        $created = $database->loadObjectList();
    } else {
        $created[0]->name = "Super Administrator";
    }
    // update 'dmlastupdateon'
    $doc->dmlastupdateon = date("Y-m-d H:i:s");
    // Params definitions
    $params = null;
    $params_path = $mosConfig_absolute_path . '/administrator/components/com_docman/docman.params.xml';
    if (file_exists($params_path)) {
        $params =& new dmParameters($doc->attribs, $params_path, 'params');
    }
    /* ------------------------------ *
     *   MAMBOT - Setup All Mambots   *
     * ------------------------------ */
    $prebot = new DOCMAN_mambot('onBeforeEditDocument');
    $prebot->setParm('document', $doc);
    $prebot->setParm('filename', $filename);
    $prebot->setParm('user', $_DMUSER);
    if (!$uid) {
        $prebot->copyParm('process', 'new document');
    } else {
        $prebot->copyParm('process', 'edit document');
    }
    $prebot->trigger();
    if ($prebot->getError()) {
        _returnTo('cat_view', $prebot->getErrorMsg());
    }
    return HTML_DMDocuments::editDocumentForm($doc, $lists, $last, $created, $params);
}
function fetchEditDocumentForm($uid, $filename = null, $catid = 0)
{
    global $_DOCMAN, $_DMUSER;
    $database = JFactory::getDBO();
    $doc = new mosDMDocument($database);
    if ($uid) {
        $doc->load($uid);
        //Load the document
        //check user permissions
        $err = $_DMUSER->canPreformTask($doc, 'Edit');
        if ($err) {
            _returnTo('cat_view', $err, $doc->catid);
        }
    } else {
        $doc->init_record();
        //Initialise a document
        //check user permissions
        $err = $_DMUSER->canPreformTask($doc, 'Upload');
        if ($err) {
            _returnTo('cat_view', $err, $doc->catid);
        }
    }
    //checkout the document
    $doc->checkout($_DMUSER->userid);
    // Set document filename
    if (!is_null($filename)) {
        $filename = DOCMAN_Utils::safeDecodeURL($filename);
        $doc->dmfilename = $filename;
    }
    // Set document url
    $prefix = substr($doc->dmfilename, 0, _DM_DOCUMENT_LINK_LNG);
    if (strcasecmp($prefix, _DM_DOCUMENT_LINK) == 0) {
        $doc->dmlink = substr($doc->dmfilename, _DM_DOCUMENT_LINK_LNG);
        $doc->dmfilename = _DM_DOCUMENT_LINK;
    }
    $lists = array();
    // Set filename
    $lists['dmfilename'] = filesSelectList($doc, 'class="inputbox" size="1" disabled="disabled"');
    // Built category select list
    $options = array(JHTML::_('select.option', '0', _DML_SELECT_CAT));
    if ($uid) {
        $lists['catid'] = dmHTML::categoryList($doc->catid, "", $options);
    } else {
        $lists['catid'] = dmHTML::categoryList($catid, "", $options);
    }
    // Build select lists
    $lists['approved'] = JHTML::_('select.booleanlist', 'approved', 'class="inputbox"', $doc->approved, _DML_YES, _DML_NO);
    $lists['published'] = JHTML::_('select.booleanlist', 'published', 'class="inputbox"', $doc->published, _DML_YES, _DML_NO);
    $lists['viewer'] = dmHTML::viewerList($doc, 'dmowner');
    $lists['maintainer'] = dmHTML::maintainerList($doc, 'dmmantainedby');
    $lists['licenses'] = licenseSelectList($doc);
    $lists['licenses_display'] = licenseDisplayList($doc);
    // Built image list
    $lists['dmthumbnail'] = dmHTML::imageList('dmthumbnail', $doc->dmthumbnail);
    $lists['dmthumbnail_preview'] = $doc->dmthumbnail;
    // Find lastupdate user
    $last = array();
    if ($doc->dmlastupdateby > _DM_PERMIT_USER) {
        $last[0] = DOCMAN_users::get($doc->dmlastupdateby);
        // the array is for BC 1.5.2, could be refactored in 1.6
    } else {
        $last[0]->name = "Super Administrator";
    }
    // Find createdby user
    $created = array();
    if ($doc->dmsubmitedby > _DM_PERMIT_USER) {
        $created[0] = DOCMAN_users::get($doc->dmsubmitedby);
        // the array is for BC 1.5.2, could be refactored in 1.6
    } else {
        $created[0]->name = "Super Administrator";
    }
    // update 'dmlastupdateon'
    $doc->dmlastupdateon = date("Y-m-d H:i:s");
    // Params definitions
    $params = null;
    $params_path = JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_docman' . DS . 'docman.params.xml';
    if (file_exists($params_path)) {
        $params = new dmParameters($doc->attribs, $params_path, 'params');
    }
    /* ------------------------------ *
     *   MAMBOT - Setup All Mambots   *
     * ------------------------------ */
    $prebot = new DOCMAN_mambot('onBeforeEditDocument');
    $prebot->setParm('document', $doc);
    $prebot->setParm('filename', $filename);
    $prebot->setParm('user', $_DMUSER);
    if (!$uid) {
        $prebot->copyParm('process', 'new document');
    } else {
        $prebot->copyParm('process', 'edit document');
    }
    $prebot->trigger();
    if ($prebot->getError()) {
        _returnTo('cat_view', $prebot->getErrorMsg());
    }
    return HTML_DMDocuments::editDocumentForm($doc, $lists, $last, $created, $params);
}