/** * Validate that the library function rlip_count_logs() * returns properly filtered log entries */ public function test_rlip_count_logs() { global $CFG, $DB, $USER; $this->create_test_user(); $USER = $DB->get_record('user', array('id' => 100)); $logrec = new stdClass(); $logrec->userid = $USER->id; $logrec->targetstarttime = 1; $logrec->starttime = time() - 60; $logrec->endtime = time(); $logrec->filesuccesses = 42; $logrec->filefailures = 0; $logrec->storedsuccesses = 0; $logrec->storedfailures = 0; $logrec->statusmessage = 'Success!'; $logrec->dbops = 1; $logrec->unmetdependency = 0; $logrec->logfilepath = $CFG->dataroot; $logrec->export = 1; $logrec->plugin = 'dhexport_version1'; // Input < 1 page of export log entries. for ($i = 0; $i < RLIP_LOGS_PER_PAGE - 2; ++$i) { $DB->insert_record(RLIP_LOG_TABLE, $logrec); } $logrec->export = 0; $logrec->plugin = 'dhimport_version1'; // Input > 2 pages of import log entries. for ($i = 0; $i <= 2 * RLIP_LOGS_PER_PAGE; ++$i) { $DB->insert_record(RLIP_LOG_TABLE, $logrec); } // Count total log entires. $count = rlip_count_logs(); $this->assertGreaterThanOrEqual(3 * RLIP_LOGS_PER_PAGE - 2, $count); // Count filtered log entires. $count = rlip_count_logs('export = ?', array(1)); $this->assertLessThanOrEqual(RLIP_LOGS_PER_PAGE, $count); }
require_once '../../config.php'; require_once $CFG->dirroot . '/lib/adminlib.php'; require_once $CFG->dirroot . '/local/datahub/lib.php'; require_once $CFG->dirroot . '/local/datahub/lib/rlip_log_filtering.class.php'; //permissions checking require_login(); $context = context_system::instance(); require_capability('moodle/site:config', $context); //page information $page = optional_param('page', 0, PARAM_INT); $baseurl = $CFG->wwwroot . '/local/datahub/viewlogs.php'; //header admin_externalpage_setup('rliplogs'); $PAGE->requires->css('/local/datahub/styles.css'); echo $OUTPUT->header(); //filters $filtering = new rlip_log_filtering(); list($extrasql, $params) = $filtering->get_sql_filter(); //top paging bar $numrecords = rlip_count_logs($extrasql, $params); echo $OUTPUT->paging_bar($numrecords, $page, RLIP_LOGS_PER_PAGE, $baseurl); $filtering->display_add(); $filtering->display_active(); //display main table $logs = rlip_get_logs($extrasql, $params, $page); $table = rlip_get_log_table($logs); echo rlip_log_table_html($table); //bottom paging bar echo $OUTPUT->paging_bar($numrecords, $page, RLIP_LOGS_PER_PAGE, $baseurl); //footer echo $OUTPUT->footer();