/[libdata]/trunk/admin/scribe_stats.phtml
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /trunk/admin/scribe_stats.phtml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 73 - (hide annotations)
Thu Mar 18 21:27:37 2004 UTC (20 years, 1 month ago) by dpavlin
File size: 13516 byte(s)
sync trunk to HEAD of pear-db (without changes specific to PEAR which will be dropped)

1 dpavlin 1 <?php
2     // Load globals
3     require_once ("global_vars.php");
4    
5     // Includes
6     require_once ($GLOBAL_ADMIN_INC."sessionClass.php");
7     require_once ($GLOBAL_ADMIN_INC."accessClass.php");
8 dpavlin 73 require_once ("db_connect.php");
9 dpavlin 1 require_once ($GLOBAL_ADMIN_INC."app_controls.php");
10    
11    
12     // HTML header
13     printf("<HTML>\n");
14     printf("<HEAD>\n");
15     printf("<title>CLPS Statistics</title>\n");
16     printf("<link rel=\"stylesheet\" href=\"%s\" type=\"text/css\">\n", $GLOBAL_ADMIN_CSS);
17     printf("</HEAD>\n");
18    
19    
20 dpavlin 72 // Default access settings
21     $sess_time_human = "";
22     $sess_staff_account = "";
23     $sess_staff_id = 0;
24     $sess_access_level = 0;
25     $sess_access = "";
26     $sess_last_name = "";
27     $sess_first_name = "";
28    
29    
30 dpavlin 1 // Page header
31     require_once ($GLOBAL_ADMIN_HEADER);
32    
33    
34     // Collect access information
35     if (isset($libsession)) {
36    
37     // Fetch session information
38     $sessionClass = new sessionClass("", $libsession, "", "");
39     $accessClass = new accessClass($sessionClass);
40    
41     // Load user session variables
42     $sess_time_human = $sessionClass->time_human;
43     $sess_staff_account = $sessionClass->staff_account;
44     $sess_access_level = $accessClass->access_level;
45     $sess_access = $accessClass->access;
46     $sess_last_name = $accessClass->last_name;
47     $sess_first_name = $accessClass->first_name;
48    
49     }
50    
51     // If the cookie is set and access level is appropriate
52     if(isset($libsession) && $sess_access_level >= 20) {
53    
54     // Array of months
55     $month_array = Array("0", "January", "February", "March", "April", "May", "June",
56     "July", "August", "September", "October", "November", "December");
57    
58     // Fetch today's date
59     $today = getdate();
60     $mon = $today[mon];
61     $mday = $today[mday];
62     $year = $today[year];
63    
64    
65     // Back-fill in case we have single-digits.
66     if (strlen($mday) < 2) $mday = "0" . $mday;
67     if (strlen($mon) < 2) $mon = "0" . $mon;
68    
69    
70     // Generate a mySQL-friendly datetime for today's stamp
71     $today_stamp = $year . "-" . $mon . "-" . $mday;
72    
73    
74     // Outer table & header row
75     printf("<center>\n");
76    
77    
78     printf("<span class=\"bigDark\">Statistics Summary</span><br><br>\n");
79    
80     printf("<table width=\"95%%\" class=\"backLight\" border =\"1\">\n");
81     printf("<tr><td colspan=\"2\" class=\"cellPlain\">\n");
82     printf("Dates");
83     printf("</td></tr>\n");
84    
85     // Basic information
86     printf("<tr><td width=\"35%%\" valign=\"middle\" >\n");
87     printf("<b>Today's Date:</b> %s<BR>\n", $today_stamp);
88    
89     $sql = "SELECT MIN(visit_date) as min_date, MAX(visit_date) as max_date
90     FROM libstats.pagestats";
91 dpavlin 72 $rs = xx_tryquery($sql);
92     $row = xx_fetch_array ($rs, xx_ASSOC);
93 dpavlin 1 $min_date = $row["min_date"];
94     $max_date = $row["max_date"];
95    
96     printf("<b>Earliest page load:</b> %s<BR>\n", $min_date);
97     printf("<b>Most recent page load:</b> %s<BR><br>\n", $max_date);
98     printf("</td>\n");
99    
100     // Determine whether there are any incoming start/end limits.
101     // If not, use today's date as the start and end date.
102     if (strlen($start_year) < 1) $start_year = $year;
103     if (strlen($start_month) < 1) $start_month = $mon;
104     if (strlen($start_day) < 1) $start_day = $mday;
105    
106    
107     // Determine whether there are any incoming end limits.
108     // If not, use today's date as the end date.
109     if (strlen($end_year) < 1) $end_year = $year;
110     if (strlen($end_month) < 1) $end_month = $mon;
111     if (strlen($end_day) < 1) $end_day = $mday;
112    
113    
114     // Generate mySQL-friendly date-time based on current settings
115     // Back-fill in case we have single-digits.
116     if (strlen($start_year) < 1) $start_year = $year;
117     if (strlen($start_month) < 2) $start_month = "0" . $start_month;
118     if (strlen($start_day) < 2) $start_day = "0" . $start_day;
119    
120    
121     if (strlen($end_year) < 1) $end_year = $year;
122     if (strlen($end_month) < 2) $end_month = "0" . $end_month;
123     if (strlen($end_day) < 2) $end_day = "0" . $end_day;
124    
125    
126    
127     // Generate high/low datetime stamps for SQL.
128     $start_stamp = $start_year . "-" . $start_month . "-" . $start_day;
129     $end_stamp = $end_year . "-" . $end_month . "-" . $end_day . " 23:59:59";
130    
131    
132     /********************
133     ** Date range form **
134     ********************/
135    
136     printf("<td>\n");
137     printf("<b>Limit by date or range:</b><BR><BR>\n");
138     printf("<table border=\"0\">\n");
139     printf("<tr>\n");
140     printf("<form method =\"post\" action=\"scribe_stats.phtml\">\n");
141    
142    
143     // Start parameters
144    
145    
146     // Start month
147     printf("<td><b>Start Date:</b></td>");
148     printf("<td><select name=\"start_month\">\n");
149     for ($count = 1; $count < 13; $count++) {
150     // Pad 0-9 with a 0.
151     if ($count < 10) $count_value = "0" . $count;
152     else $count_value = $count;
153     printf("<option value=\"%s\"", $count);
154     if ($count == $start_month) printf(" SELECTED ");
155     printf(">%s</option>\n", $month_array[$count]);
156     }
157    
158     printf("</select> ");
159    
160    
161     // Start day
162     printf("<select name=\"start_day\">\n");
163     for ($count = 1; $count < 32; $count++) {
164     // Pad 0-9 with a 0.
165     if ($count < 10) $count_value = "0" . $count;
166     else $count_value = $count;
167     printf("<option value=\"%s\"", $count);
168     if ($count == $start_day) printf(" SELECTED ");
169     printf(">%s</option>\n", $count_value);
170     }
171    
172     printf("</select> ");
173    
174     // Start year -- allow previous three years as well
175     $year_value = $year - 3;
176     printf("<select name=\"start_year\">\n");
177     for ($count = 1; $count < 5; $count++) {
178     printf("<option value=\"%s\"", $year_value);
179     if ($year_value == $start_year) printf(" SELECTED ");
180     printf(">%s</option>\n", $year_value);
181     $year_value++;
182     }
183    
184     printf("</select>\n");
185     printf("</td>\n");
186    
187     // Blank cell
188     printf("<td>&nbsp;</td>\n");
189     printf("</tr>\n");
190    
191    
192     // End parameters
193    
194    
195     // End month
196     printf("<tr>\n");
197     printf("<td><b>End Date:</b></td>");
198     printf("<td><select name=\"end_month\">\n");
199     for ($count = 1; $count < 13; $count++) {
200     // Pad 0-9 with a 0.
201     if ($count < 10) $count_value = "0" . $count;
202     else $count_value = $count;
203    
204     printf("<option value=\"%s\"", $count_value);
205     if ($count_value == $end_month) printf(" SELECTED ");
206     printf(">%s</option>\n", $month_array[$count]);
207     }
208    
209     printf("</select> ");
210    
211    
212     // End day
213     printf("<select name=\"end_day\">\n");
214     for ($count = 1; $count < 32; $count++) {
215     // Pad 0-9 with a 0.
216     if ($count < 10) $count_value = "0" . $count;
217     else $count_value = $count;
218    
219     printf("<option value=\"%s\"", $count_value);
220     if ($count_value == $end_day) printf(" SELECTED ");
221     printf(">%s</option>\n", $count_value);
222     }
223    
224     printf("</select> ");
225    
226     // End year -- allow previous three years as well
227     $year_value = $year - 3;
228     printf("<select name=\"end_year\">\n");
229     for ($count = 1; $count < 5; $count++) {
230     printf("<option value=\"%s\"", $year_value);
231     if ($year_value == $end_year) printf(" SELECTED ");
232     printf(">%s</option>\n", $year_value);
233     $year_value++;
234     }
235    
236     printf("</select>\n");
237     printf("</td>\n");
238     printf("<td align = \"center\" ><input type=\"submit\" value=\"Limit By Dates\"></td>\n");
239     printf("</tr>\n");
240     printf("</form>");
241     printf("</table>\n");
242    
243    
244     // Outer table
245     printf("</td></tr></table>\n");
246     printf("<BR>\n");
247    
248    
249     /*********************
250     ** PageScribe Pages **
251     *********************/
252    
253    
254     printf("<span class=\"bigDark\">Freeform PageScribe Pages</span><br><br>\n");
255    
256     // Table and header row
257     printf("<table width=\"95%%\" border=\"1\">\n");
258     printf("<tr>\n");
259     printf("<td class=\"cellPlain\" width=\"10%%\">Page ID</td>\n");
260     printf("<td class=\"cellPlain\" width=\"70%%\">Page Title</td>\n");
261     printf("<td class=\"cellPlain\" align=\"center\" width=\"10%%\">Page Loads</td>\n");
262     printf("<td class=\"cellPlain\" align=\"center\" width=\"10%%\">Links Used</td>\n");
263     printf("</tr>\n");
264    
265    
266     $sql = "SELECT
267     p.page_id,
268     p.page_title,
269     p.account_created,
270     p.account_modified,
271     p.date_created,
272     p.date_modified,
273     p.staff_coordinator
274    
275     FROM
276     page p
277     WHERE pagetype_id = 2
278     ORDER BY
279     p.page_title";
280    
281    
282 dpavlin 72 $rs = xx_tryquery($sql);
283 dpavlin 1
284     // Initialize
285     $rowcount = 0;
286     $page_loads_total = 0;
287     $element_uses_total = 0;
288    
289 dpavlin 72 while ($row = xx_fetch_array ($rs, xx_ASSOC)) {
290 dpavlin 1
291     // Fetch the stuff
292     $page_id = $row["page_id"];
293     $page_title = Trim($row["page_title"]);
294     $date_created = substr($row["date_created"], 0, 10);
295     $date_modified = substr($row["date_modified"], 0, 10);
296    
297     // Pull out any HTML
298     $page_title = strip_tags($page_title);
299    
300     // New row
301     if ($rowcount % 2 == 0) $color = " class=\"backLight\" ";
302     else $color = "";
303    
304     printf("<tr>\n");
305     printf("<td %s>%d</td>\n", $color, $page_id);
306     printf("<td %s>%s</td>\n", $color, $page_title);
307    
308    
309     // Pull out the page load stats for this page
310     $stats_sql = "SELECT COUNT(*) as page_loads
311     FROM libstats.pagestats
312     WHERE page_id = "
313     . $page_id
314     . " AND visit_date >= '"
315     . $start_stamp
316     . "' AND visit_date <= '"
317     . $end_stamp
318     . "'";
319 dpavlin 72 $stats_rs = xx_tryquery($stats_sql);
320     $stats_row = xx_fetch_array ($stats_rs, xx_ASSOC);
321 dpavlin 1 $page_loads = $stats_row["page_loads"];
322    
323     printf("<td align=\"center\" %s>%d</td>\n", $color, $page_loads);
324    
325     // Pull out the stats for this page
326     $stats_sql = "SELECT COUNT(*) as element_uses
327     FROM libstats.elementstats
328     WHERE page_id = "
329     . $page_id
330     . " AND visit_date >= '"
331     . $start_stamp
332     . "' AND visit_date <= '"
333     . $end_stamp
334     . "'";
335    
336 dpavlin 72 $stats_rs = xx_tryquery($stats_sql);
337     $stats_row = xx_fetch_array ($stats_rs, xx_ASSOC);
338 dpavlin 1 $element_uses = $stats_row["element_uses"];
339    
340    
341     // Encode the date limits
342     $start = urlencode($start_stamp);
343     $end = urlencode($end_stamp);
344    
345     printf("<td align=\"center\" %s>\n", $color);
346     printf("<a href=\"scribe_stats_page.phtml?page_id=%d&start=%s&end=%s\">%d</a>", $page_id, $start, $end, $element_uses);
347     printf("</td>\n");
348    
349     // Close row
350     printf("</tr>\n");
351    
352     // Increment
353     $rowcount++;
354     $page_loads_total = $page_loads_total + $page_loads;
355     $element_uses_total = $element_uses_total + $element_uses;
356    
357     }
358    
359     // Summary row
360     printf("<tr><td colspan=\"2\">&nbsp;</td>\n");
361     printf("<td class=\"backLight\"><b>Total:</b> %d</td>\n", $page_loads_total);
362     printf("<td class=\"backLight\"><b>Total:</b> %d</td></tr>\n", $element_uses_total);
363    
364     printf("</table><br>\n");
365    
366    
367     /********************
368     ** CourseLib Pages **
369     ********************/
370    
371     printf("<span class=\"bigDark\">CourseLib Pages</span><br><br>\n");
372    
373     // Table and header row
374     printf("<table width=\"95%%\" border=\"1\">\n");
375     printf("<tr>\n");
376     printf("<td class=\"cellPlain\" width=\"10%%\">Page ID</td>\n");
377     printf("<td class=\"cellPlain\" width=\"70%%\">Course Title</td>\n");
378     printf("<td class=\"cellPlain\" align=\"center\" width=\"10%%\">Page Loads</td>\n");
379     printf("<td class=\"cellPlain\" align=\"center\" width=\"10%%\">Links Used</td>\n");
380     printf("</tr>\n");
381    
382    
383     $sql = "SELECT
384     p.page_id,
385     p.page_title,
386     p.account_created,
387     p.account_modified,
388     p.date_created,
389     p.date_modified,
390     p.staff_coordinator,
391     c.course_concat,
392     c.course_id
393    
394     FROM
395     page p
396     LEFT JOIN course c using (page_id)
397     WHERE pagetype_id = 3
398     ORDER BY c.course_concat";
399    
400    
401 dpavlin 72 $rs = xx_tryquery($sql);
402 dpavlin 1
403     // Initialize
404     $rowcount = 0;
405     $page_loads_total = 0;
406     $element_uses_total = 0;
407    
408 dpavlin 72 while ($row = xx_fetch_array ($rs, xx_ASSOC)) {
409 dpavlin 1
410     // Fetch the stuff
411     $page_id = $row["page_id"];
412     $page_title = Trim($row["page_title"]);
413     $date_created = substr($row["date_created"], 0, 10);
414     $date_modified = substr($row["date_modified"], 0, 10);
415     $course_concat = Trim($row["course_concat"]);
416    
417     // Use full course name if this is a coursescribe page
418     if (strlen($course_concat) > 0) $page_title = $course_concat;
419    
420     // Pull out any HTML
421     $page_title = strip_tags($page_title);
422    
423     // New row
424     if ($rowcount % 2 == 0) $color = " class=\"backLight\" ";
425     else $color ="";
426    
427     printf("<tr>\n");
428     printf("<td %s>%d</td>\n", $color, $page_id);
429     printf("<td %s>%s</td>\n", $color, $page_title);
430    
431    
432     // Pull out the page load stats for this page
433     $stats_sql = "SELECT COUNT(*) as page_loads
434     FROM libstats.pagestats
435     WHERE page_id = "
436     . $page_id
437     . " AND visit_date >= '"
438     . $start_stamp
439     . "' AND visit_date <= '"
440     . $end_stamp
441     . "'";
442 dpavlin 72 $stats_rs = xx_tryquery($stats_sql);
443     $stats_row = xx_fetch_array ($stats_rs, xx_ASSOC);
444 dpavlin 1 $page_loads = $stats_row["page_loads"];
445    
446     printf("<td align=\"center\" %s>%d</td>\n", $color, $page_loads);
447    
448     // Pull out the element stats for this page
449     $stats_sql = "SELECT COUNT(*) as element_uses
450     FROM libstats.elementstats
451     WHERE page_id = "
452     . $page_id
453     . " AND visit_date >= '"
454     . $start_stamp
455     . "' AND visit_date <= '"
456     . $end_stamp
457     . "'";
458 dpavlin 72 $stats_rs = xx_tryquery($stats_sql);
459     $stats_row = xx_fetch_array ($stats_rs, xx_ASSOC);
460 dpavlin 1 $element_uses = $stats_row["element_uses"];
461    
462     // Encode the date limits
463     $start = urlencode($start_stamp);
464     $end = urlencode($end_stamp);
465    
466     printf("<td align=\"center\" %s>\n", $color);
467     printf("<a href=\"scribe_stats_page.phtml?page_id=%d&start=%s&end=%s\">%d</a>", $page_id, $start, $end, $element_uses);
468     printf("</td>\n");
469    
470     // Close row
471     printf("</tr>\n");
472    
473     // Increment
474     $rowcount++;
475     $page_loads_total = $page_loads_total + $page_loads;
476     $element_uses_total = $element_uses_total + $element_uses;
477    
478     }
479    
480     // Summary row
481     printf("<tr><td colspan=\"2\">&nbsp;</td>\n");
482     printf("<td class=\"backLight\"><b>Total:</b> %d</td>\n", $page_loads_total);
483     printf("<td class=\"backLight\"><b>Total:</b> %d</td></tr>\n", $element_uses_total);
484    
485     printf("</table><br>\n");
486    
487    
488    
489     // Link to return to admin console
490     adminReturn($sess_access_level);
491    
492    
493     printf("</center>\n");
494    
495    
496     } // logged in user
497    
498     // No access page
499     else require_once ($GLOBAL_NO_ACCESS);
500    
501    
502     // Page footer
503     require_once ($GLOBAL_ADMIN_FOOTER);
504     ?>
505    
506     </body>
507     </html>

  ViewVC Help
Powered by ViewVC 1.1.26