153 lines
4.3 KiB
PHP
153 lines
4.3 KiB
PHP
<?php
|
|
/** form for subscribing to/unsubscribing from the newsletter
|
|
* @version 1.0.0
|
|
* @date 2008-01-14
|
|
* @author Martin Lenzelbauer
|
|
*/
|
|
require_once(ROOT."include/db.inc.php");
|
|
//require_once(ROOT."cms/modules/ticketcustomer.class.php");
|
|
|
|
/** predefined entry point for the PHP script
|
|
* @return page content
|
|
*/
|
|
//-------------------------------
|
|
function doPhpScript(){
|
|
//-------------------------------
|
|
if(isset($_POST['submit'])){
|
|
if(isValid()){
|
|
process();
|
|
return printSuccess();
|
|
}
|
|
return printForm();
|
|
}
|
|
return printForm();
|
|
}
|
|
|
|
|
|
/** checks if the entered form data is valid
|
|
* @return true, if the data is valid
|
|
*/
|
|
//----------------------------------
|
|
function isValid(){
|
|
//----------------------------------
|
|
global $errors;
|
|
$errors = array();
|
|
if($_POST['action'] == "subscribe"){
|
|
if(empty($_POST['firstname'])){
|
|
$errors[] = "Bitte geben Sie Ihren Vornamen an!";
|
|
}
|
|
if(empty($_POST['surname'])){
|
|
$errors[] = "Bitte geben Sie Ihren Nachnamen an!";
|
|
}
|
|
if(empty($_POST['email'])){
|
|
$errors[] = "Bitte geben Sie Ihre E-Mail Adresse an!";
|
|
}
|
|
}
|
|
return sizeof($errors) == 0;
|
|
}
|
|
|
|
|
|
/** prints the form
|
|
* @return string
|
|
*/
|
|
//----------------------------------------
|
|
function printForm(){
|
|
//----------------------------------------
|
|
global $errors;
|
|
$t = new Template(TEMPLATE_DIR."subparts/newsletter.html");
|
|
$t->removeBlock("SUCCESS");
|
|
$t->setVar("ACTION", getCurrentUrl());
|
|
if(sizeof($errors) > 0){
|
|
$e = "<strong>FEHLER:</strong><ul>";
|
|
foreach($errors as $i){
|
|
$e .= "<li>$i</li>";
|
|
}
|
|
$e .= "</ul>";
|
|
$t->setVar("ERRORS", $e);
|
|
}
|
|
else{
|
|
$t->setVar("ERRORS", " ");
|
|
}
|
|
if(isset($_GET['email'])){
|
|
$_POST['email'] = urldecode($_GET['email']);
|
|
$_POST['action'] = "unsubscribe";
|
|
}
|
|
$t->setVar("FIRSTNAME", $_POST['firstname']);
|
|
$t->setVar("SURNAME", $_POST['surname']);
|
|
$t->setVar("EMAIL", $_POST['email']);
|
|
if($_POST['action'] == "unsubscribe"){
|
|
$t->setVar("UNSUBSCRIBE", "selected=\"selected\"");
|
|
$t->setVar("SUBSCRIBE", "");
|
|
}
|
|
else{
|
|
$t->setVar("UNSUBSCRIBE", "");
|
|
$t->setVar("SUBSCRIBE", "selected=\"selected\"");
|
|
}
|
|
return $t->toString();
|
|
}
|
|
|
|
|
|
/** prints the success view
|
|
* @return string
|
|
*/
|
|
//------------------------------------------
|
|
function printSuccess(){
|
|
//------------------------------------------
|
|
$t = new Template(TEMPLATE_DIR."subparts/newsletter.html");
|
|
$t->removeBlock("FORM");
|
|
if($_POST['action'] == "subscribe"){
|
|
$t->removeBlock("UNSUBSCRIBE");
|
|
}
|
|
else{
|
|
$t->removeBlock("SUBSCRIBE");
|
|
}
|
|
return $t->toString();
|
|
}
|
|
|
|
|
|
/** processes the form
|
|
*/
|
|
//------------------------------------------
|
|
function process(){
|
|
//------------------------------------------
|
|
// subscribe to newsletter
|
|
if($_POST['action'] == "subscribe"){
|
|
$query = sprintf("SELECT id,newsletter FROM bruckm_ticketcustomer WHERE email = %s LIMIT 1",
|
|
sqlstring($_POST['email']));
|
|
$result = dbQuery($query);
|
|
if($line = mysqli_fetch_array($result)){
|
|
if($line['newsletter'] == "no"){
|
|
$query = sprintf("UPDATE bruckm_ticketcustomer SET newsletter = 'true' WHERE id = %d",
|
|
sqlnum($line['id']));
|
|
dbQuery($query);
|
|
}
|
|
}
|
|
else{
|
|
$query = sprintf("INSERT INTO bruckm_ticketcustomer (firstname, surname, email, creationDate) VALUES (%s, %s, %s, NOW())",
|
|
sqlstring($_POST['firstname']),
|
|
sqlstring($_POST['surname']),
|
|
sqlstring($_POST['email']));
|
|
dbQuery($query);
|
|
}
|
|
// send subscribtion e-mail
|
|
$to = $_POST['email'];
|
|
$subject = "Anmeldung zum Newsletter | Kulturhaus Bruckmühle";
|
|
$msg = "Sehr geehrte(r) $_POST[firstname] $_POST[surname],\n\n";
|
|
$msg .= "Ihre E-Mail Adresse $_POST[email] wurde soeben erfolgreich für den Newsletter der Bruckmühle Pregarten angemeldet!\n";
|
|
$msg .= "Sie können den Newsletter jederzeit unter der URL http://www.bruckmuehle.at/?id=820&email=" . urlencode($_POST['email']) ." wieder abmelden.\n\n";
|
|
$msg .= "Kulturhaus Bruckmühle Pregarten\n";
|
|
$msg .= "Bahnhofstraße 12\n";
|
|
$msg .= "4230 Pregarten";
|
|
$headers = "From: kulturhaus@bruckmuehle.at\r\n";
|
|
$headers .= "Content-Type: text/plain; charset=\"utf-8\"\r\n";
|
|
@mail($to, $subject, $msg, $headers);
|
|
}
|
|
// unsubscribe from newsletter
|
|
else{
|
|
$query = sprintf("UPDATE bruckm_ticketcustomer SET newsletter = 'false' WHERE email = %s",
|
|
sqlstring($_POST['email']));
|
|
dbQuery($query);
|
|
}
|
|
}
|
|
|
|
?>
|