<?php

/**
 * Diese Datei ist ein PhpSkript, welches den Versand weiterer Newsletter starten
 * kann. Dieses Skript wird von der Ajax-Oberflaeche, die den Versandprozess
 * anzeigt, gestartet.
 * @author Stefan Rank-Kunitz [at] Open-Letters anno 2009
 * @package Newslettersystem
 * @subpackage Backend
 */
error_reporting(E_ALL);
/** definiert, dass alle Dateien aus Sicht eines Unterverzeichnisses (hier "admin")
 * eingebunden werden */
define("ROOT_PATH", "../");
/** Laden der Config-Datei NUR hier, damit eine andere Datei nicht als Programm
 * funktionieren kann (weil sie z.B. die DB-Zugangsdaten nicht kennt).*/
require_once ROOT_PATH . "config/config.inc.php";
// Newsletterklasse laden und Newsletter-ID holen
require_once ROOT_PATH . "include/newsletter.class.php";
// erneutes Senden anstossen
$nl = new Newsletter($_GET['newsletter_id']);
$json_ausgabe = $nl->send(1);
// Ausgabe
echo $json_ausgabe;
 /**
  * Diese Methode nimmt umfangreiche Pruefungen der uebergebenen GET- und POST-Parameter
  * vor und veranlasst jede nur moegliche Veraenderung der Newsletter und ihrer
  * Eintraege.
  * @return string entstehende Ausgaben und Fehlermeldungen
  */
 protected function edit()
 {
     $rueckgabe = "";
     // ggf. Newsletter loeschen
     if (array_key_exists("deleteNewsletter", $_GET) && strlen($_GET['deleteNewsletter']) > 0) {
         $tmp = new Newsletter($_GET['deleteNewsletter']);
         if ($tmp->delete()) {
             $rueckgabe .= $this->text->get_text("newsletter_delete_success");
         } else {
             $rueckgabe .= $this->text->get_text("newsletter_delete_error");
         }
     }
     // neuen Newsletter erstellen
     if (array_key_exists("newNewsletter", $_GET)) {
         $id = Newsletter::create();
     }
     // fertigen Newsletter versenden
     if (array_key_exists("sendNewsletter", $_GET)) {
         if (array_key_exists("senderAddress", $_GET) && strlen($_GET['senderAddress']) > 0) {
             // Schritt 2: Newsletter wirklich absenden
             $newsletter_id = $_GET['sendNewsletter'];
             $tmp = new Newsletter($newsletter_id);
             $tmp->update_timestamp();
             $rueckgabe = $tmp->send();
             //				$rueckgabe.= $this->text->get_text( "newsletter_send_success_01").$count."<br />";
             //				$count = $this->db->query("SELECT count(email) FROM ".PREFIX."newsletter");
             //				$rueckgabe.= $this->text->get_text( "newsletter_send_success_02").$count[0]['count(email)'];
         } else {
             // Schritt 1: Absender auswaehlen
             $params = explode(";", SENDER_ADDRESS);
             $rueckgabe .= $this->execute_view(ROOT_PATH . "admin/confirm_sending.view.php", $params);
         }
     }
     // neuen Eintrag zu einem Newsletter anlegen
     if (array_key_exists("newEntry", $_GET) && array_key_exists("edit", $_GET) && strlen($_GET['edit']) > 0) {
         $tmp = new Newsletter($_GET['edit']);
         $tmp->add_entry();
     }
     // einen Eintrag loeschen
     if (array_key_exists("deleteEntry", $_GET) && strlen($_GET['deleteEntry']) > 0) {
         $tmp = new Newsletter($_GET['edit']);
         $erg = $tmp->delete_entry($_GET['deleteEntry']);
         $rueckgabe .= $this->text->get_text("newsletter_entry_delete_success");
     }
     // einen bearbeiteten Eintrag speichern
     $entry_id = $this->postman->get_plaintext("saveEntry");
     if (!is_null($entry_id) && strlen($entry_id) > 0) {
         $newsletter_id = Newsletter::get_newsletter_id_for_entry($entry_id);
         if (!is_null($newsletter_id)) {
             $tmp = new Newsletter($newsletter_id);
             if ($tmp->save_entry()) {
                 $rueckgabe .= $this->text->get_text("newsletter_save_entry_success");
             } else {
                 $rueckgabe .= $this->text->get_text("newsletter_save_entry_error");
             }
         }
     }
     // Entry hoch verschieben
     if (array_key_exists("entryUp", $_GET) && strlen($_GET['entryUp']) > 0) {
         $newsletter_id = Newsletter::get_newsletter_id_for_entry($_GET['entryUp']);
         $tmp = new Newsletter($newsletter_id);
         $tmp->entry_up($_GET['entryUp']);
     }
     // Entry nach unten verschieben
     if (array_key_exists("entryDown", $_GET) && strlen($_GET['entryDown'] > 0)) {
         $newsletter_id = Newsletter::get_newsletter_id_for_entry($_GET['entryDown']);
         $tmp = new Newsletter($newsletter_id);
         $tmp->entry_down($_GET['entryDown']);
     }
     return $rueckgabe;
 }
Exemplo n.º 3
0
include_once 'newsletterclass.inc.php';
$newsletter = new Newsletter();
$smarty->assign("tpl_title", "Newsletter versenden");
$smarty->assign('tpl_nav', 'newsletter');
$smarty->assign('tpl_type', 'newsletter');
if ($request->GetVar('frm_cat', 'post') !== $request->undefined) {
    $cats = $request->GetVar('frm_cat', 'post');
    $sender = $request->GetVar('frm_sender', 'post');
    $senderemail = $request->GetVar('frm_senderemail', 'post');
    $subject = $request->GetVar('frm_subject', 'post');
    $body = $request->GetVar('frm_body', 'post');
    if ($request->GetVar('frm_andop', 'post') == 'yes') {
        $andop = true;
    } else {
        $andop = false;
    }
    if ($request->GetVar('frm_salutation', 'post') == 'yes') {
        $salutation = true;
    } else {
        $salutation = false;
    }
    $number = $newsletter->send($cats, $sender, $senderemail, $subject, $body, $andop, $salutation);
    $smarty->assign('tpl_number', $number);
    $smarty->assign('tpl_sent', 'true');
} else {
    $smarty->assign('tpl_sent', 'false');
    $smarty->assign('tpl_cat', $newsletter->getCategories());
    $smarty->assign('tpl_hotelname', $request->getVar('hotel_name', 'session'));
    $smarty->assign('tpl_hotelemail', $request->getVar('hotel_email', 'session'));
}
$smarty->display('newsletter.tpl');