|
From: <var...@us...> - 2021-11-30 09:00:27
|
Revision: 10702
http://sourceforge.net/p/phpwiki/code/10702
Author: vargenau
Date: 2021-11-30 09:00:23 +0000 (Tue, 30 Nov 2021)
Log Message:
-----------
Arguments pagename, allow_detail, dispose_admin are used in themes/default/templates/online.tmpl
Modified Paths:
--------------
trunk/lib/plugin/WhoIsOnline.php
trunk/locale/de/pgsrc/WerIstOnline
trunk/locale/fr/pgsrc/QuiEstEnLigne
trunk/pgsrc/Help%2FWhoIsOnlinePlugin
trunk/pgsrc/WhoIsOnline
Modified: trunk/lib/plugin/WhoIsOnline.php
===================================================================
--- trunk/lib/plugin/WhoIsOnline.php 2021-11-29 13:15:14 UTC (rev 10701)
+++ trunk/lib/plugin/WhoIsOnline.php 2021-11-30 09:00:23 UTC (rev 10702)
@@ -46,6 +46,9 @@
// two modes: summary and detail, page links to the page with the other mode
return array(
'mode' => 'summary', // or "detail"
+ 'pagename' => '[pagename]', // refer to the page with the other mode
+ 'allow_detail' => false, // if false, page is ignored
+ 'dispose_admin' => false,
);
}
@@ -54,19 +57,44 @@
* @param string $argstr
* @param WikiRequest $request
* @param string $basepage
- * @return mixed
+ * @return Template
*/
function run($dbi, $argstr, &$request, $basepage)
{
global $WikiTheme;
+
$request->setArg('nocache', 1);
$args = $this->getArgs($argstr, $request);
+ extract($args);
+
+ if (!is_bool($allow_detail)) {
+ if (($allow_detail == '0') || ($allow_detail == 'false')) {
+ $allow_detail = false;
+ } elseif (($allow_detail == '1') || ($allow_detail == 'true')) {
+ $allow_detail = true;
+ } else {
+ return $this->error(sprintf(_("Argument '%s' must be a boolean"), "allow_detail"));
+ }
+ }
+
+ if (!is_bool($dispose_admin)) {
+ if (($dispose_admin == '0') || ($dispose_admin == 'false')) {
+ $dispose_admin = false;
+ } elseif (($dispose_admin == '1') || ($dispose_admin == 'true')) {
+ $dispose_admin = true;
+ } else {
+ return $this->error(sprintf(_("Argument '%s' must be a boolean"), "dispose_admin"));
+ }
+ }
+
// use the "online.tmpl" template
// todo: check which arguments are really needed in the template.
$stats = $this->getStats($dbi, $request, $args['mode']);
- if ($src = $WikiTheme->getImageURL("whosonline"))
+ if ($src = $WikiTheme->getImageURL("whosonline")) {
$img = HTML::img(array('src' => $src, 'alt' => $this->getName()));
- else $img = '';
+ } else {
+ $img = '';
+ }
$other = array();
$other['ONLINE_ICON'] = $img;
return new Template('online', $request, array_merge($args, $stats, $other));
@@ -79,7 +107,7 @@
* @param string $args
* @param WikiRequest $request
* @param string $basepage
- * @return $this|HtmlElement
+ * @return HTML
*/
function box($args = '', $request = null, $basepage = '')
{
@@ -92,13 +120,8 @@
$stats['NUM_USERS']))))));
}
- function getSessions($dbi, &$request)
- {
- // check the current user sessions and what they are doing
- }
-
// check the current sessions
- function getStats($dbi, &$request, $mode = 'summary')
+ function getStats($dbi, $request, $mode = 'summary')
{
$num_pages = 0;
$num_users = 0;
@@ -188,6 +211,8 @@
}
$num_users = $num_guests + $num_registered;
+ //TODO: get and sets max stats in global_data
+ //$page = $dbi->getPage($request->getArg('pagename'));
$stats = array();
$stats['max_online_num'] = 0;
if ($stats = $dbi->get('stats')) {
Modified: trunk/locale/de/pgsrc/WerIstOnline
===================================================================
--- trunk/locale/de/pgsrc/WerIstOnline 2021-11-29 13:15:14 UTC (rev 10701)
+++ trunk/locale/de/pgsrc/WerIstOnline 2021-11-30 09:00:23 UTC (rev 10702)
@@ -1,4 +1,4 @@
-Date: Mon, 29 Nov 2021 14:11:05 +0000
+Date: Wed, 10 Apr 2019 16:39:09 +0000
Mime-Version: 1.0 (Produced by PhpWiki 1.6.0)
Content-Type: application/x-phpwiki;
pagename=WerIstOnline;
@@ -6,7 +6,7 @@
charset=UTF-8
Content-Transfer-Encoding: binary
-<<WhoIsOnline>>
+<<WhoIsOnline allow_detail=1>>
----
[[KategorieAktionSeite]]
Modified: trunk/locale/fr/pgsrc/QuiEstEnLigne
===================================================================
--- trunk/locale/fr/pgsrc/QuiEstEnLigne 2021-11-29 13:15:14 UTC (rev 10701)
+++ trunk/locale/fr/pgsrc/QuiEstEnLigne 2021-11-30 09:00:23 UTC (rev 10702)
@@ -1,4 +1,4 @@
-Date: Mon, 29 Nov 2021 14:11:05 +0000
+Date: Thu, 13 Oct 2016 15:09:17 +0000
Mime-Version: 1.0 (Produced by PhpWiki 1.6.0)
Content-Type: application/x-phpwiki;
pagename=QuiEstEnLigne;
@@ -6,7 +6,7 @@
charset=UTF-8
Content-Transfer-Encoding: binary
-<<WhoIsOnline>>
+<<WhoIsOnline allow_detail=1>>
----
[[CatégoriePageDAction]]
Modified: trunk/pgsrc/Help%2FWhoIsOnlinePlugin
===================================================================
--- trunk/pgsrc/Help%2FWhoIsOnlinePlugin 2021-11-29 13:15:14 UTC (rev 10701)
+++ trunk/pgsrc/Help%2FWhoIsOnlinePlugin 2021-11-30 09:00:23 UTC (rev 10702)
@@ -1,4 +1,4 @@
-Date: Mon, 29 Nov 2021 14:11:05 +0000
+Date: Mon, 29 Nov 2021 19:45:46 +0000
Mime-Version: 1.0 (Produced by PhpWiki 1.6.0)
Content-Type: application/x-phpwiki;
pagename=Help%2FWhoIsOnlinePlugin;
@@ -24,8 +24,26 @@
| **mode**
| summary or detail
| summary
+|-
+| **pagename**
+| Refer to the page with the other mode.
+| ~[pagename]
+|-
+| **allow_detail**
+| Boolean. If true, in summary mode, add a link to the detail mode.
+| false
+|-
+| **dispose_admin**
+| Boolean. If true, also display the fact that admin is online.
+| false
|}
+**Note:** if you use ##allow_detail## with mode ##detail##, use the
+following syntax to be able to switch between modes:
+{{{
+<<WhoIsOnline mode||=detail allow_detail=true>>
+}}}
+
== Example ==
{{{
Modified: trunk/pgsrc/WhoIsOnline
===================================================================
--- trunk/pgsrc/WhoIsOnline 2021-11-29 13:15:14 UTC (rev 10701)
+++ trunk/pgsrc/WhoIsOnline 2021-11-30 09:00:23 UTC (rev 10702)
@@ -1,4 +1,4 @@
-Date: Mon, 29 Nov 2021 14:11:05 +0000
+Date: Thu, 13 Oct 2016 15:09:28 +0000
Mime-Version: 1.0 (Produced by PhpWiki 1.6.0)
Content-Type: application/x-phpwiki;
pagename=WhoIsOnline;
@@ -6,7 +6,7 @@
charset=UTF-8
Content-Transfer-Encoding: binary
-<<WhoIsOnline>>
+<<WhoIsOnline allow_detail=1>>
----
[[CategoryActionPage]]
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|