inList() returns false or the index of the element

backported from develop
This commit is contained in:
Uwe Steinmann 2015-07-15 08:18:17 +02:00
parent 71ed09ec0c
commit ef8e4e8400

View File

@ -196,18 +196,23 @@ class SeedDMS_Core_DMS {
/** /**
* Checks if a list of objects contains a single object * Checks if a list of objects contains a single object
* *
* The regular php check done by '==' compares all attributes of * This function is only applicable on list containing objects which have
* a method getID() because it is used to check if two objects are equal.
* The regular php check on objects done by '==' compares all attributes of
* two objects, which isn't required. The method will first check * two objects, which isn't required. The method will first check
* if the objects are instances of the same class. * if the objects are instances of the same class.
* *
* The result of the function can be 0 which happens if the first element
* of an indexed array matches.
*
* @param object $object1 object to look for (needle) * @param object $object1 object to look for (needle)
* @param array $list list of objects (haystack) * @param array $list list of objects (haystack)
* @return boolean true if object was found, otherwise false * @return boolean/integer index in array if object was found, otherwise false
*/ */
static function inList($object, $list) { /* {{{ */ static function inList($object, $list) { /* {{{ */
foreach($list as $item) { foreach($list as $i=>$item) {
if(get_class($item) == get_class($object) && $item->getID() == $object->getID()) if(get_class($item) == get_class($object) && $item->getID() == $object->getID())
return true; return $i;
} }
return false; return false;
} /* }}} */ } /* }}} */
@ -258,7 +263,7 @@ class SeedDMS_Core_DMS {
* *
* @param array $links list of objects of type SeedDMS_Core_DocumentLink * @param array $links list of objects of type SeedDMS_Core_DocumentLink
* @param object $user user for which access is being checked * @param object $user user for which access is being checked
* @return filtered list of links * @return array filtered list of links
*/ */
static function filterDocumentLinks($user, $links) { /* {{{ */ static function filterDocumentLinks($user, $links) { /* {{{ */
$tmp = array(); $tmp = array();
@ -514,8 +519,6 @@ class SeedDMS_Core_DMS {
/** /**
* Returns all documents locked by a given user * Returns all documents locked by a given user
* FIXME: Not full implemented. Do not use, because it still requires the
* temporary tables!
* *
* @param object $user * @param object $user
* @return array list of documents * @return array list of documents