CMS  Version 3.9
activity_report.inc
Go to the documentation of this file.
1 <?php
2 Fakoli::using("activity_tracker");
3 Fakoli::usingFeature("data_view", "filter_form");
4 
5 $feedbackUsers = checkNumeric($_GET["feedbackUsers"]);
6 $user_id = checkNumeric($_GET["user_id"]);
7 
8 $menu_item = "Activity Report";
9 
10 $helper = new ActivityReportFilterHelper();
11 $filterForm = $helper->setup();
12 
13 $constraint = $filterForm->getConstraint();
14 
15 if ($user_id)
16 {
17  $constraint .= " AND user_id={$user_id}";
18 }
19 
20 $sessions = IteratedQuery::create(UserActivitySession, "$constraint ORDER BY session_start DESC")->execute();
21 
22 $table = new DataListView($sessions, "session");
23 $table->column("User", "<a href='/admin/session_details?session_id={session_id}'>{User.first_name} {User.last_name}</a>", true, "width: 20%")
24  ->column("Email", "<a href='/admin/user_form?user_id={user_id}'>{User.email}</a>", true, "width: 20%")
25  ->column("Session #", "<a href='/admin/session_details?session_id={session_id}'>{session_id}</a>", true, "text-align: right; width: 5%")
26  ->column("Start", "{session_start}", true)
27  ->column("End", "{session_end}", true)
28  ->column("Page Views", "{page_views}", true, "text-align: right")
29  ->column("Feedback", "{feedback_count}", true, "text-align: right")
30  ->column("Browser", "{ActivityTracker::getBrowser}", true, "width: 20%");
31 
32 $table->sortable = true;
33 $table->pageSize = 20;
34 $table->filter = true;
35 $table->excelFile = "activity_report.xls";
36 
37 $script .= $table->writeScript();
38 $script .= $filterForm->writeScript();
39 
40 $filterForm->drawForm();
41 echo "<strong>" . $filterForm->getRenderer("session_start")->subTitle . "</strong>";
42 $table->drawView();
43 
44 $count = Query::create(UserActivity, "")->executeValue("COUNT(1)");
45 
46 if ($count > 0)
47 {
48 ?>
49 <br/>
50 <a class='button' href='#' onclick='new BackgroundProcess("Migrating User Activity", "/action/activity_tracker/migrate_data"); return false;'>Migrate User Activity Logs</a>
51 <?
52 }
53 ?>
$constraint
$feedbackUsers
$filterForm
$menu_item
if($user_id) $sessions
$user_id
static usingFeature()
Uses the specified framework feature(s).
Definition: core.inc:388
static using()
Import the datamodels, views and manifest for the specified component(s).
Definition: core.inc:116