WBStats Modul - Widget

Hier landen ältere Beiträge aus dem Forum "Module & Templates" sowie den dazugehörigen Unterforen. Ruhig auch mal reinschauen.
Antworten
mrfan
Beiträge: 65
Registriert: Di 22. Okt 2013, 15:34

WBStats Modul - Widget

Beitrag von mrfan »

Ok alles läuft - habe noch die Backend CSS angepasst.

Wie würde jetzt da ein Widget aussehen.....bekomme es schon angezeigt nur das Ergebniss bekomme ich nicht rein.

Da haperts bei mir mit PDO und OOP schätz ich - dacht ich setze ein Intanz wie im Frontend ab:

Code: Alles auswählen

$widget_name = 'Seitenstatistik';
include_once (WB_PATH.'/modules/wbstats/class.stats.php');
$stats = new stats();
$websitestats = $stats->getStats();

echo "Total visitors: " . $websitestats['visitors'];
echo "<br/>Pageviews: " . $websitestats['visits'];
echo "<br/>Currently Online: " . $websitestats['online'];
echo "<br/>";
Meldung:
Fatal error: Call to a member function fetchRow() on a non-object in /var/www/web95/html/gs/modules/wbstats/class.stats.php on line 70

Warum klappt es mit der Klasse im Admintool aber bei Aufruf im Widget nicht mehr?

Gruß mr-fan
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Themes Entwicklung

Beitrag von shadowcat »

Setz mal ein

global $database

vor den include(), vielleicht geht es dann.

Ist das hier nicht der falsche Thread???

Edit: Ach, nee, ist das selbe Problem wie bei der class.count.php. Ganz am Anfang:

Code: Alles auswählen

defined('WB_PATH') OR die(header('Location: ../index.php'));

global $table_day, $table_ips, $table_pages, $table_ref, $table_key, $table_lang;
// ^^^^^ das da einfügen ^^^^^

$table_day   = TABLE_PREFIX .'mod_wbstats_day';
$table_ips   = TABLE_PREFIX .'mod_wbstats_ips';
$table_pages = TABLE_PREFIX .'mod_wbstats_pages';
$table_ref   = TABLE_PREFIX .'mod_wbstats_ref';
$table_key   = TABLE_PREFIX .'mod_wbstats_keywords';
$table_lang  = TABLE_PREFIX .'mod_wbstats_lang';
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
mrfan
Beiträge: 65
Registriert: Di 22. Okt 2013, 15:34

Re: WBStats Modul - Widget

Beitrag von mrfan »

Perfekt!

Denke es ist ein wenig umständlich die DB Verbindung in jede Funktion einer Klasse einzubinden....aber da bin ich bei weitem zu wenig Programmierer, um hier Kritik üben zu dürfen...

Hier mal der Code in einer /modules/wbstats/widgets/test.php

Das klappt wunderbar....wenn ich Zeit habe noch die Languagefiles laden und fertig ist das Counterwidget....das ist genial einfach!

Mein Kompliment - jetzt braucht es noch eine ähnliche Liste wie für die Blöcke bei den Seiten zum Hinzufügen und jeweils ein X zum entfernen....Rechte werden durch das Addon erteilt...habe ich Rechte das Addon zu sehen - dann wohl auch das Widget...wäre logisch...?

(Probiere das gleich mal mit der Anzeige der RSS Statistik des Topics Modules, die Ralf eingebaut hat...auch eine coole Sache fürs Dashboard.)

Gruß mr-fan

Code: Alles auswählen

<?php

/**
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 3 of the License, or (at
 *   your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful, but
 *   WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 *   General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program; if not, see <http://www.gnu.org/licenses/>.
 *
 *   @author          Black Cat Development
 *   @copyright       2013, Black Cat Development
 *   @link            http://blackcat-cms.org
 *   @license         http://www.gnu.org/licenses/gpl.html
 *   @category        CAT_Modules
 *   @package         blackcat
 *
 */

// include class.secure.php to protect this file and the whole CMS!
if (defined('CAT_PATH')) {
	include(CAT_PATH.'/framework/class.secure.php');
} else {
	$oneback = "../";
	$root = $oneback;
	$level = 1;
	while (($level < 10) && (!file_exists($root.'/framework/class.secure.php'))) {
		$root .= $oneback;
		$level += 1;
	}
	if (file_exists($root.'/framework/class.secure.php')) {
		include($root.'/framework/class.secure.php');
	} else {
		trigger_error(sprintf("[ <b>%s</b> ] Can't include class.secure.php!", $_SERVER['SCRIPT_NAME']), E_USER_ERROR);
	}
}
// end include class.secure.php

$widget_name = 'Seitenstatistik';

//DB Verbindung und Klasse laden
global $database, $table_day, $table_ips, $table_pages, $table_ref, $table_key, $table_lang;
include_once (WB_PATH.'/modules/wbstats/class.stats.php');

$stats = new stats();
$websitestats = $stats->getStats();


echo "Total visitors: " . $websitestats['visitors'];
echo "<br/>Pageviews: " . $websitestats['visits'];
echo "<br/>Currently Online: " . $websitestats['online'];
echo "<br/>";
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: WBStats Modul - Widget

Beitrag von shadowcat »

Rechte ist in Planung, steht im roten Feld auf dem Dashboard oben drüber. ;)

$database ist nicht nötig, nur die anderen. Frag mich nicht warum.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: WBStats Modul - Widget

Beitrag von shadowcat »

My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
mrfan
Beiträge: 65
Registriert: Di 22. Okt 2013, 15:34

Re: WBStats Modul - Widget

Beitrag von mrfan »

Cool ist das so installierbar?
Wo wird das hingeschoben wenn es solo installiert wird....?

Rechte wie gesagt braucht es nicht wirklich bzw. wer das modul/admintool nutzen darf kann sich das widget auch aufs dashboard legen - mehr als eine Infoanzeige oder grundsätzliche Einstellungen z.B. eines Admintools wird es in 90% der Fällen nicht werden...

Nur wichtig Widgets hinzufügen und entfernen je User Einstellung merken ung gut is...fürs erste zum Rund laufen.

Gruß mr-fan
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: WBStats Modul - Widget

Beitrag von shadowcat »

Nein, installierbar ist das nicht, man muß die Datei auspacken und von Hand in das Modul kopieren.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: WBStats Modul - Widget

Beitrag von shadowcat »

mrfan hat geschrieben: Rechte wie gesagt braucht es nicht wirklich bzw. wer das modul/admintool nutzen darf kann sich das widget auch aufs dashboard legen - mehr als eine Infoanzeige oder grundsätzliche Einstellungen z.B. eines Admintools wird es in 90% der Fällen nicht werden...
Also momentan wird ein Widget immer dann angezeigt, wenn es da ist. Das meinte ich mit Rechte. Wir haben das schlichtweg nicht mehr geschafft. Und weil wir sowieso an das Rechtesystem ran wollen, machte es auch Sinn, das zurückzustellen.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
mrfan
Beiträge: 65
Registriert: Di 22. Okt 2013, 15:34

Re: WBStats Modul - Widget

Beitrag von mrfan »

Alles klar verstehe - eilt ja gar nicht aus zwei Gründen...

- es gibt noch keine (also nicht soviel das man die nicht manuell managen kann)
- der der sich eins erstellen kann - kann auch regeln welche er haben will und welche nicht angezeigt werden sollen...

Gruß mr-fan
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: WBStats Modul - Widget

Beitrag von shadowcat »

Jupp. Theoretisch könnte man die Rechte-Tabelle erweitern, würde ich aber von abraten, weil das ja alles überarbeitet wird. Wenn mal eine akute Nachfrage kommt, ist es immer noch früh genug, sich was zu überlegen. :lol:
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Antworten