externes script einbauen

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Benutzeravatar
dagobert
Beiträge: 457
Registriert: Mo 08.Mär, 2004 13:46
Wohnort: Altenkirchen
Kontaktdaten:

externes script einbauen

Beitrag von dagobert »

ich brauche mal wieder nen tip vom chef:

ich möchte in einer nicht zu phpbb gehörenden datei den header und footer anzeigen lassen. wie mach ich das ?

mit hilfe einer "leeren phpbb seite" (da gibts nen mod für) habe ich das nicht hinbekommen.

hast du ne idee ?


gruß dagobert
Zuletzt geändert von dagobert am Mi 19.Mai, 2004 16:23, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ist die Datei ausserhalb des phpBB-Root-Pfades? Dann musst Du mit dem "Leere Seiten Mod" nur die Variable "$phpbb_root_path" entsprechend anpassen :(
Ansonsten:

Code: Alles auswählen

<?php
define('IN_PHPBB', true);
$phpbb_root_path = './'; // <-- Pfad anpassen, wenn File ausserhalb des phpBB liegt!!!
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//

$page_title = $lang['Irgendwas'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

// Hier irgendwelche Berechnungen und Abfragen einbasteln

$template->set_filenames(array(
	'body' => 'template_file_eben.tpl')
);

$template->assign_vars(array(
	'VALUE1' => $value1)
);

$template->assign_block_vars('blockrow', array(
	'VALUE2' => $value2)
);

$template->pparse('body');

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

?>
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
dagobert
Beiträge: 457
Registriert: Mo 08.Mär, 2004 13:46
Wohnort: Altenkirchen
Kontaktdaten:

Beitrag von dagobert »

ich habs vorhin so gemacht, aber habs nicht hinbekommen.
die datei liegt im rootpath.

kannst du sie dir mal ansehn ?
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Versuchs mal so:

Code: Alles auswählen

<html>
<head>
<title>Orca Ringmaker v2.0a</title>

  <link rel="stylesheet" type="text/css" href="orca/orm_style.css" />
  <style type="text/css">

body {
  background-color:#ffffff;
  font:normal 100% Arial,sans-serif;
}

  </style>

<?php

include "orca/orm_lang_en.php";
include "orca/orm_head.php";

?>

</head>

<body>

  <?php include "orca/orm_body.php"; ?>

</body>
</html>
Vielleicht aber auch mal einen Link dazu, damit ich es "live" beurteilen könnte ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Okay, Fehler ist erst einmal beseitigt.
Schau weiter, was noch klemmt, ich kann da zunächst nichts mehr feststellen (vielleicht der ein oder andere Text, beim Abmelden waren scheinbar 2 ohne Leerzeichen zusammengeklebt). Dafür kennst Du Deinen Ring aber besser ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
dagobert
Beiträge: 457
Registriert: Mo 08.Mär, 2004 13:46
Wohnort: Altenkirchen
Kontaktdaten:

Beitrag von dagobert »

ich hatte jetz auf die pn geantwortet ;)

das ding muss sowieso noch komplett gestylt werden. nur ich hätts gern erstmal lauffähig ;)
(damit ich notfalls ein anderes script nehmen kann)
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Da die ringmaker.php nur ohne includieren von Kopf- und Fußbereich läuft, solltest Du das Script auch so lassen und eine neue Datei nur für die Anzeige des Webrings erstellen. Damit könnte das Problem gelöst werden...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
dagobert
Beiträge: 457
Registriert: Mo 08.Mär, 2004 13:46
Wohnort: Altenkirchen
Kontaktdaten:

Beitrag von dagobert »

also eine leere datei erstellen, die header und footer enthält und dann die pure ringmaker aufruft.......

aber was passiert dann, wenn die ringmaker von dem script aufgerufen wird....

ringmaker.php?mode=edit
ringmaker.php?mode=add
ringmaker.php?mode=logout

zb......die würden ja dann die einfache ringmaker nur anzeigen und der header wär da nich dabei........richtig ?
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Richtig. Und diese kannst Du dann im Forum einbasteln lassen.
Die neue Datei zeigt dann auf Deiner Webseite die entsprechenden Daten an, so wie es eben sein soll und dann auch mit header und footer.
Dann sollte nur in ringmaker.php jeder Link nicht auf die gleiche, sondern auf die neue Datei verweisen.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
dagobert
Beiträge: 457
Registriert: Mo 08.Mär, 2004 13:46
Wohnort: Altenkirchen
Kontaktdaten:

