mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-06-18 02:59:27 +00:00
add variable noReadForStatus, method getLoggedInUser
setting noReadForStatus will allow to check if a version may be accessible in its status
This commit is contained in:
parent
5224cbb9c6
commit
9786a51822
|
@ -146,6 +146,13 @@ class SeedDMS_Core_DMS {
|
||||||
*/
|
*/
|
||||||
public $viewOnlineFileTypes;
|
public $viewOnlineFileTypes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var array $noReadForStatus list of status without read right
|
||||||
|
* online
|
||||||
|
* @access public
|
||||||
|
*/
|
||||||
|
public $noReadForStatus;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string $version version of pear package
|
* @var string $version version of pear package
|
||||||
* @access public
|
* @access public
|
||||||
|
@ -231,6 +238,12 @@ class SeedDMS_Core_DMS {
|
||||||
/**
|
/**
|
||||||
* Filter objects out which are not accessible in a given mode by a user.
|
* Filter objects out which are not accessible in a given mode by a user.
|
||||||
*
|
*
|
||||||
|
* This function can be used for documents and folders and calls
|
||||||
|
* {@link SeedDMS_Core_Folder::getAccessMode()} or
|
||||||
|
* {@link SeedDMS_Core_Document::getAccessMode()}. A document is also
|
||||||
|
* filtered out if it has no latest content, which can happen if access
|
||||||
|
* on documents in a certain state has been restricted.
|
||||||
|
*
|
||||||
* @param array $objArr list of objects (either documents or folders)
|
* @param array $objArr list of objects (either documents or folders)
|
||||||
* @param object $user user for which access is checked
|
* @param object $user user for which access is checked
|
||||||
* @param integer $minMode minimum access mode required
|
* @param integer $minMode minimum access mode required
|
||||||
|
@ -242,8 +255,15 @@ class SeedDMS_Core_DMS {
|
||||||
}
|
}
|
||||||
$newArr = array();
|
$newArr = array();
|
||||||
foreach ($objArr as $obj) {
|
foreach ($objArr as $obj) {
|
||||||
if ($obj->getAccessMode($user) >= $minMode)
|
if ($obj->getAccessMode($user) >= $minMode) {
|
||||||
|
$dms = $obj->_dms;
|
||||||
|
if(get_class($obj) == $dms->getClassname('document')) {
|
||||||
|
if($obj->getLatestContent())
|
||||||
array_push($newArr, $obj);
|
array_push($newArr, $obj);
|
||||||
|
} else {
|
||||||
|
array_push($newArr, $obj);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return $newArr;
|
return $newArr;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
@ -358,6 +378,7 @@ class SeedDMS_Core_DMS {
|
||||||
$this->forceRename = false;
|
$this->forceRename = false;
|
||||||
$this->enableConverting = false;
|
$this->enableConverting = false;
|
||||||
$this->convertFileTypes = array();
|
$this->convertFileTypes = array();
|
||||||
|
$this->noReadForStatus = array();
|
||||||
$this->classnames = array();
|
$this->classnames = array();
|
||||||
$this->classnames['folder'] = 'SeedDMS_Core_Folder';
|
$this->classnames['folder'] = 'SeedDMS_Core_Folder';
|
||||||
$this->classnames['document'] = 'SeedDMS_Core_Document';
|
$this->classnames['document'] = 'SeedDMS_Core_Document';
|
||||||
|
@ -563,6 +584,19 @@ class SeedDMS_Core_DMS {
|
||||||
$this->user = $user;
|
$this->user = $user;
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the logged in user
|
||||||
|
*
|
||||||
|
* If user authentication was done externally, this function can
|
||||||
|
* be used to tell the dms who is currently logged in.
|
||||||
|
*
|
||||||
|
* @return object $user
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
function getLoggedInUser() { /* {{{ */
|
||||||
|
return $this->user;
|
||||||
|
} /* }}} */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a document by its id
|
* Return a document by its id
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue
Block a user