public function isValid()
 {
     $this->errors = array();
     if (!preg_match(Client::$EMAIL_REGEX, $this->email)) {
         $this->setError(BOOKING_DETAILS_EMAIL_INVALID);
     } else {
         $sub = NewsletterSubscription::fetchFromDbForEmail($this->email);
         if ($sub != null && $sub->id != $this->id) {
             $this->setError("Subscription with email: " . $this->email . " already exists");
         }
     }
     return sizeof($this->errors) == 0;
 }
Beispiel #2
0
include "includes/language.php";
global $systemConfiguration;
global $logger;
unset($_SESSION['bookingDetails']);
$logger->LogInfo(__FILE__);
$logger->LogDebug("Script is starting ...");
$errorMessage = "";
$successMessage = "";
if (sizeof($_POST) > 0) {
    $logger->LogInfo("Processing newsletter subscription ...");
    $systemConfiguration->assertReferer();
    if (isset($_POST['email'])) {
        $emailAddress = trim($_POST['email']);
        $logger->LogDebug("Email address for newsletter was specified.");
        $logger->LogDebug($emailAddress);
        $subscription = NewsletterSubscription::fetchFromDbForEmail($emailAddress);
        if ($subscription == null) {
            $subscription = new NewsletterSubscription();
        }
        $subscription->email = $emailAddress;
        $subscription->isActive = true;
        $logger->LogDebug("Saving subscription ...");
        if ($subscription->save()) {
            $logger->LogDebug("Saving is successful.");
            $successMessage = HOME_BOX_BOTTOM_LEFT_SUCCESS;
        } else {
            $logger->LogError("Saving FAILED!");
            $logger->LogError($subscription->errors);
            $errorMessage = BOOKING_DETAILS_EMAIL_INVALID;
        }
    }