Avatare freischalten für wBB1

      Avatare freischalten für wBB1

      Hallo,

      da wir noch immer ein Mitglied haben welches sich standhaft weigert eine aktuelle Boardversion zu nutzen gibt es nun diese Erweiterung wieder für das wBB1.
      Sie bewirkt, dass jeder Avatar vorher von einem Admin freigeschaltet werden muss.

      1.) Führe diese MySQL Befehl aus:
      ALTER TABLE `bbX_avatars` ADD `allowed` INT( 11 ) NOT NULL ;

      Wobei du das X durch deine Installtionsnummer ersetzen musst!

      2.) Öffne die Datei admin/Upload.class.php und suche:

      Quellcode

      1. $db_zugriff->query("INSERT INTO bb".$n."_avatars VALUES ('','".$this->file_name."','".$this->file_extension."','$groupid','$posts','$setuserid')");
      2. $this->insertid = $db_zugriff->insert_id();


      füge hinter $setuserid' ein:
      ,'0'

      3.) Öffne die thread.php und suche:

      Quellcode

      1. $post_result = $db_zugriff->query("
      2. SELECT bb".$n."_posts.*, bb".$n."_avatars.extension as avatarextension, bb".$n."_user_table.*, bb".$n."_useronline.zeit FROM bb".$n."_posts
      3. LEFT JOIN bb".$n."_user_table ON (bb".$n."_user_table.userid = bb".$n."_posts.userid)
      4. LEFT JOIN bb".$n."_avatars ON (bb".$n."_avatars.id = bb".$n."_user_table.avatarid AND bb".$n."_avatars.allowed=1)
      5. LEFT JOIN bb".$n."_useronline ON (bb".$n."_useronline.userid = bb".$n."_posts.userid AND bb".$n."_useronline.userid>0)
      6. WHERE bb".$n."_posts.postid IN (0$postids) ORDER by bb".$n."_posts.posttime ".ifelse($postorder,"DESC","ASC"));

      ersetze diese Zeile:

      Quellcode

      1. LEFT JOIN bb".$n."_avatars ON (bb".$n."_avatars.id = bb".$n."_user_table.avatarid)

      durch:

      Quellcode

      1. LEFT JOIN bb".$n."_avatars ON (bb".$n."_avatars.id = bb".$n."_user_table.avatarid AND (bb".$n."_avatars.allowed=1 OR bb".$n."_avatars.userid=0))

      suche:

      Quellcode

      1. if($posts[avatarid] && !$hide_userpic && $avatars) $user_pic = "<br><img src=\"images/avatars/avatar-".$posts[avatarid].".".$posts[avatarextension]."\" border=0>";

      ersetze es durch:

      Quellcode

      1. if($posts[avatarid] && $posts[avatarextension] && !$hide_userpic && $avatars) $user_pic = "<br><img src=\"images/avatars/avatar-".$posts[avatarid].".".$posts[avatarextension]."\" border=0>";


      4.) Öffne die members.php und suche:

      Quellcode

      1. $user_info = $db_zugriff->query_first("SELECT users.*, avatars.extension FROM bb".$n."_user_table users LEFT JOIN bb".$n."_avatars avatars ON (avatars.id=users.avatarid) WHERE users.userid='$userid'");

      ersetze es durch:

      Quellcode

      1. $user_info = $db_zugriff->query_first("SELECT users.*, avatars.extension FROM bb".$n."_user_table users LEFT JOIN bb".$n."_avatars avatars ON (avatars.id=users.avatarid AND (avatars.allowed=1 OR avatars.userid=0)) WHERE users.userid='$userid'");

      suche:

      Quellcode

      1. if($user_info[avatarid] && !$hide_userpic && $avatars) $userpic = "<br><img src=\"images/avatars/avatar-$user_info[avatarid].$user_info[extension]\" border=0>";

      ersetze es durch:

      Quellcode

      1. if($user_info[avatarid] && $user_info[extension] && !$hide_userpic && $avatars) $userpic = "<br><img src=\"images/avatars/avatar-$user_info[avatarid].$user_info[extension]\" border=0>";


      5.) Öffne die Datei admin/templates/menue.htm und suche:

      Quellcode

      1. <p style="margin-top: 0; margin-bottom: 0">
      2. <font size=1 face="Tahoma"><a href="admin.php?action=avatar_user_del$session" target="main">
      3. <font color="#FFFFFF">» User-Avatars löschen</font></a></font></p>

      füge darunter ein:

      Quellcode

      1. <p style="margin-top: 0; margin-bottom: 0">
      2. <font size=1 face="Tahoma"><a href="admin.php?action=activate_avatar" target="main">
      3. <font color="#FFFFFF">» Avatare freischalten</font></a></font></p>


      6.) Öffne admin/admin.php und suche:

      Quellcode

      1. if($action == "smilies_del") {
      2. if($send == "send" && count($smilieid)) {
      3. for($i = 0; $i < count($smilieid); $i++) $db_zugriff->query("DELETE FROM bb".$n."_smilies WHERE id = '$smilieid[$i]'");
      4. }
      5. $result = $db_zugriff->query("SELECT * FROM bb".$n."_smilies ORDER BY id ASC");
      6. while($row = $db_zugriff->fetch_array($result)) eval ("\$smilies_delbit .= \"".gettemplate("smilies_delbit")."\";");
      7. eval("dooutput(\"".gettemplate("smilies_del")."\");");
      8. }

      füge darunter ein:

      Quellcode

      1. if($action == "activate_avatar") {
      2. if($send == "send" && count($avatarid)) {
      3. for($i = 0; $i < count($avatarid); $i++) $db_zugriff->query("UPDATE bb".$n."_avatars SET allowed=1 WHERE id = '$avatarid[$i]'");
      4. }
      5. $result = $db_zugriff->query("SELECT * FROM bb".$n."_avatars avatars,bb".$n."_user_table users WHERE avatars.allowed=0 AND users.userid=avatars.userid ORDER BY id");
      6. while($row = $db_zugriff->fetch_array($result)) eval ("\$avatars_bit .= \"".gettemplate("activate_avatars_bit")."\";");
      7. eval("dooutput(\"".gettemplate("activate_avatar")."\");");
      8. }


      7.) Öffne die templates/profile_avatars.htm und suche:

      Quellcode

      1. <td colspan=2><FONT face="{font}" size=2 color="{fontcolorsecond}"><b>Avatare</b>

      füge dahinter ein:
      $hinweis

      8.) Öffne die profile.php und suche:

      Quellcode

      1. if ($upload->doUpload()) $db_zugriff->query("UPDATE bb".$n."_user_table set avatarid = '$insertid' WHERE userid = '$user_id'");
      2. else eval ("\$error = \"".gettemplate("error3")."\";");

      ersetze es durch:

      Quellcode

      1. if ($upload->doUpload()){
      2. $db_zugriff->query("UPDATE bb".$n."_user_table set avatarid = '$insertid' WHERE userid = '$user_id'");
      3. $hinweis="<br>Bevor dein Avatar sichtbar ist, wird er von einem Admin geprüft. Bitte habe dafür Verständnis.";
      4. $db_zugriff->query("INSERT INTO bb".$n."_pms(senderid,recipientid,sendtime,subject,message,icon,disable_smilies) VALUES('1','1','".time()."','Neuer Avatar bereit zum freischalten','Ein neuer Avatar wurde gewählt und muss nun freigeschaltet werden','./images/icons/ausrufezeichen.gif','0')");
      5. }else{
      6. eval ("\$error = \"".gettemplate("error3")."\";");
      7. }


      Abschließend musst du noch die beiden Templates aus dem .zip Archiv in den Ordner admin/templates laden!

      Viel Erfolg mit der Erweiterung!

      Gruß pattex
      Dateien
      GoHome! Arbeitszeitüberwachung! (@iOS AppStore)
      Reminder, Worktime, Arbeitszeit, Arbeit, Ueberwachung, Zeiten, Zeitenstempeln
      :dafür:
      Hallo Julian,

      also erstmal ein herzlichen Danke an dich. Funktioniert wunderbar.

      Kleine verbesserungswunsch von mir:

      1. Admin PN, lässt sich nicht als gelesen markieren wenn man die PN angesehen hat.
      1.1. In der Admin PN sollte wenn möglich der Nickname mit drin stehen wer gerate eins hochgeladen hatte.
      2. Bei Normalen Avataren wird diese nicht mehr im Profile angezeigt rechts.
      Ist allerdings nur so, wenn man eins nimmt die vorgegeben sind im Profile. Bei eigenen hochgeladenen Avataren.
      3. Bei Normalen Avataren wird diese nicht mehr im Thread angezeigt links.
      Ist allerdings nur so, wenn man eins nimmt die vorgegeben sind im Profile. Bei eigenen hochgeladenen Avataren.

      Liebe Grüsse
      cHAp
      Liebe Grüße,
      cHAp :drink:

      Meine Webseite: xprog.de/ - https://www.chatmaske.de/ - https://www.mailda.de/
      Kleine Fehlerbehebung:

      Suche in der thread.php nach:

      Quellcode

      1. LEFT JOIN bb".$n."_avatars ON (bb".$n."_avatars.id = bb".$n."_user_table.avatarid AND bb".$n."_avatars.allowed=1)


      und ersetze es mit:

      Quellcode

      1. LEFT JOIN bb".$n."_avatars ON (bb".$n."_avatars.id = bb".$n."_user_table.avatarid AND (bb".$n."_avatars.allowed=1 OR bb".$n."_avatars.userid=0))


      Suche in der members.php nach:

      Quellcode

      1. $user_info = $db_zugriff->query_first("SELECT users.*, avatars.extension FROM bb".$n."_user_table users LEFT JOIN bb".$n."_avatars avatars ON (avatars.id=users.avatarid AND avatars.allowed=1) WHERE users.userid='$userid'");


      und ersetze es mit:

      Quellcode

      1. $user_info = $db_zugriff->query_first("SELECT users.*, avatars.extension FROM bb".$n."_user_table users LEFT JOIN bb".$n."_avatars avatars ON (avatars.id=users.avatarid AND (avatars.allowed=1 OR avatars.userid=0)) WHERE users.userid='$userid'");



      Zu dem PN als gelesen markieren: Das geht bei mir bei keiner PN. Liegt wohl am Board.
      GoHome! Arbeitszeitüberwachung! (@iOS AppStore)
      Reminder, Worktime, Arbeitszeit, Arbeit, Ueberwachung, Zeiten, Zeitenstempeln
      :dafür:
      So bekommst du den Namen in die PN:

      Öffne profile.php und suche:
      $info = $db_zugriff->query_first("SELECT userposts, avatarid FROM bb".$n."_user_table WHERE userid = '$user_id'");


      ersetze es durch:
      $info = $db_zugriff->query_first("SELECT userposts, avatarid, username FROM bb".$n."_user_table WHERE userid = '$user_id'");

      War doch einfacher als gedacht mhm.. Noch Wünsche?
      GoHome! Arbeitszeitüberwachung! (@iOS AppStore)
      Reminder, Worktime, Arbeitszeit, Arbeit, Ueberwachung, Zeiten, Zeitenstempeln
      :dafür:
      Ups, da habe ich hier wohl eine neuere Version.

      Suche, in der profile.php, in der zeile unter der von eben etwas ähnliches wie:
      $db_zugriff->query("INSERT INTO bb".$n."_pms(senderid,recipientid,sendtime,subject,message,icon,disable_smilies)...


      und ersetze es mit:
      $db_zugriff->query("INSERT INTO bb".$n."_pms(senderid,recipientid,sendtime,subject,message,icon,disable_smilies) VALUES('1','1','".time()."','Neuer Avatar bereit zum freischalten','Ein neuer Avatar wurde von ".$info[username]." gewählt und muss nun freigeschaltet werden','./images/icons/ausrufezeichen.gif','0')");
      GoHome! Arbeitszeitüberwachung! (@iOS AppStore)
      Reminder, Worktime, Arbeitszeit, Arbeit, Ueberwachung, Zeiten, Zeitenstempeln
      :dafür: