mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-05-11 12:11:19 +00:00
add and use SeedDMS_Core_DocumentContent::getInstance()
This commit is contained in:
parent
414532db25
commit
cb287741d0
|
@ -823,19 +823,8 @@ class SeedDMS_Core_DMS {
|
|||
* @return bool|SeedDMS_Core_Document or false
|
||||
*/
|
||||
function getDocumentContent($id) { /* {{{ */
|
||||
if (!is_numeric($id)) return false;
|
||||
|
||||
$queryStr = "SELECT * FROM `tblDocumentContent` WHERE `id` = ".(int) $id;
|
||||
$resArr = $this->db->getResultArray($queryStr);
|
||||
if (is_bool($resArr) && $resArr == false)
|
||||
return false;
|
||||
if (count($resArr) != 1)
|
||||
return false;
|
||||
$row = $resArr[0];
|
||||
|
||||
$document = $this->getDocument($row['document']);
|
||||
$version = new $this->classnames['documentcontent']($row['id'], $document, $row['version'], $row['comment'], $row['date'], $row['createdBy'], $row['dir'], $row['orgFileName'], $row['fileType'], $row['mimeType'], $row['fileSize'], $row['checksum']);
|
||||
return $version;
|
||||
$classname = $this->classnames['documentcontent'];
|
||||
return $classname::getInstance($id, $this);
|
||||
} /* }}} */
|
||||
|
||||
/**
|
||||
|
|
|
@ -3120,6 +3120,40 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
|
|||
$this->_revisionDate = $revisionDate;
|
||||
} /* }}} */
|
||||
|
||||
/**
|
||||
* Return an document content by its id
|
||||
*
|
||||
* @param integer $id id of document
|
||||
* @param SeedDMS_Core_DMS $dms
|
||||
* @return bool|SeedDMS_Core_DocumentContent instance of SeedDMS_Core_DocumentContent
|
||||
* if document content exists, null if document does not exist, false in case of error
|
||||
*/
|
||||
public static function getInstance($id, $dms) { /* {{{ */
|
||||
$db = $dms->getDB();
|
||||
|
||||
$queryStr = "SELECT * FROM `tblDocumentContent` WHERE `id` = " . (int) $id;
|
||||
$resArr = $db->getResultArray($queryStr);
|
||||
if (is_bool($resArr) && $resArr == false)
|
||||
return false;
|
||||
if (count($resArr) != 1)
|
||||
return null;
|
||||
$row = $resArr[0];
|
||||
|
||||
$classname = $dms->getClassname('documentcontent');
|
||||
$user = $dms->getLoggedInUser();
|
||||
$document = $dms->getDocument($row['document']);
|
||||
$document->setDMS($dms);
|
||||
/** @var SeedDMS_Core_DocumentContent $documentcontent */
|
||||
$content = new $classname($row["id"], $document, $row["version"], $row["comment"], $row["date"], $row["createdBy"], $row["dir"], $row["orgFileName"], $row["fileType"], $row["mimeType"], $row['fileSize'], $row['checksum'], $row['revisiondate']);
|
||||
if($user) {
|
||||
if($content->getAccessMode($user) >= M_READ)
|
||||
return $content;
|
||||
} else {
|
||||
return $content;
|
||||
}
|
||||
return null;
|
||||
} /* }}} */
|
||||
|
||||
function getVersion() { return $this->_version; }
|
||||
function getComment() { return $this->_comment; }
|
||||
function getDate() { return $this->_date; }
|
||||
|
|
Loading…
Reference in New Issue
Block a user