Project:Clickatell
Version:6.x-1.0
Component:Code
Category:bug report
Priority:normal
Assigned:aspope
Status:active
Issue tags:international

Issue Summary

I use clickatell from JAMAICA where the area code is 1876. Clickatell appends the area code to the number to be sent so I end up sending messages to 18761876#######. What I find is that my clients either enter 876#######, 1876####### or even just their 7 digit number ####### that creates a mess.I hacked around in the code to modify validation to accept only 7-digit numbers but its all messy and it prevents support for other countries.
I believe the behaviour is different with email gateway because I faintly remember it working for me. Could anyone confirm this as a bug or suggest a work around.

Comments

#1

An updated Clickatell module is currently under review. In this module I have removed the line that appends the country code to the phone number, and left the country-code select field only for reference.

You can get the updated module from here (http://drupal.org/node/441650) but please be aware that the module has not yet been approved by the group.

#2

Assigned to:Anonymous» aspope

I'll assign this ticket to myself for now, and will close once the updated Clickatell module has been approved.

#3

Priority:critical» normal

Tagging.

#4

Hey Will, has hope for an international module died? I see there has been no commits to this module for a while. We in international still have problems with SMSframework. Will there be any hope in the near future?

#5

Can't a check just be done on the number the user has entered and if the number is not already prefixed by the areacode, then append it.

#6

Here is the patch I've made for this, it takes care of leading zeros and not duplicating the country code. It will fail if someone enters a number that doesn't start with a 0 that starts with the same numbers as the country code.

--- sms_clickatell.module.orig  2009-07-09 15:58:59.000000000 +0200
+++ sms_clickatell.module       2009-11-10 09:43:34.000000000 +0200
@@ -91,7 +99,9 @@
  * Callback for sending messages.
  */
function sms_clickatell_send($number, $message, $options) {
-  $number = $options['country'] . $number;
+  if (!preg_match('/^'.$options['country'].'.*/',$number)) {
+    $number = $options['country'] . ltrim($number,0);
+  }
   return sms_clickatell_command('sendmsg', array('number' => $number, 'message' => $message));
}

#7

Project:SMS Framework» Clickatell
Version:6.x-1.0-beta1» 6.x-1.0
Component:Clickatell» Code
nobody click here