Probleme Counter-MOD (in Entwicklung)

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.
Benutzeravatar
BaerchenHH
Mitglied
Beiträge: 1067
Registriert: 29.02.2008 01:42
Wohnort: Hamburg

Probleme Counter-MOD (in Entwicklung)

Beitrag von BaerchenHH »

Hallo,

Da ich auf keinen Fremd-Counter oder "Spy"-Counter angewiesen sein wollte, habe ich einen SQL-Counterscript genommen und (da Includephp unsicher sein soll, wie ich hier gelesen habe) nach http://code.phpbb.com/devwiki/Adding_pages umgebaut...

Nun habe ich folgendes Problem:

Rufe ich die index.php auf (counter.php ist im Statistikbereich includiert), wird der Counter fehlerhaft angezeigt:
  • Die Lang-Variabeln werden als Code (z.B. {TXTONLINE} ) angezeigt
  • Counts werden nicht angesprochen und angesteuert
Rufe ich die Counterseite (www.domain.tld/counter.php) direkt auf, funktioniert alles erwartungsgemäß und korrekt.

Habe schon alles hin und hergeprüft... komme aber auf keinen erkennbaren Fehler. Daher kann es eigentlich nur etwas sein, womit ich das ganze noch ergänzen muß, oder?

Wer weiß hier Rat?

Die counter.php ist:

Code: Alles auswählen

<?php

define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
$user->session_begin();
$auth->acl($user->data);
$user->setup('mods/counter');

######### Countercode ##########

$template->set_filenames(array(
    'body' => 'counter.html',
));

page_footer();
?>
Meistens sitzt der Fehler nicht im Computer, sondern davor... :D :D

Das Diskussionsforum für Schule und Bildung: http://www.SchulBildungsForum.de
Benutzeravatar
BaerchenHH
Mitglied
Beiträge: 1067
Registriert: 29.02.2008 01:42
Wohnort: Hamburg

Beitrag von BaerchenHH »

*push*
Meistens sitzt der Fehler nicht im Computer, sondern davor... :D :D

Das Diskussionsforum für Schule und Bildung: http://www.SchulBildungsForum.de
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Beitrag von Helmut »

Hallo BaerchenHH,

hast du schon mal probiert, deinen Counter von der "functions.php" aus aufzurufen?

Ich rufe meinen chcounter von da aus auf und bei mir klappt das wunderbar.

Gruß Helmut :wink:
Ich bin nicht ganz dicht.... na und.
Benutzeravatar
BaerchenHH
Mitglied
Beiträge: 1067
Registriert: 29.02.2008 01:42
Wohnort: Hamburg

Beitrag von BaerchenHH »

Nein, habe ich nicht, wüßte jetzt aber auch nicht wie...

Einen Codebereich, denn ich entsprechend kopieren und modifizieren kann, konnte ich nicht entdecken.
Meistens sitzt der Fehler nicht im Computer, sondern davor... :D :D

Das Diskussionsforum für Schule und Bildung: http://www.SchulBildungsForum.de
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Beitrag von Helmut »

Hallo BaerchenHH,

bei mir wird der chCounter so in die functions.php vor // The following assigns all _common_ variables that may be used at any point in a template.
eingebunden:

Code: Alles auswählen

	//chCounter
	ob_start();
	$chCounter_force_new_db_connection = FALSE;
	$chCounter_page_title = $page_title;
	include( 'I:\xampp\htdocs\phpbb3\chcounter/counter.php' );
	$chCounter = ob_get_contents();
	ob_end_clean();
	//------------------------
Die chcounter.php sieht bei mir etwa so aus:

Code: Alles auswählen

<?php

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
	die('Hacking Attempt!'); 
}

$phpEx = substr(strrchr(__FILE__, '.'), 1); // Set the File extension for page-wide usage.

// Language file (see documentation related to language files)
$user->setup('ch_counter');


######### Countercode ########## 


$template->set_filenames(array(
	'body' => 'chcounter_body.html')
);

?>
Bei mir zählt er wunderbar.

Gruß Helmut :wink:
Ich bin nicht ganz dicht.... na und.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Wenn du sowieso einen eigenen Counter hast dann kannst du den doch statt eines umständlichen Includes sowieso direkt in die functions.php einbauen (am besten in der page_header Funktion) und dann direkt Standard Template Variablen für die Ausgabe nutzen statt den umständlichen Weg über das output buffering zu benutzen.

Andere Methode: Benutze das Hook System um dich an die $template->display() Funktion anzuhängen und füge im letzten Moment noch Template Variablen dazu (Also eine Datei hook_xxx im Verzeichnis includes/hooks).

Nähere Infos dazu findest du im docs Ordner deiner Forums Installation, wobei das ganze schwieriger Aussieht als es ist. Du musst nur darauf achten dass du keinen Rückgabewert lieferst, sonst dürfte nämlich keine Ausgabe mehr erfolgen weil die Standard-Funktion sich dann selbst beendet...

Nach diesem Beispiel

Code: Alles auswählen

// The function called
function my_append_sid(&$hook, $url, $params = false, $is_amp = true, $session_id = false)
{
	// Get possible previous results
	$result = $hook->previous_hook_result('append_sid');

	// $result is not filled

	return 'FILLED';
}

// This function is registered too and gets executed after my_append_sid()
function my_own_append_sid(&$hook, $url, $params = false, $is_amp = true, $session_id = false)
{
	$result = $hook->previous_hook_result('append_sid');

	// $result is actually filled with $result['result'] = 'FILLED'
	// But i return nothing, therefore append_sid() continues it's execution.
}

// The way both functions are registered.
$phpbb_hook->register('append_sid', 'my_append_sid');
$phpbb_hook->register('append_sid', 'my_own_append_sid');
ist das recht leicht zu konstruieren, der Aufruf von register dürfte per

Code: Alles auswählen

$phpbb_hook->register(array('template', 'display'), 'my_own_counter');
oder was ähnlichem laufen.
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.
maier-john
Mitglied
Beiträge: 5
Registriert: 27.07.2008 22:59

Re: Probleme Counter-MOD (in Entwicklung)

Beitrag von maier-john »

Hallo,

ich habe auch eine Frage zum chCounter unter phpBB3. Mein counter zählt schön fleißig aber leider zeigt er mir bei: "JavaScript aktiviert:" 0% an. Ich habe den Counter installiert, damit ich ungefähr sehe welche Bildschirm-Auflösungen meine User haben. Leider zeigt er mir da überhaupt nichts an. Ich habe den chCounter so wie Helmut (nach seiner tollen Anleitung) eingebunden.

Vielen Dank für jeden Hinweis!

LG john
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Probleme Counter-MOD (in Entwicklung)

Beitrag von 4seven »

warum das rad neu erfinden: der chcounter ist und bleibt perfekt.
und, den java-zähler würde ich nie aktivieren, da der php-mode besser und vor allem client-unabhängig ist.

infos zum (richtigen) integrieren:
http://sekuro.se.funpic.de/phpbb3/viewforum.php?f=10
maier-john
Mitglied
Beiträge: 5
Registriert: 27.07.2008 22:59

Re: Probleme Counter-MOD (in Entwicklung)

Beitrag von maier-john »

Hallo 4seven,

vielen Dank für deine Antwort! Ich hab mich falsch ausgedrückt, ich habe ihn über PHP eingebunden. Der Grund warum ich den Zähler einbaute war, dass ich sehe welche Bildschirmauflösungen meine User so im Durchschnitt haben. Leider funktioniert das nicht mit dem chCounter im phpBB3.0.x -oder zumindest bei mir nicht :oops: Denke, dass dies daran liegt, dass phpBB Javascript unterbindet. Meine Frage an die, die den chCounter bereits eingebunden haben: Zählt der chCounter bei euch diese Eigenschaft (Monitor-Auflösung) mit?

Vielen Dank euch allen,
LG john

PS.: ich bin kein Experte, wie ihr sicherlich bemerkt^^ -bin halt einfach neu in diesem Bereich. Und phpBB ist schon sehr umfangreich für einen frischling^^
Benutzeravatar
Pionier
Mitglied
Beiträge: 232
Registriert: 29.12.2007 19:55
Wohnort: Niebüll (S-H)
Kontaktdaten:

Re: Probleme Counter-MOD (in Entwicklung)

Beitrag von Pionier »

maier-john hat geschrieben:Meine Frage an die, die den chCounter bereits eingebunden haben: Zählt der chCounter bei euch diese Eigenschaft (Monitor-Auflösung) mit?
Habe bei mir den chCounter eingebaut. Bei 10000 Seitenaufrufe hat der Counter nur 1 mal die Auflösung des Bildschirms ermittelt :(
MFG Pionier
Antworten

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