activity.php 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530
  1. <?php // $Id: activity.php,v 1.5 2006/08/10 14:34:54 pcool Exp $
  2. /*
  3. ==============================================================================
  4. Dokeos - elearning and course management software
  5. Copyright (c) 2004-2005 Dokeos S.A.
  6. Copyright (c) 2003 Ghent University
  7. Copyright (c) 2001 Universite Catholique de Louvain
  8. Copyright (c) various contributors
  9. For a full list of contributors, see "credits.txt".
  10. The full license can be read in "license.txt".
  11. This program is free software; you can redistribute it and/or
  12. modify it under the terms of the GNU General Public License
  13. as published by the Free Software Foundation; either version 2
  14. of the License, or (at your option) any later version.
  15. See the GNU General Public License for more details.
  16. Contact address: Dokeos, 44 rue des palais, B-1030 Brussels, Belgium
  17. Mail: info@dokeos.com
  18. ==============================================================================
  19. */
  20. /**
  21. ==============================================================================
  22. * HOME PAGE FOR EACH COURSE
  23. *
  24. * This page, included in every course's index.php is the home
  25. * page. To make administration simple, the teacher edits his
  26. * course from the home page. Only the login detects that the
  27. * visitor is allowed to activate, deactivate home page links,
  28. * access to the teachers tools (statistics, edit forums...).
  29. *
  30. * @package dokeos.course_home
  31. ==============================================================================
  32. */
  33. require_once '../../main/inc/global.inc.php';
  34. /*
  35. ==============================================================================
  36. FUNCTIONS
  37. ==============================================================================
  38. */
  39. /**
  40. * Displays the tools of a certain category.
  41. *
  42. * @return void
  43. * @param string $course_tool_category contains the category of tools to display:
  44. * "toolauthoring", "toolinteraction", "tooladmin", "tooladminplatform"
  45. */
  46. function show_tools_category($course_tool_category)
  47. {
  48. $web_code_path = api_get_path(WEB_CODE_PATH);
  49. $course_tool_table = Database::get_course_table(TABLE_TOOL_LIST);
  50. $is_allowed_to_edit = api_is_allowed_to_edit();
  51. $is_platform_admin = api_is_platform_admin();
  52. switch ($course_tool_category)
  53. {
  54. case TOOL_STUDENT_VIEW:
  55. $result = Database::query("SELECT * FROM $course_tool_table WHERE visibility = '1' AND (category = 'authoring' OR category = 'interaction') ORDER BY id",__FILE__,__LINE__);
  56. $colLink ="##003399";
  57. break;
  58. case TOOL_AUTHORING:
  59. $result = Database::query("SELECT * FROM $course_tool_table WHERE category = 'authoring' ORDER BY id",__FILE__,__LINE__);
  60. $colLink ="##003399";
  61. break;
  62. case TOOL_INTERACTION:
  63. $result = Database::query("SELECT * FROM $course_tool_table WHERE category = 'interaction' ORDER BY id",__FILE__,__LINE__);
  64. $colLink ="##003399";
  65. break;
  66. case TOOL_ADMIN_VISIBLE:
  67. $result = Database::query("SELECT * FROM $course_tool_table WHERE category = 'admin' AND visibility ='1' ORDER BY id",__FILE__,__LINE__);
  68. $colLink ="##003399";
  69. break;
  70. case TOOL_ADMIN_PLATEFORM:
  71. $result = Database::query("SELECT * FROM $course_tool_table WHERE category = 'admin' ORDER BY id",__FILE__,__LINE__);
  72. $colLink ="##003399";
  73. break;
  74. }
  75. while ($temp_row = Database::fetch_array($result))
  76. {
  77. $all_tools_list[]=$temp_row;
  78. }
  79. /*if(api_is_course_coach())
  80. {
  81. $result = Database::query("SELECT * FROM $course_tool_table WHERE name='tracking'",__FILE__,__LINE__);
  82. $all_tools_list[]=Database :: fetch_array($result);
  83. }*/
  84. $i=0;
  85. // grabbing all the links that have the property on_homepage set to 1
  86. $course_link_table = Database::get_course_table(TABLE_LINK);
  87. $course_item_property_table = Database::get_course_table(TABLE_ITEM_PROPERTY);
  88. switch ($course_tool_category)
  89. {
  90. case TOOL_AUTHORING:
  91. $sql_links="SELECT tl.*, tip.visibility
  92. FROM $course_link_table tl
  93. LEFT JOIN $course_item_property_table tip ON tip.tool='link' AND tip.ref=tl.id
  94. WHERE tl.on_homepage='1'";
  95. break;
  96. case TOOL_INTERACTION:
  97. $sql_links = null;
  98. /*
  99. $sql_links="SELECT tl.*, tip.visibility
  100. FROM $course_link_table tl
  101. LEFT JOIN $course_item_property_table tip ON tip.tool='link' AND tip.ref=tl.id
  102. WHERE tl.on_homepage='1' ";
  103. */
  104. break;
  105. case TOOL_STUDENT_VIEW:
  106. $sql_links="SELECT tl.*, tip.visibility
  107. FROM $course_link_table tl
  108. LEFT JOIN $course_item_property_table tip ON tip.tool='link' AND tip.ref=tl.id
  109. WHERE tl.on_homepage='1'";
  110. break;
  111. case TOOL_ADMIN:
  112. $sql_links="SELECT tl.*, tip.visibility
  113. FROM $course_link_table tl
  114. LEFT JOIN $course_item_property_table tip ON tip.tool='link' AND tip.ref=tl.id
  115. WHERE tl.on_homepage='1'";
  116. break;
  117. default:
  118. $sql_links = null;
  119. break;
  120. }
  121. //edit by Kevin Van Den Haute (kevin@develop-it.be) for integrating Smartblogs
  122. if($sql_links != null)
  123. {
  124. $result_links = Database::query($sql_links,__FILE__,__LINE__);
  125. $properties = array();
  126. while($links_row = Database::fetch_array($result_links))
  127. {
  128. unset($properties);
  129. $properties['name'] = $links_row['title'];
  130. $properties['link'] = $links_row['url'];
  131. $properties['visibility'] = $links_row['visibility'];
  132. $properties['image'] = ($links_row['visibility']== '0') ? "file_html.gif" : "file_html.gif";
  133. $properties['adminlink'] = api_get_path(WEB_CODE_PATH) . "link/link.php?action=editlink&id=".$links_row['id'];
  134. $properties['target'] = $links_row['target'];
  135. $tmp_all_tools_list[] = $properties;
  136. }
  137. }
  138. if(isset($tmp_all_tools_list))
  139. {
  140. foreach($tmp_all_tools_list as $toolsRow)
  141. {
  142. if (api_get_session_id()!=0 && in_array($toolsRow['name'],array('course_maintenance','course_setting'))) {
  143. continue;
  144. }
  145. if($toolsRow['image'] == 'blog.gif')
  146. {
  147. // Init
  148. $tbl_blogs_rel_user = Database::get_course_table(TABLE_BLOGS_REL_USER);
  149. // Get blog id
  150. $blog_id = substr($toolsRow['link'], strrpos($toolsRow['link'], '=') + 1, strlen($toolsRow['link']));
  151. // Get blog members
  152. if($is_platform_admin)
  153. {
  154. $sql_blogs = "
  155. SELECT *
  156. FROM " . $tbl_blogs_rel_user . " `blogs_rel_user`
  157. WHERE `blog_id` = " . $blog_id;
  158. }
  159. else
  160. {
  161. $sql_blogs = "
  162. SELECT *
  163. FROM " . $tbl_blogs_rel_user . " `blogs_rel_user`
  164. WHERE
  165. `blog_id` = " . $blog_id . " AND
  166. `user_id` = " . api_get_user_id();
  167. }
  168. $result_blogs = Database::query($sql_blogs, __FILE__, __LINE__);
  169. if(Database::num_rows($result_blogs) > 0)
  170. $all_tools_list[] = $toolsRow;
  171. }
  172. else
  173. $all_tools_list[] = $toolsRow;
  174. }
  175. }
  176. if(isset($all_tools_list))
  177. {
  178. $lnk = '';
  179. foreach($all_tools_list as $toolsRow)
  180. {
  181. if(!($i%2))
  182. {echo "<tr valign=\"top\">\n";}
  183. // This part displays the links to hide or remove a tool.
  184. // These links are only visible by the course manager.
  185. unset($lnk);
  186. echo '<td width="50%">' . "\n";
  187. if($is_allowed_to_edit)
  188. {
  189. if($toolsRow['visibility'] == '1' && $toolsRow['admin'] !='1')
  190. {
  191. $link['name'] = Display::return_icon('visible.gif', get_lang('Deactivate'),array('id'=>'linktool_'.$toolsRow["id"]));
  192. $link['cmd'] = "hide=yes";
  193. $lnk[] = $link;
  194. }
  195. if($toolsRow['visibility'] == '0' && $toolsRow['admin'] !='1')
  196. {
  197. $link['name'] = Display::return_icon('invisible.gif', get_lang('Activate'),array('id'=>'linktool_'.$toolsRow["id"]));
  198. $link['cmd'] = "restore=yes";
  199. $lnk[] = $link;
  200. }
  201. if(!empty($toolsRow['adminlink']))
  202. {
  203. echo '<a href="'.$toolsRow['adminlink'].'">'.Display::return_icon('edit.gif', get_lang('Edit')).'</a>';
  204. }
  205. }
  206. // Both checks are necessary as is_platform_admin doesn't take student view into account
  207. if( $is_platform_admin && $is_allowed_to_edit)
  208. {
  209. if($toolsRow['admin'] !='1')
  210. {
  211. $link['cmd'] = "hide=yes";
  212. }
  213. }
  214. if(isset($lnk) && is_array($lnk))
  215. {
  216. foreach($lnk as $this_link)
  217. {
  218. if(empty($toolsRow['adminlink']))
  219. {
  220. echo "<a class=\"make_visible_and_invisible\" href=\"" .api_get_self(). "?".api_get_cidreq()."&amp;id=" . $toolsRow["id"] . "&amp;" . $this_link['cmd'] . "\">" . $this_link['name'] . "</a>";
  221. //echo "<a class=\"make_visible_and_invisible\" href=\"javascript:void(0)\" >" . $this_link['name'] . "</a>";
  222. }
  223. }
  224. }
  225. else{ echo '&nbsp;&nbsp;&nbsp;&nbsp;';}
  226. // NOTE : table contains only the image file name, not full path
  227. if(!stristr($toolsRow['link'], 'http://') && !stristr($toolsRow['link'], 'https://') && !stristr($toolsRow['link'],'ftp://'))
  228. $toolsRow['link'] = $web_code_path . $toolsRow['link'];
  229. if($toolsRow['visibility'] == '0' && $toolsRow['admin'] != '1')
  230. {
  231. $class="class=\"invisible\"";
  232. $info = pathinfo($toolsRow['image']);
  233. $basename = basename ($toolsRow['image'],'.'.$info['extension']); // $file is set to "index"
  234. $toolsRow['image'] = $basename.'_na.'.$info['extension'];
  235. }
  236. else
  237. $class='';
  238. $qm_or_amp = ((strpos($toolsRow['link'], '?') === FALSE) ? '?' : '&amp;');
  239. //If it's a link, we don't add the cidReq
  240. if($toolsRow['image'] == 'file_html.gif' || $toolsRow['image'] == 'file_html_na.gif'){
  241. $toolsRow['link'] = $toolsRow['link'].$qm_or_amp;
  242. }
  243. else{
  244. $toolsRow['link'] = $toolsRow['link'].$qm_or_amp.api_get_cidreq();
  245. }
  246. if(strpos($toolsRow['name'],'visio_')!==false) {
  247. /*
  248. $toollink = "\t" . '<a ' . $class . ' href="#" onclick="window.open(\'' . htmlspecialchars($toolsRow['link']) . '\',\'window_visio\',config=\'height=\'+730+\', width=\'+1020+\', left=2, top=2, toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, directories=no, status=no\')" target="' . $toolsRow['target'] . '">';
  249. */
  250. $toollink = "\t" . '<a id="tooldesc_'.$toolsRow["id"].'" ' . $class . ' href="javascript: void(0);" onclick="window.open(\'' . htmlspecialchars($toolsRow['link']) . '\',\'window_visio'.$_SESSION['_cid'].'\',config=\'height=\'+730+\', width=\'+1020+\', left=2, top=2, toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, directories=no, status=no\')" target="' . $toolsRow['target'] . '">';
  251. $my_tool_link = "\t" . '<a id="istooldesc_'.$toolsRow["id"].'" ' . $class . ' href="javascript: void(0);" onclick="window.open(\'' . htmlspecialchars($toolsRow['link']) . '\',\'window_visio'.$_SESSION['_cid'].'\',config=\'height=\'+730+\', width=\'+1020+\', left=2, top=2, toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, directories=no, status=no\')" target="' . $toolsRow['target'] . '">';
  252. } else if(strpos($toolsRow['name'],'chat')!==false && api_get_course_setting('allow_open_chat_window')==true) {
  253. /*
  254. $toollink = "\t" . '<a ' . $class . ' href="#" onclick="window.open(\'' . htmlspecialchars($toolsRow['link']) . '\',\'window_chat'.$_SESSION['_cid'].'\',config=\'height=\'+380+\', width=\'+625+\', left=2, top=2, toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, directories=no, status=no\')" target="' . $toolsRow['target'] . '">';
  255. */
  256. $toollink = "\t" . '<a id="tooldesc_'.$toolsRow["id"].'" ' . $class . ' href="javascript: void(0);" onclick="window.open(\'' . htmlspecialchars($toolsRow['link']) . '\',\'window_chat'.$_SESSION['_cid'].'\',config=\'height=\'+380+\', width=\'+625+\', left=2, top=2, toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, directories=no, status=no\')" target="' . $toolsRow['target'] . '">';
  257. $my_tool_link="\t" . '<a id="istooldesc_'.$toolsRow["id"].'" ' . $class . ' href="javascript: void(0);" onclick="window.open(\'' . htmlspecialchars($toolsRow['link']) . '\',\'window_chat'.$_SESSION['_cid'].'\',config=\'height=\'+380+\', width=\'+625+\', left=2, top=2, toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, directories=no, status=no\')" target="' . $toolsRow['target'] . '">';
  258. } else {
  259. if (count(explode('type=classroom',$toolsRow['link']))==2 || count(explode('type=conference',$toolsRow['link']))==2) {
  260. //$toollink = "\t" . '<a ' . $class . ' href="' . $toolsRow['link'] . '" target="_blank">';
  261. $toollink = "\t" . '<a id="tooldesc_'.$toolsRow["id"].'" ' . $class . ' href="' . $toolsRow['link'] . '" target="_blank">';
  262. $my_tool_link = "\t" . '<a id="istooldesc_'.$toolsRow["id"].'" ' . $class . ' href="' . $toolsRow['link'] . '" target="_blank">';
  263. } else {
  264. //$toollink = "\t" . '<a ' . $class . ' href="' . htmlspecialchars($toolsRow['link']) . '" target="' . $toolsRow['target'] . '">';
  265. $toollink = "\t" . '<a id="tooldesc_'.$toolsRow["id"].'" ' . $class . ' href="' . htmlspecialchars($toolsRow['link']) . '" target="' . $toolsRow['target'] . '">';
  266. $my_tool_link = "\t" . '<a id="istooldesc_'.$toolsRow["id"].'" ' . $class . ' href="' . htmlspecialchars($toolsRow['link']) . '" target="' . $toolsRow['target'] . '">';
  267. }
  268. }
  269. echo $toollink;
  270. //var_dump($toollink);
  271. /*
  272. Display::display_icon($toolsRow['image'], get_lang(ucfirst($toolsRow['name'])));
  273. */
  274. if ($toolsRow['image'] == 'file_html.gif' || $toolsRow['image'] == 'file_html_na.gif'
  275. || $toolsRow['image'] == 'scormbuilder.gif' || $toolsRow['image'] == 'scormbuilder_na.gif'
  276. || $toolsRow['image'] == 'blog.gif' || $toolsRow['image'] == 'blog_na.gif'
  277. || $toolsRow['image'] == 'external.gif' || $toolsRow['image'] == 'external_na.gif')
  278. {
  279. $tool_name = stripslashes($toolsRow['name']);
  280. } else {
  281. $tool_name = get_lang(ucfirst($toolsRow['name']));
  282. }
  283. Display::display_icon($toolsRow['image'], $tool_name, array('class'=>'tool-icon','id'=>'toolimage_'.$toolsRow["id"]));
  284. echo '</a> ';
  285. echo $my_tool_link;
  286. /*
  287. echo ($toolsRow['image'] == 'file_html_na.gif' || $toolsRow['image'] == 'file_html.gif' || $toolsRow['image'] == 'scormbuilder.gif' || $toolsRow['image'] == 'scormbuilder_na.gif' || $toolsRow['image'] == 'blog.gif' || $toolsRow['image'] == 'blog_na.gif' || $toolsRow['image'] == 'external.gif' || $toolsRow['image'] == 'external_na.gif') ? ' '.stripslashes($toolsRow['name']) : ' '.get_lang(ucfirst($toolsRow['name']));
  288. */
  289. echo $tool_name;
  290. echo "\t" . '</a>';
  291. echo '</td>';
  292. if($i%2)
  293. {
  294. echo "</tr>";
  295. }
  296. $i++;
  297. }
  298. }
  299. if($i%2)
  300. {
  301. echo "<td width=\"50%\">&nbsp;</td>\n",
  302. "</tr>\n";
  303. }
  304. }
  305. //End of functions show tools
  306. /*
  307. ==============================================================================
  308. MAIN CODE
  309. ==============================================================================
  310. */
  311. /*
  312. -----------------------------------------------------------
  313. Work with data post askable by admin of course (franglais, clean this)
  314. -----------------------------------------------------------
  315. */
  316. if (isset($_GET['sent_http_request']) && $_GET['sent_http_request']==1) {
  317. if(api_is_allowed_to_edit()) {
  318. $tool_table = Database::get_course_table(TABLE_TOOL_LIST);
  319. $tool_id = Security::remove_XSS($_GET["id"]);
  320. $tool_info = api_get_tool_information($tool_id);
  321. $tool_visibility = $tool_info['visibility'];
  322. $tool_image = $tool_info['image'];
  323. $new_image = str_replace('.gif','_na.gif',$tool_image);
  324. $requested_image = ($tool_visibility == 0 ) ? $tool_image : $new_image;
  325. $requested_clase = ($tool_visibility == 0 ) ? 'visible' : 'invisible';
  326. $requested_message = ($tool_visibility == 0 ) ? 'is_active' : 'is_inactive';
  327. $requested_view = ($tool_visibility == 0 ) ? 'visible.gif' : 'invisible.gif';
  328. $requested_visible = ($tool_visibility == 0 ) ? 1 : 0;
  329. /*
  330. -----------------------------------------------------------
  331. HIDE AND REACTIVATE
  332. -----------------------------------------------------------
  333. */
  334. if ($_GET["id"]==strval(intval($_GET["id"]))) {
  335. $sql="UPDATE $tool_table SET visibility='".Database::escape_string($requested_visible)."' WHERE id='".$_GET["id"]."'";
  336. Database::query($sql,__FILE__,__LINE__);
  337. }
  338. $response_data = array(
  339. 'image' => $requested_image,
  340. 'tclass' => $requested_clase,
  341. 'message' => $requested_message,
  342. 'view' => $requested_view
  343. );
  344. print(json_encode($response_data));
  345. exit;
  346. }
  347. } else {
  348. if(api_is_allowed_to_edit()) {
  349. /*
  350. -----------------------------------------------------------
  351. HIDE
  352. -----------------------------------------------------------
  353. */
  354. if(!empty($_GET['hide'])) // visibility 1 -> 0
  355. {
  356. Database::query("UPDATE $tool_table SET visibility=0 WHERE id='".$_GET["id"]."'",__FILE__,__LINE__);
  357. Display::display_confirmation_message(get_lang('ToolIsNowHidden'));
  358. }
  359. /*
  360. -----------------------------------------------------------
  361. REACTIVATE
  362. -----------------------------------------------------------
  363. */
  364. elseif(!empty($_GET['restore'])) // visibility 0,2 -> 1
  365. {
  366. Database::query("UPDATE $tool_table SET visibility=1 WHERE id='".$_GET["id"]."'",__FILE__,__LINE__);
  367. Display::display_confirmation_message(get_lang('ToolIsNowVisible'));
  368. }
  369. }
  370. }
  371. // work with data post askable by admin of course
  372. if(api_is_platform_admin())
  373. {
  374. // Show message to confirm that a tools must be hide from available tools
  375. // visibility 0,1->2
  376. if(!empty($_GET['askDelete']))
  377. {
  378. ?>
  379. <div id="toolhide">
  380. <?php echo get_lang("DelLk")?>
  381. <br />&nbsp;&nbsp;&nbsp;
  382. <a href="<?php echo api_get_self()?>"><?php echo get_lang("No")?></a>&nbsp;|&nbsp;
  383. <a href="<?php echo api_get_self()?>?delete=yes&id=<?php echo $_GET["id"]?>"><?php echo get_lang("Yes")?></a>
  384. </div>
  385. <?php
  386. }
  387. /*
  388. * Process hiding a tools from available tools.
  389. */
  390. elseif(isset($_GET["delete"]) && $_GET["delete"])
  391. {
  392. Database::query("DELETE FROM $tool_table WHERE id='$id' AND added_tool=1",__FILE__,__LINE__);
  393. }
  394. }
  395. /*
  396. ==============================================================================
  397. COURSE ADMIN ONLY VIEW
  398. ==============================================================================
  399. */
  400. // start of tools for CourseAdmins (teachers/tutors)
  401. if(api_is_allowed_to_edit())
  402. {
  403. $current_protocol = $_SERVER['SERVER_PROTOCOL'];
  404. $current_host = $_SERVER['HTTP_HOST'];
  405. $server_protocol = substr($current_protocol,0,strrpos($current_protocol,'/'));
  406. $server_protocol = $server_protocol.'://';
  407. if ($current_host == 'localhost') {
  408. //Get information of path
  409. $info = explode('courses',api_get_self());
  410. $path_work = substr($info[0], 0, strlen($info[0]));
  411. } else {
  412. $path_work = "";
  413. }
  414. ?>
  415. <div class="normal-message" id="id_normal_message" style="display:none"><?php echo get_lang("PleaseStandBy")."<br/>".'<img src="'.$server_protocol.$current_host.'/'.$path_work.'main/inc/lib/javascript/indicator.gif"/>'; ?></div>
  416. <div class="confirmation-message" id="id_confirmation_message" style="display:none"></div>
  417. <div class="courseadminview">
  418. <span class="viewcaption"><?php echo get_lang("Authoring") ?></span>
  419. <table width="100%">
  420. <?php show_tools_category(TOOL_AUTHORING);?>
  421. </table>
  422. </div>
  423. <div class="courseadminview">
  424. <span class="viewcaption"><?php echo get_lang("Interaction") ?></span>
  425. <table width="100%">
  426. <?php show_tools_category(TOOL_INTERACTION); ?>
  427. </table>
  428. </div>
  429. <div class="courseadminview">
  430. <span class="viewcaption"><?php echo get_lang("Administration") ?></span>
  431. <table width="100%">
  432. <?php show_tools_category(TOOL_ADMIN_PLATEFORM); ?>
  433. </table>
  434. </div>
  435. <?php
  436. }
  437. /*
  438. ==============================================================================
  439. TOOLS AUTHORING
  440. ==============================================================================
  441. */
  442. else{
  443. ?>
  444. <div class="Authoringview">
  445. <table width="100%">
  446. <?php show_tools_category(TOOL_STUDENT_VIEW); ?>
  447. </table>
  448. </div>
  449. <?php
  450. }
  451. ?>