| @@ 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  | 
                                |