tra('Current Activity'), 'description' => tra('Display users who are currently editing a page or a tracker.'), 'prefs' => [], 'documentation' => 'Module current_activity', 'params' => [], ]; } /** * @param $mod_reference * @param $module_params */ function module_current_activity($mod_reference, $module_params) { $tikilib = TikiLib::lib('tiki'); $smarty = TikiLib::lib('smarty'); $count = !isset($module_params['content']) || $module_params['content'] != 'list'; $list = !isset($module_params['content']) || $module_params['content'] != 'count'; $smarty->assign('count', $count); $smarty->assign('list', $list); if ($count) { $logged_users = $tikilib->count_sessions(); $smarty->assign('logged_users', $logged_users); } $result = $tikilib->query("SELECT * FROM tiki_semaphores"); $results = []; while ($row = $result->fetchRow()) { $results[] = $row; } $data = []; foreach ($results as $res) { $activity = $res["semName"]; if (isset($data[$activity])) { array_push($data[$activity]["users"], $res["user"]); } else { $data[$activity] = array("type" => $res["objectType"], "users" => [$res["user"]]); } } $smarty->assign('results', $data); $smarty->assign('tpl_module_title', tra('Current activity')); }