MyBB.de Forum
Shoutbox & MyBB 1.2 ? - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: Shoutbox & MyBB 1.2 ? (/thread-2918.html)

Seiten: Seiten: 1 2


Shoutbox & MyBB 1.2 ? - lenkradschloss - 05.09.2006

Ich habe interessehalber mal versucht mich in das Plugin reinzudenken und zu versuchen, es auch unter 1.2 zum Laufen zu bringen.
Bei der Datei shoutbox.php aus dem Verzeichnis inc/plugins/ ist es mir (glaube ich) halbwegs gelungen. Zumindest wird eine Tabelle und entsprechende Templates angelegt. Wink
Bei der eigentlichen shoutbox.php habe ich nun ein Problem, mit dem ich nicht mehr weiterkomme.

Ich erhalte folgende Fehlermeldung:

Fatal error: Call to undefined method databaseEngine::result() in /data/wwwdir/res1/web14/html/forum/shoutbox.php on line 173

Der entsprechende Teil aus der shoutbox.php sieht wie folgt aus:

Code:
        // First things first, pagination. Woohoo!
        $query = $db->query("SELECT COUNT(sid) AS shouts FROM ".TABLE_PREFIX."shouts");
        $shoutcount = $db->result($query, 0);

Kann mir da vielleicht einer von denen, die hier (im Gegensatz zu mir) Ahnung vom Coden haben einen Tipp geben, so dass ich mein "learning-by-doing-Projekt" fortsetzen kann. Wink
Leider is mein Englisch nicht gut genug, so dass ich mich an musicalmidget direkt wenden kann. Sad
Wenn nicht, isses auch net weiter tragisch, dann warte ich einfach bis der Autor es an 1.2 angepasst hat.

Viele Grüße, Jens


RE: Shoutbox & MyBB 1.2 ? - DaStaFlexX - 05.09.2006

Hallo zusammen

Ja das würde mich auch sehr interessieren !

bis gli...
greetz DaStaFlexX


RE: Shoutbox & MyBB 1.2 ? - Michael - 05.09.2006

Funktioniert es wenn du $db->result durch $db->fetch_array ersetzt?


RE: Shoutbox & MyBB 1.2 ? - lenkradschloss - 05.09.2006

Hmmmm! Ich will's mal so sagen: Ich bin zumindest ein paar Zeilen weiter (von 173 zu 186) Wink

Fatal error: Unsupported operand types in /data/wwwdir/res1/web14/html/forum/shoutbox.php on line 186

Dabei ist eine weitere grundsätzliche Frage aufgetaucht. Werden da eigentlich die z.b. mit // oder mit /* bla bla bla */ auskommentierten Zeilen sowie leere Zeilen mitgezählt?

