Пример #1
0
if ($current_user->is_root()) {
    $num = 1;
    $force = convert_str($_POST["force"]);
    $weight = intval(convert_str($_POST["weight"]));
} else {
    if (!$current_user->aced_problem($pid)) {
        $ret["msg"] = "You haven't solved this problem.";
        echo json_encode($ret);
        die;
    }
}
$num = problem_get_category_name_from_id($tagid);
if ($num == "") {
    $ret["msg"] = "No such type.";
    echo json_encode($ret);
    die;
}
if ($force != 1) {
    if ($current_user->tagged($pid, $tagid)) {
        $ret["msg"] = "You have already tagged this type or one of its sub-types.";
        echo json_encode($ret);
        die;
    }
}
do {
    $current_user->tag_problem_as_category($pid, $tagid, $weight, $force);
    $tagid = problem_get_category_parent_from_id($tagid);
} while ($tagid > 0);
$ret["msg"] = "Tag success!";
$ret["code"] = 0;
echo json_encode($ret);
$scate = array();
if (isset($_GET['category'])) {
    $catarr = '[{"name": "catenum", "value":"1"}, {"name": "logic", "value":"or"}, {"name":"cate0", "value":"' . $_GET['category'] . '"}]';
    $scate[] = htmlspecialchars(problem_get_category_name_from_id(convert_str($_GET['category'])));
} else {
    if ($_POST['logic'] == "or") {
        $catarr = '[ {"name":"logic", "value": "or"}';
    } else {
        $catarr = '[ {"name":"logic", "value": "and"}';
    }
    $num = 0;
    foreach ($_POST as $kkey => $value) {
        if ($kkey == "logic") {
            continue;
        }
        $pt = problem_get_category_parent_from_id(convert_str($value));
        if (isset($_POST["check" . $pt]) == $value) {
            continue;
        }
        $scate[] = htmlspecialchars(problem_get_category_name_from_id(convert_str($value)));
        $catarr .= ',{"name":"cate' . $num . '", "value":"' . $value . '"}';
        $num++;
    }
    $catarr .= ',{"name":"catenum", "value":"' . $num . '"} ]';
}
?>
          <h2>Selected Categories</h2>
          <div class="well">
            <?php 
echo implode(" &nbsp; <b> " . htmlspecialchars(strtoupper($_POST['logic'])) . " &nbsp; </b> ", $scate);
?>