ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Newsletter Problem

Geschlossen
  1. #1
    User Pic
    Scoopi Mitglied
    Registriert seit
    12.05.2012
    Beiträge
    16
    Beitragswertungen
    0 Beitragspunkte
    Hallo Leute ,

    ich habe einen Serverumzug hinter mir, vorheriges Bs war debian 6 mit php 5.3 nun debian 7 mit php 5.4.

    Ich habe soweit auch alles wieder zum laufen bekommen (mit Hilfe eures Forums). Die einzigen Sachen die nicht gehen ist der Newsletter, ich habe nichts zum Auswählen da (Empfänger) und im Hauptmenü kann ich keine Umlaute verwenden da er es dann gar nicht erst anzeigt.


    Ich würde mich über Hilfe sehr sehr freuen.







    Hier mal meine /include/admin/newsletter.php


    <?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) {
    					$emails[] = $row->email;
    					$zahler++;
      				}
            	}
            	icmail ($emails , $_POST['bet'], $_POST['txt'], '', isset($_POST['html']));
            } elseif ($mailopm == 'P') {
            	$uids = array();
    			while ($row = db_fetch_object($erg)) {
                	$uids[] = $row->uid;
            		$zahler++;
            	}
    			sendpm($_SESSION['authid'], $uids, escape($_POST['bet'], 'string'), escape($_POST['txt'], 'string'));
    		}
    
            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();
    
    ?>








    Lieben Gruß
    Scoopi


    verwendete ilch Version: 1.1 N

    betroffene Homepage: wot-dan.de
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Für die Verwendung von PHP 5.4 ist Version 1.1P von ilch notwendig.

    Im Bereich des Newsletter geht's dabei um die Xajax Bibliothek, wafür Anpassungen gemacht wurden, damit es mit der neueren PHP Version läuft.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Scoopi Mitglied
    Registriert seit
    12.05.2012
    Beiträge
    16
    Beitragswertungen
    0 Beitragspunkte
    Hey Mairu , vielen dank für deine schnelle Antwort.

    So etwas habe ich mir schon gedacht , muss ich komplett auf die p wechseln oder reicht es aus einige Dateien auszutauschen ? Habe ja einige Mods drauf und die wären dann ja weg was negativ wäre.


    Wie schon erwähnt funzt alles super bis auf die 2 , bzw eine wichtige Sache mit den Newsletter.


    vlt reicht es aus, die Newsletter.php auszutauschen und die xajax.inc.php ?
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Du solltest komplett umstellen.

    Dazu am besten ein Backup von allem machen und dann loslegen
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Es würde reichen, die neuen xajax Dateien (auch die js Sachen) zu nehmen, dann die Sachen aus der Loader.php übernehmen.

    Allerdings hast du damit dann nur xajax angepasst, es sind noch mehr Sachen bei 1.1P für die Kompatibilität mit PHP 5.4, von daher muss ich Rock zustimmen.

    Viele Module gleichzeitig verwenden - Tipps

    Also das kannst du auch auf Updates ummünzen, ist dann natürlich schon etwas Arbeit.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Scoopi Mitglied
    Registriert seit
    12.05.2012
    Beiträge
    16
    Beitragswertungen
    0 Beitragspunkte
    Habe hatte Ilch 1.1P installiert. Allerdings hatte ich da mehrere Probleme. Zb konnte ich mich nach dem Logout nicht erneut einloggen.

    Könnte evtl jemand von euch aushelfen, könnten uns auch gern auf unseren Ts treffen und ftp Zugang könnte ich auch geben. Wäre super lieb von euch.


    Natürlich können wir euch auch einen kleinen obolus zukommen lassen als Anerkennung für diese Leistungen.

    Unser Ts ist unter: wot-dan.de zu erreichen. Bin eig sehr oft anwesend.



    Lg Scoopi


    Unser Ts ist unter: wot-dan.de zu erreichen. Bin eig sehr oft anwesend.



    Lg Scoopi

    Zuletzt modifiziert von Scoopi am 22.03.2014 - 21:56:32
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Scoopi Mitglied
    Registriert seit
    12.05.2012
    Beiträge
    16
    Beitragswertungen
    0 Beitragspunkte
    Habe hatte Ilch 1.1P installiert. Allerdings hatte ich da mehrere Probleme. Zb konnte ich mich nach dem Logout nicht erneut einloggen.

    Könnte evtl jemand von euch aushelfen, könnten uns auch gern auf unseren Ts treffen und ftp Zugang könnte ich auch geben. Wäre super lieb von euch.


    Natürlich können wir euch auch einen kleinen obolus zukommen lassen als Anerkennung für diese Leistungen.



    SRY für den Doppelpost war keine Absicht.





    Unser Ts ist unter: wot-dan.de zu erreichen. Bin eig sehr oft anwesend.



    Lg Scoopi


    Unser Ts ist unter: wot-dan.de zu erreichen. Bin eig sehr oft anwesend.



    Lg Scoopi

    Zuletzt modifiziert von Scoopi am 22.03.2014 - 21:56:21
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    update.php ausführen, dann musst du das Passwort in der Datenbank mit phpmyadmin und der MD5 Funktion neu setzen.

    Siehe dazu auch www.ilch.de/forum-showposts-49779.html
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Scoopi Mitglied
    Registriert seit
    12.05.2012
    Beiträge
    16
    Beitragswertungen
    0 Beitragspunkte
    ZitatZitat geschrieben von Mairu
    update.php ausführen, dann musst du das Passwort in der Datenbank mit phpmyadmin und der MD5 Funktion neu setzen.

    Siehe dazu auch externer Link



    Wir haben über 80 Member auf der Hp , das wäre etwas viel Arbeit *grins*


    Ich hab es erneut hinbekommen das alles Fehlerfrei funzt , nur weiterhin der Newsletter nicht.

    Wie gesagt wenn jmd von euch helfen könnte , bzw das für uns machen könnte wäre das super. Bin jetzt auch auf den Teamspeakserver.


    Andernfalls werden wir vermutlich auf den Newsletter verzichten.


    Liebe Grüße


    Zuletzt modifiziert von Scoopi am 22.03.2014 - 22:55:07
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Das muss auch nicht für alle User gemacht werden, nur für den Hauptadmin, alle anderen (die sich nach dem Aufspielen der neuen Dateien ohne Datenbankupdate) angemeldet haben, könnten die "Passwort vergessen"-vergessen Funktion verwenden.

    ---

    Ich hoffe doch nicht, indem du wieder 1.1O aufgespielt hast...
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Scoopi Mitglied
    Registriert seit
    12.05.2012
    Beiträge
    16
    Beitragswertungen
    0 Beitragspunkte
    ZitatZitat geschrieben von Mairu
    Das muss auch nicht für alle User gemacht werden, nur für den Hauptadmin, alle anderen (die sich nach dem Aufspielen der neuen Dateien ohne Datenbankupdate) angemeldet haben, könnten die "Passwort vergessen"-vergessen Funktion verwenden.

    ---

    Ich hoffe doch nicht, indem du wieder 1.1O aufgespielt hast...



    Hab 1.1 N drauf , wie vorher auch. Funzt auch soweit alles , wie schon gesagt nur der Newsletter nicht. Hatte auch schon überlegt ein Downgrade vorzunehmen und php Version 5.3 zu nehmen. Allerdings könnte mir das wieder Plesk und alles zerschiessen , worauf ich nicht sonderlich scharf bin zwinker



    Deine Oben genannte Beschreibung zwecks des Newsletters hat nicht funktioniert.
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    blakedj06 gelöschter User
    Ich hatte das vor langer Zeit schonmal irgendwo gepostet finde den Beitrag nur nicht mehr.

    Ich hab damals mal auf Grund des gleichen Problems das Modul neugeschrieben.

    Ist vom Code nicht mehr so ganz mein Style aber er funktioniert mit php 5.4 und höher.

    Vorrausetzung ist das Du Jquery installierst.

    Einfach den Inhalt deiner Newsletter Admin Datei mir dem folgenden ersetzen.

    <?php
        defined('main') or die ('no direct access');
        defined('admin') or die ('only admin access');
        $design = new design ('Admins Area', 'Admins Area', 2);
        $design->header();
    
        if (isset($_POST['nsub'])) {
            $wer     = escape($_POST['wer'], 'string');
            $wahl    = escape($_POST['wahl'], 'string');
            $was     = escape($_POST['was'], 'string');
            $betreff = escape($_POST['betreff'], 'string');
            $plus    = escape($_POST['plus'], 'string');
            $text    = escape($_POST['text'], 'textarea');
    
            if ($wer == 1) {
                if ($wahl == 'Alle User') {
                    $erg = db_query('SELECT id,email FROM prefix_user');
                    while ($us = db_fetch_object($erg)) {
                        if ($was == '1') {
                            icmail($us->email, $betreff, $text, '', true);
                        } else {
                            sendpm($_SESSION['authid'], $us->id, $betreff, $text, -1);
                        }
                    }
                } else {
                    $gruppenid = @db_result(db_query('SELECT id FROM prefix_groups WHERE name = "' . $wahl . '"'));
                    $ergg      = db_query('SELECT a.uid,b.email FROM prefix_groupusers a LEFT JOIN prefix_users b ON a.uid = b.id WHERE a.gid = ' . $gruppenid);
                    while ($grus = db_fetch_object($ergg)) {
                        if ($was == '1') {
                            icmail($grus->email, $betreff, $text, '', true);
                        } else {
                            sendpm($_SESSION['authid'], $grus->uid, $betreff, $text, -1);
                        }
                    }
                }
            } else {
                $rechtid = @db_result(db_query('SELECT id FROM prefix_grundrechte WHERE name = "' . $wahl . '"'));
                if ($plus == 'on') {
                    $code = '<=';
                } else {
                    $code = '=';
                }
                $ergu = db_query('SELECT id,email FROM prefix_user WHERE recht ' . $code . ' "' . $rechtid . '"');
                while ($users = db_fetch_object($ergu)) {
                    if ($was == '1') {
                        icmail($users->email, $betreff, $text, '', true);
                    } else {
                        sendpm($_SESSION['authid'], $users->id, $betreff, $text, -1);
                    }
                }
            }
            wd('admin.php?newsletter_new','Newsletter wurde erfolgreich verschickt!',3);
            $design->footer(1);
        }
    
        $gr = db_query('SELECT name FROM prefix_groups ORDER BY name ASC');
        while ($row = db_fetch_object($gr)) {
            $groups .= '<option>' . $row->name . '</option>';
        }
    
        $rechte = db_query('SELECT name FROM prefix_grundrechte ORDER BY id ASC');
        while ($ror = db_fetch_object($rechte)) {
            $recht .= '<option>' . $ror->name . '</option>';
        }
    
        $wahls = '<option>Bitte erst den Empfänger auswählen</option>';
    
        echo <<<HTML
        <script type="text/javascript">
        $(function(){
    
            $('#radio1').click(function(){
                $('#wahle').val($('#wahle').html('<optgroup label="Benutzer"><option>Alle User</option></optgroup><optgroup label="Gruppen">{$groups}</optgroup>'));
                $('#hrecht').hide();
            });
             $('#radio2').click(function(){
                $('#wahl').val($('#wahle').html('{$recht}'));
                $('#hrecht').show();
            });
        });
        </script>
    
    <div style="padding:10px;">
    
        <div class="Cdark" align="center" style="width:50%;padding:10px">Newsletter verfassen</div>
        <form method="post">
        <div class="Cnorm" style="width:10%;float:left;">Empfänger:</div>
        <div style="margin-left:10px;width:40%;float:left;"><input type="radio" name="wer" id="radio1" value="1"> Normal
            <input type="radio" name="wer" id="radio2" value="2"> nach Rechten
        </div>
        <br style="clear:left;">
    
        <div class="Cnorm" style="width:10%;float:left;">Auswählen:</div>
        <div style="margin-left:10px;width:40%;float:left;"><select name="wahl" id="wahle">{$wahls}</select> <span id="hrecht" style="display:none;"><input type="checkbox" name="plus"> und alle höheren Rechte</span>
        </div>
        <br style="clear:left;">
    
        <div class="Cnorm" style="width:10%;float:left;">Email/PM:</div>
        <div style="margin-left:10px;width:40%;float:left;"><input type="radio" name="was" value="1"> Email
            <input type="radio" name="was" value="2"> PM
        </div>
        <br style="clear:left;">
    
        <div class="Cnorm" style="float:left;width:10%">Betreff</div>
        <div style="margin-left:10px;width:40%;float:left;"><input type="text" style="width:98%" name="betreff"></div>
        <br style="clear:left;">
    
        <div class="Cnorm" style="float:left;width:10%">Text</div>
        <div style="margin-left:10px;width:40%;float:left;display:block"><textarea name="text" style="width:98%" rows="20"></textarea></div>
        <br style="clear:left;">
        <input type="submit" name="nsub" value="Absenden">
    </form>
    </div>
    HTML;
    
        $design->footer();
    ?>


    Und bevor Du fragst.

    Jquery muss in die Admin Index.htm.

    Also include/admin/templates/index.htm

    Da machste folgende Zeile in den Headbereich.

    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>



    Zuletzt modifiziert von blakedj06 am 23.03.2014 - 00:35:23
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Scoopi Mitglied
    Registriert seit
    12.05.2012
    Beiträge
    16
    Beitragswertungen
    0 Beitragspunkte
    Funktioniert leider nicht weinen

    Hab dennoch keine Auswahl zur Verfügung an wen ich den Newsletter senden möchte.


    Liebe grüße
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    blakedj06 gelöschter User
    Ja dann hast Du Jquery wohl nicht richtig eingebunden.
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    ZitatZitat geschrieben von blakedj06
    Ja dann hast Du Jquery wohl nicht richtig eingebunden.

    Relativ leicht zu überprüfen mit der Firebug-Konsole zwinker
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    blakedj06 gelöschter User
    Ja für die Hauptseite aber nicht für seine Adminseite. Denn genau da muss es eingebunden sein damit es auch im Adminbereich zur Verfügung steht.
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    M und M Chief Mitglied
    Registriert seit
    13.11.2012
    Beiträge
    10
    Beitragswertungen
    0 Beitragspunkte
    Funktioniert super! Danke

    Habe allerdings selbst einen kleinen Fehler behoben, denn du zukünftig korrigieren solltest lächeln

    Zeile 27 in der include/admin/newsletter.php
    $ergg      = db_query('SELECT a.uid,b.email FROM prefix_groupusers a LEFT JOIN prefix_users b ON a.uid = b.id WHERE a.gid = ' . $gruppenid);


    prefix_USER ohne S

    LG lächeln

    www.mundm-funclan.de


    Zuletzt modifiziert von M und M Chief am 22.09.2014 - 23:39:48
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten