Beispiel #1
0
function forum_get_permissions($fid, $page = 1)
{
    if (!($db = db::get())) {
        return false;
    }
    if (!is_numeric($fid)) {
        return false;
    }
    if (!is_numeric($page) || $page < 1) {
        $page = 1;
    }
    $offset = calculate_page_offset($page, 20);
    $perms_user_array = array();
    $sql = "SELECT SQL_CALC_FOUND_ROWS USER.UID, USER.LOGON, USER.NICKNAME FROM USER USER ";
    $sql .= "LEFT JOIN USER_FORUM USER_FORUM ON (USER_FORUM.UID = USER.UID) ";
    $sql .= "WHERE USER_FORUM.FID = '{$fid}' AND USER_FORUM.ALLOWED = 1 ";
    $sql .= "LIMIT {$offset}, 20";
    if (!($result = $db->query($sql))) {
        return false;
    }
    $sql = "SELECT FOUND_ROWS() AS ROW_COUNT";
    if (!($result_count = $db->query($sql))) {
        return false;
    }
    list($perms_user_count) = $result_count->fetch_row();
    if ($result->num_rows == 0 && $perms_user_count > 0 && $page > 1) {
        return forum_get_permissions($fid, $page - 1);
    }
    while ($user_data = $result->fetch_assoc()) {
        if (isset($user_data['LOGON']) && isset($user_data['PEER_NICKNAME'])) {
            if (!is_null($user_data['PEER_NICKNAME']) && strlen($user_data['PEER_NICKNAME']) > 0) {
                $user_data['NICKNAME'] = $user_data['PEER_NICKNAME'];
            }
        }
        if (!isset($user_data['LOGON'])) {
            $user_data['LOGON'] = gettext("Unknown user");
        }
        if (!isset($user_data['NICKNAME'])) {
            $user_data['NICKNAME'] = "";
        }
        $perms_user_array[] = $user_data;
    }
    return array('user_count' => $perms_user_count, 'user_array' => $perms_user_array);
}
                        $error_msg_array[] = sprintf(gettext("Failed to remove permissions from user '%s'"), $user_logon);
                        $valid = false;
                    }
                }
            }
            if ($valid) {
                $ret = rawurlencode($ret);
                $user_search = rawurlencode($user_search);
                header_redirect("admin_forum_access.php?webtag={$webtag}&user_search={$user_search}&ret={$ret}&removed=true");
                exit;
            }
        }
    }
}
html_draw_top(sprintf('title=%s', gettext("Admin - Manage Forum Permissions")), 'class=window_title');
$user_permissions_array = forum_get_permissions($forum_fid, $main_page);
echo "<h1>", gettext("Admin"), "<img src=\"", html_style_image('separator.png'), "\" alt=\"\" border=\"0\" />", gettext("Manage Forum Permissions"), "</h1>\n";
if (isset($_GET['added'])) {
    html_display_success_msg(gettext("Successfully added permissions for selected users"), '500', 'center');
} else {
    if (isset($_GET['removed'])) {
        html_display_success_msg(gettext("Successfully removed permissions from selected users"), '500', 'center');
    } else {
        if (sizeof($user_permissions_array['user_array']) < 1) {
            html_display_warning_msg(gettext("No existing users permissions found. To grant permission to users search for them below."), '500', 'center');
        }
    }
}
echo "<br />\n";
echo "<div align=\"center\">\n";
echo "<form accept-charset=\"utf-8\" name=\"f_user\" action=\"admin_forum_access.php\" method=\"post\">\n";