Seite 1 von 1
WBStats Modul - Widget
Verfasst: Mi 6. Nov 2013, 12:28
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
Re: Themes Entwicklung
Verfasst: Mi 6. Nov 2013, 13:12
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';
Re: WBStats Modul - Widget
Verfasst: Mi 6. Nov 2013, 17:28
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/>";
Re: WBStats Modul - Widget
Verfasst: Mi 6. Nov 2013, 17:47
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.
Re: WBStats Modul - Widget
Verfasst: Mi 6. Nov 2013, 17:54
von shadowcat
Re: WBStats Modul - Widget
Verfasst: Mi 6. Nov 2013, 18:59
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
Re: WBStats Modul - Widget
Verfasst: Do 7. Nov 2013, 10:57
von shadowcat
Nein, installierbar ist das nicht, man muß die Datei auspacken und von Hand in das Modul kopieren.
Re: WBStats Modul - Widget
Verfasst: Do 7. Nov 2013, 10:58
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.
Re: WBStats Modul - Widget
Verfasst: Do 7. Nov 2013, 18:32
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
Re: WBStats Modul - Widget
Verfasst: Do 7. Nov 2013, 18:44
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.
