Example #1
0
 * @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);
Example #2
0
 * @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'));
Example #3
0
 /**
  * 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();
 }
Example #4
0
 /**
  * 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']);
 }