Beitrag von dagobert »

was mich nur ein wenig wundert ist, dass in der ringmaker eigentlich auch gar nichts drin steht......die datei macht doch auch nichts anderes, als einfach den body zu includen.

wenn ich das jetzt nochmal mache wärs doch doppelt gemoppelt......oder nich ?


EDIT:
hm.......nu is der footer auf einmal weg. kann das daran liegen, dass ich grad den jr_admin eingebaut habe ?


EDIT:
lag am junior admin ;)
Zuletzt geändert von dagobert am Do 20.Mai, 2004 03:12, insgesamt 2-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Jein, doppelt in so fern daß Du 2 Files brauchst: Einmal mit Header/Footer für die Webring-Seite und einmal ohne, für das Einbinden des Codes auf den Foren.
Und auch wenn man nur included: Der Code der eingebundenen Datei wird komplett ausgewertet und steht damit zur Verfügung. Da eben die ringmaker nur ohne Rahmen funktioniert, wäre das jetzt der erste Ansatz, den Ring fehlerfrei hinzubekommen...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
dagobert
Beiträge: 457
Registriert: Mo 08.Mär, 2004 13:46
Wohnort: Altenkirchen
Kontaktdaten:

Beitrag von dagobert »

update:

ich habe nun folgendes gemacht:


ringmaker.php

Code: Alles auswählen

<?php
include "orca/orm_lang_en.php";
include "orca/orm_head.php";
?>
<html>
<head>

<title>Orca Ringmaker v2.0a</title> 

<link rel="stylesheet" type="text/css" href="orca/orm_style.css" /> 
<style type="text/css"> 

body { 
   
  font:normal 100% Arial,sans-serif;
} 

  </style> 

</head> 

<body> 
<?php
include "orca/orm_body.php";
?>

</body> 

</html>
dazu ne datei webring.php

Code: Alles auswählen

<?php
define('IN_PHPBB', true); 

$phpbb_root_path = './'; // <-- 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata); 


include($phpbb_root_path . 'includes/page_header.'.$phpEx);

include($phpbb_root_path . 'ringmaker.'.$phpEx);


@include_once($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
jetz funktioniert alles super ! also der header und footer klappt, der code ist sichtbar....ich kann rumklicken und der header verschwindet nicht......(zumindest noch nicht gemerkt)


aber jetzt ist ein neues problem entstanden ;)

die funktion mit der man checken kann, ob der code auf der seite richtig eingebaut ist, funktioniert nur, wenn ich ringmaker.php aufrufe. unter webring.php geht es nicht, bzw es wird immer nur NOT FOUND angezeigt.

EDIT:
wenn die funktion nur für den admin wär, wärs ja ok. ich würde dann halt auf die unschöne variante ausweichen. aber der user, der sich einträgt soll ja selber auch checken können und das führt halt im moment nur zu NOT FOUND.....
Zuletzt geändert von dagobert am Do 20.Mai, 2004 13:52, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Das tausche die beiden Dateien doch aus, dabei logischerweise auch header und footer verschieben. Oder kannst Du den Check nicht ändern?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
dagobert
Beiträge: 457
Registriert: Mo 08.Mär, 2004 13:46
Wohnort: Altenkirchen
Kontaktdaten:

Beitrag von dagobert »

das versteh ich grad nicht....wie meinst du das "austauschen" ?
ich guck mal, ob ich die check funktion finde......



EDIT:

gefunden. das hier ist die funktion

Code: Alles auswählen

function navverify($id) {
  global $rData, $tablename, $lang, $eData;

  $grabUser = mysql_query("SELECT `URI` FROM `$tablename` WHERE `id`='$id';");
  $grabText = @fopen(mysql_result($grabUser, 0, "URI"), "rb");

  if ($grabText) {
    // stream_set_timeout($grabText, 30);
    ini_set(auto_detect_line_endings, "On");

    while (!feof($grabText)) {
      $resultStr = fgets($grabText, 4096);

      if (strpos($resultStr, "<script") !== false) {
        while (!feof($grabText) && strlen($resultStr) < 512) $resultStr .= fgets($grabText, 4096);

        if (preg_match('/<script.*?src="'.preg_quote($rData['thisURI'], "/").'\?Nav&(amp;)?[\d]+?".*?>[\s]*?<\/script>/is', $resultStr)) {
          fclose($grabText);
          return "Found";
        }
      }
    }
    fclose($grabText);
    return "Not Found";
  } else return "Error";
}


