Browse Source

Fixing some fatal error when the plugin is not activated

Tested with php 5.4.33-1
Julio Montoya 10 years ago
parent
commit
79b7d90130

+ 30 - 21
plugin/clockworksms/lib/clockworksms.lib.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 '';
         }
-    }    
+    }
 }

+ 14 - 13
plugin/clockworksms/lib/clockworksms_plugin.class.php

@@ -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()
     {