Zikula_Template_Plugins
[ class tree: Zikula_Template_Plugins ] [ index: Zikula_Template_Plugins ] [ all elements ]

Source for file function.online.php

Documentation is available at function.online.php

  1. <?php
  2. /**
  3.  * Zikula Application Framework
  4.  *
  5.  * @copyright (c) 2004, Zikula Development Team
  6.  * @link http://www.zikula.org
  7.  * @version $Id: function.online.php 24342 2008-06-06 12:03:14Z markwest $
  8.  * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html
  9.  * @package Zikula_Template_Plugins
  10.  * @subpackage Functions
  11.  */
  12.  
  13. /**
  14.  * Smarty function to to display the current date and time
  15.  *
  16.  * Example
  17.  * <!--[online]-->
  18.  *
  19.  * @author       Andreas Röderer (Thorashh)
  20.  * @since        08/28/2005
  21.  * @see          function.online.php::smarty_function_online()
  22.  * @param        array       $params      All attributes passed to this function from the template
  23.  * @param        object      &$smarty     Reference to the Smarty object
  24.  * @param        string      format       Date and time format
  25.  * @return       string      how many users are online
  26.  */
  27. function smarty_function_online($params&$smarty)
  28. {
  29.     $dbconn pnDBGetConn(true);
  30.     $pntable pnDBGetTables();
  31.     $sessioninfocolumn $pntable['session_info_column'];
  32.     $sessioninfotable $pntable['session_info'];
  33.  
  34.     $activetime time((pnConfigGetVar('secinactivemins'60);
  35.  
  36.     if (pnConfigGetVar('anonymoussessions')) {
  37.         $query1 "SELECT count( 1 )
  38.                    FROM $sessioninfotable
  39.                    WHERE $sessioninfocolumn[lastused] > $activetime AND $sessioninfocolumn[uid] = '0'
  40.                    GROUP BY $sessioninfocolumn[ipaddr]";
  41.         $result1 $dbconn->Execute($query1);
  42.         $numguests $result1->RecordCount();
  43.         $result1->Close();
  44.  
  45.         if ($numguests == 0{
  46.             $guests _GUEST0;
  47.         elseif ($numguests == 1{
  48.             $guests _GUEST;
  49.         else {
  50.             $guests _GUESTS;
  51.         }
  52.     }
  53.     $query2 "SELECT count( 1 )
  54.                FROM $sessioninfotable
  55.                WHERE $sessioninfocolumn[lastused] > $activetime AND $sessioninfocolumn[uid] >0
  56.                GROUP BY $sessioninfocolumn[uid]";
  57.     $result2 $dbconn->Execute($query2);
  58.     $numusers $result2->RecordCount();
  59.     $result2->Close();
  60.  
  61.     if ($numusers == 0{
  62.         $users _MEMBER0;
  63.     elseif ($numusers == 1{
  64.         $users _MEMBER;
  65.     else {
  66.         $users _MEMBERS;
  67.     }
  68.  
  69.     return pnML('_CURRENTLYONLINE'array('userstext' => $users'gueststext' => $guests'numusers' => $numusers'numguests' => $numguests));
  70. }

Documentation generated on Fri, 18 Jul 2008 21:45:31 +0200 by phpDocumentor 1.4.1