From 337203a44f2fe5c405fb8a3cecddcc762979cdf6 Mon Sep 17 00:00:00 2001 From: Sam Hemelryk Date: Thu, 28 Jan 2010 08:49:28 +0000 Subject: [PATCH] course MDL-19794 Upgraded print_log function to use html_table fixing at the same time XML strict errors --- course/lib.php | 66 +++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 36 deletions(-) diff --git a/course/lib.php b/course/lib.php index 5dede7d4298..fdfd856dd83 100644 --- a/course/lib.php +++ b/course/lib.php @@ -345,29 +345,30 @@ function print_log($course, $user=0, $date=0, $order="l.time ASC", $page=0, $per echo $OUTPUT->paging_bar(moodle_paging_bar::make($totalcount, $page, $perpage, "$url&perpage=$perpage")); - echo ''."\n"; - // echo "
\n"; - echo ""; + $table = new html_table(); + $table->classes = array('logtable','generalbox','boxaligncenter'); + $table->align = array('right', 'left', 'left'); + $table->head = array( + get_string('time'), + get_string('ip_address'), + get_string('fullnamecourse'), + get_string('action'), + get_string('info') + ); + $table->data = array(); + if ($course->id == SITEID) { - echo "\n"; + array_unshift($table->align, 'left'); + array_unshift($table->head, get_string('course')); } - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; // Make sure that the logs array is an array, even it is empty, to avoid warnings from the foreach. if (empty($logs['logs'])) { $logs['logs'] = array(); } - $row = 1; foreach ($logs['logs'] as $log) { - $row = ($row + 1) % 2; - if (isset($ldcache[$log->module][$log->action])) { $ld = $ldcache[$log->module][$log->action]; } else { @@ -376,7 +377,7 @@ function print_log($course, $user=0, $date=0, $order="l.time ASC", $page=0, $per } if ($ld && is_numeric($log->info)) { // ugly hack to make sure fullname is shown correctly - if (($ld->mtable == 'user') and ($ld->field == $DB->sql_concat('firstname', "' '" , 'lastname'))) { + if ($ld->mtable == 'user' && $ld->field == $DB->sql_concat('firstname', "' '" , 'lastname')) { $log->info = fullname($DB->get_record($ld->mtable, array('id'=>$log->info)), true); } else { $log->info = $DB->get_field($ld->mtable, $ld->field, array('id'=>$log->info)); @@ -391,42 +392,35 @@ function print_log($course, $user=0, $date=0, $order="l.time ASC", $page=0, $per $tl=textlib_get_instance(); $brokenurl=($tl->strlen($log->url)==100 && $tl->substr($log->url,97)=='...'); - echo ''; + $row = array(); if ($course->id == SITEID) { - echo "\n"; } - echo "\n"; - echo "\n"; - $fullname = fullname($log, has_capability('moodle/site:viewfullnames', get_context_instance(CONTEXT_COURSE, $course->id))); - echo "\n"; - echo "\n";; - echo "\n"; - echo "\n"; + $row[] = $log->info; } - echo "
".get_string('course')."".get_string('time')."".get_string('ip_address')."".get_string('fullnamecourse')."".get_string('action')."".get_string('info')."
\n"; if (empty($log->course)) { - echo get_string('site') . "\n"; + $row[] = get_string('site'); } else { - echo " wwwroot}/course/view.php?id={$log->course}\">". format_string($courses[$log->course])."\n"; + $row[] = "wwwroot}/course/view.php?id={$log->course}\">". format_string($courses[$log->course]).""; } - echo "".userdate($log->time, '%a'). - ' '.userdate($log->time, $strftimedatetime)."\n"; + + $row[] = userdate($log->time, '%a').' '.userdate($log->time, $strftimedatetime); + $link = html_link::make("/iplookup/index.php?ip=$log->ip&user=$log->userid", $log->ip); $link->add_action(new popup_action('click', $link->url, 'iplookup', array('height' => 440, 'width' => 700))); - echo $OUTPUT->link($link); - echo "\n"; - echo " wwwroot/user/view.php?id={$log->userid}&course={$log->course}\">$fullname\n"; - echo "\n"; + $row[] = $OUTPUT->link($link); + + $row[] = $OUTPUT->link(html_link::make("/user/view.php?id={$log->userid}&course={$log->course}", fullname($log, has_capability('moodle/site:viewfullnames', get_context_instance(CONTEXT_COURSE, $course->id))))); + $displayaction="$log->module $log->action"; - if($brokenurl) { - echo $displayaction; + if ($brokenurl) { + $row[] = $displayaction; } else { $link = html_link::make(make_log_url($log->module,$log->url), $displayaction); $link->add_action(new popup_action('click', $link->url, 'fromloglive'), array('height' => 440, 'width' => 700)); - echo $OUTPUT->link($link); + $row[] = $OUTPUT->link($link); } - echo "{$log->info}
\n"; + echo $OUTPUT->table($table); echo $OUTPUT->paging_bar(moodle_paging_bar::make($totalcount, $page, $perpage, "$url&perpage=$perpage")); }