Fixing some fatal error when the plugin is not activated

Tested with php 5.4.33-1
1.9.x
Julio Montoya 11 years ago
parent 125eb3c50d
commit 79b7d90130
  1. 51
      plugin/clockworksms/lib/clockworksms.lib.php
  2. 27
      plugin/clockworksms/lib/clockworksms_plugin.class.php

@ -34,14 +34,15 @@ class Clockworksms
$this->apiKey = $clockworksmsApiKey;
// Setting Clockworksms api
define('CONFIG_SECURITY_API_KEY', $this->apiKey);
if (!empty(trim(CONFIG_SECURITY_API_KEY))) {
$trimmedApiKey = trim(CONFIG_SECURITY_API_KEY);
if (!empty($trimmedApiKey)) {
$this->api = new Clockwork(CONFIG_SECURITY_API_KEY);
} else {
$this->api = new Clockwork(' ');
$recipient_name = api_get_person_name(
api_get_setting('administratorName'),
api_get_setting('administratorSurname'),
null,
api_get_setting('administratorSurname'),
null,
PERSON_NAME_EMAIL_ADDRESS
);
$email_form = get_setting('emailAdministrator');
@ -52,12 +53,12 @@ class Clockworksms
api_mail_html($recipient_name, $email_form, $emailsubject, $emailbody, $sender_name, $email_admin);
}
$this->plugin_enabled = true;
}
}
}
private function getMobilePhoneNumberById($userId)
{
require_once api_get_path(LIBRARY_PATH).'extra_field.lib.php';
require_once api_get_path(LIBRARY_PATH).'extra_field.lib.php';
$mobilePhoneNumberExtraField = (new ExtraField('user'))->get_handler_field_info_by_field_variable('mobile_phone_number');
require_once api_get_path(LIBRARY_PATH).'extra_field_value.lib.php';
$mobilePhoneNumberExtraFieldValue = (new ExtraFieldValue('user'))->get_values_by_handler_and_field_id($userId, $mobilePhoneNumberExtraField['id']);
@ -66,43 +67,51 @@ class Clockworksms
public function send($additionalParameters)
{
if (!empty(trim(CONFIG_SECURITY_API_KEY))) {
$trimmedKey = trim(CONFIG_SECURITY_API_KEY);
if (!empty($trimmedKey)) {
$message = array(
"to" => array_key_exists("mobilePhoneNumber",$additionalParameters) ?
$additionalParameters['mobilePhoneNumber'] :
$this->getMobilePhoneNumberById($additionalParameters['userId']),
"to" => array_key_exists("mobilePhoneNumber",$additionalParameters) ?
$additionalParameters['mobilePhoneNumber'] :
$this->getMobilePhoneNumberById($additionalParameters['userId']),
"message" => $this->getSms($additionalParameters)
);
if (!empty($message['message'])) {
$result = $this->api->send($message);
if (!empty($message['message'])) {
$result = $this->api->send($message);
// Commented for future message logging / tracking purposes
/*if( $result["success"] ) {
echo "Message sent - ID: " . $result["id"];
echo "Message sent - ID: " . $result["id"];
} else {
echo "Message failed - Error: " . $result["error_message"];
}*/
}
}
}
public function buildSms($plugin, $tpl, $templateName, $messageKey, $parameters = null)
{
if (empty(Database::select('selected_value', 'settings_current', array(
'where'=> array('variable = ?' => array('clockworksms_message'.$messageKey)))))) {
{
$result = Database::select(
'selected_value',
'settings_current',
array(
'where'=> array('variable = ?' => array('clockworksms_message'.$messageKey))
)
);
if (empty($result)) {
$tpl->assign('message', '');
}
else {
} else {
$templatePath = 'clockworksms/sms_templates/';
$content = $tpl->fetch($templatePath.$templateName);
$message = $plugin->get_lang($messageKey);
if ($parameters !== null) {
$message = vsprintf($message, $parameters);
}
$tpl->assign('message', $message);
$tpl->assign('message', $message);
}
return $tpl->params['message'];
}
@ -126,7 +135,7 @@ class Clockworksms
$additionalParameters['password']
)
);
break;
break;
case ClockworksmsPlugin::NEW_FILE_SHARED_COURSE_BY:
return $this->buildSms(
$plugin,
@ -607,5 +616,5 @@ class Clockworksms
default:
return '';
}
}
}
}

@ -47,7 +47,7 @@ class ClockworksmsPlugin extends Plugin
const BEEN_INVITED_COMPLETE_SURVEY_COURSE = 40;
const REMINDER_ASSIGNMENT_COURSE_DUE = 41;
const USER_DETAILS_MODIFIED = 42;
public $isCoursePlugin = true;
public $isMailPlugin = true;
@ -69,24 +69,25 @@ class ClockworksmsPlugin extends Plugin
private function addMobilePhoneNumberField()
{
if (empty(Database::select('mobile_phone_number', 'user_field'))) {
$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_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
));
}
}
private function getSmsTypeOptions()
{
{
return array(
'MessageWelcomeXLoginXPasswordX',
'MessageXNewFileSharedCourseXByX',
@ -106,7 +107,7 @@ class ClockworksmsPlugin extends Plugin
'MessageXReceivedNewPersonalMessages',
'MessageXNewUserXPendingApproval',
'MessageXXPostedForumXCourseX',
'MessageXXXCheckEmailConnectMoreInfo',
'MessageXXXCheckEmailConnectMoreInfo',
'MessageXXStudentXAnsweredTestX',
'MessageXXStudentXAnsweredTestXOpenQuestion',
'MessageXXStudentXAnsweredTestXVoiceQuestion',
@ -122,7 +123,7 @@ class ClockworksmsPlugin extends Plugin
'MessageXUserXUploadedAssignmentXCourseX',
'MessageXUserXUploadedAssignmentXCheckX',
'MessageXSubscribedSessionX',
'MessageXSubscribedSessionXCSV',
'MessageXSubscribedSessionXCSV',
'MessageXUserXSuggestedBeFriends',
'MessageXUserXAnsweredInboxMessage',
'MessageXBeenInvitedJoinGroupX',
@ -132,7 +133,7 @@ class ClockworksmsPlugin extends Plugin
'MessageXReminderAssignmentXCourseXDue',
'MessageXUserDetailsModified'
);
}
}
public function install()
{

Loading…
Cancel
Save