IPB13 For mySQL5  1.0.2  Invision Power Board 1.3
Mod Beschreibung Macht Invisionboard 1.3 kompatibel mit mySQL5
Mod Kompatibilität Invision Power Board 1.3
Mod Kategorie Major Mod
Mod Autor Peter
Mod Emailadresse des Autors Peter@ibforen.de
Dokumentationspfad sources/mods/mysql5/mod_mysql5_howto.htm
Mod Version 1.0.2
Hinweis Weitergabe ohne Zustimmung ist untersagt. Download von ibforen.de
Alle Änderungen sind am mod_token zu erkennen

Dieses html-howto wurde erstellt mit The ModInstaller 1.3.2 von
Peter@ibforen.de, released on 29th January, 2007
Erstellungsdatum: 2009-01-23

Es darf ohne ausdrückliche Genehmigung nicht weiterverwendet werden.

Hinweis
  • Dieser Mod ist keine Freeware.
  • Eine Weitergabe dieser Anleitung oder einer der Mod-Dateien ist untersagt. Die Distribution des Mods und seiner Dateien ist nur mit meiner ausdrücklichen Genehmigung gestattet.
  • Die Anpassung des Mods an die Skins des eigenen Boards ist ausdrücklich gewünscht. Dabei darf jedoch nicht mein Copyright verletzt werden und abgewandelte Codeteile weitervertrieben werden.
  • Eine Verletzung dieser Regelung führt letztendlich dazu, dass ich künftig keine frei verfügbaren Modifikationen mehr produziere. In diesem Sinne bitte ich darum, die schöpferische Leistung aller Programmierer zu respektieren und die Urheberschaften zu beachten.
Mod Token mod_mysql5

 Inhalt

1 History und Change Logs
2 Veränderungen
3 Kopieren
4 Kodieren
5 Anpassen
6 Kommentar
7 Ältere History und Change Logs

 1.  History und Change Logs

Version 1.0.2


 2.  Veränderungen
Changed file Changed function
sources/Boards.php Boards(..)
sources/Drivers/mySQL.php query(..)
sources/dynamiclite/csite.php click_site(..)
sources/dynamiclite/csite.php _show_poll(..)

 3.  Kopieren



 4.  Kodieren


