Example #1
0
 if (count($addressBookGroups) > 0) {
     foreach ($addressBookGroups as $addressBookGroup) {
         $destinations += $addressbookDAO->getAddressbookContactsInGroup($addressBookGroup, 'phone');
     }
 }
 if (count($addressBookContacts) > 0) {
     $destinations += $addressbookDAO->getAddressbookContactsById($addressBookContacts, 'phone');
 }
 // Merge Moodle users last - higher priority in linking than other contact type
 if (count($moodleUserGroups) > 0) {
     foreach ($moodleUserGroups as $userGroup) {
         $destinations += $userDAO->getUsersInGroup($userGroup, 'phone');
     }
 }
 if (count($moodleUsers) > 0) {
     $destinations += $userDAO->getUsersById($moodleUsers, 'phone');
 }
 // If there are valid destinations, send the message
 if (count($destinations) > 0) {
     $txttoolsAccount = $accountDAO->getTxttoolsAccountById($formData->txttoolsaccount);
     $thisUser = new MoodletxtBiteSizedUser($USER->id, $USER->username, $USER->firstname, $USER->lastname);
     if ($formData->schedule == 'schedule') {
         $scheduletime = usertime(gmmktime($formData->scheduletime['H'], $formData->scheduletime['i'], 0, $formData->scheduletime['M'], $formData->scheduletime['d'], $formData->scheduletime['Y']));
     } else {
         $scheduletime = time();
     }
     $outboundMessage = new MoodletxtOutboundMessage($txttoolsAccount, $thisUser, $formData->messageText, time(), MoodletxtOutboundMessage::$MESSAGE_CHARGE_TYPE_BULK, $scheduletime, $formData->suppressUnicode);
     $outboundMessage->setMessageRecipients($destinations);
     try {
         $connector = MoodletxtOutboundControllerFactory::getOutboundController(MoodletxtOutboundControllerFactory::$CONTROLLER_TYPE_XML);
         $outboundMessage->setSentSMSMessages($connector->sendMessage($outboundMessage));
Example #2
0
$accountList = $accountDAO->getAllTxttoolsAccounts(false, true, false, true);
// Create form and initialise data
$customData = array('filterAccountList' => array(0 => ''));
foreach ($accountList as $account) {
    $customData['filterAccountList'][$account->getId()] = $account->getUsername();
}
$filterForm = new MoodletxtFiltersForm(null, $customData);
$formData = $filterForm->get_data();
// Form processing
if ($formData != null) {
    $formData = $filterForm->cleanupFormData($formData);
    $usersOnFilter = array();
    // Run over the users selected for the filter and ensure they
    // are ready for saving
    if (isset($formData->usersOnFilter) && is_array($formData->usersOnFilter)) {
        $usersOnFilter = $userDAO->getUsersById($formData->usersOnFilter);
    }
    // Create or fetch filter object
    if ($formData->newKeywordFilter != '' || $formData->newPhoneNumberFilter != '') {
        $type = $formData->newKeywordFilter != '' ? MoodletxtInboundFilter::$FILTER_TYPE_KEYWORD : MoodletxtInboundFilter::$FILTER_TYPE_PHONE_NUMBER;
        $value = $formData->newKeywordFilter != '' ? $formData->newKeywordFilter : $formData->newPhoneNumberFilter;
        $filter = new MoodletxtInboundFilter($formData->filterAccountList, $type, $value);
    } else {
        $filterId = $formData->existingKeywordFilterList > 0 ? $formData->existingKeywordFilterList : $formData->existingPhoneNumberFilterList;
        $filter = $filterDAO->getFilterById($filterId);
    }
    // The easiest way of doing the filter links, rather than my old method
    // of finding the ones to remove and the ones to add, is simply to drop
    // them all and replace them with what's in the form. So let's do that!
    $filter->clearDestinationUsers();
    $filter->setDestinationUsers($usersOnFilter);