[infobox]Da der Post hier schon recht unübersichtlich wird, habe ich die Dateien, die geändert werden angehangen![/infobox]
[warnbox]Achtung beim Austausch der Dateien, eventuelle Änderungen die Ihr selbst vorgenommen habt, werden dann natürlich überschrieben![/warnbox]
[infobox]Jetzt auch mit Profilbild anstatt des Favoritenbild in der Statistik des Profils, einfach img/php/profil.php austauschen[/infobox]
Moin,
da hier ja mittlerweile nach einem MOD für das Profilbild gefragt wurde und ein Kumpel mich deswegen auch angesprochen hat, hab ich mir mal die Zeit genommen und dies für das WM-Script angepasst
Danach kann man auf der "Profil ändern"-Seite sein eigenes Profilbild hochladen
[infobox] Achtung, manchmal spielt der Cache verrückt und man muss die Seite erneut laden bzw den Cache löschen, damit das Bild auch angezeigt wird![/infobox]
Ausserdem wird dann das Profilbild auf der linken Seite oberhalb des Usermenü angezeigt und in der Teilnehmerliste.
Folgendes muss gemacht werden, damit dies auch bei Euch klappt
[warnbox]Ich berufe mich bei Zeilenangaben etc. immer auf die Original Script-Dateien, also sollte jemand schon was gebastelt haben, dann ist dies natürlich zu berücksichtigen!
Desweiteren macht es immer Sinn, seine Daten vorher zu sichern, auch die Datenbank.[/warnbox]
[warnbox]Und immer schön an UTF-8 denken[/warnbox]
-
User-Datenbank um Spalte "Userpic" erweitern
Folgenden SQL-Befehl in PHPMyAdmin o.ä. ausführen:
Dieser trägt in eurer Tabelle wmtipp_users die Spalte "userpic" und das Bild empty.jpg als Standardbild für jeden User ein.
(Ihr könnt auch jedes andere Standardbild benutzen) -
Ordner /userpic erstellen mit empty.jpg
Nun per ftp im Ordner img einen Ordner mit dem Namen: userpic erstellen und diesem Ordner Schreibzugriff geben chmod 777.
Dann in den Ordner das Bild empty.jpg einfügen. (Bild ist hier mit angehangen) -
Datei intern.profil.php anpassen
Die Profil ändern Seite muss angepasst werden, dass man hier sein Bild hochladen kann.
Dazu in der intern.profil.php ganz am Ende folgenden Code anfügen:
[warnbox]Im Quelltext sind Fehler, da irgendwie hier die Formatierung verändert wird, auch wenn ich es als Code deklariere!!![/warnbox]
[warnbox]Er löscht in den span-Befehlen den Schrägstrich! Es heisst bei den $meldungs-Aufrufen so:[/warnbox]Zitat$meldung = "<span style=\"color:#FF0000;font-weight:bold;\">
PHP- <!-- Beginn USERPIC --><?php$dateityp = (isset($_FILES['datei']['tmp_name']) ? GetImageSize(mysql_real_escape_string($_FILES['datei']['tmp_name'])) : 0);$meldung = "";$get_pic = mysql_query("SELECT userpic FROM ". $CONFIG['MYSQL']['PREFIX'] ."users WHERE id = '".$_SESSION['s_id']."'");$bild = mysql_fetch_array($get_pic);$userpic = "img/userpic/".$bild['userpic'];if($dateityp[2] != 0){ if($_FILES['datei']['size'] <= 102400 && $dateityp[0] <= 150 && $dateityp[1] <= 150) { if (isset($bild['userpic']) && $bild['userpic'] != "empty.jpg") { unlink($userpic); } $new_filename = $_SESSION['s_id'] . strrchr($_FILES['datei']['name'], "."); move_uploaded_file($_FILES['datei']['tmp_name'], mysql_real_escape_string("img/userpic/".$new_filename)); $meldung = "<span style="color:#00DD00;font-weight:bold;">Bild erfolgreich hochgeladen</span><br>"; mysql_query("UPDATE ". $CONFIG['MYSQL']['PREFIX'] ."users SET userpic ='". mysql_real_escape_string($new_filename) ."' WHERE id = '". $_SESSION['s_id'] ."'"); echo $meldung; $get_pic = mysql_query("SELECT userpic FROM ". $CONFIG['MYSQL']['PREFIX'] ."users WHERE id = '".$_SESSION['s_id']."'"); $bild = mysql_fetch_array($get_pic); $userpic = "img/userpic/".$bild['userpic']; } elseif ($_FILES['filepc']['size'] > 102400) { $meldung = "<span style="color:#FF0000;font-weight:bold;">Datei zu gross</span>"; echo $meldung; } elseif ($dateityp[0] > 150 || $dateityp[1] > 150) { $meldung = "<span style="color:#FF0000;font-weight:bold;">Bild ist zu gross</span>"; echo $meldung; } else { $meldung = "<span style="color:#FF0000;font-weight:bold;">Bild konnte nicht hochgeladen werden</span>"; $meldung .= "<br><br>Bitte versuche es noch einmal mit einem anderen Bild und achte auch auf die Beschränkungen.<br>"; echo $meldung; }}elseif ($dateityp[2] == 0 && isset($_POST['upload'])){ if (isset($_FILES['datei']['tmp_name']) && trim($_FILES['datei']['tmp_name']) == "") { $meldung = "<span style="color:#FF0000;font-weight:bold;">Keine Datei gewaehlt</span>"; echo $meldung; } else { $meldung = "<span style="color:#FF0000;font-weight:bold;">Datei ist kein Bild</span>"; echo $meldung; }}?> <form action="" method="post" enctype="multipart/form-data" name="userpic" id="userpic"><br> <tr> <th><h1>Profilbild ändern</h1></th> </tr> <tr> <td align="left" valign="top"> <table width="100%" border="0" cellspacing="1" cellpadding="2" class="table_content"> <tr align="left" valign="top"> <td id="thmdl" width="180"> <h2>Aktuelles Bild</h2></td> <td width="150"> <img src="<?php echo $userpic; ?>" title="Aktuelles Bild" alt="Aktuelles Bild" style="position:top; "> </td> <td>Hier kannst Du Dein aktuelles Profilbild ändern.<br> Bitte beachte dabei folgende Regeln: <ul> <li>Bildmaße: max. 150 x 150 Pixel</li> <li>Bildgröße: max. 100 kB</li> <li>erlaubte Dateiendungen: gif, jpg, png</li> <li>keine Bilder, die verbotene oder rechtswidrige Inhalte zeigen</li> </ul> </td> </tr> <tr align="left" valign="top"> <td id="thmdl"><h2>Neues Bild</h2></td> <td colspan="2"> <div id="divinputfile"> <input name="datei" type="file" size="69" id="filepc" onchange="document.getElementById('fakefilepc').value = this.value;" /> </div> </td> </tr> <tr align="left"> <td id="thbole"> </td> <td colspan="2"> <br /> <div class="buttons"> <input type="submit" name="upload" id="upload" alt="Bild hochladen" title="Hochladen"> </div> </td> </tr> </table> </td> </tr></form> <!-- Ende USERPIC -->
-
Im Usermenü Bild einfügen
In der Index.php nach
suchen (Bei Original-index.php nach Zeile 701).
Davor diesen Code einfügen.PHP- <!-- Mod Userpic Beginn --><?php$get_pic = mysql_query("SELECT userpic FROM ". $CONFIG['MYSQL']['PREFIX'] ."users WHERE id = '".$_SESSION['s_id']."'");$bild = mysql_fetch_array($get_pic);$userpic = "img/userpic/".$bild['userpic'];?><img src="<?php echo $userpic; ?>" title="Profilbild" alt="Profilbild" style="position:top; "><!-- Mod Userpic Ende -->
dann erscheint das aktuelle Userbild im User-Menü. -
Userpic in Teilnehmerliste
Damit das Userpic auch in der Teilnehmerliste angezeigt wird, muss die teilnehmer.ansicht.php angepasst werden.
Dazu muss die Tabelle um eine Spalte erweitert werden, direkt neben der Favoritenflagge, also nach Zeile 58 ein weiteres
einfügen, somit stehen da jetzt zwei untereinander dann.
Dann nach folgendem Code weiter unten:
Dies danach einfügen:
Ich habe hier mal die Höhe auf 28px gesetzt.
Wer die Bilder größer haben möchte, der muss nur die Breite und Höhe dementsprechend anpassen: - Einbinden in wer ist/war Online
Dazu muss die user.online.php angepasst werden.
In Zeile 44 den SQL-Aufruf ändern in:PHP- $query = "SELECT u.id AS uid, u.name, u.usr, u.fav AS fav, u.userpic AS userpic, t.id AS tid FROM ". $CONFIG['MYSQL']['PREFIX'] ."users AS u" ." LEFT JOIN ". $CONFIG['MYSQL']['PREFIX'] ."teams AS t ON t.id = u.fav" ." WHERE UNIX_TIMESTAMP(u.lastaction) > ". ($now - $skript['actiontime']) ." ORDER BY u.name DESC";
und weiter unten gibt es noch einen SQL-Befehl so ca. Zeile 104, den ändern in:PHP- $query = "SELECT u.id AS uid, u.name, DATE_FORMAT(u.lastaction, '%H.%i ') AS lastdate, u.usr, u.fav, u.userpic AS userpic, t.id AS tid FROM ". $CONFIG['MYSQL']['PREFIX'] ."users AS u" ." LEFT JOIN ". $CONFIG['MYSQL']['PREFIX'] ."teams AS t ON t.id = u.fav" ." WHERE UNIX_TIMESTAMP(u.lastaction) <= ".($now - $skript['actiontime']) ." AND UNIX_TIMESTAMP(u.lastaction) >= " . mktime(0,0,0,date("m",$now),date("d",$now),date("Y",$now)) ." ORDER BY u.lastaction DESC";
Somit haben wir schon mal den Aufruf das auch das Profilbild mit gesucht wird.Dann muss es noch angezeigt werden, dies geht mit folgendem Aufruf:
[infobox]Bei WAR-Online sollte die Backgroundfarbe auf grau gesetzt werden, also einfach text-align:center;background-color:#dddddd;" width="38"> dann einfach benutzen.[/infobox]
Dieser muss nach dem Aufruf des Fav-Icons eingebaut werden oder kann auch anstelle dessen.
Achtung gibt den Aufruf ja zweimal, einmal für IST-ONLINE und für WAR-ONLINE, einfach nach der Passage suchen:
Zeile 62 und 122 (kann auch etwas verschoben sein, wenn ihr schon den ersten Aufruf eingebaut habt.) -
Einbinden ins Forum (Danke an Chris)
forum.thread.php Zeile 181Diese Zeile ersetzen
durch
- Einbindung in Rangliste und Siegertreppchen
Die Änderungen hat Marcelinho weiter unten mal gepostet.
Ich habe die in den jeweiligen Dateien mit übernommen, allerdings mit der kleinen Änderungen, dass ich den Favorit und das Userpic anzeigen lasse.
Alle Änderungen sind im ZIP-File drin und können ausgetauscht werden nach Bedarf
Das macht das Ganze einfacher für viele.
Ich hoffe es ist verständlich für jeden
Viel Spaß damit!