ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » PM-System User verlinken

Geschlossen
  1. #1
    User Pic
    FightClub Mitglied
    Registriert seit
    02.06.2013
    Beiträge
    196
    Beitragswertungen
    1 Beitragspunkte
    Hallo liebe Ilch-Community

    Ich habe mal eine Frage ich möchte im PM-System Den User mit ID verlinken?
    Aber ich weiß leider nicht von ich das machen muss.

    Ich denke mal das es die include/contents/forum/privmsg.php ist.

    Das ist die PHP privmsg.

    <?php
    // Copyright by: Manuel Staechele
    // Support: www.ilch.de
    defined ('main') or die ('no direct access');
    
    //Limit wie viele Nachrichten pro Seite angezeigt werden
    $limit = 30;
    //Farbe für Multipageanzeige bei Archiv (css)
    $color = '#9DBDD4';
    
    function getSDmon($time){
    	$m = date('n', $time);
    	$s = $m == 3 ? 8 : 3;
    	return substr(getDmon($m),0,$s);
    }
    
    $title = $allgAr['title'] . ' :: Forum :: Private Nachrichten';
    $hmenu = $extented_forum_menu . '<a class="smalfont" href="index.php?forum">Forum</a><b> &raquo; </b><a class="smalfont" href="index.php?forum-privmsg">Private Nachrichten</a>' . $extented_forum_menu_sufix;
    $design = new design ($title , $hmenu, 1);
    $design->header();
    
    if ($allgAr['Fpmf'] != 1) {
        echo 'Private Nachrichten wurden von dem Administrator komplet gesperrt';
        echo '<br><a href="javascript:history.back(-1)">zurück</a>';
        $design->footer(1);
    } elseif (!loggedin()) {
        echo '<br>Gäste dürfen keine Privaten Nachrichten Verschicken!';
        $tpl = new tpl ('user/login');
        $tpl->set_out('WDLINK', 'index.php', 0);
        $design->footer(1);
    } elseif (db_result(db_query("SELECT opt_pm FROM prefix_user WHERE id = " . $_SESSION['authid']), 0) == 0) {
        echo 'Im <a href="index.php?user-profil">Profil</a> einstellen das du die PrivMsg Funktion nutzen m&ouml;chtest';
        $design->footer(1);
    }
    
    $uum = $menu->get(2);
    if ($uum == 'delete' and isset($_POST['toArchiv'])) {
    	$uum = 'toArchiv';
    }
    
    switch ($uum) {
        case 'new' :
            // neue pm schreiben und eintragen
    		$show_formular = true;
            $txt = '';
            $bet = '';
    
            if (isset($_POST['sub'])) {
                $txt = escape($_POST['txt'], 'textarea');
                $bet = escape($_POST['bet'], 'string');
    			$name = escape($_POST['name'], 'string');
            	$names = explode(',', $name);
            	$count = count($names);
            	if ($count > 1) {
            		//mehrere Empfänger
    				$namessql = array();
            		for($i = 0; $i < $count; $i++){
            			$name = trim($names[$i]);
    					$names[$i] = $name;
            			$namessql[] = "'{$name}'";
            		}
            		$userids = array();
            		$qry = db_query("SELECT id, name FROM prefix_user WHERE name IN (".implode(', ', $namessql).")");
            		while ($r = db_fetch_assoc($qry)){
            			$userids[] = $r['id'];
            			$usersfound[] = $r['name'];
            		}
            		$countids = count($userids);
            		if ($countids) {
            			if ($count == $countids) {
            				$wdtext = '';
            				$wdtime = 5;
    					} else {
    						$notfound = array_diff($names, $usersfound);
    						$wdtext = 'Folgende Namen konnten nicht gefunden werden: '.implode(', ', $notfound);
    						$wdtime = 10;
    					}
    					if (isset($_POST['opt_empf']) AND $_POST['opt_empf'] == 1) {
    						$txt .= '\n\n---------- INFO ----------\nNachricht wurde versendet an '.implode(', ',$usersfound).'.';
    					}
    					sendpm($_SESSION['authid'], $userids, $bet, $txt);
            			$wdtext .= "{$countids} PMs erfolgreich verschickt.<br />";
            			wd('index.php?forum-privmsg', $wdtext, $wdtime);
            			$show_formular = false;
    				} else {
    					echo 'Keinen der Empf&auml;nger gefunden.<br />';
    				}
            	} elseif (1 == db_result(db_query("SELECT count(*) FROM prefix_user WHERE name = BINARY '" . $name . "'"), 0)) {
    				$unqid .= 1;
    				$eid = db_result(db_query("SELECT id FROM prefix_user WHERE name = BINARY '" . $name . "'"), 0);
    				sendpm($_SESSION['authid'], $eid, $bet, $txt);
    #START# wenn eine PM denn kommt Jetzt auch eine eMial				
    				$mail = db_result(db_query("SELECT email FROM prefix_user WHERE name = BINARY '" . $name . "'"), 0);
    				icmail ($mail,'neue PM','Sie haben soeben eine neue Private Nachricht erhalten');
    				wd('index.php?forum-privmsg', 'Die Nachricht wurde erfolgreich gesendet');
    #ENDE# wenn eine PM denn kommt Jetzt auch eine eMial					
    				$show_formular = false;
                } else {
                    echo 'Dieser Empf&auml;nger konnte nicht gefunden werden';
                }
            }
    
            if ($show_formular === true) {
                $name = '';
                $empfid = 0;
                if (isset($_REQUEST['empfid'])) {
                    $empfids = explode(',', $_REQUEST['empfid']);
    				$count = count($empfids);
    				if ($count) {
    					for($i = 0; $i < $count; $i++){
    						$int = intval($empfids[$i]);
    						if ($int > 0) {
    							$empfids[$i] = $int;
    						}
    					}
    				}
    				$qry = db_query("SELECT name FROM prefix_user WHERE id IN (".implode(', ', $empfids).")");
                	$names = array();
                	while ($r = db_fetch_assoc($qry)){
                		$names[] = $r['name'];
                	}
                	$name = implode(', ', $names);
    			}
                $ar = array (
                    'name' => $name,
                    'SMILIES' => getsmilies(),
                    'TXT' => $txt,
                    'BET' => $bet,
                    );
    
                if (isset($_REQUEST['text'])) {
                    $ar['TXT'] = unescape(escape($_REQUEST['text'], 'textarea'));
                }
                if (isset($_REQUEST['anhang'])) {
                    $x = explode("\n", unescape(escape(urldecode($_REQUEST['anhang']), 'textarea')));
                    $n = '';
                    for ($i = 0; $i <= count($x); $i++) {
                        if (empty($x[$i])) {
                            continue;
                        }
                        $n .= '> ' . $x[$i] . "\n";
                    }
                    $ar['TXT'] .= "\n\n" . $n;
                }
                if (isset($_POST['bet'])) {
                    $ar['BET'] = unescape(escape($_REQUEST['bet'], 'string'));
                }
                if (isset($_POST['re']) AND strpos ($ar['BET'], 're') === false AND strpos ($ar['BET'], 'Re') === false AND strpos ($ar['BET'], 'RE') === false) {
                    $ar['BET'] = 'Re(1): ' . $ar['BET'];
                } elseif (isset($_POST['re'])) {
                    $x = preg_replace("/re\((\d+)\):.*/i", "\\1", trim($ar['BET']));
                    if (is_numeric($x)) {
                        $x = $x + 1;
                        $ar['BET'] = preg_replace("/(re)\(\d+\):(.*)/i", "\\1(" . $x . "):\\2", $ar['BET']);
                    }
                }
    
                $tpl = new tpl ('forum/pm/new');
                $tpl->set_ar_out($ar, 0);
    		}
            break;
    
    	case 'edit' :
    		//message bearbeiten
    		$pmid = escape($menu->get(3), 'integer');
    		//zugehörige uniqueid
    		$erg = db_query('SELECT groupid FROM `prefix_pm` WHERE id = "'.$pmid.'" ');
    		$r = db_fetch_assoc($erg);
    		$gid = $r['groupid'];
    		
    		if (isset($_POST['sub'])) {
    			$txt = escape($_POST['txt'], 'textarea');
    			$bet = escape($_POST['bet'], 'string');
    			
    			$pmid = escape($_POST['pmids'], 'string');
    			$pmids = explode(',', $pmid);
    			$countids = count($pmids);
    			
    			db_query("UPDATE prefix_pm SET titel = '".$bet."', txt = '".$txt."' WHERE id IN (".implode(', ', $pmids).")");
            	
            	if ($countids > 1) {
    				$wdtext .= "{$countids} PMs erfolgreich geändert.<br />";
    			} else {
    				$wdtext .= "1 PM erfolgreich geändert.<br />";
    			}
    			$wdtime = 5;
            	wd('index.php?forum-privmsg-showsend', $wdtext, $wdtime);
            	$show_formular = false;
    			
    			$design->footer(1);
    		}
    		
    		//alle Empfänger mit gleicher uniqueid ermitteln
            $res = db_query('SELECT id, eid FROM `prefix_pm` WHERE groupid = "'.$gid.'" AND gelesen = 0');
            while ($r = db_fetch_assoc($res)) {
    			$pmids[] = $r['id'];
    			$nameids[] = $r['eid'];
    		}
    		$pmids = implode(', ', $pmids);
    		
    		$res2 = db_query("SELECT id, name FROM prefix_user WHERE id IN (".implode(', ', $nameids).")");
    		while ($r2 = db_fetch_assoc($res2)) {
    			$usernames[] = $r2['name'];
    		}
    		$empf = implode(', ', $usernames);
    		
    		$erg = db_query('SELECT titel, txt FROM `prefix_pm` WHERE groupid = "'.$gid.'" ');
    		$row = db_fetch_assoc($erg);
    		//$row['txt'] = bbcode($row['txt']);
    		$txt = $row['txt'];
    		$bet = $row['titel'];
    		
    		$ar = array (
    			'name' => $empf,
    			'SMILIES' => getsmilies(),
                'TXT' => $txt,
                'BET' => $bet,
    			);
    		
    		$tpl = new tpl ('forum/pm/edit');
    		$tpl->set('pmids', $pmids);
    		$tpl->set_ar_out($ar,0);
    		break;
    
        case 'showmsg' :
            // message anzeigen lassen
            $pid = escape($menu->get(3), 'integer');
    		$soeid = ($menu->get(4) == 's' ? 'eid' : 'sid');
            $erg = db_query("SELECT a.gelesen, a.eid, a.sid, a.id, b.name, a.titel, a.time, a.txt, a.archiv, a.groupid, a.anz_in_group FROM `prefix_pm` a LEFT JOIN prefix_user b ON a." . $soeid . " = b.id WHERE a.id = " . $pid); //neu -> a.uniqueid
            $row = db_fetch_assoc($erg);
    		//neu//
    		$gid = $row['groupid'];
    		$anz = $row['anz_in_group'];
    		
    		$res = db_result(db_query("SELECT COUNT(*) FROM prefix_pm WHERE groupid = ".$gid." AND gelesen = 0 AND status = 0 AND archiv = 0"),0);
    		
    		if ($anz == $res) {
    			$read = 0;
    		} else {
    			$read = 1;
    		}
    		//ende neu//
    		if (($row['sid'] != $_SESSION['authid'] AND $menu->get(4) == 's')
                    OR ($row['eid'] != $_SESSION['authid'] AND $menu->get(4) != 's')) {
                $design->footer(1);
            }
            if ($row['gelesen'] == 0 AND $menu->get(4) != 's') {
                db_query("UPDATE `prefix_pm` SET gelesen = 1 WHERE id = " . $pid);
            }
            $row['time'] = date('d. ',$row['time']).getDmon(date(n, $row['time'])).date(' y - H:i \U\h\r', $row['time']);
            $row['anhang'] = urlencode($row['txt']);
            $row['txt'] = bbcode(unescape($row['txt']));
    		if ($menu->get(4) == 's') {
                $tpl = new tpl ('forum/pm/show_mess_send');
            } else {
                $tpl = new tpl ('forum/pm/show_mess');
            }
    
    		if ($soeid == 'sid') {
    			$row['archiv'] = ($row['archiv'] + 1) % 2;
    		} else {
    			if ($row['archiv'] == 0) {
    				$row['archiv'] = $row['archiv'] + 1;
    			} else {
    				$row['archiv'] = $row['archiv'] % 2;
    			}
    		}
    		
    		if ($menu->get(5) == 'arch') {
    			$row['archiv'] = 0;
    		}
    		$tpl->set('read',$read);
    
    		
            $tpl->set_ar_out($row, 0);
            break;
        case 'delete' :
    		// löschen von nachrichten
    		if ($menu->get(3) != '' AND $menu->get(4) == '') {
                $_POST['delids'][] = $menu->get(3);
            }elseif ($menu->get(3) != '' AND $menu->get(4) == 's') {
                $_POST['delsids'][] = $menu->get(3);
            }
            if (empty($_POST['delids']) AND empty($_POST['delsids'])) {
                echo 'Es wurde keine Nachricht zum l&ouml;schen gew&auml;hlt <br /><br />';
                echo '<a href="javascript:history.back(-1)"><b>&laquo;</b> zur&uuml;ck</a>';
            } else {
                if ((empty($_POST['delids']) AND empty($_POST['delsids'])) OR empty($_POST['sub'])) {
                    $delids = (empty($_POST['delids'])?$_POST['delsids']:$_POST['delids']);
                    $s = (empty($_POST['delids'])?'':'s');
                    echo '<form action="index.php?forum-privmsg-delete" method="POST">';
                    $i = 0;
                    if (!is_array($delids)) {
                        $delids = array ($delids);
                    }
                    foreach ($delids as $a) {
                        $i++;
                        echo '<input type="hidden" name="del' . $s . 'ids[]" value="' . $a . '">';
                    }
                    echo '<br>Wollen Sie ';
                    echo ($i > 1 ? 'die (' . $i . ') Nachrichten ' : 'die Nachricht ');
                    echo 'wirklich löschen ?<br><br><input type="submit" value=" Ja " name="sub"> &nbsp; &nbsp; <input type="button" value="Nein" onclick="document.location.href =\'?forum-privmsg\'"></form>';
                } else {
                    $delids = (empty($_POST['delids'])?$_POST['delsids']:$_POST['delids']);
                    $s = (empty($_POST['delids'])?'':'s');
                    if ($s == 's') {
                    	$soeid = 'sid';
                    	$stat1 = 1;
                    	$arch = 'IF(archiv>=2,archiv-2,archiv)';
    				} else {
    					$soeid = 'eid';
    					$stat1 = -1;
    					$arch = 'IF(archiv%2=1,archiv-1,archiv)';
    				}
    				$stat2 = $stat1 * - 1;
                    $i = 0;
                    if (!is_array($delids)) {
                        $delids = Array ($delids);
                    }
                    foreach ($delids as $a) {
                        if (is_numeric($a) AND $a != 0) {
                            db_query("DELETE FROM `prefix_pm` WHERE id = " . $a . " AND " . $soeid . " = " . $_SESSION['authid'] . " AND status = " . $stat1);
                            db_query("UPDATE prefix_pm SET status = " . $stat2 . ", archiv = {$arch} WHERE id = " . $a . " AND " . $soeid . " = " . $_SESSION['authid']);
                            $i++;
                        }
                    }
                    echo 'Es wurd';
                    echo ($i > 1 ? 'en (' . $i . ') Nachrichten ' : 'e eine Nachricht ');
                    echo <<<HTML
    erfolgreich gelöscht <br /><br /><a href="index.php?forum-privmsg">zum Posteingang</a>
    <br /><a href="index.php?forum-privmsg-showsend">zum Postausgang</a>
    <br /><a href="index.php?forum-privmsg-archiv">zum Archiv</a>
    HTML;
                }
            }
            break;
    	case 'toArchiv' :
    		// archivieren von nachrichten
    		if ($menu->get(3) != '' AND $menu->get(4) == '') {
    			$_POST['delids'][] = $menu->get(3);
    		}elseif ($menu->get(3) != '' AND $menu->get(4) == 's') {
    			$_POST['delsids'][] = $menu->get(3);
    		}
    		if (empty($_POST['delids']) AND empty($_POST['delsids'])) {
    			echo 'Es wurde keine Nachricht zum Archivieren gew&auml;hlt <br /><br />';
    			echo '<a href="javascript:history.back(-1)"><b>&laquo;</b> zur&uuml;ck</a>';
    		} else {
    			$delids = (empty($_POST['delids'])?$_POST['delsids']:$_POST['delids']);
    			$s = (empty($_POST['delids'])?'':'s');
    			$i = 0;
    			if (!is_array($delids)) {
    				$delids = Array ($delids);
    			}
    			foreach ($delids as $j => $a) {
    				if (intval($a) > 0) {
    					$delids[$j] = intval($a);
    				} else {
    					unset($delids[$j-$i]);
    					$i++;
    				}
    			}
    			$delids = implode(', ', $delids);
    			if ($s == 's') {
    				$qry = "UPDATE prefix_pm SET archiv = archiv + 1 WHERE id IN ({$delids}) AND eid = {$_SESSION['authid']} AND (archiv % 2) = 0";
    			} else {
    				$qry = "UPDATE prefix_pm SET archiv = archiv + 2 WHERE id IN ({$delids}) AND sid = {$_SESSION['authid']} AND archiv < 2";
    			}
    			db_query($qry);
    			echo 'Es wurd';
    			echo ($i > 1 ? 'en (' . $i . ') Nachrichten ' : 'e eine Nachricht ');
    			echo <<<HTML
    erfolgreich ins Archiv verschoben. <br /><br /><a href="index.php?forum-privmsg">zum Posteingang</a>
    <br /><a href="index.php?forum-privmsg-showsend">zum Postausgang</a>
    <br /><a href="index.php?forum-privmsg-archiv">zum Archiv</a>
    HTML;
    		}
    		break;
    	case 'showsend' :
            $tpl = new tpl ('forum/pm/showsend');
            $tpl->out(0);
            $class = 'Cmite';
    
    		$page = ( $menu->getA(3) == 'p' ? $menu->getE(3) : 1 );
    		$MPL = db_make_sites ($page , "WHERE sid = '{$_SESSION['authid']}}' AND status >= 0 AND archiv < 2" , $limit , '?forum-privmsg-showsend' , 'pm' );
    		$anfang = ($page - 1) * $limit;
    		
    		$abf = "SELECT a.titel, b.name as empf, a.id, a.`time`, a.gelesen, a.groupid, a.anz_in_group FROM `prefix_pm` a left join prefix_user b ON a.eid = b.id WHERE a.sid = " . $_SESSION['authid'] . " AND a.status >= 0 AND a.archiv < 2 ORDER BY time DESC LIMIT $anfang, $limit";
            $erg = db_query($abf);
    		while ($row = db_fetch_assoc($erg)) {
                $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite');
                $row['class'] = $class;
                $row['time'] = date('d. ',$row['time']).getSDmon($row['time']).date(' y - H:i \U\h\r', $row['time']);
            	$row['titel'] = (trim($row['titel']) == '' ? ' -- kein Nachrichtentitel -- ' : $row['titel']);
    			//neu//
    			$pmid = $row['id'];
    			$gid = $row['groupid'];
    			$anz = $row['anz_in_group'];
    			
    			$res = db_result(db_query("SELECT COUNT(*) FROM prefix_pm WHERE groupid = ".$gid." AND gelesen = 0 AND status = 0 AND archiv = 0"),0);
    			
    			if ($anz == $res) {
    				$row['NEW'] = $row['gelesen'] == 0 ? '<a href="index.php?forum-privmsg-edit-'.$pmid.'"><img src="include/images/icons/edit.png" name="edit" title="Nachricht bearbeiten" /><img src="include/images/icons/no_email_icon.png" alt="ungelesen" title="Nachricht wurde noch nicht gelesen" style="cursor:help;"/>' : '';
    			} else {
    				$row['NEW'] = $row['gelesen'] == 0 ? '<img src="include/images/icons/no_email_icon.png" alt="ungelesen" title="Nachricht wurde noch nicht gelesen" style="cursor:help;"/>' : '';
    			}
    
                $tpl->set_ar_out($row, 1);
            }
            $tpl->set_out('MPL', $MPL, 2);
            break;
        case 'archiv':
    		$tpl = new tpl ('forum/pm/archiv');
    		$tpl->out(0);
    		$tpl->set('color', $color);
    		$class = 'Cmite';
    
    		$epage = ( $menu->getA(3) == 'e' ? $menu->getE(3) : 1 );
    		$eMPL = db_make_sites ($epage , "WHERE eid = '{$_SESSION['authid']}}' AND status <= 0 AND archiv % 2 = 1" , $limit , '?forum-privmsg-archiv' , 'pm' );
    		$eMPL = str_replace('archiv-p', 'archiv-e', $eMPL);
    		$tpl->set('eMPL', $eMPL);
    		$eanfang = ($epage - 1) * $limit;
    
    		$spage = ( $menu->getA(4) == 's' ? $menu->getE(4) : 1 );
    		$sMPL = db_make_sites ($spage , "WHERE sid = '{$_SESSION['authid']}}' AND status >= 0 AND archiv >= 2" , $limit , '?forum-privmsg-archiv-e'.$epage , 'pm' );
    		$sMPL = str_replace('archiv-e'.$epage.'-p', 'archiv-e'.$epage.'-s', $sMPL);
    		$tpl->set('sMPL', $sMPL);
    		$sanfang = ($spage - 1) * $limit;
    
    
    		//empf
    		$abf = "SELECT a.titel as BET, a.gelesen as NEW, b.name as ABS, a.id as ID, a.`time` FROM `prefix_pm` a left join prefix_user b ON a.sid = b.id WHERE a.eid = " . $_SESSION['authid'] . " AND a.status <= 0 AND a.archiv % 2 = 1 ORDER BY time DESC LIMIT $eanfang, $limit";
    		$erg = db_query($abf);
    		if (db_num_rows($erg)) {
    			$tpl->out(1);
    			while ($row = db_fetch_assoc($erg)) {
    				$class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite');
    				$row['BET'] = (trim($row['BET']) == '' ? ' -- kein Nachrichtentitel -- ' : $row['BET']);
    				$row['CLASS'] = $class;
    				$row['time'] = date('d. ',$row['time']).getSDmon($row['time']).date(' y - H:i \U\h\r', $row['time']);
    				$row['NEW'] = ($row['NEW'] == 0 ? '<span style="color: red; text-decoration: blink; font-weight: bold; font-style: italic;">neu</span>' : '');
    				$tpl->set_ar_out($row, 2);
    			}
    			$tpl->out(3);
    		}
        	//ges
    		$abf = "SELECT a.titel, b.name as empf, a.id, a.`time`, a.gelesen FROM `prefix_pm` a left join prefix_user b ON a.eid = b.id WHERE a.sid = " . $_SESSION['authid'] . " AND a.status >= 0 AND a.archiv >= 2 ORDER BY time DESC LIMIT $sanfang, $limit"; //neu -> a.uniqueid//
    		$erg = db_query($abf);
    		if (db_num_rows($erg)) {
    			$tpl->out(4);
    			while ($row = db_fetch_assoc($erg)) {
    				$class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite');
    				$row['titel'] = (trim($row['titel']) == '' ? ' -- kein Nachrichtentitel -- ' : $row['titel']);
    				$row['class'] = $class;
    				$row['time'] = date('d. ',$row['time']).getSDmon($row['time']).date(' y - H:i \U\h\r', $row['time']);
    				$row['NEW'] = $row['gelesen'] == 0 ? '<img src="include/images/icons/no_email_icon.png" alt="ungelesen" title="Nachricht wurde noch nicht gelesen" style="cursor:help;"/>' : '';
    				
    				$tpl->set_ar_out($row, 5);
    			}
    			$tpl->out(6);
    		}
    		break;
        default :
            // message übersicht.
            $tpl = new tpl ('forum/pm/show');
            $tpl->out(0);
    
    		$page = ( $menu->getA(2) == 'p' ? $menu->getE(2) : 1 );
    		$MPL = db_make_sites ($page , "WHERE eid = '{$_SESSION['authid']}}' AND status <= 0 AND archiv % 2 = 0" , $limit , '?forum-privmsg' , 'pm' );
    		$anfang = ($page - 1) * $limit;
    
            $class = 'Cmite';
            $abf = "SELECT a.titel as BET, a.gelesen as NEW, b.name as ABS, a.id as ID, a.`time` FROM `prefix_pm` a left join prefix_user b ON a.sid = b.id WHERE a.eid = " . $_SESSION['authid'] . " AND a.status <= 0 AND a.archiv % 2 = 0 ORDER BY time DESC LIMIT $anfang, $limit";
            $erg = db_query($abf);
            while ($row = db_fetch_assoc($erg)) {
                $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite');
                $row['NEW'] = ($row['NEW'] == 0 ? '<span style="color: red; text-decoration: blink; font-weight: bold; font-style: italic;">neu</span>' : '');
                $row['CLASS'] = $class;
                $row['BET'] = (trim($row['BET']) == '' ? ' -- kein Nachrichtentitel -- ' : $row['BET']);
                $row['time'] = date('d. ',$row['time']).getSDmon($row['time']).date(' y - H:i \U\h\r', $row['time']);
                $tpl->set_ar_out($row, 1);
            }
            $tpl->set_out('MPL', $MPL, 2);
            break;
    }
    $design->footer();
    
    ?>


    Ich Bitte um eure Hilfe.

    MFG
    Benny zwinker


    verwendete ilch Version: 1.1 P
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    Könntest Du etwas ausführlicher erklären, was genau Du vor hast?
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    FightClub Mitglied
    Registriert seit
    02.06.2013
    Beiträge
    196
    Beitragswertungen
    1 Beitragspunkte
    Hallo Outi77

    Danke für deine Antwort.
    Also ich möchte im Posteingang und im Postausgang denn User der mir eine PM geschrieben hat so verlinken das ich auf seinen Profil komme.

    Das ist jetzt mal ein bsp:

    Posteingang

    test
    von test » 09. Aug 14 - 20:37 Uhr

    MFG
    BennY zwinker
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    Also hier mal die angepaßte Datei:
    <?php
    // Copyright by: Manuel Staechele
    // Support: www.ilch.de
    defined ('main') or die ('no direct access');
     
    //Limit wie viele Nachrichten pro Seite angezeigt werden
    $limit = 30;
    //Farbe für Multipageanzeige bei Archiv (css)
    $color = '#9DBDD4';
     
    function getSDmon($time){
        $m = date('n', $time);
        $s = $m == 3 ? 8 : 3;
        return substr(getDmon($m),0,$s);
    }
     
    $title = $allgAr['title'] . ' :: Forum :: Private Nachrichten';
    $hmenu = $extented_forum_menu . '<a class="smalfont" href="index.php?forum">Forum</a><b> &raquo; </b><a class="smalfont" href="index.php?forum-privmsg">Private Nachrichten</a>' . $extented_forum_menu_sufix;
    $design = new design ($title , $hmenu, 1);
    $design->header();
     
    if ($allgAr['Fpmf'] != 1) {
        echo 'Private Nachrichten wurden von dem Administrator komplet gesperrt';
        echo '<br><a href="javascript:history.back(-1)">zurück</a>';
        $design->footer(1);
    } elseif (!loggedin()) {
        echo '<br>Gäste dürfen keine Privaten Nachrichten Verschicken!';
        $tpl = new tpl ('user/login');
        $tpl->set_out('WDLINK', 'index.php', 0);
        $design->footer(1);
    } elseif (db_result(db_query("SELECT opt_pm FROM prefix_user WHERE id = " . $_SESSION['authid']), 0) == 0) {
        echo 'Im <a href="index.php?user-profil">Profil</a> einstellen das du die PrivMsg Funktion nutzen m&ouml;chtest';
        $design->footer(1);
    }
     
    $uum = $menu->get(2);
    if ($uum == 'delete' and isset($_POST['toArchiv'])) {
        $uum = 'toArchiv';
    }
     
    switch ($uum) {
        case 'new' :
            // neue pm schreiben und eintragen
            $show_formular = true;
            $txt = '';
            $bet = '';
     
            if (isset($_POST['sub'])) {
                $txt = escape($_POST['txt'], 'textarea');
                $bet = escape($_POST['bet'], 'string');
                $name = escape($_POST['name'], 'string');
                $names = explode(',', $name);
                $count = count($names);
                if ($count > 1) {
                    //mehrere Empfänger
                    $namessql = array();
                    for($i = 0; $i < $count; $i++){
                        $name = trim($names[$i]);
                        $names[$i] = $name;
                        $namessql[] = "'{$name}'";
                    }
                    $userids = array();
                    $qry = db_query("SELECT id, name FROM prefix_user WHERE name IN (".implode(', ', $namessql).")");
                    while ($r = db_fetch_assoc($qry)){
                        $userids[] = $r['id'];
                        $usersfound[] = $r['name'];
                    }
                    $countids = count($userids);
                    if ($countids) {
                        if ($count == $countids) {
                            $wdtext = '';
                            $wdtime = 5;
                        } else {
                            $notfound = array_diff($names, $usersfound);
                            $wdtext = 'Folgende Namen konnten nicht gefunden werden: '.implode(', ', $notfound);
                            $wdtime = 10;
                        }
                        if (isset($_POST['opt_empf']) AND $_POST['opt_empf'] == 1) {
                            $txt .= '\n\n---------- INFO ----------\nNachricht wurde versendet an '.implode(', ',$usersfound).'.';
                        }
                        sendpm($_SESSION['authid'], $userids, $bet, $txt);
                        $wdtext .= "{$countids} PMs erfolgreich verschickt.<br />";
                        wd('index.php?forum-privmsg', $wdtext, $wdtime);
                        $show_formular = false;
                    } else {
                        echo 'Keinen der Empf&auml;nger gefunden.<br />';
                    }
                } elseif (1 == db_result(db_query("SELECT count(*) FROM prefix_user WHERE name = BINARY '" . $name . "'"), 0)) {
                    $unqid .= 1;
                    $eid = db_result(db_query("SELECT id FROM prefix_user WHERE name = BINARY '" . $name . "'"), 0);
                    sendpm($_SESSION['authid'], $eid, $bet, $txt);
    #START# wenn eine PM denn kommt Jetzt auch eine eMial              
                    $mail = db_result(db_query("SELECT email FROM prefix_user WHERE name = BINARY '" . $name . "'"), 0);
                    icmail ($mail,'neue PM','Sie haben soeben eine neue Private Nachricht erhalten');
                    wd('index.php?forum-privmsg', 'Die Nachricht wurde erfolgreich gesendet');
    #ENDE# wenn eine PM denn kommt Jetzt auch eine eMial                   
                    $show_formular = false;
                } else {
                    echo 'Dieser Empf&auml;nger konnte nicht gefunden werden';
                }
            }
     
            if ($show_formular === true) {
                $name = '';
                $empfid = 0;
                if (isset($_REQUEST['empfid'])) {
                    $empfids = explode(',', $_REQUEST['empfid']);
                    $count = count($empfids);
                    if ($count) {
                        for($i = 0; $i < $count; $i++){
                            $int = intval($empfids[$i]);
                            if ($int > 0) {
                                $empfids[$i] = $int;
                            }
                        }
                    }
                    $qry = db_query("SELECT name FROM prefix_user WHERE id IN (".implode(', ', $empfids).")");
                    $names = array();
                    while ($r = db_fetch_assoc($qry)){
                        $names[] = $r['name'];
                    }
                    $name = implode(', ', $names);
                }
                $ar = array (
                    'name' => $name,
                    'SMILIES' => getsmilies(),
                    'TXT' => $txt,
                    'BET' => $bet,
                    );
     
                if (isset($_REQUEST['text'])) {
                    $ar['TXT'] = unescape(escape($_REQUEST['text'], 'textarea'));
                }
                if (isset($_REQUEST['anhang'])) {
                    $x = explode("\n", unescape(escape(urldecode($_REQUEST['anhang']), 'textarea')));
                    $n = '';
                    for ($i = 0; $i <= count($x); $i++) {
                        if (empty($x[$i])) {
                            continue;
                        }
                        $n .= '> ' . $x[$i] . "\n";
                    }
                    $ar['TXT'] .= "\n\n" . $n;
                }
                if (isset($_POST['bet'])) {
                    $ar['BET'] = unescape(escape($_REQUEST['bet'], 'string'));
                }
                if (isset($_POST['re']) AND strpos ($ar['BET'], 're') === false AND strpos ($ar['BET'], 'Re') === false AND strpos ($ar['BET'], 'RE') === false) {
                    $ar['BET'] = 'Re(1): ' . $ar['BET'];
                } elseif (isset($_POST['re'])) {
                    $x = preg_replace("/re\((\d+)\):.*/i", "\\1", trim($ar['BET']));
                    if (is_numeric($x)) {
                        $x = $x + 1;
                        $ar['BET'] = preg_replace("/(re)\(\d+\):(.*)/i", "\\1(" . $x . "):\\2", $ar['BET']);
                    }
                }
     
                $tpl = new tpl ('forum/pm/new');
                $tpl->set_ar_out($ar, 0);
            }
            break;
     
        case 'edit' :
            //message bearbeiten
            $pmid = escape($menu->get(3), 'integer');
            //zugehörige uniqueid
            $erg = db_query('SELECT groupid FROM `prefix_pm` WHERE id = "'.$pmid.'" ');
            $r = db_fetch_assoc($erg);
            $gid = $r['groupid'];
             
            if (isset($_POST['sub'])) {
                $txt = escape($_POST['txt'], 'textarea');
                $bet = escape($_POST['bet'], 'string');
                 
                $pmid = escape($_POST['pmids'], 'string');
                $pmids = explode(',', $pmid);
                $countids = count($pmids);
                 
                db_query("UPDATE prefix_pm SET titel = '".$bet."', txt = '".$txt."' WHERE id IN (".implode(', ', $pmids).")");
                 
                if ($countids > 1) {
                    $wdtext .= "{$countids} PMs erfolgreich geändert.<br />";
                } else {
                    $wdtext .= "1 PM erfolgreich geändert.<br />";
                }
                $wdtime = 5;
                wd('index.php?forum-privmsg-showsend', $wdtext, $wdtime);
                $show_formular = false;
                 
                $design->footer(1);
            }
             
            //alle Empfänger mit gleicher uniqueid ermitteln
            $res = db_query('SELECT id, eid FROM `prefix_pm` WHERE groupid = "'.$gid.'" AND gelesen = 0');
            while ($r = db_fetch_assoc($res)) {
                $pmids[] = $r['id'];
                $nameids[] = $r['eid'];
            }
            $pmids = implode(', ', $pmids);
             
            $res2 = db_query("SELECT id, name FROM prefix_user WHERE id IN (".implode(', ', $nameids).")");
            while ($r2 = db_fetch_assoc($res2)) {
                $usernames[] = $r2['name'];
            }
            $empf = implode(', ', $usernames);
             
            $erg = db_query('SELECT titel, txt FROM `prefix_pm` WHERE groupid = "'.$gid.'" ');
            $row = db_fetch_assoc($erg);
            //$row['txt'] = bbcode($row['txt']);
            $txt = $row['txt'];
            $bet = $row['titel'];
             
            $ar = array (
                'name' => $empf,
                'SMILIES' => getsmilies(),
                'TXT' => $txt,
                'BET' => $bet,
                );
             
            $tpl = new tpl ('forum/pm/edit');
            $tpl->set('pmids', $pmids);
            $tpl->set_ar_out($ar,0);
            break;
     
        case 'showmsg' :
            // message anzeigen lassen
            $pid = escape($menu->get(3), 'integer');
            $soeid = ($menu->get(4) == 's' ? 'eid' : 'sid');
            $erg = db_query("SELECT a.gelesen, a.eid, a.sid, a.id, b.name, b.id as uid, a.titel, a.time, a.txt, a.archiv, a.groupid, a.anz_in_group FROM `prefix_pm` a LEFT JOIN prefix_user b ON a." . $soeid . " = b.id WHERE a.id = " . $pid); //neu -> a.uniqueid
            $row = db_fetch_assoc($erg);
            //neu//
            $gid = $row['groupid'];
            $anz = $row['anz_in_group'];
             
            $res = db_result(db_query("SELECT COUNT(*) FROM prefix_pm WHERE groupid = ".$gid." AND gelesen = 0 AND status = 0 AND archiv = 0"),0);
             
            if ($anz == $res) {
                $read = 0;
            } else {
                $read = 1;
            }
            //ende neu//
            if (($row['sid'] != $_SESSION['authid'] AND $menu->get(4) == 's')
                    OR ($row['eid'] != $_SESSION['authid'] AND $menu->get(4) != 's')) {
                $design->footer(1);
            }
            if ($row['gelesen'] == 0 AND $menu->get(4) != 's') {
                db_query("UPDATE `prefix_pm` SET gelesen = 1 WHERE id = " . $pid);
            }
            $row['time'] = date('d. ',$row['time']).getDmon(date(n, $row['time'])).date(' y - H:i \U\h\r', $row['time']);
            $row['anhang'] = urlencode($row['txt']);
            $row['txt'] = bbcode(unescape($row['txt']));
            if ($menu->get(4) == 's') {
                $tpl = new tpl ('forum/pm/show_mess_send');
            } else {
                $tpl = new tpl ('forum/pm/show_mess');
            }
     
            if ($soeid == 'sid') {
                $row['archiv'] = ($row['archiv'] + 1) % 2;
            } else {
                if ($row['archiv'] == 0) {
                    $row['archiv'] = $row['archiv'] + 1;
                } else {
                    $row['archiv'] = $row['archiv'] % 2;
                }
            }
             
            if ($menu->get(5) == 'arch') {
                $row['archiv'] = 0;
            }
            $tpl->set('read',$read);
     
             
            $tpl->set_ar_out($row, 0);
            break;
        case 'delete' :
            // löschen von nachrichten
            if ($menu->get(3) != '' AND $menu->get(4) == '') {
                $_POST['delids'][] = $menu->get(3);
            }elseif ($menu->get(3) != '' AND $menu->get(4) == 's') {
                $_POST['delsids'][] = $menu->get(3);
            }
            if (empty($_POST['delids']) AND empty($_POST['delsids'])) {
                echo 'Es wurde keine Nachricht zum l&ouml;schen gew&auml;hlt <br /><br />';
                echo '<a href="javascript:history.back(-1)"><b>&laquo;</b> zur&uuml;ck</a>';
            } else {
                if ((empty($_POST['delids']) AND empty($_POST['delsids'])) OR empty($_POST['sub'])) {
                    $delids = (empty($_POST['delids'])?$_POST['delsids']:$_POST['delids']);
                    $s = (empty($_POST['delids'])?'':'s');
                    echo '<form action="index.php?forum-privmsg-delete" method="POST">';
                    $i = 0;
                    if (!is_array($delids)) {
                        $delids = array ($delids);
                    }
                    foreach ($delids as $a) {
                        $i++;
                        echo '<input type="hidden" name="del' . $s . 'ids[]" value="' . $a . '">';
                    }
                    echo '<br>Wollen Sie ';
                    echo ($i > 1 ? 'die (' . $i . ') Nachrichten ' : 'die Nachricht ');
                    echo 'wirklich löschen ?<br><br><input type="submit" value=" Ja " name="sub"> &nbsp; &nbsp; <input type="button" value="Nein" onclick="document.location.href =\'?forum-privmsg\'"></form>';
                } else {
                    $delids = (empty($_POST['delids'])?$_POST['delsids']:$_POST['delids']);
                    $s = (empty($_POST['delids'])?'':'s');
                    if ($s == 's') {
                        $soeid = 'sid';
                        $stat1 = 1;
                        $arch = 'IF(archiv>=2,archiv-2,archiv)';
                    } else {
                        $soeid = 'eid';
                        $stat1 = -1;
                        $arch = 'IF(archiv%2=1,archiv-1,archiv)';
                    }
                    $stat2 = $stat1 * - 1;
                    $i = 0;
                    if (!is_array($delids)) {
                        $delids = Array ($delids);
                    }
                    foreach ($delids as $a) {
                        if (is_numeric($a) AND $a != 0) {
                            db_query("DELETE FROM `prefix_pm` WHERE id = " . $a . " AND " . $soeid . " = " . $_SESSION['authid'] . " AND status = " . $stat1);
                            db_query("UPDATE prefix_pm SET status = " . $stat2 . ", archiv = {$arch} WHERE id = " . $a . " AND " . $soeid . " = " . $_SESSION['authid']);
                            $i++;
                        }
                    }
                    echo 'Es wurd';
                    echo ($i > 1 ? 'en (' . $i . ') Nachrichten ' : 'e eine Nachricht ');
                    echo <<<HTML
    erfolgreich gelöscht <br /><br /><a href="index.php?forum-privmsg">zum Posteingang</a>
    <br /><a href="index.php?forum-privmsg-showsend">zum Postausgang</a>
    <br /><a href="index.php?forum-privmsg-archiv">zum Archiv</a>
    HTML;
                }
            }
            break;
        case 'toArchiv' :
            // archivieren von nachrichten
            if ($menu->get(3) != '' AND $menu->get(4) == '') {
                $_POST['delids'][] = $menu->get(3);
            }elseif ($menu->get(3) != '' AND $menu->get(4) == 's') {
                $_POST['delsids'][] = $menu->get(3);
            }
            if (empty($_POST['delids']) AND empty($_POST['delsids'])) {
                echo 'Es wurde keine Nachricht zum Archivieren gew&auml;hlt <br /><br />';
                echo '<a href="javascript:history.back(-1)"><b>&laquo;</b> zur&uuml;ck</a>';
            } else {
                $delids = (empty($_POST['delids'])?$_POST['delsids']:$_POST['delids']);
                $s = (empty($_POST['delids'])?'':'s');
                $i = 0;
                if (!is_array($delids)) {
                    $delids = Array ($delids);
                }
                foreach ($delids as $j => $a) {
                    if (intval($a) > 0) {
                        $delids[$j] = intval($a);
                    } else {
                        unset($delids[$j-$i]);
                        $i++;
                    }
                }
                $delids = implode(', ', $delids);
                if ($s == 's') {
                    $qry = "UPDATE prefix_pm SET archiv = archiv + 1 WHERE id IN ({$delids}) AND eid = {$_SESSION['authid']} AND (archiv % 2) = 0";
                } else {
                    $qry = "UPDATE prefix_pm SET archiv = archiv + 2 WHERE id IN ({$delids}) AND sid = {$_SESSION['authid']} AND archiv < 2";
                }
                db_query($qry);
                echo 'Es wurd';
                echo ($i > 1 ? 'en (' . $i . ') Nachrichten ' : 'e eine Nachricht ');
                echo <<<HTML
    erfolgreich ins Archiv verschoben. <br /><br /><a href="index.php?forum-privmsg">zum Posteingang</a>
    <br /><a href="index.php?forum-privmsg-showsend">zum Postausgang</a>
    <br /><a href="index.php?forum-privmsg-archiv">zum Archiv</a>
    HTML;
            }
            break;
        case 'showsend' :
            $tpl = new tpl ('forum/pm/showsend');
            $tpl->out(0);
            $class = 'Cmite';
     
            $page = ( $menu->getA(3) == 'p' ? $menu->getE(3) : 1 );
            $MPL = db_make_sites ($page , "WHERE sid = '{$_SESSION['authid']}}' AND status >= 0 AND archiv < 2" , $limit , '?forum-privmsg-showsend' , 'pm' );
            $anfang = ($page - 1) * $limit;
             
            $abf = "SELECT a.titel, b.name as empf, b.id as uid, a.id, a.`time`, a.gelesen, a.groupid, a.anz_in_group FROM `prefix_pm` a left join prefix_user b ON a.eid = b.id WHERE a.sid = " . $_SESSION['authid'] . " AND a.status >= 0 AND a.archiv < 2 ORDER BY time DESC LIMIT $anfang, $limit";
            $erg = db_query($abf);
            while ($row = db_fetch_assoc($erg)) {
                $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite');
                $row['class'] = $class;
                $row['time'] = date('d. ',$row['time']).getSDmon($row['time']).date(' y - H:i \U\h\r', $row['time']);
                $row['titel'] = (trim($row['titel']) == '' ? ' -- kein Nachrichtentitel -- ' : $row['titel']);
                $row['empf'] = '<a href="index.php?user-details-'.$row['uid'].'">'.$row['empf'].'</a>';
                //neu//
                $pmid = $row['id'];
                $gid = $row['groupid'];
                $anz = $row['anz_in_group'];
                 
                $res = db_result(db_query("SELECT COUNT(*) FROM prefix_pm WHERE groupid = ".$gid." AND gelesen = 0 AND status = 0 AND archiv = 0"),0);
                 
                if ($anz == $res) {
                    $row['NEW'] = $row['gelesen'] == 0 ? '<a href="index.php?forum-privmsg-edit-'.$pmid.'"><img src="include/images/icons/edit.png" name="edit" title="Nachricht bearbeiten" /><img src="include/images/icons/no_email_icon.png" alt="ungelesen" title="Nachricht wurde noch nicht gelesen" style="cursor:help;"/>' : '';
                } else {
                    $row['NEW'] = $row['gelesen'] == 0 ? '<img src="include/images/icons/no_email_icon.png" alt="ungelesen" title="Nachricht wurde noch nicht gelesen" style="cursor:help;"/>' : '';
                }
     
                $tpl->set_ar_out($row, 1);
            }
            $tpl->set_out('MPL', $MPL, 2);
            break;
        case 'archiv':
            $tpl = new tpl ('forum/pm/archiv');
            $tpl->out(0);
            $tpl->set('color', $color);
            $class = 'Cmite';
     
            $epage = ( $menu->getA(3) == 'e' ? $menu->getE(3) : 1 );
            $eMPL = db_make_sites ($epage , "WHERE eid = '{$_SESSION['authid']}}' AND status <= 0 AND archiv % 2 = 1" , $limit , '?forum-privmsg-archiv' , 'pm' );
            $eMPL = str_replace('archiv-p', 'archiv-e', $eMPL);
            $tpl->set('eMPL', $eMPL);
            $eanfang = ($epage - 1) * $limit;
     
            $spage = ( $menu->getA(4) == 's' ? $menu->getE(4) : 1 );
            $sMPL = db_make_sites ($spage , "WHERE sid = '{$_SESSION['authid']}}' AND status >= 0 AND archiv >= 2" , $limit , '?forum-privmsg-archiv-e'.$epage , 'pm' );
            $sMPL = str_replace('archiv-e'.$epage.'-p', 'archiv-e'.$epage.'-s', $sMPL);
            $tpl->set('sMPL', $sMPL);
            $sanfang = ($spage - 1) * $limit;
     
     
            //empf
            $abf = "SELECT a.titel as BET, a.gelesen as NEW, b.name as ABS, a.id as ID, a.`time` FROM `prefix_pm` a left join prefix_user b ON a.sid = b.id WHERE a.eid = " . $_SESSION['authid'] . " AND a.status <= 0 AND a.archiv % 2 = 1 ORDER BY time DESC LIMIT $eanfang, $limit";
            $erg = db_query($abf);
            if (db_num_rows($erg)) {
                $tpl->out(1);
                while ($row = db_fetch_assoc($erg)) {
                    $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite');
                    $row['BET'] = (trim($row['BET']) == '' ? ' -- kein Nachrichtentitel -- ' : $row['BET']);
                    $row['CLASS'] = $class;
                    $row['time'] = date('d. ',$row['time']).getSDmon($row['time']).date(' y - H:i \U\h\r', $row['time']);
                    $row['NEW'] = ($row['NEW'] == 0 ? '<span style="color: red; text-decoration: blink; font-weight: bold; font-style: italic;">neu</span>' : '');
                    $tpl->set_ar_out($row, 2);
                }
                $tpl->out(3);
            }
            //ges
            $abf = "SELECT a.titel, b.name as empf, a.id, a.`time`, a.gelesen FROM `prefix_pm` a left join prefix_user b ON a.eid = b.id WHERE a.sid = " . $_SESSION['authid'] . " AND a.status >= 0 AND a.archiv >= 2 ORDER BY time DESC LIMIT $sanfang, $limit"; //neu -> a.uniqueid//
            $erg = db_query($abf);
            if (db_num_rows($erg)) {
                $tpl->out(4);
                while ($row = db_fetch_assoc($erg)) {
                    $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite');
                    $row['titel'] = (trim($row['titel']) == '' ? ' -- kein Nachrichtentitel -- ' : $row['titel']);
                    $row['class'] = $class;
                    $row['time'] = date('d. ',$row['time']).getSDmon($row['time']).date(' y - H:i \U\h\r', $row['time']);
                    $row['NEW'] = $row['gelesen'] == 0 ? '<img src="include/images/icons/no_email_icon.png" alt="ungelesen" title="Nachricht wurde noch nicht gelesen" style="cursor:help;"/>' : '';
                     
                    $tpl->set_ar_out($row, 5);
                }
                $tpl->out(6);
            }
            break;
        default :
            // message übersicht.
            $tpl = new tpl ('forum/pm/show');
            $tpl->out(0);
     
            $page = ( $menu->getA(2) == 'p' ? $menu->getE(2) : 1 );
            $MPL = db_make_sites ($page , "WHERE eid = '{$_SESSION['authid']}}' AND status <= 0 AND archiv % 2 = 0" , $limit , '?forum-privmsg' , 'pm' );
            $anfang = ($page - 1) * $limit;
     
            $class = 'Cmite';
            $abf = "SELECT a.titel as BET, a.gelesen as NEW, b.name as ABS, b.id as UID, a.id as ID, a.`time` FROM `prefix_pm` a left join prefix_user b ON a.sid = b.id WHERE a.eid = " . $_SESSION['authid'] . " AND a.status <= 0 AND a.archiv % 2 = 0 ORDER BY time DESC LIMIT $anfang, $limit";
            $erg = db_query($abf);
            while ($row = db_fetch_assoc($erg)) {
                $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite');
                $row['NEW'] = ($row['NEW'] == 0 ? '<span style="color: red; text-decoration: blink; font-weight: bold; font-style: italic;">neu</span>' : '');
                $row['CLASS'] = $class;
                $row['BET'] = (trim($row['BET']) == '' ? ' -- kein Nachrichtentitel -- ' : $row['BET']);
                $row['time'] = date('d. ',$row['time']).getSDmon($row['time']).date(' y - H:i \U\h\r', $row['time']);
                $row['ABS'] = '<a href="index.php?user-details-'.$row['UID'].'">'.$row['ABS'].'</a>';
                $tpl->set_ar_out($row, 1);
            }
            $tpl->set_out('MPL', $MPL, 2);
            break;
    }
    $design->footer();
     
    ?>

    Dann könntest Du noch folgendes ändern:
    <td>{_lang_sentby} <b><a href="index.php?user-details-{uid}">{name}</a></b> {_lang_on} {time}</td>

    Und noch das hier:
    <td>{_lang_sentto} <b><a href="index.php?user-details-{uid}">{name}</a></b> {_lang_on} {time}</td>

    Dann hättest die Verlinkung auch beim Anzeigen der einzelnen Nachrichten.
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    FightClub Mitglied
    Registriert seit
    02.06.2013
    Beiträge
    196
    Beitragswertungen
    1 Beitragspunkte
    Ja ich Danke dir so ist es Richtig! zwinker
    Aber wenn ich das auch noch im Archiv haben möchte wo muss ich das denn machen?

    MFG
    BennY;)
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    Im
    case 'archiv'
    in beiden Fällen die id aus der Usertabelle (b.id as uid) mit abfragen und das $row['ABS'] bzw $row['empf'] wie bei meinen Änderungen ergänzen. Probier's mal, sollte ja jetzt nicht mehr schwierig sein zwinker
    Falls doch, helfe ich nochmal gern!
    Gruß Outi
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    FightClub Mitglied
    Registriert seit
    02.06.2013
    Beiträge
    196
    Beitragswertungen
    1 Beitragspunkte
    Ja ich danke dir Habe es ihn bekommen! lachen

    Thema kann Geschlossen werden.

    MFG
    BennY zwinker


    Zuletzt modifiziert von FightClub am 10.08.2014 - 12:56:10
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    erledigt
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten