Eigene Module und Erweiterungen - Infos und T7 zu T8 upgrade

Aktuell führen wir noch einige Anpassungen durch, das Forum wurde jedoch bereits live geschaltet.
  • DB Abfragen allgemein
    Anzahl = $result = $db->sql_numrows($db->sql_query("SELECT * FROM ".$prefix."_members WHERE rank='2'"));
    Inhalt einer Zeile = $result = $db->sql_fetchrow($db->sql_query("SELECT * FROM ".$prefix."_members WHERE id='XX'"));


    Zeilen durchlaufen = $result = $db->sql_query("SELECT * FROM ".$prefix."_members WHERE rank='2' ORDER BY member ASC");
    while($row = $db->sql_fetchrow($result)) { .... }


    Einfügen = $result = $db->sql_query("INSERT INTO ".$prefix."_members (id, ..., ... ) VALUES (NULL, 'XX', 'YY')");
    Updaten = $result = $db->sql_query("UPDATE ".$prefix."_members SET member='XX' WHERE id='YY'");
    Löschen = $result = $db->sql_query("DELETE FROM ".$prefix."_members WHERE id='XX'");



    Variablen
    $member = aktuelle User/Subuser
    $memstats = dazugehöriger Kunde teklab_members
    $logmem = User Kennung für Logs z.b. kd10001 oder bei Subusern kd10001 (XX)
    $varxy = filter($varxy, "", 1, LÄNGE_DER_ZEICHEN_Z_B_55);



    Kundenbereich - Server Erweiterungen

    Zusammengefasst: Von T7 zu T8 ändert sich das Verzeichnis wo die eigenen Module/Erweiterungen liegen sowie die Icons welche als Fonticon verfügbar sind.
    Zusätzlich entfällt die Standardabfrage wie User, Header und Footer. Die Variablen sind nicht mehr begrenzt sondern als Array zu nutzen.



    Für Gameserver gibt es zum Beispiel die Möglichkeit, diese um eigene Funktionen zu erweitern. Dazu mussten in /members/ownmodules/gamekürzel/
    die Erweiterungen vorhanden sein. Der Pfad ändert sich nun in:


    mytekbase/members/modules/games/GAMEKÜRZEL/meinmod_module.php
    mytekbase/members/modules/games/GAMEKÜRZEL/index.php


    Damit mehrere Erweiterungen für ein Spiel genutzt werden können müssen diese _module im Dateinamen verwenden. Also meinmod_module.php,
    xxx_module.php, yyy_module.php


    Zusätzlich werden nicht mehr die Variablen $vara bis $vars übergeben sondern einfach nur noch ein Array was die ganze Sache einfacher gestaltet.
    Die Erweiterungen nutzen $game, $arr_val und $mod. Dabei ist $game das Spielekürzel, $arr_val das Array und $mod der Modname für die Datei.
    In dem oberen Beispiel wäre $mod gleich "meinmod".


    Die Sprachdateien ändern sich von /members/ownlanguages/gamekürzel zu:


    mytekbase/members/modules/games/GAMEKÜRZEL/languages/german.php
    mytekbase/members/modules/games/GAMEKÜRZEL/languages/meinmod_german.php


    Das Icon und der Titel für diese Erweiterungen werden in der german.php oder meinmod_german.php hinterlegt dafür kann folgendes genutzt werden:


    define("_MODULEICON", "NAME_DES_ICONS_SIEHE_WIDGET_ODER_EINSTELLNG_ICONLISTE");
    define("_MODULETITLE", "Mein Testmod");


    Besser, hier wird der Dateiname großgeschrieben und ohne _module.php als Platzhalter für das Icon und den Titel genutzt.


    define("_MEINMODICON", "NAME_DES_ICONS_SIEHE_WIDGET_ODER_EINSTELLNG_ICONLISTE");
    define("_MEINMODTITLE", "Mein Testmod");


    Jetzt die meinmod_module.php nur noch mit Content füllen. Der Header und Footer Bereich wird automatisch hinzugefügt. Für Code Beispiele einfach
    /members/themes/naval/tpl/game_xx.tpl nutzen. Für eine Form zum senden von Daten müsste $ids, $game und gegebenfalls $mod übergeben werden.


    <input type="hidden" name="ids" value="$ids"><input type="hidden" name="game" value="$game">
    <input type="hidden" name="mod" value="$mod"><input type="hidden" name="op" value="GServerExt">


    Die Daten selbst in dem Array $arr_val. Inputfelder sind demnach zum Beispiel so zu nutzen:


    <input type="...." name="arr_val[]" ....>


    Das nächste Inputfeld müssten auch als Namen arr_val[] bekommen. Um eine Speicher Funktion oder ähnliches einzubauen setzen Sie den ersten
    Eintrag im arr_val zum Beispiel auf 1 mit <input type="hidden" name="arr_val[]" value="1"> direkt unter der Form Zeile über allen anderen Inputfeldern
    und im Code des Modules im oberen Bereich:


    if ($arr_val[0] == 1) { speicher Funktion }


    Klickt der User in der Eingabemaske auf den Sendenbutton wird der Inhalt über die GServerExt Funktion (mit op = GServerExt gesetzt) an das Modul weitergereicht.



    Heute folgt noch der Rest.

    Bitte die Forumsuche und das Handbuch verwenden. Wenn die Suche erfolglos war, bitte ein Thema erstellen und das Problem ausführlich beschreiben. Dieser Ablauf spart Zeit und unnötige Fragen zu immer gleichen Problemen. Sie können aber auch im Kundenbereich ein Support-Ticket erstellen.


    Gefällt Ihnen TekLab? facebook-1.pngtwitter-1.pnglinkedin-1.png