/** * Tests whether the airnotifier settings have been configured * * @since Moodle 2.7 */ public static function is_system_configured() { global $DB; // First, check if the plugin is disabled. $processor = $DB->get_record('message_processors', array('name' => 'airnotifier'), '*', MUST_EXIST); if (!$processor->enabled) { return 0; } // Then, check if the plugin is completly configured. $manager = new message_airnotifier_manager(); return (int) $manager->is_system_configured(); }
/** * Tests whether the airnotifier settings have been configured * @return boolean true if airnotifier is configured */ public function is_system_configured() { $airnotifiermanager = new message_airnotifier_manager(); return $airnotifiermanager->is_system_configured(); }
/** * Enables or disables a registered user device so it can receive Push notifications * * @param integer $deviceid the device id * @param bool $enable whether to enable the device * @return array warnings and success status * @throws moodle_exception * @since Moodle 3.2 */ public static function enable_device($deviceid, $enable) { global $USER; $params = self::validate_parameters(self::enable_device_parameters(), array('deviceid' => $deviceid, 'enable' => $enable)); $context = context_system::instance(); self::validate_context($context); require_capability('message/airnotifier:managedevice', $context); if (!message_airnotifier_manager::enable_device($params['deviceid'], $params['enable'])) { throw new moodle_exception('unknowndevice', 'message_airnotifier'); } return array('success' => true, 'warnings' => array()); }
$PAGE->navbar->add(get_string('messageoutputs', 'message')); $returl = new moodle_url('/admin/settings.php', array('section' => 'messagesettingairnotifier')); $PAGE->navbar->add(get_string('pluginname', 'message_airnotifier'), $returl); $PAGE->navbar->add($strheading); $PAGE->set_heading($strheading); $PAGE->set_title($strheading); $msg = ""; // If we are requesting a key to the official message system, verify first that this site is registered. // This check is also done in Airnotifier. if (strpos($CFG->airnotifierurl, AIRNOTIFIER_PUBLICURL) !== false) { $registrationmanager = new registration_manager(); if (!$registrationmanager->get_registeredhub(HUB_MOODLEORGHUBURL)) { $msg = get_string('sitemustberegistered', 'message_airnotifier'); $msg .= $OUTPUT->continue_button($returl); echo $OUTPUT->header(); echo $OUTPUT->box($msg, 'generalbox'); echo $OUTPUT->footer(); die; } } $manager = new message_airnotifier_manager(); if ($key = $manager->request_accesskey()) { set_config('airnotifieraccesskey', $key); $msg = get_string('keyretrievedsuccessfully', 'message_airnotifier'); } else { $msg = get_string('errorretrievingkey', 'message_airnotifier'); } $msg .= $OUTPUT->continue_button($returl); echo $OUTPUT->header(); echo $OUTPUT->box($msg, 'generalbox '); echo $OUTPUT->footer();
// GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * Provide interface for AJAX device actions * * @copyright 2012 Jerome Mouneyrac * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @package message_airnotifier */ define('AJAX_SCRIPT', true); require_once __DIR__ . '/../../../config.php'; // Initialise ALL the incoming parameters here, up front. $id = required_param('id', PARAM_INT); $enable = required_param('enable', PARAM_BOOL); require_login(); require_sesskey(); $systemcontext = context_system::instance(); $PAGE->set_url('/message/output/airnotifier/rest.php'); $PAGE->set_context($systemcontext); require_capability('message/airnotifier:managedevice', $systemcontext); echo $OUTPUT->header(); // Response class to be converted to json string. $response = new stdClass(); if (!message_airnotifier_manager::enable_device($id, $enable)) { throw new moodle_exception('unknowndevice', 'message_airnotifier'); } $response->success = true; echo json_encode($response); die;