Code:
        // First things first, pagination. Woohoo!
        $query = $db->query("SELECT COUNT(sid) AS shouts FROM ".TABLE_PREFIX."shouts");
        $shoutcount = $db->fetch_array($query, 0);
        
        // If there are currently no shouts in the database, prompt the user to make one.
        if($shoutcount < 1)
        {
            eval("\$shouts = \"".$templates->get('shoutbox_error_noshouts')."\";");
        }
        else
        {
            /*    Currently, a maximum of 25 shouts are shown on any one page of the shoutbox.
                This will change in version 2.0 so as administrators may set the maximum
                number of shouts to be shown per page. */
            $perpage = 25;
            $pages = ceil($shoutcount / $perpage);
            
            if(!intval($mybb->input['page']))
            {
                $page = 1;
            }
            else
            {
                $page = intval($mybb->input['page']);
            }

Viele Grüße, Jens

P.S.: Ich hab als Attachment mal meine bisher "überarbeitete" shoutbox.php angehängt. Wie gesagt, da ich nur sehr begrenzt Ahnung habe natürlich ohne Anspruch auf Richtigkeit. So habe ich z.B. ganz oben auch
Code:
define("IN_MYBB", 1);
define("KILL_GLOBALS", 1);
eingefügt, da es ohne nicht lief und ich es so in einem anderen überarbeiteten Plugin gesehen habe, ohne dass ich so ganz genau weiß, was das genau definiert. Rolleyes


RE: Shoutbox & MyBB 1.2 ? - Michael - 05.09.2006

Ja, die Kommentare werden bei den Zeilen mitgezählt.

Ersetze
PHP-Code:
$shoutcount $db->fetch_array($query0); 
Bitte mal durch:
PHP-Code:
$shoutcountresult $db->fetch_array($query);
$shoutcount $shoutcountresult['shouts']; 



RE: Shoutbox & MyBB 1.2 ? - lenkradschloss - 05.09.2006

Jepp. Wieder weiter. Nun konnte ich schon nen Beitrag schreiben, allerdings erschien beim Abschicken folgendes:

Fatal error: Call to undefined function postify() in /data/wwwdir/res1/web14/html/forum/shoutbox.php on line 219

Wieder der Code außenrum:

Code:
            // Start getting shouts!
            $query = $db->query("SELECT s.*, s.username AS shoutusername, u.username, u.usergroup, u.displaygroup FROM ".TABLE_PREFIX."shouts s LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=s.uid) ORDER BY dateline LIMIT $start, $limit");
            while($shout = $db->fetch_array($query))
            {
                $shout['message'] = postify($shout['message']);
                $shout['time'] = mydate($mybb->settings['dateformat'], $shout['dateline']).' '.mydate($mybb->settings['timeformat'], $shout['dateline']);
                
                // Check for /me tag in shout.
                $mecheck = explode(' ', $shout['message']);
                if($mecheck[0] == '/me' || $mecheck[0] == '/slap')
                {
                    $shout['message'] = domecode($shout['message'], $shout['username']);
                    $shout['username'] = '';

Die Funktion postify ist auch nur an der einen Stelle im plugin eingebaut.

Danke für die Hilfe! Gruß, Jens


RE: Shoutbox & MyBB 1.2 ? - Michael - 05.09.2006

Die Funktion potify gibt es nicht mehr, eine Klasse übernimmt jetzt die Verarbeitung:
PHP-Code:
require_once "inc/class_parser.php";
$parser = new postParser;
$parser_options = array(
    
"allow_html" => "no",
    
"allow_mycode" => "yes",
    
"allow_smilies" => "yes",
    
"allow_imgcode" => "yes"
);
$message $parser->parse_message($message$parser_options); 



RE: Shoutbox & MyBB 1.2 ? - lenkradschloss - 06.09.2006

Super! Nach ein paar weiteren kleineren Problemchen (mit geänderten Namen von Funktionen, etc.) habe ich nun tatsächlich eine lauffähige shoutbox.php hinbekommen.

Nur nochmal zur Sicherheit. Ist es richtig dass sich auch die pop-up Funktion geändert hat? Ich habe mal im Quelltext bei der "buddy-list" nachgeschaut, weil's bei mir net ging und habe daraufhin den onClickBefehl von:
Code:
    $shoutboxlink = " | <a href=\"#\" onClick=\"popupWin('shoutbox.php', 'Shoutbox', 350, 350);\">Shoutbox</a>";
nach:
Code:
    $shoutboxlink = " | <a href=\"#\" onClick=\"MyBB.popupWindow('shoutbox.php', 'Shoutbox', 500, 350);\">Shoutbox</a>";
geändert. Bin mir jetzt nicht sicher ob man diesen MyBB-Teil nicht als irgend'ne Variable hätte schreiben müssen, oder ob des so ok is. Funktionieren tut's nun auf jeden Fall.

Gruß, Jens

P.S.: @Michael! Weitere Frage ist nun auch, ob ich meine "Privatänderung" (deutsch_du) nun zum Download freigeben soll oder ob der bessere Weg ist wenn wir warten bis der Author selbst sich seinem Werk angenommen hat? Möchte eigentlich niemanden verärgern.


RE: Shoutbox & MyBB 1.2 ? - Michael - 06.09.2006

Ja, das mit dem Popup ist korrekt. Frag einfach bei Musicalmidget nach ob du deine Version veröffentlichen darfst.


RE: Shoutbox & MyBB 1.2 ? - DaStaFlexX - 06.09.2006

Zitat:Super! Nach ein paar weiteren kleineren Problemchen (mit geänderten Namen von Funktionen, etc.) habe ich nun tatsächlich eine lauffähige shoutbox.php hinbekommen.
Super... Gute Arbeit ! Wink

Ja bitte veröffentlichen !!!

bis gli...
greetz DaStaFlexX