Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
[online.php] Mehrdeutiger Dateiname
#1
Hi MyBB'ler,

Bei der Anpassung meines Forums, dem Hinzufügen einer eigenen News Section, bin ich auf folgendes Problem gestoßen:

In der online.php wird ja standartmäßig nur der Dateiname überprüft, und daran dann die Location festgelegt. Nun ist aber der Dateiname nicht mehr eindeutig:
/forum/index.php
/news/index.php

Im Falle der index.php müsste ich also noch den Ordner mit einbeziehen, um die Eindeutigkeit zu bekommen.

Die Frage ist nun logischerweise:
Wie mach ich das? ^^

Danke im Vorraus für eure Hilfe.

MfG Zwoetzen
Was ist der Unterschied zwischen der Politik und der Informatik?
In der Informatik ignoriert man führende Nullen...
Zitieren
#2
Das blöde ist ja, dass es dann wegen dem /forum dann gar nichts mehr erkennen würde. Wink
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
Irgendwie verstehe ich nicht ganz, was du mir sagen willst... oO

Aber vielleicht sind es nicht genug Infos diesbezüglich:
In der news/index.php habe ich die /forum/global.php eingebunden, das heißt, die gehört direkt mit zum Forum, ist nur in einem anderem Verzeichnis. (Die restlichen Dateien des Forums sind alle in /forum anzutreffen, also zB auch die online.php)

Die anderen Dateien der News-Section (zB news/addnews.php) kann ich in der online.php auch erkennen. Das Problem ist nur, dass es die index.php 2mal gibt, wenn man nur den Dateinamen betrachtet. (Eben einmal im forum-Ordner und einmal im news-Ordner) Ich müsste also in diesem Fall irgendwie den Ordnernamen in die Betrachtung mit einbeziehen.

Und da weiß ich eben nicht, wie genau ich das anstellen könnte Wink

Quasi sowas wie:
PHP-Code:
[...]
case 
"index":
  if (
$ordner == "news")
    
$user['activity'] = "news";
  else
    
$user['activity'] = "index";
  break;
[...] 
Nur wie krieg ich den ordner raus?
Was ist der Unterschied zwischen der Politik und der Informatik?
In der Informatik ignoriert man führende Nullen...
Zitieren
#4
Bisher wird der Ordner nicht in den Sessions abgespeichert.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
Einfachste Lösung: Benenne die eine index.php um in news.php und erstelle in dem gleichen Ordner eine index.php mit diesem Code zur Weiterleitung:
PHP-Code:
<?php
header
("Location: news.php");
exit;
?>

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#6
Oder so: http://de.selfhtml.org/servercgi/server/...m#optionen
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#7
Danke für eure Antworten, habe aber gestern abend selbst eine Variante gefunden, die das Problem löst Smile

Und zwar habe ich herausgefunden, dass in $user['location'] der gesamte Pfad zur aktuellen Datei des jeweiligen Users steht, also bei mir eben "/forum/index.php" bzw. "/news/index.php", und da kann ich nun ja recht einfach den Ordner rausfischen Wink

Habe also nun folgende Lösung:
PHP-Code:
case "index":
case 
'':
    if(
basename(dirname($user['location'])) == "news"
        
$user['activity'] = "news_index";
    else 
        
$user['activity'] = "index";
    break; 

(Das mit "basename(dirname(...))" hab ich von php.net, keine Ahnung, ob das die beste Variante ist ^^)

Trotzdem Danke für eure Vorschläge, vielleicht kann ich es woanders mal gebrauchen Smile
Was ist der Unterschied zwischen der Politik und der Informatik?
In der Informatik ignoriert man führende Nullen...
Zitieren