function album_get_sub_cat_ids($cur_cat_id = ALBUM_ROOT_CATEGORY, &$cats, $auth_key = ALBUM_AUTH_VIEW, $include_cur_cat_id = false) { global $album_data; if ($include_cur_cat_id == true) { if (album_check_permission($album_data['auth'][$cur_cat_id], $auth_key)) { $cats[] = $cur_cat_id; } } // get all the sub category id for current sub category for ($j = 0; $j < sizeof($album_data['sub'][$cur_cat_id]); $j++) { $subcur = $album_data['sub'][$cur_cat_id][$j]; $subthis = $album_data['keys'][$subcur]; $subdata = $album_data['data'][$subthis]; // add the category id //if ($album_data['auth'][$cur][$auth_key] == 1) //if (album_check_permission($wdata['cat_id'], $auth_key)) if (album_check_permission($album_data['auth'][$subcur], $auth_key)) { $cats[] = $subdata['cat_id']; } } // do this for each sub category... recursive for ($i = 0; $i < sizeof($album_data['sub'][$cur_cat_id]); $i++) { album_get_sub_cat_ids($album_data['sub'][$cur_cat_id][$i], $cats); } }
if (!$user->data['session_logged_in']) { redirect(append_sid(album_append_uid(CMS_PAGE_LOGIN . '?redirect=album_cat.' . PHP_EXT . '&cat_id=' . $cat_id))); } else { message_die(GENERAL_ERROR, $lang['Not_Authorized']); } } // END check permissions if (empty($thiscat)) { message_die(GENERAL_MESSAGE, $lang['Category_not_exist']); } // ------------------------------------ // Build the list of allowed sub category id's // ------------------------------------ $subcats = array(); $allowed_cat = $cat_id; album_get_sub_cat_ids($cat_id, $subcats); for ($i = 0; $i < sizeof($subcats); $i++) { $allowed_cat .= ',' . $subcats[$i]; } // END cat info // ------------------------------------ // Build Auth List // ------------------------------------ $auth_list = album_build_auth_list($album_user_id, $cat_id); // END Auth List // ------------------------------------ // Build Moderators List // ------------------------------------ $grouprows = array(); $moderators_list = ''; if ($album_user_id == ALBUM_PUBLIC_GALLERY && $thiscat['cat_moderator_groups'] != '') {
} $cat_ids = $cat_id; $image_toggle_button = $images['all_pic_view_mode']; $view_mode_url = append_sid(album_append_uid($album_page_url . '?cat_id=' . intval($cat_id) . '&mode=' . ALBUM_VIEW_ALL)); $view_mode_text = $lang['Show_all_pic_view_mode']; } else { $album_nav_cat_desc = album_make_nav_tree(album_get_personal_root_id($album_user_id), $album_page_url, 'nav', $album_user_id); if (!empty($album_nav_cat_desc)) { $nav_server_url = create_server_url(); $album_nav_cat_desc = ALBUM_NAV_ARROW . $album_nav_cat_desc; $breadcrumbs['address'] = ALBUM_NAV_ARROW . '<a href="' . $nav_server_url . append_sid('album.' . PHP_EXT) . '">' . $lang['Album'] . '</a>' . $album_nav_cat_desc; } if (album_get_personal_root_id($album_user_id) != $cat_id) { $allowed_cat = $cat_id; $tmp_array = array(); album_get_sub_cat_ids(album_get_personal_root_id($album_user_id), $tmp_array, ALBUM_AUTH_VIEW, true); reset($tmp_array); while (list($key, $id) = each($tmp_array)) { if ($id != $cat_id) { $allowed_cat .= ',' . $id; } } } $cat_ids = $allowed_cat; $image_toggle_button = $images['normal_pic_view_mode']; $view_mode_url = append_sid(album_append_uid($album_page_url . '?cat_id=' . intval($cat_id))); $view_mode_text = $lang['Show_selected_pic_view_mode']; } // ------------------------------------------------------------------------ // Count Pics of the root category of personal gallery, // - $cat_ids is set in the above IF statement