⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 view.inc.php

📁 是一个教学内容管理系统
💻 PHP
字号:
<?php/* * tools/packages/scorm-1.2/view.inc.php * * This file is part of ATutor, see http://www.atutor.ca *  * Copyright (C) 2005  Matthai Kurian  *  * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. *  * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. *  * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. */function treeEl ($s) {	return '<img src="images/tree/tree_' . $s . '.gif" alt="">';}if (!$_GET['org_id']) {	header('Location: ../index.php');	exit;}  $sql = "SELECT	first_name, last_name	FROM	".TABLE_PREFIX."members	WHERE	member_id = ".$_SESSION['member_id'];$result = mysql_query($sql, $db);$q_row  = mysql_fetch_assoc($result);$student_name = $q_row['last_name'] . ', ' . $q_row['first_name'];//if ($student_name == ', ') $msg->addWarning('packages_no_student_name');	$sql = "SELECT	package_id		FROM	".TABLE_PREFIX."scorm_1_2_org		WHERE	org_id = $_GET[org_id]";	$result = mysql_query($sql, $db);	$q_row  = mysql_fetch_assoc($result);	$pkg    = $q_row['package_id'];	$sql = "SELECT	item_id, scormtype, idx, title, href		FROM	".TABLE_PREFIX."scorm_1_2_item		WHERE	org_id = $_GET[org_id]		ORDER	BY item_id	";	$result = mysql_query($sql, $db);	$org = array();	$iid = array();	$ist = array();	$i=0;	while ($row = mysql_fetch_assoc($result)) {		$org[$i]['id']    = $row['item_id'];		$org[$i]['idx']   = $row['idx'];		$org[$i]['type']  = $row['scormtype'];		$org[$i]['title'] = $row['title'];		$org[$i]['href']  = $row['href'];		$iid[$row['item_id']] = $i;		$ist[$i] = 'not attempted';		$i++;	}	$c = sizeOf($org);	$sql = "SELECT	c.item_id,			c.rvalue		FROM  	".TABLE_PREFIX."cmi c,			".TABLE_PREFIX."scorm_1_2_item i,			".TABLE_PREFIX."scorm_1_2_org  o		WHERE 	o.org_id    = $_GET[org_id]		AND	i.org_id    = o.org_id		AND	i.item_id   = c.item_id		AND	c.member_id = $_SESSION[member_id]		AND	c.lvalue    = 'cmi.core.lesson_status'	";	$result = mysql_query($sql, $db);	while ($row = mysql_fetch_assoc($result)) {		$ist[$iid[$row['item_id']]] = $row['rvalue'];	}	$fil   = array();	$tree  = array();	$dtree = array();	$tidx  = explode ('.', $org[$c-1]['idx']);	$lvl   = sizeOf($tidx);	$llvl  = 42;	for ($l=0; $l<$lvl; $l++) array_push ($fil, treeEl ('space'));	array_push ($fil, treeEl('end'));	for ($i=$c-1; $i>=0; $i--) {		$tidx = explode ('.', $org[$i]['idx']);		$lvl = sizeOf($tidx);		switch ($org[$i]['type']) {		case 'organization':			$_pages[$me]['title'] =$org[$i]['title'];		case 'cluster':			array_pop ($fil);			array_pop ($fil);			array_push ($fil, treeEl('disabled'));			break;		case 'sco':		case 'asset':			if ($org[$i]['idx'].'.1' == $org[$i+1]['idx']) {				// cluster with resource				array_pop ($fil);				array_pop ($fil);				array_push ($fil, treeEl('disabled'));				break;			}						array_pop ($fil);			if ($lvl <  $llvl) array_push ($fil, treeEl('end'));			if ($lvl == $llvl) array_push ($fil, treeEl ('split'));			if ($lvl >  $llvl) {				 array_push ($fil, treeEl ('vertline'));				 array_push ($fil, treeEl ('end'));			}			break;		}		if ($org[$i]['href']) {			if ($org[$i]['type'] == 'sco') {				array_push ($tree,					implode ($fil) 					. '<img id="im' . $i					. '" name="im' . $i					. '" src="' . $im					. str_replace (' ', '-', $ist[$i])					. '.png" alt="' . $ist[$i]					. '" title="' . $ist[$i] . '">'					. '<a href="javascript:void(0)" '					. 'onclick="Launch(' . $i .');'					. 'return false;">'					. $org[$i]['title'] . '</a>'				);			} else {				array_push ($tree,					implode ($fil) 					. '<img id="im' . $i					. '" name="im' . $i					. '" src="' . $im					. 'asset.png" alt="">'					. '<a href="javascript:void(0)" '					. 'onclick="Launch(' . $i .');'					. 'return false;">'					. $org[$i]['title'] . '</a>'				);			}		} else {			array_push ($tree,				implode ($fil)				. '<b>' . $org[$i]['title'] . '</b>'			);		}		$llvl = $lvl;	}	require(AT_INCLUDE_PATH.'header.inc.php');	?><div id="rte"><applet code="ATutorApiAdapterApplet" id="RTE" name="RTE" mayscript="true"codebase="tools/packages/scorm-1.2"archive="java/ATutorApiAdapterApplet.jar,java/PfPLMS-API-adapter-core.jar,java/gnu.jar"width="0" height="0" ><param name="student_id"   value="<?php echo $_SESSION['member_id']?>" /><param name="student_name" value="<?php echo $student_name?>" /><?php	if ($prefs['show_rte_communication'] == 1) {		echo '<param name="verbose" value="1" />' . "\n";	}?>"       	echo ($prefs['show_rte_communication'] == 1?'true':'false');</applet></div><script language="Javascript">function getObj (o) {	if(document.getElementById) return document.getElementById(o);	if(document.all) return document.all[o];}scHREF = new Array();scID   = new Array();scType = new Array();<?php	$c = sizeOf ($org);	for ($i=0; $i<=$c; $i++) {		echo 'scHREF[' . $i ."] = '";		if ($org[$i]['href'] != '') {			echo AT_PACKAGE_URL_BASE			. $_SESSION['course_id'] .'/' . $pkg .'/'		       	. $org[$i]['href']			;		}		echo "';\n"		. 'scID[' . $i ."] = '" . $org[$i]['id'] . "';\n"		. 'scType[' . $i ."] = '" . $org[$i]['type'] . "';\n"		;	}?>var scoidx      = 0;var nextscoidx  = 0;var autonext    = null;var scowindow   = null;var isRunning   = false;var isLaunching = false;var initstat    = '';var scoWidth  = 800;var scoHeight = 600;var auto_advance = <?php	echo ($prefs['auto_advance'] == 1 ?'true':'false');?>;var show_comm = <?php       	echo ($prefs['show_rte_communication'] == 1?'true':'false');?>;function LMSInitialize (s) {	isRunning   = true;	isLaunching = false;	scoidx     = nextscoidx;	nextscoidx = null;	autonext   = null;	var o = getObj ('im'+scoidx);	o.src = '<?php echo $im;?>busy.png';	o.alt   = '<?php echo _AT('scorm_sco_is_running')?>';	o.title = '<?php echo _AT('scorm_sco_is_running')?>';	rv = window.document.RTE.LMSInitialize (s);	initstat = window.document.RTE.ATutorGetValue (		'cmi.core.lesson_status'	);	return rv;}function LMSFinish (s) {	checkResize();	var stat = window.document.RTE.ATutorGetValue ('cmi.core.lesson_status');	if (stat != '') {		var o = getObj ('im'+scoidx);		o.alt = stat;		o.title = stat;		if (stat == 'not attempted') stat = 'not-attempted';		o.src = '<?php echo $im;?>'+stat+'.png';		if (!autonext && auto_advance && !initstat.equals(stat)) {			if (stat == 'completed' ||			    stat == 'passed'    ||			    stat == 'browsed') {				for (i=scoidx+1; i<scHREF.length; i++) {					if (scHREF[i].length) {						autonext = i;						checkResize();						break;					}				}			}		}	}	rv = window.document.RTE.LMSFinish (s);	if (rv == 'true') {		scowindow.close();		scowindow = null;		isRunning = false;		scoidx    = null;		if (autonext) setTimeout ('Launch (autonext)', 500);	}	return rv;}function LMSSetValue (l, r) {	return window.document.RTE.LMSSetValue (l, r);}function LMSGetValue (l) {	return window.document.RTE.LMSGetValue (l);}function LMSGetLastError () {	return window.document.RTE.LMSGetLastError ();}function LMSGetErrorString (s) {	return window.document.RTE.LMSGetErrorString (s);}function LMSGetDiagnostic (s) {	return window.document.RTE.LMSGetDiagnostic (s);}function LMSCommit (s) {	return window.document.RTE.LMSCommit (s);}function Launch (i) {	if (autonext && autonext != i) return;	nextscoidx = null; 	if (i == scoidx) return;	if (scowindow && scowindow.closed) {		isLaunching = false;		isRunning   = false;		scowindow   = null;		if (isRunning) {			window.document.RTE.ATutorReset(scID[scoidx]);			isRunning = false;		}	}	if (isLaunching) return;	if (scowindow != null) {	       if (!isRunning) return;	       scowindow.close();	}	isLaunching = true;	if (scType[i] == 'sco') {		try {			window.document.RTE.ATutorPrepare(scID[i]);		} catch (Exception) {			alert ('Sorry, LiveConnect does not work');			return;		}		checkResize();		nextscoidx = i;	} else {		nextscoidx = null;	}	isLaunching = true;	scowindow = window.open (		scHREF[i],		'ATutorSCO',		'width='+scoWidth+',height='+scoHeight+','+		'toolbar=no,menubar=no,status=no,scrollbars=yes'	);	if (scType[i] == 'sco') {		this.API = this;		if (scowindow) scowindow.API = this;	}	scowindow.focus();}function cleanup () {	if (scowindow) scowindow.close();}function checkResize () {	try {		w = scowindow.innerWidth;		h = scowindow.innerHeight;		if (w >= 640 && h >= 480) {			scoWidth  = w; 			scoHeight = h;		}	} catch (Exception) {};}this.onunload=cleanup;</script><?php	$p = "\n" . '<div id="scorm_1_2_toc" style="display:block">' . "\n";	for ($i=$c-1; $i>=0; $i--) {		$p .= $tree[$i] . '<br />' . "\n";	}	$p .= '</div>' . "\n";	echo utf8_decode($p); ?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -