public static function optionsFromObjects($aObjects, $sKeyMethod = null, $sValueMethod = null, $mSelected = null, $aCustomOptions = array('' => '------'), $bStrict = false) { $aResult = array(); if (!is_array($mSelected)) { if ($mSelected === null) { $mSelected = array(); } else { $mSelected = array($mSelected); } } $aSelected = array(); foreach ($aObjects as $oObject) { $sKey = null; $sValue = null; if ($sKeyMethod === null) { $sKey = Util::idForObject($oObject); } else { $sKey = $oObject->{$sKeyMethod}(); } if ($sValueMethod === null) { $sValue = Util::nameForObject($oObject); } else { $sValue = $oObject->{$sValueMethod}(); } $aResult[$sKey] = $sValue; if (ArrayUtil::inArray($oObject, $mSelected, true, $sKeyMethod)) { //Always strict $aSelected[] = $sKey; } } if (is_array($aCustomOptions)) { foreach ($aCustomOptions as $sCustomKey => $sCustomValue) { if (ArrayUtil::inArray($sCustomKey, $mSelected, $bStrict)) { $aSelected[] = $sCustomKey; } } } return self::optionsFromArray($aResult, $aSelected, '_', $aCustomOptions, $bStrict); }
/** * @deprecated use query methods */ public static function getBackendUsersOther($sSearch = null, $iUserId = null, $bCountOnly = false) { $oCriteria = new Criteria(); $oCriteria->add(self::IS_ADMIN, false); $aBackendUsers = self::getBackendUsers($sSearch, $iUserId, $bCountOnly, $oCriteria); $aBackendUsersWithRights = self::getBackendUsersWithRights($sSearch, $iUserId, $bCountOnly); if ($bCountOnly) { return $aBackendUsers - $aBackendUsersWithRights > 0; } foreach ($aBackendUsersWithRights as $i => $oBackendUser) { if (ArrayUtil::inArray($oBackendUser, $aBackendUsers)) { unset($aBackendUsers[$i]); } } return $aBackendUsers; }