course_home.ajax.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. <?php
  2. /* For licensing terms, see /license.txt */
  3. /**
  4. * Responses to AJAX calls
  5. */
  6. $action = $_GET['a'];
  7. switch ($action) {
  8. case 'set_visibility':
  9. require_once '../global.inc.php';
  10. if (api_is_allowed_to_edit(null,true)) {
  11. $tool_table = Database::get_course_table(TABLE_TOOL_LIST);
  12. $tool_id = Security::remove_XSS($_GET["id"]);
  13. $tool_info = api_get_tool_information($tool_id);
  14. $tool_visibility = $tool_info['visibility'];
  15. $tool_image = $tool_info['image'];
  16. $new_image = str_replace('.gif','_na.gif',$tool_image);
  17. $requested_image = ($tool_visibility == 0 ) ? $tool_image : $new_image;
  18. $requested_clase = ($tool_visibility == 0 ) ? 'visible' : 'invisible';
  19. $requested_message = ($tool_visibility == 0 ) ? 'is_active' : 'is_inactive';
  20. $requested_view = ($tool_visibility == 0 ) ? 'visible.gif' : 'invisible.gif';
  21. $requested_visible = ($tool_visibility == 0 ) ? 1 : 0;
  22. $requested_view = ($tool_visibility == 0 ) ? 'visible.gif' : 'invisible.gif';
  23. $requested_visible = ($tool_visibility == 0 ) ? 1 : 0;
  24. //HIDE AND REACTIVATE TOOL
  25. if ($_GET["id"]==strval(intval($_GET["id"]))) {
  26. /* -- session condition for visibility
  27. if (!empty($session_id)) {
  28. $sql = "select session_id FROM $tool_table WHERE id='".$_GET["id"]."' AND session_id = '$session_id'";
  29. $rs = Database::query($sql);
  30. if (Database::num_rows($rs) > 0) {
  31. $sql="UPDATE $tool_table SET visibility=$requested_visible WHERE id='".$_GET["id"]."' AND session_id = '$session_id'";
  32. } else {
  33. $sql_select = "select * FROM $tool_table WHERE id='".$_GET["id"]."'";
  34. $res_select = Database::query($sql_select);
  35. $row_select = Database::fetch_array($res_select);
  36. $sql = "INSERT INTO $tool_table(name,link,image,visibility,admin,address,added_tool,target,category,session_id)
  37. VALUES('{$row_select['name']}','{$row_select['link']}','{$row_select['image']}','0','{$row_select['admin']}','{$row_select['address']}','{$row_select['added_tool']}','{$row_select['target']}','{$row_select['category']}','$session_id')";
  38. }
  39. } else $sql="UPDATE $tool_table SET visibility=$requested_visible WHERE id='".$_GET["id"]."'";
  40. */
  41. $sql="UPDATE $tool_table SET visibility=$requested_visible WHERE id='".intval($_GET['id'])."'";
  42. Database::query($sql);
  43. }
  44. $response_data = array(
  45. 'image' => $requested_image,
  46. 'tclass' => $requested_clase,
  47. 'message' => $requested_message,
  48. 'view' => $requested_view
  49. );
  50. print(json_encode($response_data));
  51. }
  52. break;
  53. case 'show_course_information' :
  54. $language_file = array ('course_description');
  55. require_once '../global.inc.php';
  56. require_once api_get_path(INCLUDE_PATH).'reduced_header.inc.php' ;
  57. // Get the name of the database course.
  58. $database_course = CourseManager::get_name_database_course($_GET['code']);
  59. $tbl_course_description = Database::get_course_table(TABLE_COURSE_DESCRIPTION, $database_course);
  60. $sql = "SELECT * FROM $tbl_course_description WHERE session_id=0 ORDER BY id";
  61. $result = Database::query($sql);
  62. while ($description = Database::fetch_object($result)) {
  63. $descriptions[$description->id] = $description;
  64. }
  65. // Function that displays the details of the course description in html.
  66. echo CourseManager::get_details_course_description_html($descriptions, api_get_system_encoding(), false);
  67. break;
  68. case 'session_courses_lp_default':
  69. require_once '../global.inc.php';
  70. $libpath = api_get_path(LIBRARY_PATH);
  71. require_once $libpath.'course.lib.php';
  72. //require_once $libpath.'usermanager.lib.php';
  73. require_once $libpath.'sessionmanager.lib.php';
  74. require_once api_get_path(SYS_CODE_PATH).'newscorm/learnpathList.class.php';
  75. $page = $_REQUEST['page']; //page
  76. $limit = $_REQUEST['rows']; // quantity of rows
  77. $sidx = $_REQUEST['sidx']; //index to filter
  78. $sord = $_REQUEST['sord']; //asc or desc
  79. $session_id = $_REQUEST['session_id'];
  80. if(!$sidx) $sidx =1;
  81. $start = $limit*$page - $limit;
  82. $course_list = SessionManager::get_course_list_by_session_id($session_id);
  83. $count = 0;
  84. foreach ($course_list as $item) {
  85. $list = new LearnpathList(api_get_user_id(),$item['code']);
  86. $flat_list = $list->get_flat_list();
  87. $lps[$item['code']] = $flat_list;
  88. foreach($flat_list as $lp_id => $lp_item) {
  89. $temp[$count]['id']= $lp_id;
  90. $temp[$count]['cell']=array($lp_item['publicated_on'], $item['code'], $lp_item['lp_name']);
  91. $count++;
  92. }
  93. }
  94. $i =0;
  95. foreach($temp as $key=>$row) {
  96. $row = $row['cell'];
  97. if ($key >= $start && $key < ($start + $limit)) {
  98. $responce->rows[$i]['id']= $key;
  99. $responce->rows[$i]['cell']=array($row[0], $row[1], $row[2]);
  100. $i++;
  101. }
  102. }
  103. if($count > 0 && $limit > 0) {
  104. $total_pages = ceil($count/$limit);
  105. } else {
  106. $total_pages = 0;
  107. }
  108. $responce->total = $total_pages;
  109. if ($page > $total_pages) {
  110. $responce->page= $total_pages;
  111. } else {
  112. $responce->page = $page;
  113. }
  114. $responce->records = $count;
  115. echo json_encode($responce);
  116. break;
  117. case 'session_courses_lp_by_week':
  118. require_once '../global.inc.php';
  119. $libpath = api_get_path(LIBRARY_PATH);
  120. require_once $libpath.'course.lib.php';
  121. //require_once $libpath.'usermanager.lib.php';
  122. require_once $libpath.'sessionmanager.lib.php';
  123. require_once api_get_path(SYS_CODE_PATH).'newscorm/learnpathList.class.php';
  124. $page = $_REQUEST['page']; //page
  125. $limit = $_REQUEST['rows']; // quantity of rows
  126. $sidx = $_REQUEST['sidx']; //index to filter
  127. $sord = $_REQUEST['sord']; //asc or desc
  128. $session_id = $_REQUEST['session_id'];
  129. if(!$sidx) $sidx =1;
  130. $start = $limit*$page - $limit;
  131. $course_list = SessionManager::get_course_list_by_session_id($session_id);
  132. $count = 0;
  133. foreach ($course_list as $item) {
  134. $list = new LearnpathList(api_get_user_id(),$item['code']);
  135. $flat_list = $list->get_flat_list();
  136. $lps[$item['code']] = $flat_list;
  137. foreach($flat_list as $lp_id => $lp_item) {
  138. $temp[$count]['id']= $lp_id;
  139. $temp[$count]['cell']=array(get_week_from_day($lp_item['publicated_on']), $lp_item['publicated_on'], $item['code'], $lp_item['lp_name']);
  140. $count++;
  141. }
  142. }
  143. $i =0;
  144. foreach($temp as $key=>$row) {
  145. $row = $row['cell'];
  146. if ($key >= $start && $key < ($start + $limit)) {
  147. $responce->rows[$i]['id']= $key;
  148. $responce->rows[$i]['cell']=array($row[0], $row[1], $row[2],$row[3]);
  149. $i++;
  150. }
  151. }
  152. if($count > 0 && $limit > 0) {
  153. $total_pages = ceil($count/$limit);
  154. } else {
  155. $total_pages = 0;
  156. }
  157. $responce->total = $total_pages;
  158. if ($page > $total_pages) {
  159. $responce->page= $total_pages;
  160. } else {
  161. $responce->page = $page;
  162. }
  163. $responce->records = $count;
  164. echo json_encode($responce);
  165. break;
  166. case 'session_courses_lp_by_course':
  167. require_once '../global.inc.php';
  168. $libpath = api_get_path(LIBRARY_PATH);
  169. require_once $libpath.'course.lib.php';
  170. //require_once $libpath.'usermanager.lib.php';
  171. require_once $libpath.'sessionmanager.lib.php';
  172. require_once api_get_path(SYS_CODE_PATH).'newscorm/learnpathList.class.php';
  173. $page = $_REQUEST['page']; //page
  174. $limit = $_REQUEST['rows']; // quantity of rows
  175. $sidx = $_REQUEST['sidx']; //index to filter
  176. $sord = $_REQUEST['sord']; //asc or desc
  177. $session_id = $_REQUEST['session_id'];
  178. if(!$sidx) $sidx =1;
  179. $start = $limit*$page - $limit;
  180. $course_list = SessionManager::get_course_list_by_session_id($session_id);
  181. $count = 0;
  182. foreach ($course_list as $item) {
  183. $list = new LearnpathList(api_get_user_id(),$item['code']);
  184. $flat_list = $list->get_flat_list();
  185. $lps[$item['code']] = $flat_list;
  186. foreach($flat_list as $lp_id => $lp_item) {
  187. $temp[$count]['id']= $lp_id;
  188. $temp[$count]['cell']=array($lp_item['publicated_on'], $item['code'], $lp_item['lp_name']);
  189. $count++;
  190. }
  191. }
  192. $i =0;
  193. foreach($temp as $key=>$row) {
  194. $row = $row['cell'];
  195. if ($key >= $start && $key < ($start + $limit)) {
  196. $responce->rows[$i]['id']= $key;
  197. $responce->rows[$i]['cell']=array($row[0], $row[1], $row[2],$row[3]);
  198. $i++;
  199. }
  200. }
  201. if($count > 0 && $limit > 0) {
  202. $total_pages = ceil($count/$limit);
  203. } else {
  204. $total_pages = 0;
  205. }
  206. $responce->total = $total_pages;
  207. if ($page > $total_pages) {
  208. $responce->page= $total_pages;
  209. } else {
  210. $responce->page = $page;
  211. }
  212. $responce->records = $count;
  213. echo json_encode($responce);
  214. break;
  215. default:
  216. echo '';
  217. }
  218. exit;
  219. ?>