lp_view.php 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. <?php // $Id: lp_view.php,v 1.33 2006/09/12 10:20:46 yannoo Exp $
  2. /**
  3. ==============================================================================
  4. * This file was origially the copy of document.php, but many modifications happened since then ;
  5. * the direct file view is not needed anymore, if the user uploads a scorm zip file, a directory
  6. * will be automatically created for it, and the files will be uncompressed there for example ;
  7. *
  8. * @package dokeos.learnpath
  9. * @author Yannick Warnier <ywarnier@beeznest.org> - redesign
  10. * @author Denes Nagy, principal author
  11. * @author Isthvan Mandak, several new features
  12. * @author Roan Embrechts, code improvements and refactoring
  13. * @license GNU/GPL - See Dokeos license directory for details
  14. ==============================================================================
  15. */
  16. /**
  17. * Script
  18. */
  19. /*
  20. ==============================================================================
  21. INIT SECTION
  22. ==============================================================================
  23. */
  24. if($lp_controller_touched!=1){
  25. header('location: lp_controller.php?action=view&item_id='.$_REQUEST['item_id']);
  26. }
  27. $langFile[] = "scormdocument";
  28. $langFile[] = "learnpath";
  29. /*
  30. -----------------------------------------------------------
  31. Libraries
  32. -----------------------------------------------------------
  33. */
  34. require_once('back_compat.inc.php');
  35. //require_once('../learnpath/learnpath_functions.inc.php');
  36. require_once('scorm.lib.php');
  37. require_once('learnpath.class.php');
  38. require_once('learnpathItem.class.php');
  39. require_once('lp_comm.common.php'); //xajax functions
  40. if ($is_allowed_in_course == false) api_not_allowed();
  41. /*
  42. -----------------------------------------------------------
  43. Variables
  44. -----------------------------------------------------------
  45. */
  46. //$charset = 'UTF-8';
  47. $charset = 'ISO-8859-1';
  48. $oLearnpath = false;
  49. $course_code = api_get_course_id();
  50. $user_id = api_get_user_id();
  51. //escape external variables
  52. /*
  53. -----------------------------------------------------------
  54. Header
  55. -----------------------------------------------------------
  56. */
  57. //$htmlHeadXtra[] = '<script type="text/javascript" src="lp_view.lib.js"></script>';
  58. $htmlHeadXtra[] = $xajax->getJavascript('../inc/lib/xajax/')."\n";
  59. $_SESSION['oLP']->error = '';
  60. $lp_type = $_SESSION['oLP']->get_type();
  61. $lp_item_id = $_SESSION['oLP']->get_current_item_id();
  62. //$lp_item_id = learnpath::escape_string($_GET['item_id']);
  63. //$_SESSION['oLP']->set_current_item($lp_item_id); // already done by lp_controller.php
  64. /**
  65. * Get a link to the corresponding document
  66. */
  67. $src = '';
  68. switch($lp_type){
  69. case 1:
  70. $_SESSION['oLP']->stop_previous_item();
  71. $htmlHeadXtra[] = '<script src="scorm_api.php" type="text/javascript" language="javascript"></script>';
  72. $prereq_check = $_SESSION['oLP']->prerequisites_match($lp_item_id);
  73. if($prereq_check === true){
  74. $src = $_SESSION['oLP']->get_link('http',$lp_item_id);
  75. $_SESSION['oLP']->start_current_item(); //starts time counter manually if asset
  76. }else{
  77. $src = 'blank.php';
  78. }
  79. break;
  80. case 2:
  81. //save old if asset
  82. $_SESSION['oLP']->stop_previous_item(); //save status manually if asset
  83. $htmlHeadXtra[] = '<script src="scorm_api.php" type="text/javascript" language="javascript"></script>';
  84. $prereq_check = $_SESSION['oLP']->prerequisites_match($lp_item_id);
  85. if($prereq_check === true){
  86. $src = $_SESSION['oLP']->get_link('http',$lp_item_id);
  87. $_SESSION['oLP']->start_current_item(); //starts time counter manually if asset
  88. }else{
  89. $src = 'blank.php';
  90. }
  91. break;
  92. case 3:
  93. //aicc
  94. $_SESSION['oLP']->stop_previous_item(); //save status manually if asset
  95. $htmlHeadXtra[] = '<script src="'.$_SESSION['oLP']->get_js_lib().'" type="text/javascript" language="javascript"></script>';
  96. $prereq_check = $_SESSION['oLP']->prerequisites_match($lp_item_id);
  97. if($prereq_check === true){
  98. $src = $_SESSION['oLP']->get_link('http',$lp_item_id);
  99. $_SESSION['oLP']->start_current_item(); //starts time counter manually if asset
  100. }else{
  101. $src = 'blank.php';
  102. }
  103. break;
  104. case 4:
  105. break;
  106. }
  107. $_SESSION['oLP']->set_previous_item($lp_item_id);
  108. $nameTools = $_SESSION['oLP']->get_name();
  109. $save_setting = get_setting("show_navigation_menu");
  110. global $_setting;
  111. $_setting['show_navigation_menu'] = false;
  112. if($_SESSION['oLP']->mode == 'fullscreen'){
  113. $htmlHeadXtra[] =
  114. '<style type="text/css" media="screen, projection">
  115. /*<![CDATA[*/
  116. @import "scormfs.css";
  117. /*]]>*/
  118. </style>';
  119. include_once('../inc/reduced_header.inc.php');
  120. ?>
  121. <body>
  122. <div class="scormpage">
  123. <div class="content">
  124. <iframe class="iframe" valign="top" name="content_name" id="content_id" src="<?php echo $src; ?>" frameborder="0"></iframe>
  125. </div>
  126. <div class="menu">
  127. <iframe class="lp_nav" name="nav_name" id="nav_id" src="lp_nav.php" frameborder="0"></iframe>
  128. <div class="notification" id="notification_id">
  129. <iframe class="message" name="message_name" id="message_id" src="lp_message.php" frameborder="0"></iframe>
  130. <!--iframe class="lp_log" name="lp_log_name" id="lp_log_id" src="lp_log.php" border="0" frameborder="0"></iframe-->
  131. </div>
  132. </div>
  133. <div class="footer">
  134. </div>
  135. </div>
  136. </body>
  137. </html>
  138. <?php
  139. }else{
  140. $htmlHeadXtra[] =
  141. '<style type="text/css" media="screen, projection">
  142. /*<![CDATA[*/
  143. @import "scorm.css";
  144. /*]]>*/
  145. </style>';
  146. include_once('../inc/reduced_header.inc.php');
  147. ?>
  148. <frameset rows="150,600">
  149. <frame id="header" src="lp_header.php" border="0" frameborder="0" />
  150. <frameset cols="180,*">
  151. <frameset rows="310,44,80,*">
  152. <frame id="toc_id" name="toc_name" class="lp_toc" src="lp_toc.php" border="0" frameborder="0" scrolling="no"/>
  153. <frame id="nav_id" name="nav_name" class="lp_nav" src="lp_nav.php" border="0" frameborder="0" />
  154. <frame id="message_id" name="message_name" class="message" src="lp_message.php" border="0" frameborder="0" />
  155. <frame id="lp_log_id" name="lp_log_name" class="lp_log" src="lp_log.php" border="0" frameborder="0" />
  156. </frameset>
  157. <frame id="content_id" name="content_name" src="<?php echo $src; ?>" border="0" frameborder="0">
  158. </frame>
  159. </frameset>
  160. <noframes>
  161. This page relies heavily on frames. If your browser doesn't support frames, please try to find a better one. Some are available for free and run on multiple platforms. We recommend you try <a href="http://www.mozilla.com/firefox/">Firefox</a>. Get it from its official website by clicking the link.
  162. </noframes>
  163. </frameset>
  164. </html>
  165. <?php
  166. /*
  167. ==============================================================================
  168. FOOTER
  169. ==============================================================================
  170. */
  171. //Display::display_footer();
  172. }
  173. //restore global setting
  174. $_setting['show_navigation_menu'] = $save_setting;
  175. ?>