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