=== PayCall Multisend SMS & TTS Support 66 languages ===
Contributors: PayCall
Donate link: https://www.paycall.co.il/
Tags: sms, tts, woocommerce, contact-form-7, multisend
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.5
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
 
PayCall Multisend SMS & TTS Support 66 languages

== Description ==
 
PayCall Multisend SMS & TTS Support 66 languages

Support for sending to Kosher numbers

For contact us: [PayCall](https://www.paycall.co.il/en/%d7%a6%d7%95%d7%a8-%d7%a7%d7%a9%d7%a8/)

Paycall is a leading company in the online payments and management systems fields for measuring advertising, leads and calls. The advanced systems that we have developed are based on much professional experience and know-how, and an understanding of the market and changes taking place in it, which enable us to provide solutions for a broad range of customers commencing from websites, television channels, radio stations, and the press through small and large business proprietors. At Paycall, you will receive systems that are adapted to your needs, advanced and stable systems and personal, quality and reliable service.

Multisend SMS & TTS plugin provide integration with 3rd party plugins and core Wordpress functionality

        WooCommerce , Contact Form 7 , Elementor Forms

 
== Installation ==

1. Upload the plugin folder to the /wp-content/plugins/ directory, or install the plugin through the WordPress plugins screen directly.
2. Activate the plugin through the ‘Plugins’ screen in WordPress.
3. Go to Settings → Multisend and enter your Multisend account credentials.
4. Configure the events you want to trigger SMS for under the WooCommerce, Elementor Pro, and Contact Form 7 sections.

A full Hebrew user guide ships with the plugin and is linked from the settings page (sidebar → "User guide" box).


== Screenshots ==

1. Account details — Multisend credentials, sender name, optional global Delivery URL and Customer Message ID.
2. WooCommerce Events — per-status SMS to customer and admin, dynamic statuses with per-status URL/Message ID overrides.
3. Elementor Forms Events — global admin/user SMS toggles with token-based templates.
4. Elementor Form widget — per-form "Multisend SMS" panel with override for admin/user enables, templates, Delivery URL and Customer Message ID.
5. Contact Form 7 Events — global admin/user SMS with template tokens, phone-field name, and per-form override panel in the CF7 form editor.



== License ==

Copyright (c) by Paycall LTD 2021
Copyright (c) by Amit Matat, Rami Yushuvaev 2016

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA

== Changelog ==

= 1.5 =
* Account: New "Delivery notification URL" and "Customer message ID" fields. When set, every outbound SMS includes them in the XML sent to Multisend, replacing the previously hardcoded values. Leaving them blank omits the tags entirely.
* Phones: All recipient numbers are automatically normalized to E.164 (e.g. `054-123-4567`, `0541234567`, `+972...`, `00972...` all become `972541234567`). Foreign numbers are preserved as-is.
* Elementor Forms — global: New "Delivery URL" and "Customer Message ID" overrides under "Elementor forms Events" — apply to every Elementor form unless overridden per-form.
* Elementor Forms — per-form: A new "Multisend SMS" section appears inside the Elementor Form widget editor. Each form can override admin/user enables, message templates, Delivery URL and Customer Message ID. Stored in `_elementor_data`, so per-form settings travel with the form on export/import.
* Elementor Forms — tokens: SMS templates support `[field_id]` (replaced with the submitted value) and `[all_fields]` (renders every submitted field as "Label: value" lines).
* Contact Form 7 — global: New "Delivery URL" and "Customer Message ID" overrides under "Contact Form 7 Events".
* Contact Form 7 — per-form: New "Multisend SMS" panel in the CF7 form editor — admin/user enables, templates, phone-field name, Delivery URL, Customer Message ID. Stored as form postmeta.
* Contact Form 7 — tokens: same `[field-name]` and `[all_fields]` token system as Elementor; arrays are joined with commas.
* WooCommerce — per-event: Each event group (new order, completed, cancelled) now exposes its own Delivery URL and Customer Message ID override, sitting inside the existing sub-block.
* WooCommerce — per-status (Dynamic Status): Each entry added via the Dynamic Status dropdown now has its own Delivery URL and Customer Message ID inputs that travel together when the row is removed.
* Precedence: per-form > per-event/per-status > global event-level > Account default. Empty values cascade up the chain.
* Removed advertised POJO Forms integration. POJO Forms was permanently closed on wordpress.org on 2024-12-15 (author request). Existing `pojo_forms_mail_sent` listener code is kept dormant for legacy installs that still have a copy of POJO Forms locally; it activates only when `pojo-forms/pojo-forms.php` is in `active_plugins`.

= 1.1 =
* Tested with WordPress 7.0.
* Bumped minimum WordPress to 6.0 and minimum PHP to 7.4.
* Security: AJAX settings handlers now require `manage_options` capability and a valid nonce (fixes CSRF + privilege escalation).
* Fixed malformed balance API URL (`balance&user=` → `balance?user=`) and added a 5s timeout + WP_Error guard.
* Escaped option output across the admin UI and all extension settings forms.
* Initialized `$params` in the balance API call (PHP 8 warning).
* Added isset() guards on extension option lookups to silence PHP 8 deprecation notices.

= 1.0 =
* Initial release.
