indexsys.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. // This file is part of Moodle - http://moodle.org/
  3. //
  4. // Moodle is free software: you can redistribute it and/or modify
  5. // it under the terms of the GNU General Public License as published by
  6. // the Free Software Foundation, either version 3 of the License, or
  7. // (at your option) any later version.
  8. //
  9. // Moodle is distributed in the hope that it will be useful,
  10. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. // GNU General Public License for more details.
  13. //
  14. // You should have received a copy of the GNU General Public License
  15. // along with Moodle. If not, see <http://www.gnu.org/licenses/>.
  16. /**
  17. * My Moodle -- a user's personal dashboard
  18. *
  19. * - each user can currently have their own page (cloned from system and then customised)
  20. * - only the user can see their own dashboard
  21. * - users can add any blocks they want
  22. * - the administrators can define a default site dashboard for users who have
  23. * not created their own dashboard
  24. *
  25. * This script implements the user's view of the dashboard, and allows editing
  26. * of the dashboard.
  27. *
  28. * @package moodlecore
  29. * @subpackage my
  30. * @copyright 2010 Remote-Learner.net
  31. * @author Hubert Chathi <hubert@remote-learner.net>
  32. * @author Olav Jordan <olav.jordan@remote-learner.net>
  33. * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  34. */
  35. require_once(__DIR__ . '/../config.php');
  36. require_once($CFG->dirroot . '/my/lib.php');
  37. require_once($CFG->libdir.'/adminlib.php');
  38. $resetall = optional_param('resetall', null, PARAM_BOOL);
  39. require_login();
  40. $header = "$SITE->shortname: ".get_string('myhome')." (".get_string('mypage', 'admin').")";
  41. $PAGE->set_blocks_editing_capability('moodle/my:configsyspages');
  42. admin_externalpage_setup('mypage', '', null, '', array('pagelayout' => 'mydashboard'));
  43. if ($resetall && confirm_sesskey()) {
  44. my_reset_page_for_all_users(MY_PAGE_PRIVATE, 'my-index');
  45. redirect($PAGE->url, get_string('alldashboardswerereset', 'my'));
  46. }
  47. // Override pagetype to show blocks properly.
  48. $PAGE->set_pagetype('my-index');
  49. $PAGE->set_title($header);
  50. $PAGE->set_heading($header);
  51. $PAGE->blocks->add_region('content');
  52. // Get the My Moodle page info. Should always return something unless the database is broken.
  53. if (!$currentpage = my_get_page(null, MY_PAGE_PRIVATE)) {
  54. print_error('mymoodlesetup');
  55. }
  56. $PAGE->set_subpage($currentpage->id);
  57. // Display a button to reset everyone's dashboard.
  58. $url = new moodle_url($PAGE->url, array('resetall' => 1));
  59. $button = $OUTPUT->single_button($url, get_string('reseteveryonesdashboard', 'my'));
  60. $PAGE->set_button($button . $PAGE->button);
  61. echo $OUTPUT->header();
  62. echo $OUTPUT->custom_block_region('content');
  63. echo $OUTPUT->footer();