示例#1
0
    $query = $GLOBALS["db"]->prepare("UPDATE `User_Details` SET `TimeStamp` = ? WHERE `ID` = ?");
    $query->execute(array($timeStamp, $GLOBALS["ID"]));
}
function ifCheat($TSnew)
{
    $query = $GLOBALS["db"]->prepare("SELECT `TimeStamp` FROM `User_Details` WHERE `ID` = ?");
    $query->execute(array($GLOBALS["ID"]));
    $TSold = $query->fetch(PDO::FETCH_ASSOC)['TimeStamp'];
    if ($TSnew - $TSold < $GLOBALS['TSdiff']) {
        $query = $GLOBALS['db']->prepare("INSERT INTO `Cheat_Users` SET `ID` = ?,`LevelOld` = ? ,`IP` = ?, `TSnew` = ?, `TSold` = ?");
        $query->execute(array($GLOBALS['ID'], $GLOBALS['Level'], $_SERVER['REMOTE_ADDR'], $TSnew, $TSold));
    }
}
//TODO: crypt the DB also
$ans = crypt($ans, $salt);
if (authUser()) {
    $query = $db->prepare("SELECT `Level` FROM `User_Details` WHERE `ID` = ?");
    $query->execute(array($ID));
    $Level = $query->fetch(PDO::FETCH_ASSOC)['Level'];
    if (authAns()) {
        $timeStamp = new DateTime();
        ifCheat($timeStamp->getTimeStamp());
        setTimeStamp($timeStamp->getTimeStamp());
        setRank($timeStamp->getTimeStamp());
        echo json_encode(array("Message" => "Hooray!!", "Success" => True));
    } else {
        echo json_encode(array("Error" => 2, "Message" => "Wrong Answer.", "Success" => False));
    }
} else {
    echo json_encode(array("Error" => 1, "Message" => "Is it really u?", "Success" => False));
}
                    processCommands();
                    // update database according to edit commands
                    // Process processRules first, because the ExecEngine may execute code while processing this stuff.
                    echo '<div id="ProcessRuleResults">';
                    checkRoleRules($selectedRoleNr);
                    echo '</div>';
                    // Run all stored procedures in the database
                    // Doing so AFTER running the ExecEngine allows any problems with stored procedures to be 'fixed'
                    // 2do this: create a rule with the same ruleexpression and handle the violation with th ExecEngine
                    runAllProcedures();
                    runAllProcedures();
                    echo '<div id="InvariantRuleResults">';
                    $invariantRulesHold = checkInvariantRules();
                    echo '</div>';
                    if ($invariantRulesHold) {
                        setTimeStamp();
                        emitLog("COMMIT");
                        dbCommitTransaction();
                    } else {
                        emitLog("ROLLBACK");
                        dbRollbackTransaction();
                    }
                    echo '</div>';
                }
            }
        }
    }
}
SetSMF('pause', false);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function processCommands()