lp.ajax.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. /* For licensing terms, see /license.txt */
  3. /**
  4. * Responses to AJAX calls
  5. */
  6. require_once '../global.inc.php';
  7. api_protect_course_script(true);
  8. $action = $_REQUEST['a'];
  9. $course_id = api_get_course_int_id();
  10. $tbl_lp_item = Database :: get_course_table(TABLE_LP_ITEM);
  11. switch ($action) {
  12. case 'add_lp_item':
  13. if (api_is_allowed_to_edit(null, true)) {
  14. if ($_SESSION['oLP']) {
  15. //Updating the lp.modified_on
  16. $_SESSION['oLP']->set_modified_on();
  17. $parentId = isset($_REQUEST['parent_id']) ? $_REQUEST['parent_id'] : null;
  18. $previousId = isset($_REQUEST['previous_id']) ? $_REQUEST['previous_id'] : null;
  19. echo $_SESSION['oLP']->add_item(
  20. $parentId,
  21. $previousId,
  22. $_REQUEST['type'],
  23. $_REQUEST['id'],
  24. $_REQUEST['title'],
  25. null
  26. );
  27. }
  28. }
  29. break;
  30. case 'update_lp_item_order':
  31. if (api_is_allowed_to_edit(null, true)) {
  32. $new_order = $_POST['new_order'];
  33. $sections = explode('^', $new_order);
  34. $new_array = array();
  35. $i = 0;
  36. foreach ($sections as $items) {
  37. if (!empty($items)) {
  38. list($id, $parent_id) = explode('|', $items);
  39. $new_array[$i]['id'] = intval($id);
  40. $new_array[$i]['parent_id'] = intval($parent_id);
  41. $i++;
  42. }
  43. }
  44. $counter = 1;
  45. for ($i=0; $i < count($new_array); $i++) {
  46. $params = array();
  47. $id = $new_array[$i]['id'];
  48. if (empty($id)) {
  49. continue;
  50. }
  51. $parent_id = isset($new_array[$i]['parent_id']) ? $new_array[$i]['parent_id'] : 0;
  52. $params['display_order'] = $counter;
  53. $params['previous_item_id'] = isset($new_array[$i-1]) && isset($new_array[$i-1]['id']) ? $new_array[$i-1]['id'] : 0;
  54. $params['next_item_id'] = isset($new_array[$i+1]) && isset($new_array[$i+1]['id']) ? $new_array[$i+1]['id'] : 0;
  55. $params['parent_item_id'] = $parent_id;
  56. Database::update($tbl_lp_item, $params, array('id = ? AND c_id = ? '=> array(intval($id), $course_id)));
  57. $counter ++;
  58. }
  59. Display::display_confirmation_message(get_lang('Saved'));
  60. }
  61. break;
  62. default:
  63. echo '';
  64. }
  65. exit;