本文整理汇总了PHP中scorm_get_sco_runtime函数的典型用法代码示例。如果您正苦于以下问题:PHP scorm_get_sco_runtime函数的具体用法?PHP scorm_get_sco_runtime怎么用?PHP scorm_get_sco_runtime使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了scorm_get_sco_runtime函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: sesskey
echo '<input type="hidden" name="sesskey" value="' . sesskey() . '" />';
echo '<div style="display: none;">';
echo html_writer::input_hidden_params($reporturlwithdisplayoptions);
echo '</div>';
echo '<div>';
}
$table->initialbars($totalinitials > 20);
// Build table rows
} else {
$attempts = $DB->get_records_sql($select . $from . $where . $sort, $params);
}
if ($attempts) {
foreach ($attempts as $scouser) {
$row = array();
if (!empty($scouser->attempt)) {
$timetracks = scorm_get_sco_runtime($scorm->id, false, $scouser->userid, $scouser->attempt);
}
if (in_array('checkbox', $columns)) {
if ($candelete && !empty($timetracks->start)) {
$row[] = '<input type="checkbox" name="attemptid[]" value="' . $scouser->userid . ':' . $scouser->attempt . '" />';
} else {
if ($candelete) {
$row[] = '';
}
}
}
if (in_array('picture', $columns)) {
$user = (object) array('id' => $scouser->userid, 'picture' => $scouser->picture, 'imagealt' => $scouser->imagealt, 'email' => $scouser->email, 'firstname' => $scouser->firstname, 'lastname' => $scouser->lastname);
$row[] = $OUTPUT->user_picture($user, array('courseid' => $course->id));
}
if (!$download) {
示例2: scorm_user_complete
/**
* Print a detailed representation of what a user has done with
* a given particular instance of this module, for user activity reports.
*
* @global stdClass
* @global object
* @param object $course
* @param object $user
* @param object $mod
* @param object $scorm
* @return boolean
*/
function scorm_user_complete($course, $user, $mod, $scorm) {
global $CFG, $DB, $OUTPUT;
require_once("$CFG->libdir/gradelib.php");
$liststyle = 'structlist';
$now = time();
$firstmodify = $now;
$lastmodify = 0;
$sometoreport = false;
$report = '';
// First Access and Last Access dates for SCOs.
require_once($CFG->dirroot.'/mod/scorm/locallib.php');
$timetracks = scorm_get_sco_runtime($scorm->id, false, $user->id);
$firstmodify = $timetracks->start;
$lastmodify = $timetracks->finish;
$grades = grade_get_grades($course->id, 'mod', 'scorm', $scorm->id, $user->id);
if (!empty($grades->items[0]->grades)) {
$grade = reset($grades->items[0]->grades);
echo $OUTPUT->container(get_string('grade').': '.$grade->str_long_grade);
if ($grade->str_feedback) {
echo $OUTPUT->container(get_string('feedback').': '.$grade->str_feedback);
}
}
if ($orgs = $DB->get_records_select('scorm_scoes', 'scorm = ? AND '.
$DB->sql_isempty('scorm_scoes', 'launch', false, true).' AND '.
$DB->sql_isempty('scorm_scoes', 'organization', false, false),
array($scorm->id), 'sortorder, id', 'id, identifier, title')) {
if (count($orgs) <= 1) {
unset($orgs);
$orgs = array();
$org = new stdClass();
$org->identifier = '';
$orgs[] = $org;
}
$report .= html_writer::start_div('mod-scorm');
foreach ($orgs as $org) {
$conditions = array();
$currentorg = '';
if (!empty($org->identifier)) {
$report .= html_writer::div($org->title, 'orgtitle');
$currentorg = $org->identifier;
$conditions['organization'] = $currentorg;
}
$report .= html_writer::start_tag('ul', array('id' => '0', 'class' => $liststyle));
$conditions['scorm'] = $scorm->id;
if ($scoes = $DB->get_records('scorm_scoes', $conditions, "sortorder, id")) {
// Drop keys so that we can access array sequentially.
$scoes = array_values($scoes);
$level = 0;
$sublist = 1;
$parents[$level] = '/';
foreach ($scoes as $pos => $sco) {
if ($parents[$level] != $sco->parent) {
if ($level > 0 && $parents[$level - 1] == $sco->parent) {
$report .= html_writer::end_tag('ul').html_writer::end_tag('li');
$level--;
} else {
$i = $level;
$closelist = '';
while (($i > 0) && ($parents[$level] != $sco->parent)) {
$closelist .= html_writer::end_tag('ul').html_writer::end_tag('li');
$i--;
}
if (($i == 0) && ($sco->parent != $currentorg)) {
$report .= html_writer::start_tag('li');
$report .= html_writer::start_tag('ul', array('id' => $sublist, 'class' => $liststyle));
$level++;
} else {
$report .= $closelist;
$level = $i;
}
$parents[$level] = $sco->parent;
}
}
$report .= html_writer::start_tag('li');
if (isset($scoes[$pos + 1])) {
$nextsco = $scoes[$pos + 1];
} else {
$nextsco = false;
}
if (($nextsco !== false) && ($sco->parent != $nextsco->parent) &&
(($level == 0) || (($level > 0) && ($nextsco->parent == $sco->identifier)))) {
$sublist++;
} else {
$report .= $OUTPUT->spacer(array("height" => "12", "width" => "13"));
//.........这里部分代码省略.........
示例3: display
//.........这里部分代码省略.........
} else {
if ($count->nbattempts > 0) {
echo get_string('reportcountallattempts', 'scorm', $count);
} else {
echo $count->nbusers . ' ' . get_string('users');
}
}
echo \html_writer::end_div();
}
// Fetch the attempts.
if (!$download) {
$attempts = $DB->get_records_sql($select . $from . $where . $sort, $params, $table->get_page_start(), $table->get_page_size());
echo \html_writer::start_div('', array('id' => 'scormtablecontainer'));
if ($candelete) {
// Start form.
$strreallydel = addslashes_js(get_string('deleteattemptcheck', 'scorm'));
echo \html_writer::start_tag('form', array('id' => 'attemptsform', 'method' => 'post', 'action' => $PAGE->url->out(false), 'onsubmit' => 'return confirm("' . $strreallydel . '");'));
echo \html_writer::empty_tag('input', array('type' => 'hidden', 'name' => 'action', 'value' => 'delete'));
echo \html_writer::empty_tag('input', array('type' => 'hidden', 'name' => 'sesskey', 'value' => sesskey()));
echo \html_writer::start_div('', array('style' => 'display: none;'));
echo \html_writer::input_hidden_params($PAGE->url);
echo \html_writer::end_div();
echo \html_writer::start_div();
}
$table->initialbars($totalinitials > 20);
// Build table rows.
} else {
$attempts = $DB->get_records_sql($select . $from . $where . $sort, $params);
}
if ($attempts) {
foreach ($attempts as $scouser) {
$row = array();
if (!empty($scouser->attempt)) {
$timetracks = scorm_get_sco_runtime($scorm->id, false, $scouser->userid, $scouser->attempt);
} else {
$timetracks = '';
}
if (in_array('checkbox', $columns)) {
if ($candelete && !empty($timetracks->start)) {
$row[] = \html_writer::checkbox('attemptid[]', $scouser->userid . ':' . $scouser->attempt, false);
} else {
if ($candelete) {
$row[] = '';
}
}
}
if (in_array('picture', $columns)) {
$user = new \stdClass();
$additionalfields = explode(',', \user_picture::fields());
$user = username_load_fields_from_object($user, $scouser, null, $additionalfields);
$user->id = $scouser->userid;
$row[] = $OUTPUT->user_picture($user, array('courseid' => $course->id));
}
if (!$download) {
$url = new \moodle_url('/user/view.php', array('id' => $scouser->userid, 'course' => $course->id));
$row[] = \html_writer::link($url, fullname($scouser));
} else {
$row[] = fullname($scouser);
}
foreach ($extrafields as $field) {
$row[] = s($scouser->{$field});
}
if (empty($timetracks->start)) {
$row[] = '-';
$row[] = '-';
$row[] = '-';
示例4: display
//.........这里部分代码省略.........
} else if ( $count->nbattempts>0 ) {
echo get_string('reportcountallattempts', 'scorm', $count);
} else {
echo $count->nbusers.' '.get_string('users');
}
echo '</div>';
}
// Fetch the attempts
if (!$download) {
$attempts = $DB->get_records_sql($select.$from.$where.$sort, $params,
$table->get_page_start(), $table->get_page_size());
echo '<div id="scormtablecontainer">';
if ($candelete) {
// Start form
$strreallydel = addslashes_js(get_string('deleteattemptcheck', 'scorm'));
echo '<form id="attemptsform" method="post" action="' . $PAGE->url->out(false) .
'" onsubmit="return confirm(\''.$strreallydel.'\');">';
echo '<input type="hidden" name="action" value="delete"/>';
echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />';
echo '<div style="display: none;">';
echo html_writer::input_hidden_params($PAGE->url);
echo '</div>';
echo '<div>';
}
$table->initialbars($totalinitials>20); // Build table rows
} else {
$attempts = $DB->get_records_sql($select.$from.$where.$sort, $params);
}
if ($attempts) {
foreach ($attempts as $scouser) {
$row = array();
if (!empty($scouser->attempt)) {
$timetracks = scorm_get_sco_runtime($scorm->id, false, $scouser->userid, $scouser->attempt);
} else {
$timetracks = '';
}
if (in_array('checkbox', $columns)) {
if ($candelete && !empty($timetracks->start)) {
$row[] = '<input type="checkbox" name="attemptid[]" value="'. $scouser->userid . ':' . $scouser->attempt . '" />';
} else if ($candelete) {
$row[] = '';
}
}
if (in_array('picture', $columns)) {
$user = (object)array(
'id'=>$scouser->userid,
'picture'=>$scouser->picture,
'imagealt'=>$scouser->imagealt,
'email'=>$scouser->email,
'firstname'=>$scouser->firstname,
'lastname'=>$scouser->lastname);
$row[] = $OUTPUT->user_picture($user, array('courseid'=>$course->id));
}
if (!$download) {
$row[] = '<a href="'.$CFG->wwwroot.'/user/view.php?id='.$scouser->userid.'&course='.$course->id.'">'.fullname($scouser).'</a>';
} else {
$row[] = fullname($scouser);
}
foreach ($extrafields as $field) {
$row[] = s($scouser->{$field});
}
if (empty($timetracks->start)) {
$row[] = '-';
$row[] = '-';
$row[] = '-';
示例5: scorm_user_complete
/**
* Print a detailed representation of what a user has done with
* a given particular instance of this module, for user activity reports.
*
* @global stdClass
* @global object
* @param object $course
* @param object $user
* @param object $mod
* @param object $scorm
* @return boolean
*/
function scorm_user_complete($course, $user, $mod, $scorm)
{
global $CFG, $DB, $OUTPUT;
require_once "{$CFG->libdir}/gradelib.php";
$liststyle = 'structlist';
$now = time();
$firstmodify = $now;
$lastmodify = 0;
$sometoreport = false;
$report = '';
// First Access and Last Access dates for SCOs
require_once $CFG->dirroot . '/mod/scorm/locallib.php';
$timetracks = scorm_get_sco_runtime($scorm->id, false, $user->id);
$firstmodify = $timetracks->start;
$lastmodify = $timetracks->finish;
$grades = grade_get_grades($course->id, 'mod', 'scorm', $scorm->id, $user->id);
if (!empty($grades->items[0]->grades)) {
$grade = reset($grades->items[0]->grades);
echo $OUTPUT->container(get_string('grade') . ': ' . $grade->str_long_grade);
if ($grade->str_feedback) {
echo $OUTPUT->container(get_string('feedback') . ': ' . $grade->str_feedback);
}
}
if ($orgs = $DB->get_records_select('scorm_scoes', 'scorm = ? AND ' . $DB->sql_isempty('scorm_scoes', 'launch', false, true) . ' AND ' . $DB->sql_isempty('scorm_scoes', 'organization', false, false), array($scorm->id), 'id', 'id,identifier,title')) {
if (count($orgs) <= 1) {
unset($orgs);
$orgs[]->identifier = '';
}
$report .= '<div class="mod-scorm">' . "\n";
foreach ($orgs as $org) {
$conditions = array();
$currentorg = '';
if (!empty($org->identifier)) {
$report .= '<div class="orgtitle">' . $org->title . '</div>';
$currentorg = $org->identifier;
$conditions['organization'] = $currentorg;
}
$report .= "<ul id='0' class='{$liststyle}'>";
$conditions['scorm'] = $scorm->id;
if ($scoes = $DB->get_records('scorm_scoes', $conditions, "id ASC")) {
// drop keys so that we can access array sequentially
$scoes = array_values($scoes);
$level = 0;
$sublist = 1;
$parents[$level] = '/';
foreach ($scoes as $pos => $sco) {
if ($parents[$level] != $sco->parent) {
if ($level > 0 && $parents[$level - 1] == $sco->parent) {
$report .= "\t\t</ul></li>\n";
$level--;
} else {
$i = $level;
$closelist = '';
while ($i > 0 && $parents[$level] != $sco->parent) {
$closelist .= "\t\t</ul></li>\n";
$i--;
}
if ($i == 0 && $sco->parent != $currentorg) {
$report .= "\t\t<li><ul id='{$sublist}' class='{$liststyle}'>\n";
$level++;
} else {
$report .= $closelist;
$level = $i;
}
$parents[$level] = $sco->parent;
}
}
$report .= "\t\t<li>";
if (isset($scoes[$pos + 1])) {
$nextsco = $scoes[$pos + 1];
} else {
$nextsco = false;
}
if ($nextsco !== false && $sco->parent != $nextsco->parent && ($level == 0 || $level > 0 && $nextsco->parent == $sco->identifier)) {
$sublist++;
} else {
$report .= '<img src="' . $OUTPUT->pix_url('spacer', 'scorm') . '" alt="" />';
}
if ($sco->launch) {
$score = '';
$totaltime = '';
if ($usertrack = scorm_get_tracks($sco->id, $user->id)) {
if ($usertrack->status == '') {
$usertrack->status = 'notattempted';
}
$strstatus = get_string($usertrack->status, 'scorm');
$report .= "<img src='" . $OUTPUT->pix_url($usertrack->status, 'scorm') . "' alt='{$strstatus}' title='{$strstatus}' />";
} else {
//.........这里部分代码省略.........