Neues Verzeichnis definieren

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Malte

Re: Neues Verzeichnis definieren

Beitrag von Malte »

Das Problem ist, dass ich es nicht hinbekomme. :lol:

Ich möchte einfach nur eine Art solcher Variable definieren und dann in allen Dateien nutzen können, so wie es bereits mit $server_root_path funktioniert. Nur leider fehlen mir dafür die entsprechenden phpBB-Kenntnisse. :oops:

Gruß
Malte
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Neues Verzeichnis definieren

Beitrag von Miriam »

Falls Du $phpbb_root_path meinst, die wird doch in den Dateien immer wieder neu definiert und ist keine Variable, die für alle Bedürfnisse global definiert wird.

Aber du kannst es ja so in einer Funktion in der /includes/functions.php definieren und in den entsprechenden Dateien einpflegen:

Code: Alles auswählen

function set_server_root_path()
{
	global $phpbb_root_path, $server_root_path;

	if (isset($phpbb_root_path))
	{
		$server_root_path = ($phpbb_root_path == './') ? '../' : '../../';
	}
	return $server_root_path;
}
Und der Aufruf der Funktion erfolgt in den Dateien dann mittels
  • set_server_root_path();
und schon kannst Du die Variable
  • $server_root_path
benutzen; dazu muß aber die functions.php inkludiert werden. Geht also nur innerhalb der Forenskripte.

//Irgendwie verstehe ich den Sinn immer noch nicht. :o
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Malte

Re: Neues Verzeichnis definieren

Beitrag von Malte »

OK, ich probiere das mal aus, aber vorher noch was zum Verständnis:
Das heißt, in jeder Datei, in der ich es nutzen möchte, muss ich oben noch set_server_root_path(); einfügen, gelle?

Und:

Das ganze ist nun das Verzeichnis über dem phpBB-Root?
($phpbb_root_path == './') ? '../' : '../../';
'../' besagt, das ja aber '../../' verwirrt mich in dem Sinne, ein wenig.

Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Neues Verzeichnis definieren

Beitrag von Miriam »

So sollte es sein. Hast Du es denn schon mal getestet?

Es gibt nur zwei Angaben für $phpbb_root_path; entweder './' oder './../'

Wenn $phpbb_root_path definiert ist und './' ist, dann ist das Verzeichnis eine Stufe näher ans htdocs-Root -> '../' Ansonsten mußt Du zwei Schritte an das htdocs-Root herangehen, das wäre dann '../../'
PHPBB_ROOT_PATH wird nirgends definiert, deshalb wird die Entscheidung in der jeweiligen Datei getroffen. Und zwar Zuungunsten der nicht vorhandenen PHPBB_ROOT_PATH Variablen. (Ich habe hier nicht beachtet, daß Dein Forum ggf. in einem Unter-Unter-Verzeichnis aus Sicht des htdocs-Roots liegt.)

Du kannst auch mittels $config['script_path'] die ganze Sache angehen, wenn Dir das lieber ist. Oder vllt. hast Du auch noch einen ganz andere Idee. :roll:
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Malte

Re: Neues Verzeichnis definieren

Beitrag von Malte »

(Ich habe hier nicht beachtet, daß Dein Forum ggf. in einem Unter-Unter-Verzeichnis aus Sicht des htdocs-Roots liegt.)
Also bei mir ist es so:

Ganz oben im Verzeichnis des Servers liegen Ordner namens:
-error_docs
-httpdocs
-subdomains
-web_users
-...

Man kann sich denken, was das alles ist. :P

In dem Falle sind die ganzen Webspacedateien im Ordner httpdocs, der wiederum unter anderem den Ordner "forum" als Unterordner hat.
Du kannst auch mittels $config['script_path'] die ganze Sache angehen, wenn Dir das lieber ist.
Falls dir noch was anderes einfällt, kannst du das gerne sagen. :P

Auf jeden Fall teste ich das ganze Zeuchs jetzt erstmal und melde mich dann wieder. :D
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Neues Verzeichnis definieren

Beitrag von Miriam »

Mach das... Viel Spaß
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Malte

Re: Neues Verzeichnis definieren

Beitrag von Malte »

Also ich weiß ja nicht, was ich da verpfuscht habe, aber in einem Testforum habe ich mal folgendes probiert:

Ich habe am Ende der includes/functions.php kurz vor ?> den Text eingefügt:

Code: Alles auswählen

function set_server_root_path()
{
   global $phpbb_root_path, $server_root_path;

   if (isset($phpbb_root_path))
   {
      $server_root_path = ($phpbb_root_path == './') ? '../' : '../../';
   }
   return $server_root_path;
}
Danach habe ich einfach mal im Index meines Testforums gleich nach include($phpbb_root_path . 'includes/functions_display.' . $phpEx); folgendes eingefügt:

Code: Alles auswählen

set_server_root_path();
include($server_root_path . 'index.' . $phpEx);
Das heißt ich habe mit set_server_root_path(); die Funktion aktiviert und mit include($server_root_path . 'index.' . $phpEx); eine Datei namens index.php ein Verzeichnis höher eingebunden. Bisher läuft es wunderbar, ich danke dir für deine Hilfe. :D

Nun kann ich ja mal versuchen, ob sich damit irgendwie eine meiner kleinen viewonline-Fehler beheben lassen.

Ich werde dann demnächst nochmal zu dem Thema kommen:
viewtopic.php?f=93&t=220258

Erstmal versuche ich es mal mit

Code: Alles auswählen

case 'home':
			$user->add_lang('mods/webseiteindex');
			$location = $user->lang['HOME_ONLINE_LISTE'];
			$location_url = append_sid("{$server_root_path}home.$phpEx");
		break;
Aber das kann man ja dann in dem Thema klären. Ich danke dir erstmal für deine Hilfe. :D
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“