/**
  * Grabs a single Moodle user from the DB by its record ID
  * @global moodle_database $DB Moodle database manager
  * @param int $userId User record ID
  * @param boolean $includeConfig 
  * @return MoodletxtBiteSizedUser Moodle user
  * @version 2012060101
  * @since 2011062701
  */
 public function getUserById($userId, $includeConfig = false, $includeTemplates = false)
 {
     global $DB;
     $numberSource = get_config('moodletxt', 'Phone_Number_Source');
     $numberField = $numberSource == 'phone1' ? 'phone1' : 'phone2';
     // Protects against bad DB values and abstracts field name
     $fields = 'id, username, firstname, lastname, ' . $numberField;
     $moodleUser = $DB->get_record('user', array('id' => $userId), $fields);
     if (!is_object($moodleUser)) {
         throw new InvalidArgumentException(get_string('errorinvalidaccountid', 'block_moodletxt'));
     }
     $userObject = new MoodletxtBiteSizedUser($moodleUser->id, $moodleUser->username, $moodleUser->firstname, $moodleUser->lastname);
     try {
         $phoneObject = new MoodletxtPhoneNumber($moodleUser->{$numberField});
         $userObject->setRecipientNumber($phoneObject);
     } catch (InvalidPhoneNumberException $ex) {
         // Profile's phone number is invalid - not necessary to throw further
     }
     // Include optionals if requested
     if ($includeConfig) {
         $userObject->setConfig($this->getUserConfig($userObject->getId()));
     }
     if ($includeTemplates) {
         $userObject->setTemplates($this->templateDAO->getAllTemplatesForUserId($userObject->getId()));
     }
     return $userObject;
 }
Example #2
0
require_once $CFG->dirroot . '/blocks/moodletxt/forms/renderers/QuickFormRendererWithSlides.php';
require_once $CFG->dirroot . '/blocks/moodletxt/forms/MoodletxtSendMessageForm.php';
require_once $CFG->dirroot . '/blocks/moodletxt/connect/MoodletxtOutboundControllerFactory.php';
$courseId = required_param('course', PARAM_INT);
$instanceId = required_param('instance', PARAM_INT);
$replyType = optional_param('replyType', '', PARAM_ALPHA);
$replyValue = optional_param('replyValue', '', PARAM_RAW_TRIMMED);
if ($replyType == 'additional' && !MoodletxtPhoneNumber::validatePhoneNumber($replyValue)) {
    $replyType = '';
    $replyValue = '';
}
require_login($courseId, false);
$blockcontext = context_block::instance($instanceId);
require_capability('block/moodletxt:sendmessages', $blockcontext, $USER->id);
// OK, so you're legit. Let's load DAOs and required DB data
$templateDAO = new MoodletxtTemplatesDAO();
$accountDAO = new TxttoolsAccountDAO();
$addressbookDAO = new MoodletxtAddressbookDAO();
$userDAO = new MoodletxtMoodleUserDAO();
$messageDAO = new TxttoolsSentMessageDAO();
$statsDAO = new MoodletxtUserStatsDAO();
$course = $DB->get_record('course', array('id' => $courseId));
$notifications = '';
// Set up the page for rendering
$PAGE->set_url('/blocks/moodletxt/send.php');
$PAGE->set_title(get_string('titlesend', 'block_moodletxt') . ' ' . $course->fullname);
$PAGE->set_heading(get_string('headersend', 'block_moodletxt'));
$PAGE->set_pagelayout('incourse');
$PAGE->set_button('');
// Clear editing button
$PAGE->navbar->add(get_string('navmoodletxt', 'block_moodletxt'), null, navigation_node::TYPE_CUSTOM, 'moodletxt');
Example #3
0
 * @license http://www.gnu.org/licenses/gpl.html GNU General Public Licence v3 (See code header for additional terms)
 * @version 2014071401
 * @since 2011072601
 */
require_once '../../config.php';
require_once $CFG->dirroot . '/blocks/moodletxt/dao/MoodletxtMoodleUserDAO.php';
require_once $CFG->dirroot . '/blocks/moodletxt/dao/MoodletxtTemplatesDAO.php';
require_once $CFG->dirroot . '/blocks/moodletxt/forms/UserPreferencesForm.php';
$courseId = required_param('course', PARAM_INT);
$instanceId = required_param('instance', PARAM_INT);
require_login($courseId, false);
$blockcontext = context_block::instance($instanceId);
require_capability('block/moodletxt:personalsettings', $blockcontext, $USER->id);
// Load DAOs
$userDAO = new MoodletxtMoodleUserDAO();
$templateDAO = new MoodletxtTemplatesDAO();
// Set up page object and JavaScript requirements
$PAGE->set_url('/blocks/moodletxt/preferences.php');
$PAGE->set_heading(get_string('headerpreferences', 'block_moodletxt'));
$PAGE->set_title(get_string('titlepreferences', 'block_moodletxt'));
$PAGE->set_pagelayout('incourse');
$PAGE->set_button('');
// Clear editing button
$PAGE->navbar->add(get_string('navmoodletxt', 'block_moodletxt'), null, navigation_node::TYPE_CUSTOM, 'moodletxt');
$PAGE->navbar->add(get_string('navpreferences', 'block_moodletxt'), null, navigation_node::TYPE_CUSTOM, 'moodletxt');
$PAGE->requires->strings_for_js(array('headertemplatesedit', 'alertnotemplateselected', 'alertconfirmdeletetemplate', 'settingsedittemplate', 'warnunicode'), 'block_moodletxt');
$PAGE->requires->jquery();
$PAGE->requires->jquery_plugin('moodletxt-json', 'block_moodletxt');
$PAGE->requires->jquery_plugin('moodletxt-timers', 'block_moodletxt');
$PAGE->requires->jquery_plugin('moodletxt-selectboxes', 'block_moodletxt');
$PAGE->requires->js('/blocks/moodletxt/js/lib.js', true);