| @@ 111-140 (lines=30) @@ | ||
| 108 | * |
|
| 109 | * @return array |
|
| 110 | */ |
|
| 111 | public function getGroupRights($groupId) |
|
| 112 | { |
|
| 113 | if ($groupId <= 0 || !is_numeric($groupId)) { |
|
| 114 | return false; |
|
| 115 | } |
|
| 116 | // check right |
|
| 117 | $select = sprintf(" |
|
| 118 | SELECT |
|
| 119 | fr.right_id AS right_id |
|
| 120 | FROM |
|
| 121 | %sfaqright fr, |
|
| 122 | %sfaqgroup_right fgr, |
|
| 123 | %sfaqgroup fg |
|
| 124 | WHERE |
|
| 125 | fg.group_id = %d AND |
|
| 126 | fg.group_id = fgr.group_id AND |
|
| 127 | fr.right_id = fgr.right_id", |
|
| 128 | PMF_Db::getTablePrefix(), |
|
| 129 | PMF_Db::getTablePrefix(), |
|
| 130 | PMF_Db::getTablePrefix(), |
|
| 131 | $groupId |
|
| 132 | ); |
|
| 133 | ||
| 134 | $res = $this->config->getDb()->query($select); |
|
| 135 | $result = []; |
|
| 136 | while ($row = $this->config->getDb()->fetchArray($res)) { |
|
| 137 | $result[] = $row['right_id']; |
|
| 138 | } |
|
| 139 | return $result; |
|
| 140 | } |
|
| 141 | ||
| 142 | /** |
|
| 143 | * Returns true, if the user given by $userId owns the right |
|
| @@ 428-457 (lines=30) @@ | ||
| 425 | * |
|
| 426 | * @return array |
|
| 427 | */ |
|
| 428 | public function getGroupMembers($groupId) |
|
| 429 | { |
|
| 430 | if ($groupId <= 0 || !is_numeric($groupId)) { |
|
| 431 | return false; |
|
| 432 | } |
|
| 433 | ||
| 434 | $select = sprintf(" |
|
| 435 | SELECT |
|
| 436 | fu.user_id AS user_id |
|
| 437 | FROM |
|
| 438 | %sfaquser fu, |
|
| 439 | %sfaquser_group fug, |
|
| 440 | %sfaqgroup fg |
|
| 441 | WHERE |
|
| 442 | fg.group_id = %d AND |
|
| 443 | fg.group_id = fug.group_id AND |
|
| 444 | fu.user_id = fug.user_id", |
|
| 445 | PMF_Db::getTablePrefix(), |
|
| 446 | PMF_Db::getTablePrefix(), |
|
| 447 | PMF_Db::getTablePrefix(), |
|
| 448 | $groupId |
|
| 449 | ); |
|
| 450 | ||
| 451 | $res = $this->config->getDb()->query($select); |
|
| 452 | $result = []; |
|
| 453 | while ($row = $this->config->getDb()->fetchArray($res)) { |
|
| 454 | $result[] = $row['user_id']; |
|
| 455 | } |
|
| 456 | return $result; |
|
| 457 | } |
|
| 458 | ||
| 459 | /** |
|
| 460 | * Adds a new member $userId to the group $groupId. |
|
| @@ 856-890 (lines=35) @@ | ||
| 853 | * @param integer $userId User ID |
|
| 854 | * @return array |
|
| 855 | */ |
|
| 856 | public function getUserGroupRights($userId) |
|
| 857 | { |
|
| 858 | if ($userId <= 0 || !is_numeric($userId)) { |
|
| 859 | return false; |
|
| 860 | } |
|
| 861 | ||
| 862 | $select = sprintf(" |
|
| 863 | SELECT |
|
| 864 | fr.right_id AS right_id |
|
| 865 | FROM |
|
| 866 | %sfaqright fr, |
|
| 867 | %sfaqgroup_right fgr, |
|
| 868 | %sfaqgroup fg, |
|
| 869 | %sfaquser_group fug, |
|
| 870 | %sfaquser fu |
|
| 871 | WHERE |
|
| 872 | fu.user_id = %d AND |
|
| 873 | fu.user_id = fug.user_id AND |
|
| 874 | fg.group_id = fug.group_id AND |
|
| 875 | fg.group_id = fgr.group_id AND |
|
| 876 | fr.right_id = fgr.right_id", |
|
| 877 | PMF_Db::getTablePrefix(), |
|
| 878 | PMF_Db::getTablePrefix(), |
|
| 879 | PMF_Db::getTablePrefix(), |
|
| 880 | PMF_Db::getTablePrefix(), |
|
| 881 | PMF_Db::getTablePrefix(), |
|
| 882 | $userId); |
|
| 883 | ||
| 884 | $res = $this->config->getDb()->query($select); |
|
| 885 | $result = []; |
|
| 886 | while ($row = $this->config->getDb()->fetchArray($res)) { |
|
| 887 | $result[] = $row['right_id']; |
|
| 888 | } |
|
| 889 | return $result; |
|
| 890 | } |
|
| 891 | ||
| 892 | /** |
|
| 893 | * Refuses all group rights. |
|
| @@ 343-371 (lines=29) @@ | ||
| 340 | * |
|
| 341 | * @return array |
|
| 342 | */ |
|
| 343 | public function getRecordsByUnionTags(Array $arrayOfTags) |
|
| 344 | { |
|
| 345 | if (!is_array($arrayOfTags)) { |
|
| 346 | return false; |
|
| 347 | } |
|
| 348 | ||
| 349 | $query = sprintf(" |
|
| 350 | SELECT |
|
| 351 | d.record_id AS record_id |
|
| 352 | FROM |
|
| 353 | %sfaqdata_tags d, %sfaqtags t |
|
| 354 | WHERE |
|
| 355 | t.tagging_id = d.tagging_id |
|
| 356 | AND |
|
| 357 | (t.tagging_name IN ('%s')) |
|
| 358 | GROUP BY |
|
| 359 | d.record_id", |
|
| 360 | PMF_Db::getTablePrefix(), |
|
| 361 | PMF_Db::getTablePrefix(), |
|
| 362 | PMF_String::substr(implode("', '", $arrayOfTags), 0, -2) |
|
| 363 | ); |
|
| 364 | ||
| 365 | $records = []; |
|
| 366 | $result = $this->_config->getDb()->query($query); |
|
| 367 | while ($row = $this->_config->getDb()->fetchObject($result)) { |
|
| 368 | $records[] = $row->record_id; |
|
| 369 | } |
|
| 370 | return $records; |
|
| 371 | } |
|
| 372 | ||
| 373 | /** |
|
| 374 | * Returns the tagged item |
|