ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Benutzercenter 1.1

Geschlossen
  1. #1
    User Pic
    CiSeN Mitglied
    Registriert seit
    06.01.2010
    Beiträge
    58
    Beitragswertungen
    1 Beitragspunkte
    Hallo Community,

    ich hab mal wieder ein Problem und hoffe, dass ihr mir weiterhelfen könnt.

    Ich hatte mir vor ein paar Tagen das Modul "benutzercenter1.1" heruntergeladen und installiert. Funktionierte soweit auch alles einwandfrei. Nun gefiel mir die Aufmachung der .htm Datei nicht sonderlich, sodass ich sie ein wenig umgebaut hatte. Dabei dachte ich mir ein paar neue Felder einfließen zu lassen.

    Nun hab ich ein paar kleine Probleme bei der Ausgabe bzw. Umsetzung:

    - Zum einen möchte ich gern das Avatar anzeigen lassen und hatte einfach zum Test {avatar} in das Feld, in dem es angezeigt werden soll, eingeben. Dadurch wird mir nun der Link zum Bild angezeigt, aber leider nicht das Bild selbst.

    - Zum anderen möchte ich gern das Grundrecht des jeweiligen Benutzers anzeigen lassen und hatte dabei ebenfalls zum Test {recht} eingeben, wodurch mir das Grundrecht zwar als Zahl (in meinem Fall -9) dargestellt wird aber nicht als Wort.

    - Dann hatte ich ausserdem vor, den Zugang zum Admin Menü in das Benutzercenter einfliessen zu lassen. Den Link hab ich hinbekommen, allerdings würde ich es gern so umsetzen, dass es wie in der login box, nur angezeigt wird, wenn man auch adminrechte hat.

    - Ausserdem hat das Benutzercenter die Funktion, dass es die letzten 3 Beiträge aus dem Forum anzeigt. Dies würde ich auch gern für "News", "Umfragen" und "Profilbesucher" umsetzen.

    Ich vermute jetzt mal, dass ich in der benutzercenter.php irgendwas zur Umsetzung einbauen muss, aber ich weiss leider nicht was.
    Hätte da jemand 'ne Idee, wie ich das umsetzen kann???


    - Zu guter Letzt würde ich es gerne umsetzen, dass wenn man sich einloggt automatisch im Benutzercenter landet und nicht erst den Zwischenschritt über den Link dorthin machen muss. Dazu hatte ich auch bereits im Forum gesucht und einiges gefunden, was aber bei mir fraglicherweise nicht funktionierte. Unter anderem einen Beitrag von Mairu, in dem stand, dass in der include/includes/func/user.php was abändern muss. Den Code dazu hatte er auch angegeben, den ich eingesetzt hatte, aber danach der login gar nicht mehr funktionierte.

    Ich wäre um jede Hilfe, egal zu welchem Punkt, wirklich dankbar.

    Gruß, CiSeN

    betroffene Homepage: t-h-c-headquarters.de

    edit: Hier sind noch die php und htm Dateien:

    htm:

    <script type="text/javascript">
        function show (member) {
            if (document.getElementById) {
                if (document.getElementById(member).style.display == "block") {
                    document.getElementById(member).style.display = "none";
                } else {
                    document.getElementById(member).style.display = "block";
                }
            }
        }
    </script>
    
    
    
    {EXPLODE}
    
    <form method="post">
    
    <table width="100%" cellpadding="0" cellspacing="0">
    <tr><td colspan="2">
    
    <table width="100%" cellpadding="3" cellspacing="1" class="border">
    <tr class="Chead">
    <th colspan="3"><b>Userinfos</b></th>
    </tr>
    
    <tr>
    <td class="Cmite">Dein Status</td>
    <td class="Cnorm" width="40%">
    <input id="status1" type="radio" name="status" {_if_{status}=='1'}checked="checked"{/_endif} value="1" />
    <label for="status1">Aktiv</label>
    
    <input id="status0" type="radio" name="status" {_if_{status}=='0'}checked="checked"{/_endif} value="0" />
    <label for="status0">Inaktiv</label>
    &nbsp;
    <input type="submit" name="submit" value="Speichern" />
    </td>
    <td class="Cnorm" width="30%" rowspan="7" valign="top" align="center">
    <br />
    {avatar}
    <br /><br />
    <a href="index.php?user-3"><b><center>Logout</center></b></a>
    <br />
    </td>
    </tr>
    
    <tr>
        <td class="Cmite">Dein Nickname</td>
        <td class="Cnorm">{name}</td>
    </tr>
    
    <tr>
    <td class="Cmite">Dein Rang</td>
    <td class="Cnorm">{recht}</td>
    </tr>
    
    <tr>
    <td class="Cmite">Deine Private Messages</td>
    <td class="Cnorm">{check_pm} Stück ungelesen</td>
    </tr>
    
    <tr>
    <td class="Cmite">Dein Profil</td>
    <td class="Cnorm"><a href="index.php?user-details-{id}">Ansehen</a></td>
    </tr>
    
    <tr>
    <td class="Cmite">Deine Forumbeiträge</td>
    <td class="Cnorm"><a href="index.php?forum-aeit">Ansehen</a></td>
    </tr>
    
    <tr>
    <td class="Cmite">Deine Buddies</td>
    <td class="Cnorm"><a href="index.php?freunde">Who is online?</a></td>
    </tr>
    </table>
    
    <br />
    
    
    <table width="100%" cellpadding="3" cellspacing="1" class="border">
    <tr class="Chead">
    <th colspan="4"><img src="include/images/usercenter/organizer.png" alt="user" width="16" height="16" /> <a href="javascript:show('B')">Desktop</a></th>
    </tr>
    </table>
    
    <table width="100%" cellpadding="3" cellspacing="1" class="border" id="B" style="display:none">
    <tr>
    <td width="145" height="160" valign="top">
    <img src="include/images/usercenter/pm.png" alt="user" width="48" height="48" />
    <br />
    <strong><u>Private Messages</u></strong>
    <br />
    <br />
    <b>· </b><a href="index.php?forum-privmsg">Lesen</a>
    <br />
    <b>· </b><a href="index.php?forum-privmsg-new">Verfassen</a>
    <br />
    <br />
    </td>
    
    <td width="145" height="160" valign="top">
    <img src="include/images/usercenter/news.png" alt="user" width="48" height="48" />
    <br />
    <strong><u>News</u></strong>
    <br />
    <br />
    <b>· </b><a href="index.php?news">Ansehen</a>
    <br />
    <b>· </b><a href="index.php?news-archiv">Archiv</a>
    <br />
    <b>· </b><a href="index.php?news-add">Einsenden</a>
    <br />
    <br />
    </td>
    
    <td width="145" height="160" valign="top">
    <img src="include/images/usercenter/forum.png" alt="user" width="48" height="48" />
    <br />
    <strong><u>Forum</u></strong>
    <br />
    <br />
    <b>· </b><a href="index.php?forum">Eingang</a>
    <br />
    <b>· </b><a href="index.php?forum-augt">Neue Posts</a>
    <br />
    <br />
    </td>
    
    <td width="145" height="160" valign="top">
    <img src="include/images/usercenter/infos.png" alt="user" width="48" height="48" />
    <br />
    <strong><u>Info Center</u></strong>
    <br />
    <br />
    <b>· </b><a href="index.php?kalender">Kalender</a>
    <br />
    <b>· </b><a href="index.php?wars">Matches</a>
    <br />
    <b>· </b><a href="index.php?vote">Umfragen</a>
    <br />
    <br />
    </td>
    </tr>
    
    <tr>
    <td width="145" height="160" valign="top">
    <img src="include/images/usercenter/settings.png" alt="user" width="48" height="48" />
    <br />
    <strong><u>Settings</u></strong>
    <br />
    <br />
    <b>· </b><a href="index.php?user-8">Profil bearbeiten</a>
    <br />
    <b>· </b><a href="index.php?map">Wohnort eintragen</a>
    <br />
    <b>· </b>{ADMIN}
    <br />
    <br />
    </td>
    
    <td width="145" height="160" valign="top">
    <img src="include/images/usercenter/support.png" alt="user" width="48" height="48" />
    <br />
    <strong><u>Support</u></strong>
    <br />
    <br />
    <b>· </b><a href="index.php?counterstrikesource">Counter-Strike</a>
    <br />
    <b>· </b><a href="index.php?FAQs">FAQs</a>
    <br />
    <br />
    </td>
    
    {_if_{showNotiz}=='1'}
    <td colspan="2" height="160" valign="top">
    <center><b><u>Deine Notiz(en)</u>
    <br />
    <br />
    (SPEICHERN KLAPPT NOCH NICHT!!!)</b></center>
    <br />
    <textarea cols="40" rows="5" name="notiztext">{notiztext}</textarea>
    <br />
    <center><input type="submit" name="submit" value="Speichern" /></center>
    </td>
    {/_endif}
    
    </tr>
    </table>
    
    <br />
    
    <table width="100%" cellpadding="3" cellspacing="1" class="border">
    <tr class="Chead">
    <th colspan="4"><img src="include/images/usercenter/feder.png" alt="user" width="16" height="16" /> <a href="javascript:show('C')">Letzte Beiträge</a></th>
    </tr>
    </table>
    
    <table width="100%" cellpadding="3" cellspacing="1" class="border" id="C" style="display:none">
    <tr>
    <td width="145" height="160" class="Cmite" valign="top">
    <div align="center">
    <strong>News:</strong>
    <br />
    <br />
    {last_news}
    </div>
    <br/>
    </td>
    
    <td width="145" height="160" class="Cmite" valign="top">
    <div align="center">
    <strong>Forum:</strong>
    <br />
    <br />
    {last_forum}
    </div>
    <br/>
    </td>
    
    <td width="145" height="160" class="Cmite" valign="top">
    <div align="center">
    <strong>Umfragen:</strong>
    </div>
    <br />
    {last_vote}
    <br/>
    </td>
    
    <td width="145" height="160" class="Cmite" valign="top">
    <div align="center">
    <strong>Profilbesucher:</strong>
    </div>
    <br />
    {last_visits}
    <br />
    </td>
    </tr>
    </table>
    
    <br />
    
    <table width="100%" cellpadding="3" cellspacing="1" class="border">
    <tr class="Chead">
    <th colspan="4"><img src="include/images/usercenter/flagge.png" alt="user" width="16" height="16" /> <a href="javascript:show('D')">Dein Userbanner</a></th>
    </tr>
    </table>
    
    <table width="100%" cellpadding="3" cellspacing="1" class="border" id="D" style="display:none">
    <tr>
    {_if_{showBanner}=='1'}
    <td colspan="4" valign="top">
    <center>
    <br />
    <img src="index.php?benutzercenter-banner-{id}" alt="userbanner" />
    <br />
    <br />
    </center>
    </td>
    </tr>
    
    <tr>
    <td colspan="4">
    <center><strong><u>Html-Code</u></strong></center>
    <center><textarea readonly="readonly" name="textarea" cols="88" rows="1"><a href="{profillink}"><img src="{imgsrc}" alt="userbanner" /></a></textarea></center>
    </td>
    </tr>
    
    <tr>
    <td colspan="4">
    <center><strong><u>BB-Code</strong></u></center>
    <center><textarea readonly="readonly" name="textarea2" cols="88" rows="1">[url={profillink}][img]{imgsrc}[/img][/url]</textarea></center>
    </td>
    {/_endif}
    </tr>
    </table>
    </table>
    </form>


    <?php
    defined('main') or die('no direct access');
    
    $onlinetime = 600;
    
    if (!function_exists('arrayToDb')) {
    	function arrayToDb($table, $ar, $where = '', $ar2 = array()) {
    		$mode = empty($where) ? 'INSERT INTO' : 'UPDATE';
    		$fields = '';
    		foreach ($ar as $k => $v) {
    			if (in_array($k, $ar2)) {
    				continue;
    			}
    			$fields .= ", `$k` = " . (is_null($v) ? 'NULL' : "'$v'");
    		}
    		$fields = substr($fields, 2);
    		$query = "$mode $table SET $fields $where;";
    		if (db_query($query)) {
    			return true;
    		} else {
    			return false;
    		}
    	}
    }
    
    if ($menu->get(1) == 'banner') {
        // Banner anzeigen
        $uid = intval($menu->get(2));
    
        $abf = "SELECT u.*, IF(u.spezrank>0,r.bez,r2.bez) AS rang, IF(o.uid=u.id,'Online','Offline') AS online
    	FROM prefix_user u
    		LEFT JOIN `prefix_grundrechte` r ON u.recht = r.id 
    		LEFT JOIN `prefix_ranks` r ON u.spezrank = r.id AND r.spez = 1
    		LEFT JOIN `prefix_ranks` r2 ON IF(u.posts=0,1,u.posts) >= r2.min AND r2.spez = 0
    		LEFT JOIN `prefix_online` o ON u.id = o.uid AND o.uptime > '".date('Y-m-d H:m:i', time() - $onlinetime)."'
    	WHERE u.id = {$uid}";
    	$qry = db_query($abf);
    	if (db_num_rows($qry) == 0) {
    		$fehler = 'Benutzer nicht gefunden';
    	} elseif ($row = db_fetch_assoc($qry) and $row['recht'] > $allgAr['userbannerrecht']) {
    		$fehler = 'Banner für diesen User nicht erlaubt';
    	} elseif (!file_exists($allgAr['userbannerlink'])) {
    		$fehler = 'Bannervorlagenbild nicht gefunden';
    	} elseif ($tmp = getimagesize($allgAr['userbannerlink']) and $tmp[2] != 3) {
    		$fehler = 'Bannervorlagenbild kein PNG';
    	} else {
    		$banner = $allgAr['userbannerlink'];
    
    		if ($row['gebdatum'] !== "0000-00-00") {
    			list($y, $m, $d) = explode('-', $row['gebdatum']);
    			$gebdatum = "$d.$m.$y";
    			$alter = '('.((date('Y') - $y) - ((date('m') < $m or (date('m') == $m and date('d') < $d)) ? 1 : 0)).')';
    		} else {
    			$gebdatum = "n/a";
    			$alter = "";
    		}
    		if (empty($row['wohnort'])) {
    			$row['wohnort'] = 'n/a';
    		}
    
    		if ($row['geschlecht'] == 1) {
    			$geschlecht = "Männlich";
    		} elseif ($row['geschlecht'] == 2) {
    			$geschlecht = "Weiblich";
    		} else {
    			$geschlecht = "n/a";
    		}
    
    		$j = date('d.m.Y', $row['regist']);
    		$ll = date('d.m.Y', $row['llogin']);
    		$im = ImageCreateFromPNG($banner);
    		$text1 = 'Name: ' . $row['name'];
    		$text2 = 'Posts: ' . $row['posts'];
    		$text3 = 'Dabei seit: ' . $j;
    		$text5 = 'Letzer Login: ' . $ll;
    		$text8 = 'Geschlecht: ' . $geschlecht;
    		$text7 = 'Wohnort: ' . $row['wohnort'];
    		$text4 = 'Rang: ' . $row['rang'];
    		$text9 = $row['name'] . ' ist grade ' . $row['online'];
    		$text6 = 'Geburtsdatum: ' . $gebdatum . ' ' . $alter;
    		$fo = 2;
    		$schwarz = ImageColorAllocate($im, 0, 0, 0);
    		imagestring ($im, $fo, 20, 10, $text1, $schwarz);
    		imagestring ($im, $fo, 20, 20, $text2, $schwarz);
    		imagestring ($im, $fo, 20, 30, $text3, $schwarz);
    		imagestring ($im, $fo, 20, 40, $text4, $schwarz);
    		imagestring ($im, $fo, 170, 10, $text5, $schwarz);
    		imagestring ($im, $fo, 170, 20, $text6, $schwarz);
    		imagestring ($im, $fo, 170, 30, $text8, $schwarz);
    		imagestring ($im, $fo, 170, 40, $text7, $schwarz);
    		imagestring ($im, 1, 380, 2, '(c) Ilch-Mods.de', $schwarz);
    	}
    	if (!empty($fehler)) {
    		$im = imagecreate(strlen($fehler)*7, 18);
    		$color = imagecolorallocate($im, 0, 0, 0);
    		$color = imagecolorallocate($im, 255, 255, 255);
    		imagestring($im, 2, 4, 2, $fehler, $color);
    	}
    	header("Content-type: image/png");
    	ImagePNG($im);
    	exit();
    } else {
    	
    
    //Benutzercenter anzeigen
    
    $title = $allgAr['title'] . ' :: Benutzercenter';
    $hmenu = 'Benutzercenter';
    $design = new design ($title , $hmenu);
    
        if ($_SESSION['authid'] == 0) {
            $design->header();
    		echo 'Bitte logge dich ein!!!';
        } else {
            $tpl = new tpl('benutzercenter');
        	$design->addheader($tpl->get(0));
        	$design->header();
    
            $row = db_fetch_assoc(db_query('SELECT u.*, b.* FROM prefix_user u LEFT JOIN prefix_benutzercenter b ON u.id = b.notizuid WHERE u.id = ' . $_SESSION['authid']));
            if (isset($_POST['submit'])) {
            	//Notiztext updaten
    			$update = !is_null($row['notiztext']);
                $row['notiztext'] = escape($_POST['notiztext'], 'textarea');
                if ($update) {
                    db_query("UPDATE `prefix_benutzercenter` SET notiztext = '{$_row['notiztext']}' WHERE notizuid = " . $_SESSION['authid']);
                } else {
                    db_query("INSERT INTO `prefix_benutzercenter` (notizuid, notiztext) VALUES ({$_SESSION['authid']}, '{$_row['notiztext']}')");
                }
    			//Usertabelle updaten
    			$updateUser = array();
    			if ($row['status'] != $_POST['status']) {
    				$row['status'] = $updateUser['status'] = escape($_POST['status'], 'integer');
    			}
    			if ($row['opt_pm'] != $_POST['msg']) {
    				$row['opt_pm'] = $updateUser['opt_pm'] = escape($_POST['msg'], 'integer');
    			}
    			if ($row['opt_mail'] != $_POST['mails']) {
    				$row['opt_mail'] = $updateUser['opt_mail'] = escape($_POST['mails'], 'integer');
    			}
    			if (!empty($updateUser)) {
    				arrayToDb('prefix_user', $updateUser, 'WHERE id = '.$_SESSION['authid']);
    			}
    		}
    
            $erg = db_query("SELECT COUNT(id) FROM `prefix_pm` WHERE gelesen = 0 AND status < 1 AND eid = " . $_SESSION['authid']);
            $row['check_pm'] = db_result($erg, 0);
    
        	$scriptlink = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'];
    
        	$row['profillink'] = $scriptlink . '?user-details-' . $_SESSION['authid'];
            if ($allgAr['userhtaccess'] == 1) {
                $row['imgsrc'] = dirname($scriptlink) . '/stats-' . $_SESSION['authid'] . '.png';
            } else {
            	$row['imgsrc'] = $scriptlink . '?benutzercenter-banner-' . $_SESSION['authid'];
            }
    
        	$row['sitename'] = $allgAr['title'];
    
    
    
            $row['showNotiz'] = $allgAr['usernotiz'];
        	$row['showBanner'] = $allgAr['userbanner'];
    		if ($row['showBanner'] and $row['recht'] > $allgAr['userbannerrecht']) {
    			$row['showBanner'] = 0;
    		}
    
        	$row['colspan'] = $row['showBanner'] ? 1 : 3;
    
            $anzahl = intval($allgAr['userlastforum']);
            $query = "SELECT a.id, a.name, a.rep, c.erst as last, c.id as pid, c.time
    FROM prefix_topics a
      LEFT JOIN prefix_forums b ON b.id = a.fid
      LEFT JOIN prefix_posts c ON c.id = a.last_post_id
      LEFT JOIN prefix_groupusers vg ON vg.uid = " . $_SESSION['authid'] . " AND vg.gid = b.view
      LEFT JOIN prefix_groupusers rg ON rg.uid = " . $_SESSION['authid'] . " AND rg.gid = b.reply
      LEFT JOIN prefix_groupusers sg ON sg.uid = " . $_SESSION['authid'] . " AND sg.gid = b.start
    WHERE ((" . $_SESSION['authright'] . " <= b.view AND b.view < 1)
       OR (" . $_SESSION['authright'] . " <= b.reply AND b.reply < 1)
       OR (" . $_SESSION['authright'] . " <= b.start AND b.start < 1)
    	 OR vg.fid IS NOT NULL
    	 OR rg.fid IS NOT NULL
    	 OR sg.fid IS NOT NULL
    	 OR -9 >= " . $_SESSION['authright'] . ")
    ORDER BY c.time DESC
    LIMIT 0,$anzahl";
            $row['last_forum'] = '<table>';
            $resultID = db_query($query);
            while ($r = db_fetch_assoc($resultID)) {
                $r['date'] = date('d.m.y - H:i', $r['time']);
                $r['page'] = ceil (($r['rep'] + 1) / $allgAr['Fpanz']);
                $row['last_forum'] .= '<tr><td valign="top"><b> &raquo; </b></td><td><a href="?forum-showposts-' . $r['id'] . '-p' . $r['page'] . '#' . $r['pid'] . '" title="' . $r['date'] . '">' . ((strlen($r['name']) < 60) ? $r['name'] : substr($r['name'], 0, 60) . '...') . '<br /><span class="smalfont"> von ' . $r['last'] . '</span></a></td></tr>';
            }
            $row['last_forum'] .= '</table>';
    
        	$tpl->set_ar_out($row, 1);
    	}
    
    	$design->footer();
    }
    ?>



    Zuletzt modifiziert von CiSeN am 19.05.2010 - 06:45:53
    Bombing For Peace Is Like Fu**ing For Virginity !!!
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    <?php
    defined('main') or die('no direct access');
     
    $onlinetime = 600;
     
    if (!function_exists('arrayToDb')) {
        function arrayToDb($table, $ar, $where = '', $ar2 = array()) {
            $mode = empty($where) ? 'INSERT INTO' : 'UPDATE';
            $fields = '';
            foreach ($ar as $k => $v) {
                if (in_array($k, $ar2)) {
                    continue;
                }
                $fields .= ", `$k` = " . (is_null($v) ? 'NULL' : "'$v'");
            }
            $fields = substr($fields, 2);
            $query = "$mode $table SET $fields $where;";
            if (db_query($query)) {
                return true;
            } else {
                return false;
            }
        }
    }
     
    if ($menu->get(1) == 'banner') {
        // Banner anzeigen
        $uid = intval($menu->get(2));
     
        $abf = "SELECT u.*, IF(u.spezrank>0,r.bez,r2.bez) AS rang, IF(o.uid=u.id,'Online','Offline') AS online
        FROM prefix_user u
            LEFT JOIN `prefix_grundrechte` r ON u.recht = r.id 
            LEFT JOIN `prefix_ranks` r ON u.spezrank = r.id AND r.spez = 1
            LEFT JOIN `prefix_ranks` r2 ON IF(u.posts=0,1,u.posts) >= r2.min AND r2.spez = 0
            LEFT JOIN `prefix_online` o ON u.id = o.uid AND o.uptime > '".date('Y-m-d H:m:i', time() - $onlinetime)."'
        WHERE u.id = {$uid}";
        $qry = db_query($abf);
        if (db_num_rows($qry) == 0) {
            $fehler = 'Benutzer nicht gefunden';
        } elseif ($row = db_fetch_assoc($qry) and $row['recht'] > $allgAr['userbannerrecht']) {
            $fehler = 'Banner für diesen User nicht erlaubt';
        } elseif (!file_exists($allgAr['userbannerlink'])) {
            $fehler = 'Bannervorlagenbild nicht gefunden';
        } elseif ($tmp = getimagesize($allgAr['userbannerlink']) and $tmp[2] != 3) {
            $fehler = 'Bannervorlagenbild kein PNG';
        } else {
            $banner = $allgAr['userbannerlink'];
     
            if ($row['gebdatum'] !== "0000-00-00") {
                list($y, $m, $d) = explode('-', $row['gebdatum']);
                $gebdatum = "$d.$m.$y";
                $alter = '('.((date('Y') - $y) - ((date('m') < $m or (date('m') == $m and date('d') < $d)) ? 1 : 0)).')';
            } else {
                $gebdatum = "n/a";
                $alter = "";
            }
            if (empty($row['wohnort'])) {
                $row['wohnort'] = 'n/a';
            }
     
            if ($row['geschlecht'] == 1) {
                $geschlecht = "Männlich";
            } elseif ($row['geschlecht'] == 2) {
                $geschlecht = "Weiblich";
            } else {
                $geschlecht = "n/a";
            }
     
            $j = date('d.m.Y', $row['regist']);
            $ll = date('d.m.Y', $row['llogin']);
            $im = ImageCreateFromPNG($banner);
            $text1 = 'Name: ' . $row['name'];
            $text2 = 'Posts: ' . $row['posts'];
            $text3 = 'Dabei seit: ' . $j;
            $text5 = 'Letzer Login: ' . $ll;
            $text8 = 'Geschlecht: ' . $geschlecht;
            $text7 = 'Wohnort: ' . $row['wohnort'];
            $text4 = 'Rang: ' . $row['rang'];
            $text9 = $row['name'] . ' ist grade ' . $row['online'];
            $text6 = 'Geburtsdatum: ' . $gebdatum . ' ' . $alter;
            $fo = 2;
            $schwarz = ImageColorAllocate($im, 0, 0, 0);
            imagestring ($im, $fo, 20, 10, $text1, $schwarz);
            imagestring ($im, $fo, 20, 20, $text2, $schwarz);
            imagestring ($im, $fo, 20, 30, $text3, $schwarz);
            imagestring ($im, $fo, 20, 40, $text4, $schwarz);
            imagestring ($im, $fo, 170, 10, $text5, $schwarz);
            imagestring ($im, $fo, 170, 20, $text6, $schwarz);
            imagestring ($im, $fo, 170, 30, $text8, $schwarz);
            imagestring ($im, $fo, 170, 40, $text7, $schwarz);
            imagestring ($im, 1, 380, 2, '(c) Ilch-Mods.de', $schwarz);
        }
        if (!empty($fehler)) {
            $im = imagecreate(strlen($fehler)*7, 18);
            $color = imagecolorallocate($im, 0, 0, 0);
            $color = imagecolorallocate($im, 255, 255, 255);
            imagestring($im, 2, 4, 2, $fehler, $color);
        }
        header("Content-type: image/png");
        ImagePNG($im);
        exit();
    } else {
        
     
        //Benutzercenter anzeigen
     
        $title = $allgAr['title'] . ' :: Benutzercenter';
        $hmenu = 'Benutzercenter';
        $design = new design ($title , $hmenu);
     
        if ($_SESSION['authid'] == 0) {
            $design->header();
            echo 'Bitte logge dich ein!!!';
        } else {
            $tpl = new tpl('benutzercenter');
            $design->addheader($tpl->get(0));
            $design->header();
     
            $row = db_fetch_assoc(db_query('SELECT u.*, b.*,gr.name AS grundrecht FROM prefix_user u
            LEFT JOIN prefix_benutzercenter b ON u.id = b.notizuid
            LEFT JOIN prefix_grundrechte gr ON u.recht = gr.id
            WHERE u.id = ' . $_SESSION['authid']));
            if (isset($_POST['submit'])) {
                //Notiztext updaten
                $update = !is_null($row['notiztext']);
                $row['notiztext'] = escape($_POST['notiztext'], 'textarea');
                if ($update) {
                    db_query("UPDATE `prefix_benutzercenter` SET notiztext = '{$row['notiztext']}' WHERE notizuid = " . $_SESSION['authid']);
                } else {
                    db_query("INSERT INTO `prefix_benutzercenter` (notizuid, notiztext) VALUES ({$_SESSION['authid']}, '{$row['notiztext']}')");
                }
                //Usertabelle updaten
                $updateUser = array();
                if ($row['status'] != $_POST['status']) {
                    $row['status'] = $updateUser['status'] = escape($_POST['status'], 'integer');
                }
                if ($row['opt_pm'] != $_POST['msg']) {
                    $row['opt_pm'] = $updateUser['opt_pm'] = escape($_POST['msg'], 'integer');
                }
                if ($row['opt_mail'] != $_POST['mails']) {
                    $row['opt_mail'] = $updateUser['opt_mail'] = escape($_POST['mails'], 'integer');
                }
                if (!empty($updateUser)) {
                    arrayToDb('prefix_user', $updateUser, 'WHERE id = '.$_SESSION['authid']);
                }
            }
     
            $erg = db_query("SELECT COUNT(id) FROM `prefix_pm` WHERE gelesen = 0 AND status < 1 AND eid = " . $_SESSION['authid']);
            $row['check_pm'] = db_result($erg, 0);
     
            $scriptlink = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'];
     
            $row['profillink'] = $scriptlink . '?user-details-' . $_SESSION['authid'];
            if ($allgAr['userhtaccess'] == 1) {
                $row['imgsrc'] = dirname($scriptlink) . '/stats-' . $_SESSION['authid'] . '.png';
            } else {
                $row['imgsrc'] = $scriptlink . '?benutzercenter-banner-' . $_SESSION['authid'];
            }
     
            $row['sitename'] = $allgAr['title'];
     
     
     
            $row['showNotiz'] = $allgAr['usernotiz'];
            $row['showBanner'] = $allgAr['userbanner'];
            if ($row['showBanner'] and $row['recht'] > $allgAr['userbannerrecht']) {
                $row['showBanner'] = 0;
            }
     
            $row['colspan'] = $row['showBanner'] ? 1 : 3;
     
            if (file_exists($row['avatar'])) {
                $row['avatar'] = '<img src="'.$row['avatar'].'" alt="avatar" />';
            } else {
                $row['avatar'] = '';
            }
            
            $row['ADMIN'] = user_has_admin_right($menu, false) ?
                '<br /><b>· </b><a class="box" href="admin.php?admin">'.$lang['adminarea'].'</a><br />' : '';
              
            //lastforum
            $anzahl = intval($allgAr['userlastforum']);
            $query = "SELECT a.id, a.name, a.rep, c.erst as last, c.id as pid, c.time
    FROM prefix_topics a
      LEFT JOIN prefix_forums b ON b.id = a.fid
      LEFT JOIN prefix_posts c ON c.id = a.last_post_id
      LEFT JOIN prefix_groupusers vg ON vg.uid = " . $_SESSION['authid'] . " AND vg.gid = b.view
      LEFT JOIN prefix_groupusers rg ON rg.uid = " . $_SESSION['authid'] . " AND rg.gid = b.reply
      LEFT JOIN prefix_groupusers sg ON sg.uid = " . $_SESSION['authid'] . " AND sg.gid = b.start
    WHERE ((" . $_SESSION['authright'] . " <= b.view AND b.view < 1)
       OR (" . $_SESSION['authright'] . " <= b.reply AND b.reply < 1)
       OR (" . $_SESSION['authright'] . " <= b.start AND b.start < 1)
         OR vg.fid IS NOT NULL
         OR rg.fid IS NOT NULL
         OR sg.fid IS NOT NULL
         OR -9 >= " . $_SESSION['authright'] . ")
    ORDER BY c.time DESC
    LIMIT 0,$anzahl";
            $row['last_forum'] = '<table>';
            $resultID = db_query($query);
            while ($r = db_fetch_assoc($resultID)) {
                $r['date'] = date('d.m.y - H:i', $r['time']);
                $r['page'] = ceil (($r['rep'] + 1) / $allgAr['Fpanz']);
                $row['last_forum'] .= '<tr><td valign="top"><b> &raquo; </b></td><td><a href="?forum-showposts-' . $r['id'] . '-p' . $r['page'] . '#' . $r['pid'] . '" title="' . $r['date'] . '">' . ((strlen($r['name']) < 60) ? $r['name'] : substr($r['name'], 0, 57) . '...') . '<br /><span class="smalfont"> von ' . $r['last'] . '</span></a></td></tr>';
            }
            $row['last_forum'] .= '</table>';
            
            //lastnews
            $abf = 'SELECT * FROM prefix_news WHERE news_recht >= '.$_SESSION['authright'].
    			   ' ORDER BY news_time DESC LIMIT 0,'.$anzahl;
            $erg = db_query($abf);
            $row['last_news'] = '<table>';
            while ($r = db_fetch_object($erg)) {
                $row['last_news'] .= '<tr><td valign="top"><b> &raquo; </b></td><td><a class="box" href="index.php?news-'.$r->news_id.'">'.((strlen($r->news_title) < 60) ? $r->news_title : substr($r->news_title, 0, 57) . '...').'</a></td></tr>';
            }
            $row['last_news'] .= '</table>';
            
            //lastvotes
            if ($_SESSION['authright'] <= -1 ) {
                $woR = '>= "1"';
            } else {
                $woR = '= "1"';
            }
            $qry = db_query('SELECT * FROM prefix_poll WHERE recht ' . $woR . 'ORDER BY poll_id DESC LIMIT 0,'.$anzahl);
            $row['last_vote'] = '<table>';
            while($r = db_fetch_object($qry)){
                $row['last_vote'] .= '<tr><td valign="top"><b> &raquo; </b></td><td><a class="box" href="index.php?poll">'.((strlen($r->frage) < 60) ? $r->frage : substr($r->frage, 0, 57) . '...').'</a></td></tr>';
            }
            $row['last_vote'] .= '</table>';
            
            //lastbesucher
            $row['last_user'] = last_user($_SESSION['authid']);
            
            
            $tpl->set_ar_out($row, 1);
        }
     
        $design->footer();
    }
    ?>


    <script type="text/javascript">
        function show (member) {
            if (document.getElementById) {
                if (document.getElementById(member).style.display == "block") {
                    document.getElementById(member).style.display = "none";
                } else {
                    document.getElementById(member).style.display = "block";
                }
            }
        }
    </script>
       {EXPLODE}
     <form method="post">
     <table width="100%" cellpadding="0" cellspacing="0">
    <tr><td colspan="2">
     <table width="100%" cellpadding="3" cellspacing="1" class="border">
    <tr class="Chead">
    <th colspan="3"><b>Userinfos</b></th>
    </tr>
     <tr>
    <td class="Cmite">Dein Status</td>
    <td class="Cnorm" width="40%">
    <input id="status1" type="radio" name="status" {_if_{status}=='1'}checked="checked"{/_endif} value="1" />
    <label for="status1">Aktiv</label>
     <input id="status0" type="radio" name="status" {_if_{status}=='0'}checked="checked"{/_endif} value="0" />
    <label for="status0">Inaktiv</label>
    &nbsp;
    <input type="submit" name="submit" value="Speichern" />
    </td>
    <td class="Cnorm" width="30%" rowspan="7" valign="top" align="center">
    <br />
    {avatar}
    <br /><br />
    <a href="index.php?user-3"><b><center>Logout</center></b></a>
    <br />
    </td>
    </tr>
     <tr>
        <td class="Cmite">Dein Nickname</td>
        <td class="Cnorm">{name}</td>
    </tr>
     <tr>
    <td class="Cmite">Dein Rang</td>
    <td class="Cnorm">{grundrecht}</td>
    </tr>
     <tr>
    <td class="Cmite">Deine Private Messages</td>
    <td class="Cnorm">{check_pm} Stück ungelesen</td>
    </tr>
     <tr>
    <td class="Cmite">Dein Profil</td>
    <td class="Cnorm"><a href="index.php?user-details-{id}">Ansehen</a></td>
    </tr>
     <tr>
    <td class="Cmite">Deine Forumbeiträge</td>
    <td class="Cnorm"><a href="index.php?forum-aeit">Ansehen</a></td>
    </tr>
     <tr>
    <td class="Cmite">Deine Buddies</td>
    <td class="Cnorm"><a href="index.php?freunde">Who is online?</a></td>
    </tr>
    </table>
     <br />
      <table width="100%" cellpadding="3" cellspacing="1" class="border">
    <tr class="Chead">
    <th colspan="4"><img src="include/images/usercenter/organizer.png" alt="user" width="16" height="16" /> <a href="javascript:show('B')">Desktop</a></th>
    </tr>
    </table>
     <table width="100%" cellpadding="3" cellspacing="1" class="border" id="B" style="display:none">
    <tr>
    <td width="145" height="160" valign="top">
    <img src="include/images/usercenter/pm.png" alt="user" width="48" height="48" />
    <br />
    <strong><u>Private Messages</u></strong>
    <br />
    <br />
    <b>· </b><a href="index.php?forum-privmsg">Lesen</a>
    <br />
    <b>· </b><a href="index.php?forum-privmsg-new">Verfassen</a>
    <br />
    <br />
    </td>
     <td width="145" height="160" valign="top">
    <img src="include/images/usercenter/news.png" alt="user" width="48" height="48" />
    <br />
    <strong><u>News</u></strong>
    <br />
    <br />
    <b>· </b><a href="index.php?news">Ansehen</a>
    <br />
    <b>· </b><a href="index.php?news-archiv">Archiv</a>
    <br />
    <b>· </b><a href="index.php?news-add">Einsenden</a>
    <br />
    <br />
    </td>
     <td width="145" height="160" valign="top">
    <img src="include/images/usercenter/forum.png" alt="user" width="48" height="48" />
    <br />
    <strong><u>Forum</u></strong>
    <br />
    <br />
    <b>· </b><a href="index.php?forum">Eingang</a>
    <br />
    <b>· </b><a href="index.php?forum-augt">Neue Posts</a>
    <br />
    <br />
    </td>
     <td width="145" height="160" valign="top">
    <img src="include/images/usercenter/infos.png" alt="user" width="48" height="48" />
    <br />
    <strong><u>Info Center</u></strong>
    <br />
    <br />
    <b>· </b><a href="index.php?kalender">Kalender</a>
    <br />
    <b>· </b><a href="index.php?wars">Matches</a>
    <br />
    <b>· </b><a href="index.php?vote">Umfragen</a>
    <br />
    <br />
    </td>
    </tr>
     <tr>
    <td width="145" height="160" valign="top">
    <img src="include/images/usercenter/settings.png" alt="user" width="48" height="48" />
    <br />
    <strong><u>Settings</u></strong>
    <br />
    <br />
    <b>· </b><a href="index.php?user-8">Profil bearbeiten</a>
    <br />
    <b>· </b><a href="index.php?map">Wohnort eintragen</a>
    {ADMIN}
    <br />
    </td>
     <td width="145" height="160" valign="top">
    <img src="include/images/usercenter/support.png" alt="user" width="48" height="48" />
    <br />
    <strong><u>Support</u></strong>
    <br />
    <br />
    <b>· </b><a href="index.php?counterstrikesource">Counter-Strike</a>
    <br />
    <b>· </b><a href="index.php?FAQs">FAQs</a>
    <br />
    <br />
    </td>
     {_if_{showNotiz}=='1'}
    <td colspan="2" height="160" valign="top">
    <center><b><u>Deine Notiz(en)</u>
    <br />
    <br />
    (SPEICHERN KLAPPT NOCH NICHT!!!)</b></center>
    <br />
    <textarea cols="40" rows="5" name="notiztext">{notiztext}</textarea>
    <br />
    <center><input type="submit" name="submit" value="Speichern" /></center>
    </td>
    {/_endif}
     </tr>
    </table>
     <br />
     <table width="100%" cellpadding="3" cellspacing="1" class="border">
    <tr class="Chead">
    <th colspan="4"><img src="include/images/usercenter/feder.png" alt="user" width="16" height="16" /> <a href="javascript:show('C')">Letzte Beiträge</a></th>
    </tr>
    </table>
     <table width="100%" cellpadding="3" cellspacing="1" class="border" id="C" style="display:none">
    <tr>
    <td width="145" height="160" class="Cmite" valign="top">
    <div align="center">
    <strong>News:</strong>
    <br />
    <br />
    {last_news}
    </div>
    <br/>
    </td>
     <td width="145" height="160" class="Cmite" valign="top">
    <div align="center">
    <strong>Forum:</strong>
    <br />
    <br />
    {last_forum}
    </div>
    <br/>
    </td>
     <td width="145" height="160" class="Cmite" valign="top">
    <div align="center">
    <strong>Umfragen:</strong>
    </div>
    <br />
    {last_vote}
    <br/>
    </td>
     <td width="145" height="160" class="Cmite" valign="top">
    <div align="center">
    <strong>Profilbesucher:</strong>
    </div>
    <br />
    {last_visits}
    <br />
    </td>
    </tr>
    </table>
     <br />
     <table width="100%" cellpadding="3" cellspacing="1" class="border">
    <tr class="Chead">
    <th colspan="4"><img src="include/images/usercenter/flagge.png" alt="user" width="16" height="16" /> <a href="javascript:show('D')">Dein Userbanner</a></th>
    </tr>
    </table>
     <table width="100%" cellpadding="3" cellspacing="1" class="border" id="D" style="display:none">
    <tr>
    {_if_{showBanner}=='1'}
    <td colspan="4" valign="top">
    <center>
    <br />
    <img src="index.php?benutzercenter-banner-{id}" alt="userbanner" />
    <br />
    <br />
    </center>
    </td>
    </tr>
     <tr>
    <td colspan="4">
    <center><strong><u>Html-Code</u></strong></center>
    <center><textarea readonly="readonly" name="textarea" cols="88" rows="1"><a href="{profillink}"><img src="{imgsrc}" alt="userbanner" /></a></textarea></center>
    </td>
    </tr>
     <tr>
    <td colspan="4">
    <center><strong><u>BB-Code</strong></u></center>
    <center><textarea readonly="readonly" name="textarea2" cols="88" rows="1">[url={profillink}][img]{imgsrc}[/img][/url]</textarea></center>
    </td>
    {/_endif}
    </tr>
    </table>
    </table>
    </form>



    Zuletzt modifiziert von Mairu am 21.05.2010 - 15:48:26
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ach was ich noch vergessen hatte mit der Startseite, also hier noch ein andere Ansatz, so dass die Startseite geändert wird, die kann man in der includes/class/menu.php machen.

    VORHER
          $smod = $allgAr['smodul'];

    NACHHER
          $smod = loggedin() ? 'benutzercenter' : $allgAr['smodul'];
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    CiSeN Mitglied
    Registriert seit
    06.01.2010
    Beiträge
    58
    Beitragswertungen
    1 Beitragspunkte
    Vielen lieben Dank, Mairu. Hat fast alles geklappt. Lediglich bei der Anzeige der letzten Profilbesucher gibt es kleine Schwierigkeiten. Wenn ich die php Datei von dir so übernehmen bekomme ich, wenn ich ins Benutzercenter gehe eine Fehlermeldung die wiefolgt aussieht:

    Fatal error: Call to undefined function last_user() in /customers/t-h-c-headquarters.de/t-h-c-headquarters.de/httpd.www/include/contents/benutzercenter.php on line 232

    Kann es sein, dass ich die function noch in 'ne andere Datei mit aufnehmen muss???
    Bombing For Peace Is Like Fu**ing For Virginity !!!
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Naja ich wusste halt nicht welche Art (Modul?) du nutzt, um die letzten Profilbesucher zu sehen, und bin mal von meiner ausgegangen, was wohl nicht der Fall ist, von daher kann ich ohne weitere Informationen nicht direkt helfen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    CiSeN Mitglied
    Registriert seit
    06.01.2010
    Beiträge
    58
    Beitragswertungen
    1 Beitragspunkte
    Danke Mairu. Das Problem hat sich erledigt. Hatte auf deiner Seite das Tut leicht übersehen gehabt. ^^ Die Besucheranzeige fluppt einwandfrei.

    Jetzt ist mir heute Nacht nur eine Sache noch aufgefallen was die Notizfunktion betrifft. Man kann zwar Sachen eingeben und abspeichern, nur wenn man anschliessend die HP durchstöbert und später wieder ins Benutzercenter zurückkehrt ist der geschriebene Text futsch, das gleiche ist halt auch, wenn man sich aus- und wieder einloggt (irgendwie logisch^^). Wo könnte denn hier der Fehler liegen??? im forum wurde zwar schonmal deshalb nachgefragt, aber es gibt dazu keinen konkreten lösungsansatz, ausser der aussage von akira:

    ZitatZitat
    bei dir fehlt die html


    glaub der fehler liegt an der html das dowt was nich übertragen wird
    Bombing For Peace Is Like Fu**ing For Virginity !!!
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Stimmt da ist noch ein Fehler im Modul gewesen, habs oben und im Modul korrigiert.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    CiSeN Mitglied
    Registriert seit
    06.01.2010
    Beiträge
    58
    Beitragswertungen
    1 Beitragspunkte
    Besten Dank Mairu. Ich kann immer nur wiederholen, dass ich desöfteren schon ohne deine Hilfe komplett aufgeschmissen gewesen wäre.

    Benutzercenter läuft nun einwandfrei.

    DANKE
    Bombing For Peace Is Like Fu**ing For Virginity !!!
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten