Seite 1 von 2

Probleme Counter-MOD (in Entwicklung)

Verfasst: 21.09.2008 00:24
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();
?>

Verfasst: 26.09.2008 00:48
von BaerchenHH
*push*

Verfasst: 27.09.2008 12:14
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:

Verfasst: 30.09.2008 20:12
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.

Verfasst: 03.10.2008 22:16
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:

Verfasst: 04.10.2008 03:06
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.

Re: Probleme Counter-MOD (in Entwicklung)

Verfasst: 18.03.2009 01:04
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

Re: Probleme Counter-MOD (in Entwicklung)

Verfasst: 19.03.2009 02:05
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

Re: Probleme Counter-MOD (in Entwicklung)

Verfasst: 21.03.2009 06:04
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^^

Re: Probleme Counter-MOD (in Entwicklung)

Verfasst: 21.03.2009 08:18
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 :(