}
$uid = is_object($xoopsUser) ? $xoopsUser->getVar('uid', 'n') : UID_GUEST;
if ($uid == UID_GUEST && !public_item_target_user_all()) {
    //
    // for guest access, show message that access to index tree is forbidden.
    //
    xoops_header(false);
    echo '</head><body><div style="font-size: 10pt;">';
    echo _MD_XOONIPS_INDEX_FORBIDDEN;
    echo '</div>';
    xoops_footer();
    exit;
}
// get index tree structure
include_once 'include/gentree.php';
$indexes = genIndexTree0($xnpsid);
$is_moderator = xnp_is_moderator($xnpsid, $uid);
if ($is_moderator && $get_vals['puid'] > 0) {
    $puid = $get_vals['puid'];
} else {
    $puid = $uid;
}
if ($is_moderator) {
    filterMyIndex($indexes, $xnpsid, $puid);
}
if ($get_vals['edit']) {
    filterEditableIndex($indexes, $xnpsid, $uid, $puid, $get_vals['edit_public'] && !empty($_SESSION['xoonips_old_uid']));
}
if ($get_vals['private_only']) {
    filterPrivateIndex($indexes, $puid);
}
/** get Index tree contains Public and Private Index.
 * @param $xnpsid XNPSID
 * @return tree Empty array in error.
 */
function genPublicPrivateIndexTree($xnpsid, $uid)
{
    $indexes = genIndexTree0($xnpsid);
    filterPublicPrivateIndex($indexes, $uid);
    return genIndexTree1($indexes);
}