Ejemplo n.º 1
0
function remove_achievement($id)
{
    if (!user_owns_achievement($id)) {
        //BAD
        return;
    }
    $connection = new PDO("mysql:host=" . DB_HOST . ";dbname=" . DB_NAME, DB_USER, DB_PWD);
    $achievement = fetch_achievement($id);
    if ($achievement->deleted) {
        error_log("Line #" . __LINE__ . ":" . __FUNCTION__ . "({$id}) Achievement already deleted.");
        return;
    }
    $achievement->abandoned ? delete_achievement($id) : abandon_achievement($id);
    if (!$achievement->locked) {
        toggle_locked_status($id);
    }
    $connection->exec("update achievements set rank=rank-1 where deleted=0 and parent={$achievement->parent} and rank>={$achievement->rank}");
    //This is a quick fix. May require a deleted tag so that tags can still stay active when an achievement is deleted.
    $connection->exec("update tags set active=0 where achievement_id={$id}");
}
Ejemplo n.º 2
0
    case "list_tags":
        list_tags(filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT));
        break;
    case "list_todo":
        list_todo(filter_input(INPUT_POST, 'achievement_id', FILTER_SANITIZE_NUMBER_INT));
        break;
    case "login":
        echo json_encode(login(filter_input(INPUT_POST, 'login', FILTER_SANITIZE_STRING), filter_input(INPUT_POST, 'password', FILTER_SANITIZE_STRING)));
        break;
    case "register_user":
        echo json_encode(register_user(filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING), filter_input(INPUT_POST, 'password', FILTER_SANITIZE_STRING), filter_input(INPUT_POST, 'email', FILTER_SANITIZE_STRING)));
        break;
    case "restore_achievement":
        restore_achievement(filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT));
        break;
    case "toggle_documentation_status":
        toggle_documentation_status(filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT));
        break;
    case "toggle_quality":
        toggle_quality(filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT));
        break;
    case "toggle_locked_status":
        toggle_locked_status(filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT));
        break;
    case "toggle_active_status":
        toggle_active_status(filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT));
        break;
    case "uncomplete_achievement":
        uncomplete_achievement(filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT));
        break;
}