ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Text bei benachrichtigung ausgeben

Geschlossen
  1. #1
    User Pic
    NickName gelöschter User
    huhu... ich mal wieder schockiert

    was muss ich, wahrscheinlich i9n der datei new_post.php, wo einfügen, damit in der eMailBenachrichtigung bei einer neuen Antwort im Forum in der eMail auch der Ersteller der Antwort und der Text (also der Inhalt der Antwort) angezeogt wird?

    sollte nicht schwer sein, aber irgendwie funzt des bei mir nich so ganz traurig


    <?php 
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    
    if ($aktTopicRow['stat'] == 0 OR $forum_rights['reply'] == FALSE ) {
      if ( $aktTopicRow['stat'] == 0 ) {
    	  $forum_failure[] = $lang['topicclosed'];  
    	} else {
    	  $forum_failure[] = $lang['nopermission'];
    	}
    	check_forum_failure($forum_failure);
    }
    
    $title = $allgAr['title'].' :: Forum :: '.$aktForumRow['kat'].' :: '.$aktForumRow['name'].' :: '.$aktForumRow['name'].' :: neuer Beitrag';
    $hmenu  = $extented_forum_menu.'<a class="smalfont" href="index.php?forum">Forum</a><b> &raquo; </b><a class="smalfont" href="index.php?forum-showcat-'.$aktForumRow['cid'].'">'.$aktForumRow['kat'].'</a><b> &raquo; </b><a class="smalfont" href="index.php?forum-showtopics-'.$fid.'">'.$aktForumRow['name'].'</a><b> &raquo; </b>';
    $hmenu .= '<a class="smalfont" href="index.php?forum-showposts-'.$tid.'">'.$aktTopicRow['name'].'</a>'.$extented_forum_menu_sufix;
    
    
    $dppk_time = time();
    $time = time();
    if (!isset($_SESSION['klicktime'])) { $_SESSION['klicktime'] = 0; }
    
    $topic = '';
    $txt   = '';
    $xnn   = '';
    
    if (isset($_POST['txt'])) {
      $txt = trim(escape($_POST['txt'], 'textarea'));
    }
    if (isset($_POST['Gname'])) {
      $xnn = trim(escape_nickname($_POST['Gname']));
    }
    
    if (($_SESSION['klicktime'] + 15) > $dppk_time OR empty($txt) OR !empty($_POST['priview']) OR (empty($_POST['Gname']) AND !loggedin())) {
    
      $design = new design ( $title , $hmenu, 1 );
      $design->header();
    
      $name = '';
      if ( !loggedin() ) {
        $name  = '<tr><td class="Cmite"0><b>'.$lang['name'].'</b></td>'; 
        $name .= '<td class="Cnorm"><input type="text" value="'.unescape($xnn).'" maxlength="15" name="Gname"></td></tr>';
        
    $uquery = db_query("SELECT name FROM prefix_user");
    while ($uds = db_fetch_object($uquery)) {
      $username = $uds -> name;
      if (!empty($users)) $users = $users.', ';
      $users = $users.'"'.$username.'"';
    }
          
    $br = chr(13).chr(10);
    $jscript =  'user = new Array('.$users.');'.$br.
                'for (i=0;i<user.length;i++)'.$br. 
                'if (document.form.Gname.value == user[i] ) {'.$br.
                'alert("Dies ist der Benutzername eines registrierten Users, benutze einen anderen.");'.$br.
                'return false;'.$br.
                '}'.$br.
                'if (document.form.Gname.value == "") {'.$br.
                'alert ("Das Namensfeld ist leer.");'.$br.
                'return false;'.$br.
                '}'.$br;
      
      }
      
      $tpl = new tpl ('forum/newpost');
    
      $xtext = '';
      if ( $menu->getA(3) == 'z' ) {
        $row = db_fetch_object(db_query("SELECT txt,erst FROM prefix_posts WHERE id = ".$menu->getE(3)));
    	  $xtext = '[quote='.escape_nickname($row->erst).']'."\n".$row->txt."\n[/quote]";
      }
    
      if ( $menu->getA(3) == 'f' ) {
        $r = db_fetch_assoc(db_query("SELECT id,text,title FROM prefix_faqs WHERE id = ".$menu->getE(3)));
    	  $xtext = 'FAQ Artikel: [url=index.php?faqs-s'.$r['id'].'#FAQ'.$r['id'].']'.$r['title'].'[/url]'."\n".unescape($r['text']);
      }
    
      if (isset($_POST['priview'])) {
        $tpl->set_out('txt', bbcode($txt), 0);
      }
      if (empty($txt)) {
        $txt = $xtext;
      }
    
      $tpl = new tpl ('forum/newpost');
    
      $ar = array (
        'txt'    => escape_for_fields(unescape($txt)),
        'tid'    => $tid,
        'name'   => $name,
        'SMILIES'  => getsmilies(),
        'JSCRIPT'  => $jscript
      );
      
      $tpl->set_ar_out($ar,1);
    			
      $erg = db_query('SELECT erst, txt FROM `prefix_posts` WHERE tid = "'.$tid.'" ORDER BY time DESC LIMIT 0,5');
      while ($row = db_fetch_assoc($erg)) {
        $row['txt'] = bbcode($row['txt']);
        $tpl->set_ar_out($row, 2);
      }
      $tpl->out(3);
      
      
    } else {
    
      # save post
      $_SESSION['klicktime'] = $dppk_time;
      
      $design = new design ( $title , $hmenu, 1 );
      $design->header();
      
      if (loggedin()) { 
        $uid = $_SESSION['authid']; 
    		$erst = escape($_SESSION['authname'],'string'); 
    	  db_query("UPDATE `prefix_user` set posts = posts+1 WHERE id = ".$uid);
      } else  { 
    	  $erst = $xnn;  
    		$uid = 0; 
      }
          
      # topic alert ausfuehren.
      $topic_alerts_abf = "SELECT
          prefix_topics.name as topic,
          prefix_user.email as email,
          prefix_user.name as user
        FROM prefix_topic_alerts
          LEFT JOIN prefix_topics ON prefix_topics.id = prefix_topic_alerts.tid
          LEFT JOIN prefix_user   ON prefix_user.id   = prefix_topic_alerts.uid
        WHERE prefix_topic_alerts.tid = ".$tid;
          
      $topic_alerts_erg = db_query($topic_alerts_abf);
      while ($topic_alerts_row = db_fetch_assoc($topic_alerts_erg)) {
        $page = 'www.ostberlinerthc.de/index.php';
        $text = sprintf ($lang['topicalertmessage'], $topic_alerts_row['user'], $topic_alerts_row['topic'], $page, $tid);
        icmail ($topic_alerts_row['email'], 'neue Antwort im Thema: "'.$topic_alerts_row['topic'].'"', $text, '\n', $erst 'schrieb:', '\n', $row['txt']);
        debug ($topic_alerts_row['email']);
      }
      db_query("DELETE FROM prefix_topic_alerts WHERE tid = ".$tid);
          
      # topic alert insert wenn gewaehlt.
      if (!empty($_POST['topic_alert']) AND $_POST['topic_alert'] == 'yes' AND loggedin()) {
        if (0 == db_result(db_query("SELECT COUNT(*) FROM prefix_topic_alerts WHERE uid = ".$_SESSION['authid']." AND tid = ".$tid),0)) {
          db_query("INSERT INTO prefix_topic_alerts (tid,uid) VALUES (".$tid.", ".$_SESSION['authid'].")");
        }
      }
      # topic alert ende
      
      db_query ("INSERT INTO `prefix_posts` (tid,fid,erst,erstid,time,txt) VALUES ( ".$tid.", ".$fid.", '".$erst."', ".$uid.", ".$time.", '".$txt."')");
      $pid = db_last_id();
    			
    	db_query("UPDATE `prefix_topics` SET last_post_id = ".$pid.", rep = rep + 1 WHERE id = ".$tid);
    	db_query("UPDATE `prefix_forums` SET posts = posts + 1, last_post_id = ".$pid." WHERE id = ".$fid );
    			
    	$page = ceil ( ($aktTopicRow['rep']+1)  / $allgAr['Fpanz'] );
    	
      # toipc als gelesen markieren
      $_SESSION['forumSEE'][$fid][$tid] = time();
       
    	wd ( array ( 
    	  $lang['backtotopic'] => 'index.php?forum-showposts-'.$tid.'-p'.$page.'#'.$pid,
    		$lang['backtotopicoverview'] => 'index.php?forum-showtopics-'.$fid
    	) , $lang['createpostsuccessful'] , 3 );
    }
    
    $design->footer();									
    ?>


    hab versucht (wie man sieht ;)) in der zeile 140 den gewünschten code einzufügen, aber anscheinend ist etwas falsch, da nur eine fehlermeldung erscheint, wenn man antworten möchte:
    Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in xxx/html/include/contents/forum/new_post.php on line 140


    kann mir da evtl jemand auf die sprünge helfen?!

    vielen dank


    verwendete ilchClan Version: 1.1

    betroffene Homepage: www.ostberlinerthc.de


    ps: diese $row['txt'] is garantiert falsch (?!) - aber ich habs gelassen, damit ihr seht, was ich meine - hab auch versucht des ohne diesen eintrag zu machen, aber auch der ersteller und das wort "schrieb:" ergab auch eine fehlermeldung traurig


    Zuletzt modifiziert von NickName am 21.06.2007 - 00:01:26
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    icmail ($topic_alerts_row['email'], 'neue Antwort im Thema: "'.$topic_alerts_row['topic'].'"', $text, '\n', $erst 'schrieb:', '\n', $row['txt']);

    |
    |
    V
    icmail ($topic_alerts_row['email'], 'neue Antwort im Thema: "'.$topic_alerts_row['topic'].'"', $text."\n$erst schrieb:\n{$row['txt']}");
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    NickName gelöschter User
    vielen dank, der name wird ausgegeben, mit dem text habsch lange probiert - funzt nun aber auch zwinker (haste absichtich so stehen gelassen, wie ich des vorher postete?? -> aber is voll ok, da man nur so lernen kann!!!)

    hab aber trotzdem ein kleines problem (BBCode):

    Hallo NickName
    
    Im Thema "ein test" ist gerade ein neuer Beitrag geschrieben worden...
    
    Link zum Thema: http://www.ostberlinerthc.de/index.php?forum-showposts-140-topicalert
    
    Wenn du keine neuen eMails bei einer Antwort erhalten möchtest kannst du dich in dem Beitrag ganz unten austragen (wenn du eingeloggt bist)
    
    NickName schrieb:
    
    <table cellspacing="0" cellpadding="0" border="0" style="BORDER: 1px SOLID #f6e79d;" width="90%" align="center"><tr><td style="font-family:Arial, Helvetica, sans-serif;FONT-SIZE:13px;FONT-WEIGHT:BOLD;COLOR:#666666;BACKGROUND-COLOR:#f6e79d;">&nbsp;Zitat von NickName</td></tr><tr bgcolor="#faf7e8"><td><table align="center" cellspacing="0" cellpadding="0" border="0" width="98%"><tr><td style="font-style:italic;FONT-SIZE:10px;COLOR:#666666;"><br /> <table cellspacing="0" cellpadding="0" border="0" style="BORDER: 1px SOLID #f6e79d;" width="90%" align="center"><tr><td style="font-family:Arial, Helvetica, sans-serif;FONT-SIZE:13px;FONT-WEIGHT:BOLD;COLOR:#666666;BACKGROUND-COLOR:#f6e79d;">&nbsp;Zitat von NickName</td></tr><tr bgcolor="#faf7e8"><td><table align="center" cellspacing="0" cellpadding="0" border="0" width="98%"><tr><td style="font-style:italic;FONT-SIZE:10px;COLOR:#666666;"><br /> <table cellspacing="0" cellpadding="0" border="0" style="BORDER: 1px SOLID #f6e79d;" width="90%" align="center"><tr><td style="font-family:Arial, Helvetica, sans-serif;FONT-SIZE:13px;FONT-WEIGHT:BOLD;COLOR:#666666;BACKGROUND-COLOR:#f6e79d;">&nbsp;Zitat von NickName</td></tr><tr bgcolor="#faf7e8"><td><table align="center" cellspacing="0" cellpadding="0" border="0" width="98%"><tr><td style="font-style:italic;FONT-SIZE:10px;COLOR:#666666;"><br /> <table cellspacing="0" cellpadding="0" border="0" style="BORDER: 1px SOLID #f6e79d;" width="90%" align="center"><tr><td style="font-family:Arial, Helvetica, sans-serif;FONT-SIZE:13px;FONT-WEIGHT:BOLD;COLOR:#666666;BACKGROUND-COLOR:#f6e79d;">&nbsp;Zitat von NickName</td></tr><tr bgcolor="#faf7e8"><td><table align="center" cellspacing="0" cellpadding="0" border="0" width="98%"><tr><td style="font-style:italic;FONT-SIZE:10px;COLOR:#666666;"><br /> isn test <div style="width:90%;padding:5px;font-family:Verdana;font-size:10px;color:#FF0000;border:2px dotted #FF0000;text-align:center">02:45:00 01.04.2007 !!!</div><br /> </td></tr></table></td></tr></table><br /> <br /> und weiter gehts <img src="include/images/smiles/6.gif" border="0" alt="Traurig" title="Traurig" /><br /> </td></tr></table></td></tr></table><br /> <br /> irgenwie wird das nix <img src="include/images/smiles/6.gif" border="0" alt="Traurig" title="Traurig" /><br /> </td></tr></table></td></tr></table><br /> <br /> nun den bbcode einf&uuml;gen<br /> </td></tr></table></td></tr></table><br /> <br /> aba warum funzt des nich? weil ich zu bl&ouml;d daf&uuml;r bin


    ich hab folgende änderungen vorgenommen, hab versucht aus der admin/news.php (wo du mir mal den newsletter bei erstellunge einer news gecodet hast) schlau zu werden:
    $topic_alerts_erg = db_query($topic_alerts_abf);
      while ($topic_alerts_row = db_fetch_assoc($topic_alerts_erg)) {
        $page = 'www.ostberlinerthc.de/index.php';
    	$txt = bbcode($txt);
        $text = sprintf ($lang['topicalertmessage'], $topic_alerts_row['user'], $topic_alerts_row['topic'], $page, $tid);
        icmail ($topic_alerts_row['email'], 'neue Antwort im Thema: "'.$topic_alerts_row['topic'].'"', $text."\n\n$erst schrieb:\n\n{$txt}");
        debug ($topic_alerts_row['email']);
      }


    wo liegt denn meine fehler?
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    NickName gelöschter User
    mist, mir fällt grad auf, das auch im post (forum) der bbcode nun nichtmehr übernommen wird, sondern genauso angezeigt wird, wir in der email - was habsch da bloss falsch gemacht ???? :'(



    wenn ich aber diese zeiel rauslasse:
        $txt = bbcode($txt);



    wird dies in der mail übertragen:
    Hallo NickName
    
    Im Thema "ein test" ist gerade ein neuer Beitrag geschrieben worden...
    
    Link zum Thema: http://www.ostberlinerthc.de/index.php?forum-showposts-140-topicalert
    
    Wenn du keine neuen eMails bei einer Antwort erhalten möchtest kannst du dich in dem Beitrag ganz unten austragen (wenn du eingeloggt bist)
    
    NickName schrieb:
    
    [quote=NickName]
    [quote=NickName]
    [quote=NickName]
    isn test [countdown=02:45:00]01.04.2007[/countdown]
    [/quote]
    
    und weiter gehts :(
    [/quote]
    
    bbcode funzt noch nich :\'(
    [/quote]
    
    nochmal testen



    Zuletzt modifiziert von NickName am 21.06.2007 - 13:13:57
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    $txt wird eben schon anderweitig benutzt, du musst dir also einen anderen Namen ausdenken zwinker
    Naja wie du schon gesagt hast, sollte der Code aus dem Newslettersachen eigentlich auch dort funktionieren, irgendwie hab ich ja icmail erweitert, damit man auch HTML Mails versenden kann, das musst du dann halt auch verwenden.
    (Bin jetzt nicht zuhause und kann es mir nicht anschauen)

    Und ich hatte einfach nur die Fehlerursache beseitigt ohne weiter den Code unter die Lupe zu nehmen zwinker
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    NickName gelöschter User
    ZitatZitat geschrieben von Mairu

    $txt wird eben schon anderweitig benutzt, du musst dir also einen anderen Namen ausdenken zwinker
    Naja wie du schon gesagt hast, sollte der Code aus dem Newslettersachen eigentlich auch dort funktionieren, irgendwie hab ich ja icmail erweitert, damit man auch HTML Mails versenden kann, das musst du dann halt auch verwenden.
    (Bin jetzt nicht zuhause und kann es mir nicht anschauen)

    Und ich hatte einfach nur die Fehlerursache beseitigt ohne weiter den Code unter die Lupe zu nehmen zwinker


    wenn ich mir nen anderen namen ausdenke, muss ich den wahrscheinlich auch in der db anlegen... o_O

    das mit dem newsletter hatte ich ja versucht, leider funzte es nicht wie es solte - würd mich freuen, nachher (wenn du @home bist) nochmal von dir zu hören

    mfg
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Also statt $txt kannst du alles verwenden, das hat mit der Datenbank nix zu tun, der Text ist ja vorher schon in $txt, du willst jetzt eine "BBCode-Kopie", da aber später wieder auf das ursprüngliche $txt zugegriffen wird nimmst du einfach einen anderen Namen, meinetwegen $bbtxt = bbcode($txt); und verwendest dann auch diese Variable in der Email.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    NickName gelöschter User
    cih versteh einfach nicht, was ich falsch mache...

    wenn ich den code so angebe:
    $bbtxt = bbcode($txt);
        icmail ($topic_alerts_row['email'], 'neue Antwort im Thema: "'.$topic_alerts_row['topic'].'"', $text."\n\n$erst schrieb:\n\n{$bbtxt}");


    passiert dies in der mail:
    ZitatZitat
    Hallo NickName

    Im Thema "ein test" ist gerade ein neuer Beitrag geschrieben worden...

    Link zum Thema: www.ostberlinerthc.de/index.php?forum-showposts-140-topicalert

    Wenn du keine neuen eMails bei einer Antwort erhalten möchtest kannst du dich in dem Beitrag ganz unten austragen (wenn du eingeloggt bist)

    NickName schrieb:

    <div align="center">was macvh denn nur falsch???</div><br /> <br /> <table cellspacing="0" cellpadding="0" border="0" style="BORDER: 1px SOLID #f6e79d;" width="90%" align="center"><tr><td style="font-family:Arial, Helvetica, sans-serif;FONT-SIZE:13px;FONT-WEIGHT:BOLD;COLOR:#666666;BACKGROUND-COLOR:#f6e79d;">&nbsp;Zitat</td></tr><tr bgcolor="#faf7e8"><td><table align="center" cellspacing="0" cellpadding="0" border="0" width="98%"><tr><td style="font-style:italic;FONT-SIZE:10px;COLOR:#666666;">so ein mist</td></tr></table></td></tr></table>


    warum übersetzt der mir das in html, liest es in der mail aber nich richtig aus?? :'(


    Zuletzt modifiziert von NickName am 22.06.2007 - 15:04:41
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Weil es keine HTML Mail ist zwinker
    Dafür musst du einfach nur, wie bei dem Newsletter zu sehen irgendwie du halt bei icmail hinten noch ,null,'html' in die Parameterliste einfügen, statt null kannst du auch 'beliebige Emailadresse' verwenden.
    Dies ist noch der Code aus der news.php von dir
        $mailtxt = bbcode($text);
        $serverurl = 'http://'.$_SERVER["HTTP_HOST"].dirname($_SERVER["SCRIPT_NAME"]).'/';
        str_replace('href="include','href="'.$serverurl.'include',$mailtxt);
        str_replace('href="include','href="'.$serverurl.'include',$mailtxt);

    Könnte man direkt so verwenden zwinker
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    NickName gelöschter User
    ich bin dir ja sehr dankbar für deine gelassenheit, beim versuch mir die angelegenheit näher zu bringen, hab jetzt auch die sache mit dem neuen namen ($bbtxt statt dem schon verwendeten $text) verstanden und auch kapiert, das alles irgendwie seine reihenfolge haben muss (1. absender, 2. betreff, 3. text aus de.php, 4. ersteller samt post, 5. absender wird hiermit überschrieben, wenn nich null und 6. soll die umwandlung des bbcodes veranlassen)

    aber...

    wenn ich das nun so, hoffentlich wie du gemeint hast, mache:
    # topic alert ausfuehren.
      $topic_alerts_abf = "SELECT
          prefix_topics.name as topic,
          prefix_user.email as email,
          prefix_user.name as user
        FROM prefix_topic_alerts
          LEFT JOIN prefix_topics ON prefix_topics.id = prefix_topic_alerts.tid
          LEFT JOIN prefix_user   ON prefix_user.id   = prefix_topic_alerts.uid
        WHERE prefix_topic_alerts.tid = ".$tid;
          
      $topic_alerts_erg = db_query($topic_alerts_abf);
      while ($topic_alerts_row = db_fetch_assoc($topic_alerts_erg)) {
        $page = 'www.ostberlinerthc.de/index.php';
        $text = sprintf ($lang['topicalertmessage'], $topic_alerts_row['user'], $topic_alerts_row['topic'], $page, $tid);
    	$bbtxt = bbcode($text);
        $serverurl = 'http://'.$_SERVER["HTTP_HOST"].dirname($_SERVER["SCRIPT_NAME"]).'/';
        str_replace('href="include','href="'.$serverurl.'include',$bbtxt);
        str_replace('href="include','href="'.$serverurl.'include',$bbtxt);
        icmail ($topic_alerts_row['email'], 'neue Antwort im Thema: "'.$topic_alerts_row['topic'].'"', $text."\n\n$erst schrieb:\n\n$bbtxt",null,'html');
        debug ($topic_alerts_row['email']);
      }
      db_query("DELETE FROM prefix_topic_alerts WHERE tid = ".$tid);


    wird mit dem 6. (html) anscheinend nochmals 3. (text aus de.php) übertragen und nicht der post des antwortenden:

    ZitatZitat
    Hallo NickName Im Thema "ein test" ist gerade ein neuer Beitrag geschrieben worden... Link zum Thema: www.ostberlinerthc.de/index.php?forum-showposts-140-topicalert Wenn du keine neuen eMails bei einer Antwort erhalten möchtest kannst Du Dich in dem Beitrag ganz unten austragen (wenn du eingeloggt bist) NickName schrieb: Hallo NickName

    Im Thema "ein test" ist gerade ein neuer Beitrag geschrieben worden...

    Link zum Thema: www.ostberlinerthc.de/...forum-showposts-140-topicalert

    Wenn du keine neuen eMails bei einer Antwort erhalten möchtest kannst Du Dich in dem Beitrag ganz unten austragen (wenn du eingeloggt bist)


    ich habe aber nirgends, zumindest in der new_post.php, den befehl "html" nochmals finden können, also wieso liest der hier nicht das aus, was er soll????

    kannst du nicht evtl doch mal genauer auf meinen code schauen und den bitte richtig anpassen?! sonst sitzen wir daran vielleicht noch bis nach dem sommer, und es gibt hier genug andere, die bestimmt gern deinen fachmännischen rat in anspruch nehmen würden zwinker

    ich versuch ja gerne die ganze sache zu verstehen, leider bin ich wohl doch noch zu noobig um da richtig durchzusehen :'(


    Zuletzt modifiziert von NickName am 23.06.2007 - 09:00:34
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    # topic alert ausfuehren.
      $topic_alerts_abf = "SELECT
          prefix_topics.name as topic,
          prefix_user.email as email,
          prefix_user.name as user
        FROM prefix_topic_alerts
          LEFT JOIN prefix_topics ON prefix_topics.id = prefix_topic_alerts.tid
          LEFT JOIN prefix_user   ON prefix_user.id   = prefix_topic_alerts.uid
        WHERE prefix_topic_alerts.tid = ".$tid;
          
      $topic_alerts_erg = db_query($topic_alerts_abf);
      while ($topic_alerts_row = db_fetch_assoc($topic_alerts_erg)) {
        $page = 'www.ostberlinerthc.de/index.php';
        $text = sprintf ($lang['topicalertmessage'], $topic_alerts_row['user'], $topic_alerts_row['topic'], $page, $tid);
        $bbtxt = bbcode($txt);
        $serverurl = 'http://'.$_SERVER["HTTP_HOST"].dirname($_SERVER["SCRIPT_NAME"]).'/';
        $bbtxt = str_replace('href="include','href="'.$serverurl.'include',$bbtxt);
        icmail ($topic_alerts_row['email'], 'neue Antwort im Thema: "'.$topic_alerts_row['topic'].'"', $text."\n\n$erst schrieb:\n\n$bbtxt",null,'html');
        debug ($topic_alerts_row['email']);
      }
      db_query("DELETE FROM prefix_topic_alerts WHERE tid = ".$tid);

    Du hattest auf jeden Fall $text und $txt durcheinandergebracht, und das mit dem BBCode konnte so eigentlich auch nicht simmten, wie ich das hatte, sollte irgendwie bei deinen Mails auch nicht stimmen grumml
    Wenn das mit dem null nicht klappen sollte, versuch einfach mal 'email@adresse.de' oder sowas dafür einzusetzen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    NickName gelöschter User
    also nun funzt es eigentlich wunderbar - das vor dem str_replace noch des $bbtxt = fehlte, wäre mir nicht aufgefallen zwinker

    desweiteren wollte er natürlich die zeilenumbrüche nichtmehr übernehmen, aber soweit konnte ich mir allein helfen:

    statt "\n" habsch einfach den bbcode "<br \>" genutzt zwinker


    eine frage hab ich aber dennoch schockiert :


    wie kann ich auch die bilder und smilies des posts in die mail übernehmen? bis jetzt werden nur diese kästchen mit dem roten x angezeigt, also da soll ein bild sein, aber der pfad zum auslesen und ausgeben wird wohl nicht mitgesendet

    hier nochmal mein kompletter code, da ich doch noch einige änderungen vorgenommen hab:
    <?php 
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    
    if ($aktTopicRow['stat'] == 0 OR $forum_rights['reply'] == FALSE ) {
      if ( $aktTopicRow['stat'] == 0 ) {
    	  $forum_failure[] = $lang['topicclosed'];  
    	} else {
    	  $forum_failure[] = $lang['nopermission'];
    	}
    	check_forum_failure($forum_failure);
    }
    
    $title = $allgAr['title'].' :: Forum :: '.$aktForumRow['kat'].' :: '.$aktForumRow['name'].' :: '.$aktForumRow['name'].' :: neuer Beitrag';
    $hmenu  = $extented_forum_menu.'<a class="smalfont" href="index.php?forum">Forum</a><b> &raquo; </b><a class="smalfont" href="index.php?forum-showcat-'.$aktForumRow['cid'].'">'.$aktForumRow['kat'].'</a><b> &raquo; </b><a class="smalfont" href="index.php?forum-showtopics-'.$fid.'">'.$aktForumRow['name'].'</a><b> &raquo; </b>';
    $hmenu .= '<a class="smalfont" href="index.php?forum-showposts-'.$tid.'">'.$aktTopicRow['name'].'</a>'.$extented_forum_menu_sufix;
    
    
    $dppk_time = time();
    $time = time();
    if (!isset($_SESSION['klicktime'])) { $_SESSION['klicktime'] = 0; }
    
    $topic = '';
    $txt   = '';
    $xnn   = '';
    
    if (isset($_POST['txt'])) {
      $txt = trim(escape($_POST['txt'], 'textarea'));
    }
    if (isset($_POST['Gname'])) {
      $xnn = trim(escape_nickname($_POST['Gname']));
    }
    
    if (($_SESSION['klicktime'] + 15) > $dppk_time OR empty($txt) OR !empty($_POST['priview']) OR (empty($_POST['Gname']) AND !loggedin())) {
    
      $design = new design ( $title , $hmenu, 1 );
      $design->header();
    
      $name = '';
      if ( !loggedin() ) {
        $name  = '<tr><td class="Cmite"0><b>'.$lang['name'].'</b></td>'; 
        $name .= '<td class="Cnorm"><input type="text" value="'.unescape($xnn).'" maxlength="15" name="Gname"></td></tr>';
        
    $uquery = db_query("SELECT name FROM prefix_user");
    while ($uds = db_fetch_object($uquery)) {
      $username = $uds -> name;
      if (!empty($users)) $users = $users.', ';
      $users = $users.'"'.$username.'"';
    }
          
    $br = chr(13).chr(10);
    $jscript =  'user = new Array('.$users.');'.$br.
                'for (i=0;i<user.length;i++)'.$br. 
                'if (document.form.Gname.value == user[i] ) {'.$br.
                'alert("Dies ist der Benutzername eines registrierten Users, benutze einen anderen.");'.$br.
                'return false;'.$br.
                '}'.$br.
                'if (document.form.Gname.value == "") {'.$br.
                'alert ("Das Namensfeld ist leer.");'.$br.
                'return false;'.$br.
                '}'.$br;
      
      }
      
      $tpl = new tpl ('forum/newpost');
    
      $xtext = '';
      if ( $menu->getA(3) == 'z' ) {
        $row = db_fetch_object(db_query("SELECT txt,erst FROM prefix_posts WHERE id = ".$menu->getE(3)));
    	  $xtext = '[quote='.escape_nickname($row->erst).']'."\n".$row->txt."\n[/quote]";
      }
    
      if ( $menu->getA(3) == 'f' ) {
        $r = db_fetch_assoc(db_query("SELECT id,text,title FROM prefix_faqs WHERE id = ".$menu->getE(3)));
    	  $xtext = 'FAQ Artikel: [url=index.php?faqs-s'.$r['id'].'#FAQ'.$r['id'].']'.$r['title'].'[/url]'."\n".unescape($r['text']);
      }
    
      if (isset($_POST['priview'])) {
        $tpl->set_out('txt', bbcode($txt), 0);
      }
      if (empty($txt)) {
        $txt = $xtext;
      }
    
      $tpl = new tpl ('forum/newpost');
    
      $ar = array (
        'txt'    => escape_for_fields(unescape($txt)),
        'tid'    => $tid,
        'name'   => $name,
        'SMILIES'  => getsmilies(),
        'JSCRIPT'  => $jscript
      );
      
      $tpl->set_ar_out($ar,1);
    			
      $erg = db_query('SELECT erst, txt FROM `prefix_posts` WHERE tid = "'.$tid.'" ORDER BY time DESC LIMIT 0,5');
      while ($row = db_fetch_assoc($erg)) {
        $row['txt'] = bbcode($row['txt']);
        $tpl->set_ar_out($row, 2);
      }
      $tpl->out(3);
      
      
    } else {
    
      # save post
      $_SESSION['klicktime'] = $dppk_time;
      
      $design = new design ( $title , $hmenu, 1 );
      $design->header();
      
      if (loggedin()) { 
        $uid = $_SESSION['authid']; 
    		$erst = escape($_SESSION['authname'],'string'); 
    	  db_query("UPDATE `prefix_user` set posts = posts+1 WHERE id = ".$uid);
      } else  { 
    	  $erst = $xnn;  
    		$uid = 0; 
      }
          
      # topic alert ausfuehren.
      $topic_alerts_abf = "SELECT
          prefix_topics.name as topic,
          prefix_user.email as email,
          prefix_user.name as user
        FROM prefix_topic_alerts
          LEFT JOIN prefix_topics ON prefix_topics.id = prefix_topic_alerts.tid
          LEFT JOIN prefix_user   ON prefix_user.id   = prefix_topic_alerts.uid
        WHERE prefix_topic_alerts.tid = ".$tid;
          
      $topic_alerts_erg = db_query($topic_alerts_abf);
      while ($topic_alerts_row = db_fetch_assoc($topic_alerts_erg)) {
        $page = 'www.ostberlinerthc.de/index.php';
        $text = sprintf ($lang['topicalertmessage'], $topic_alerts_row['user'], $topic_alerts_row['topic'], $page, $tid);
    	$bbtxt = bbcode($txt);
        $serverurl = 'http://'.$_SERVER["HTTP_HOST"].dirname($_SERVER["SCRIPT_NAME"]).'/';
        $bbtxt = str_replace('href="include','href="'.$serverurl.'include',$bbtxt);
        icmail ($topic_alerts_row['email'], 'neue Antwort im Thema: "'.$topic_alerts_row['topic'].'"', $text."<br /><u><i>$erst schrieb:</i></u><br /><br />$bbtxt",null,'html');
        debug ($topic_alerts_row['email']); 
      }
      db_query("DELETE FROM prefix_topic_alerts WHERE tid = ".$tid);
          
      # topic alert insert wenn gewaehlt.
      if (!empty($_POST['topic_alert']) AND $_POST['topic_alert'] == 'yes' AND loggedin()) {
        if (0 == db_result(db_query("SELECT COUNT(*) FROM prefix_topic_alerts WHERE uid = ".$_SESSION['authid']." AND tid = ".$tid),0)) {
          db_query("INSERT INTO prefix_topic_alerts (tid,uid) VALUES (".$tid.", ".$_SESSION['authid'].")");
        }
      }
      # topic alert ende
      
      db_query ("INSERT INTO `prefix_posts` (tid,fid,erst,erstid,time,txt) VALUES ( ".$tid.", ".$fid.", '".$erst."', ".$uid.", ".$time.", '".$txt."')");
      $pid = db_last_id();
    			
    	db_query("UPDATE `prefix_topics` SET last_post_id = ".$pid.", rep = rep + 1 WHERE id = ".$tid);
    	db_query("UPDATE `prefix_forums` SET posts = posts + 1, last_post_id = ".$pid." WHERE id = ".$fid );
    			
    	$page = ceil ( ($aktTopicRow['rep']+1)  / $allgAr['Fpanz'] );
    	
      # toipc als gelesen markieren
      $_SESSION['forumSEE'][$fid][$tid] = time();
       
    	wd ( array ( 
    	  $lang['backtotopic'] => 'index.php?forum-showposts-'.$tid.'-p'.$page.'#'.$pid,
    		$lang['backtotopicoverview'] => 'index.php?forum-showtopics-'.$fid
    	) , $lang['createpostsuccessful'] , 3 );
    }
    
    $design->footer();									
    ?>


    ich hoffe das is jetzt nicht allzu aufwendeig zwinker


    aber auf jeden fall schonmal fettes thx für die gute hilfestellung!!!



    PS:
    ZitatZitat geschrieben von Mairu

    und das mit dem BBCode konnte so eigentlich auch nicht simmten, wie ich das hatte, sollte irgendwie bei deinen Mails auch nicht stimmen grumml


    du meinst jetzt bei dem newsletter? der funzt aber wunderbar zwinker

    ZitatZitat geschrieben von Mairu
    Wenn das mit dem null nicht klappen sollte, versuch einfach mal 'email@adresse.de' oder sowas dafür einzusetzen.


    mit dem null hatte ich keinerlei probs - damit könnte ich halt, wenn ich wollte ne beliebige email-addy einsetzten, sodas die in der konfiguration angegebene nicht verwende... geschnallt zwinker
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Eigentlich sollte das nicht passieren, aber es wäre nicht schlecht, den Code der Email mal zu sehen, damit man weiß was schief läuft, bzw. halt so einen Bildlink.

    Und bei den Newslettern funktioniert das mit den Bilder, kann eigentlich nicht sein grumml
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    NickName gelöschter User
    also mit den bildern des funzte auch noch nie beim newsletter - ham wa wohl aneinader vorbei geredet zwinker

    hier der quelltext der empfangenen eMail:
    Hallo NickName,<br /><br /><br />Im Thema <b>"ein test"</b> ist gerade ein neuer Beitrag geschrieben worden...<br /><br />Hier ist der Link zum Thema: http://www.ostberlinerthc.de/index.php?forum-showposts-140-topicalert<br /><br />Wenn Du keine neuen eMails bei einer Antwort erhalten möchtest kannst Du Dich in dem Beitrag ganz unten austragen (wenn Du eingeloggt bist)!<br /><br /><br /><u><i>NickName schrieb:</i></u><br /><br />es scheint so langsam alles wunderbar zu funzen <img src="include/images/smiles/5.gif" border="0" alt="Zwinker" title="Zwinker" /><br />
    <br />
    ein fettes danke wieder einmal an mairu - the best coder of ilch <img src="include/images/smiles/icon_callsign.gif" border="0" alt="icon_callsign" title="icon_callsign" /><br />
    <br />
    <table cellspacing="0" cellpadding="0" border="0" style="BORDER: 1px SOLID #f6e79d;" width="90%" align="center"><tr><td style="font-family:Arial, Helvetica, sans-serif;FONT-SIZE:13px;FONT-WEIGHT:BOLD;COLOR:#666666;BACKGROUND-COLOR:#f6e79d;">&nbsp;Zitat</td></tr><tr bgcolor="#faf7e8"><td><table align="center" cellspacing="0" cellpadding="0" border="0" width="98%"><tr><td style="font-style:italic;FONT-SIZE:10px;COLOR:#666666;">dies is halt ein test - meine meinung &uuml;ber mairu aber nich!</td></tr></table></td></tr></table><br />
    <br />
    <b>also, hoffentlich eine der letzten antworten</b><br />
    <br />
    <br />
    <i>lalelu</i><div style="width:90%;padding:5px;font-family:Verdana;font-size:10px;color:#FF0000;border:2px dotted #FF0000;text-align:center">87 Tage, 9 Stunden, 5 Minuten und 5 Sekunden</div><br />
    <br />
    <img src="include/images/smiles/icon_andiearbeit.gif" border="0" alt="icon_andiearbeit" title="icon_andiearbeit" /> <img src="include/images/smiles/danse-du-ventre.gif" border="0" alt="tanz" title="tanz" />


    und ein screenn wies aussieht:



    PS: ich seh schon - der liest nur die interne url aus, es fehtl:
    http://www.ostberlinerthc.de/


    PSS: dachte ich könnte nach folgender anleitung vorgehen: www.ilch.de/forum-showposts-21362.html aber des hatte ich schon geändert und bei den anderen 3 §page möglichkeiten is sowas ja nich anzupassen traurig


    Zuletzt modifiziert von NickName am 23.06.2007 - 11:09:18
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Dafür ist ja
    $bbtxt = str_replace('href="include','href="'.$serverurl.'include',$bbtxt);
    da und jetzt ist auch klar was noch Fehlt und ich darf mir mal wieder ein Idiotstempel auf die Stirn drücken.
    Einfach noch
    $bbtxt = str_replace('src="include','src="'.$serverurl.'include',$bbtxt);
    drunter, das kannst du dann bei dem Newslettersachen äquivalent machen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    NickName gelöschter User
    ZitatZitat geschrieben von Mairu

    Dafür ist ja
    $bbtxt = str_replace('href="include','href="'.$serverurl.'include',$bbtxt);
    da und jetzt ist auch klar was noch Fehlt und ich darf mir mal wieder ein Idiotstempel auf die Stirn drücken.
    Einfach noch
    $bbtxt = str_replace('src="include','src="'.$serverurl.'include',$bbtxt);
    drunter, das kannst du dann bei dem Newslettersachen äquivalent machen.


    hey, ich habs glaubsch auch kapiert:

    im ersten replace wird href, also url ersetzt und im zweiten dann src, also der source des bildes

    jetzt weiss ich auch, warum der replace in der news doppelt vorhanden war (wollte eigentlich mal danach fragen, obs seine richtigkeit hat, aber ich dachte mir: der mairu weiss was er tut^^) - du wolltest beim 2. replace des src einsetzten, hast aber nach dem kopieren der zeile einfach nur vergessen, des href mit src auszutauschen

    aber den stempel brauchst du dir nicht aufzudrücken - ich hätte ja mal fragen können (wegen doppelt) und wie sagt man so schön: die einfachsten dinge sind am schwierigsten oder übersieht man ganz schnell mal zwinker


    was ich dazu aber trotzdem noch fragen möchet:

    warum ist in der new_post des $bbtxt = vor dem replace so wichtig, aber in der news nicht?:
    # mails verschicken	
      if ($_POST['cb_newsletter'] == 'on') {	
      	$sql = db_query("SELECT email FROM `prefix_user` WHERE recht <= ".$_POST['grecht']);
        $mailtxt = bbcode($text);
        $serverurl = 'http://'.$_SERVER["HTTP_HOST"].dirname($_SERVER["SCRIPT_NAME"]).'/';
        str_replace('href="include','href="'.$serverurl.'include',$mailtxt);
    	str_replace('src="include','src="'.$serverurl.'include',$mailtxt); 
        while ($row = db_fetch_object($sql,0)) {
          if (!empty($row->email)) {
            icmail($row->email,$_POST['titel'],$mailtxt,"webmaster@ostberlinerthc.de",'html');


    müsste ich hier nicht "$mailtxt = " davor setzten?? (also es funzt ja auch ohne, aber sollte es nicht eigenlich da sein?)


    PS: habs selbst rausgefunden - in der news muss auch des $mailtxt angegeben werden, da die bilder sonst nicht angezeigt werden zwinker

    und wieder was gelernt!


    Zuletzt modifiziert von NickName am 23.06.2007 - 11:44:39
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    NickName gelöschter User
    soweit so gut, nun dachte ich, ich hätte es kapiert und wollte es noch auf den betreff der email anwenden (nutze in den news schrägschrift [<i usw]) und hab diese zeile eingefügt:

    [entfernt, wegen dummheit ;)]

    ich dachte ich hätte es verstanden, aber anscheinend mach ich doch was falsch (oder geht des einfach nicht im titel/betreff):
    $bb_POST['titel'] = bbcode($_POST['titel']);
        while ($row = db_fetch_object($sql,0)) {
          if (!empty($row->email)) {
            icmail($row->email,$bb_POST['titel'],$mailtxt,"webmaster@ostberlinerthc.de",'html');



    Zuletzt modifiziert von NickName am 23.06.2007 - 12:07:38
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    In der News ist es auch wichtig, da hab ich das eben irgendwie verschlafen und deswegen gehts da ja auch nicht.

    Nein der Betreff darf nur normalen Test enthalten.


    Zuletzt modifiziert von Mairu am 23.06.2007 - 12:29:18
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    NickName gelöschter User
    ZitatZitat geschrieben von Mairu

    Nein der Betreff darf nur normalen Test enthalten.



    guuuuut, dann wars nich mein fehler zwinker


    ich danke dir vielmals für deine hingebungsvollen hilfestellungen, ich hab wieder viel gelernt!


    werd jetzt endlich in sbett gehen - sondt passiert noch dies:


    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten