playSMS version has been released

2 Days ago we have just released playSMS version 0.9.7 (lots of changes since 0.9.6, you should read). But since I found something serious, I thought it won’t matter if I just release another one. Next time I will provide a patch instead of releasing whole new version when changes are not much, even when they’re important.

Security bug has been fixed in this release. The bug allows a non-admin user to upload a CSV file with username field filled with other user’s username and playSMS allows the process to continue.

This release is a security release. It is highly recommended for users to download and use this version immediately.

Download playSMS version now.

playSMS version 0.9.7 has been released

After 2 beta versions, finally tonight playSMS version 0.9.7 is released.

There are many bug fixes, updates and major changes included in this version. Therefore it is highly recommended for users to upgrade their playSMS. Please note that the upgrade only available from version 0.9.6, so you need to upgrade your old playSMS to at least version 0.9.6 first before upgrade it to 0.9.7.

Highlights in this version are as follow:

  • All SMS submitted from web UI, webservices or plugins are queued in database first and then processed by external daemon application. I believe this improvement will solve issues related to bulk SMS sending, like sending an SMS to 5000 contacts from web at one time.
  • Raw incoming SMS text now can be accessed by plugins, as it is brought to hooks from function setsmsincomingaction. This function is the central function, the gate to playSMS, in receiving SMS.
  • Issues related to quote or single quote, or addslahes() and stripslashes() have been fixed. playSMS also now assumed that PHP magic_quotes_gpc option is set to Off, which is recommended.
  • Using smstools3 is as good as using Kannel, playSMS now able to get the status report of Delivered when using gateway module smstools. playSMS also make copies of raw smstools3 files for other external application or simply for later readings, like for debugging.
  • Kannel gateway module equipped with a simple text editor to edit kannel.conf, and a restart button for Kannel. This makes certain admin jobs easier.
  • Character counter in web UI and also in simplerate has been fixed. This counter took care of unicode or not, multi-part SMS or single SMS correctly.
  • Easier coding for scripts used with playSMS plugin SMS command and SMS custom. playSMS will capture the response of a script executed by SMS command or a URL accessed by SMS custom, and then directly send the response as reply to original sender.

You may download the release from the download page: http://www.playsms/download. Continue reading “playSMS version 0.9.7 has been released”

playSMS 0.9.6 has been released

Hmm.. new languages, new plugins, bug fixes.. here.. and there.. that’s it!, playSMS 0.9.6.

These are changes made in 0.9.6:

  • MAJOR: move SMS sender ID logic in sendsms() and it hooks to sendsms_get_sender() (anton)
  • MAJOR: all ‘mobile’ terms that are related to sending SMS are replaced by ‘sender’ (anton)
  • MAJOR: all old ‘sender’ terms that are related to sending SMS are replaced by ‘footer’ (anton)
  • add new language Catalan (ca_ES) (aseques)
  • add new language Spanish (es_VE) (alfredo)
  • add new function: sendsms_get_sender() to get effective SMS Sender ID (anton)
  • add new options in preferences: sender and footer (anton)
  • add new plugin: message template, replace word templates with phonebook related data (anton)
  • add new plugin: send SMS by uploading a list in a CSV file (anton)
  • add new plugin: inbox group (anton)
  • add new theme ‘play’ (ajiwo)
  • add new option for user to select active language (aseques)
  • add new option for admin to select default language (aseques)
  • add gpname2gpid() in simplephonebook/fn.php (emmanuel)
  • add webservices type of action (ta=cr) to get user’s credit (anton)
  • remove address and country from required field on user management (anton)
  • remove mobile field from required field on user preferences and management (anton)
  • regression: remove addslashes in sendsms() and add stripslashes when fwd to email (anton)
  • replace $sms_datetime in several plugins to $datetime_now (anton)
  • replace term ‘Receiver’ with ‘To’ (anton)
  • replace term ‘Sender’ with ‘From’ (anton)
  • sendsms() is considered low level, use sendsms_pv() on plugins (anton)
  • update FAQ, reformat and fix typos (anton)
  • update Clickatell’s doc (aseques)
  • update Clickatell’s API URL to HTTPS (aseques)
  • fix .po and .mo files, remove duplicated strings and add charset info (aseques)
  • fix SMS footer display on user and all outgoing page (anton)
  • fix gateway msgtoolbox, unable to properly save message ID on incoming SMS (anton)
  • fix $sms_datetime for display purposes on some plugins using core_display_datetime() (anton)
  • fix #3414232 sms_poll log table missing datetime field (anton)
  • fix #3479182 spaces leading a message break keyword parsing (jeremymueller)


playSMS has been released

It’s a strange day to publish a release I might say. It’s the 10th anniversary of the horrible tragedy. Although I’m sure theres no one think the date got anything to do with playSMS and its release, I have to say that this is pure unplanned action, tonight is simply the night I can’t sleep and I need to spend it on something useful.

Anyhow. playSMS version got several major changes inside, bug fixes and security hole fixes.

Below are changes made since and incorporated to playSMS version

  • MAJOR: fix security hole RFI (anton)
  • add new option to allow/disallow forwards to inbox, email and mobile for each users (anton)
  • add new language zh_CN (fvancaen)
  • add new plugin, feature, SMS survey, half-way, the reporting parts are not finished (anton)
  • add new method interceptsendsms() to intercept sent SMS before handled by gateway (anton)
  • add new field, in_receiver, in db table tblUserInbox and tblSMSIncoming (anton)
  • add all intercepts in features plugins, now hook-able from features plugin (anton)
  • add method to save receiver number, currently available only in kannel and clickatell (anton)
  • add sender name in email forwarded to user from PV or sms board (anton)
  • add multiple destinations capability when ta=pv on webservices (anton)
  • sms survey temporarily disabled, not removed, waiting for reporting parts (anton)
  • sms autosend temporarily disabled, not removed, waiting for major changes (anton)
  • fix checkavailablekeyword() lib/fn_core.php to have hooks return TRUE if available (anton)
  • fix autoreply unable to delete scenario (anton)
  • fix sms_survey unable to send sms due to accessing $core_config[‘user’] on playsmsd() (avudz)
  • fix sms subscribe subscribing to disabled keyword should not happen (anton)
  • fix sms autosend admin should have permission to edit all data (anton)
  • fix typo phonebook_groupcode2id() in webservices_bc() lib/fn_webservices.php (anton)
  • fix wrong group while sending broadcast sms to group when ‘Or’ field is filled (anton)
  • fix sms subscribe, subscribing to disabled keyword should not happen (anton)
  • fix #3109982 wrong autoreply result due to missing autoreply_id in db query (anton)
  • fix #3216652 the bar graph image on the poll results page is broken (jeremymueller)

If you are a playSMS plugin’s developer then you might want to learn more on changes related to security hole, method or db field additions and fix on checkavailablekeyword().


playSMS version has been released

Version adds two additional plugin in tools, they are: pvat and xlate. Both new plugin demonstrate how to intercept an incoming SMS and do anything we need with that, and of course returns something we want. First plugin, pvat, will intercept incoming SMS and scan for special format @<username> <messages> and then modify it to become PV <username> <messages>. Once done intercepting, pvat will returns that modified message to core function that actually handle SMS.

For example, a sender sent a message to playSMS, a message like this: @anton dude your application works. The plugin will scan and process it, change the message to: PV anton dude your application works. Once modified and returned to core function, the rest of the process is to handle a PV message, that is to save the message in username’s inbox and forward it to username’s email, in this case the username is anton.

Second plugin, xlate, will intercept incoming SMS and scan for special format: @<from language>2<to language> <words/sentences>. For example, a sender want to quickly translate “I love you” to Italian phrase. In this case sender should send SMS to playSMS like this: @en2it I love you. Once received and intercepted, xlate will utilize Google Translate to translate “I love you” to Italian phrase, and returns “Ti amo” to sender.

More example to come :)

Important changes in playSMS is actually date/time adjustment. A timezone settings is added to this version to overcome problems when an SMS gateway is not in the same location (or timezone) with playSMS. For example, if you use default kannel like from most distros, kannel will handle all date/time as GMT+0 timezone, which mean playSMS will receive SMS in GMT+0 as well. This situation is not what most playSMS users wanted.

Continue reading “playSMS version has been released”

playSMS version has been released

I know its too fast since last release, but we have to :)

The release contains major changes due to bug found soon after 0.9.5 released and observations to life demo at Quick installation on Windows 7 with latest playSMS and Gammu gateway module which finally shown a promising chances to get playSMS work properly in Windows, was also a contributing factor to the release.

These are playSMS highlights:

  • fix message empty when handled by gnokii or smstools due to single quote in $lc (thx to kendokar)
  • PHP PEAR DB re-included in the package, too complicated for most users to install it manually
  • gateway uplink will work only with master installed with playSMS >=
  • new interesting functions that can be hooked from plugin/tools/*, interceptincomingsms() and interceptsmstoinbox()
  • references to menu.php, input.php, output.php and all direct access to file under playSMS are switched to index.php?app=xxxxx
  • new gateway module gammu to support Gammu, another popular open source SMS gateway

Continue reading “playSMS version has been released”