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);
    }
}
Example #2
0
    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) . '&amp;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