public function testValidateGoodName()
 {
     // arrange
     $validationHelper = new RequestValidationHelper(new MockBanHelper(), $this->request, $this->request->getEmail());
     // act
     $result = $validationHelper->validateName();
     // assert
     $this->assertEmpty($result);
 }
예제 #2
0
파일: index.php 프로젝트: Austin503/waca
} else {
    if ($_SERVER['REQUEST_METHOD'] == "POST") {
        $errorEncountered = false;
        $request = new Request();
        $request->setDatabase($database);
        $request->setName($_POST['name']);
        $request->setEmail($_POST['email']);
        $request->setComment($_POST['comments']);
        $request->setIp($_SERVER['REMOTE_ADDR']);
        if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
            $request->setForwardedIp($_SERVER['HTTP_X_FORWARDED_FOR']);
        }
        if (isset($_SERVER['HTTP_USER_AGENT'])) {
            $request->setUserAgent($_SERVER['HTTP_USER_AGENT']);
        }
        $validationHelper = new RequestValidationHelper(new BanHelper(), $request, $_POST['emailconfirm']);
        // These are arrays of ValidationError.
        $nameValidation = $validationHelper->validateName();
        $emailValidation = $validationHelper->validateEmail();
        $otherValidation = $validationHelper->validateOther();
        $validationErrors = array_merge($nameValidation, $emailValidation, $otherValidation);
        if (count($validationErrors) > 0) {
            foreach ($validationErrors as $validationError) {
                BootstrapSkin::displayAlertBox($smarty->fetch("validation/" . $validationError->getErrorCode() . ".tpl"), "alert-error");
            }
            $smarty->display("request/request-form.tpl");
        } else {
            if ($enableEmailConfirm == 1) {
                $request->generateEmailConfirmationHash();
                $database->transactionally(function () use($request) {
                    $request->save();