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