* @package core_user * @copyright 2010 Remote-Learner.net * @author Hubert Chathi <*****@*****.**> * @author Olav Jordan <*****@*****.**> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once dirname(__FILE__) . '/../config.php'; require_once $CFG->dirroot . '/my/lib.php'; require_once $CFG->libdir . '/adminlib.php'; $resetall = optional_param('resetall', null, PARAM_BOOL); require_login(); $header = "{$SITE->shortname}: " . get_string('publicprofile') . " (" . get_string('myprofile', 'admin') . ")"; $PAGE->set_blocks_editing_capability('moodle/my:configsyspages'); admin_externalpage_setup('profilepage', '', null, '', array('pagelayout' => 'mypublic')); if ($resetall && confirm_sesskey()) { my_reset_page_for_all_users(MY_PAGE_PUBLIC, 'user-profile'); redirect($PAGE->url, get_string('allprofileswerereset', 'my')); } // Override pagetype to show blocks properly. $PAGE->set_pagetype('user-profile'); $PAGE->set_title($header); $PAGE->set_heading($header); $PAGE->blocks->add_region('content'); // Get the Public Profile page info. Should always return something unless the database is broken. if (!($currentpage = my_get_page(null, MY_PAGE_PUBLIC))) { print_error('publicprofilesetup'); } $PAGE->set_subpage($currentpage->id); $url = new moodle_url($PAGE->url, array('resetall' => 1)); $button = $OUTPUT->single_button($url, get_string('reseteveryonesprofile', 'my')); $PAGE->set_button($button . $PAGE->button);
* @subpackage my * @copyright 2010 Remote-Learner.net * @author Hubert Chathi <*****@*****.**> * @author Olav Jordan <*****@*****.**> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once dirname(__FILE__) . '/../config.php'; require_once $CFG->dirroot . '/my/lib.php'; require_once $CFG->libdir . '/adminlib.php'; $resetall = optional_param('resetall', null, PARAM_BOOL); require_login(); $header = "{$SITE->shortname}: " . get_string('myhome') . " (" . get_string('mypage', 'admin') . ")"; $PAGE->set_blocks_editing_capability('moodle/my:configsyspages'); admin_externalpage_setup('mypage', '', null, '', array('pagelayout' => 'mydashboard')); if ($resetall && confirm_sesskey()) { my_reset_page_for_all_users(MY_PAGE_PRIVATE, 'my-index'); redirect($PAGE->url, get_string('alldashboardswerereset', 'my')); } // Override pagetype to show blocks properly. $PAGE->set_pagetype('my-index'); $PAGE->set_title($header); $PAGE->set_heading($header); $PAGE->blocks->add_region('content'); // Get the My Moodle page info. Should always return something unless the database is broken. if (!($currentpage = my_get_page(null, MY_PAGE_PRIVATE))) { print_error('mymoodlesetup'); } $PAGE->set_subpage($currentpage->id); // Display a button to reset everyone's dashboard. $url = new moodle_url($PAGE->url, array('resetall' => 1)); $button = $OUTPUT->single_button($url, get_string('reseteveryonesdashboard', 'my'));
/** * Test the dashboards reset event. * * We will reset all user dashboards to * trigger the event and ensure data is returned as expected. */ public function test_dashboards_reset() { global $CFG, $USER; require_once $CFG->dirroot . '/my/lib.php'; $sink = $this->redirectEvents(); // Reset all dashbaords. my_reset_page_for_all_users(); // Trigger and capture the event. $events = $sink->get_events(); $event = reset($events); // Check that the event data is valid. $this->assertInstanceOf('\\core\\event\\dashboards_reset', $event); $this->assertEquals($USER->id, $event->userid); $this->assertDebuggingNotCalled(); }
/** * Test the dashboards reset event. * * We will reset all user dashboards to * trigger the event and ensure data is returned as expected. */ public function test_dashboards_reset() { global $CFG, $USER; require_once $CFG->dirroot . '/my/lib.php'; $sink = $this->redirectEvents(); // Reset all dashbaords. my_reset_page_for_all_users(); // Trigger and capture the event. $events = $sink->get_events(); $event = reset($events); // Check that the event data is valid. $this->assertInstanceOf('\\core\\event\\dashboards_reset', $event); $this->assertEquals($USER->id, $event->userid); $this->assertEquals(MY_PAGE_PRIVATE, $event->other['private']); $this->assertEquals('my-index', $event->other['pagetype']); $this->assertDebuggingNotCalled(); // Reset the dashboards with private parameter is set to MY_PAGE_PUBLIC and pagetype set to 'user-profile'. $sink = $this->redirectEvents(); my_reset_page_for_all_users(MY_PAGE_PUBLIC, 'user-profile'); // Trigger and capture the event. $events = $sink->get_events(); $event = reset($events); $this->assertEquals(MY_PAGE_PUBLIC, $event->other['private']); $this->assertEquals('user-profile', $event->other['pagetype']); }