Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.8 veröffentlicht (17.10.16)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Shoutbox & MyBB 1.2 ?
#1
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
Zitieren
#2
Hallo zusammen

Ja das würde mich auch sehr interessieren !

bis gli...
greetz DaStaFlexX
Zitieren
#3
Funktioniert es wenn du $db->result durch $db->fetch_array ersetzt?

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#4
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


Angehängte Dateien
.php   shoutbox.php (Größe: 8,05 KB / Downloads: 7)
Zitieren
#5
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']; 

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#6
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
Zitieren
#7
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); 

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#8
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.
Zitieren
#9
Ja, das mit dem Popup ist korrekt. Frag einfach bei Musicalmidget nach ob du deine Version veröffentlichen darfst.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#10
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
Zitieren


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  &amp; im Link? Was ist zu ändern? Axxis 6 1.242 11.10.2009, 20:57
Letzter Beitrag: Axxis