und die wird dann in einer case anweisung aufgerufen.

das hier ist die stelle, wo der user die funktion aufruft. (im menü EDIT DETAILS)

Code: Alles auswählen


(...)

else if ($_SERVER['REQUEST_METHOD'] == "POST") {
      switch ($_POST['edit']) {

(...)

case "Check":
          if ($rData['autocheck']) {
            set_uData($uData['id'], "navstatus", $rData[navverify($uData['id'])]);
            set_uData($uData['id'], "navtime", time());
          }
          break;
Zuletzt geändert von dagobert am Do 20.Mai, 2004 15:42, insgesamt 3-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Also: die php-Funktion "allow_url_fopen" muss aktiv sein, ansonsten scannt das Script nicht die Seite des Ring-Mitgliedes nach dem Script und "Not Found" wird ausgegeben.
Die entsprechende Zeile in der orca/orm_head.php

Code: Alles auswählen

$rData['autocheck'] = (ini_get("allow_url_fopen") || ini_set("allow_url_fopen", "1") !== false) ? true : false;
Erst wenn also $rData['autocheck'] TRUE ist, wird auch gescannt.
Hier mal in die php-Settings schauen (Oder war es doch der Webserver?). phpinfo(); gibt entsprechende Auskunft.

Ansonsten kann ich keinen weiteren Grund für den Fehler finden. Die beiden Dateien ringmaker.php und webring.php funktionieren ja.

Letzte Möglichkeit, wenn es nicht funktionieren will: Den Block für den Seitencheck durch den User entfernen und selber nachsehen.
Unschön, aber die dann noch übrig gebliebene funktionierende Variante.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
dagobert
Beiträge: 457
Registriert: Mo 08.Mär, 2004 13:46
Wohnort: Altenkirchen
Kontaktdaten:

Beitrag von dagobert »

allow_url_fopen On On

das steht inner phpinfo.

ich versuch mal $rData['autocheck'] von vorneherein auf true zu setzen.
evtl klappts ja dann...... (edit: ging nich)



ne andere sache:

wenn ich irgendwas an dem footer mache, verschwindet er. (nur auf webring.php)

gestern wollte ich bloss den admin link anpassen (für jr admin) und schwupps war der footer weg.
heute hab ich serverload und page gentime installiert und 3 mal darfst du raten....genau...der footer verschwindet. ;)

weisst du woran das liegt ?
Zuletzt geändert von dagobert am Do 20.Mai, 2004 20:31, insgesamt 2-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Werde ich morgen mal untersuchen. Ist mir auch schon aufgefallen...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
dagobert
Beiträge: 457
Registriert: Mo 08.Mär, 2004 13:46
Wohnort: Altenkirchen
Kontaktdaten:

Beitrag von dagobert »

ich habe die check funktion nun schweren herzens ausgebaut. die seite sieht auch schon recht schmucke aus ;)

das problem mit dem footer habe ich aber immernoch. ist dir dazu nochwas eingefallen ?
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Du, sorry, ich habe noch nicht weiter prüfen können.
Das werde ich nachher wieder in Angriff nehmen, muss nur einen Mod-Einbau noch prüfen und einen weiteren (eigenen) Mod erweitern.
Danach werde ich wieder umgehend an Deinem Webring arbeiten.

Ich bräuchte dazu nur wieder meine Seite eingetragen, bzw. Die Account-Daten Deiner Seite, um weiter die Prüfung, bzw. den Footer prüfen zu können (ich flog raus :( ).
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
dagobert
Beiträge: 457
Registriert: Mo 08.Mär, 2004 13:46
Wohnort: Altenkirchen
Kontaktdaten:

Beitrag von dagobert »

" ich flog raus :( "

lol.....tu nich so, als wärst du auf ne mitgliedschaft scharf gewesen..... ;)
(aber du wirst auf der page schon noch nen button bekommen, wenn du das willst.)
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Scharf nicht, aber so kann ich besser testen.
Abgemeldet hätte ich mich schon freiwillig ;)

EDIT:
Nach weiteren Tests wäre es wahrscheinlich die einziglste Möglichkeit, den Footer wieder anzuzeigen, wenn in der webring.php vor dem includieren der ringmaker.php die db.php includiert wird. Denn solange der Fehler mit sql_close() nicht behoben ist, scheint es da Probleme zu geben.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten