/cms/menudelete.php

https://github.com/nadavkav/MoodleTAO · PHP · 109 lines · 85 code · 19 blank · 5 comment · 10 complexity · 3bd7b9bdba2ad9f909e683342366aa23 MD5 · raw file

  1. <?php // $Id: menudelete.php,v 1.1.10.1 2008/03/23 09:36:06 julmis Exp $
  2. // This page deletes selected menu.
  3. require_once("../config.php");
  4. include_once('cmslocallib.php');
  5. $id = required_param('id', PARAM_INT); // menu id
  6. $courseid = optional_param('course', SITEID, PARAM_INT);
  7. require_login();
  8. if (! confirm_sesskey()) {
  9. error("Session key error!");
  10. }
  11. if ( !$course = get_record("course", "id", $courseid) ) {
  12. error("Invalid course id!!!");
  13. }
  14. /// Define context
  15. $contextinstance = null;
  16. $context = null;
  17. if ($courseid==SITEID ) {
  18. $contextinstance = CONTEXT_SYSTEM;
  19. } else {
  20. $contextinstance = CONTEXT_COURSE;
  21. }
  22. $context = get_context_instance($contextinstance, $course->id);
  23. require_capability('format/cms:deletemenu', $context);
  24. $stradministration = get_string("administration");
  25. $strdeletemenu = get_string("deletemenu","cms");
  26. $strcms = get_string("cms","cms");
  27. $strmenus = get_string("menus","cms");
  28. $navlinks = array();
  29. $navlinks[] = array('name' => $strcms.' '.$stradministration, 'link' => "index.php?course=$course->id&amp;sesskey=$USER->sesskey", 'type' => 'misc');
  30. $navlinks[] = array('name' => $strdeletemenu, 'link' => "", 'type' => 'misc');
  31. $navigation = build_navigation($navlinks);
  32. print_header_simple($strdeletemenu, "", $navigation, "", "", true);
  33. if ($menu = data_submitted()) {
  34. // User pushed cancel button.
  35. if ( !empty($menu->cancel) ) {
  36. redirect("menus.php?course=$courseid&amp;sesskey=$USER->sesskey");
  37. }
  38. // Just to be sure!
  39. if (empty($menu->id)) {
  40. error("Required variable missing!");
  41. }
  42. $menu->id = clean_param($menu->id, PARAM_INT);
  43. $pagerecords = get_records("cmsnavi_data","naviid", $menu->id);
  44. // Remove related pages
  45. if (! empty($pagerecords)) {
  46. foreach ($pagerecords as $pr) {
  47. $pr->pageid = addslashes($pr->pageid);
  48. if (! delete_records("cmspages", "id", $pr->pageid)) {
  49. error("Couldn't delete related page records!");
  50. }
  51. $pr->id = addslashes($pr->id);
  52. if ( ! delete_records("cmsnavi_data", "id", $pr->id)) {
  53. error("Couldn't delete related navigation data!");
  54. }
  55. }
  56. }
  57. if (!delete_records("cmsnavi","id", $menu->id)) {
  58. error("Couldn't delete requested menu!");
  59. }
  60. $message = get_string("menudeleted","cms");
  61. redirect("menus.php?course=$courseid&amp;sesskey=$USER->sesskey", $message);
  62. } else {
  63. // Print confirmation page
  64. // Just to be sure!!
  65. if (empty($id)) {
  66. error("Required variable missing!");
  67. }
  68. ob_start();
  69. print_simple_box_start("center", "100%", "", 20);
  70. print_heading($strdeletemenu);
  71. $form = get_record("cmsnavi", "id", $id);
  72. $deletemessage = get_string("menudeletesure","cms", $form->name);
  73. $form->id = $id;
  74. include('html/delete.php');
  75. print_simple_box_end();
  76. print_footer($course);
  77. ob_end_flush();
  78. }
  79. ?>