[Gelöst:]Suche Code für Registrierung, ohne phpBB
-
- Mitglied
- Beiträge: 369
- Registriert: 28.11.2008 20:04
- Wohnort: Hamburg
- Kontaktdaten:
Re: Suche Code für Registrierung, ohne phpBB
Okay, aber dann müsste ich ja immernoch die Templates und Language-Files im phpBB3-Ordner dafür speichern. Und bisher habe ich noch nicht den Code gefunden, mit dem man den Pfad zu diesen Dateien ändern kann.
Um es für die Supporter einfacher zu machen: Hier meine Forums-Adresse: Mein Eisenbahn-Forum
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Re: Suche Code für Registrierung, ohne phpBB
Es kommt ganz darauf an auf welcher Ebene du die phpBB3 Funktionen verwenden willst. Die ganzen Core Features lassen sich durchaus ganz gut trennen, auch wenn man dabei wissen muss was man tut. Die Datenbankklasse ist z.b. generisch genug sich vollkommen separat verwenden zu lassen (bzw. die Klassen), das Template System sollte sich auch trennen lassen, vielleicht muss man den Cache mitschleppen, generell aber schon, ebenso andere Dinge die nicht auf die Datenbank zugreifen müssen (Die User Klasse wäre z.b. ohne Datenbank ziemlich sinnlos, schließlich sind genau da alle User gespeichert). Die Email/Messenger Klasse wäre ebenfalls ein Kandidat für die losgelöste Nutzung.
Viel mehr was man überhaupt unabhängig von einer Datenbank betreiben könnte gibt es eigentlich im Forum auch gar nicht, schließlich wird ja nun mal alles in der Datenbank gespeichert.
Übrigens ist nichts anderes als ein Sicherheitsfeature von phpBB. Dadurch wird nämlich ein Direktaufruf sämtlicher include Dateien des Forums ausgeschlossen, weil das Skript sofort abbricht wenn die Konstante fehlt. Das ist aber nur eine Konstante und die kannst du in jeder Datei definieren wie du willst.
Wenn du phpBB Features nutzen willst dann beachte, dass du deine Software damit auch unter die GPL Lizenz stellen musst unter der phpBB veröffentlicht wurde. Schließlich dürfte deine Applikation ohne die phpBB Funktionen dann kaum verwendbar sein (mehr dazu verrät dir der nette Anwalt um die Ecke oder auch die Seite der GNU GPL 2.0).
Viel mehr was man überhaupt unabhängig von einer Datenbank betreiben könnte gibt es eigentlich im Forum auch gar nicht, schließlich wird ja nun mal alles in der Datenbank gespeichert.
Übrigens ist
Code: Alles auswählen
define('IN_PHPBB', true);
Wenn du phpBB Features nutzen willst dann beachte, dass du deine Software damit auch unter die GPL Lizenz stellen musst unter der phpBB veröffentlicht wurde. Schließlich dürfte deine Applikation ohne die phpBB Funktionen dann kaum verwendbar sein (mehr dazu verrät dir der nette Anwalt um die Ecke oder auch die Seite der GNU GPL 2.0).
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
-
- Mitglied
- Beiträge: 369
- Registriert: 28.11.2008 20:04
- Wohnort: Hamburg
- Kontaktdaten:
Re: Suche Code für Registrierung, ohne phpBB
Ich entwickle ja keine Software, sondern versuche einfach folgendes hinzubekommen:
Man gibt ja
ein. Damit aber die Datei gefunden wird muss man oben noch: eingeben. Nun meine Frage: Damit die Datei gefunden wird, muss ja vorher der Pfad definiert worden sein. Ich habe aber bis jetzt noch nicht die Stelle gefunden, wo man den Pfad ändern kann. Zudem benötige ich bei mir keine Datenbank für z.B. die Language-Dateien, da ich nur eine Sprache habe, und daher der Pfad auch gleich bleibt. So dass also folgendes definiert werden müsste: Damit würde der Variablen $lang_root der Pfad zu der Language-Datei übergeben werden. $filename entspricht dabei der Datei, die man unter $user->setup(); angegeben hat. Aber nochmal: Die Datei, in der die Klasse user mit der Methode "lang", "setup()" usw. definiert ist, finde ich einfach nicht. Es gibt eine Datei functions_user.php, diese enthält die Klasse aber auch nicht. Und da aber in der common.php die Klasse user instanziert wird, muss diese ja irgendwo definiert sein. Ich kann es aber nicht finden.
Zum Template:
Nutze ich die template.php und die functions_template.php, kann ich immer noch keine Templates einbinden. Und die anderen Dateien, die man dazu benötigt, kann ich ebenfalls nicht finden.
Ich würde mich freuen, wenn jemand mir mal die Positionen der Dateien sagen könnte.
Man gibt ja
Code: Alles auswählen
$user->lang['irgendwas'];
Code: Alles auswählen
$user->setup('language-file');
Code: Alles auswählen
$lang_root = $root_path . 'lang/' . $filename . $phpEx;
Zum Template:
Nutze ich die template.php und die functions_template.php, kann ich immer noch keine Templates einbinden. Und die anderen Dateien, die man dazu benötigt, kann ich ebenfalls nicht finden.
Ich würde mich freuen, wenn jemand mir mal die Positionen der Dateien sagen könnte.
Um es für die Supporter einfacher zu machen: Hier meine Forums-Adresse: Mein Eisenbahn-Forum
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Re: Suche Code für Registrierung, ohne phpBB
Sondern? Du programmierst doch, denn warum sonst bräuchtest du was aus dem phpBB ohne alles vom phpBB zu nutzen. Ich habe es übrigens noch nie ausprobiert sowas zu trennen, letztlich ist phpBB ja schon "als Einheit" programmiert worden. Oben waren reine Vermutungen, das musst du selbst ausprobieren.jimmartens hat geschrieben:Ich entwickle ja keine Software, sondern versuche einfach folgendes hinzubekommen:
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
-
- Mitglied
- Beiträge: 369
- Registriert: 28.11.2008 20:04
- Wohnort: Hamburg
- Kontaktdaten:
Re: Suche Code für Registrierung, ohne phpBB
Naja, trotzdem danke. Dann werde ich wohl versuchen anderswo eine Template-Klasse zu finden. Falls ich eine finden sollte, die man variabel einsetzen kann, werde ich mich melden.
Um es für die Supporter einfacher zu machen: Hier meine Forums-Adresse: Mein Eisenbahn-Forum
-
- Mitglied
- Beiträge: 369
- Registriert: 28.11.2008 20:04
- Wohnort: Hamburg
- Kontaktdaten:
Re: Suche Code für Registrierung, ohne phpBB
Habe einen Kompromiss gemacht:
Zuerst wird der Pfad zum Wurzelverzeichnis und dann die Dateiendung definiert.
Jetzt kommt die Datei, die die Funktionen, Klassen und Basiskonfigurationen vereint.
Dann lade ich das Template als String rein, die Funktion habe ich woanders definiert, und weise drei Variablen die Werte für die Navigation, den Titel und der Shortnavi zu.
Unten kommt das:
Jetzt werden die Platzhalter im Template aufgeteilt in Start- und Endtags, definiert in der Basiskonfig, sowie in den Text zw. den beiden. Schlussendlich werden die drei ersetzt durch eine vorher definierte Variable. Wer aufgepasst hat, wird bemerken, dass für {CONTENT} noch keine Variable definiert ist. Das liegt daran, dass der Inhalt zw. den beiden Codes bestimmt wird. Bei mir meist durch switch-Blöcke, denn ich finde, dass diese am einfachsten zu handhaben sind.
Hoffe das war verständlich. Es ist zwar meinem Ziel noch nicht gänzlich nahegekommen, aber immerhin besser als den Code mit echo-Anweisungen zu pflastern.
Code: Alles auswählen
//Variablen einlesen
$cmd = $_GET['cmd'];
//Nötige Daten eingeben
$root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
//Datei einfügen
include($root_path . 'common.' . $phpEx);
//Template einlesen
$template = $files->get($root_path . 'templates/news_adm.html');
//Definierung der Ansichts-Variablen
$titel = $base['title'] . ' - Admin Bereich - News';
$navigation = "<a href=\"http:\/\/jimmartens.ji.funpic.de/login-project/adm/index.php\">Übersicht</a><br><a href=\"http:\/\/jimmartens.ji.funpic.de/login-project/adm/news.php?cmd=ansehen\">News erstellen</a><br><a href=\"http:\/\/jimmartens.ji.funpic.de/login-project/adm/news.php?cmd=edit\">News bearbeiten</a>
<br><a href=\"http:\/\/jimmartens.ji.funpic.de/login-project/adm/news.php?cmd=delete\">News löschen</a>";
$short = "<a href=\"http:\/\/jimmartens.ji.funpic.de/login-project/adm/index.$phpEx \">Übersicht</a> · <a href\"http:\/\/jimmartens.ji.funpic.de/login-project/adm/news.php\">News</a>";
Jetzt kommt die Datei, die die Funktionen, Klassen und Basiskonfigurationen vereint.
Dann lade ich das Template als String rein, die Funktion habe ich woanders definiert, und weise drei Variablen die Werte für die Navigation, den Titel und der Shortnavi zu.
Unten kommt das:
Code: Alles auswählen
$template = str_replace($base['tag_start'] . 'TITLE' . $base['tag_end'], $titel, $template);
$template = str_replace($base['tag_start'] . 'SHORTNAV' . $base['tag_end'], $short, $template);
$template = str_replace($base['tag_start'] . 'NAVI' . $base['tag_end'], $navigation, $template);
$template = str_replace($base['tag_start'] . 'CONTENT' . $base['tag_end'], $content, $template);
echo stripslashes($template);
Hoffe das war verständlich. Es ist zwar meinem Ziel noch nicht gänzlich nahegekommen, aber immerhin besser als den Code mit echo-Anweisungen zu pflastern.
Um es für die Supporter einfacher zu machen: Hier meine Forums-Adresse: Mein Eisenbahn-Forum
-
- Mitglied
- Beiträge: 369
- Registriert: 28.11.2008 20:04
- Wohnort: Hamburg
- Kontaktdaten:
Re: Suche Code für Registrierung, ohne phpBB
Habe jetzt eine eigene Template-Klasse entworfen. Im Gegensatz zu euren komplexen Rechnungen habe ich das gleiche mit nur wenigen Schritten hinbekommen.
Ich denke, dass ist eine akzeptable Lösung. In der Datei, in der man dann den Code verwenden möchte, sieht das so aus:
Oben kommt das hier hin.
Unten, nach der Definition der Variablen, dem ganzen Inhalt, etc, kommt dann das hier:
So gibt man den Platzhalter ein und zuvor, im Contentbereich, habe ich die Variable $text definiert. Links kommt der Platzhalter rein, also: 'TEXT', rechts kommt wie gesagt die Variable rein, mit der es ersetzt werden soll. Bis jetzt habe ich das ganze nur für einen Platzhalter, werde aber mal schauen, wie ich es für mehrere auch noch hinbekomme. Der Code ist frei, jeder kann ihn also benutzen.
Code: Alles auswählen
<?php
/**
*
*author: Jim Martens
*
*Erstellung einer Template-Klasse
*/
class template
{
public function replace($templates)
{
global $templates;
$templates = str_replace('ä', "ä", $templates);
$templates = str_replace('ü', "ü", $templates);
$templates = str_replace('ö', "ö", $templates);
$templates = str_replace('Ä', "Ä", $templates);
$templates = str_replace('Ü', "Ü", $templates);
$templates = str_replace('Ö', "Ö", $templates);
$templates = str_replace('ß', "ß", $templates);
return $templates;
}
public function get($filename)
{
$tmprslt = file($filename);
$tmprslt = implode($tmprslt);
return $tmprslt;
}
public function set_filename($template_file)
{
global $root;
$root = $template_file;
$templates = $this->get($root);
return $templates;
}
public function assign_var($var, $change)
{
global $templates;
$templates = str_replace('{' . "$var" . '}', $change, $templates);
return $templates;
}
}
?>
Code: Alles auswählen
$template_file = 'Geschichte.html';
$templates = $template->set_filename($template_file);
Unten, nach der Definition der Variablen, dem ganzen Inhalt, etc, kommt dann das hier:
Code: Alles auswählen
$var = 'TEXT';
$templates = $template->assign_var($var ,$text);
$templates = $template->replace($templates);
echo stripslashes($templates);
?>
Um es für die Supporter einfacher zu machen: Hier meine Forums-Adresse: Mein Eisenbahn-Forum