@@ 409-440 (lines=32) @@ | ||
406 | * |
|
407 | * @return bool |
|
408 | */ |
|
409 | public function isGroupMember($userId, $groupId) |
|
410 | { |
|
411 | if ($userId <= 0 || $groupId <= 0 || !is_numeric($userId) || !is_numeric($groupId)) { |
|
412 | return false; |
|
413 | } |
|
414 | ||
415 | $select = sprintf(' |
|
416 | SELECT |
|
417 | fu.user_id AS user_id |
|
418 | FROM |
|
419 | %sfaquser fu, |
|
420 | %sfaquser_group fug, |
|
421 | %sfaqgroup fg |
|
422 | WHERE |
|
423 | fu.user_id = %d AND |
|
424 | fu.user_id = fug.user_id AND |
|
425 | fg.group_id = fug.group_id AND |
|
426 | fg.group_id = %d', |
|
427 | Db::getTablePrefix(), |
|
428 | Db::getTablePrefix(), |
|
429 | Db::getTablePrefix(), |
|
430 | $userId, |
|
431 | $groupId |
|
432 | ); |
|
433 | ||
434 | $res = $this->config->getDb()->query($select); |
|
435 | if ($this->config->getDb()->numRows($res) == 1) { |
|
436 | return true; |
|
437 | } |
|
438 | ||
439 | return false; |
|
440 | } |
|
441 | ||
442 | /** |
|
443 | * Returns an array that contains the user-IDs of all members |
|
@@ 736-774 (lines=39) @@ | ||
733 | * |
|
734 | * @return bool |
|
735 | */ |
|
736 | public function checkUserGroupRight($userId, $rightId) |
|
737 | { |
|
738 | // check input |
|
739 | if ($rightId <= 0 || $userId <= 0 || !is_numeric($rightId) || !is_numeric($userId)) { |
|
740 | return false; |
|
741 | } |
|
742 | ||
743 | $select = sprintf(' |
|
744 | SELECT |
|
745 | fr.right_id AS right_id |
|
746 | FROM |
|
747 | %sfaqright fr, |
|
748 | %sfaqgroup_right fgr, |
|
749 | %sfaqgroup fg, |
|
750 | %sfaquser_group fug, |
|
751 | %sfaquser fu |
|
752 | WHERE |
|
753 | fr.right_id = %d AND |
|
754 | fr.right_id = fgr.right_id AND |
|
755 | fg.group_id = fgr.group_id AND |
|
756 | fg.group_id = fug.group_id AND |
|
757 | fu.user_id = fug.user_id AND |
|
758 | fu.user_id = %d', |
|
759 | Db::getTablePrefix(), |
|
760 | Db::getTablePrefix(), |
|
761 | Db::getTablePrefix(), |
|
762 | Db::getTablePrefix(), |
|
763 | Db::getTablePrefix(), |
|
764 | $rightId, |
|
765 | $userId |
|
766 | ); |
|
767 | ||
768 | $res = $this->config->getDb()->query($select); |
|
769 | if ($this->config->getDb()->numRows($res) == 1) { |
|
770 | return true; |
|
771 | } |
|
772 | ||
773 | return false; |
|
774 | } |
|
775 | ||
776 | /** |
|
777 | * Checks the given associative array $groupData. If a |