예제 #1
0
/**
 * Renders the popup.
 *
 * @param renderer_base $renderer
 * @return string The HTML
 */
function message_popup_render_navbar_output(\renderer_base $renderer)
{
    global $USER, $CFG;
    // Early bail out conditions.
    if (!isloggedin() || isguestuser() || user_not_fully_set_up($USER) || get_user_preferences('auth_forcepasswordchange') || $CFG->sitepolicy && !$USER->policyagreed && !is_siteadmin()) {
        return '';
    }
    $output = '';
    // Add the messages popover.
    if (!empty($CFG->messaging)) {
        $context = ['userid' => $USER->id, 'urls' => ['seeall' => (new moodle_url('/message/index.php'))->out(), 'writeamessage' => (new moodle_url('/message/index.php', ['contactsfirst' => 1]))->out(), 'preferences' => (new moodle_url('/message/edit.php', ['id' => $USER->id]))->out()]];
        $output .= $renderer->render_from_template('message_popup/message_popover', $context);
    }
    // Add the notifications popover.
    $enabled = \core_message\api::is_processor_enabled("popup");
    if ($enabled) {
        $context = ['userid' => $USER->id, 'urls' => ['seeall' => (new moodle_url('/message/output/popup/notifications.php'))->out(), 'preferences' => (new moodle_url('/message/notificationpreferences.php', ['userid' => $USER->id]))->out()]];
        $output .= $renderer->render_from_template('message_popup/notification_popover', $context);
    }
    return $output;
}
예제 #2
0
 /**
  * Test method is_user_enabled.
  */
 public function is_user_enabled()
 {
     $processors = get_message_processors();
     if (empty($processors)) {
         $this->markTestSkipped("No message processors found");
     }
     list($name, $testprocessor) = each($processors);
     // Enable.
     \core_message\api::update_processor_status($testprocessor, 1);
     $status = \core_message\api::is_processor_enabled($name);
     $this->assertEquals(1, $status);
     // Disable.
     \core_message\api::update_processor_status($testprocessor, 0);
     $status = \core_message\api::is_processor_enabled($name);
     $this->assertEquals(0, $status);
     // Enable again.
     \core_message\api::update_processor_status($testprocessor, 1);
     $status = \core_message\api::is_processor_enabled($name);
     $this->assertEquals(1, $status);
 }