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