diff --git a/main/dropbox/dropbox_functions.inc.php b/main/dropbox/dropbox_functions.inc.php
index 7e8ccbbca1..8092e42e12 100755
--- a/main/dropbox/dropbox_functions.inc.php
+++ b/main/dropbox/dropbox_functions.inc.php
@@ -879,9 +879,8 @@ function store_add_dropbox()
if ($b_send_mail) {
foreach ($new_work_recipients as $recipient_id) {
$recipent_temp = UserManager :: get_user_info_by_id($recipient_id);
- $plugin = new AppPlugin();
$additionalParameters = array(
- 'smsType' => constant($plugin->getSMSPluginName().'::NEW_FILE_SHARED_COURSE_BY'),
+ 'smsType' => SmsPlugin::NEW_FILE_SHARED_COURSE_BY,
'userId' => $recipient_id,
'courseTitle' => $_course['title'],
'userUsername' => $recipent_temp['username']
diff --git a/main/inc/ajax/user_manager.ajax.php b/main/inc/ajax/user_manager.ajax.php
index fbff6ae91c..e294fdc9c4 100755
--- a/main/inc/ajax/user_manager.ajax.php
+++ b/main/inc/ajax/user_manager.ajax.php
@@ -94,9 +94,8 @@ switch ($action) {
//$emailbody.=get_lang('Problem'). "\n\n". get_lang('SignatureFormula');
$emailbody.=api_get_person_name(api_get_setting('administratorName'), api_get_setting('administratorSurname'))."\n". get_lang('Manager'). " ".api_get_setting('siteName')."\nT. ".api_get_setting('administratorTelephone')."\n" .get_lang('Email') ." : ".api_get_setting('emailAdministrator');
- $plugin = new AppPlugin();
- $additionalParameters = array(
- 'smsType' => constant($plugin->getSMSPluginName().'::ACCOUNT_APPROVED_CONNECT'),
+ $additionalParameters = array(
+ 'smsType' => SmsPlugin::ACCOUNT_APPROVED_CONNECT,
'userId' => $user_id
);
diff --git a/main/inc/lib/SmsPlugin.php b/main/inc/lib/SmsPlugin.php
new file mode 100644
index 0000000000..b588dd6982
--- /dev/null
+++ b/main/inc/lib/SmsPlugin.php
@@ -0,0 +1,144 @@
+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();
+ }
+}
diff --git a/main/inc/lib/SmsPluginLibraryInterface.php b/main/inc/lib/SmsPluginLibraryInterface.php
new file mode 100644
index 0000000000..5ad6800575
--- /dev/null
+++ b/main/inc/lib/SmsPluginLibraryInterface.php
@@ -0,0 +1,43 @@
+ constant(
- $plugin->getSMSPluginName(
- ) . '::NEW_COURSE_BEEN_CREATED'
- ),
+ 'smsType' => SmsPlugin::NEW_COURSE_BEEN_CREATED,
'userId' => $user_id,
'courseName' => $title,
'creatorUsername' => $userInfo['username']
diff --git a/main/inc/lib/api.lib.php b/main/inc/lib/api.lib.php
index 7d39789989..8f47aec2b2 100644
--- a/main/inc/lib/api.lib.php
+++ b/main/inc/lib/api.lib.php
@@ -8017,13 +8017,11 @@ function api_mail_html(
return 0;
}
- $plugin = new AppPlugin();
- $installedPluginsList = $plugin->getInstalledPluginListObject();
- foreach ($installedPluginsList as $installedPlugin) {
- if ($installedPlugin->isMailPlugin and array_key_exists("smsType", $additionalParameters)) {
- $className = str_replace("Plugin", "", get_class($installedPlugin));
- $smsObject = new $className;
- $smsObject->send($additionalParameters);
+ if (!empty($additionalParameters)) {
+ $plugin = new AppPlugin();
+ $smsPlugin = $plugin->getSMSPluginLibrary();
+ if ($smsPlugin) {
+ $smsPlugin->send($additionalParameters);
}
}
diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php
index 8176e136a5..f9e75b0189 100755
--- a/main/inc/lib/course.lib.php
+++ b/main/inc/lib/course.lib.php
@@ -2465,9 +2465,8 @@ class CourseManager
api_get_setting('administratorSurname'), null, PERSON_NAME_EMAIL_ADDRESS);
$email_admin = api_get_setting('emailAdministrator');
- $plugin = new AppPlugin();
$additionalParameters = array(
- 'smsType' => constant($plugin->getSMSPluginName() . '::NEW_USER_SUBSCRIBED_COURSE'),
+ 'smsType' => SmsPlugin::NEW_USER_SUBSCRIBED_COURSE,
'userId' => $tutor['user_id'],
'userUsername' => $student['username'],
'courseCode' => $course_code
diff --git a/main/inc/lib/course_request.lib.php b/main/inc/lib/course_request.lib.php
index 573e6c9518..8370c9d5a1 100755
--- a/main/inc/lib/course_request.lib.php
+++ b/main/inc/lib/course_request.lib.php
@@ -59,7 +59,6 @@ class CourseRequestManager
$user_id,
$exemplary_content
) {
- global $_configuration;
$wanted_code = trim($wanted_code);
$user_id = (int)$user_id;
$exemplary_content = (bool)$exemplary_content ? 1 : 0;
@@ -95,7 +94,8 @@ class CourseRequestManager
$db_name = isset($keys['currentCourseDbName']) ? $keys['currentCourseDbName'] : null;
$directory = $keys['currentCourseRepository'];
- $sql = sprintf('INSERT INTO %s (
+ $sql = sprintf(
+ 'INSERT INTO %s (
code, user_id, directory, db_name,
course_language, title, description, category_code,
tutor_name, visual_code, request_date,
@@ -104,23 +104,37 @@ class CourseRequestManager
"%s", "%s", "%s", "%s",
"%s", "%s", "%s", "%s",
"%s", "%s", "%s",
- "%s", "%s", "%s", "%s", "%s");', Database::get_main_table(TABLE_MAIN_COURSE_REQUEST),
- Database::escape_string($code), Database::escape_string($user_id), Database::escape_string($directory), Database::escape_string($db_name),
- Database::escape_string($course_language), Database::escape_string($title), Database::escape_string($description), Database::escape_string($category_code),
- Database::escape_string($tutor_name), Database::escape_string($visual_code), Database::escape_string($request_date),
- Database::escape_string($objetives), Database::escape_string($target_audience), Database::escape_string($status), Database::escape_string($info), Database::escape_string($exemplary_content));
+ "%s", "%s", "%s", "%s", "%s");',
+ Database::get_main_table(TABLE_MAIN_COURSE_REQUEST),
+ Database::escape_string($code),
+ Database::escape_string($user_id),
+ Database::escape_string($directory),
+ Database::escape_string($db_name),
+ Database::escape_string($course_language),
+ Database::escape_string($title),
+ Database::escape_string($description),
+ Database::escape_string($category_code),
+ Database::escape_string($tutor_name),
+ Database::escape_string($visual_code),
+ Database::escape_string($request_date),
+ Database::escape_string($objetives),
+ Database::escape_string($target_audience),
+ Database::escape_string($status),
+ Database::escape_string($info),
+ Database::escape_string($exemplary_content)
+ );
+
$result_sql = Database::query($sql);
if (!$result_sql) {
return false;
}
+
$last_insert_id = Database::insert_id();
// E-mail notifications.
// E-mail language: The platform language seems to be the best choice.
- //$email_language = $course_language;
- //$email_language = api_get_interface_language();
$email_language = api_get_setting('platformLanguage');
$email_subject = sprintf(get_lang('CourseRequestEmailSubject', null, $email_language), '['.api_get_setting('siteName').']', $code);
@@ -149,10 +163,9 @@ class CourseRequestManager
$recipient_email_admin = get_setting('emailAdministrator');
$userInfo = api_get_user_info($user_id);
- $plugin = new AppPlugin();
- $className = $plugin->getSMSPluginName();
+
$additionalParameters = array(
- 'smsType' => constant($className.'::NEW_COURSE_SUGGESTED_TEACHER'),
+ 'smsType' => SmsPlugin::NEW_COURSE_SUGGESTED_TEACHER,
'userId' => $user_id,
'userUsername' => $userInfo['username']
);
@@ -189,7 +202,7 @@ class CourseRequestManager
$recipient_email_teacher = $sender_email_teacher;
$additionalParameters = array(
- 'smsType' => constant($className.'::COURSE_OPENING_REQUEST_CODE_REGISTERED'),
+ 'smsType' => SmsPlugin::COURSE_OPENING_REQUEST_CODE_REGISTERED,
'userId' => $user_info['user_id'],
'courseCode' => $wanted_code
);
@@ -469,9 +482,8 @@ class CourseRequestManager
$recipient_email = $user_info['mail'];
$extra_headers = 'Bcc: '.$sender_email;
- $plugin = new AppPlugin();
$additionalParameters = array(
- 'smsType' => constant($plugin->getSMSPluginName().'::COURSE_OPENING_REQUEST_CODE_APPROVED'),
+ 'smsType' => SmsPlugin::COURSE_OPENING_REQUEST_CODE_APPROVED,
'userId' => $user_id,
'courseCode' => $course_info['code']
);
@@ -548,9 +560,8 @@ class CourseRequestManager
$recipient_email = $user_info['mail'];
$extra_headers = 'Bcc: '.$sender_email;
- $plugin = new AppPlugin();
$additionalParameters = array(
- 'smsType' => constant($plugin->getSMSPluginName().'::COURSE_OPENING_REQUEST_CODE_REJECTED'),
+ 'smsType' => SmsPlugin::COURSE_OPENING_REQUEST_CODE_REJECTED,
'userId' => $user_id,
'courseCode' => $code
);
@@ -626,9 +637,8 @@ class CourseRequestManager
$recipient_email = $user_info['mail'];
$extra_headers = 'Bcc: '.$sender_email;
- $plugin = new AppPlugin();
$additionalParameters = array(
- 'smsType' => constant($plugin->getSMSPluginName().'::COURSE_OPENING_REQUEST_CODE'),
+ 'smsType' => SmsPlugin::COURSE_OPENING_REQUEST_CODE,
'userId' => $user_id,
'courseCode' => $code
);
diff --git a/main/inc/lib/plugin.lib.php b/main/inc/lib/plugin.lib.php
index 4b4b70eba0..758dfe1c48 100755
--- a/main/inc/lib/plugin.lib.php
+++ b/main/inc/lib/plugin.lib.php
@@ -29,7 +29,7 @@ class AppPlugin
public $installedPluginListObject = array();
/**
- *
+ * Constructor
*/
public function __construct()
{
@@ -183,6 +183,7 @@ class AppPlugin
} else {
$urlId = intval($urlId);
}
+
// First call the custom uninstall to allow full access to global settings
$pluginPath = api_get_path(SYS_PLUGIN_PATH).$pluginName.'/uninstall.php';
if (is_file($pluginPath) && is_readable($pluginPath)) {
@@ -271,7 +272,8 @@ class AppPlugin
}
/**
- * Loads the translation files inside a plugin if exists. It loads by default english see the hello world plugin
+ * Loads the translation files inside a plugin if exists.
+ * It loads by default english see the hello world plugin
*
* @param string $plugin_name
*
@@ -350,11 +352,11 @@ class AppPlugin
$_template['plugin_info'] = $plugin_info;
}
- //Setting the plugin info available in the template if exists
+ // Setting the plugin info available in the template if exists
$template->assign($plugin_name, $_template);
- //Loading the Twig template plugin files if exists
+ // Loading the Twig template plugin files if exists
$template_list = array();
if (isset($plugin_info) && isset($plugin_info['templates'])) {
$template_list = $plugin_info['templates'];
@@ -372,6 +374,7 @@ class AppPlugin
}
}
}
+
return true;
}
@@ -422,6 +425,7 @@ class AppPlugin
}
$plugin_info['settings'] = $settings_filtered;
$plugin_data[$plugin_name] = $plugin_info;
+
return $plugin_info;
}
}
@@ -464,7 +468,19 @@ class AppPlugin
public function add_to_region($plugin, $region)
{
$access_url_id = api_get_current_access_url_id();
- api_add_setting($plugin, $region, $plugin, 'region', 'Plugins', $plugin, null, null, null, $access_url_id, 1);
+ api_add_setting(
+ $plugin,
+ $region,
+ $plugin,
+ 'region',
+ 'Plugins',
+ $plugin,
+ null,
+ null,
+ null,
+ $access_url_id,
+ 1
+ );
}
/**
@@ -516,7 +532,7 @@ class AppPlugin
ICON_SIZE_SMALL
);
}
- //$icon = null;
+
$form->addElement('html', '
'.$icon.' '.Security::remove_XSS($pluginTitle).'
');
$groups = array();
@@ -555,6 +571,7 @@ class AppPlugin
$courseSettings = array_merge($courseSettings, $pluginCourseSetting);
}
}
+
return $courseSettings;
}
@@ -591,13 +608,31 @@ class AppPlugin
* Get first SMS plugin name
* @return string|boolean
*/
- public function getSMSPluginName() {
+ public function getSMSPluginName()
+ {
$installedPluginsList = $this->getInstalledPluginListObject();
foreach ($installedPluginsList as $installedPlugin) {
if ($installedPlugin->isMailPlugin) {
+
return get_class($installedPlugin);
}
}
+
+ return false;
+ }
+
+ /**
+ * @return SmsPluginLibraryInterface
+ */
+ public function getSMSPluginLibrary()
+ {
+ $className = $this->getSMSPluginName();
+ $className = str_replace("Plugin", "", $className);
+
+ if (class_exists($className)) {
+ return new $className;
+ }
+
return false;
}
}
diff --git a/main/inc/lib/usermanager.lib.php b/main/inc/lib/usermanager.lib.php
index 72691c2dfe..f233324f94 100755
--- a/main/inc/lib/usermanager.lib.php
+++ b/main/inc/lib/usermanager.lib.php
@@ -238,10 +238,9 @@ class UserManager
EventsDispatcher::events('user_registration', $values);
} else {
$phoneNumber = isset($extra['mobile_phone_number']) ? $extra['mobile_phone_number'] : null;
- $plugin = new AppPlugin();
$additionalParameters = array(
- 'smsType' => constant($plugin->getSMSPluginName().':: WELCOME_LOGIN_PASSWORD'),
+ 'smsType' => SmsPlugin::WELCOME_LOGIN_PASSWORD,
'userId' => $return,
'mobilePhoneNumber' => $phoneNumber,
'password' => $original_password
diff --git a/main/user/user_add.php b/main/user/user_add.php
index f00c2af9d8..4430a4da84 100755
--- a/main/user/user_add.php
+++ b/main/user/user_add.php
@@ -186,21 +186,17 @@ if($register) {
}
}
- if ($courseRegSucceed)
- {
+ if ($courseRegSucceed) {
$emailbody = get_lang('Dear')." ".stripslashes(api_get_person_name($firstname_form, $lastname_form)).",\n".get_lang('OneResp')." $currentCourseName ".get_lang('RegYou')." ".api_get_setting('siteName')." ".get_lang('WithTheFollowingSettings')."\n\n".get_lang('Username')." : $username_form\n".get_lang('Pass').": $password_form\n".get_lang('Address')." ".api_get_setting('siteName')." ".get_lang('Is').": ".$portal_url."\n".get_lang('Problem')."\n".get_lang('SignatureFormula').",\n".api_get_person_name(api_get_setting('administratorName'), api_get_setting('administratorSurname'))."\n".get_lang('Manager')." ".api_get_setting('siteName')." \nT. ".api_get_setting('administratorTelephone')."\n".get_lang('Email').": ".api_get_setting('emailAdministrator')."\n";
$message = get_lang('TheU')." ".stripslashes(api_get_person_name($firstname_form, $lastname_form))." ".get_lang('AddedToCourse')."
".get_lang('BackUser')."\n";
- }
- else
- {
+ } else {
$emailbody = get_lang('Dear')." ".api_get_person_name($firstname_form, $lastname_form).",\n ".get_lang('YouAreReg')." ".api_get_setting('siteName')." ".get_lang('WithTheFollowingSettings')."\n\n".get_lang('Username')." : $username_form\n".get_lang('Pass').": $password_form\n".get_lang('Address')." ".api_get_setting('siteName')." ".get_lang('Is').": ".$portal_url."\n".get_lang('Problem')."\n".get_lang('SignatureFormula').",\n".api_get_person_name(api_get_setting('administratorName'), api_get_setting('administratorSurname'))."\n".get_lang('Manager')." ".api_get_setting('siteName')." \nT. ".api_get_setting('administratorTelephone')."\n".get_lang('Email').": ".api_get_setting('emailAdministrator')."\n";
$message = stripslashes(api_get_person_name($firstname_form, $lastname_form))." ".get_lang('AddedU');
}
- $plugin = new AppPlugin();
$additionalParameters = array(
- 'smsType' => constant($plugin->getSMSPluginName().'::BEEN_SUBSCRIBED_COURSE'),
+ 'smsType' => SmsPlugin::BEEN_SUBSCRIBED_COURSE,
'userId' => $user_id,
'courseTitle' => $currentCourseName
);
diff --git a/main/work/work.lib.php b/main/work/work.lib.php
index b90f94e40a..c9061ecce6 100755
--- a/main/work/work.lib.php
+++ b/main/work/work.lib.php
@@ -2527,9 +2527,8 @@ function send_email_on_homework_creation($course_id)
$emailbody .= get_lang('HomeworkHasBeenCreatedForTheCourse')." ".$course_id.". "."\n\n".get_lang('PleaseCheckHomeworkPage');
$emailbody .= "\n\n".api_get_person_name($currentUser["firstname"], $currentUser["lastname"]);
- $plugin = new AppPlugin();
$additionalParameters = array(
- 'smsType' => constant($plugin->getSMSPluginName().'::ASSIGNMENT_BEEN_CREATED_COURSE'),
+ 'smsType' => SmsPlugin::ASSIGNMENT_BEEN_CREATED_COURSE,
'userId' => $student["user_id"],
'courseTitle' => $course_id
);
diff --git a/plugin/clockworksms/config.php b/plugin/clockworksms/config.php
index 52017f034b..fd2a790e06 100755
--- a/plugin/clockworksms/config.php
+++ b/plugin/clockworksms/config.php
@@ -8,7 +8,6 @@
* @author Imanol Losada
*/
require_once __DIR__ . '/../../main/inc/global.inc.php';
-require_once api_get_path(LIBRARY_PATH).'plugin.class.php';
require_once 'lib/clockworksms.lib.php';
require_once 'vendor/clockworksms_api.php';
diff --git a/plugin/clockworksms/lib/clockworksms.lib.php b/plugin/clockworksms/lib/clockworksms.lib.php
index d8d2c5312d..daef0384fc 100755
--- a/plugin/clockworksms/lib/clockworksms.lib.php
+++ b/plugin/clockworksms/lib/clockworksms.lib.php
@@ -4,14 +4,14 @@
/**
* Class Clockworksms
* This script handles incoming SMS information, process it and sends an SMS if everything is right
- *
+ *
* @package chamilo.plugin.clockworksms.lib
* @author Imanol Losada
*
* Clockworksms-Chamilo connector class
*/
-class Clockworksms
+class Clockworksms implements SmsPluginLibraryInterface
{
public $apiKey;
public $api;
@@ -35,7 +35,9 @@ class Clockworksms
if ($clockWorkSMSPlugin == true) {
$this->apiKey = $clockWorkSMSApiKey;
// Setting Clockworksms api
- define('CONFIG_SECURITY_API_KEY', $this->apiKey);
+ if (!defined('CONFIG_SECURITY_API_KEY')) {
+ define('CONFIG_SECURITY_API_KEY', $this->apiKey);
+ }
$trimmedApiKey = trim(CONFIG_SECURITY_API_KEY);
if (!empty($trimmedApiKey)) {
$this->api = new Clockwork(CONFIG_SECURITY_API_KEY);
@@ -52,22 +54,24 @@ class Clockworksms
$emailbody = 'Key cannot be blank';
$sender_name = $recipient_name;
$email_admin = $email_form;
- api_mail_html($recipient_name, $email_form, $emailsubject, $emailbody, $sender_name, $email_admin);
+ api_mail_html(
+ $recipient_name,
+ $email_form,
+ $emailsubject,
+ $emailbody,
+ $sender_name,
+ $email_admin
+ );
}
$this->plugin_enabled = true;
}
}
/**
- * getMobilePhoneNumberById (retrieves a user mobile phone number by user id)
- * @param int User id
- * @return int User's mobile phone number
+ * @inheritdoc
*/
- private function getMobilePhoneNumberById($userId)
+ public function getMobilePhoneNumberById($userId)
{
- require_once api_get_path(LIBRARY_PATH).'extra_field.lib.php';
- require_once api_get_path(LIBRARY_PATH).'extra_field_value.lib.php';
-
$mobilePhoneNumberExtraField = new ExtraField('user');
$mobilePhoneNumberExtraField = $mobilePhoneNumberExtraField->get_handler_field_info_by_field_variable('mobile_phone_number');
@@ -93,10 +97,11 @@ class Clockworksms
{
$trimmedKey = trim(CONFIG_SECURITY_API_KEY);
if (!empty($trimmedKey)) {
+ $phoneExists = array_key_exists("mobilePhoneNumber", $additionalParameters);
+ $to = $phoneExists ? $additionalParameters['mobilePhoneNumber'] : $this->getMobilePhoneNumberById($additionalParameters['userId']);
+
$message = array(
- "to" => array_key_exists("mobilePhoneNumber",$additionalParameters) ?
- $additionalParameters['mobilePhoneNumber'] :
- $this->getMobilePhoneNumberById($additionalParameters['userId']),
+ "to" => $to,
"message" => $this->getSms($additionalParameters)
);
@@ -104,7 +109,7 @@ class Clockworksms
$result = $this->api->send($message);
// Commented for future message logging / tracking purposes
- /*if( $result["success"] ) {
+ /*if ($result["success"]) {
echo "Message sent - ID: " . $result["id"];
} else {
echo "Message failed - Error: " . $result["error_message"];
@@ -166,8 +171,8 @@ class Clockworksms
$tool_name = $plugin->get_lang('plugin_title');
$tpl = new Template($tool_name);
- switch (constant('ClockworksmsPlugin::'.$additionalParameters['smsType'])) {
- case ClockworksmsPlugin::WELCOME_LOGIN_PASSWORD:
+ switch ($additionalParameters['smsType']) {
+ case SmsPlugin::WELCOME_LOGIN_PASSWORD:
$userInfo = api_get_user_info($additionalParameters['userId']);
return $this->buildSms(
$plugin,
@@ -181,7 +186,7 @@ class Clockworksms
)
);
break;
- case ClockworksmsPlugin::NEW_FILE_SHARED_COURSE_BY:
+ case SmsPlugin::NEW_FILE_SHARED_COURSE_BY:
return $this->buildSms(
$plugin,
$tpl,
@@ -194,7 +199,7 @@ class Clockworksms
)
);
break;
- case ClockworksmsPlugin::ACCOUNT_APPROVED_CONNECT:
+ case SmsPlugin::ACCOUNT_APPROVED_CONNECT:
return $this->buildSms(
$plugin,
$tpl,
@@ -206,7 +211,7 @@ class Clockworksms
)
);
break;
- case ClockworksmsPlugin::NEW_COURSE_BEEN_CREATED:
+ case SmsPlugin::NEW_COURSE_BEEN_CREATED:
return $this->buildSms(
$plugin,
$tpl,
@@ -219,7 +224,7 @@ class Clockworksms
)
);
break;
- case ClockworksmsPlugin::NEW_USER_SUBSCRIBED_COURSE:
+ case SmsPlugin::NEW_USER_SUBSCRIBED_COURSE:
return $this->buildSms(
$plugin,
$tpl,
@@ -232,7 +237,7 @@ class Clockworksms
)
);
break;
- case ClockworksmsPlugin::NEW_COURSE_SUGGESTED_TEACHER:
+ case SmsPlugin::NEW_COURSE_SUGGESTED_TEACHER:
return $this->buildSms(
$plugin,
$tpl,
@@ -244,7 +249,7 @@ class Clockworksms
)
);
break;
- case ClockworksmsPlugin::COURSE_OPENING_REQUEST_CODE_REGISTERED:
+ case SmsPlugin::COURSE_OPENING_REQUEST_CODE_REGISTERED:
return $this->buildSms(
$plugin,
$tpl,
@@ -256,7 +261,7 @@ class Clockworksms
)
);
break;
- case ClockworksmsPlugin::COURSE_OPENING_REQUEST_CODE_APPROVED:
+ case SmsPlugin::COURSE_OPENING_REQUEST_CODE_APPROVED:
return $this->buildSms(
$plugin,
$tpl,
@@ -268,7 +273,7 @@ class Clockworksms
)
);
break;
- case ClockworksmsPlugin::COURSE_OPENING_REQUEST_CODE_REJECTED:
+ case SmsPlugin::COURSE_OPENING_REQUEST_CODE_REJECTED:
return $this->buildSms(
$plugin,
$tpl,
@@ -280,7 +285,7 @@ class Clockworksms
)
);
break;
- case ClockworksmsPlugin::COURSE_OPENING_REQUEST_CODE:
+ case SmsPlugin::COURSE_OPENING_REQUEST_CODE:
return $this->buildSms(
$plugin,
$tpl,
@@ -292,7 +297,7 @@ class Clockworksms
)
);
break;
- case ClockworksmsPlugin::BEEN_SUBSCRIBED_COURSE:
+ case SmsPlugin::BEEN_SUBSCRIBED_COURSE:
return $this->buildSms(
$plugin,
$tpl,
@@ -304,7 +309,7 @@ class Clockworksms
)
);
break;
- case ClockworksmsPlugin::ASSIGNMENT_BEEN_CREATED_COURSE:
+ case SmsPlugin::ASSIGNMENT_BEEN_CREATED_COURSE:
return $this->buildSms(
$plugin,
$tpl,
@@ -317,7 +322,7 @@ class Clockworksms
);
break;
// Message types to be implemented. Fill the array parameter with arguments.
- /*case ClockworksmsPlugin::ACCOUNT_CREATED_UPDATED_LOGIN_PASSWORD:
+ /*case SmsPlugin::ACCOUNT_CREATED_UPDATED_LOGIN_PASSWORD:
return $this->buildSms(
$plugin,
$tpl,
@@ -328,7 +333,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::PASSWORD_UPDATED_LOGIN_PASSWORD:
+ /*case SmsPlugin::PASSWORD_UPDATED_LOGIN_PASSWORD:
return $this->buildSms(
$plugin,
$tpl,
@@ -339,7 +344,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::REQUESTED_PASSWORD_CHANGE:
+ /*case SmsPlugin::REQUESTED_PASSWORD_CHANGE:
return $this->buildSms(
$plugin,
$tpl,
@@ -350,7 +355,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::RECEIVED_NEW_PERSONAL_MESSAGES:
+ /*case SmsPlugin::RECEIVED_NEW_PERSONAL_MESSAGES:
return $this->buildSms(
$plugin,
$tpl,
@@ -361,7 +366,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::NEW_USER_PENDING_APPROVAL:
+ /*case SmsPlugin::NEW_USER_PENDING_APPROVAL:
return $this->buildSms(
$plugin,
$tpl,
@@ -372,7 +377,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::POSTED_FORUM_COURSE:
+ /*case SmsPlugin::POSTED_FORUM_COURSE:
return $this->buildSms(
$plugin,
$tpl,
@@ -383,7 +388,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::CHECK_EMAIL_CONNECT_MORE_INFO:
+ /*case SmsPlugin::CHECK_EMAIL_CONNECT_MORE_INFO:
return $this->buildSms(
$plugin,
$tpl,
@@ -394,7 +399,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::STUDENT_ANSWERED_TEST:
+ /*case SmsPlugin::STUDENT_ANSWERED_TEST:
return $this->buildSms(
$plugin,
$tpl,
@@ -405,7 +410,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::STUDENT_ANSWERED_TEST_OPEN_QUESTION:
+ /*case SmsPlugin::STUDENT_ANSWERED_TEST_OPEN_QUESTION:
return $this->buildSms(
$plugin,
$tpl,
@@ -416,7 +421,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::STUDENT_ANSWERED_TEST_VOICE_QUESTION:
+ /*case SmsPlugin::STUDENT_ANSWERED_TEST_VOICE_QUESTION:
return $this->buildSms(
$plugin,
$tpl,
@@ -427,7 +432,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::ANSWER_OPEN_QUESTION_TEST_REVIEWED:
+ /*case SmsPlugin::ANSWER_OPEN_QUESTION_TEST_REVIEWED:
return $this->buildSms(
$plugin,
$tpl,
@@ -438,7 +443,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::NEW_THREAD_STARTED_FORUM:
+ /*case SmsPlugin::NEW_THREAD_STARTED_FORUM:
return $this->buildSms(
$plugin,
$tpl,
@@ -449,7 +454,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::NEW_ANSWER_POSTED_FORUM:
+ /*case SmsPlugin::NEW_ANSWER_POSTED_FORUM:
return $this->buildSms(
$plugin,
$tpl,
@@ -460,7 +465,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::NEW_SYSTEM_ANNOUNCEMENT_ADDED:
+ /*case SmsPlugin::NEW_SYSTEM_ANNOUNCEMENT_ADDED:
return $this->buildSms(
$plugin,
$tpl,
@@ -471,7 +476,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::TEST_NEW_SYSTEM_ANNOUNCEMENT_ADDED:
+ /*case SmsPlugin::TEST_NEW_SYSTEM_ANNOUNCEMENT_ADDED:
return $this->buildSms(
$plugin,
$tpl,
@@ -482,7 +487,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::SYSTEM_ANNOUNCEMENT_UPDATE:
+ /*case SmsPlugin::SYSTEM_ANNOUNCEMENT_UPDATE:
return $this->buildSms(
$plugin,
$tpl,
@@ -493,7 +498,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::TEST_SYSTEM_ANNOUNCEMENT_UPDATE:
+ /*case SmsPlugin::TEST_SYSTEM_ANNOUNCEMENT_UPDATE:
return $this->buildSms(
$plugin,
$tpl,
@@ -504,7 +509,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::USER_UPLOADED_ASSIGNMENT_COURSE_STUDENT_SUBMITS_PAPER:
+ /*case SmsPlugin::USER_UPLOADED_ASSIGNMENT_COURSE_STUDENT_SUBMITS_PAPER:
return $this->buildSms(
$plugin,
$tpl,
@@ -515,7 +520,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::USER_UPLOADED_ASSIGNMENT_CHECK_STUDENT_SUBMITS_PAPER:
+ /*case SmsPlugin::USER_UPLOADED_ASSIGNMENT_CHECK_STUDENT_SUBMITS_PAPER:
return $this->buildSms(
$plugin,
$tpl,
@@ -526,7 +531,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::USER_UPLOADED_ASSIGNMENT_COURSE:
+ /*case SmsPlugin::USER_UPLOADED_ASSIGNMENT_COURSE:
return $this->buildSms(
$plugin,
$tpl,
@@ -537,7 +542,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::USER_UPLOADED_ASSIGNMENT_CHECK:
+ /*case SmsPlugin::USER_UPLOADED_ASSIGNMENT_CHECK:
return $this->buildSms(
$plugin,
$tpl,
@@ -548,7 +553,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::SUBSCRIBED_SESSION:
+ /*case SmsPlugin::SUBSCRIBED_SESSION:
return $this->buildSms(
$plugin,
$tpl,
@@ -559,7 +564,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::SUBSCRIBED_SESSION_CSV:
+ /*case SmsPlugin::SUBSCRIBED_SESSION_CSV:
return $this->buildSms(
$plugin,
$tpl,
@@ -570,7 +575,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::USER_SUGGESTED_BE_FRIENDS:
+ /*case SmsPlugin::USER_SUGGESTED_BE_FRIENDS:
return $this->buildSms(
$plugin,
$tpl,
@@ -581,7 +586,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::USER_ANSWERED_INBOX_MESSAGE:
+ /*case SmsPlugin::USER_ANSWERED_INBOX_MESSAGE:
return $this->buildSms(
$plugin,
$tpl,
@@ -592,7 +597,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::BEEN_INVITED_JOIN_GROUP:
+ /*case SmsPlugin::BEEN_INVITED_JOIN_GROUP:
return $this->buildSms(
$plugin,
$tpl,
@@ -603,7 +608,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::MESSAGES_SENT_EDITED_GROUP_EDITED:
+ /*case SmsPlugin::MESSAGES_SENT_EDITED_GROUP_EDITED:
return $this->buildSms(
$plugin,
$tpl,
@@ -614,7 +619,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::MESSAGES_SENT_EDITED_GROUP_ADDED:
+ /*case SmsPlugin::MESSAGES_SENT_EDITED_GROUP_ADDED:
return $this->buildSms(
$plugin,
$tpl,
@@ -625,7 +630,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::BEEN_INVITED_COMPLETE_SURVEY_COURSE:
+ /*case SmsPlugin::BEEN_INVITED_COMPLETE_SURVEY_COURSE:
return $this->buildSms(
$plugin,
$tpl,
@@ -636,7 +641,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::REMINDER_ASSIGNMENT_COURSE_DUE:
+ /*case SmsPlugin::REMINDER_ASSIGNMENT_COURSE_DUE:
return $this->buildSms(
$plugin,
$tpl,
@@ -647,7 +652,7 @@ class Clockworksms
)
);
break;*/
- /*case ClockworksmsPlugin::USER_DETAILS_MODIFIED:
+ /*case SmsPlugin::USER_DETAILS_MODIFIED:
return $this->buildSms(
$plugin,
$tpl,
diff --git a/plugin/clockworksms/lib/clockworksms_plugin.class.php b/plugin/clockworksms/lib/clockworksms_plugin.class.php
index 12bbacfcfb..c8635aaa8f 100755
--- a/plugin/clockworksms/lib/clockworksms_plugin.class.php
+++ b/plugin/clockworksms/lib/clockworksms_plugin.class.php
@@ -4,59 +4,13 @@
/**
* Class ClockworksmsPlugin
* This script contains SMS type constants and basic plugin functions
- *
+ *
* @package chamilo.plugin.clockworksms.lib
* @author Imanol Losada
+ * @author Julio Montoya - Refactor code
*/
-class ClockworksmsPlugin extends Plugin
+class ClockworksmsPlugin extends SmsPlugin
{
- 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;
-
/**
* create (a singleton function that ensures ClockworksmsPlugin instance is
* created only once. If it is already created, it returns the instance)
@@ -72,7 +26,7 @@ class ClockworksmsPlugin extends Plugin
* Constructor
* @return void
*/
- protected function __construct()
+ public function __construct()
{
$fields = array('tool_enable' => 'boolean', 'api_key' => 'text');
$smsTypeOptions = $this->getSmsTypeOptions();
@@ -82,91 +36,7 @@ class ClockworksmsPlugin extends Plugin
parent::__construct('0.1', 'Imanol Losada', $fields);
}
- /**
- * addMobilePhoneNumberField (adds a mobile phone number field if it is not
- * already created)
- * @return void
- */
- private function addMobilePhoneNumberField()
- {
- $result = Database::select('mobile_phone_number', 'user_field');
- if (empty($result)) {
- require_once api_get_path(LIBRARY_PATH).'extra_field.lib.php';
- $extraField = new Extrafield('user');
- $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
- ));
- }
- }
-
- /**
- * getSmsTypeOptions (returns all SMS types)
- * @return array SMS types
- */
- private 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'
- );
- }
- /**
- * install (installs the plugin)
- * @return void
- */
- public function install()
- {
- $this->addMobilePhoneNumberField();
- }
/**
* install (uninstalls the plugin and removes all plugin's tables and/or rows)
* @return void
diff --git a/plugin/kannelsms/lib/kannelsms.lib.php b/plugin/kannelsms/lib/kannelsms.lib.php
index 84a61cf3af..b32589f822 100644
--- a/plugin/kannelsms/lib/kannelsms.lib.php
+++ b/plugin/kannelsms/lib/kannelsms.lib.php
@@ -10,8 +10,7 @@
*
* Kannelsms-Chamilo connector class
*/
-
-class Kannelsms
+class Kannelsms implements SmsPluginLibraryInterface
{
public $api;
public $hostAddress;
@@ -45,7 +44,7 @@ class Kannelsms
* @param int $userId User id
* @return int User's mobile phone number
*/
- private function getMobilePhoneNumberById($userId)
+ public function getMobilePhoneNumberById($userId)
{
$mobilePhoneNumberExtraField = new ExtraField('user');
$mobilePhoneNumberExtraField = $mobilePhoneNumberExtraField->get_handler_field_info_by_field_variable('mobile_phone_number');
@@ -153,7 +152,7 @@ class Kannelsms
$tpl = new Template($tool_name);
switch ($additionalParameters['smsType']) {
- case KannelsmsPlugin::WELCOME_LOGIN_PASSWORD:
+ case SmsPlugin::WELCOME_LOGIN_PASSWORD:
$userInfo = api_get_user_info($additionalParameters['userId']);
return $this->buildSms(
$plugin,
@@ -167,7 +166,7 @@ class Kannelsms
)
);
break;
- case KannelsmsPlugin::NEW_FILE_SHARED_COURSE_BY:
+ case SmsPlugin::NEW_FILE_SHARED_COURSE_BY:
return $this->buildSms(
$plugin,
$tpl,
@@ -180,7 +179,7 @@ class Kannelsms
)
);
break;
- case KannelsmsPlugin::ACCOUNT_APPROVED_CONNECT:
+ case SmsPlugin::ACCOUNT_APPROVED_CONNECT:
return $this->buildSms(
$plugin,
$tpl,
@@ -192,7 +191,7 @@ class Kannelsms
)
);
break;
- case KannelsmsPlugin::NEW_COURSE_BEEN_CREATED:
+ case SmsPlugin::NEW_COURSE_BEEN_CREATED:
return $this->buildSms(
$plugin,
$tpl,
@@ -205,7 +204,7 @@ class Kannelsms
)
);
break;
- case KannelsmsPlugin::NEW_USER_SUBSCRIBED_COURSE:
+ case SmsPlugin::NEW_USER_SUBSCRIBED_COURSE:
return $this->buildSms(
$plugin,
$tpl,
@@ -218,7 +217,7 @@ class Kannelsms
)
);
break;
- case KannelsmsPlugin::NEW_COURSE_SUGGESTED_TEACHER:
+ case SmsPlugin::NEW_COURSE_SUGGESTED_TEACHER:
return $this->buildSms(
$plugin,
$tpl,
@@ -230,7 +229,7 @@ class Kannelsms
)
);
break;
- case KannelsmsPlugin::COURSE_OPENING_REQUEST_CODE_REGISTERED:
+ case SmsPlugin::COURSE_OPENING_REQUEST_CODE_REGISTERED:
return $this->buildSms(
$plugin,
$tpl,
@@ -242,7 +241,7 @@ class Kannelsms
)
);
break;
- case KannelsmsPlugin::COURSE_OPENING_REQUEST_CODE_APPROVED:
+ case SmsPlugin::COURSE_OPENING_REQUEST_CODE_APPROVED:
return $this->buildSms(
$plugin,
$tpl,
@@ -254,7 +253,7 @@ class Kannelsms
)
);
break;
- case KannelsmsPlugin::COURSE_OPENING_REQUEST_CODE_REJECTED:
+ case SmsPlugin::COURSE_OPENING_REQUEST_CODE_REJECTED:
return $this->buildSms(
$plugin,
$tpl,
@@ -266,7 +265,7 @@ class Kannelsms
)
);
break;
- case KannelsmsPlugin::COURSE_OPENING_REQUEST_CODE:
+ case SmsPlugin::COURSE_OPENING_REQUEST_CODE:
return $this->buildSms(
$plugin,
$tpl,
@@ -278,7 +277,7 @@ class Kannelsms
)
);
break;
- case KannelsmsPlugin::BEEN_SUBSCRIBED_COURSE:
+ case SmsPlugin::BEEN_SUBSCRIBED_COURSE:
return $this->buildSms(
$plugin,
$tpl,
@@ -290,7 +289,7 @@ class Kannelsms
)
);
break;
- case KannelsmsPlugin::ASSIGNMENT_BEEN_CREATED_COURSE:
+ case SmsPlugin::ASSIGNMENT_BEEN_CREATED_COURSE:
return $this->buildSms(
$plugin,
$tpl,
@@ -303,7 +302,7 @@ class Kannelsms
);
break;
// Message types to be implemented. Fill the array parameter with arguments.
- /*case KannelsmsPlugin::ACCOUNT_CREATED_UPDATED_LOGIN_PASSWORD:
+ /*case SmsPlugin::ACCOUNT_CREATED_UPDATED_LOGIN_PASSWORD:
return $this->buildSms(
$plugin,
$tpl,
@@ -314,7 +313,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::PASSWORD_UPDATED_LOGIN_PASSWORD:
+ /*case SmsPlugin::PASSWORD_UPDATED_LOGIN_PASSWORD:
return $this->buildSms(
$plugin,
$tpl,
@@ -325,7 +324,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::REQUESTED_PASSWORD_CHANGE:
+ /*case SmsPlugin::REQUESTED_PASSWORD_CHANGE:
return $this->buildSms(
$plugin,
$tpl,
@@ -336,7 +335,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::RECEIVED_NEW_PERSONAL_MESSAGES:
+ /*case SmsPlugin::RECEIVED_NEW_PERSONAL_MESSAGES:
return $this->buildSms(
$plugin,
$tpl,
@@ -347,7 +346,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::NEW_USER_PENDING_APPROVAL:
+ /*case SmsPlugin::NEW_USER_PENDING_APPROVAL:
return $this->buildSms(
$plugin,
$tpl,
@@ -358,7 +357,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::POSTED_FORUM_COURSE:
+ /*case SmsPlugin::POSTED_FORUM_COURSE:
return $this->buildSms(
$plugin,
$tpl,
@@ -369,7 +368,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::CHECK_EMAIL_CONNECT_MORE_INFO:
+ /*case SmsPlugin::CHECK_EMAIL_CONNECT_MORE_INFO:
return $this->buildSms(
$plugin,
$tpl,
@@ -380,7 +379,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::STUDENT_ANSWERED_TEST:
+ /*case SmsPlugin::STUDENT_ANSWERED_TEST:
return $this->buildSms(
$plugin,
$tpl,
@@ -391,7 +390,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::STUDENT_ANSWERED_TEST_OPEN_QUESTION:
+ /*case SmsPlugin::STUDENT_ANSWERED_TEST_OPEN_QUESTION:
return $this->buildSms(
$plugin,
$tpl,
@@ -402,7 +401,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::STUDENT_ANSWERED_TEST_VOICE_QUESTION:
+ /*case SmsPlugin::STUDENT_ANSWERED_TEST_VOICE_QUESTION:
return $this->buildSms(
$plugin,
$tpl,
@@ -413,7 +412,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::ANSWER_OPEN_QUESTION_TEST_REVIEWED:
+ /*case SmsPlugin::ANSWER_OPEN_QUESTION_TEST_REVIEWED:
return $this->buildSms(
$plugin,
$tpl,
@@ -424,7 +423,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::NEW_THREAD_STARTED_FORUM:
+ /*case SmsPlugin::NEW_THREAD_STARTED_FORUM:
return $this->buildSms(
$plugin,
$tpl,
@@ -435,7 +434,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::NEW_ANSWER_POSTED_FORUM:
+ /*case SmsPlugin::NEW_ANSWER_POSTED_FORUM:
return $this->buildSms(
$plugin,
$tpl,
@@ -446,7 +445,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::NEW_SYSTEM_ANNOUNCEMENT_ADDED:
+ /*case SmsPlugin::NEW_SYSTEM_ANNOUNCEMENT_ADDED:
return $this->buildSms(
$plugin,
$tpl,
@@ -457,7 +456,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::TEST_NEW_SYSTEM_ANNOUNCEMENT_ADDED:
+ /*case SmsPlugin::TEST_NEW_SYSTEM_ANNOUNCEMENT_ADDED:
return $this->buildSms(
$plugin,
$tpl,
@@ -468,7 +467,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::SYSTEM_ANNOUNCEMENT_UPDATE:
+ /*case SmsPlugin::SYSTEM_ANNOUNCEMENT_UPDATE:
return $this->buildSms(
$plugin,
$tpl,
@@ -479,7 +478,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::TEST_SYSTEM_ANNOUNCEMENT_UPDATE:
+ /*case SmsPlugin::TEST_SYSTEM_ANNOUNCEMENT_UPDATE:
return $this->buildSms(
$plugin,
$tpl,
@@ -490,7 +489,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::USER_UPLOADED_ASSIGNMENT_COURSE_STUDENT_SUBMITS_PAPER:
+ /*case SmsPlugin::USER_UPLOADED_ASSIGNMENT_COURSE_STUDENT_SUBMITS_PAPER:
return $this->buildSms(
$plugin,
$tpl,
@@ -501,7 +500,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::USER_UPLOADED_ASSIGNMENT_CHECK_STUDENT_SUBMITS_PAPER:
+ /*case SmsPlugin::USER_UPLOADED_ASSIGNMENT_CHECK_STUDENT_SUBMITS_PAPER:
return $this->buildSms(
$plugin,
$tpl,
@@ -512,7 +511,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::USER_UPLOADED_ASSIGNMENT_COURSE:
+ /*case SmsPlugin::USER_UPLOADED_ASSIGNMENT_COURSE:
return $this->buildSms(
$plugin,
$tpl,
@@ -523,7 +522,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::USER_UPLOADED_ASSIGNMENT_CHECK:
+ /*case SmsPlugin::USER_UPLOADED_ASSIGNMENT_CHECK:
return $this->buildSms(
$plugin,
$tpl,
@@ -534,7 +533,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::SUBSCRIBED_SESSION:
+ /*case SmsPlugin::SUBSCRIBED_SESSION:
return $this->buildSms(
$plugin,
$tpl,
@@ -545,7 +544,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::SUBSCRIBED_SESSION_CSV:
+ /*case SmsPlugin::SUBSCRIBED_SESSION_CSV:
return $this->buildSms(
$plugin,
$tpl,
@@ -556,7 +555,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::USER_SUGGESTED_BE_FRIENDS:
+ /*case SmsPlugin::USER_SUGGESTED_BE_FRIENDS:
return $this->buildSms(
$plugin,
$tpl,
@@ -567,7 +566,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::USER_ANSWERED_INBOX_MESSAGE:
+ /*case SmsPlugin::USER_ANSWERED_INBOX_MESSAGE:
return $this->buildSms(
$plugin,
$tpl,
@@ -578,7 +577,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::BEEN_INVITED_JOIN_GROUP:
+ /*case SmsPlugin::BEEN_INVITED_JOIN_GROUP:
return $this->buildSms(
$plugin,
$tpl,
@@ -589,7 +588,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::MESSAGES_SENT_EDITED_GROUP_EDITED:
+ /*case SmsPlugin::MESSAGES_SENT_EDITED_GROUP_EDITED:
return $this->buildSms(
$plugin,
$tpl,
@@ -600,7 +599,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::MESSAGES_SENT_EDITED_GROUP_ADDED:
+ /*case SmsPlugin::MESSAGES_SENT_EDITED_GROUP_ADDED:
return $this->buildSms(
$plugin,
$tpl,
@@ -611,7 +610,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::BEEN_INVITED_COMPLETE_SURVEY_COURSE:
+ /*case SmsPlugin::BEEN_INVITED_COMPLETE_SURVEY_COURSE:
return $this->buildSms(
$plugin,
$tpl,
@@ -622,7 +621,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::REMINDER_ASSIGNMENT_COURSE_DUE:
+ /*case SmsPlugin::REMINDER_ASSIGNMENT_COURSE_DUE:
return $this->buildSms(
$plugin,
$tpl,
@@ -633,7 +632,7 @@ class Kannelsms
)
);
break;*/
- /*case KannelsmsPlugin::USER_DETAILS_MODIFIED:
+ /*case SmsPlugin::USER_DETAILS_MODIFIED:
return $this->buildSms(
$plugin,
$tpl,
diff --git a/plugin/kannelsms/lib/kannelsms_plugin.class.php b/plugin/kannelsms/lib/kannelsms_plugin.class.php
index eaf6b65a00..ece978cc61 100644
--- a/plugin/kannelsms/lib/kannelsms_plugin.class.php
+++ b/plugin/kannelsms/lib/kannelsms_plugin.class.php
@@ -4,59 +4,13 @@
/**
* Class KannelsmsPlugin
* This script contains SMS type constants and basic plugin functions
- *
+ *
* @package chamilo.plugin.kannelsms.lib
* @author Imanol Losada
+ * @author Julio Montoya Refactor code
*/
-class KannelsmsPlugin extends Plugin
+class KannelsmsPlugin extends SmsPlugin
{
- 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;
-
/**
* create (a singleton function that ensures KannelsmsPlugin instance is
* created only once. If it is already created, it returns the instance)
@@ -88,91 +42,6 @@ class KannelsmsPlugin extends Plugin
parent::__construct('0.1', 'Imanol Losada', $fields);
}
- /**
- * addMobilePhoneNumberField (adds a mobile phone number field if it is not
- * already created)
- * @return void
- */
- private function addMobilePhoneNumberField()
- {
- $result = Database::select('mobile_phone_number', 'user_field');
- if (empty($result)) {
- require_once api_get_path(LIBRARY_PATH).'extra_field.lib.php';
- $extraField = new Extrafield('user');
- $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
- ));
- }
- }
-
- /**
- * getSmsTypeOptions (returns all SMS types)
- * @return array SMS types
- */
- private 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'
- );
- }
-
- /**
- * install (installs the plugin)
- * @return void
- */
- public function install()
- {
- $this->addMobilePhoneNumberField();
- }
/**
* install (uninstalls the plugin and removes all plugin's tables and/or rows)
* @return void