The SmsPlugin is a common class for clockwork and Kannel. Code is now more simple. Add SmsPluginLibraryInterface1.10.x
parent
1a25bc7c4d
commit
5c3e02b47e
@ -0,0 +1,144 @@ |
|||||||
|
<?php |
||||||
|
/* For licensing terms, see /license.txt */ |
||||||
|
|
||||||
|
/** |
||||||
|
* Class SmsPlugin |
||||||
|
* |
||||||
|
* @author Julio Montoya |
||||||
|
* |
||||||
|
*/ |
||||||
|
class SmsPlugin extends Plugin |
||||||
|
{ |
||||||
|
const WELCOME_LOGIN_PASSWORD = 0; |
||||||
|
const NEW_FILE_SHARED_COURSE_BY = 1; |
||||||
|
const ACCOUNT_APPROVED_CONNECT = 2; |
||||||
|
const NEW_COURSE_BEEN_CREATED = 3; |
||||||
|
const NEW_USER_SUBSCRIBED_COURSE = 4; |
||||||
|
const NEW_COURSE_SUGGESTED_TEACHER = 5; |
||||||
|
const COURSE_OPENING_REQUEST_CODE_REGISTERED = 6; |
||||||
|
const COURSE_OPENING_REQUEST_CODE_APPROVED = 7; |
||||||
|
const COURSE_OPENING_REQUEST_CODE_REJECTED = 8; |
||||||
|
const COURSE_OPENING_REQUEST_CODE = 9; |
||||||
|
const BEEN_SUBSCRIBED_COURSE = 10; |
||||||
|
const ASSIGNMENT_BEEN_CREATED_COURSE = 11; |
||||||
|
const ACCOUNT_CREATED_UPDATED_LOGIN_PASSWORD = 12; |
||||||
|
const PASSWORD_UPDATED_LOGIN_PASSWORD = 13; |
||||||
|
const REQUESTED_PASSWORD_CHANGE = 14; |
||||||
|
const RECEIVED_NEW_PERSONAL_MESSAGES = 15; |
||||||
|
const NEW_USER_PENDING_APPROVAL = 16; |
||||||
|
const POSTED_FORUM_COURSE = 17; |
||||||
|
const CHECK_EMAIL_CONNECT_MORE_INFO = 18; |
||||||
|
const STUDENT_ANSWERED_TEST = 19; |
||||||
|
const STUDENT_ANSWERED_TEST_OPEN_QUESTION = 20; |
||||||
|
const STUDENT_ANSWERED_TEST_VOICE_QUESTION = 21; |
||||||
|
const ANSWER_OPEN_QUESTION_TEST_REVIEWED = 22; |
||||||
|
const NEW_THREAD_STARTED_FORUM = 23; |
||||||
|
const NEW_ANSWER_POSTED_FORUM = 24; |
||||||
|
const NEW_SYSTEM_ANNOUNCEMENT_ADDED = 25; |
||||||
|
const TEST_NEW_SYSTEM_ANNOUNCEMENT_ADDED = 26; |
||||||
|
const SYSTEM_ANNOUNCEMENT_UPDATE = 27; |
||||||
|
const TEST_SYSTEM_ANNOUNCEMENT_UPDATE = 28; |
||||||
|
const USER_UPLOADED_ASSIGNMENT_COURSE_STUDENT_SUBMITS_PAPER = 29; |
||||||
|
const USER_UPLOADED_ASSIGNMENT_CHECK_STUDENT_SUBMITS_PAPER = 30; |
||||||
|
const USER_UPLOADED_ASSIGNMENT_COURSE = 31; |
||||||
|
const USER_UPLOADED_ASSIGNMENT_CHECK = 32; |
||||||
|
const SUBSCRIBED_SESSION = 33; |
||||||
|
const SUBSCRIBED_SESSION_CSV = 34; |
||||||
|
const USER_SUGGESTED_BE_FRIENDS = 35; |
||||||
|
const USER_ANSWERED_INBOX_MESSAGE = 36; |
||||||
|
const BEEN_INVITED_JOIN_GROUP = 37; |
||||||
|
const MESSAGES_SENT_EDITED_GROUP_EDITED = 38; |
||||||
|
const MESSAGES_SENT_EDITED_GROUP_ADDED = 39; |
||||||
|
const BEEN_INVITED_COMPLETE_SURVEY_COURSE = 40; |
||||||
|
const REMINDER_ASSIGNMENT_COURSE_DUE = 41; |
||||||
|
const USER_DETAILS_MODIFIED = 42; |
||||||
|
|
||||||
|
public $isCoursePlugin = true; |
||||||
|
public $isMailPlugin = true; |
||||||
|
|
||||||
|
/** |
||||||
|
* getSmsTypeOptions (returns all SMS types) |
||||||
|
* @return array SMS types |
||||||
|
*/ |
||||||
|
public function getSmsTypeOptions() |
||||||
|
{ |
||||||
|
return array( |
||||||
|
'MessageWelcomeXLoginXPasswordX', |
||||||
|
'MessageXNewFileSharedCourseXByX', |
||||||
|
'MessageXAccountApprovedConnectX', |
||||||
|
'MessageXNewCourseXBeenCreatedX', |
||||||
|
'MessageXNewUserXSubscribedCourseX', |
||||||
|
'MessageXNewCourseSuggestedTeacherX', |
||||||
|
'MessageXCourseOpeningRequestCodeXRegistered', |
||||||
|
'MessageXCourseOpeningRequestCourseCodeXApproved', |
||||||
|
'MessageXRequestOpenCourseCodeXReject', |
||||||
|
'MessageXCourseOpeningRequestCourseCodeX', |
||||||
|
'MessageXBeenSubscribedCourseX', |
||||||
|
'MessageXAssignmentBeenCreatedCourseX', |
||||||
|
'MessageXAccountCreatedUpdatedLoginXPasswordX', |
||||||
|
'MessageXPasswordUpdatedLoginXPasswordX', |
||||||
|
'MessageXRequestedPasswordChange', |
||||||
|
'MessageXReceivedNewPersonalMessages', |
||||||
|
'MessageXNewUserXPendingApproval', |
||||||
|
'MessageXXPostedForumXCourseX', |
||||||
|
'MessageXXXCheckEmailConnectMoreInfo', |
||||||
|
'MessageXXStudentXAnsweredTestX', |
||||||
|
'MessageXXStudentXAnsweredTestXOpenQuestion', |
||||||
|
'MessageXXStudentXAnsweredTestXVoiceQuestion', |
||||||
|
'MessageXXAnswerOpenQuestionTestXReviewed', |
||||||
|
'MessageXXNewThreadXStartedForumX', |
||||||
|
'MessageXXNewAnswerPostedXForumX', |
||||||
|
'MessageXXNewSystemAnnouncementAdded', |
||||||
|
'MessageXTestXNewSystemAnnouncementAdded', |
||||||
|
'MessageXXSystemAnnouncementUpdate', |
||||||
|
'MessageXTestXSystemAnnouncementUpdate', |
||||||
|
'MessageXUserXUploadedAssignmentXCourseXStudentSubmitsPaper', |
||||||
|
'MessageXUserXUploadedAssignmentXCheckXStudentSubmitsPaper', |
||||||
|
'MessageXUserXUploadedAssignmentXCourseX', |
||||||
|
'MessageXUserXUploadedAssignmentXCheckX', |
||||||
|
'MessageXSubscribedSessionX', |
||||||
|
'MessageXSubscribedSessionXCSV', |
||||||
|
'MessageXUserXSuggestedBeFriends', |
||||||
|
'MessageXUserXAnsweredInboxMessage', |
||||||
|
'MessageXBeenInvitedJoinGroupX', |
||||||
|
'MessageXMessagesSentEditedGroupXEdited', |
||||||
|
'MessageXMessagesSentEditedGroupXAdded', |
||||||
|
'MessageXBeenInvitedCompleteSurveyXCourseX', |
||||||
|
'MessageXReminderAssignmentXCourseXDue', |
||||||
|
'MessageXUserDetailsModified' |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* addMobilePhoneNumberField (adds a mobile phone number field if it is not |
||||||
|
* already created) |
||||||
|
* @return void |
||||||
|
*/ |
||||||
|
private function addMobilePhoneNumberField() |
||||||
|
{ |
||||||
|
$extraField = new ExtraField('user'); |
||||||
|
$extraFieldInfo = $extraField->get_handler_field_info_by_field_variable('mobile_phone_number'); |
||||||
|
|
||||||
|
if (empty($extraFieldInfo)) { |
||||||
|
$extraField->save(array( |
||||||
|
'field_type' => 1, |
||||||
|
'field_variable' => 'mobile_phone_number', |
||||||
|
'field_display_text' => $this->get_lang('mobile_phone_number'), |
||||||
|
'field_default_value' => null, |
||||||
|
'field_order' => 2, |
||||||
|
'field_visible' => 1, |
||||||
|
'field_changeable' => 1, |
||||||
|
'field_filter' => null |
||||||
|
)); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* install (installs the plugin) |
||||||
|
* @return void |
||||||
|
*/ |
||||||
|
public function install() |
||||||
|
{ |
||||||
|
$this->addMobilePhoneNumberField(); |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,43 @@ |
|||||||
|
<?php |
||||||
|
/* For licensing terms, see /license.txt */ |
||||||
|
|
||||||
|
/** |
||||||
|
* Class SmsPluginLibraryInterface |
||||||
|
* |
||||||
|
* @author Julio Montoya |
||||||
|
* |
||||||
|
*/ |
||||||
|
interface SmsPluginLibraryInterface |
||||||
|
{ |
||||||
|
/** |
||||||
|
* getMobilePhoneNumberById (retrieves a user mobile phone number by user id) |
||||||
|
* |
||||||
|
* @param int $userId |
||||||
|
* |
||||||
|
* @return int User's mobile phone number |
||||||
|
*/ |
||||||
|
public function getMobilePhoneNumberById($userId); |
||||||
|
|
||||||
|
/** |
||||||
|
* @param array $additionalParameters |
||||||
|
* @return mixed |
||||||
|
*/ |
||||||
|
public function send($additionalParameters); |
||||||
|
|
||||||
|
/** |
||||||
|
* @param array $additionalParameters |
||||||
|
* @return mixed |
||||||
|
*/ |
||||||
|
public function getSms($additionalParameters); |
||||||
|
|
||||||
|
/** |
||||||
|
* buildSms (builds an SMS from a template and data) |
||||||
|
* @param object ClockworksmsPlugin object |
||||||
|
* @param object Template object |
||||||
|
* @param string Template file name |
||||||
|
* @param string Text key from lang file |
||||||
|
* @param array Data to fill message variables (if any) |
||||||
|
* @return object Template object with message property updated |
||||||
|
*/ |
||||||
|
public function buildSms($plugin, $tpl, $templateName, $messageKey, $parameters = null); |
||||||
|
} |
||||||
Loading…
Reference in new issue