| @@ 69-101 (lines=33) @@ | ||
| 66 | * |
|
| 67 | * @return bool |
|
| 68 | */ |
|
| 69 | public function checkGroupRight($groupId, $rightId) |
|
| 70 | { |
|
| 71 | // check input |
|
| 72 | if ($rightId <= 0 || $groupId <= 0 || !is_numeric($rightId) || !is_numeric($groupId)) { |
|
| 73 | return false; |
|
| 74 | } |
|
| 75 | ||
| 76 | // check right |
|
| 77 | $select = sprintf(" |
|
| 78 | SELECT |
|
| 79 | fr.right_id AS right_id |
|
| 80 | FROM |
|
| 81 | %sfaqright fr, |
|
| 82 | %sfaqgroup_right fgr, |
|
| 83 | %sfaqgroup fg |
|
| 84 | WHERE |
|
| 85 | fr.right_id = %d AND |
|
| 86 | fr.right_id = fgr.right_id AND |
|
| 87 | fg.group_id = fgr.group_id AND |
|
| 88 | fg.group_id = %d", |
|
| 89 | PMF_Db::getTablePrefix(), |
|
| 90 | PMF_Db::getTablePrefix(), |
|
| 91 | PMF_Db::getTablePrefix(), |
|
| 92 | $rightId, |
|
| 93 | $groupId |
|
| 94 | ); |
|
| 95 | ||
| 96 | $res = $this->config->getDb()->query($select); |
|
| 97 | if ($this->config->getDb()->numRows($res) == 1) { |
|
| 98 | return true; |
|
| 99 | } |
|
| 100 | return false; |
|
| 101 | } |
|
| 102 | ||
| 103 | /** |
|
| 104 | * Returns an array that contains the right-IDs of all |
|
| @@ 388-418 (lines=31) @@ | ||
| 385 | * |
|
| 386 | * @return boolean |
|
| 387 | */ |
|
| 388 | public function isGroupMember($userId, $groupId) |
|
| 389 | { |
|
| 390 | if ($userId <= 0 || $groupId <= 0 || !is_numeric($userId) || !is_numeric($groupId)) { |
|
| 391 | return false; |
|
| 392 | } |
|
| 393 | ||
| 394 | $select = sprintf(" |
|
| 395 | SELECT |
|
| 396 | fu.user_id AS user_id |
|
| 397 | FROM |
|
| 398 | %sfaquser fu, |
|
| 399 | %sfaquser_group fug, |
|
| 400 | %sfaqgroup fg |
|
| 401 | WHERE |
|
| 402 | fu.user_id = %d AND |
|
| 403 | fu.user_id = fug.user_id AND |
|
| 404 | fg.group_id = fug.group_id AND |
|
| 405 | fg.group_id = %d", |
|
| 406 | PMF_Db::getTablePrefix(), |
|
| 407 | PMF_Db::getTablePrefix(), |
|
| 408 | PMF_Db::getTablePrefix(), |
|
| 409 | $userId, |
|
| 410 | $groupId |
|
| 411 | ); |
|
| 412 | ||
| 413 | $res = $this->config->getDb()->query($select); |
|
| 414 | if ($this->config->getDb()->numRows($res) == 1) { |
|
| 415 | return true; |
|
| 416 | } |
|
| 417 | return false; |
|
| 418 | } |
|
| 419 | ||
| 420 | /** |
|
| 421 | * Returns an array that contains the user-IDs of all members |
|
| @@ 692-729 (lines=38) @@ | ||
| 689 | * @param integer $rightId Right ID |
|
| 690 | * @return boolean |
|
| 691 | */ |
|
| 692 | public function checkUserGroupRight($userId, $rightId) |
|
| 693 | { |
|
| 694 | // check input |
|
| 695 | if ($rightId <= 0 || $userId <= 0 || !is_numeric($rightId) || !is_numeric($userId)) { |
|
| 696 | return false; |
|
| 697 | } |
|
| 698 | ||
| 699 | $select = sprintf(" |
|
| 700 | SELECT |
|
| 701 | fr.right_id AS right_id |
|
| 702 | FROM |
|
| 703 | %sfaqright fr, |
|
| 704 | %sfaqgroup_right fgr, |
|
| 705 | %sfaqgroup fg, |
|
| 706 | %sfaquser_group fug, |
|
| 707 | %sfaquser fu |
|
| 708 | WHERE |
|
| 709 | fr.right_id = %d AND |
|
| 710 | fr.right_id = fgr.right_id AND |
|
| 711 | fg.group_id = fgr.group_id AND |
|
| 712 | fg.group_id = fug.group_id AND |
|
| 713 | fu.user_id = fug.user_id AND |
|
| 714 | fu.user_id = %d", |
|
| 715 | PMF_Db::getTablePrefix(), |
|
| 716 | PMF_Db::getTablePrefix(), |
|
| 717 | PMF_Db::getTablePrefix(), |
|
| 718 | PMF_Db::getTablePrefix(), |
|
| 719 | PMF_Db::getTablePrefix(), |
|
| 720 | $rightId, |
|
| 721 | $userId |
|
| 722 | ); |
|
| 723 | ||
| 724 | $res = $this->config->getDb()->query($select); |
|
| 725 | if ($this->config->getDb()->numRows($res) == 1) { |
|
| 726 | return true; |
|
| 727 | } |
|
| 728 | return false; |
|
| 729 | } |
|
| 730 | ||
| 731 | /** |
|
| 732 | * Checks the given associative array $groupData. If a |
|