Пример #1
0
require_once $CFG->dirroot . '/blocks/moodletxt/dao/TxttoolsReceivedMessageDAO.php';
require_once $CFG->dirroot . '/blocks/moodletxt/dao/MoodletxtMoodleUserDAO.php';
require_once $CFG->dirroot . '/blocks/moodletxt/forms/renderers/InlineFormRenderer.php';
require_once $CFG->dirroot . '/blocks/moodletxt/forms/MoodletxtInboxControlForm.php';
require_once $CFG->dirroot . '/blocks/moodletxt/util/MoodletxtStringHelper.php';
$courseId = required_param('course', PARAM_INT);
$instanceId = required_param('instance', PARAM_INT);
$update = optional_param('update', 0, PARAM_INT);
$download = optional_param('download', '', PARAM_ALPHA);
require_login($courseId, false);
$blockcontext = context_block::instance($instanceId);
require_capability('block/moodletxt:receivemessages', $blockcontext, $USER->id);
// OK, so you're legit. Let's load DAOs
$txttoolsAccountDAO = new TxttoolsAccountDAO();
$receivedMessagesDAO = new TxttoolsReceivedMessageDAO();
$inboundFilterManager = new MoodletxtInboundFilterManager();
$userDAO = new MoodletxtMoodleUserDAO();
// Get user's inbox preferences
$globalSourceConfig = get_config('moodletxt', 'Show_Inbound_Numbers');
$userConfig = $userDAO->getUserConfig($USER->id);
$showInboundNumbers = $userConfig->getUserConfig('hideSources') == '0' && $globalSourceConfig == '1';
// Get tags and counts for user
$tagList = $receivedMessagesDAO->getAllTagsForUser($USER->id);
/*
 * Check to see if inbound messages should be fetched at this point.
 * This should only be used on-demand, or if the user cannot
 * set up XML Push
 */
$fetchErrors = array();
if ($update == 1 || get_config('moodletxt', 'Get_Inbound_On_View') == '1') {
    try {
Пример #2
0
require_once '../../config.php';
require_once $CFG->dirroot . '/blocks/moodletxt/lib/MoodletxtEncryption.php';
require_once $CFG->dirroot . '/blocks/moodletxt/connect/xml/MoodletxtXMLParser.php';
require_once $CFG->dirroot . '/blocks/moodletxt/dao/TxttoolsSentMessageDAO.php';
require_once $CFG->dirroot . '/blocks/moodletxt/dao/TxttoolsReceivedMessageDAO.php';
require_once $CFG->dirroot . '/blocks/moodletxt/inbound/MoodletxtInboundFilterManager.php';
// Read in POST variables
$inPushUser = required_param('u', PARAM_ALPHANUM);
$inPushPass = required_param('p', PARAM_ALPHANUM);
$inPayload = required_param('x', PARAM_RAW);
// Assuming we have the right params, set up for parsing
$parser = new MoodletxtXMLParser();
$decrypter = new MoodletxtEncryption();
$sentMessagesDAO = new TxttoolsSentMessageDAO();
$receivedMessagesDAO = new TxttoolsReceivedMessageDAO();
$inboundFilterManager = new MoodletxtInboundFilterManager();
$key = get_config('moodletxt', 'EK');
$pushUsername = get_config('moodletxt', 'Push_Username');
$pushPassword = $decrypter->decrypt($key, get_config('moodletxt', 'Push_Password'));
// Check credentials against those stored in Moodle
if ($inPushUser === $pushUsername && $inPushPass === $pushPassword) {
    $parsedInboundMessages = array();
    $parsedStatusUpdates = array();
    try {
        $parsedObjects = $parser->parse($inPayload);
    } catch (Exception $ex) {
        // Invalid XML from remote system
        die;
    }
    if (is_array($parsedObjects)) {
        // Filter objects and save accordingly