Schritt  1:  Öffne sources/Boards.php

  Suche in function Boards(..)

        $DB->query("SELECT f.*, c.id as cat_id, c.position as cat_position, c.state as cat_state, c.name as cat_name, c.description as cat_desc,

     Füge darüber ein den blauen Code



//-- mod_mysql5 begin
        if (TRUE)
            $DB->query("SELECT f.*, c.id as cat_id, c.position as cat_position, c.state as cat_state, c.name as cat_name, c.description as cat_desc,
                       c.image, c.url, m.member_name as mod_name, m.member_id as mod_id, m.is_group, m.group_id, m.group_name, m.mid
                       FROM ibf_categories c,ibf_forums f 
                        LEFT JOIN ibf_moderators m ON (f.id=m.forum_id)
                       WHERE c.id=f.category
                       ORDER BY c.position, f.position");
        else
//-- mod_mysql5 end


        $DB->query("SELECT f.*, c.id as cat_id, c.position as cat_position, c.state as cat_state, c.name as cat_name, c.description as cat_desc,


Schritt  2:  Öffne sources/dynamiclite/csite.php

  A. Suche in function click_site(..)

        if ( $ibforums->vars['vb_configured'] )
        {

     Füge darüber ein den blauen Code



//-- mod_mysql5 begin
        if (TRUE)
            if ( $ibforums->vars['vb_configured'] )
                $DB->query("SELECT  t.*, f.read_perms, f.use_html, p.*, m.avatar, m.view_avs, m.avatar_size,
                                    m.id as member_id, m.name as member_name, m.mgroup, g.g_id, g.g_dohtml
                                FROM ibf_posts p
                                    LEFT JOIN ibf_topics t ON (t.tid=p.topic_id)
                                    LEFT JOIN ibf_forums f ON (f.id=p.forum_id)
                                    LEFT JOIN ibf_members m ON (p.author_id=m.id)
                                    LEFT JOIN ibf_groups g ON (g.g_id=m.mgroup)
                                WHERE   t.approved=1 AND t.moved_to IS NULL AND
                                        p.forum_id IN (-1{$ibforums->vars['csite_article_forum']}) $qe
                                GROUP BY p.topic_id
                                ORDER BY t.pinned DESC, p.post_date DESC
                                LIMIT 0,$limit");
            else
                $DB->query("SELECT  t.*, f.read_perms, f.use_html, p.*, m.avatar, m.view_avs, m.avatar_size,
                                    m.id as member_id, m.name as member_name, m.mgroup, g.g_id, g.g_dohtml
                                FROM ibf_topics t
                                    LEFT JOIN ibf_members m ON (t.starter_id=m.id)
                                    LEFT JOIN ibf_groups g ON (g.g_id=m.mgroup)
                                    LEFT JOIN ibf_posts p ON (p.topic_id=t.tid)
                                    LEFT JOIN ibf_forums f on (f.id=p.forum_id)
                                WHERE   t.forum_id IN (-1{$ibforums->vars['csite_article_forum']}) $qe
                                        AND p.new_topic=1 AND t.approved=1 AND (t.moved_to IS NULL or t.moved_to='')
                                ORDER BY t.pinned DESC, t.start_date DESC
                                LIMIT 0,$limit");
        else
//-- mod_mysql5 end


        if ( $ibforums->vars['vb_configured'] )
        {

  B. Suche in function _show_poll(..)

        $DB->query("SELECT t.tid, t.title, t.state, t.last_vote, p.* $sql

     Füge darüber ein den blauen Code



//-- mod_mysql5 begin
        if (TRUE) {
            if ($extra)
                $DB->query("SELECT t.tid, t.title, t.state, t.last_vote, p.*, v.member_id as member_voted
                                FROM ibf_polls AS p, ibf_topics AS t
                                LEFT JOIN ibf_voters v ON (v.tid=t.tid)
                                WHERE t.tid=$tid AND p.tid=t.tid AND v.member_id={$ibforums->member['id']}");
            else
                $DB->query("SELECT t.tid, t.title, t.state, t.last_vote, p.*
                                FROM ibf_polls AS p, ibf_topics AS t
                                WHERE t.tid=$tid AND p.tid=t.tid");
        }
        else
//-- mod_mysql5 end


        $DB->query("SELECT t.tid, t.title, t.state, t.last_vote, p.* $sql


Schritt  3:  Öffne sources/Drivers/mySQL.php

  Suche in function query(..)

        if ($this->obj['debug'])
        {
            global $Debug, $ibforums;

     Füge darüber ein den blauen Code



//-- mod_mysql5 begin
        if (!preg_match("`^create\s`ims", $the_query) && !preg_match("`^select\s`ims", $the_query))
            $the_query = preg_replace("`([^\\\])''`", "\\1NULL", $the_query);
//-- mod_mysql5 end


        if ($this->obj['debug'])
        {
            global $Debug, $ibforums;

 5.  Anpassen

Manuelle Installation


Installiere diesen Mod nicht manuell, verwende den ModInstaller. Es ist so leicht.

Wie bitte ? Du willst doch manuell installieren? Gegen meine ausdrückliche Empfehlung ?

Na gut. Kopiere ./sources/mods/mysql5/mod_mysql5_install.php in das Wurzelverzeichnis deines ipb. Das ist jenes Verzeichnis, wo index.php und admin.php liegen.

Starte dann das Installationsscript über deinen Browser. Es wird die fehlenden Tabellen und Felder in die Datenbank einfügen.

Ändere nun alle Dateien so, wie es in dieser Dokumentation beschrieben ist. Gehe sorgfältig vor, um die richtigen Codeteile zu ändern. Achte auf die betroffenen Funktionen. Manchmal treten die Suchstellen mehrmals im Code auf. Ändere jede Stelle.



Achtung


 6.  Kommentar



 7.  Ältere History und Change Logs