Exemplo n.º 1
0
} else {
    sleep(DELAY_SEC);
    //echo SYMBOL_ERROR;
    echo -100;
    return;
}
$SelectedTrueFalseProbs = array();
$SelectedSingleSelProbs = array();
$SelectedMultiSelProbs = array();
$easy_level_amount = 0;
$mid_level_amount = 0;
$high_level_amount = 0;
$problem_sets = json_decode($problem_sets);
foreach ($problem_sets as $problem_set) {
    //print_r($problem_set);
    $cur_problems = get_problems($problem_set);
    if ($cur_problems == ERR_NOT_ENOUGH_PROBLEM) {
        continue;
    }
    $SelectedTrueFalseProbs = array_merge($SelectedTrueFalseProbs, $cur_problems["true_false_problems"]);
    $SelectedSingleSelProbs = array_merge($SelectedSingleSelProbs, $cur_problems["single_problems"]);
    $SelectedMultiSelProbs = array_merge($SelectedMultiSelProbs, $cur_problems["multi_problems"]);
    $easy_level_amount = $easy_level_amount + $cur_problems["easy_level_amount"];
    $mid_level_amount = $mid_level_amount + $cur_problems["mid_level_amount"];
    $high_level_amount = $high_level_amount + $cur_problems["high_level_amount"];
}
// get problems detail about select problems
foreach ($select_problems as $problem_id) {
    $cur_problem = get_problem_detail($problem_id);
    if ($cur_problem->type == TRUE_FALSE_PROB) {
        array_push($SelectedTrueFalseProbs, $cur_problem);
Exemplo n.º 2
0
    return $problems;
}
// checks if the user has admin privileges
// magic cookie contains hash of the username and either "is_an_admin" or
// "just_a_user" appended based on the privileges
function check_if_admin($username, $magic_cookie)
{
    // check if the user that is logged in has admin privileges
    if (strcmp($magic_cookie, md5($username . "is_an_admin")) == 0) {
        return true;
    }
    return false;
}
/*---------------------------------------------------------------------------*/
require 'database.php';
// the PlatesPHP template engine
require 'lib/vendor/autoload.php';
$title = "Problemset";
// check if the user is logged in
$user_logged_in = isset($_COOKIE['username']);
// check whether the user is an admin
$admin = $user_logged_in == true ? check_if_admin($_COOKIE['username'], $_COOKIE['huehuehue']) : false;
// 1D array of problems which user already solved
$solved_problems = $user_logged_in == true ? get_solved_problems($_COOKIE['username'], $dbc) : array();
// 2D array of problems as it is passed to the template
// row keys: problem_id, problem_name, published, solved
$all_problems = get_problems($solved_problems, $dbc);
$data = array('title' => $title, 'problems' => $all_problems, 'admin' => $admin);
// render the webpage
$templates = new League\Plates\Engine('templates');
echo $templates->render('problemset', $data);
Exemplo n.º 3
0
}
// checks if the user has admin privileges
// magic cookie contains hash of the username and either "is_an_admin" or
// "just_a_user" appended based on the privileges
function is_admin($username, $magic_cookie)
{
    // check if the user that is logged in has admin privileges
    if (strcmp($magic_cookie, md5($username . "is_an_admin")) == 0) {
        return true;
    }
    return false;
}
/*---------------------------------------------------------------------------*/
require 'database.php';
// the PlatesPHP template engine
require 'lib/vendor/autoload.php';
$title = "Admin dashboard";
// check if the user is logged in
$user_logged_in = isset($_COOKIE['username']);
// check whether the user is an admin
$admin = $user_logged_in == true ? is_admin($_COOKIE['username'], $_COOKIE['huehuehue']) : false;
// array of problem ids
$problems = get_problems($dbc);
// array of usernames
$users = get_users($dbc);
// array of possible languages for solution submission
$langs = array('C++' => "cpp", 'C' => "c", 'Pascal' => "pas", 'Java' => "java", 'Python' => "py");
$data = array('title' => $title, 'problems' => $problems, 'users' => $users, 'admin' => $admin, 'langs' => $langs);
// render the webpage
$templates = new League\Plates\Engine('templates');
echo $templates->render('admin', $data);