Seite 1 von 1

mChat Shoutbox AddOn

Verfasst: 12.02.2010 14:58
von D-Ani
Hallo Gemeinde,

ich weiß nun nicht ob ich es als AddOn oder Snippet bezeichnen soll.

1.) Ich verwende noch die alte Shoutbox Version des mChat mChat ModDB auf phpBB.com

2. Diese Version habe ich bereits mit folgendem von Metzle gepostetem Code Schnipsel aufgerüstet damit die Shoutbox den User im Portal neue Beiträge oder Antworten meldet:

Open includes/functions_posting.php and find:

Code: Alles auswählen

          // Add function part code from http://wiki.phpbb.com/Parsing_text
          $uid = $bitfield = $options = ''; // will be modified by generate_text_for_storage
          generate_text_for_storage($message, $uid, $bitfield, $options, true, false, false);
          $sql_ary = array(
             'user_id' => $user->data['user_id'],
             'username' => $user->data['username'],
             'user_colour' => $user->data['user_colour'],
             'user_ip' => $user->data['session_ip'],
             'message' => $message,
             'bbcode_bitfield' => $bitfield,
             'bbcode_uid' => $uid,
             'bbcode_options' => $options,
             'message_time' => time()
          );
Find the following lines:

Code: Alles auswählen

'user_id' => $user->data['user_id'],
         'username' => $user->data['username'],
         'user_colour' => $user->data['user_colour'],
         'user_ip' => $user->data['session_ip'],
         'message' => $message,
         'bbcode_bitfield' => $bitfield,
         'bbcode_uid' => $uid,
         'bbcode_options' => $options,
         'message_time' => time()
Replace with ( it's an example code and could be changed with other data ):

Code: Alles auswählen

'user_id' => '161',
         'username' => 'blabla[Bot]',
         'user_colour' => '000000',
         'message' => $message,
         'bbcode_bitfield' => $bitfield,
         'bbcode_uid' => $uid,
         'bbcode_options' => $options,
         'message_time' => time()
      );
Davor, also vor dem ganzen musste man folgendes Einbauen:

Open: /language/en/common.php
Find:

Code: Alles auswählen

'MIB'               => 'MiB',
Add after, on a new blank line:

Code: Alles auswählen

'MCHAT_NEW_TOPIC'      => '<strong>System Message - New Topic</strong>',
   'MCHAT_NEW_REPLY'      => '<strong>System Message - New Reply</strong>',
Open: /includes/functions_posting.php
Find:

Code: Alles auswählen

    unset($sql_data[POSTS_TABLE]['sql']);
Add after, on a new blank line:

Code: Alles auswählen

              /* ============= mChat Start ============= */
              global $table_prefix;
              // Add name for db.
              define('MCHAT_TABLE', $table_prefix.'mchat');
              // New post/message.
              if ($post_mode == 'post')
              {
                // For new post
                $mchat_new_data = $user->lang['MCHAT_NEW_TOPIC'];
              }
                else
              {
                // For new message
                $mchat_new_data = $user->lang['MCHAT_NEW_REPLY'];
              }
              // Data...
              $message = utf8_normalize_nfc($mchat_new_data.': [url='.generate_board_url().'/viewtopic.'.$phpEx.'?p='.$data['post_id'].'#p'.$data['post_id'].']'.$subject.'[/url]');
              // Add function part code from http://wiki.phpbb.com/Parsing_text
              $uid = $bitfield = $options = ''; // will be modified by generate_text_for_storage
              generate_text_for_storage($message, $uid, $bitfield, $options, true, false, false);
              $sql_ary = array(
                'user_id' => $user->data['user_id'],
                'username' => $user->data['username'],
                'user_colour' => $user->data['user_colour'],
                'user_ip' => $user->data['session_ip'],
                'message' => $message,
                'bbcode_bitfield' => $bitfield,
                'bbcode_uid' => $uid,
                'bbcode_options' => $options,
                'message_time' => time()
              );
              $sql = 'INSERT INTO '.MCHAT_TABLE.' '.$db->sql_build_array('INSERT', $sql_ary);
              $db->sql_query($sql);
              /* ============== mChat End ============== */ 
So lange Rede kurzer Sinn ich wollte mal Fragen ob jemand eine Idee oder sogar schon was fertiges (wäre mir lieber) hätte was bewirkt das wenn ein User sich anmeldet auf dem Board er von der Shoutbox (also in meinem Fall Eowynn Bot mit Variablen Texten) quasi begrüßt wird!

Hier geht es zu dem Board

Re: mChat Shoutbox AddOn

Verfasst: 16.02.2010 09:20
von D-Ani
Nachtrag da ich leider nicht mehr Editieren kann:

Den oben genannten Code hat noch den Fehler das er die jeweiligen Berechtigungen nicht berücksichtigt. Jemand eine Idee wie ich das noch beheben kann?