ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Newsletter mit speziellen Angaben

Geschlossen
  1. #1
    User Pic
    Patschi Mitglied
    Registriert seit
    16.10.2011
    Beiträge
    2
    Beitragswertungen
    0 Beitragspunkte
    Hallo,

    ich versuche gerade mit dem Newsletter eine persönliche Anrede einzuprogrammieren. Dabei soll der Text "%%name%%" mit dem Namen ersetzt werden, der die Nachricht auch bekommt.

    Das Problem ist, dass nach dem Absenden NICHTS passiert. Es wird keine eMail und auch keine PN versendet. Es erscheint auch keine Fehlermeldung.

    Vielen Dank für eure Hilfe!
    Fröhliche Weihnachten!

    <?php
    // Copyright by: Manuel
    // Support: www.ilch.de
    defined ('main') or die ('no direct access');
    defined ('admin') or die ('only admin access');
    
    function XAJAX_changeList($select) {
        $objResponse = new xajaxResponse();
    
        if ($select == 'Normal') {
            $auswahl = array (
                'u0' => 'an alle User',
                );
    
            /*$erg = db_query("SELECT `name`,`id` FROM `prefix_groups` ORDER BY `id`");
            while ($RRrow = db_fetch_object($erg)) {
                $auswahl['g' . $RRrow->id] = $RRrow->name;
            }*/
    
            $listeB = '';
            $listeT = '';
    
            foreach ($auswahl as $k => $v) {
                if (strpos($k, 'u') !== false) {
                    $listeB .= '<option value="P' . $k . '">' . $v . ' PrivMsg</option>' . "\n";
                    $listeB .= '<option value="E' . $k . '">' . $v . ' eMail</option>' . "\n";
                }elseif (strpos($k, 'g') !== false) {
                    $listeT .= '<option value="P' . $k . '">' . $v . ' PrivMsg</option>' . "\n";
                    $listeT .= '<option value="E' . $k . '">' . $v . ' eMail</option>' . "\n";
                }
            }
    
            $content =
            <<<END
                <select id="nl_auswahl" name="auswahl">
                    <option value="Enews" selected="selected">eMail Newsletter</option>
                    <optgroup label="Benutzer">
                        {$listeB}
                    </optgroup>
                    <optgroup label="Gruppen">
                        {$listeT}
                    </optgroup>
        		</select>
    END;
        	$objResponse->assign('cb_html_cont', 'style.display', '');
        }else {
            $erg = db_query("SELECT * FROM `prefix_grundrechte` ORDER BY `id` ASC");
            $listeG = '';
    
            while ($row = db_fetch_assoc($erg)) {
                $listeG .= '<optgroup label="' . $row['name'] . '">';
                $listeG .= '<option value="Pr' . $row['id'] . '"> PrivMsg</option>';
                $listeG .= '<option value="Er' . $row['id'] . '"> eMail</option>';
                $listeG .= '</optgroup>';
            }
    
            $content =
            <<<END
                <select name="auswahl" id="nl_auswahl">
                    <option selected="selected" disabled="disabled">Bitte treffen Sie eine Auswahl</option>
                        {$listeG}
                </select>
    			<input type="checkbox" name="andhigher" id="cb_andhigher" value="1" />
    			<label for="cb_andhigher">und für alle höheren Rechte</label>
    END;
        }
    
        $objResponse->assign('list', 'innerHTML', $content);
    	$objResponse->setEvent('nl_auswahl', 'onchange', 'checkEmail();');
        return $objResponse;
    }
    
    $xajax = new xajax('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'] . '?newsletter=0');
    $xajax->configureMany(array('characterEncoding' => 'ISO-8859-1', 'decodeUTF8Input' => true));
    
    $xajax->registerFunction('XAJAX_changeList');
    $xajax->processRequest();
    
    $design = new design ('Admins Area', 'Admins Area', 2);
    $design->header();
    
    if (isset($_POST['SEND']) and chk_antispam('newsletter', true)) {
        $mailopm = substr($_POST['auswahl'], 0, 1);
        $usrogrp = substr($_POST['auswahl'], 1, 1);
    
        if ($_POST['auswahl'] == 'Enews') {
            $q = "SELECT `email` FROM `prefix_newsletter`";
        } elseif ($usrogrp == 'u') {
            $q = "SELECT `email`,`name` as `uname`,`id` as `uid` FROM `prefix_user` WHERE `recht` <= '-1'";
        } elseif ($usrogrp == 'g') {
            $gid = substr ($_POST['auswahl'], 2 , strlen ($_POST['auswahl']) - 1);
            $q = "SELECT `b`.`email`, `b`.`name` as `uname`, `b`.`id` as `uid` FROM `prefix_groupusers` `a` LEFT JOIN `prefix_user` `b` ON `a`.`uid` = `b`.`id` WHERE `a`.`gid` = '$gid'";
        } elseif ($usrogrp == 'r') {
            $q = "SELECT `email`,`id` as `uid` FROM `prefix_user` WHERE `recht` ".(isset($_POST['andhigher']) ? '<' : '')."= '" . substr($_POST['auswahl'], 2, strlen($_POST['auswahl']) - 1) . "'";
        }
    
        $erg = db_query ($q);
        $zahler = 0;
    
        if (db_num_rows($erg) > 0) {
            if ($mailopm == 'E') {
            	$emails = array('bbc', $allgAr['adminMail']);
    			while ($row = db_fetch_object($erg)) {
    				if (!in_array($row->email, $emails) and preg_match('/^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])'.'(([a-z0-9-])*([a-z0-9]))+'.'(\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$/i', $row->email) == 1) {
    					
    					$name = db_result(db_query("SELECT name FROM prefix_user WHERE email='".$row->email."'"));
    					icmail ($row->email, str_replace("%%name%%", $name, $_POST['bet']), str_replace("%%name%%", $name, $_POST['txt']), '', isset($_POST['html']));
    
    					$emails[] = $row->email;
    					$zahler++;
      				}
            	}
            } elseif ($mailopm == 'P') {
            	$uids = array();
    			while ($row = db_fetch_object($erg)) {
    
    				$name = db_result(db_query("SELECT name FROM prefix_user WHERE id=".$row->uid));
    				sendpm($_SESSION['authid'], $row->uid, str_replace("%%name%%", $name, escape($_POST['bet'], 'string')), str_replace("%%name%%", $name, escape($_POST['txt'], 'string')), -1);
    
                	$uids[] = $row->uid;
            		$zahler++;
            	}
    		}
    
            if ($mailopm == 'E') {
                $eMailorPmsg = 'eMail(s)';
            } elseif ($mailopm == 'P') {
                $eMailorPmsg = 'Private Nachrichte(n)';
            }
    
            wd('admin.php?newsletter', 'Es wurde(n) ' . $zahler . ' ' . $eMailorPmsg . ' verschickt.', 5);
        } else {
            wd('admin.php?newsletter', 'F&uuml;r diese Auswahl konnte nichts gefunden werden.', 5);
        }
    } else {
        echo $xajax->printJavascript();
        $tpl = new tpl ('newsletter', 1);
        $tpl->set_out('antispam', get_antispam('newsletter', 0, true), 0);
    }
    
    $design->footer();
    
    ?>



    Zuletzt modifiziert von Patschi am 24.12.2011 - 17:00:58
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten