. .
pragmaMx Support Forum 10 Januar 2009, 02:11:45 *
Willkommen Gast. Bitte einloggen oder registrieren.


Einloggen mit Benutzername und Passwort
News:
Brauchen Sie Hilfe? Bitte nutzen Sie unsere Suchfunktion bevor Sie Beiträge oder Fragen ins Board schreiben! Viele Fragen wurden bereits gestellt und beantwortet. Danke!
 
Übersicht Hilfe Forenregeln / Boardrules
 
Suche
Seiten: [1]   Nach unten
Drucken
Autor Thema: Pragmamx Module erstellen / exoops Module anpassen  (Gelesen 846 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
Alphaman
öfter hier
**
Offline Offline

Geschlecht: Männlich
Beiträge: 49


« am: 03 Juni 2007, 20:45:16 »

Hi Leute,

ich hab ein kleines Problem. Wir hatten unsere Vereinsseite damals in exoops und sind schon länger auf pragmamx was auch sehr gut ist. Leider habe ich hier nicht keine Anleitung gefunden wie man selber Module erstellt. Auf der alten Seite hatten wir eine Turnieranmeldung für uns. Leider ist der Code komplett anderster aufgebaut in Pragmamx als exoops. Ich hab mir einige php Dateien angeschaut aber ich komme nicht ganz klar. Ich verwende die mysql Datenbank und hab auch einen Admin Zugang.

In den PHP Files habe ich werder eine Routine gefunden die die nötige Tabelle erstellt noch einen Admin zugangsroutine obwohl das Module im Admin Bereich steht.

Kann mir jemand helfen. Ich muss dringendst das exoops Module auf die neue Seite bringen.

Dickes danke schonmal im Voraus.

Gruß,
Alphaman 
Gespeichert
JoergK
Administrator
******
Offline Offline

Geschlecht: Männlich
Beiträge: 2.021



« Antworten #1 am: 03 Juni 2007, 22:50:08 »

Wie Du warscheinlich schon gesehen hast, besteht ein Modul bei pragmaMx zunächst aus einem eigenen Verzeichnis unterhalb des Verzeichnisses /modules, das den Namen des Modul trägt. In diesem Modulverzeichnis existiert dann mindestens die Datei index.php. Das Grundgerüst dieser index.php sieht i.d.R. so aus:

Code: [Select]  
<?php

if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");

// get the modul name
$module_name basename(dirname(__FILE__));

// get the language file
mxGetLangfile($module_name);

// right blocks on = 1, off = 0
$index 1;

include(
"header.php");
OpenTable();

CloseTable();
include(
"footer.php");

?>

Zwischen OpenTable() und CloseTable() kommt nun der eigentliche PHP-Code.

pragmaMx bringt in seiner API die wichtigsten Funktionen mit (zu finden in /includes/mx_api.php), um z.B.
  • Usereingaben zu filtern und / oder Daten für's Speichern in der Datenbank aufzubereiten (Stichtwort Sicherheit).
  • Abfragen, ob ein User oder Admin der Aufrufende ist.
  • Abfrage, welche Spache auf der Site (gerade) eingestellt ist.
  • U.v. mehr.
Ebenso sind die wichtigsten Funktionen zur Kommunikation mit der Datenbank vorhanden (zu finden in /includes/sql_layer.php).

Um Mehrsprachigkeit zu ermöglichen, sollten statische Texte, die ausgegeben werden, mittels Konstanten im Code stehen. Diese Konstanten werden in seperaten Sprachdateien deklariert, welche im Verzeichnis /modules/Modulname/language abgelegt werden. Den Aufbau der Dateinamen und wie die Deklarationen aussehen kannste Dir in einem der vorhanden Module ansehen.

Zum Thema Sicherheit les Dir mal den Beitrag von Andi durch -> http://www.pragmamx.org/Forum-topic-16818-start-msg116671.html#msg116671

Ich hoffe, dass Du mit diesem kurzen Abriss erstmal wieder etwas Land siehst.
Wenn weitere Fragen auftauchen sollten, und ich denke, die werden auftauchen, dann meld Dich einfach.
Gespeichert

Gruß,
Jörg

Nobody is perfect ... so don't call me Nobody

Hier noch was zum Lesen und Lernen
HTML, JavaScript & CSS: SelfHTML
PHP: SelfPHP und PHP-Handbuch
MySQL: MySQL 5.1 Handbuch
Alphaman
öfter hier
**
Offline Offline

Geschlecht: Männlich
Beiträge: 49


« Antworten #2 am: 03 Juni 2007, 23:31:27 »

Danke schonmal für die Information. Wie und wann wird die Tabelle für ein Module angelegt. Ich habe nirgends ein Create oder so gesehen. Wie wird also die Tabellenstruktur angelegt wenn ein Module benutzt wird.

Wenn du mir die Info bitte noch geben... Denke mal das ich den Rest zusammen bekomme. So schwer scheind es nicht zu sein. Aber das hab ich nirgends gesehen mit der Datenbank.

In exoops ist es so das in einen Info File mit angegeben wird wenn eine sql datei eingebunden werden soll.

Gruß,
Michael
Gespeichert
JoergK
Administrator
******
Offline Offline

Geschlecht: Männlich
Beiträge: 2.021



« Antworten #3 am: 03 Juni 2007, 23:45:25 »

Das obliegt dem jeweiligen Modul-Programmierer, ob innerhalb des Moduls eine Datenbanktabelle bei Nichtvorhandensein automatisch angelegt wird. Bei den meisten externen Modulen gibt's zwei Wege:

Ein Hinweis in der Readme, dass
  • die Datenbanktabelle(n) mittels einer beiligenden (meist) sql.txt manuell per phpMyAdmin anzulegen ist/sind, oder
  • eine (zusätzlich) vorhandene install.php auszuführen ist, mittels derer dann i.d.R. die DB-Tabelle(n) angelegt und mit Inhalt gefüllt wird/werden.


Gespeichert

Gruß,
Jörg

Nobody is perfect ... so don't call me Nobody

Hier noch was zum Lesen und Lernen
HTML, JavaScript & CSS: SelfHTML
PHP: SelfPHP und PHP-Handbuch
MySQL: MySQL 5.1 Handbuch
Alphaman
öfter hier
**
Offline Offline

Geschlecht: Männlich
Beiträge: 49


« Antworten #4 am: 04 Juni 2007, 11:55:28 »

Danke fuer die die Info. Da haette ich auch mal selber drauf kommen können   puzzled

Dann werde ich mich für das automatische erstellen einigen  Smiley bzw. dies dann einbauen. Der Code von meinem alten Module kann ich fast 1:1 übernehmen. Nur die Datenbankabfragen muss ich anpassen.

Danke nochmals für die hilfreiche und schnelle Hilfe.

Gruß,
Alphaman
Gespeichert
Seiten: [1]   Nach oben
Drucken
 
Gehe zu:  

Powered by SMF 1.1.7 | SMF © 2006-2008, Simple Machines LLC
design by hENNE, layout based on YAML