|
Cookbook /
CurrentVisitorsSummary: Display the number of current visitors
Version:
Prerequisites: PmWiki version: 2.0.; last tested on PmWiki version: 2.1.26.
Status:
Maintainer:
Categories: Layout
Questions answered by this recipeHow can I know how many visitors are currently surfing on my site? DescriptionCopy CurrentVisitors.phpΔ to the cookbook directory and add NotesIn your wiki pages, add the markup (:CurrentVisitors:) to display the number of visitors (strictly speaking "different IP addresses") that came to your site during the last MaximumNumberOfSecondsToConsiderAVisitorAsCurrent. The counter will update only when action=browse. Release NotesVersion 1.23 Version 1.22 Added the following variables: (:MaxCurrentVisitors:) displays the maximum number of visitors online at the same time.
(:MaxCurrentVisitorsTime:) displays the time when the maximum of visitors was reached.
Older VersionsOriginal Script by Christophe David Attach:CurrentVisitors_V1.11.phpΔ CommentsI tried installing this in a specific page config file, but for some reason, the markup was not activated. It does work if I put it in my general site config.php. Caveman for http://free.fr change line: while (($file = readdir($DirectoryHandle)) == true) {
if (is_dir($file) == false) {
$FileFullPath = $CurrentVisitorsDirectory . '/' . $file;
$FileStat = stat($FileFullPath);
$FileAge = $TimeNow - $FileStat[9];
if ($FileAge > $MaximumNumberOfSecondsToConsiderAVisitorAsCurrent) {
unlink($FileFullPath);
}
else {
$NumberOfCurrentVisitors++;
}
}
}
closedir($DirectoryHandle);
to : while (($file = readdir($DirectoryHandle)) == true) {
if ($file != '.' and $file != '..') {
if (is_dir($file) == false) {
$FileFullPath = $CurrentVisitorsDirectory . '/' . $file;
$FileStat = stat($FileFullPath);
$FileAge = $TimeNow - $FileStat[9];
if ($FileAge > $MaximumNumberOfSecondsToConsiderAVisitorAsCurrent) {
unlink($FileFullPath);
}
else {
$NumberOfCurrentVisitors++;
}
}
}
}
closedir($DirectoryHandle);
Forceflow: If you want the script to update on edit and foxpost pages too, just change the line that says
if (action='browse') See AlsoContributorsChristophe David original script |