@@ 322-355 (lines=34) @@ | ||
319 | * @param int $group_id |
|
320 | * @return array |
|
321 | */ |
|
322 | public static function get_parent_groups($group_id) |
|
323 | { |
|
324 | $t_rel_group = Database :: get_main_table(TABLE_MAIN_GROUP_REL_GROUP); |
|
325 | $max_level = 10; |
|
326 | $select_part = "SELECT "; |
|
327 | $cond_part = ''; |
|
328 | for ($i = 1; $i <= $max_level; $i++) { |
|
329 | $g_number = $i; |
|
330 | $rg_number = $i - 1; |
|
331 | if ($i == $max_level) { |
|
332 | $select_part .= "rg$rg_number.group_id as id_$rg_number "; |
|
333 | } else { |
|
334 | $select_part .="rg$rg_number.group_id as id_$rg_number, "; |
|
335 | } |
|
336 | if ($i == 1) { |
|
337 | $cond_part .= "FROM $t_rel_group rg0 LEFT JOIN $t_rel_group rg$i on rg$rg_number.group_id = rg$i.subgroup_id "; |
|
338 | } else { |
|
339 | $cond_part .= " LEFT JOIN $t_rel_group rg$i on rg$rg_number.group_id = rg$i.subgroup_id "; |
|
340 | } |
|
341 | } |
|
342 | $sql = $select_part.' '.$cond_part."WHERE rg0.subgroup_id='$group_id'"; |
|
343 | $res = Database::query($sql); |
|
344 | $temp_arr = Database::fetch_array($res, 'NUM'); |
|
345 | $toReturn = array(); |
|
346 | if (is_array($temp_arr)) { |
|
347 | foreach ($temp_arr as $elt) { |
|
348 | if (isset($elt)) { |
|
349 | $toReturn[] = $elt; |
|
350 | } |
|
351 | } |
|
352 | } |
|
353 | ||
354 | return $toReturn; |
|
355 | } |
|
356 | ||
357 | /** |
|
358 | * Gets the tags from a given group |
@@ 2190-2223 (lines=34) @@ | ||
2187 | * @param int $group_id |
|
2188 | * @return array |
|
2189 | */ |
|
2190 | public static function get_parent_groups($group_id) |
|
2191 | { |
|
2192 | $t_rel_group = Database :: get_main_table(TABLE_USERGROUP_REL_USERGROUP); |
|
2193 | $max_level = 10; |
|
2194 | $select_part = "SELECT "; |
|
2195 | $cond_part = ''; |
|
2196 | for ($i = 1; $i <= $max_level; $i++) { |
|
2197 | $g_number = $i; |
|
2198 | $rg_number = $i - 1; |
|
2199 | if ($i == $max_level) { |
|
2200 | $select_part .= "rg$rg_number.group_id as id_$rg_number "; |
|
2201 | } else { |
|
2202 | $select_part .="rg$rg_number.group_id as id_$rg_number, "; |
|
2203 | } |
|
2204 | if ($i == 1) { |
|
2205 | $cond_part .= "FROM $t_rel_group rg0 LEFT JOIN $t_rel_group rg$i on rg$rg_number.group_id = rg$i.subgroup_id "; |
|
2206 | } else { |
|
2207 | $cond_part .= " LEFT JOIN $t_rel_group rg$i on rg$rg_number.group_id = rg$i.subgroup_id "; |
|
2208 | } |
|
2209 | } |
|
2210 | $sql = $select_part.' '.$cond_part."WHERE rg0.subgroup_id='$group_id'"; |
|
2211 | $res = Database::query($sql); |
|
2212 | $temp_arr = Database::fetch_array($res, 'NUM'); |
|
2213 | $toReturn = array(); |
|
2214 | if (is_array($temp_arr)) { |
|
2215 | foreach ($temp_arr as $elt) { |
|
2216 | if (isset($elt)) { |
|
2217 | $toReturn[] = $elt; |
|
2218 | } |
|
2219 | } |
|
2220 | } |
|
2221 | ||
2222 | return $toReturn; |
|
2223 | } |
|
2224 | ||
2225 | /** |
|
2226 | * Get the group member list by a user and his group role |