Example #1
0
$PAGE->requires->strings_for_js(array('errorlabel', 'errornonumber', 'errornofirstname', 'errornolastname', 'errornorecipientsselected', 'errornomessage'), 'block_moodletxt');
$PAGE->requires->jquery();
$PAGE->requires->jquery_plugin('ui');
$PAGE->requires->jquery_plugin('ui-css');
$PAGE->requires->jquery_plugin('moodletxt-colour', 'block_moodletxt');
$PAGE->requires->jquery_plugin('moodletxt-selectboxes', 'block_moodletxt');
$PAGE->requires->jquery_plugin('moodletxt-json', 'block_moodletxt');
$PAGE->requires->jquery_plugin('moodletxt-detatchselect', 'block_moodletxt');
$PAGE->requires->js('/blocks/moodletxt/js/lib.js', true);
$PAGE->requires->js('/blocks/moodletxt/js/send.js', true);
$PAGE->requires->js('/blocks/moodletxt/js/lib/qfamsHandler.js', true);
// We don't need overrides for IE6, as Moodle 2 has dropped it!
// Oh, the happiness. The sheer unrelenting joy.
$PAGE->requires->css('/blocks/moodletxt/style/send.css');
// User's signature
$PAGE->requires->js_init_call('receiveUserSignature', array($userDAO->getUserConfig($USER->id)->getUserConfig('signature')));
// Set up send form and load in all our lovely data
$GLOBALS['_HTML_QuickForm_default_renderer'] = new QuickFormRendererWithSlides();
// Override renderer for slides
$output = $PAGE->get_renderer('block_moodletxt');
$potentialRecipients = array();
$initialData = array();
$customData = array('course' => $courseId, 'instance' => $instanceId, 'existingTemplates' => array(), 'potentialRecipients' => &$potentialRecipients, 'txttoolsAccounts' => array(), 'moodleUsers' => array(), 'moodleGroups' => array());
$templates = $templateDAO->getAllTemplatesForUserId($USER->id);
$accounts = $accountDAO->getAccessibleAccountsForUserId($USER->id, true, false);
$moodleUsers = $userDAO->getUsersOnCourse($courseId);
$moodleGroups = $userDAO->getUserGroupsOnCourse($courseId);
$abContacts = $addressbookDAO->getAddressbookContactsForUser($USER->id);
$abGroups = $addressbookDAO->getAddressbookGroupsForUser($USER->id);
if (count($accounts) === 0) {
    print_error('errornoaccountspresent', 'block_moodletxt');
Example #2
0
$PAGE->requires->js('/blocks/moodletxt/js/preferences.js', true);
$output = $PAGE->get_renderer('block_moodletxt');
// Load custom data into form
$customData = array('course' => $courseId, 'instance' => $instanceId, 'existingTemplate' => array());
$templates = $templateDAO->getAllTemplatesForUserId($USER->id);
// Load again in case of change
foreach ($templates as $template) {
    $customData['existingTemplate'][$template->getId()] = $template->getText();
}
$preferencesForm = new UserPreferencesForm(null, $customData);
// POST PROCESSING
$formData = $preferencesForm->get_data();
$notifications = '';
if ($formData != null) {
    $formData = $preferencesForm->cleanFormData($formData);
    $userConfig = $userDAO->getUserConfig($USER->id);
    $templates = $templateDAO->getAllTemplatesForUserId($USER->id);
    // Process submitted signatures
    if ($formData->signature != $userConfig->getUserConfig('signature')) {
        $userConfig->setUserConfig('signature', $formData->signature);
    }
    if ($formData->hideSources != $userConfig->getUserConfig('hideSources')) {
        $userConfig->setUserConfig('hideSources', $formData->hideSources);
    }
    if ($formData->liveUpdateInterval != $userConfig->getUserConfig('liveUpdateInterval')) {
        $userConfig->setUserConfig('liveUpdateInterval', $formData->liveUpdateInterval);
    }
    // Save config to table
    if ($userDAO->saveUserConfig($userConfig)) {
        $notifications .= $output->notification(get_string('notifyprefsupdated', 'block_moodletxt'), 'notifysuccess');
    } else {