Sendinblue - Version 1.1.6

Version Notes

Synchronize your Magento contacts with SendinBlue platform, send your marketing and transactional emails and SMS

Download this release

Release Info

Developer Sendinblue
Extension Sendinblue
Version 1.1.6
Comparing to
See all releases


Code changes from version 1.1.0 to 1.1.6

app/code/local/Sendinblue/Sendinblue/Block/Sendinblue.php CHANGED
@@ -20,71 +20,99 @@ class Sendinblue_Sendinblue_Block_Sendinblue extends Mage_Core_Block_Template
20
  }
21
 
22
  protected function _toHtml()
23
- {
24
-
25
- $get_Enable_Status = Mage::getModel('sendinblue/sendinblue')->getEnableStatus();
26
-
27
- $get_Tracking_Status = Mage::getModel('sendinblue/sendinblue')->getTrackingStatus();
28
-
29
- $get_order_status = Mage::getModel('sendinblue/sendinblue')->getOrderSmsStatus();
30
-
31
- $get_User_lists = Mage::getModel('sendinblue/sendinblue')->getUserlists();
32
-
33
-
34
- $value = Mage::getModel('sendinblue/sendinblue')->TrackingSmtp();
35
-
36
- $orders = Mage::getModel('sales/order')->getCollection();
37
-
38
- $order = $orders->getLastItem();
39
- $order_Data = $order->getPayment()->getData();
40
- $customer = Mage::getSingleton('customer/session')->getCustomer();
41
- $orderaddress = Mage::getModel('sales/order')->loadByIncrementId($order->increment_id);
42
-
43
- $mobile = $customer->getPrimaryBillingAddress()->getTelephone();
44
- $email = $customer->getEmail();// for email address
45
- $firstname = $customer->getFirstname();// For first name
46
- $lastname= $customer->getLastname();// For last name
47
- $costomer_data = Mage::getModel('newsletter/subscriber')->loadByEmail($email);
48
- $nlStatus = $costomer_data->getStatus();
49
- if ($get_Enable_Status == 1 && $get_Tracking_Status == 1 && $nlStatus == 1)
50
- {
51
 
52
- $value_config = Mage::getModel('sendinblue/sendinblue')->getApiConfigValue();
53
- if ($value_config->date_format == 'dd-mm-yyyy')
54
- $date = date('d-m-Y', strtotime($order->created_at));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  else
56
- $date = date('m-d-Y', strtotime($order->created_at));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
 
58
- $html = '';
59
-
60
- $html .= '<script type="text/javascript">
61
- /**Code for NB tracking*/
62
- function loadScript(url,callback){var script=document.createElement("script");script.type="text/javascript";if(script.readyState){script.onreadystatechange=function(){
63
- if(script.readyState=="loaded"||script.readyState=="complete"){script.onreadystatechange=null;callback(url)}}}else{
64
- script.onload=function(){callback(url)}}script.src=url;if(document.body){document.body.appendChild(script)}else{
65
- document.head.appendChild(script)}}
66
- var nbJsURL = (("https:" == document.location.protocol) ? "https://my-tracking-orders.googlecode.com/files" : "http://my-tracking-orders.googlecode.com/files");
67
- var nbBaseURL = "http://tracking.mailin.fr/";
68
- loadScript(nbJsURL+"/nbv2.js",
69
- function(){
70
- /*You can put your custom variables here as shown in example.*/
71
- try {
72
- var nbTracker = nb.getTracker(nbBaseURL , "'.$value->result->tracking_data->site_id.'");
73
- var list = ["'.$get_User_lists.'"];
74
- var attributes = ["EMAIL","PRENOM","NOM","ORDER_ID","ORDER_DATE","ORDER_PRICE"];
75
- var values = ["'.$email.'","'.$firstname.'","'.$lastname.'","'.$order->increment_id.'","'.$date.'","'.$order_Data[amount_ordered].'"];
76
- nbTracker.setListData(list);
77
- nbTracker.setTrackingData(attributes,values);
78
- nbTracker.trackPageView();
79
- } catch( err ) {}
80
- });
81
-
82
- </script>';
83
-
84
- echo $html;
85
- }
86
 
87
- }
88
 
89
 
90
  }
20
  }
21
 
22
  protected function _toHtml()
23
+ {
24
+ $sendinblueData = Mage::getModel('sendinblue/sendinblue');
25
+ $get_Enable_Status = $sendinblueData->getEnableStatus();
26
+ $get_Tracking_Status = $sendinblueData->getTrackingStatus();
27
+ $get_order_status = $sendinblueData->getOrderSmsStatus();
28
+ $get_User_lists = $sendinblueData->getUserlists();
29
+ $value = $sendinblueData->TrackingSmtp();
30
+
31
+ $lastOrderId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
32
+ $customer = Mage::getSingleton('customer/session')->getCustomer();
33
+ $order = Mage::getModel('sales/order')->loadByIncrementId($lastOrderId);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
 
35
+ if($get_Enable_Status && $get_order_status)
36
+ {
37
+ $locale = Mage::app()->getLocale()->getLocaleCode();
38
+ $mobile = $order->getBillingAddress()->getTelephone();
39
+ $countryid = $order->getBillingAddress()->getCountryId();
40
+ $tableCountry = Mage::getSingleton('core/resource')->getTableName('sendinblue_country_codes');
41
+ $sql = 'SELECT * FROM '.$tableCountry.' WHERE iso_code = "'.$countryid.'" ';
42
+ $connection = Mage::getSingleton('core/resource')->getConnection('core_read');
43
+ $data = $connection->fetchRow($sql);
44
+
45
+ $mobile = $sendinblueData->checkMobileNumber($mobile,$data['country_prefix']);
46
+ $email = $order->getBillingAddress()->getEmail();
47
+ $firstname = $order->getBillingAddress()->getFirstname();
48
+ $lastname = $order->getBillingAddress()->getLastname();
49
+ $ref_num = $order->getIncrementId();
50
+ $orderprice = $order->getGrandTotal();
51
+ $currencycode = $order->getBaseCurrencyCode();
52
+ $orderdate = $order->getCreatedAt();
53
+ if ($locale == 'fr_FR')
54
+ $ord_date = date('d/m/Y', strtotime($orderdate));
55
  else
56
+ $ord_date = date('m/d/Y', strtotime($orderdate));
57
+ $total_pay = $orderprice.' '.$currencycode;
58
+ $msgbody = $sendinblueData->getSendSmsmOrderMessage();
59
+ $fname = str_replace('{first_name}', $firstname, $msgbody);
60
+ $lname = str_replace('{last_name}', $lastname."\r\n", $fname);
61
+ $procuct_price = str_replace('{order_price}', $total_pay, $lname);
62
+ $order_date = str_replace('{order_date}', $ord_date."\r\n", $procuct_price);
63
+ $msgbody = str_replace('{order_reference}', $ref_num, $order_date);
64
+
65
+ $arr = array();
66
+ $arr['to'] = $mobile;
67
+ $arr['from'] = $sendinblueData->getSendSmsOrderSubject();
68
+ $arr['text'] = $msgbody;
69
+ $responce = $sendinblueData->sendSmsApi($arr);
70
+ }
71
+
72
+ $email = $customer->getEmail();// for email address
73
+ $firstName = $customer->getFirstname();// For first name
74
+ $lastName= $customer->getLastname();// For last name
75
+ $costomer_data = Mage::getModel('newsletter/subscriber')->loadByEmail($email);
76
+ $nlStatus = $costomer_data->getStatus();
77
+ if ($get_Enable_Status == 1 && $get_Tracking_Status == 1 && $nlStatus == 1)
78
+ {
79
+
80
+ $value_config = $sendinblueData->getApiConfigValue();
81
+ if ($value_config->date_format == 'dd-mm-yyyy')
82
+ $date = date('d-m-Y', strtotime($order->getCreatedAt()));
83
+ else
84
+ $date = date('m-d-Y', strtotime($order->getCreatedAt()));
85
 
86
+ $html = '';
87
+
88
+ $html .= '<script type="text/javascript">
89
+ /**Code for NB tracking*/
90
+ function loadScript(url,callback){var script=document.createElement("script");script.type="text/javascript";if(script.readyState){script.onreadystatechange=function(){
91
+ if(script.readyState=="loaded"||script.readyState=="complete"){script.onreadystatechange=null;callback(url)}}}else{
92
+ script.onload=function(){callback(url)}}script.src=url;if(document.body){document.body.appendChild(script)}else{
93
+ document.head.appendChild(script)}}
94
+ var nbJsURL = (("https:" == document.location.protocol) ? "https://my-tracking-orders.googlecode.com/files" : "http://my-tracking-orders.googlecode.com/files");
95
+ var nbBaseURL = "http://tracking.mailin.fr/";
96
+ loadScript(nbJsURL+"/nbv2.js",
97
+ function(){
98
+ /*You can put your custom variables here as shown in example.*/
99
+ try {
100
+ var nbTracker = nb.getTracker(nbBaseURL , "'.$value->result->tracking_data->site_id.'");
101
+ var list = ["'.$get_User_lists.'"];
102
+ var attributes = ["EMAIL","PRENOM","NOM","ORDER_ID","ORDER_DATE","ORDER_PRICE"];
103
+ var values = ["'.$email.'","'.$firstName.'","'.$lastName.'","'.$order->getIncrementId().'","'.$date.'","'.$order->getGrandTotal().'"];
104
+ nbTracker.setListData(list);
105
+ nbTracker.setTrackingData(attributes,values);
106
+ nbTracker.trackPageView();
107
+ } catch( err ) {}
108
+ });
109
+
110
+ </script>';
111
+
112
+ echo $html;
113
+ }
114
 
115
+ }
116
 
117
 
118
  }
app/code/local/Sendinblue/Sendinblue/Model/Observer.php CHANGED
@@ -80,7 +80,7 @@ class Sendinblue_Sendinblue_Model_Observer
80
  $cus_session = Mage::getSingleton('customer/session')->getCustomer();
81
  $customer = ($cus_session->getEmail())? $cus_session : $observer->getCustomer();
82
  $cus_data = $cus_session->getData();
83
- $email = (isset($params['email']))? $params['email'] : $customer->getEmail();
84
  $cid = $customer->getEntityid();
85
  $fname = $customer->getFirstname();
86
  $fname = empty($fname)?'':$fname;
@@ -106,29 +106,22 @@ class Sendinblue_Sendinblue_Model_Observer
106
 
107
  $is_subscribed = (isset($params['is_subscribed']))? $params['is_subscribed'] : '';
108
 
109
- $is_subscribedupdate = (isset($params['is_subscribed']))? 1 : 0;
110
- if ( isset($params['is_subscribed']) == '' ) {
111
- $costomer_data = Mage::getModel('newsletter/subscriber')->loadByEmail($email);
112
- $nlStatus = $costomer_data->getStatus();
113
- $is_subscribedupdate = 1;
114
- if ($nlStatus == '') {
115
- $is_subscribedupdate = 0;
116
- }
117
- }
118
  if ($fname != '' || $lname != '' || $telephone != '' || $email != '')
119
  {
 
 
 
120
  $extra = $fname.'|'.$lname.'|'.$client.'|'.$telephone;
121
- if (isset($is_subscribed) && $is_subscribed == 1)
122
- $responce = Mage::getModel('sendinblue/sendinblue')->emailAdd($email, $extra);
123
-
124
- if (isset($is_subscribedupdate) && $is_subscribedupdate == 1) {
125
  $responce = Mage::getModel('sendinblue/sendinblue')->emailAdd($email, $extra);
 
126
  }
127
  }
128
 
129
  if (isset($is_subscribed) && $is_subscribed != '' && $is_subscribed === 0) {
130
  Mage::getSingleton('core/session')->addSuccess($is_subscribed);
131
- $responce = Mage::getModel('sendinblue/sendinblue')->emailDelete($email);
132
  }
133
  return $this;
134
  }
@@ -152,7 +145,8 @@ class Sendinblue_Sendinblue_Model_Observer
152
  $locale = Mage::app()->getLocale()->getLocaleCode();
153
  $mobile = $_shippingAddress->getTelephone();
154
  $countryid = $_shippingAddress->getCountryId();
155
- $sql = 'SELECT * FROM sendinblue_country_codes WHERE iso_code = "'.$countryid.'" ';
 
156
  $connection = Mage::getSingleton('core/resource')->getConnection('core_read');
157
  $data = $connection->fetchRow($sql);
158
 
@@ -183,68 +177,18 @@ class Sendinblue_Sendinblue_Model_Observer
183
 
184
  }
185
  }
186
- public function ordersucess($observer)
187
- {
188
- $get_Enable_Status = Mage::getModel('sendinblue/sendinblue')->getEnableStatus();
189
- $get_order_status = Mage::getModel('sendinblue/sendinblue')->getOrderSmsStatus();
190
- $get_User_lists = Mage::getModel('sendinblue/sendinblue')->getUserlists();
191
- $get_Tracking_Status = Mage::getModel('sendinblue/sendinblue')->getTrackingStatus();
192
- $value = Mage::getModel('sendinblue/sendinblue')->TrackingSmtp();
193
-
194
- $orders = Mage::getModel('sales/order')->getCollection();
195
- $order = $orders->getLastItem();
196
 
197
- $order_Data = $order->getPayment()->getData();
198
-
199
- $customer = Mage::getSingleton('customer/session')->getCustomer();
200
- $orderaddress = Mage::getModel('sales/order')->loadByIncrementId($order->increment_id);
201
-
202
- //for order sms send
203
- if($get_Enable_Status && $get_order_status)
204
- {
205
- $locale = Mage::app()->getLocale()->getLocaleCode();
206
- $mobile = $orderaddress->getBillingAddress()->getTelephone();
207
- $countryid = $orderaddress->getBillingAddress()->getCountryId();
208
- $sql = 'SELECT * FROM sendinblue_country_codes WHERE iso_code = "'.$countryid.'" ';
209
- $connection = Mage::getSingleton('core/resource')->getConnection('core_read');
210
- $data = $connection->fetchRow($sql);
211
-
212
- $mobile = Mage::getModel('sendinblue/sendinblue')->checkMobileNumber($mobile,$data['country_prefix']);
213
- $email = $orderaddress->getBillingAddress()->getEmail();
214
- $firstname = $orderaddress->getBillingAddress()->getFirstname();
215
- $lastname = $orderaddress->getBillingAddress()->getLastname();
216
- $ref_num = $order->getIncrementId();
217
- $orderprice = $order->getGrandTotal();
218
- $currencycode = $order->getBaseCurrencyCode();
219
- $orderdate = $order->getCreatedAt();
220
- if ($locale == 'fr_FR')
221
- $ord_date = date('d/m/Y', strtotime($orderdate));
222
- else
223
- $ord_date = date('m/d/Y', strtotime($orderdate));
224
- $total_pay = $orderprice.' '.$currencycode;
225
- $msgbody = Mage::getModel('sendinblue/sendinblue')->getSendSmsmOrderMessage();
226
- $fname = str_replace('{first_name}', $firstname, $msgbody);
227
- $lname = str_replace('{last_name}', $lastname."\r\n", $fname);
228
- $procuct_price = str_replace('{order_price}', $total_pay, $lname);
229
- $order_date = str_replace('{order_date}', $ord_date."\r\n", $procuct_price);
230
- $msgbody = str_replace('{order_reference}', $ref_num, $order_date);
231
-
232
- $arr = array();
233
- $arr['to'] = $mobile;
234
- $arr['from'] = Mage::getModel('sendinblue/sendinblue')->getSendSmsOrderSubject();
235
- $arr['text'] = $msgbody;
236
- $responce = Mage::getModel('sendinblue/sendinblue')->sendSmsApi($arr);
237
- }
238
-
239
- }
240
  public function subscribedToNewsletter($observer)
241
  {
242
- $data = $observer->subscriber;
 
243
  if($data->subscriber_status == 3)
244
  Mage::getModel('sendinblue/sendinblue')->emailDelete($data->subscriber_email);
245
  else if ($data->subscriber_status == 1)
 
246
  Mage::getModel('sendinblue/sendinblue')->emailSubscribe($data->subscriber_email);
247
-
 
248
  }
249
  public function disableCache(Varien_Event_Observer $observer)
250
  {
80
  $cus_session = Mage::getSingleton('customer/session')->getCustomer();
81
  $customer = ($cus_session->getEmail())? $cus_session : $observer->getCustomer();
82
  $cus_data = $cus_session->getData();
83
+ $email = (isset($params['email']))? $params['email'] : $customer->getEmail();
84
  $cid = $customer->getEntityid();
85
  $fname = $customer->getFirstname();
86
  $fname = empty($fname)?'':$fname;
106
 
107
  $is_subscribed = (isset($params['is_subscribed']))? $params['is_subscribed'] : '';
108
 
 
 
 
 
 
 
 
 
 
109
  if ($fname != '' || $lname != '' || $telephone != '' || $email != '')
110
  {
111
+ $costomer_data = Mage::getModel('newsletter/subscriber')->loadByEmail($email);
112
+ $nlStatus = $costomer_data->getStatus();
113
+
114
  $extra = $fname.'|'.$lname.'|'.$client.'|'.$telephone;
115
+ if (isset($is_subscribed) && $is_subscribed == 1 && empty($nlStatus))
116
+ {
 
 
117
  $responce = Mage::getModel('sendinblue/sendinblue')->emailAdd($email, $extra);
118
+ Mage::getModel('sendinblue/sendinblue')->sendWsTemplateMail($email);
119
  }
120
  }
121
 
122
  if (isset($is_subscribed) && $is_subscribed != '' && $is_subscribed === 0) {
123
  Mage::getSingleton('core/session')->addSuccess($is_subscribed);
124
+ $responce = Mage::getModel('sendinblue/sendinblue')->emailDelete($params);
125
  }
126
  return $this;
127
  }
145
  $locale = Mage::app()->getLocale()->getLocaleCode();
146
  $mobile = $_shippingAddress->getTelephone();
147
  $countryid = $_shippingAddress->getCountryId();
148
+ $tableCountry = Mage::getSingleton('core/resource')->getTableName('sendinblue_country_codes');
149
+ $sql = 'SELECT * FROM '.$tableCountry.' WHERE iso_code = "'.$countryid.'" ';
150
  $connection = Mage::getSingleton('core/resource')->getConnection('core_read');
151
  $data = $connection->fetchRow($sql);
152
 
177
 
178
  }
179
  }
 
 
 
 
 
 
 
 
 
 
180
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
181
  public function subscribedToNewsletter($observer)
182
  {
183
+ $data = $observer->subscriber;
184
+
185
  if($data->subscriber_status == 3)
186
  Mage::getModel('sendinblue/sendinblue')->emailDelete($data->subscriber_email);
187
  else if ($data->subscriber_status == 1)
188
+ {
189
  Mage::getModel('sendinblue/sendinblue')->emailSubscribe($data->subscriber_email);
190
+ Mage::getModel('sendinblue/sendinblue')->sendWsTemplateMail($data->subscriber_email);
191
+ }
192
  }
193
  public function disableCache(Varien_Event_Observer $observer)
194
  {
app/code/local/Sendinblue/Sendinblue/Model/Sendinblue.php CHANGED
@@ -31,7 +31,6 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
31
  $scope = ($this->getScope()) ? $this->getScope() : Mage::app()->getStore()->getStoreId();
32
  $this->module_enable = $this->getEnableStatus($scope);
33
  $this->api_url = 'http://ws.mailin.fr/';
34
- $this->api_url2 = 'https://www.sendinblue.com/ws/getamd/';
35
  $this->api_key = $this->getApiKey();
36
  if (!$this->lists_ids)
37
  $this->lists_ids = str_replace(',', '|', $this->getUserlists($scope));
@@ -40,17 +39,36 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
40
 
41
  public function checkMobileNumber($number, $call_prefix)
42
  {
43
- $number = preg_replace('/\s+/', '', $number);
44
- $charone = substr($number, 0, 1);
45
- $chartwo = substr($number, 0, 2);
46
- if ($charone == '0' && $chartwo != '00')
47
- return '00'.$call_prefix.substr($number, 1);
48
- else if ($chartwo == '00')
49
- return $number;
50
- else if ($charone == '+')
51
- return '00'.substr($number, 1);
52
- else if ($charone != '0')
53
- return '00'.$call_prefix.$number;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  }
55
  /**
56
  * functions used for getting module status
@@ -183,6 +201,16 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
183
  return $apikey;
184
  }
185
  /**
 
 
 
 
 
 
 
 
 
 
186
  * functions used for getting smtp status
187
  */
188
  public function getSmtpStatus()
@@ -197,7 +225,18 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
197
  */
198
  public function getTrackingStatus()
199
  {
200
- $status = $this->getSendinTrackingCodeStatus('code', Mage::app()->getStore()->getStoreId());
 
 
 
 
 
 
 
 
 
 
 
201
  if (!$status) {
202
  return false;
203
  }
@@ -214,6 +253,16 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
214
  return $userlist;
215
  }
216
  /**
 
 
 
 
 
 
 
 
 
 
217
  * functions used for getting general config
218
  */
219
  public function getGeneralConfig($field, $store = null)
@@ -227,7 +276,7 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
227
  {
228
  return Mage::getStoreConfig('sendinblue/smtp/'.$field, $store);
229
  }
230
- public function getSyncronizeStatus()
231
  {
232
  return $this->getGeneralConfig('syncronize', Mage::app()->getStore()->getStoreId());
233
  }
@@ -238,6 +287,13 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
238
  {
239
  return Mage::getStoreConfig('sendinblue/tracking/'.$field, $store);
240
  }
 
 
 
 
 
 
 
241
  /**
242
  * functions used for module functionality
243
  */
@@ -261,7 +317,12 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
261
  $params['blacklisted'] = '';
262
  if ($extra != null)
263
  {
264
- $params['attributes_name'] = 'PRENOM|NOM|CLIENT|SMS';
 
 
 
 
 
265
  $params['attributes_value'] = $extra;
266
  } else
267
  {
@@ -392,7 +453,9 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
392
  $params['key'] = $api_key;
393
  $response = $this->callServer('DISPLAYLISTDATA', $params);
394
  if (isset($response->errorMsg) && !empty($response->errorMsg))
395
- return $lists['error'] = $response->errorMsg;
 
 
396
  }
397
  /**
398
  * functions used for smtp details and order tracking
@@ -498,8 +561,8 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
498
  {
499
  $params = array();
500
  $params['foldername'] = 'magento';
501
- $response = $this->callServer('ADDFOLDER', $params);
502
- $folder_id = $response->folder_id;
503
  $params = array();
504
  $params['listname'] = $list_name;
505
  $params['list_parent'] = $folder_id; //folder id
@@ -514,18 +577,6 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
514
  $this->sendAllMailIDToSendin($list_response);
515
  }
516
  }
517
- /**
518
- * Method is used getambassador Services.
519
- */
520
- public function amdRequest($api)
521
- {
522
- $data['key'] = $api;
523
- $data['campaign_id'] = '2147';
524
- $data['campaign_short_code'] = 'zHzc';
525
-
526
- return $list_response = $this->curlRequest($data);
527
-
528
- }
529
 
530
  /**
531
  * folder create in Sendinblue after installing
@@ -539,8 +590,8 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
539
  {
540
  $params = array();
541
  $params['foldername'] = 'magento';
542
- $response = $this->callServer('ADDFOLDER', $params);
543
- $folder_id = $response->folder_id;
544
  $exist_list = '';
545
  } else
546
  {
@@ -571,7 +622,7 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
571
  $list_name = 'magento_'.$date;
572
  }
573
  else
574
- $list_name = 'magento';
575
  $params = array();
576
  $params['listname'] = $list_name;
577
  $params['list_parent'] = $response;
@@ -585,8 +636,13 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
585
  */
586
  public function createAttributesName()
587
  {
 
588
  $params = array();
589
- $params['normal_attributes'] = 'PRENOM,text|NOM,text|SMS,text|CLIENT,number';
 
 
 
 
590
  $params['transactional_attributes'] = 'ORDER_ID,id|ORDER_DATE,date|ORDER_PRICE,number';
591
  $this->callServer('ATTRIBUTES_CREATION', $params);
592
  }
@@ -594,18 +650,20 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
594
  * Method is used to send all the subscribers from magento to
595
  * Sendinblue for adding / updating purpose.
596
  */
597
- public function sendAllMailIDToSendin($list)
598
- {
599
- $allemail = $this->getcustomers();
600
- $params = array();
601
- $params['webaction'] = 'MULTI-USERCREADIT';
602
- $params['key'] = $this->api_key;
603
- $params['attributes'] = $allemail;
604
- $params['listid'] = $list->result;
605
- $response = $this->callServer('MULTI-USERCREADIT', $params);
606
- $sendin_switch = new Mage_Core_Model_Config();
607
- $sendin_switch->saveConfig('sendinblue/list', $list->result, 'default', 0);
608
- }
 
 
609
  /**
610
  * Send SMS from Sendin.
611
  */
@@ -619,7 +677,7 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
619
  return $this->callServer('SENDSMS', $params);
620
  }
621
 
622
- public function sendOrder($mobile)
623
  {
624
  $sendin_switch = new Mage_Core_Model_Config();
625
 
@@ -637,11 +695,12 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
637
  public function notifySmsEmail()
638
  {
639
  $sendin_switch = new Mage_Core_Model_Config();
 
640
  if($this->getSmsCredit() < $this->getNotifyValueStatus() && $this->module_enable == 1 && $this->getNotifySmsStatus() == 1)
641
  {
642
  if($this->getNotifyCronStatus() == 0)
643
- {
644
- $sendin_switch->saveConfig('Sendin_Notify_Cron_Executed', 1, 'default', 0);
645
  $locale = Mage::app()->getLocale()->getLocaleCode();
646
  $email_template_variables = array();
647
  if ($locale == 'fr_FR')
@@ -685,7 +744,7 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
685
  }
686
  else
687
  {
688
- $sendin_switch->saveConfig('Sendin_Notify_Cron_Executed', 0, 'default', 0);
689
  }
690
 
691
  Mage::getSingleton('core/session')->addSuccess(Mage::helper('sendinblue')->__('Notification mail has been sent'));
@@ -698,8 +757,16 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
698
  $params = array();
699
  $params['key'] = $this->api_key;
700
  $result = $this->callServer('USER-CURRENT-PLAN', $params);
701
- if ($result['1']->plan_type == 'SMS')
702
- return $result['1']->credits;
 
 
 
 
 
 
 
 
703
  }
704
  /**
705
  * Method is used to send test email to the user.
@@ -739,62 +806,113 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
739
  */
740
  public function getcustomers()
741
  {
 
742
  $data = array();
743
  $collection = Mage::getModel('customer/customer')->getCollection()->addAttributeToSelect('email')->addAttributeToSelect('firstname')->addAttributeToSelect('lastname');
744
  foreach ($collection as $customer)
745
  {
746
 
747
- $email = $customer->getData('email');
748
- $firstname = $customer->getData('firstname');
749
- $lastname = $customer->getData('lastname');
750
- $cid = $customer->getData('entity_id');
751
-
752
- $collectionAddress = Mage::getModel('customer/address')->getCollection()->addAttributeToSelect('telephone')->addAttributeToSelect('country_id')->addAttributeToFilter('parent_id',(int)$cid);
753
- $telephone = '';
754
- foreach ($collectionAddress as $customerPhno) {
755
- $telephone = $customerPhno->getData('telephone');
756
- $country_id = $customerPhno->getData('country_id');
757
- }
758
-
759
- $customer_select[$email] = array(
760
  'email' => $email,
761
- 'PRENOM' => $firstname,
762
- 'NOM' => $lastname,
763
- 'SMS' => $telephone,
764
- 'country_id' => $country_id,
765
- 'CLIENT' => $cid>0?1:0
766
- );
767
  }
768
 
769
- $newsletterArr = array();
770
- $newsletter = Mage::getResourceModel('newsletter/subscriber_collection')->addFieldToFilter('subscriber_status', array('eq' => 1))->load();
771
- $cnt = 0;
772
- foreach ( $newsletter->getItems() as $subscriber )
773
- {
774
- $customer_id = $subscriber->getCustomerId();;
775
- $subscriber_email = $subscriber->getSubscriberEmail();
776
- $subscriber_status = $subscriber->getSubscriberStatus();
777
-
778
- if ( !empty($customer_select[$subscriber_email]) ) {
779
- $newsletterArr[$cnt] = $customer_select[$subscriber_email];
780
- $newsletterArr[$cnt]['subscriber_status'] = $subscriber_status;
781
- unset($customer_select[$subscriber_email]);
782
- }
783
- else {
784
- $newsletterArr[$cnt] = array(
785
- 'email' => $subscriber_email,
786
- 'PRENOM' => '',
787
- 'NOM' => '',
788
- 'SMS' => '',
789
- 'country_id' => ''
790
- );
791
- $newsletterArr[$cnt]['CLIENT'] = $customer_id>0?1:0;
792
- $newsletterArr[$cnt]['subscriber_status'] = $subscriber_status;
793
- }
794
- $cnt++;
795
- }
 
796
 
797
- return json_encode($newsletterArr);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
798
  }
799
  /**
800
  * This method is used to fetch all users from the default newsletter table to list
@@ -802,26 +920,23 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
802
  */
803
  public function getNewsletterSubscribe($start, $per_page)
804
  {
805
- $collection = Mage::getModel('customer/customer')->getCollection()->addAttributeToSelect('email')->addAttributeToSelect('firstname')->addAttributeToSelect('lastname');
 
806
  foreach ($collection as $customer)
807
  {
808
 
809
- $email = $customer->getData('email');
810
- $firstname = $customer->getData('firstname');
811
- $lastname = $customer->getData('lastname');
812
- $cid = $customer->getData('entity_id');
813
 
814
- $collectionAddress = Mage::getModel('customer/address')->getCollection()->addAttributeToSelect('telephone')->addAttributeToSelect('country_id')->addAttributeToFilter('parent_id',(int)$cid);
815
- $telephone = '';
816
  foreach ($collectionAddress as $customerPhno) {
817
  $telephone = $customerPhno->getData('telephone');
818
  $country_id = $customerPhno->getData('country_id');
819
  }
820
 
821
  $customer_select[$email] = array(
822
- 'email' => $email,
823
- 'firstname' => $firstname,
824
- 'lastname' => $lastname,
825
  'telephone' => $telephone,
826
  'country_id' => $country_id,
827
  'customer_id' => $cid
@@ -846,8 +961,6 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
846
  else {
847
  $newsletterArr[$cnt] = array(
848
  'email' => $subscriber_email,
849
- 'firstname' => '',
850
- 'lastname' => '',
851
  'telephone' => '',
852
  'country_id' => ''
853
  );
@@ -944,12 +1057,14 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
944
  */
945
  public function getNewsletterUnSubscribeCount()
946
  {
947
- $sql = 'SELECT count(*) as totalcoutn FROM customer_entity CE
948
- LEFT JOIN newsletter_subscriber
949
- ON CE.entity_id=newsletter_subscriber.customer_id WHERE subscriber_status != 1 or subscriber_status is null';
 
 
950
  $unsubs_count1 = Mage::getSingleton('core/resource') ->getConnection('core_read')->fetchRow($sql);
951
 
952
- $sql = 'SELECT count(*) as totalcoutn FROM newsletter_subscriber WHERE customer_id = 0 AND subscriber_status = 3';
953
  $unsubs_count2 = Mage::getSingleton('core/resource') ->getConnection('core_read')->fetchRow($sql);
954
  return ($unsubs_count1['totalcoutn'] + $unsubs_count2['totalcoutn']);
955
 
@@ -960,7 +1075,8 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
960
  */
961
  public function getNewsletterSubscribeCount()
962
  {
963
- $sql = 'SELECT count(*) as totalvalue from newsletter_subscriber where subscriber_status = 1';
 
964
  $data = Mage::getSingleton('core/resource') ->getConnection('core_read')->fetchRow($sql);
965
  return $data['totalvalue'];
966
  }
@@ -976,7 +1092,7 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
976
  $params = array();
977
  $params['key'] = $this->api_key;
978
  $params['email'] = $email;
979
- $response = $this->callServer('USERS-STATUS', $params);
980
  $response = json_encode($response);
981
  return json_decode($response, true);
982
  }
@@ -1007,14 +1123,41 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
1007
  */
1008
  public function curlRequest($data)
1009
  {
1010
- $url1 = $this->api_url;
1011
- $url2 = $this->api_url2;
1012
- if (array_key_exists('campaign_short_code', $data))
1013
- $url = $url2; // WS URL
1014
- else
1015
- $url = $url1; // WS URL
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1016
  $ch = curl_init();
1017
  $ndata = '';
 
1018
  if (is_array($data))
1019
  {
1020
  foreach ($data as $key => $value)
@@ -1030,10 +1173,11 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
1030
  curl_setopt($ch, CURLOPT_POST, 1);
1031
  curl_setopt($ch, CURLOPT_POSTFIELDS, $ndata);
1032
  curl_setopt($ch, CURLOPT_HEADER, 0);
 
1033
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
1034
  curl_setopt($ch, CURLOPT_URL, $url);
1035
  $data2 = curl_exec($ch);
1036
- curl_close($ch);
1037
  return $data2;
1038
  }
1039
 
@@ -1057,16 +1201,166 @@ class Sendinblue_Sendinblue_Model_Sendinblue extends Mage_Core_Model_Abstract
1057
  $this->_modifyResourceDb(self::TYPE_DB_UNINSTALL, $version, '');
1058
  return $this;
1059
  }
1060
- /**
1061
- * API config value from SendinBlue.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1062
  */
1063
- public function getApiConfigValue()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1064
  {
1065
  $data = array();
1066
  $data['key'] = $this->api_key;
1067
- $data['webaction'] = 'PLUGIN-CONFIG';
1068
- $value_config = $this->curlRequest($data);
1069
- $result = json_decode($value_config);
1070
- return $result;
1071
- }
1072
- }
 
31
  $scope = ($this->getScope()) ? $this->getScope() : Mage::app()->getStore()->getStoreId();
32
  $this->module_enable = $this->getEnableStatus($scope);
33
  $this->api_url = 'http://ws.mailin.fr/';
 
34
  $this->api_key = $this->getApiKey();
35
  if (!$this->lists_ids)
36
  $this->lists_ids = str_replace(',', '|', $this->getUserlists($scope));
39
 
40
  public function checkMobileNumber($number, $call_prefix)
41
  {
42
+ $number = preg_replace('/\s+/', '', $number);
43
+ $charone = substr($number, 0, 1);
44
+ $chartwo = substr($number, 0, 2);
45
+
46
+ if (preg_match('/^'.$call_prefix.'/', $number))
47
+ return '00'.$number;
48
+
49
+ else if ($charone == '0' && $chartwo != '00')
50
+ {
51
+ if (preg_match('/^0'.$call_prefix.'/', $number))
52
+ return '00'.substr($number, 1);
53
+ else
54
+ return '00'.$call_prefix.substr($number, 1);
55
+ }
56
+ elseif ($chartwo == '00')
57
+ {
58
+ if (preg_match('/^00'.$call_prefix.'/', $number))
59
+ return $number;
60
+ else
61
+ return '00'.$call_prefix.substr($number, 2);
62
+ }
63
+ elseif ($charone == '+')
64
+ {
65
+ if (preg_match('/^\+'.$call_prefix.'/', $number))
66
+ return '00'.substr($number, 1);
67
+ else
68
+ return '00'.$call_prefix.substr($number, 1);
69
+ }
70
+ elseif ($charone != '0')
71
+ return '00'.$call_prefix.$number;
72
  }
73
  /**
74
  * functions used for getting module status
201
  return $apikey;
202
  }
203
  /**
204
+ * functions used for get user name
205
+ */
206
+ public function getUserName()
207
+ {
208
+ $userName = $this->getSendinSmtpStatus('username', Mage::app()->getStore()->getStoreId());
209
+ if (!$userName)
210
+ return false;
211
+ return $userName;
212
+ }
213
+ /**
214
  * functions used for getting smtp status
215
  */
216
  public function getSmtpStatus()
225
  */
226
  public function getTrackingStatus()
227
  {
228
+ $status = $this->getSendinTrackingCodeStatus('code', Mage::app()->getStore()->getStoreId());
229
+ if (!$status) {
230
+ return false;
231
+ }
232
+ return $status;
233
+ }
234
+ /**
235
+ * functions used for getting tracking status
236
+ */
237
+ public function getTrackingHistoryStatus()
238
+ {
239
+ $status = $this->getSendinTrackingHistoryStatus('history', Mage::app()->getStore()->getStoreId());
240
  if (!$status) {
241
  return false;
242
  }
253
  return $userlist;
254
  }
255
  /**
256
+ * functions used for get templateid
257
+ */
258
+ public function getTemplateId()
259
+ {
260
+ $TemplateId = $this->getGeneralConfig('Sendin_Template_Id', Mage::app()->getStore()->getStoreId());
261
+ if (!$TemplateId)
262
+ return false;
263
+ return $TemplateId;
264
+ }
265
+ /**
266
  * functions used for getting general config
267
  */
268
  public function getGeneralConfig($field, $store = null)
276
  {
277
  return Mage::getStoreConfig('sendinblue/smtp/'.$field, $store);
278
  }
279
+ public function getSyncronizeStatus()
280
  {
281
  return $this->getGeneralConfig('syncronize', Mage::app()->getStore()->getStoreId());
282
  }
287
  {
288
  return Mage::getStoreConfig('sendinblue/tracking/'.$field, $store);
289
  }
290
+ /**
291
+ * functions used for get sendin tracking history status
292
+ */
293
+ public function getSendinTrackingHistoryStatus($field, $store = null)
294
+ {
295
+ return Mage::getStoreConfig('sendinblue/improt/'.$field, $store);
296
+ }
297
  /**
298
  * functions used for module functionality
299
  */
317
  $params['blacklisted'] = '';
318
  if ($extra != null)
319
  {
320
+ $value_langauge = $this->getApiConfigValue();
321
+ if ($value_langauge->language == 'fr')
322
+ $params['attributes_name'] = 'PRENOM|NOM|CLIENT|SMS';
323
+ else
324
+ $params['attributes_name'] = 'NAME|SURNAME|CLIENT|SMS';
325
+
326
  $params['attributes_value'] = $extra;
327
  } else
328
  {
453
  $params['key'] = $api_key;
454
  $response = $this->callServer('DISPLAYLISTDATA', $params);
455
  if (isset($response->errorMsg) && !empty($response->errorMsg))
456
+ return $lists['error'] = $response->errorMsg;
457
+
458
+
459
  }
460
  /**
461
  * functions used for smtp details and order tracking
561
  {
562
  $params = array();
563
  $params['foldername'] = 'magento';
564
+ $res = $this->callServer('ADDFOLDER', $params);
565
+ $folder_id = $res->folder_id;
566
  $params = array();
567
  $params['listname'] = $list_name;
568
  $params['list_parent'] = $folder_id; //folder id
577
  $this->sendAllMailIDToSendin($list_response);
578
  }
579
  }
 
 
 
 
 
 
 
 
 
 
 
 
580
 
581
  /**
582
  * folder create in Sendinblue after installing
590
  {
591
  $params = array();
592
  $params['foldername'] = 'magento';
593
+ $res = $this->callServer('ADDFOLDER', $params);
594
+ $folder_id = $res->folder_id;
595
  $exist_list = '';
596
  } else
597
  {
622
  $list_name = 'magento_'.$date;
623
  }
624
  else
625
+ $list_name = 'magento';
626
  $params = array();
627
  $params['listname'] = $list_name;
628
  $params['list_parent'] = $response;
636
  */
637
  public function createAttributesName()
638
  {
639
+ $value_langauge = $this->getApiConfigValue();
640
  $params = array();
641
+ if ($value_langauge->language == 'fr')
642
+ $params['normal_attributes'] = 'PRENOM,text|NOM,text|SMS,text|CLIENT,number';
643
+ else
644
+ $params['normal_attributes'] = 'NAME,text|SURNAME,text|SMS,text|CLIENT,number';
645
+
646
  $params['transactional_attributes'] = 'ORDER_ID,id|ORDER_DATE,date|ORDER_PRICE,number';
647
  $this->callServer('ATTRIBUTES_CREATION', $params);
648
  }
650
  * Method is used to send all the subscribers from magento to
651
  * Sendinblue for adding / updating purpose.
652
  */
653
+ public function sendAllMailIDToSendin($list)
654
+ {
655
+ $allemail = $this->getcustomers();
656
+ $params = array();
657
+ $params['webaction'] = 'IMPORTUSERS';
658
+ $params['key'] = $this->api_key;
659
+ $params['url'] = Mage::getBaseUrl('media').'sendinblue_csv/ImportSubUsersToSendinblue.csv';
660
+ $params['listids'] = $list->result;
661
+ $params['notify_url'] = Mage::getBaseUrl().'sendinblue/ajax/emptySubsUserToSendinblue';
662
+ $this->curlRequestAsyc($params);
663
+ $sendin_switch = new Mage_Core_Model_Config();
664
+ $sendin_switch->saveConfig('sendinblue/list', $list->result, 'default', 0);
665
+
666
+ }
667
  /**
668
  * Send SMS from Sendin.
669
  */
677
  return $this->callServer('SENDSMS', $params);
678
  }
679
 
680
+ public function sendOrder($mobile)
681
  {
682
  $sendin_switch = new Mage_Core_Model_Config();
683
 
695
  public function notifySmsEmail()
696
  {
697
  $sendin_switch = new Mage_Core_Model_Config();
698
+
699
  if($this->getSmsCredit() < $this->getNotifyValueStatus() && $this->module_enable == 1 && $this->getNotifySmsStatus() == 1)
700
  {
701
  if($this->getNotifyCronStatus() == 0)
702
+ {
703
+ $sendin_switch->saveConfig('sendinblue/Sendin_Notify_Cron_Executed', 1, 'default', 0);
704
  $locale = Mage::app()->getLocale()->getLocaleCode();
705
  $email_template_variables = array();
706
  if ($locale == 'fr_FR')
744
  }
745
  else
746
  {
747
+ $sendin_switch->saveConfig('sendinblue/Sendin_Notify_Cron_Executed', 0, 'default', 0);
748
  }
749
 
750
  Mage::getSingleton('core/session')->addSuccess(Mage::helper('sendinblue')->__('Notification mail has been sent'));
757
  $params = array();
758
  $params['key'] = $this->api_key;
759
  $result = $this->callServer('USER-CURRENT-PLAN', $params);
760
+
761
+ foreach($result as $val)
762
+ {
763
+ if(is_object($val)){
764
+ if($val->plan_type=='SMS')
765
+ {
766
+ return $val->credits;
767
+ }
768
+ }
769
+ }
770
  }
771
  /**
772
  * Method is used to send test email to the user.
806
  */
807
  public function getcustomers()
808
  {
809
+ $value_langauge = $this->getApiConfigValue();
810
  $data = array();
811
  $collection = Mage::getModel('customer/customer')->getCollection()->addAttributeToSelect('email')->addAttributeToSelect('firstname')->addAttributeToSelect('lastname');
812
  foreach ($collection as $customer)
813
  {
814
 
815
+ $email = $customer->getData('email');
816
+ $firstname = $customer->getData('firstname');
817
+ $lastname = $customer->getData('lastname');
818
+ $cid = $customer->getData('entity_id');
819
+
820
+ $collectionAddress = Mage::getModel('customer/address')->getCollection()->addAttributeToSelect('telephone')->addAttributeToSelect('country_id')->addAttributeToFilter('parent_id',(int)$cid);
821
+ $telephone = '';
822
+ foreach ($collectionAddress as $customerPhno) {
823
+ $telephone = $customerPhno->getData('telephone');
824
+ $country_id = $customerPhno->getData('country_id');
825
+ }
826
+ $customer_select[$email] = array(
 
827
  'email' => $email,
828
+ 'NAME' => $firstname,
829
+ 'SURNAME' => $lastname,
830
+ 'SMS' => $telephone,
831
+ 'country_id' => $country_id,
832
+ 'CLIENT' => $cid>0?1:0
833
+ );
834
  }
835
 
836
+ $newsletterArr = array();
837
+ $newsletter = Mage::getResourceModel('newsletter/subscriber_collection')->addFieldToFilter('subscriber_status', array('eq' => 1))->load();
838
+ $cnt = 0;
839
+ foreach ( $newsletter->getItems() as $subscriber )
840
+ {
841
+ $customer_id = $subscriber->getCustomerId();;
842
+ $subscriber_email = $subscriber->getSubscriberEmail();
843
+ $subscriber_status = $subscriber->getSubscriberStatus();
844
+
845
+ if ( !empty($customer_select[$subscriber_email]) ) {
846
+ $newsletterArr[$cnt] = $customer_select[$subscriber_email];
847
+ $newsletterArr[$cnt]['subscriber_status'] = $subscriber_status;
848
+ unset($customer_select[$subscriber_email]);
849
+ }
850
+ else {
851
+ $newsletterArr[$cnt] = array(
852
+ 'email' => $subscriber_email,
853
+ 'NAME' => '',
854
+ 'SURNAME' => '',
855
+ 'SMS' => '',
856
+ 'country_id' => ''
857
+ );
858
+ $newsletterArr[$cnt]['CLIENT'] = $customer_id>0?1:0;
859
+ $newsletterArr[$cnt]['subscriber_status'] = $subscriber_status;
860
+ }
861
+ $cnt++;
862
+ }
863
+
864
 
865
+ if (!is_dir(Mage::getBaseDir('media').'/sendinblue_csv'))
866
+ mkdir(Mage::getBaseDir('media').'/sendinblue_csv', 0777, true);
867
+ if ($value_langauge->language == 'fr')
868
+ {
869
+ $handle = fopen(Mage::getBaseDir('media').'/sendinblue_csv/ImportSubUsersToSendinblue.csv', 'w+');
870
+ $key_value[] = 'EMAIL,PRENOM,NOM,SMS,CLIENT';
871
+ fputcsv($handle, $key_value);
872
+ }
873
+ else {
874
+ $handle = fopen(Mage::getBaseDir('media').'/sendinblue_csv/ImportSubUsersToSendinblue.csv', 'w+');
875
+ $key_value[] = 'EMAIL,NAME,SURNAME,SMS,CLIENT';
876
+ fputcsv($handle, $key_value);
877
+
878
+ }
879
+
880
+ foreach ($newsletterArr as $newsdata)
881
+ {
882
+ if(!empty($newsdata['country_id']))
883
+ {
884
+ $tableCountry = Mage::getSingleton('core/resource')->getTableName('sendinblue_country_codes');
885
+ $sql = 'SELECT country_prefix FROM '.$tableCountry.' WHERE iso_code = "'.$newsdata['country_id'].'"';
886
+ $country_id = Mage::getSingleton('core/resource') ->getConnection('core_read')->fetchRow($sql);
887
+ }
888
+ if(!empty($newsdata['SMS']))
889
+ $phone_number = $this->checkMobileNumber($newsdata['SMS'], $country_id['country_prefix']);
890
+ else
891
+ $phone_number = '';
892
+
893
+ if ($value_langauge->language == 'fr')
894
+ {
895
+ $key_value = array(
896
+ 'email' => $newsdata['email'],
897
+ 'PRENOM' => $newsdata['NAME']?$newsdata['NAME']:'',
898
+ 'NOM' => $newsdata['SURNAME']?$newsdata['SURNAME']:'',
899
+ 'SMS' => $phone_number?$phone_number:'',
900
+ 'CLIENT' => $newsdata['CLIENT']
901
+ );
902
+ }
903
+ else {
904
+ $key_value = array(
905
+ 'email' => $newsdata['email'],
906
+ 'NAME' => $newsdata['NAME']?$newsdata['NAME']:'',
907
+ 'SURNAME' => $newsdata['SURNAME']?$newsdata['SURNAME']:'',
908
+ 'SMS' => $phone_number?$phone_number:'',
909
+ 'CLIENT' => $newsdata['CLIENT']
910
+ );
911
+ }
912
+
913
+ fputcsv($handle, $key_value);
914
+
915
+ } fclose($handle);
916
  }
917
  /**
918
  * This method is used to fetch all users from the default newsletter table to list
920
  */
921
  public function getNewsletterSubscribe($start, $per_page)
922
  {
923
+
924
+ $collection = Mage::getModel('customer/customer')->getCollection()->addAttributeToSelect('email');
925
  foreach ($collection as $customer)
926
  {
927
 
928
+ $email = $customer->getData('email');
929
+ $cid = $customer->getData('entity_id');
 
 
930
 
931
+ $collectionAddress = Mage::getModel('customer/address')->getCollection()->addAttributeToSelect('telephone')->addAttributeToSelect('country_id')->addAttributeToFilter('parent_id',(int)$cid);
932
+ $telephone = '';
933
  foreach ($collectionAddress as $customerPhno) {
934
  $telephone = $customerPhno->getData('telephone');
935
  $country_id = $customerPhno->getData('country_id');
936
  }
937
 
938
  $customer_select[$email] = array(
939
+ 'email' => $email,
 
 
940
  'telephone' => $telephone,
941
  'country_id' => $country_id,
942
  'customer_id' => $cid
961
  else {
962
  $newsletterArr[$cnt] = array(
963
  'email' => $subscriber_email,
 
 
964
  'telephone' => '',
965
  'country_id' => ''
966
  );
1057
  */
1058
  public function getNewsletterUnSubscribeCount()
1059
  {
1060
+ $tableCustomer = Mage::getSingleton('core/resource')->getTableName('customer/entity');
1061
+ $tableNewsletter = Mage::getSingleton('core/resource')->getTableName('newsletter/subscriber');
1062
+ $sql = 'SELECT count(*) as totalcoutn FROM '.$tableCustomer.' CE
1063
+ LEFT JOIN '.$tableNewsletter.' NS
1064
+ ON CE.entity_id=NS.customer_id WHERE subscriber_status != 1 or subscriber_status is null';
1065
  $unsubs_count1 = Mage::getSingleton('core/resource') ->getConnection('core_read')->fetchRow($sql);
1066
 
1067
+ $sql = 'SELECT count(*) as totalcoutn FROM '.$tableNewsletter.' WHERE customer_id = 0 AND subscriber_status = 3';
1068
  $unsubs_count2 = Mage::getSingleton('core/resource') ->getConnection('core_read')->fetchRow($sql);
1069
  return ($unsubs_count1['totalcoutn'] + $unsubs_count2['totalcoutn']);
1070
 
1075
  */
1076
  public function getNewsletterSubscribeCount()
1077
  {
1078
+ $tableNewsletter = Mage::getSingleton('core/resource')->getTableName('newsletter/subscriber');
1079
+ $sql = 'SELECT count(*) as totalvalue from '.$tableNewsletter.' where subscriber_status = 1';
1080
  $data = Mage::getSingleton('core/resource') ->getConnection('core_read')->fetchRow($sql);
1081
  return $data['totalvalue'];
1082
  }
1092
  $params = array();
1093
  $params['key'] = $this->api_key;
1094
  $params['email'] = $email;
1095
+ $response = $this->callServer('USERS-STATUS-BLACKLIST', $params);
1096
  $response = json_encode($response);
1097
  return json_decode($response, true);
1098
  }
1123
  */
1124
  public function curlRequest($data)
1125
  {
1126
+
1127
+ $url = $this->api_url; // WS URL
1128
+ $ch = curl_init();
1129
+ $ndata = '';
1130
+ $data['source'] = 'Magento';
1131
+ if (is_array($data))
1132
+ {
1133
+ foreach ($data as $key => $value)
1134
+ $ndata .= $key.'='.urlencode($value).'&';
1135
+ } else
1136
+ $ndata = $data;
1137
+ curl_setopt($ch, CURLOPT_HTTPHEADER, array(
1138
+ 'Expect:'
1139
+ ));
1140
+
1141
+ $ndata = trim($ndata,'&');
1142
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
1143
+ curl_setopt($ch, CURLOPT_POST, 1);
1144
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $ndata);
1145
+ curl_setopt($ch, CURLOPT_HEADER, 0);
1146
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
1147
+ curl_setopt($ch, CURLOPT_URL, $url);
1148
+ $data2 = curl_exec($ch);
1149
+ curl_close($ch);
1150
+ return $data2;
1151
+ }
1152
+ /**
1153
+ * CURL function to send request to the Sendinblue API server
1154
+ */
1155
+ public function curlRequestAsyc($data)
1156
+ {
1157
+ $url = $this->api_url; // WS URL
1158
  $ch = curl_init();
1159
  $ndata = '';
1160
+ $data['source'] = 'Magento';
1161
  if (is_array($data))
1162
  {
1163
  foreach ($data as $key => $value)
1173
  curl_setopt($ch, CURLOPT_POST, 1);
1174
  curl_setopt($ch, CURLOPT_POSTFIELDS, $ndata);
1175
  curl_setopt($ch, CURLOPT_HEADER, 0);
1176
+ curl_setopt($ch, CURLOPT_TIMEOUT, 0);
1177
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
1178
  curl_setopt($ch, CURLOPT_URL, $url);
1179
  $data2 = curl_exec($ch);
1180
+ curl_close($ch);
1181
  return $data2;
1182
  }
1183
 
1201
  $this->_modifyResourceDb(self::TYPE_DB_UNINSTALL, $version, '');
1202
  return $this;
1203
  }
1204
+ /**
1205
+ * This method is used to fetch all subscribe users from the default customer table to list
1206
+ * them in the Sendinblue magento module.
1207
+ */
1208
+ public function smsCampaignList()
1209
+ {
1210
+ $value_langauge = $this->getApiConfigValue();
1211
+ $collection = Mage::getModel('customer/customer')->getCollection()->addAttributeToSelect('email')->addAttributeToSelect('firstname')->addAttributeToSelect('lastname');
1212
+ foreach ($collection as $customer)
1213
+ {
1214
+
1215
+ $email = $customer->getData('email');
1216
+ $firstname = $customer->getData('firstname');
1217
+ $lastname = $customer->getData('lastname');
1218
+ $cid = $customer->getData('entity_id');
1219
+
1220
+ $collectionAddress = Mage::getModel('customer/address')->getCollection()->addAttributeToSelect('telephone')->addAttributeToSelect('country_id')->addAttributeToFilter('parent_id',(int)$cid);
1221
+ $telephone = '';
1222
+ foreach ($collectionAddress as $customerPhno) {
1223
+ $telephone = $customerPhno->getData('telephone');
1224
+ $country_id = $customerPhno->getData('country_id');
1225
+ }
1226
+
1227
+ if ($value_langauge->language == 'fr')
1228
+ {
1229
+ $customer_select[$email] = array(
1230
+ 'email' => $email,
1231
+ 'PRENOM' => $firstname,
1232
+ 'NOM' => $lastname,
1233
+ 'SMS' => $telephone,
1234
+ 'country_id' => $country_id,
1235
+ 'CLIENT' => $cid>0?1:0
1236
+ );
1237
+ }
1238
+ else {
1239
+ $customer_select[$email] = array(
1240
+ 'email' => $email,
1241
+ 'NAME' => $firstname,
1242
+ 'SURNAME' => $lastname,
1243
+ 'SMS' => $telephone,
1244
+ 'country_id' => $country_id,
1245
+ 'CLIENT' => $cid>0?1:0
1246
+ );
1247
+ }
1248
+ }
1249
+
1250
+ $newsletterArr = array();
1251
+ $newsletter = Mage::getResourceModel('newsletter/subscriber_collection')->load();
1252
+ $cnt = 0;
1253
+ foreach ( $newsletter->getItems() as $subscriber )
1254
+ {
1255
+ $customer_id = $subscriber->getCustomerId();;
1256
+ $subscriber_email = $subscriber->getSubscriberEmail();
1257
+ $subscriber_status = $subscriber->getSubscriberStatus();
1258
+
1259
+ if ( !empty($customer_select[$subscriber_email]) ) {
1260
+ $newsletterArr[$cnt] = $customer_select[$subscriber_email];
1261
+ $newsletterArr[$cnt]['subscriber_status'] = $subscriber_status;
1262
+ unset($customer_select[$subscriber_email]);
1263
+ }
1264
+ else {
1265
+ if ($value_langauge->language == 'fr')
1266
+ {
1267
+ $newsletterArr[$cnt] = array(
1268
+ 'email' => $subscriber_email,
1269
+ 'PRENOM' => '',
1270
+ 'NOM' => '',
1271
+ 'SMS' => '',
1272
+ 'country_id' => ''
1273
+ );
1274
+ $newsletterArr[$cnt]['CLIENT'] = $customer_id>0?1:0;
1275
+ $newsletterArr[$cnt]['subscriber_status'] = $subscriber_status;
1276
+ }
1277
+ else
1278
+ {
1279
+ $newsletterArr[$cnt] = array(
1280
+ 'email' => $subscriber_email,
1281
+ 'NAME' => '',
1282
+ 'SURNAME' => '',
1283
+ 'SMS' => '',
1284
+ 'country_id' => ''
1285
+ );
1286
+ $newsletterArr[$cnt]['CLIENT'] = $customer_id>0?1:0;
1287
+ $newsletterArr[$cnt]['subscriber_status'] = $subscriber_status;
1288
+ }
1289
+ }
1290
+ $cnt++;
1291
+ }
1292
+ $i = 0;
1293
+ $data = array();
1294
+ foreach($newsletterArr as $result)
1295
+ {
1296
+
1297
+ if(!empty($result['SMS']))
1298
+ {
1299
+ $data[$i]= $result;
1300
+ }
1301
+ $i++;
1302
+ }
1303
+ return json_encode($data);
1304
+ }
1305
+ /**
1306
+ * API config value from SendinBlue.
1307
+ */
1308
+ public function getApiConfigValue()
1309
+ {
1310
+ $data = array();
1311
+ $data['key'] = $this->api_key;
1312
+ $data['webaction'] = 'PLUGIN-CONFIG';
1313
+ $value_config = $this->curlRequest($data);
1314
+ $result = json_decode($value_config);
1315
+ return $result;
1316
+ }
1317
+ /**
1318
+ * Send template email by sendinblue for newsletter subscriber user .
1319
  */
1320
+ public function sendWsTemplateMail($to)
1321
+ {
1322
+ $mail_url = "http://mysmtp.mailin.fr/ws/template/"; //Curl url
1323
+
1324
+ $key = $this->api_key;
1325
+ $user = $this->getUserName();
1326
+
1327
+ $to = str_replace('+', '%2B', $to);
1328
+ $temp_id_value = $this->getTemplateId();
1329
+ $templateid = !empty($temp_id_value) ? $temp_id_value : ''; // should be the campaign id of template created on mailin. Please remember this template should be active than only it will be sent, otherwise it will return error.
1330
+
1331
+ $post_data = "to=$to&key=$key&user=$user&templateid=$templateid";
1332
+
1333
+ $ch = curl_init();
1334
+
1335
+ curl_setopt ($ch, CURLOPT_POST, 1);
1336
+
1337
+ curl_setopt ($ch, CURLOPT_URL, $mail_url);
1338
+
1339
+ curl_setopt ($ch, CURLOPT_POSTFIELDS, $post_data);
1340
+
1341
+ curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
1342
+
1343
+ curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
1344
+
1345
+ $return_data = curl_exec ($ch);
1346
+
1347
+ curl_close ($ch);
1348
+
1349
+ $res = json_decode($return_data, true);
1350
+ return $res;
1351
+
1352
+ }
1353
+ /**
1354
+ * Get all temlpate list id by sendinblue.
1355
+ */
1356
+ public function templateDisplay()
1357
  {
1358
  $data = array();
1359
  $data['key'] = $this->api_key;
1360
+ $data['webaction'] = 'CAMPAIGNDETAIL';
1361
+ $data['show'] = 'ALL';
1362
+ $data['messageType'] = 'template';
1363
+ return json_decode($this->curlRequest($data));
1364
+
1365
+ }
1366
+ }
app/code/local/Sendinblue/Sendinblue/controllers/Adminhtml/MyformController.php CHANGED
@@ -11,8 +11,8 @@
11
  class Sendinblue_Sendinblue_Adminhtml_MyformController extends Mage_Adminhtml_Controller_Action
12
  {
13
  public function indexAction()
14
- {
15
- Mage::getModel('sendinblue/sendinblue')->createFolderCaseTwo();
16
  $this->loadLayout();
17
  $this->renderLayout();
18
 
@@ -27,6 +27,13 @@ class Sendinblue_Sendinblue_Adminhtml_MyformController extends Mage_Adminhtml_Co
27
  if (isset($post['syncronizeSubmit']))
28
  {
29
  $sendin_switch->saveConfig('sendinblue/syncronize', $post['syncronize']);
 
 
 
 
 
 
 
30
  if (!empty($post['sendin_list']))
31
  {
32
  $list = implode('|', $post['sendin_list']);
@@ -38,6 +45,7 @@ class Sendinblue_Sendinblue_Adminhtml_MyformController extends Mage_Adminhtml_Co
38
  $message = $this->__('Please select a list');
39
  Mage::getSingleton('adminhtml/session')->addError($message);
40
  }
 
41
  }
42
  }
43
  catch (Exception $e)
@@ -58,7 +66,6 @@ class Sendinblue_Sendinblue_Adminhtml_MyformController extends Mage_Adminhtml_Co
58
  $result = Mage::getModel('sendinblue/sendinblue')->checkApikey(trim($post['sendin_apikey']));
59
  if (empty($result['error']))
60
  {
61
- Mage::getModel('sendinblue/sendinblue')->amdRequest(trim($post['sendin_apikey']));
62
  $get_key = Mage::getModel('sendinblue/sendinblue')->getApiKey();
63
  if ($get_key == '')
64
  Mage::getModel('sendinblue/sendinblue')->createFolderName($post['sendin_apikey']);
@@ -388,7 +395,8 @@ class Sendinblue_Sendinblue_Adminhtml_MyformController extends Mage_Adminhtml_Co
388
 
389
  if(!empty($result['shipping_telephone']))
390
  {
391
- $sql = 'SELECT * FROM sendinblue_country_codes WHERE iso_code = "'.$result['shipping_country_code'].'" ';
 
392
  $connection = Mage::getSingleton('core/resource')->getConnection('core_read');
393
  $data = $connection->fetchRow($sql);
394
  $number = Mage::getModel('sendinblue/sendinblue')->checkMobileNumber($result['shipping_telephone'],$data['country_prefix']);
@@ -418,95 +426,74 @@ class Sendinblue_Sendinblue_Adminhtml_MyformController extends Mage_Adminhtml_Co
418
  }
419
  else if(isset($post['sender_campaign_save']) && $post['Sendin_Sms_Choice'] == 2)
420
  {
421
- $smscredit = Mage::getModel('sendinblue/sendinblue')->getSmsCredit();
422
- $collection = Mage::getModel('customer/customer')->getCollection()->addAttributeToSelect('email')->addAttributeToSelect('firstname')->addAttributeToSelect('lastname');
423
- foreach ($collection as $customer)
424
- {
425
-
426
- $email = $customer->getData('email');
427
- $firstname = $customer->getData('firstname');
428
- $lastname = $customer->getData('lastname');
429
- $cid = $customer->getData('entity_id');
430
-
431
- $collectionAddress = Mage::getModel('customer/address')->getCollection()->addAttributeToSelect('telephone')->addAttributeToSelect('country_id')->addAttributeToFilter('parent_id',(int)$cid);
432
- $telephone = '';
433
- foreach ($collectionAddress as $customerPhno) {
434
- $telephone = $customerPhno->getData('telephone');
435
- $country_id = $customerPhno->getData('country_id');
436
- }
437
-
438
- $customer_select[$email] = array(
439
- 'email' => $email,
440
- 'firstname' => $firstname,
441
- 'lastname' => $lastname,
442
- 'telephone' => $telephone,
443
- 'country_id' => $country_id,
444
- 'customer_id' => $cid
445
- );
446
- }
447
-
448
- $newsletterArr = array();
449
- $newsletter = Mage::getResourceModel('newsletter/subscriber_collection')->load();
450
- $cnt = 0;
451
- foreach ( $newsletter->getItems() as $subscriber )
452
- {
453
- $customer_id = $subscriber->getCustomerId();;
454
- $subscriber_email = $subscriber->getSubscriberEmail();
455
- $subscriber_status = $subscriber->getSubscriberStatus();
456
-
457
- if ( !empty($customer_select[$subscriber_email]) ) {
458
- $newsletterArr[$cnt] = $customer_select[$subscriber_email];
459
- $newsletterArr[$cnt]['subscriber_status'] = $subscriber_status;
460
- unset($customer_select[$subscriber_email]);
461
- }
462
- else {
463
- $newsletterArr[$cnt] = array(
464
- 'email' => $subscriber_email,
465
- 'firstname' => '',
466
- 'lastname' => '',
467
- 'telephone' => '',
468
- 'country_id' => ''
469
- );
470
- $newsletterArr[$cnt]['customer_id'] = $customer_id;
471
- $newsletterArr[$cnt]['subscriber_status'] = $subscriber_status;
472
- }
473
- $cnt++;
474
- }
475
- foreach($newsletterArr as $result)
476
- {
477
-
478
-
479
- if(!empty($result['telephone']))
480
- {
481
-
482
- $sql = 'SELECT * FROM sendinblue_country_codes WHERE iso_code = "'.$result['country_id'].'" ';
483
- $connection = Mage::getSingleton('core/resource')->getConnection('core_read');
484
- $data = $connection->fetchRow($sql);
485
- $number = Mage::getModel('sendinblue/sendinblue')->checkMobileNumber($result['telephone'],$data['country_prefix']);
486
- $msgbody = $post['sender_campaign_message'];
487
- $firstname = $result['firstname'];
488
- $lastname = $result['lastname'];
489
- $fname = str_replace('{first_name}', $firstname, $msgbody);
490
- $msgbody = str_replace('{last_name}', $lastname."\r\n", $fname);
491
- $arr = array();
492
- $arr['to'] = $number;
493
- $arr['from'] = $post['sender_campaign'];
494
- $arr['text'] = $msgbody;
495
- Mage::getModel('sendinblue/sendinblue')->sendSmsApi($arr);
496
-
497
-
498
- }
499
- }
500
- if ($smscredit >= 1)
501
- {
502
- $message = $this->__('Message has been sent successfully');
503
- Mage::getSingleton('adminhtml/session')->addSuccess($message);
504
- }
505
- else
506
- {
507
- $message = $this->__('Message has not been sent successfully');
508
- Mage::getSingleton('adminhtml/session')->addError($message);
509
- }
510
  }
511
 
512
  }
11
  class Sendinblue_Sendinblue_Adminhtml_MyformController extends Mage_Adminhtml_Controller_Action
12
  {
13
  public function indexAction()
14
+ {
15
+ Mage::getModel('sendinblue/sendinblue')->createFolderCaseTwo();
16
  $this->loadLayout();
17
  $this->renderLayout();
18
 
27
  if (isset($post['syncronizeSubmit']))
28
  {
29
  $sendin_switch->saveConfig('sendinblue/syncronize', $post['syncronize']);
30
+ if (!empty($post['template']))
31
+ {
32
+ $sendin_switch = new Mage_Core_Model_Config();
33
+ $sendin_switch->saveConfig('sendinblue/Sendin_Template_Id', $post['template']);
34
+ $message = $this->__('Your setting has been successfully saved');
35
+ }
36
+
37
  if (!empty($post['sendin_list']))
38
  {
39
  $list = implode('|', $post['sendin_list']);
45
  $message = $this->__('Please select a list');
46
  Mage::getSingleton('adminhtml/session')->addError($message);
47
  }
48
+
49
  }
50
  }
51
  catch (Exception $e)
66
  $result = Mage::getModel('sendinblue/sendinblue')->checkApikey(trim($post['sendin_apikey']));
67
  if (empty($result['error']))
68
  {
 
69
  $get_key = Mage::getModel('sendinblue/sendinblue')->getApiKey();
70
  if ($get_key == '')
71
  Mage::getModel('sendinblue/sendinblue')->createFolderName($post['sendin_apikey']);
395
 
396
  if(!empty($result['shipping_telephone']))
397
  {
398
+ $tableCountry = Mage::getSingleton('core/resource')->getTableName('sendinblue_country_codes');
399
+ $sql = 'SELECT * FROM '.$tableCountry.' WHERE iso_code = "'.$result['shipping_country_code'].'" ';
400
  $connection = Mage::getSingleton('core/resource')->getConnection('core_read');
401
  $data = $connection->fetchRow($sql);
402
  $number = Mage::getModel('sendinblue/sendinblue')->checkMobileNumber($result['shipping_telephone'],$data['country_prefix']);
426
  }
427
  else if(isset($post['sender_campaign_save']) && $post['Sendin_Sms_Choice'] == 2)
428
  {
429
+ $smscredit = Mage::getModel('sendinblue/sendinblue')->getSmsCredit();
430
+
431
+ $camp_name = 'SMS_'.date('Ymd');
432
+ $key = Mage::getModel('sendinblue/sendinblue')->getApiKey();
433
+ if ($key == '')
434
+ return false;
435
+ $param['key'] = $key;
436
+ $param['listname'] = $camp_name;
437
+ $param['webaction'] = 'NEWLIST';
438
+ $param['list_parent'] = '1';
439
+ //folder id
440
+ $list_response = Mage::getModel('sendinblue/sendinblue')->curlRequest($param);
441
+ $res = json_decode($list_response);
442
+ $list_id = $res->result;
443
+ // import old user to SendinBlue
444
+
445
+ $iso_code = $this->context->language->iso_code;
446
+ $allemail = Mage::getModel('sendinblue/sendinblue')->smsCampaignList();
447
+
448
+ $data['webaction'] = 'MULTI-USERCREADIT';
449
+ $data['key'] = $key;
450
+ $data['attributes'] = $allemail;
451
+ $data['listid'] = $list_id;
452
+ // List id should be optional
453
+
454
+ $data_responce = Mage::getModel('sendinblue/sendinblue')->curlRequest($data);
455
+
456
+ $msgbody = $post['sender_campaign_message'];
457
+ $value_langauge = Mage::getModel('sendinblue/sendinblue')->getApiConfigValue();
458
+ if ($value_langauge->language == 'fr')
459
+ {
460
+ $firstname = '{NOM}';
461
+ $lastname = '{PRENOM}';
462
+ }
463
+ else
464
+ {
465
+ $firstname = '{NAME}';
466
+ $lastname = '{SURNAME}';
467
+ }
468
+ $fname = str_replace('{first_name}', $firstname, $msgbody);
469
+ $msgbody = str_replace('{last_name}', $lastname."\r\n", $fname);
470
+ $arr = array();
471
+ $sender_campaign = $post['sender_campaign'];
472
+ $content = $msgbody;
473
+ //Mage::getModel('sendinblue/sendinblue')->sendSmsApi($arr);
474
+ $arr['key'] = Mage::getModel('sendinblue/sendinblue')->getApiKey();
475
+ $arr['webaction'] = 'SMSCAMPCREADIT';
476
+ $arr['camp_name'] = $camp_name; // mandatory
477
+ $arr['sender'] = $sender_campaign;
478
+ $arr['content'] = $content;
479
+ $arr['bat_sent'] = '';
480
+ $arr['listids'] = $list_id; // mandatory if SMS campaign is scheduled
481
+ $arr['exclude_list'] = '';
482
+ $arr['schedule'] = date('Y-m-d H:i:s', time() + 300);
483
+
484
+ $data_camp = Mage::getModel('sendinblue/sendinblue')->curlRequest($arr);
485
+
486
+
487
+ if ($smscredit >= 1)
488
+ {
489
+ $message = $this->__('Message has been sent successfully');
490
+ Mage::getSingleton('adminhtml/session')->addSuccess($message);
491
+ }
492
+ else
493
+ {
494
+ $message = $this->__('Message has not been sent successfully');
495
+ Mage::getSingleton('adminhtml/session')->addError($message);
496
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
497
  }
498
 
499
  }
app/code/local/Sendinblue/Sendinblue/controllers/AjaxController.php CHANGED
@@ -85,12 +85,135 @@ class Sendinblue_Sendinblue_AjaxController extends Mage_Core_Controller_Front_Ac
85
  Mage::throwException($this->__('Invalid form data.'));
86
  $sendin_switch = new Mage_Core_Model_Config();
87
  $sendin_switch->saveConfig('sendinblue/tracking/code', $post['script']);
 
88
  echo $this->__('Your setting has been successfully saved');
89
  }
90
  catch (Exception $e)
91
  {
92
  echo $this->__($e->getMessage());
93
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
  }
95
  public function smtppostAction()
96
  {
@@ -144,6 +267,8 @@ class Sendinblue_Sendinblue_AjaxController extends Mage_Core_Controller_Front_Ac
144
  {
145
  $title1 = 'Inscrire le contact';
146
  $title2 = 'Désinscrire le contact';
 
 
147
  $first = 'Première page';
148
  $last = 'Dernière page';
149
  $previous = 'Précédente';
@@ -154,6 +279,8 @@ class Sendinblue_Sendinblue_AjaxController extends Mage_Core_Controller_Front_Ac
154
  {
155
  $title1 = 'Unsubscribe the contact';
156
  $title2 = 'Subscribe the contact';
 
 
157
  $first = 'First';
158
  $last = 'Last';
159
  $previous = 'Previous';
@@ -205,7 +332,8 @@ class Sendinblue_Sendinblue_AjaxController extends Mage_Core_Controller_Front_Ac
205
  $country_id = !empty($subscriber['country_id'])?$subscriber['country_id'] : '';
206
  if($phone != '')
207
  {
208
- $sql = 'SELECT * FROM sendinblue_country_codes WHERE iso_code = "'.$country_id.'" ';
 
209
  $connection = Mage::getSingleton('core/resource')->getConnection('core_read');
210
  $data = $connection->fetchRow($sql);
211
  $phone = Mage::getModel('sendinblue/sendinblue')->checkMobileNumber($phone,$data['country_prefix']);
@@ -214,14 +342,32 @@ class Sendinblue_Sendinblue_AjaxController extends Mage_Core_Controller_Front_Ac
214
  $client = $yes;
215
  else
216
  $client = $no;
217
- if ($sendin_result[$email] === 1 || $sendin_result[$email] === null)
218
  $show_status = 0;
219
- if ($sendin_result[$email] === 0)
220
  $show_status = 1;
 
 
 
 
 
 
 
 
221
  if ($subscriber['subscriber_status'] != 3)
222
  $img_magento = '<img src="'.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN).'adminhtml/default/default/sendinblue/images/enabled.gif" >';
223
  else
224
  $img_magento = '<img src="'.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN).'adminhtml/default/default/sendinblue/images/disabled.gif" >';
 
 
 
 
 
 
 
 
 
 
225
  if ($show_status)
226
  $img_sendin = '<img src="'.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN).'adminhtml/default/default/sendinblue/images/enabled.gif"
227
  id="ajax_contact_status_'.$i.'" title="'.$title1.'" >';
@@ -229,8 +375,9 @@ class Sendinblue_Sendinblue_AjaxController extends Mage_Core_Controller_Front_Ac
229
  $img_sendin = '<img src="'.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN).'adminhtml/default/default/sendinblue/images/disabled.gif"
230
  id="ajax_contact_status_'.$i.'" title="'.$title2.'" >';
231
  $msg .= '<tr class="even pointer"><td class="a-left">'.$email.'</td><td class="a-left">'.$client.'</td><td class="a-left">'.$phone.'</td><td class="a-left">'.$img_magento.'</td>
232
- <td class="a-left last"><a status="'.$show_status.'" email="'.$email.'" class="ajax_contacts_href" href="javascript:void(0)">
233
- '.$img_sendin.'</a></td></tr>';
 
234
  $i++;
235
  }
236
  }
@@ -271,9 +418,31 @@ class Sendinblue_Sendinblue_AjaxController extends Mage_Core_Controller_Front_Ac
271
  echo $this->__($e->getMessage());
272
  }
273
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
274
  public function ajaxupdateAction()
275
  {
276
  $post = $this->getRequest()->getPost();
 
 
277
  try {
278
  if (empty($post))
279
  Mage::throwException($this->__('Invalid form data.'));
@@ -281,8 +450,8 @@ public function ajaxupdateAction()
281
  if (!empty($post['email']) && $post['newsletter'] == 0)
282
  {
283
  $responce = Mage::getModel('sendinblue/sendinblue')->emailSubscribe($post['email']);
284
- $responce_data = json_decode($responce);
285
- $sql = 'SELECT * from customer_entity where email = "'.$post['email'].'" ';
286
  $connection = Mage::getSingleton('core/resource')->getConnection('core_read');
287
  $custdata = $connection->fetchRow($sql);
288
 
@@ -305,7 +474,8 @@ public function ajaxupdateAction()
305
 
306
  if (!empty($telephone))
307
  {
308
- $sql = 'SELECT * FROM sendinblue_country_codes WHERE iso_code = "'.$country_id.'" ';
 
309
  $connection = Mage::getSingleton('core/resource')->getConnection('core_read');
310
  $data = $connection->fetchRow($sql);
311
  $number = Mage::getModel('sendinblue/sendinblue')->checkMobileNumber($telephone,$data['country_prefix']);
@@ -327,12 +497,12 @@ public function ajaxupdateAction()
327
  $responce = Mage::getModel('sendinblue/sendinblue')->emailAdd($post['email'], $extra);
328
  }
329
  }
330
- $sql = 'SELECT * from newsletter_subscriber where subscriber_email = "'.$post['email'].'" ';
331
  $custdatanews = $connection->fetchRow($sql);
332
  if ($custdata['entity_id'] !='' && $custdatanews['subscriber_email'] == '' )
333
- {
334
 
335
- $connection->query("insert into newsletter_subscriber(store_id, customer_id, subscriber_email, subscriber_status)
336
  values('".$custdata['store_id']."','".$custdata['entity_id']."','".$custdata['email']."','1')");
337
 
338
  }
@@ -343,12 +513,12 @@ public function ajaxupdateAction()
343
  $costomer_data->setIsStatusChanged(true);
344
  $costomer_data->save();
345
  }
346
-
347
  }
348
  else{
349
  $responce = Mage::getModel('sendinblue/sendinblue')->emailDelete($post['email']);
350
  $costomer_data = Mage::getModel('newsletter/subscriber')->loadByEmail($post['email']);
351
- $sql = 'SELECT * from customer_entity where email = "'.$post['email'].'" ';
352
  $connection = Mage::getSingleton('core/resource')->getConnection('core_read');
353
  $custdata = $connection->fetchRow($sql);
354
 
@@ -383,16 +553,39 @@ public function ajaxupdateAction()
383
 
384
  if (isset($number))
385
  {
386
- $arr = array();
387
- $arr['to'] = $number;
388
- $arr['from'] = $post['sender'];
389
- $arr['text'] = $post['message'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
390
 
391
- $result = Mage::getModel('sendinblue/sendinblue')->sendSmsApi($arr);
392
- if (isset($result->status) && $result->status == 'OK')
393
- echo 'OK';
394
- else
395
- echo 'KO';
396
  }
397
 
398
  }
@@ -418,12 +611,35 @@ public function ajaxupdateAction()
418
 
419
  if (isset($number))
420
  {
421
- $arr = array();
422
- $arr['to'] = $number;
423
- $arr['from'] = $post['sender'];
424
- $arr['text'] = $post['message'];
425
-
426
- $result = Mage::getModel('sendinblue/sendinblue')->sendSmsApi($arr);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
427
  if (isset($result->status) && $result->status == 'OK')
428
  echo 'OK';
429
  else
@@ -451,12 +667,19 @@ public function ajaxupdateAction()
451
 
452
  if (isset($number))
453
  {
454
- $arr = array();
455
- $arr['to'] = $number;
456
- $arr['from'] = $post['sender'];
457
- $arr['text'] = $post['message'];
458
- $result = Mage::getModel('sendinblue/sendinblue')->sendSmsApi($arr);
459
- $locale = Mage::app()->getLocale()->getLocaleCode();
 
 
 
 
 
 
 
460
  if (isset($result->status) && $result->status == 'OK')
461
  echo 'OK';
462
  else
85
  Mage::throwException($this->__('Invalid form data.'));
86
  $sendin_switch = new Mage_Core_Model_Config();
87
  $sendin_switch->saveConfig('sendinblue/tracking/code', $post['script']);
88
+ $sendin_switch->saveConfig('sendinblue/improt/history', $post['script']);
89
  echo $this->__('Your setting has been successfully saved');
90
  }
91
  catch (Exception $e)
92
  {
93
  echo $this->__($e->getMessage());
94
  }
95
+ }
96
+ public function emptySubsUserToSendinblueAction()
97
+ {
98
+ $post = $this->getRequest()->getPost();
99
+ try {
100
+ if (empty($post))
101
+ Mage::throwException($this->__('Invalid form data.'));
102
+ if ($post['proc_success'] != '')
103
+ {
104
+ $handle = fopen(Mage::getBaseDir('media').'/sendinblue_csv/ImportSubUsersToSendinblue.csv', 'w+');
105
+ $key_value = array();
106
+ $key_value[] = '';
107
+ fputcsv($handle, $key_value);
108
+ fclose($handle);
109
+ }
110
+ }
111
+ catch (Exception $e)
112
+ {
113
+ echo $this->__($e->getMessage());
114
+ }
115
+ }
116
+ public function emptyImportOldOrderAction()
117
+ {
118
+ $post = $this->getRequest()->getPost();
119
+ try {
120
+ if (empty($post))
121
+ Mage::throwException($this->__('Invalid form data.'));
122
+ if ($post['proc_success'] != '')
123
+ {
124
+ $handle = fopen(Mage::getBaseDir('media').'/sendinblue_csv/ImportOldOrdersToSendinblue.csv', 'w+');
125
+ $key_value = array();
126
+ $key_value[] = '';
127
+ fputcsv($handle, $key_value);
128
+ fclose($handle);
129
+ }
130
+ }
131
+ catch (Exception $e)
132
+ {
133
+ echo $this->__($e->getMessage());
134
+ }
135
+ }
136
+ public function orderhistoryAction()
137
+ {
138
+ $post = $this->getRequest()->getPost();
139
+ try {
140
+ if (empty($post))
141
+ Mage::throwException($this->__('Invalid form data.'));
142
+
143
+ if ($post['history_status'] == 1)
144
+ {
145
+ $value = Mage::getModel('sendinblue/sendinblue')->TrackingSmtp();
146
+ $date_value = Mage::getModel('sendinblue/sendinblue')->getApiConfigValue();
147
+ if (!is_dir(Mage::getBaseDir('media').'/sendinblue_csv'))
148
+ mkdir(Mage::getBaseDir('media').'/sendinblue_csv', 0777, true);
149
+
150
+ $handle = fopen(Mage::getBaseDir('media').'/sendinblue_csv/ImportOldOrdersToSendinblue.csv', 'w+');
151
+
152
+ fwrite($handle, 'EMAIL,ORDER_ID,ORDER_PRICE,ORDER_DATE'.PHP_EOL);
153
+
154
+
155
+ $collection = Mage::getModel('customer/customer')->getCollection()->addAttributeToSelect('email');
156
+ foreach ($collection as $customer)
157
+ {
158
+ $cid = $customer->getData('entity_id');
159
+ $email = $customer->getData('email');
160
+ $total_orders = Mage::getModel('sales/order')->getCollection()->addFieldToFilter('customer_id', $cid);
161
+ $orderCnt = $total_orders->count();
162
+ if ($orderCnt > 0)
163
+ {
164
+ $data = array();
165
+ $data['key'] = Mage::getModel('sendinblue/sendinblue')->getApiKey();
166
+ $data['webaction'] = 'USERS-STATUS';
167
+ $data['email'] = $email;
168
+ $curl_responce = Mage::getModel('sendinblue/sendinblue')->curlRequest($data);
169
+ $user_status = json_decode($curl_responce);
170
+ }
171
+ if ($user_status->result != '')
172
+ {
173
+ foreach($total_orders as $order_data)
174
+ {
175
+ if ($date_value->date_format == 'dd-mm-yyyy')
176
+ $date = date('d-m-Y', strtotime($order_data['created_at']));
177
+ else
178
+ $date = date('m-d-Y', strtotime($order_data['created_at']));
179
+ $history_data= array();
180
+ $history_data[] = array($order_data['customer_email'],$order_data['increment_id'],$order_data['grand_total'],$date);
181
+ foreach ($history_data as $line)
182
+ fputcsv($handle, $line);
183
+ }
184
+ }
185
+ }
186
+
187
+ fclose($handle);
188
+
189
+ $get_User_lists = Mage::getModel('sendinblue/sendinblue')->getUserlists();
190
+ $list = str_replace('|', ',', $get_User_lists);
191
+ if (preg_match('/^[0-9,]+$/', $list))
192
+ $list = $list;
193
+ else
194
+ $list = '';
195
+
196
+ $import_data = array();
197
+ $import_data['webaction'] = 'IMPORTUSERS';
198
+ $import_data['key'] = Mage::getModel('sendinblue/sendinblue')->getApiKey();
199
+ $import_data['url'] = Mage::getBaseUrl('media').'sendinblue_csv/ImportOldOrdersToSendinblue.csv';
200
+ $import_data['listids'] = $list;
201
+ $import_data['notify_url'] = Mage::getBaseUrl().'sendinblue/ajax/emptyImportOldOrder';
202
+ /**
203
+ * List id should be optional
204
+ */
205
+ Mage::getModel('sendinblue/sendinblue')->curlRequestAsyc($import_data);
206
+
207
+
208
+ $sendin_switch = new Mage_Core_Model_Config();
209
+ $sendin_switch->saveConfig('sendinblue/improt/history', 0);
210
+ echo $this->__('Order history has been import successfully');
211
+ }
212
+ }
213
+ catch (Exception $e)
214
+ {
215
+ echo $this->__($e->getMessage());
216
+ }
217
  }
218
  public function smtppostAction()
219
  {
267
  {
268
  $title1 = 'Inscrire le contact';
269
  $title2 = 'Désinscrire le contact';
270
+ $title3 = 'Inscrire le sms';
271
+ $title4 = 'Désinscrire le sms';
272
  $first = 'Première page';
273
  $last = 'Dernière page';
274
  $previous = 'Précédente';
279
  {
280
  $title1 = 'Unsubscribe the contact';
281
  $title2 = 'Subscribe the contact';
282
+ $title3 = 'Unsubscribe the sms';
283
+ $title4 = 'Subscribe the sms';
284
  $first = 'First';
285
  $last = 'Last';
286
  $previous = 'Previous';
332
  $country_id = !empty($subscriber['country_id'])?$subscriber['country_id'] : '';
333
  if($phone != '')
334
  {
335
+ $tableCountry = Mage::getSingleton('core/resource')->getTableName('sendinblue_country_codes');
336
+ $sql = 'SELECT * FROM '.$tableCountry.' WHERE iso_code = "'.$country_id.'" ';
337
  $connection = Mage::getSingleton('core/resource')->getConnection('core_read');
338
  $data = $connection->fetchRow($sql);
339
  $phone = Mage::getModel('sendinblue/sendinblue')->checkMobileNumber($phone,$data['country_prefix']);
342
  $client = $yes;
343
  else
344
  $client = $no;
345
+ if ($sendin_result[$email]['email_bl'] === 1 || $sendin_result[$email] === null)
346
  $show_status = 0;
347
+ if ($sendin_result[$email]['email_bl'] === 0)
348
  $show_status = 1;
349
+ if ($sendin_result[$email]['sms_bl'] === 1 && $sendin_result[$email]['sms_exist'] != '')
350
+ $sms_status = 0;
351
+ if ($sendin_result[$email]['sms_bl'] === 0 && $sendin_result[$email]['sms_exist'] != '')
352
+ $sms_status = 1;
353
+ if ($sendin_result[$email]['sms_exist'] == '')
354
+ $sms_status = 2;
355
+ if ($sendin_result[$email]['sms_exist'] == '' && $subscriber['telephone'] != '')
356
+ $sms_status = 3;
357
  if ($subscriber['subscriber_status'] != 3)
358
  $img_magento = '<img src="'.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN).'adminhtml/default/default/sendinblue/images/enabled.gif" >';
359
  else
360
  $img_magento = '<img src="'.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN).'adminhtml/default/default/sendinblue/images/disabled.gif" >';
361
+ if ($sms_status == 1)
362
+ $img_sms = '<img src="'.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN).'adminhtml/default/default/sendinblue/images/enabled.gif"
363
+ id="ajax_contact_status_'.$i.'" title="'.$title3.'" >';
364
+ else if ($sms_status == 0)
365
+ $img_sms = '<img src="'.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN).'adminhtml/default/default/sendinblue/images/disabled.gif"
366
+ id="ajax_contact_status_'.$i.'" title="'.$title4.'" >';
367
+ else if ($sms_status == 2 || $sms_status == '')
368
+ $img_sms = '';
369
+ else if ($sms_status == 3)
370
+ $img_sms = 'Not synchronized';
371
  if ($show_status)
372
  $img_sendin = '<img src="'.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN).'adminhtml/default/default/sendinblue/images/enabled.gif"
373
  id="ajax_contact_status_'.$i.'" title="'.$title1.'" >';
375
  $img_sendin = '<img src="'.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN).'adminhtml/default/default/sendinblue/images/disabled.gif"
376
  id="ajax_contact_status_'.$i.'" title="'.$title2.'" >';
377
  $msg .= '<tr class="even pointer"><td class="a-left">'.$email.'</td><td class="a-left">'.$client.'</td><td class="a-left">'.$phone.'</td><td class="a-left">'.$img_magento.'</td>
378
+ <td class="a-left"><a status="'.$show_status.'" email="'.$email.'" class="ajax_contacts_href" href="javascript:void(0)">
379
+ '.$img_sendin.'</a></td><td class="a-left last"><a status="'.$sms_status.'" email="'.$email.'" class="ajax_sms_subs_href" href="javascript:void(0)">
380
+ '.$img_sms.'</a></td></tr>';
381
  $i++;
382
  }
383
  }
418
  echo $this->__($e->getMessage());
419
  }
420
  }
421
+ function ajaxsmssubscribeAction()
422
+ {
423
+ $post = $this->getRequest()->getPost();
424
+ try {
425
+ if (empty($post))
426
+ Mage::throwException($this->__('Invalid form data.'));
427
+ $email = $post['email'];
428
+ //$sms = $post['sms'];
429
+ $data = array();
430
+ $data['key'] = Mage::getModel('sendinblue/sendinblue')->getApiKey();
431
+ $data['webaction'] = 'USERUNSUBSCRIBEDSMS';
432
+ $data['email'] = $email;
433
+ Mage::getModel('sendinblue/sendinblue')->curlRequest($data);
434
+
435
+ }
436
+ catch (Exception $e)
437
+ {
438
+ echo $this->__($e->getMessage());
439
+ }
440
+ }
441
  public function ajaxupdateAction()
442
  {
443
  $post = $this->getRequest()->getPost();
444
+ $tableCustomer = Mage::getSingleton('core/resource')->getTableName('customer/entity');
445
+ $tableNewsletter = Mage::getSingleton('core/resource')->getTableName('newsletter/subscriber');
446
  try {
447
  if (empty($post))
448
  Mage::throwException($this->__('Invalid form data.'));
450
  if (!empty($post['email']) && $post['newsletter'] == 0)
451
  {
452
  $responce = Mage::getModel('sendinblue/sendinblue')->emailSubscribe($post['email']);
453
+ $responce_data = json_decode($responce);
454
+ $sql = 'SELECT * from '.$tableCustomer.' where email = "'.$post['email'].'" ';
455
  $connection = Mage::getSingleton('core/resource')->getConnection('core_read');
456
  $custdata = $connection->fetchRow($sql);
457
 
474
 
475
  if (!empty($telephone))
476
  {
477
+ $tableCountry = Mage::getSingleton('core/resource')->getTableName('sendinblue_country_codes');
478
+ $sql = 'SELECT * FROM '.$tableCountry.' WHERE iso_code = "'.$country_id.'" ';
479
  $connection = Mage::getSingleton('core/resource')->getConnection('core_read');
480
  $data = $connection->fetchRow($sql);
481
  $number = Mage::getModel('sendinblue/sendinblue')->checkMobileNumber($telephone,$data['country_prefix']);
497
  $responce = Mage::getModel('sendinblue/sendinblue')->emailAdd($post['email'], $extra);
498
  }
499
  }
500
+ $sql = 'SELECT * from '.$tableNewsletter.' where subscriber_email = "'.$post['email'].'" ';
501
  $custdatanews = $connection->fetchRow($sql);
502
  if ($custdata['entity_id'] !='' && $custdatanews['subscriber_email'] == '' )
503
+ {
504
 
505
+ $connection->query("insert into ".$tableNewsletter."(store_id, customer_id, subscriber_email, subscriber_status)
506
  values('".$custdata['store_id']."','".$custdata['entity_id']."','".$custdata['email']."','1')");
507
 
508
  }
513
  $costomer_data->setIsStatusChanged(true);
514
  $costomer_data->save();
515
  }
516
+
517
  }
518
  else{
519
  $responce = Mage::getModel('sendinblue/sendinblue')->emailDelete($post['email']);
520
  $costomer_data = Mage::getModel('newsletter/subscriber')->loadByEmail($post['email']);
521
+ $sql = 'SELECT * from '.$tableCustomer.' where email = "'.$post['email'].'" ';
522
  $connection = Mage::getSingleton('core/resource')->getConnection('core_read');
523
  $custdata = $connection->fetchRow($sql);
524
 
553
 
554
  if (isset($number))
555
  {
556
+ $adminUserModel = Mage::getModel('admin/user');
557
+ $userCollection = $adminUserModel->getCollection()->load();
558
+ $admin_data = $userCollection->getData();
559
+ $firstname = $admin_data[0]['firstname'];
560
+ $lastname = $admin_data[0]['lastname'];
561
+ $characters = '1234567890';
562
+ $ref_num = '';
563
+ for ($i = 0; $i < 9; $i++)
564
+ $ref_num .= $characters[rand(0, strlen($characters) - 1)];
565
+
566
+ $locale = Mage::app()->getLocale()->getLocaleCode();
567
+ if ($locale == 'fr_FR')
568
+ $ord_date = date('d/m/Y');
569
+ else
570
+ $ord_date = date('m/d/Y');
571
+ $orderprice = rand(10, 1000);
572
+ $total_pay = $orderprice.'.00'.' '.Mage::app()->getStore()-> getCurrentCurrencyCode();
573
+ $msgbody = $post['message'];
574
+ $fname = str_replace('{first_name}', $firstname, $msgbody);
575
+ $lname = str_replace('{last_name}', $lastname."\r\n", $fname);
576
+ $procuct_price = str_replace('{order_price}', $total_pay, $lname);
577
+ $order_date = str_replace('{order_date}', $ord_date."\r\n", $procuct_price);
578
+ $msgbody = str_replace('{order_reference}', $ref_num, $order_date);
579
+ $arr = array();
580
+ $arr['to'] = $number;
581
+ $arr['from'] = $post['sender'];
582
+ $arr['text'] = $msgbody;
583
 
584
+ $result = Mage::getModel('sendinblue/sendinblue')->sendSmsApi($arr);
585
+ if (isset($result->status) && $result->status == 'OK')
586
+ echo 'OK';
587
+ else
588
+ echo 'KO';
589
  }
590
 
591
  }
611
 
612
  if (isset($number))
613
  {
614
+ $adminUserModel = Mage::getModel('admin/user');
615
+ $userCollection = $adminUserModel->getCollection()->load();
616
+ $admin_data = $userCollection->getData();
617
+ $firstname = $admin_data[0]['firstname'];
618
+ $lastname = $admin_data[0]['lastname'];
619
+ $characters = '1234567890';
620
+ $ref_num = '';
621
+ for ($i = 0; $i < 9; $i++)
622
+ $ref_num .= $characters[rand(0, strlen($characters) - 1)];
623
+
624
+ $locale = Mage::app()->getLocale()->getLocaleCode();
625
+ if ($locale == 'fr_FR')
626
+ $ord_date = date('d/m/Y');
627
+ else
628
+ $ord_date = date('m/d/Y');
629
+ $orderprice = rand(10, 1000);
630
+ $total_pay = $orderprice.'.00'.' '.Mage::app()->getStore()-> getCurrentCurrencyCode();
631
+ $msgbody = $post['message'];
632
+ $fname = str_replace('{first_name}', $firstname, $msgbody);
633
+ $lname = str_replace('{last_name}', $lastname."\r\n", $fname);
634
+ $procuct_price = str_replace('{order_price}', $total_pay, $lname);
635
+ $order_date = str_replace('{order_date}', $ord_date."\r\n", $procuct_price);
636
+ $msgbody = str_replace('{order_reference}', $ref_num, $order_date);
637
+ $arr = array();
638
+ $arr['to'] = $number;
639
+ $arr['from'] = $post['sender'];
640
+ $arr['text'] = $msgbody;
641
+
642
+ $result = Mage::getModel('sendinblue/sendinblue')->sendSmsApi($arr);
643
  if (isset($result->status) && $result->status == 'OK')
644
  echo 'OK';
645
  else
667
 
668
  if (isset($number))
669
  {
670
+ $adminUserModel = Mage::getModel('admin/user');
671
+ $userCollection = $adminUserModel->getCollection()->load();
672
+ $admin_data = $userCollection->getData();
673
+ $firstname = $admin_data[0]['firstname'];
674
+ $lastname = $admin_data[0]['lastname'];
675
+ $msgbody = $post['message'];
676
+ $fname = str_replace('{first_name}', $firstname, $msgbody);
677
+ $msgbody = str_replace('{last_name}', $lastname."\r\n", $fname);
678
+ $arr = array();
679
+ $arr['to'] = $number;
680
+ $arr['from'] = $post['sender'];
681
+ $arr['text'] = $msgbody;
682
+ $result = Mage::getModel('sendinblue/sendinblue')->sendSmsApi($arr);
683
  if (isset($result->status) && $result->status == 'OK')
684
  echo 'OK';
685
  else
app/code/local/Sendinblue/Sendinblue/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Sendinblue_Sendinblue>
5
- <version>1.1.0</version>
6
  <platform>ce</platform>
7
  </Sendinblue_Sendinblue>
8
  </modules>
2
  <config>
3
  <modules>
4
  <Sendinblue_Sendinblue>
5
+ <version>1.1.6</version>
6
  <platform>ce</platform>
7
  </Sendinblue_Sendinblue>
8
  </modules>
app/code/local/Sendinblue/Sendinblue/sql/sendinblue_setup/{install-0.1.0.php → mysql4-install-0.1.0.php} RENAMED
File without changes
app/code/local/Sendinblue/Sendinblue/sql/sendinblue_setup/mysql4-upgrade-0.1.0-0.2.0.php CHANGED
@@ -11,12 +11,13 @@
11
  //echo 'Testing our upgrade script (upgrade-0.1.0-0.2.0.php) and halting execution to avoid updating the system version number <br />';
12
 
13
  $resource = Mage::getSingleton('core/resource');
 
14
  $writeConnection = $resource->getConnection('core_write');
15
- $sql = "SELECT * FROM `core_config_data` WHERE `path` LIKE 'sendinblue/%'";
16
  echo $datanum = count($writeConnection->fetchAll($sql));
17
  if ($datanum > 0 )
18
  {
19
- $query = "DELETE FROM `core_config_data` WHERE `path` LIKE 'sendinblue/%'";
20
  $writeConnection->query($query);
21
  }
22
  ?>
11
  //echo 'Testing our upgrade script (upgrade-0.1.0-0.2.0.php) and halting execution to avoid updating the system version number <br />';
12
 
13
  $resource = Mage::getSingleton('core/resource');
14
+ $tableName = $resource->getTableName('core/config_data');
15
  $writeConnection = $resource->getConnection('core_write');
16
+ $sql = "SELECT * FROM ".$tableName." WHERE `path` LIKE 'sendinblue/%'";
17
  echo $datanum = count($writeConnection->fetchAll($sql));
18
  if ($datanum > 0 )
19
  {
20
+ $query = "DELETE FROM ".$tableName." WHERE `path` LIKE 'sendinblue/%'";
21
  $writeConnection->query($query);
22
  }
23
  ?>
app/design/adminhtml/default/default/template/sendinblue/myform.phtml CHANGED
@@ -154,7 +154,22 @@ $get_syncronize = Mage::getModel('sendinblue/sendinblue')->getSyncronizeStatus()
154
  <span title="<?php echo $this->__('Select the contact list where you want to save the contacts of your site Magento. By default, we have created a list Magento in your SendinBlue account and we have selected it'); ?>" class="toolTip">&nbsp;</span>
155
  </td>
156
  </tr>
157
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
158
  <tr>
159
  <td>&nbsp;</td>
160
  <td class="a-left">
@@ -232,6 +247,19 @@ $style_smtp = '';
232
  <span title="<?php echo $this->__('This feature will allow you to transfer all your customers orders from Magento into SendinBlue to implement your email marketing strategy.'); ?>" class="toolTip">&nbsp;</span>
233
  </td>
234
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
235
  </table>
236
  </fieldset>
237
  </div>
@@ -248,8 +276,10 @@ $style_smtp = '';
248
  <td class="row1" colspan="2" style="border:none; padding-top:10px;">
249
  <span style="margin-bottom:10px; color:#333333;">
250
  <?php echo $this->__('Currently you have '); ?>
251
- <?php $credit = Mage::getModel('sendinblue/sendinblue')->getSmsCredit(); ?>
252
- <?php if ($credit >= 10){ ?> <strong style="color:#000000;"><?php echo $credit; ?></strong><?php } else {?><strong style="color:#F03D25;"><?php echo $credit; ?></strong><?php } ?>
 
 
253
 
254
  <?php echo $this->__(' credits sms. To buy more credits, please click'); ?>
255
  <a target="_blank" href ="<?php echo $this->__('https://www.sendinblue.com/pricing'); ?>" style="color: #000000; outline: 0 none; text-decoration: none;">
@@ -335,7 +365,7 @@ $style_smtp = '';
335
  <td valign="top"><label><?php echo $this->__('Message'); ?></label></td>
336
  <td>
337
  <textarea name="sender_order_message" id="sender_order_message" cols="45" rows="5" class="textarea_bx"><?php echo Mage::getModel('sendinblue/sendinblue')->getSendSmsmOrderMessage(); ?></textarea>
338
- <span class="toolTip" style="float:left; margin-top: 85px;" title="<?php echo $this->__(' Create the content of your SMS with the limit of 160-character.Beyond 160 characters, it will be counted as a second SMS. Thus, if you write SMS of 240 characters, it will be recorded using two SMS.'); ?>">&nbsp;</span>
339
  <span style="float:left; line-height:16px; margin-bottom:15px; width:490px; clear:both;"><?php echo $this->__('Number of SMS used: '); ?><span id="sender_order_message_text_count">0</span>
340
  <div class="hintmsg"><em><?php echo $this->__('Number of characters left: '); ?></em><span id="sender_order_message_text">160</span></div>
341
  <div class="hintmsg"><em><?php echo $this->__('Attention line break is counted as a single character.'); ?></em>
@@ -418,7 +448,7 @@ $style_smtp = '';
418
  <td valign="top"><label><?php echo $this->__('Message'); ?></label></td>
419
  <td>
420
  <textarea name="sender_shipment_message" id="sender_shipment_message" cols="45" rows="5" class="textarea_bx"><?php echo Mage::getModel('sendinblue/sendinblue')->getSendSmsShipingMessage(); ?></textarea>
421
- <span class="toolTip" style="float:left; margin-top: 85px;" title="<?php echo $this->__(' Create the content of your SMS with the limit of 160-character.Beyond 160 characters, it will be counted as a second SMS. Thus, if you write SMS of 240 characters, it will be recorded using two SMS.'); ?>">&nbsp;</span>
422
  <span style="float:left; line-height:16px; margin-bottom:15px; width:470px; clear:both;"><?php echo $this->__('Number of SMS used: '); ?><span id="sender_shipment_message_text_count">0</span>
423
  <div class="hintmsg"><em><?php echo $this->__('Number of characters left: '); ?></em><span id="sender_shipment_message_text">160</span></div>
424
  <div class="hintmsg"><em><?php echo $this->__('Attention line break is counted as a single character.'); ?></em>
@@ -529,7 +559,7 @@ $style_smtp = '';
529
  <td valign="top"><label><?php echo $this->__('Message'); ?></label></td>
530
  <td>
531
  <textarea name="sender_campaign_message" id="sender_campaign_message" cols="45" rows="5" class="textarea_bx"></textarea>
532
- <span class="toolTip" style="float:left; margin-top: 85px;" title="<?php echo $this->__(' Create the content of your SMS with the limit of 160-character.Beyond 160 characters, it will be counted as a second SMS. Thus, if you write SMS of 240 characters, it will be recorded using two SMS.'); ?>">&nbsp;</span>
533
  <span style="float:left; line-height:16px; margin-bottom:15px; width:470px; clear:both;"><?php echo $this->__('Number of SMS used: '); ?><span id="sender_campaign_message_text_count">0</span>
534
  <div class="hintmsg"><em><?php echo $this->__('Number of characters left: '); ?></em><span id="sender_campaign_message_text">160</span></div>
535
  <div class="hintmsg"><em><?php echo $this->__('Attention line break is counted as a single character.'); ?></em>
@@ -583,6 +613,7 @@ $style_smtp = '';
583
  <input name="ajaxOrderSmsUrl" type="hidden" id="ajaxOrderSmsUrl" value="<?php echo $this->getUrl('sendinblue/ajax/ajaxordersms'); ?>" />
584
  <input name="ajaxOrderShippedUrl" type="hidden" id="ajaxOrderShippedUrl" value="<?php echo $this->getUrl('sendinblue/ajax/ajaxordershipped'); ?>" />
585
  <input name="ajaxSmsCampaignUrl" type="hidden" id="ajaxSmsCampaignUrl" value="<?php echo $this->getUrl('sendinblue/ajax/ajaxsmscampaign'); ?>" />
 
586
  <input type="hidden" name="pagenumber" id="pagenumber" value="1" />
587
  <div id="userGrid">
588
  <div class="grid">
@@ -603,7 +634,8 @@ $style_smtp = '';
603
  <th class="no-link"><span class="nobr"><?php echo $this->__('clients'); ?></span></th>
604
  <th class="no-link"><span class="nobr"><?php echo $this->__('SMS'); ?></span></th>
605
  <th class="no-link"><span class="nobr"><?php echo $this->__('Newsletter Magento Status'); ?></span></th>
606
- <th class="no-link last"><span class="nobr"><?php echo $this->__('Newsletter SendinBlue Status'); ?><span title="<?php echo $this->__('Click on the icon to subscribe / unsubscribe the contact from SendinBlue and Magento.'); ?>" class="toolTip">&nbsp;</span></span></th>
 
607
  </tr>
608
  </thead>
609
  <tbody class='midleft'>
154
  <span title="<?php echo $this->__('Select the contact list where you want to save the contacts of your site Magento. By default, we have created a list Magento in your SendinBlue account and we have selected it'); ?>" class="toolTip">&nbsp;</span>
155
  </td>
156
  </tr>
157
+ <tr>
158
+ <td><label><?php echo $this->__('Manage email template'); ?></label></td>
159
+ <td> <select name="template" id="template" style="width: 230.833px;" class ="ui-widget ui-state-default ui-corner-all">
160
+ <option value=""><?php echo $this->__('Select template'); ?></option>
161
+ <?php $templatelist = Mage::getModel('sendinblue/sendinblue')->templateDisplay();
162
+ if (!empty($templatelist->result->campaign_records))
163
+ {
164
+ foreach ($templatelist->result->campaign_records as $template_data)
165
+ { if ($template_data->templ_status === 'Active')
166
+ { ?>
167
+ <option value="<?php echo $template_data->id; ?>" <?php if($template_data->id == Mage::getModel('sendinblue/sendinblue')->getTemplateId()) echo 'selected = "selected"' ?> ><?php echo $template_data->campaign_name; ?></option>
168
+ <?php }}} ?>
169
+ </select>
170
+
171
+ <span title="<?php echo $this->__('Select a SendinBlue template that will be sent personalized for each contact that subscribes to your newsletter'); ?>" class="toolTip">&nbsp;</span></td>
172
+ </tr>
173
  <tr>
174
  <td>&nbsp;</td>
175
  <td class="a-left">
247
  <span title="<?php echo $this->__('This feature will allow you to transfer all your customers orders from Magento into SendinBlue to implement your email marketing strategy.'); ?>" class="toolTip">&nbsp;</span>
248
  </td>
249
  </tr>
250
+ <?php //echo Mage::getModel('sendinblue/sendinblue')->getTrackingStatus();die;
251
+ if (Mage::getModel('sendinblue/sendinblue')->getTrackingStatus()==1 && Mage::getModel('sendinblue/sendinblue')->getTrackingHistoryStatus()==1)
252
+ $style_track = '';
253
+ else
254
+ $style_track = 'style="display:none;"';
255
+ if(Mage::getModel('sendinblue/sendinblue')->getTrackingStatus()==1 && Mage::getModel('sendinblue/sendinblue')->getTrackingHistoryStatus()==1) { ?>
256
+ <tr <?php echo $style_track; ?> class='ordertracking'>
257
+ <td>&nbsp;</td>
258
+ <input type="hidden" name="history_status" value="<?php echo Mage::getModel('sendinblue/sendinblue')->getTrackingHistoryStatus(); ?>" id="history_status">
259
+ <input name="importordertrackingUrl" type="hidden" id="importordertrackingUrl" value="<?php echo $this->getUrl('sendinblue/ajax/orderhistory'); ?>" />
260
+ <td class="input-ele"><label style="text-align:left;"><a href="javascript:void(0);" class="Trackhistory button btn" style="color: #000000; outline: 0 none; text-decoration: none; font-weight: normal;"><?php echo $this->__('Import the data of previous orders'); ?></a></label></td>
261
+ </tr>
262
+ <?php } ?>
263
  </table>
264
  </fieldset>
265
  </div>
276
  <td class="row1" colspan="2" style="border:none; padding-top:10px;">
277
  <span style="margin-bottom:10px; color:#333333;">
278
  <?php echo $this->__('Currently you have '); ?>
279
+ <?php $credit = Mage::getModel('sendinblue/sendinblue')->getSmsCredit();
280
+ $notify_value = Mage::getModel('sendinblue/sendinblue')->getNotifyValueStatus();
281
+ ?>
282
+ <?php if ($credit >= $notify_value){ ?> <strong style="color:#000000;"><?php echo $credit; ?></strong><?php } else {?><strong style="color:#F03D25;"><?php echo $credit; ?></strong><?php } ?>
283
 
284
  <?php echo $this->__(' credits sms. To buy more credits, please click'); ?>
285
  <a target="_blank" href ="<?php echo $this->__('https://www.sendinblue.com/pricing'); ?>" style="color: #000000; outline: 0 none; text-decoration: none;">
365
  <td valign="top"><label><?php echo $this->__('Message'); ?></label></td>
366
  <td>
367
  <textarea name="sender_order_message" id="sender_order_message" cols="45" rows="5" class="textarea_bx"><?php echo Mage::getModel('sendinblue/sendinblue')->getSendSmsmOrderMessage(); ?></textarea>
368
+ <span class="toolTip" style="float:left; margin-top: 85px;" title="<?php echo $this->__(' Create the content of your SMS with the limit of 160-character.Beyond 160 characters, it will be counted as a second SMS. Thus, if you write SMS of 240 characters, it will be recorded using two SMS.'); ?>">&nbsp;</span>
369
  <span style="float:left; line-height:16px; margin-bottom:15px; width:490px; clear:both;"><?php echo $this->__('Number of SMS used: '); ?><span id="sender_order_message_text_count">0</span>
370
  <div class="hintmsg"><em><?php echo $this->__('Number of characters left: '); ?></em><span id="sender_order_message_text">160</span></div>
371
  <div class="hintmsg"><em><?php echo $this->__('Attention line break is counted as a single character.'); ?></em>
448
  <td valign="top"><label><?php echo $this->__('Message'); ?></label></td>
449
  <td>
450
  <textarea name="sender_shipment_message" id="sender_shipment_message" cols="45" rows="5" class="textarea_bx"><?php echo Mage::getModel('sendinblue/sendinblue')->getSendSmsShipingMessage(); ?></textarea>
451
+ <span class="toolTip" style="float:left; margin-top: 85px;" title="<?php echo $this->__(' Create the content of your SMS with the limit of 160-character.Beyond 160 characters, it will be counted as a second SMS. Thus, if you write SMS of 240 characters, it will be recorded using two SMS.'); ?>">&nbsp;</span>
452
  <span style="float:left; line-height:16px; margin-bottom:15px; width:470px; clear:both;"><?php echo $this->__('Number of SMS used: '); ?><span id="sender_shipment_message_text_count">0</span>
453
  <div class="hintmsg"><em><?php echo $this->__('Number of characters left: '); ?></em><span id="sender_shipment_message_text">160</span></div>
454
  <div class="hintmsg"><em><?php echo $this->__('Attention line break is counted as a single character.'); ?></em>
559
  <td valign="top"><label><?php echo $this->__('Message'); ?></label></td>
560
  <td>
561
  <textarea name="sender_campaign_message" id="sender_campaign_message" cols="45" rows="5" class="textarea_bx"></textarea>
562
+ <span class="toolTip" style="float:left; margin-top: 85px;" title="<?php echo $this->__(' Create the content of your SMS with the limit of 160-character.Beyond 160 characters, it will be counted as a second SMS. Thus, if you write SMS of 240 characters, it will be recorded using two SMS.'); ?>">&nbsp;</span>
563
  <span style="float:left; line-height:16px; margin-bottom:15px; width:470px; clear:both;"><?php echo $this->__('Number of SMS used: '); ?><span id="sender_campaign_message_text_count">0</span>
564
  <div class="hintmsg"><em><?php echo $this->__('Number of characters left: '); ?></em><span id="sender_campaign_message_text">160</span></div>
565
  <div class="hintmsg"><em><?php echo $this->__('Attention line break is counted as a single character.'); ?></em>
613
  <input name="ajaxOrderSmsUrl" type="hidden" id="ajaxOrderSmsUrl" value="<?php echo $this->getUrl('sendinblue/ajax/ajaxordersms'); ?>" />
614
  <input name="ajaxOrderShippedUrl" type="hidden" id="ajaxOrderShippedUrl" value="<?php echo $this->getUrl('sendinblue/ajax/ajaxordershipped'); ?>" />
615
  <input name="ajaxSmsCampaignUrl" type="hidden" id="ajaxSmsCampaignUrl" value="<?php echo $this->getUrl('sendinblue/ajax/ajaxsmscampaign'); ?>" />
616
+ <input name="ajaxSmsSubscribeUrl" type="hidden" id="ajaxSmsSubscribeUrl" value="<?php echo $this->getUrl('sendinblue/ajax/ajaxsmssubscribe'); ?>" />
617
  <input type="hidden" name="pagenumber" id="pagenumber" value="1" />
618
  <div id="userGrid">
619
  <div class="grid">
634
  <th class="no-link"><span class="nobr"><?php echo $this->__('clients'); ?></span></th>
635
  <th class="no-link"><span class="nobr"><?php echo $this->__('SMS'); ?></span></th>
636
  <th class="no-link"><span class="nobr"><?php echo $this->__('Newsletter Magento Status'); ?></span></th>
637
+ <th class="no-link"><span class="nobr"><?php echo $this->__('Newsletter SendinBlue Status'); ?><span title="<?php echo $this->__('Click on the icon to subscribe / unsubscribe the contact from SendinBlue and Magento.'); ?>" class="toolTip">&nbsp;</span></span></th>
638
+ <th class="no-link last"><span class="nobr"><?php echo $this->__('SMS SendinBlue Status'); ?><span title="<?php echo $this->__('Click on the icon to subscribe / unsubscribe the sms from SendinBlue and Magento.'); ?>" class="toolTip">&nbsp;</span></span></th>
639
  </tr>
640
  </thead>
641
  <tbody class='midleft'>
app/locale/fr_FR/Sendinblue.csv CHANGED
@@ -127,4 +127,12 @@
127
  "The phone number should be in this form: 0033663309741 for this France mobile 06 63 30 97 41 (0033 is France prefix)", "Le numéro de téléphone mobile devrait être sous cette forme: 0033663309741 pour le numéro français 06 63 30 97 41 (0033 est l'indicatif de la France)"
128
  "Select option", "Sélectionnez"
129
  "Synchronize your Magento contacts with SendinBlue platform, easily send your marketing and transactional emails and SMS.", "Synchronisez les contacts de votre site Magento avec SendinBlue & envoyez facilement tous vos emails & SMS marketing et transactionnels."
130
- "With the SendinBlue plugin, you can find everything you need to easily and efficiently send your email & SMS campaigns to your prospects and customers.", "Avec le module SendinBlue, retrouvez tout ce dont vous avez besoin pour envoyer simplement et efficacement vos campagnes emailing & SMS à vos prospects et clients :"
 
 
 
 
 
 
 
 
127
  "The phone number should be in this form: 0033663309741 for this France mobile 06 63 30 97 41 (0033 is France prefix)", "Le numéro de téléphone mobile devrait être sous cette forme: 0033663309741 pour le numéro français 06 63 30 97 41 (0033 est l'indicatif de la France)"
128
  "Select option", "Sélectionnez"
129
  "Synchronize your Magento contacts with SendinBlue platform, easily send your marketing and transactional emails and SMS.", "Synchronisez les contacts de votre site Magento avec SendinBlue & envoyez facilement tous vos emails & SMS marketing et transactionnels."
130
+ "With the SendinBlue plugin, you can find everything you need to easily and efficiently send your email & SMS campaigns to your prospects and customers.", "Avec le module SendinBlue, retrouvez tout ce dont vous avez besoin pour envoyer simplement et efficacement vos campagnes emailing & SMS à vos prospects et clients :"
131
+ "Order history has been import successfully", "Historique des commandes a été importé avec succès."
132
+ "Import the data of previous orders", "Importer les données des anciennes commandes"
133
+ "Not synchronized", "non synchronized"
134
+ "Click on the icon to subscribe / unsubscribe the sms from SendinBlue and Magento.", "Cliquez sur l'icône pour inscrire / désinscrire un sms de SendinBlue et Magento."
135
+ "SMS SendinBlue Status", "Statut SMS sur Sendinblue"
136
+ "Select template", "Sélectionnez un template"
137
+ "Manage email template", "Gestion des templates email"
138
+ "Select a SendinBlue template that will be sent personalized for each contact that subscribes to your newsletter", "Sélectionnez un template SendinBlue qui sera envoyé pour chaque contact qui s'abonne à votre newsletter"
package.xml CHANGED
@@ -1,27 +1,27 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Sendinblue</name>
4
- <version>1.1.0</version>
5
  <stability>stable</stability>
6
- <license uri="http://opensource.org/licenses/osl-3.0.php">OSL V1.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Synchronize your Magento contacts with SendinBlue platform, easily send your marketing and transactional emails and SMS.</summary>
10
- <description>With the SendinBlue plugin, you can find everything you need to easily and efficiently send your email and SMS campaigns to your prospects and customers.
11
- Synchronize your subscribers with SendinBlue (subscribed and unsubscribed contacts)
12
- Easily create good looking emailings
13
- Schedule your campaigns
14
- Track your results and optimize
15
- Monitor your transactional emails (purchase confirmation, password reset, etc) with a better deliverability and real-time analytics
16
- Why should you use SendinBlue
17
- Optimized deliverability
18
- Unbeatable pricingbest value in the industry
19
  Technical support, by phone or by email</description>
20
  <notes>Synchronize your Magento contacts with SendinBlue platform, send your marketing and transactional emails and SMS</notes>
21
- <authors><author><name>SendinBlue</name><user>Sendinblue_Team</user><email>contact@sendinblue.com</email></author></authors>
22
- <date>2014-02-28</date>
23
- <time>10:05:32</time>
24
- <contents><target name="magelocal"><dir name="Sendinblue"><dir name="Sendinblue"><dir name="Block"><file name="Sendinblue.php" hash="4b5adae031b714e188d576e306bfd5a1"/></dir><dir name="Helper"><file name="Data.php" hash="0532b48f611c1cc623589d5792e0dbf2"/></dir><dir name="Model"><dir name="Email"><file name="Template.php" hash="6d2d6eac00b7bd6da3ff53d2abe40dd4"/></dir><file name="Email.php" hash="fe07aa2dba951ee117bda2cefebfb875"/><dir name="Mysql4"><dir name="Sendinblue"><file name="Collection.php" hash="d6aff03eda9a6b2ee1c42b8dd50df402"/></dir><file name="Sendinblue.php" hash="c000c1f6a277f7c9a91ad628b02eb001"/></dir><file name="Observer.php" hash="250cc069aa5194652f6503e2cc0f8194"/><file name="Sendinblue.php" hash="963c473c2f3ca66f23d00de0c4c9292f"/><file name="Status.php" hash="444fe4d099bd23a9d87cdf7e2b2e6cbb"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="MyformController.php" hash="67dd963b1f003d2b2f25c8b4643d4715"/><file name="NotifyController.php" hash="e3b43db59f8c5b7c8cd54a58a7bc2d1b"/><file name="SyncController.php" hash="352fd0d804701d0228bad7e7b92afb58"/></dir><file name="AjaxController.php" hash="b4914ddac9d4e836ecf53869055a6a82"/><file name="IndexController.php" hash="2cf5287ba31d6960eb28c2cbc03a60ed"/></dir><dir name="etc"><file name="adminhtml.xml" hash="640ba5382a16c749fc56a2a8283682ee"/><file name="config.xml" hash="ba48680b7267a4b2d27f4645792b2393"/></dir><dir name="sql"><dir name="sendinblue_setup"><file name="install-0.1.0.php" hash="58bb365dcb29115c66f2fa3f17dcb697"/><file name="mysql4-upgrade-0.1.0-0.2.0.php" hash="b50e876441a247cd5feb2614ff649fd3"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="sendinblue.xml" hash="e23253764fbbf0e3a2f1cb5ff65eb318"/></dir><dir name="template"><dir name="sendinblue"><file name="myform.phtml" hash="2a4748e2e456d2b95d9828bf2da90bd8"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="sendinblue.xml" hash="61346d8b2b321b10c09a77fef39ec112"/></dir><dir name="template"><dir name="sendinblue"><dir name="account"><file name="edit.phtml" hash="c2b17e90e59e1d13791feded28982330"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Sendinblue_Sendinblue.xml" hash="1a245999d412c36ea9666b56bfc63e2d"/></dir></target><target name="magelocale"><dir name="fr_FR"><file name="Sendinblue.csv" hash="72507895f18a8c4a80611065790aba56"/></dir></target><target name="mage"><dir name="app"><dir name="locale"><dir name="fr_FR"><dir name="template"><dir name="email"><file name="sendin_notification.html" hash="557ddb7212800b4a99937b2d8956270c"/><file name="sendinsmtp_conf.html" hash="b1c790c78605b2beb4cd38152cd8f0ca"/>
25
  </dir></dir></dir><dir name="en_US"><dir name="template"><dir name="email"><file name="sendin_notification.html" hash="de646d23657f68387d32683d14ea215a"/><file name="sendinsmtp_conf.html" hash="a35979191ec11cd5cbebc0efece1c472"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="sendinblue"><dir name="css"><file name="jquery-ui.css" hash="3f3d39116de928eb9c3cc33004efae77"/><file name="jquery.multiselect.css" hash="b2ecda55b895b485e49baa5759cc61fe"/><file name="styles.css" hash="61f4da300d2b59cc4d22af19d6abc742"/></dir><dir name="images"><file name="close.png" hash="223ea7c82841be9da96aec80bd68b7f5"/><file name="disabled.gif" hash="21ff0e6ba24381e63789116139180cf0"/><file name="enabled.gif" hash="0db2c4f24c0f0c3f7958a05181af897a"/><file name="help.gif" hash="19002f53dd724465717c27f0399c0a90"/><file name="index.php" hash="507d846db3efc2563672c8f60ac080f4"/><file name="loader.gif" hash="394bafc3cc4dfb3a0ee48c1f54669539"/><file name="loading_anim.gif" hash="b494fceca79586281a29c9462b09c85a"/><file name="logo.gif" hash="b13ce89934c4aa2aeb76d75896efe40f"/><file name="logo.png" hash="76ecf5757c096639a3b27ed5fc470d48"/><file name="sendinblue.png" hash="4bb823a9290b79546cc99d57de304db9"/><file name="ui-icons_ef8c08_256x240.png" hash="47fc08e06aba0b7ac0a6d3b9f92894cb"/><file name="ui-icons_ef8c08_256x240.png.png" hash="47fc08e06aba0b7ac0a6d3b9f92894cb"/></dir><dir name="js"><file name="index.php" hash="36aa6e5d248b48fd910a4dfa1987ca56"/><file name="jquery-1.9.1.min.js" hash="397754ba49e9e0cf4e7c190da78dda05"/><file name="jquery-ui.min.js" hash="3e6acb1e6426ef90d2e786a006a4ea28"/><file name="jquery.multiselect.js" hash="9851bb7a2509099e28ee789fc864570e"/><file name="jquery.multiselect.min.js" hash="efb34f759712b9da1172c3a2efe8ef6b"/><file name="sendinblue.js" hash="e5d8ac61766af444255eb9226a0cb344"/><file name="sendinblue.min.js" hash="60a1241bec9edc538c360ac459890927"/></dir></dir></dir></dir></dir></target></contents>
26
  <compatible/>
27
  <dependencies><required><php><min>5.0.0</min><max>6.0.0</max></php></required></dependencies>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Sendinblue</name>
4
+ <version>1.1.6</version>
5
  <stability>stable</stability>
6
+ <license uri="http://opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Synchronize your Magento contacts with SendinBlue platform, easily send your marketing and transactional emails and SMS.</summary>
10
+ <description>With the SendinBlue plugin, you can find everything you need to easily and efficiently send your email and SMS campaigns to your prospects and customers.&#xD;
11
+ Synchronize your subscribers with SendinBlue (subscribed and unsubscribed contacts)&#xD;
12
+ Easily create good looking emailings&#xD;
13
+ Schedule your campaigns&#xD;
14
+ Track your results and optimize&#xD;
15
+ Monitor your transactional emails (purchase confirmation, password reset, etc) with a better deliverability and real-time analytics&#xD;
16
+ Why should you use SendinBlue&#xD;
17
+ Optimized deliverability&#xD;
18
+ Unbeatable pricing&#x2013;best value in the industry&#xD;
19
  Technical support, by phone or by email</description>
20
  <notes>Synchronize your Magento contacts with SendinBlue platform, send your marketing and transactional emails and SMS</notes>
21
+ <authors><author><name>Sendinblue</name><user>Sendinblue_Team</user><email>contact@sendinblue.com</email></author></authors>
22
+ <date>2014-03-04</date>
23
+ <time>10:55:22</time>
24
+ <contents><target name="magelocal"><dir name="Sendinblue"><dir name="Sendinblue"><dir name="Block"><file name="Sendinblue.php" hash="4b5adae031b714e188d576e306bfd5a1"/></dir><dir name="Helper"><file name="Data.php" hash="0532b48f611c1cc623589d5792e0dbf2"/></dir><dir name="Model"><dir name="Email"><file name="Template.php" hash="6d2d6eac00b7bd6da3ff53d2abe40dd4"/></dir><file name="Email.php" hash="fe07aa2dba951ee117bda2cefebfb875"/><dir name="Mysql4"><dir name="Sendinblue"><file name="Collection.php" hash="d6aff03eda9a6b2ee1c42b8dd50df402"/></dir><file name="Sendinblue.php" hash="c000c1f6a277f7c9a91ad628b02eb001"/></dir><file name="Observer.php" hash="250cc069aa5194652f6503e2cc0f8194"/><file name="Sendinblue.php" hash="963c473c2f3ca66f23d00de0c4c9292f"/><file name="Status.php" hash="444fe4d099bd23a9d87cdf7e2b2e6cbb"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="MyformController.php" hash="67dd963b1f003d2b2f25c8b4643d4715"/><file name="NotifyController.php" hash="e3b43db59f8c5b7c8cd54a58a7bc2d1b"/><file name="SyncController.php" hash="352fd0d804701d0228bad7e7b92afb58"/></dir><file name="AjaxController.php" hash="b4914ddac9d4e836ecf53869055a6a82"/><file name="IndexController.php" hash="2cf5287ba31d6960eb28c2cbc03a60ed"/></dir><dir name="etc"><file name="adminhtml.xml" hash="640ba5382a16c749fc56a2a8283682ee"/><file name="config.xml" hash="ba48680b7267a4b2d27f4645792b2393"/></dir><dir name="sql"><dir name="sendinblue_setup"><file name="mysql4-install-0.1.0.php" hash="58bb365dcb29115c66f2fa3f17dcb697"/><file name="mysql4-upgrade-0.1.0-0.2.0.php" hash="b50e876441a247cd5feb2614ff649fd3"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="sendinblue.xml" hash="e23253764fbbf0e3a2f1cb5ff65eb318"/></dir><dir name="template"><dir name="sendinblue"><file name="myform.phtml" hash="2a4748e2e456d2b95d9828bf2da90bd8"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="sendinblue.xml" hash="61346d8b2b321b10c09a77fef39ec112"/></dir><dir name="template"><dir name="sendinblue"><dir name="account"><file name="edit.phtml" hash="c2b17e90e59e1d13791feded28982330"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Sendinblue_Sendinblue.xml" hash="1a245999d412c36ea9666b56bfc63e2d"/></dir></target><target name="magelocale"><dir name="fr_FR"><file name="Sendinblue.csv" hash="72507895f18a8c4a80611065790aba56"/></dir></target><target name="mage"><dir name="app"><dir name="locale"><dir name="fr_FR"><dir name="template"><dir name="email"><file name="sendin_notification.html" hash="557ddb7212800b4a99937b2d8956270c"/><file name="sendinsmtp_conf.html" hash="b1c790c78605b2beb4cd38152cd8f0ca"/>
25
  </dir></dir></dir><dir name="en_US"><dir name="template"><dir name="email"><file name="sendin_notification.html" hash="de646d23657f68387d32683d14ea215a"/><file name="sendinsmtp_conf.html" hash="a35979191ec11cd5cbebc0efece1c472"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="sendinblue"><dir name="css"><file name="jquery-ui.css" hash="3f3d39116de928eb9c3cc33004efae77"/><file name="jquery.multiselect.css" hash="b2ecda55b895b485e49baa5759cc61fe"/><file name="styles.css" hash="61f4da300d2b59cc4d22af19d6abc742"/></dir><dir name="images"><file name="close.png" hash="223ea7c82841be9da96aec80bd68b7f5"/><file name="disabled.gif" hash="21ff0e6ba24381e63789116139180cf0"/><file name="enabled.gif" hash="0db2c4f24c0f0c3f7958a05181af897a"/><file name="help.gif" hash="19002f53dd724465717c27f0399c0a90"/><file name="index.php" hash="507d846db3efc2563672c8f60ac080f4"/><file name="loader.gif" hash="394bafc3cc4dfb3a0ee48c1f54669539"/><file name="loading_anim.gif" hash="b494fceca79586281a29c9462b09c85a"/><file name="logo.gif" hash="b13ce89934c4aa2aeb76d75896efe40f"/><file name="logo.png" hash="76ecf5757c096639a3b27ed5fc470d48"/><file name="sendinblue.png" hash="4bb823a9290b79546cc99d57de304db9"/><file name="ui-icons_ef8c08_256x240.png" hash="47fc08e06aba0b7ac0a6d3b9f92894cb"/><file name="ui-icons_ef8c08_256x240.png.png" hash="47fc08e06aba0b7ac0a6d3b9f92894cb"/></dir><dir name="js"><file name="index.php" hash="36aa6e5d248b48fd910a4dfa1987ca56"/><file name="jquery-1.9.1.min.js" hash="397754ba49e9e0cf4e7c190da78dda05"/><file name="jquery-ui.min.js" hash="3e6acb1e6426ef90d2e786a006a4ea28"/><file name="jquery.multiselect.js" hash="9851bb7a2509099e28ee789fc864570e"/><file name="jquery.multiselect.min.js" hash="efb34f759712b9da1172c3a2efe8ef6b"/><file name="sendinblue.js" hash="e5d8ac61766af444255eb9226a0cb344"/><file name="sendinblue.min.js" hash="60a1241bec9edc538c360ac459890927"/></dir></dir></dir></dir></dir></target></contents>
26
  <compatible/>
27
  <dependencies><required><php><min>5.0.0</min><max>6.0.0</max></php></required></dependencies>
skin/adminhtml/default/default/sendinblue/css/styles.css CHANGED
@@ -6,6 +6,10 @@
6
  * versions in the future. If you wish to customize Sendinblue magento plugin for your
7
  * needs then we can't provide a technical support.
8
  */
 
 
 
 
9
 
10
  .pagination{width:620px; height:25px; margin:0 auto;}
11
  .pagination ul li{list-style:none; float:left; border:1px solid #000; padding:2px 6px 2px 6px; margin:0 3px 0 3px; font-family:arial; font-size:12px; color:#000; font-weight:bold; background-color:#f2f2f2;}
@@ -20,7 +24,7 @@
20
  .sendin_row {clear:both; margin-top:40px; width:100%;}
21
  .contact-details {border:1px dashed #666666; float:right; height:205px; margin-left:12px; margin-right:12px; margin-top:10px; padding:8px; width:350px; position: absolute; right: 0;}
22
  fieldset.fields {background-color:#EBEDF4; border:1px solid; margin-bottom:10px; padding:20px 0 10px 10px; position:relative;}
23
- fieldset legend {background-color:#EBEDF4; border:1px solid #DFD5C3; display:inline; visibility:visible; float:left; font:bold 13px/13px Arial; margin:0; padding:4px 10px; position:absolute; top:-15px; width:inherit !important; height:auto;}
24
  ul.listt {text-align:justify; margin:8px 0px 8px 0px;list-style:none; padding:0px; width:800px;}
25
  ul.listt li:before{ content:"-"; position:relative; left:-2px;}
26
  ul.listt li{ text-indent:-5px; padding:5px 0px 5px 10px;}
@@ -35,9 +39,6 @@ ul.listt li{ text-indent:-5px; padding:5px 0px 5px 10px;}
35
  width: 491px;
36
  }
37
 
38
-
39
-
40
-
41
  .btn {
42
  display: inline-block;
43
  *display: inline;
@@ -159,10 +160,7 @@ ul.listt li{ text-indent:-5px; padding:5px 0px 5px 10px;}
159
  .tab_content {
160
  display: none;
161
  }
162
- /*.wrapper {
163
- width:820px;
164
- margin:0px auto;
165
- }*/
166
  .wrapper .row1 {
167
  padding:/*10px 12px*/0px;
168
  border:none;
@@ -172,9 +170,7 @@ ul.listt li{ text-indent:-5px; padding:5px 0px 5px 10px;}
172
  margin-top:23px;
173
  clear:both;
174
  }
175
- .wrapper p {
176
- margin-bottom:12px;
177
- }
178
  .r_label {
179
  float:left;
180
  width: auto;
@@ -240,28 +236,6 @@ ul.listt li{ text-indent:-5px; padding:5px 0px 5px 10px;}
240
  /* padding: 0 4px 0 6px;*/
241
  }
242
 
243
- /*Form*/
244
- /*.table tr td {
245
- color: #996633;
246
- font-size:12px;
247
- }
248
- .sendin_row .form-list label{ width:670px; float:left; padding-right:20px; padding-top:0px; text-align:right;}
249
- .sendin_row .form-list2 label{ width:385px; padding-right:20px; padding-top:0px;}
250
- .sendin_row .form-list3 label{ width:295px; padding-right:20px; padding-top:0px;text-align:left!important;}
251
-
252
-
253
-
254
- .label-small{ width:30px!important; text-align:left!important;}
255
- .no-padding td{ padding:0px!important;}
256
- .clear{ clear:both;}
257
- .module_error.error{ padding-top: 8px!important;}
258
- .module_error.error p{ display:inline-block;}
259
- #content .alert{ width:auto!important;}
260
- .tablepadding td{padding:5px 0px;}
261
- .btnmrgn-right{
262
- margin-top:12px;
263
- margin-right:26px;
264
- float:right;}*/
265
  .radio_nospaceing{
266
  margin:0px 10px 0px 0px;}
267
  .radio_spaceing {
@@ -280,11 +254,7 @@ ul.listt li{ text-indent:-5px; padding:5px 0px 5px 10px;}
280
 
281
  .mrgin-left{ margin-left:466px;}
282
  /*Design matched style*/
283
-
284
- p {
285
- color: #585A69;
286
- margin: 0.5em 0;
287
- }
288
 
289
  .fix_width{width:450px}
290
  .fix_width2{width:350px}
@@ -324,9 +294,7 @@ color:#585A69;
324
  }
325
 
326
  input.input-text, textarea, select { border:1px solid #c8c8c8;}
327
- input.input-text{padding:3px 5px;}
328
- a {
329
- color: #000000;
330
- outline: 0 none;
331
- text-decoration: none;
332
- }
6
  * versions in the future. If you wish to customize Sendinblue magento plugin for your
7
  * needs then we can't provide a technical support.
8
  */
9
+ a {
10
+ color: #000;
11
+ text-decoration: underline;
12
+ }
13
 
14
  .pagination{width:620px; height:25px; margin:0 auto;}
15
  .pagination ul li{list-style:none; float:left; border:1px solid #000; padding:2px 6px 2px 6px; margin:0 3px 0 3px; font-family:arial; font-size:12px; color:#000; font-weight:bold; background-color:#f2f2f2;}
24
  .sendin_row {clear:both; margin-top:40px; width:100%;}
25
  .contact-details {border:1px dashed #666666; float:right; height:205px; margin-left:12px; margin-right:12px; margin-top:10px; padding:8px; width:350px; position: absolute; right: 0;}
26
  fieldset.fields {background-color:#EBEDF4; border:1px solid; margin-bottom:10px; padding:20px 0 10px 10px; position:relative;}
27
+ fieldset legend.lgend {background-color:#EBEDF4; border:1px solid #DFD5C3; display:inline; visibility:visible; float:left; font:bold 13px/13px Arial; margin:0; padding:4px 10px; position:absolute; top:-15px; width:inherit !important; height:auto;}
28
  ul.listt {text-align:justify; margin:8px 0px 8px 0px;list-style:none; padding:0px; width:800px;}
29
  ul.listt li:before{ content:"-"; position:relative; left:-2px;}
30
  ul.listt li{ text-indent:-5px; padding:5px 0px 5px 10px;}
39
  width: 491px;
40
  }
41
 
 
 
 
42
  .btn {
43
  display: inline-block;
44
  *display: inline;
160
  .tab_content {
161
  display: none;
162
  }
163
+
 
 
 
164
  .wrapper .row1 {
165
  padding:/*10px 12px*/0px;
166
  border:none;
170
  margin-top:23px;
171
  clear:both;
172
  }
173
+
 
 
174
  .r_label {
175
  float:left;
176
  width: auto;
236
  /* padding: 0 4px 0 6px;*/
237
  }
238
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
239
  .radio_nospaceing{
240
  margin:0px 10px 0px 0px;}
241
  .radio_spaceing {
254
 
255
  .mrgin-left{ margin-left:466px;}
256
  /*Design matched style*/
257
+
 
 
 
 
258
 
259
  .fix_width{width:450px}
260
  .fix_width2{width:350px}
294
  }
295
 
296
  input.input-text, textarea, select { border:1px solid #c8c8c8;}
297
+ /*input.input-text{padding:3px 5px;}*/
298
+
299
+ .grid table td a{color: #000000;
300
+ text-decoration: none;}
 
 
skin/adminhtml/default/default/sendinblue/js/sendinblue.js CHANGED
@@ -124,6 +124,11 @@ jQuery(document)
124
  }
125
  });
126
 
 
 
 
 
 
127
 
128
 
129
  if(jQuery('#sender_order').val() != '')
@@ -200,6 +205,11 @@ jQuery(document)
200
 
201
  }
202
  });
 
 
 
 
 
203
 
204
  if(jQuery('#sender_shipment').val() != '')
205
  {
@@ -273,6 +283,11 @@ jQuery(document)
273
 
274
  }
275
  });
 
 
 
 
 
276
 
277
  if(jQuery('#sender_campaign').val() != '')
278
  {
@@ -527,6 +542,12 @@ jQuery(document)
527
  {
528
  var Tracking = jQuery(this).val();
529
  var trackingUrl = jQuery("#trackingUrl").val();
 
 
 
 
 
 
530
  jQuery.ajax({
531
  type : "POST",
532
  async : false,
@@ -540,6 +561,27 @@ jQuery(document)
540
  }
541
  });
542
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
543
 
544
 
545
 
@@ -616,6 +658,32 @@ jQuery(document)
616
 
617
  });
618
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
619
  });
620
 
621
  function testsmssend(sendererr,messageerr,mobileerr) {
@@ -859,8 +927,10 @@ function smtpvalidate(emailerr)
859
  function apikvalidate(apierr)
860
  {
861
  var sendin_apikey_val = jQuery('#sendin_apikey_val').val();
 
 
862
 
863
- if(sendin_apikey_val.trim() == "")
864
  {
865
  alert(apierr);
866
  jQuery('#sendin_apikey_val').focus();
124
  }
125
  });
126
 
127
+ jQuery("#sender_order").keydown(function (event) {
128
+ if (event.keyCode == 32) {
129
+ event.preventDefault();
130
+ }
131
+ });
132
 
133
 
134
  if(jQuery('#sender_order').val() != '')
205
 
206
  }
207
  });
208
+ jQuery("#sender_shipment").keydown(function (event) {
209
+ if (event.keyCode == 32) {
210
+ event.preventDefault();
211
+ }
212
+ });
213
 
214
  if(jQuery('#sender_shipment').val() != '')
215
  {
283
 
284
  }
285
  });
286
+ jQuery("#sender_campaign").keydown(function (event) {
287
+ if (event.keyCode == 32) {
288
+ event.preventDefault();
289
+ }
290
+ });
291
 
292
  if(jQuery('#sender_campaign').val() != '')
293
  {
542
  {
543
  var Tracking = jQuery(this).val();
544
  var trackingUrl = jQuery("#trackingUrl").val();
545
+ if (Tracking == 0) {
546
+ jQuery('.ordertracking').hide();
547
+ }
548
+ if (Tracking == 1) {
549
+ jQuery('.ordertracking').show();
550
+ }
551
  jQuery.ajax({
552
  type : "POST",
553
  async : false,
561
  }
562
  });
563
  });
564
+ //for import old order history
565
+ jQuery(".Trackhistory").click(function()
566
+ {
567
+ var history_status = jQuery("#history_status").val();
568
+ var ordertrackingUrl = jQuery("#importordertrackingUrl").val();
569
+
570
+ jQuery.ajax({
571
+ type : "POST",
572
+ async : false,
573
+ url : ordertrackingUrl,
574
+ data : "history_status=" + history_status,
575
+ beforeSend : function(){
576
+ jQuery('#ajax-busy').show();
577
+ },
578
+ success : function(msg){
579
+ jQuery('#ajax-busy').hide();
580
+ jQuery('.ordertracking').hide();
581
+ alert(msg);
582
+ }
583
+ });
584
+ });
585
 
586
 
587
 
658
 
659
  });
660
 
661
+
662
+
663
+ jQuery('body').on('click', '.ajax_sms_subs_href', function (e) {
664
+
665
+ var email = jQuery(this).attr('email');
666
+ var status = jQuery(this).attr('status');
667
+ var ajaxSmsUrl = jQuery("#ajaxSmsSubscribeUrl").val();
668
+
669
+ jQuery.ajax({
670
+ type : "POST",
671
+ async : false,
672
+ url : ajaxSmsUrl,
673
+ data : {"email":email,"sms":status},
674
+ beforeSend : function() {
675
+ jQuery('#ajax-busy').show();
676
+ },
677
+ success : function(msg) {
678
+ jQuery('#ajax-busy').hide();
679
+ }
680
+ });
681
+
682
+ var page_no = jQuery('#pagenumber').val();
683
+ loadData(page_no); // For first time page load
684
+
685
+ });
686
+
687
  });
688
 
689
  function testsmssend(sendererr,messageerr,mobileerr) {
927
  function apikvalidate(apierr)
928
  {
929
  var sendin_apikey_val = jQuery('#sendin_apikey_val').val();
930
+ var sendin_api_check = jQuery("input[name=sendin_api_status]:checked").val();
931
+
932
 
933
+ if(sendin_apikey_val.trim() == "" && sendin_api_check !=0)
934
  {
935
  alert(apierr);
936
  jQuery('#sendin_apikey_val').focus();
skin/adminhtml/default/default/sendinblue/js/sendinblue.min.js CHANGED
@@ -7,4 +7,4 @@
7
  * needs then we can't provide a technical support.
8
  **/
9
 
10
- jQuery.noConflict();jQuery(document).ready(function(){var apistatuskey=jQuery("#apistatuskey").val();jQuery("#select").multiselect();jQuery(".sendin_api_status").click(function(){if(apistatuskey==1&&jQuery(this).val()==1){jQuery("#sendin_apikey").show();jQuery(".alldiv").show();jQuery(".hidetableblock").show();}else{if(jQuery(this).val()==1){jQuery("#sendin_apikey").show();}else{jQuery("#sendin_apikey").hide();jQuery(".alldiv").hide();}}});function loadData(page){var ajaxcontentUrl=jQuery("#ajaxcontentUrl").val();jQuery.ajax({type:"POST",async:false,url:ajaxcontentUrl,data:"page="+page,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();jQuery(".midleft").html(msg);jQuery(".midleft").ajaxComplete(function(event,request,settings){jQuery(".midleft").html(msg);});}});}jQuery(".hdtab").click(function(){if(parseInt(jQuery(this).val())){jQuery("#hidetabselect").css("display","block");}});jQuery("body").on("click"," .pagination li.active",function(){var page=jQuery(this).attr("p");jQuery("#pagenumber").val(page);loadData(page);});jQuery(".toolTip").hover(function(){var title=jQuery(this).attr("title");var offset=jQuery(this).offset();jQuery("body").append('<div id="tipkk" style="top:'+offset.top+"px; left:"+offset.left+'px; ">'+title+"</div>");var tipContentHeight=jQuery("#tipkk").height()+25;jQuery("#tipkk").css("top",(offset.top-tipContentHeight)+"px");},function(){jQuery("#tipkk").remove();});jQuery("#sender_order").mouseover(function(){var val=jQuery(this).val();if(isInteger(val)||val==""){jQuery("#sender_order").attr("maxlength","17");jQuery("#sender_order_text").text((17-val.length));}else{jQuery("#sender_order").attr("maxlength","11");var str7=val.length>11?val.substr(1,11):val;jQuery("#sender_order").val(str7);jQuery("#sender_order_text").text((11-val.length));}});jQuery("#sender_order").keyup(function(){var val=jQuery(this).val();if(isInteger(val)||val==""){jQuery("#sender_order").attr("maxlength","17");jQuery("#sender_order_text").text((17-val.length));}else{jQuery("#sender_order").attr("maxlength","11");var str7=val.length>11?val.substr(1,11):val;jQuery("#sender_order").val(str7);jQuery("#sender_order_text").text((11-val.length));}});if(jQuery("#sender_order").val()!=""){var val=jQuery("#sender_order").val();if(isInteger(val)){jQuery("#sender_order").attr("maxlength","17");jQuery("#sender_order_text").text((17-val.length));}else{jQuery("#sender_order").attr("maxlength","11");jQuery("#sender_order_text").text((11-val.length));}}jQuery("#sender_order_message").keyup(function(){var chars=this.value.length,messages=Math.ceil(chars/160),remaining=messages*160-(chars%(messages*160)||messages*160);if(remaining==0){remaining=160;}jQuery("#sender_order_message_text").text(remaining);jQuery("#sender_order_message_text_count").text(messages);});if(jQuery("#sender_order_message").val()!=""){var chars=jQuery("#sender_order_message").val().length,messages=Math.ceil(chars/160),remaining=messages*160-(chars%(messages*160)||messages*160);jQuery("#sender_order_message_text").text(remaining);jQuery("#sender_order_message_text_count").text(messages);}jQuery("#sender_shipment").mouseover(function(){var val=jQuery(this).val();if(isInteger(val)||val==""){jQuery("#sender_shipment").attr("maxlength","17");jQuery("#sender_shipment_text").text((17-val.length));}else{jQuery("#sender_shipment").attr("maxlength","11");var str7=val.length>11?val.substr(1,11):val;jQuery("#sender_shipment").val(str7);jQuery("#sender_shipment_text").text((11-val.length));}});jQuery("#sender_shipment").keyup(function(){var val=jQuery(this).val();if(isInteger(val)||val==""){jQuery("#sender_shipment").attr("maxlength","17");jQuery("#sender_shipment_text").text((17-val.length));}else{jQuery("#sender_shipment").attr("maxlength","11");var str7=val.length>11?val.substr(1,11):val;jQuery("#sender_shipment").val(str7);jQuery("#sender_shipment_text").text((11-val.length));}});if(jQuery("#sender_shipment").val()!=""){var val=jQuery("#sender_shipment").val();if(isInteger(val)){jQuery("#sender_shipment").attr("maxlength","17");jQuery("#sender_shipment_text").text((17-val.length));}else{jQuery("#sender_shipment").attr("maxlength","11");jQuery("#sender_shipment_text").text((11-val.length));}}jQuery("#sender_shipment_message").keyup(function(){var chars=this.value.length,messages=Math.ceil(chars/160),remaining=messages*160-(chars%(messages*160)||messages*160);if(remaining==0){remaining=160;}jQuery("#sender_shipment_message_text").text(remaining);jQuery("#sender_shipment_message_text_count").text(messages);});if(jQuery("#sender_shipment_message").val()!=""){var chars=jQuery("#sender_shipment_message").val().length,messages=Math.ceil(chars/160),remaining=messages*160-(chars%(messages*160)||messages*160);jQuery("#sender_shipment_message_text").text(remaining);jQuery("#sender_shipment_message_text_count").text(messages);}jQuery("#sender_campaign").mouseover(function(){var val=jQuery(this).val();if(isInteger(val)||val==""){jQuery("#sender_campaign").attr("maxlength","17");jQuery("#sender_campaign_text").text((17-val.length));}else{jQuery("#sender_campaign").attr("maxlength","11");var str7=val.length>11?val.substr(1,11):val;jQuery("#sender_campaign").val(str7);jQuery("#sender_campaign_text").text((11-val.length));}});jQuery("#sender_campaign").keyup(function(){var val=jQuery(this).val();if(isInteger(val)||val==""){jQuery("#sender_campaign").attr("maxlength","17");jQuery("#sender_campaign_text").text((17-val.length));}else{jQuery("#sender_campaign").attr("maxlength","11");var str7=val.length>11?val.substr(1,11):val;jQuery("#sender_campaign").val(str7);jQuery("#sender_campaign_text").text((11-val.length));}});if(jQuery("#sender_campaign").val()!=""){var val=jQuery("#sender_campaign").val();if(isInteger(val)){jQuery("#sender_campaign").attr("maxlength","17");jQuery("#sender_campaign_text").text((17-val.length));}else{jQuery("#sender_campaign").attr("maxlength","11");jQuery("#sender_campaign_text").text((11-val.length));}}jQuery("#sender_campaign_message").keyup(function(){var chars=this.value.length,messages=Math.ceil(chars/160),remaining=messages*160-(chars%(messages*160)||messages*160);if(remaining==0){remaining=160;}jQuery("#sender_campaign_message_text").text(remaining);jQuery("#sender_campaign_message_text_count").text(messages);});if(jQuery("#sender_campaign_message").val()!=""){var chars=jQuery("#sender_campaign_message").val().length,messages=Math.ceil(chars/160),remaining=messages*160-(chars%(messages*160)||messages*160);jQuery("#sender_campaign_message_text").text(remaining);jQuery("#sender_campaign_message_text_count").text(messages);}jQuery(".sms_order_setting").click(function(){var orderSetting=jQuery(this).val();var orderUrl=jQuery("#order").val();jQuery.ajax({type:"POST",async:false,url:orderUrl,data:"orderSetting="+orderSetting,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();if(orderSetting==1){jQuery(".hideOrder").show();}else{jQuery(".hideOrder").hide();}}});});jQuery(".sms_shiping_setting").click(function(){var shipingSetting=jQuery(this).val();var shipingUrl=jQuery("#shiping").val();jQuery.ajax({type:"POST",async:false,url:shipingUrl,data:"shipingSetting="+shipingSetting,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();if(shipingSetting==1){jQuery(".hideShiping").show();}else{jQuery(".hideShiping").hide();}}});});jQuery(".sms_campaign_setting").click(function(){var campaignSetting=jQuery(this).val();var campaignUrl=jQuery("#campaign").val();jQuery.ajax({type:"POST",async:false,url:campaignUrl,data:"campaignSetting="+campaignSetting,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();if(campaignSetting==1){jQuery(".hideCampaign").show();}else{jQuery(".hideCampaign").hide();}}});});if(jQuery("input:radio[name=sms_order_setting]:checked").val()==0){jQuery(".hideOrder").hide();}else{jQuery(".hideOrder").show();}jQuery(".Sendin_Sms_Choice").click(function(){if(jQuery(this).val()==1){jQuery(".multiplechoice").hide();jQuery(".singlechoice").show();}else{jQuery(".multiplechoice").show();jQuery(".singlechoice").hide();}});if(jQuery("input:radio[name=Sendin_Sms_Choice]:checked").val()==0){jQuery(".multiplechoice").show();jQuery(".singlechoice").hide();}else{jQuery(".singlechoice").show();jQuery(".multiplechoice").hide();}jQuery(".sms_shiping_setting").click(function(){if(jQuery(this).val()==1){jQuery(".hideShiping").show();}else{jQuery(".hideShiping").hide();}});if(jQuery("input:radio[name=sms_credit]:checked").val()==0){jQuery(".hideCredit").hide();}else{jQuery(".hideCredit").show();}jQuery(".sms_credit").click(function(){var sms_credit=jQuery(this).val();var creditUrl=jQuery("#credits").val();var type="sms_credit";jQuery.ajax({type:"POST",async:false,url:creditUrl,data:"sms_credit="+sms_credit,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();if(sms_credit==1){jQuery(".hideCredit").show();}else{jQuery(".hideCredit").hide();}}});});if(jQuery("input:radio[name=sms_shiping_setting]:checked").val()==0){jQuery(".hideShiping").hide();}else{jQuery(".hideShiping").show();}jQuery(".sms_campaign_setting").click(function(){if(jQuery(this).val()==1){jQuery(".hideCampaign").show();}else{jQuery(".hideCampaign").hide();}});if(jQuery("input:radio[name=sms_campaign_setting]:checked").val()==0){jQuery(".hideCampaign").hide();}else{jQuery(".hideCampaign").show();}jQuery("#selectSmsList").multiselect({header:false,checkall:false});jQuery("#tabs li").click(function(){jQuery("#tabs li").removeClass("active");jQuery(this).addClass("active");jQuery(".tab_content").hide();var selected_tab=jQuery(this).find("a").attr("href");jQuery(selected_tab).fadeIn();return false;});function isInteger(val){var numberRegex=/^[+-]?\d+(\.\d+)?([eE][+-]?\d+)?$/;if(numberRegex.test(val)){return true;}return false;}jQuery("#showUserlist").click(function(){if(jQuery(".userDetails").is(":hidden")){loadData(1);jQuery("#Spantextless").show();jQuery("#Spantextmore").hide();}else{jQuery("#Spantextmore").show();jQuery("#Spantextless").hide();}jQuery(".userDetails").slideToggle();});var base_url=getBaseURL();jQuery(".Tracking").click(function(){var Tracking=jQuery(this).val();var trackingUrl=jQuery("#trackingUrl").val();jQuery.ajax({type:"POST",async:false,url:trackingUrl,data:"script="+Tracking,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();}});});jQuery(".smtpStatus").click(function(){var smtptest=jQuery(this).val();var smtpUrl=jQuery("#smtpUrl").val();if(smtptest==0){jQuery(".smtptest").hide();}if(smtptest==1){jQuery(".smtptest").show();}jQuery.ajax({type:"POST",async:false,url:smtpUrl,data:"smtptest="+smtptest,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();}});});var skin_url=jQuery("#skin_url").val();jQuery('<div id="ajax-busy"/> loading..').css({opacity:0.5,position:"fixed",top:0,left:0,width:"100%",height:jQuery(window).height()+"px",background:"white url("+skin_url+"adminhtml/default/default/sendinblue/images/loader.gif) no-repeat center"}).hide().appendTo("body");function getBaseURL(){var sBase=location.href.substr(0,location.href.lastIndexOf("/")+1);var sp=sBase.split("/");var lastFolder=sp[sp.length-2];return sBase.replace(lastFolder+"/","");}jQuery("body").on("click",".ajax_contacts_href",function(e){var email=jQuery(this).attr("email");var status=jQuery(this).attr("status");var ajaxUrl=jQuery("#ajaxUrl").val();jQuery.ajax({type:"POST",async:false,url:ajaxUrl,data:{email:email,newsletter:status},beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();}});var page_no=jQuery("#pagenumber").val();loadData(page_no);});});function testsmssend(sendererr,messageerr,mobileerr){var sender=jQuery("#sender_order").val();var message=jQuery("#sender_order_message").val();var number=jQuery("#sender_order_number").val();var ajaxOrderSmsUrl=jQuery("#ajaxOrderSmsUrl").val();var smsCampError=jQuery("#smsCampError").val();var smsCampSuccess=jQuery("#smsCampSuccess").val();if(sender==""||isValid(sender)==false){alert(sendererr);}else{if(message==""){alert(messageerr);}else{if(number==""){alert(mobileerr);}else{jQuery.ajax({type:"POST",async:false,url:ajaxOrderSmsUrl,data:"sender="+sender+"&message="+message+"&number="+number,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();if(msg.trim()=="OK"){alert(smsCampSuccess);}else{alert(smsCampError);}}});}}}return false;}function testShippedSmsSend(sendererr,messageerr,mobileerr){var sender=jQuery("#sender_shipment").val();var message=jQuery("#sender_shipment_message").val();var number=jQuery("#sender_shipment_number").val();var ajaxOrderShippedUrl=jQuery("#ajaxOrderShippedUrl").val();var smsCampError=jQuery("#smsCampError").val();var smsCampSuccess=jQuery("#smsCampSuccess").val();if(sender==""||isValid(sender)==false){alert(sendererr);}else{if(message==""){alert(messageerr);}else{if(number==""){alert(mobileerr);}else{jQuery.ajax({type:"POST",async:false,url:ajaxOrderShippedUrl,data:"sender="+sender+"&message="+message+"&number="+number,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();if(msg.trim()=="OK"){alert(smsCampSuccess);}else{alert(smsCampError);}}});}}}return false;}function testCampaignSmsSend(sendererr,messageerr,mobileerr){var sender=jQuery("#sender_campaign").val();var message=jQuery("#sender_campaign_message").val();var number=jQuery("#sender_campaigntest_number").val();var ajaxSmsCampaignUrl=jQuery("#ajaxSmsCampaignUrl").val();var smsCampError=jQuery("#smsCampError").val();var smsCampSuccess=jQuery("#smsCampSuccess").val();if(sender==""||isValid(sender)==false){alert(sendererr);}else{if(message==""){alert(messageerr);}else{if(number==""||isMobilevalidation(number)==false){alert(mobileerr);}else{jQuery.ajax({type:"POST",async:false,url:ajaxSmsCampaignUrl,data:"sender="+sender+"&message="+message+"&number="+number,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();if(msg.trim()=="OK"){alert(smsCampSuccess);}else{alert(smsCampError);}}});}}}return false;}function senderOrderSaveValid(sendererr,messageerr){var sender=jQuery("#sender_order").val();var message=jQuery("#sender_order_message").val();if(sender==""||isValid(sender)==false){alert(sendererr);return false;}else{if(message==""){alert(messageerr);return false;}}}function senderShipmentSaveValid(sendererr,messageerr){var sender=jQuery("#sender_shipment").val();var message=jQuery("#sender_shipment_message").val();if(sender==""||isValid(sender)==false){alert(sendererr);return false;}else{if(message==""){alert(messageerr);return false;}}}function senderCampaignSaveValid(sendererr,messageerr,mobileerr){var sender=jQuery("#sender_campaign").val();var message=jQuery("#sender_campaign_message").val();var number=jQuery("#singlechoice").val();var radiovalue=jQuery("input[name=Sendin_Sms_Choice]:checked").val();if(radiovalue==1){if(number==""||isMobilevalidation(number)==false){alert(mobileerr);return false;}else{if(sender==""||isValid(sender)==false){alert(sendererr);return false;}else{if(message==""){alert(messageerr);return false;}}}}else{if(sender==""||isValid(sender)==false){alert(sendererr);return false;}else{if(message==""){alert(messageerr);return false;}}}}function isMobilevalidation(str){return/^(?:\+|00)[1-9][0-9]{5,15}$/.test(str);}function isNormalInteger(str){return/^\+?(0|[1-9]\d*)$/.test(str);}function isValid(str){var iChars="~`!#$%^&*+=-[]\\';,/{}|\":<>?";for(var i=0;i<str.length;i++){if(iChars.indexOf(str.charAt(i))!=-1){return false;}}return true;}function RegexEmail(email){var emailRegexStr=/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;var isvalid=emailRegexStr.test(email);return isvalid;}function validate(emailerr,limiter){if(document.notify_sms_mail_form.sendin_notify_email.value==""||RegexEmail(document.notify_sms_mail_form.sendin_notify_email.value)==false){alert(emailerr);document.notify_sms_mail_form.sendin_notify_email.focus();return false;}if(document.notify_sms_mail_form.sendin_notify_value.value==""||isNormalInteger(document.notify_sms_mail_form.sendin_notify_value.value)==false){alert(limiter);document.notify_sms_mail_form.sendin_notify_value.focus();return false;}return(true);}function smtpvalidate(emailerr){var email=jQuery("#email").val();if(email==""||RegexEmail(email)==false){alert(emailerr);jQuery("#email").focus();return false;}}function apikvalidate(apierr){var sendin_apikey_val=jQuery("#sendin_apikey_val").val();if(sendin_apikey_val.trim()==""){alert(apierr);jQuery("#sendin_apikey_val").focus();return false;}}
7
  * needs then we can't provide a technical support.
8
  **/
9
 
10
+ jQuery.noConflict();jQuery(document).ready(function(){var apistatuskey=jQuery("#apistatuskey").val();jQuery("#select").multiselect();jQuery(".sendin_api_status").click(function(){if(apistatuskey==1&&jQuery(this).val()==1){jQuery("#sendin_apikey").show();jQuery(".alldiv").show();jQuery(".hidetableblock").show();}else{if(jQuery(this).val()==1){jQuery("#sendin_apikey").show();}else{jQuery("#sendin_apikey").hide();jQuery(".alldiv").hide();}}});function loadData(page){var ajaxcontentUrl=jQuery("#ajaxcontentUrl").val();jQuery.ajax({type:"POST",async:false,url:ajaxcontentUrl,data:"page="+page,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();jQuery(".midleft").html(msg);jQuery(".midleft").ajaxComplete(function(event,request,settings){jQuery(".midleft").html(msg);});}});}jQuery(".hdtab").click(function(){if(parseInt(jQuery(this).val())){jQuery("#hidetabselect").css("display","block");}});jQuery("body").on("click"," .pagination li.active",function(){var page=jQuery(this).attr("p");jQuery("#pagenumber").val(page);loadData(page);});jQuery(".toolTip").hover(function(){var title=jQuery(this).attr("title");var offset=jQuery(this).offset();jQuery("body").append('<div id="tipkk" style="top:'+offset.top+"px; left:"+offset.left+'px; ">'+title+"</div>");var tipContentHeight=jQuery("#tipkk").height()+25;jQuery("#tipkk").css("top",(offset.top-tipContentHeight)+"px");},function(){jQuery("#tipkk").remove();});jQuery("#sender_order").mouseover(function(){var val=jQuery(this).val();if(isInteger(val)||val==""){jQuery("#sender_order").attr("maxlength","17");jQuery("#sender_order_text").text((17-val.length));}else{jQuery("#sender_order").attr("maxlength","11");var str7=val.length>11?val.substr(1,11):val;jQuery("#sender_order").val(str7);jQuery("#sender_order_text").text((11-val.length));}});jQuery("#sender_order").keyup(function(){var val=jQuery(this).val();if(isInteger(val)||val==""){jQuery("#sender_order").attr("maxlength","17");jQuery("#sender_order_text").text((17-val.length));}else{jQuery("#sender_order").attr("maxlength","11");var str7=val.length>11?val.substr(1,11):val;jQuery("#sender_order").val(str7);jQuery("#sender_order_text").text((11-val.length));}});if(jQuery("#sender_order").val()!=""){var val=jQuery("#sender_order").val();if(isInteger(val)){jQuery("#sender_order").attr("maxlength","17");jQuery("#sender_order_text").text((17-val.length));}else{jQuery("#sender_order").attr("maxlength","11");jQuery("#sender_order_text").text((11-val.length));}}jQuery("#sender_order_message").keyup(function(){var chars=this.value.length,messages=Math.ceil(chars/160),remaining=messages*160-(chars%(messages*160)||messages*160);if(remaining==0){remaining=160;}jQuery("#sender_order_message_text").text(remaining);jQuery("#sender_order_message_text_count").text(messages);});if(jQuery("#sender_order_message").val()!=""){var chars=jQuery("#sender_order_message").val().length,messages=Math.ceil(chars/160),remaining=messages*160-(chars%(messages*160)||messages*160);jQuery("#sender_order_message_text").text(remaining);jQuery("#sender_order_message_text_count").text(messages);}jQuery("#sender_shipment").mouseover(function(){var val=jQuery(this).val();if(isInteger(val)||val==""){jQuery("#sender_shipment").attr("maxlength","17");jQuery("#sender_shipment_text").text((17-val.length));}else{jQuery("#sender_shipment").attr("maxlength","11");var str7=val.length>11?val.substr(1,11):val;jQuery("#sender_shipment").val(str7);jQuery("#sender_shipment_text").text((11-val.length));}});jQuery("#sender_shipment").keyup(function(){var val=jQuery(this).val();if(isInteger(val)||val==""){jQuery("#sender_shipment").attr("maxlength","17");jQuery("#sender_shipment_text").text((17-val.length));}else{jQuery("#sender_shipment").attr("maxlength","11");var str7=val.length>11?val.substr(1,11):val;jQuery("#sender_shipment").val(str7);jQuery("#sender_shipment_text").text((11-val.length));}});if(jQuery("#sender_shipment").val()!=""){var val=jQuery("#sender_shipment").val();if(isInteger(val)){jQuery("#sender_shipment").attr("maxlength","17");jQuery("#sender_shipment_text").text((17-val.length));}else{jQuery("#sender_shipment").attr("maxlength","11");jQuery("#sender_shipment_text").text((11-val.length));}}jQuery("#sender_shipment_message").keyup(function(){var chars=this.value.length,messages=Math.ceil(chars/160),remaining=messages*160-(chars%(messages*160)||messages*160);if(remaining==0){remaining=160;}jQuery("#sender_shipment_message_text").text(remaining);jQuery("#sender_shipment_message_text_count").text(messages);});if(jQuery("#sender_shipment_message").val()!=""){var chars=jQuery("#sender_shipment_message").val().length,messages=Math.ceil(chars/160),remaining=messages*160-(chars%(messages*160)||messages*160);jQuery("#sender_shipment_message_text").text(remaining);jQuery("#sender_shipment_message_text_count").text(messages);}jQuery("#sender_campaign").mouseover(function(){var val=jQuery(this).val();if(isInteger(val)||val==""){jQuery("#sender_campaign").attr("maxlength","17");jQuery("#sender_campaign_text").text((17-val.length));}else{jQuery("#sender_campaign").attr("maxlength","11");var str7=val.length>11?val.substr(1,11):val;jQuery("#sender_campaign").val(str7);jQuery("#sender_campaign_text").text((11-val.length));}});jQuery("#sender_campaign").keyup(function(){var val=jQuery(this).val();if(isInteger(val)||val==""){jQuery("#sender_campaign").attr("maxlength","17");jQuery("#sender_campaign_text").text((17-val.length));}else{jQuery("#sender_campaign").attr("maxlength","11");var str7=val.length>11?val.substr(1,11):val;jQuery("#sender_campaign").val(str7);jQuery("#sender_campaign_text").text((11-val.length));}});if(jQuery("#sender_campaign").val()!=""){var val=jQuery("#sender_campaign").val();if(isInteger(val)){jQuery("#sender_campaign").attr("maxlength","17");jQuery("#sender_campaign_text").text((17-val.length));}else{jQuery("#sender_campaign").attr("maxlength","11");jQuery("#sender_campaign_text").text((11-val.length));}}jQuery("#sender_campaign_message").keyup(function(){var chars=this.value.length,messages=Math.ceil(chars/160),remaining=messages*160-(chars%(messages*160)||messages*160);if(remaining==0){remaining=160;}jQuery("#sender_campaign_message_text").text(remaining);jQuery("#sender_campaign_message_text_count").text(messages);});if(jQuery("#sender_campaign_message").val()!=""){var chars=jQuery("#sender_campaign_message").val().length,messages=Math.ceil(chars/160),remaining=messages*160-(chars%(messages*160)||messages*160);jQuery("#sender_campaign_message_text").text(remaining);jQuery("#sender_campaign_message_text_count").text(messages);}jQuery(".sms_order_setting").click(function(){var orderSetting=jQuery(this).val();var orderUrl=jQuery("#order").val();jQuery.ajax({type:"POST",async:false,url:orderUrl,data:"orderSetting="+orderSetting,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();if(orderSetting==1){jQuery(".hideOrder").show();}else{jQuery(".hideOrder").hide();}}});});jQuery(".sms_shiping_setting").click(function(){var shipingSetting=jQuery(this).val();var shipingUrl=jQuery("#shiping").val();jQuery.ajax({type:"POST",async:false,url:shipingUrl,data:"shipingSetting="+shipingSetting,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();if(shipingSetting==1){jQuery(".hideShiping").show();}else{jQuery(".hideShiping").hide();}}});});jQuery(".sms_campaign_setting").click(function(){var campaignSetting=jQuery(this).val();var campaignUrl=jQuery("#campaign").val();jQuery.ajax({type:"POST",async:false,url:campaignUrl,data:"campaignSetting="+campaignSetting,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();if(campaignSetting==1){jQuery(".hideCampaign").show();}else{jQuery(".hideCampaign").hide();}}});});if(jQuery("input:radio[name=sms_order_setting]:checked").val()==0){jQuery(".hideOrder").hide();}else{jQuery(".hideOrder").show();}jQuery(".Sendin_Sms_Choice").click(function(){if(jQuery(this).val()==1){jQuery(".multiplechoice").hide();jQuery(".singlechoice").show();}else{jQuery(".multiplechoice").show();jQuery(".singlechoice").hide();}});if(jQuery("input:radio[name=Sendin_Sms_Choice]:checked").val()==0){jQuery(".multiplechoice").show();jQuery(".singlechoice").hide();}else{jQuery(".singlechoice").show();jQuery(".multiplechoice").hide();}jQuery(".sms_shiping_setting").click(function(){if(jQuery(this).val()==1){jQuery(".hideShiping").show();}else{jQuery(".hideShiping").hide();}});if(jQuery("input:radio[name=sms_credit]:checked").val()==0){jQuery(".hideCredit").hide();}else{jQuery(".hideCredit").show();}jQuery(".sms_credit").click(function(){var sms_credit=jQuery(this).val();var creditUrl=jQuery("#credits").val();var type="sms_credit";jQuery.ajax({type:"POST",async:false,url:creditUrl,data:"sms_credit="+sms_credit,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();if(sms_credit==1){jQuery(".hideCredit").show();}else{jQuery(".hideCredit").hide();}}});});if(jQuery("input:radio[name=sms_shiping_setting]:checked").val()==0){jQuery(".hideShiping").hide();}else{jQuery(".hideShiping").show();}jQuery(".sms_campaign_setting").click(function(){if(jQuery(this).val()==1){jQuery(".hideCampaign").show();}else{jQuery(".hideCampaign").hide();}});if(jQuery("input:radio[name=sms_campaign_setting]:checked").val()==0){jQuery(".hideCampaign").hide();}else{jQuery(".hideCampaign").show();}jQuery("#selectSmsList").multiselect({header:false,checkall:false});jQuery("#tabs li").click(function(){jQuery("#tabs li").removeClass("active");jQuery(this).addClass("active");jQuery(".tab_content").hide();var selected_tab=jQuery(this).find("a").attr("href");jQuery(selected_tab).fadeIn();return false;});function isInteger(val){var numberRegex=/^[+-]?\d+(\.\d+)?([eE][+-]?\d+)?$/;if(numberRegex.test(val)){return true;}return false;}jQuery("#showUserlist").click(function(){if(jQuery(".userDetails").is(":hidden")){loadData(1);jQuery("#Spantextless").show();jQuery("#Spantextmore").hide();}else{jQuery("#Spantextmore").show();jQuery("#Spantextless").hide();}jQuery(".userDetails").slideToggle();});var base_url=getBaseURL();jQuery(".Tracking").click(function(){var Tracking=jQuery(this).val();var trackingUrl=jQuery("#trackingUrl").val();jQuery.ajax({type:"POST",async:false,url:trackingUrl,data:"script="+Tracking,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();}});});jQuery(".smtpStatus").click(function(){var smtptest=jQuery(this).val();var smtpUrl=jQuery("#smtpUrl").val();if(smtptest==0){jQuery(".smtptest").hide();}if(smtptest==1){jQuery(".smtptest").show();}jQuery.ajax({type:"POST",async:false,url:smtpUrl,data:"smtptest="+smtptest,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();}});});var skin_url=jQuery("#skin_url").val();jQuery('<div id="ajax-busy"/> loading..').css({opacity:0.5,position:"fixed",top:0,left:0,width:"100%",height:jQuery(window).height()+"px",background:"white url("+skin_url+"adminhtml/default/default/sendinblue/images/loader.gif) no-repeat center"}).hide().appendTo("body");function getBaseURL(){var sBase=location.href.substr(0,location.href.lastIndexOf("/")+1);var sp=sBase.split("/");var lastFolder=sp[sp.length-2];return sBase.replace(lastFolder+"/","");}jQuery("body").on("click",".ajax_contacts_href",function(e){var email=jQuery(this).attr("email");var status=jQuery(this).attr("status");var ajaxUrl=jQuery("#ajaxUrl").val();jQuery.ajax({type:"POST",async:false,url:ajaxUrl,data:{email:email,newsletter:status},beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();}});var page_no=jQuery("#pagenumber").val();loadData(page_no);});});function testsmssend(sendererr,messageerr,mobileerr){var sender=jQuery("#sender_order").val();var message=jQuery("#sender_order_message").val();var number=jQuery("#sender_order_number").val();var ajaxOrderSmsUrl=jQuery("#ajaxOrderSmsUrl").val();var smsCampError=jQuery("#smsCampError").val();var smsCampSuccess=jQuery("#smsCampSuccess").val();if(sender==""||isValid(sender)==false){alert(sendererr);}else{if(message==""){alert(messageerr);}else{if(number==""){alert(mobileerr);}else{jQuery.ajax({type:"POST",async:false,url:ajaxOrderSmsUrl,data:"sender="+sender+"&message="+message+"&number="+number,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();if(msg.trim()=="OK"){alert(smsCampSuccess);}else{alert(smsCampError);}}});}}}return false;}function testShippedSmsSend(sendererr,messageerr,mobileerr){var sender=jQuery("#sender_shipment").val();var message=jQuery("#sender_shipment_message").val();var number=jQuery("#sender_shipment_number").val();var ajaxOrderShippedUrl=jQuery("#ajaxOrderShippedUrl").val();var smsCampError=jQuery("#smsCampError").val();var smsCampSuccess=jQuery("#smsCampSuccess").val();if(sender==""||isValid(sender)==false){alert(sendererr);}else{if(message==""){alert(messageerr);}else{if(number==""){alert(mobileerr);}else{jQuery.ajax({type:"POST",async:false,url:ajaxOrderShippedUrl,data:"sender="+sender+"&message="+message+"&number="+number,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();if(msg.trim()=="OK"){alert(smsCampSuccess);}else{alert(smsCampError);}}});}}}return false;}function testCampaignSmsSend(sendererr,messageerr,mobileerr){var sender=jQuery("#sender_campaign").val();var message=jQuery("#sender_campaign_message").val();var number=jQuery("#sender_campaigntest_number").val();var ajaxSmsCampaignUrl=jQuery("#ajaxSmsCampaignUrl").val();var smsCampError=jQuery("#smsCampError").val();var smsCampSuccess=jQuery("#smsCampSuccess").val();if(sender==""||isValid(sender)==false){alert(sendererr);}else{if(message==""){alert(messageerr);}else{if(number==""||isMobilevalidation(number)==false){alert(mobileerr);}else{jQuery.ajax({type:"POST",async:false,url:ajaxSmsCampaignUrl,data:"sender="+sender+"&message="+message+"&number="+number,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();if(msg.trim()=="OK"){alert(smsCampSuccess);}else{alert(smsCampError);}}});}}}return false;}function senderOrderSaveValid(sendererr,messageerr){var sender=jQuery("#sender_order").val();var message=jQuery("#sender_order_message").val();if(sender==""||isValid(sender)==false){alert(sendererr);return false;}else{if(message==""){alert(messageerr);return false;}}}function senderShipmentSaveValid(sendererr,messageerr){var sender=jQuery("#sender_shipment").val();var message=jQuery("#sender_shipment_message").val();if(sender==""||isValid(sender)==false){alert(sendererr);return false;}else{if(message==""){alert(messageerr);return false;}}}function senderCampaignSaveValid(sendererr,messageerr,mobileerr){var sender=jQuery("#sender_campaign").val();var message=jQuery("#sender_campaign_message").val();var number=jQuery("#singlechoice").val();var radiovalue=jQuery("input[name=Sendin_Sms_Choice]:checked").val();if(radiovalue==1){if(number==""||isMobilevalidation(number)==false){alert(mobileerr);return false;}else{if(sender==""||isValid(sender)==false){alert(sendererr);return false;}else{if(message==""){alert(messageerr);return false;}}}}else{if(sender==""||isValid(sender)==false){alert(sendererr);return false;}else{if(message==""){alert(messageerr);return false;}}}}function isMobilevalidation(str){return/^(?:\+|00)[1-9][0-9]{5,15}$/.test(str);}function isNormalInteger(str){return/^\+?(0|[1-9]\d*)$/.test(str);}function isValid(str){var iChars="~`!#$%^&*+=-[]\\';,/{}|\":<>?";for(var i=0;i<str.length;i++){if(iChars.indexOf(str.charAt(i))!=-1){return false;}}return true;}function RegexEmail(email){var emailRegexStr=/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;var isvalid=emailRegexStr.test(email);return isvalid;}function validate(emailerr,limiter){if(document.notify_sms_mail_form.sendin_notify_email.value==""||RegexEmail(document.notify_sms_mail_form.sendin_notify_email.value)==false){alert(emailerr);document.notify_sms_mail_form.sendin_notify_email.focus();return false;}if(document.notify_sms_mail_form.sendin_notify_value.value==""||isNormalInteger(document.notify_sms_mail_form.sendin_notify_value.value)==false){alert(limiter);document.notify_sms_mail_form.sendin_notify_value.focus();return false;}return(true);}function smtpvalidate(emailerr){var email=jQuery("#email").val();if(email==""||RegexEmail(email)==false){alert(emailerr);jQuery("#email").focus();return false;}}function apikvalidate(apierr){var sendin_apikey_val=jQuery("#sendin_apikey_val").val();if(sendin_apikey_val.trim()==""){alert(apierr);jQuery("#sendin_apikey_val").focus();return false;}}jQuery.noConflict();jQuery(document).ready(function(){var apistatuskey=jQuery("#apistatuskey").val();jQuery("#select").multiselect();jQuery(".sendin_api_status").click(function(){if(apistatuskey==1&&jQuery(this).val()==1){jQuery("#sendin_apikey").show();jQuery(".alldiv").show();jQuery(".hidetableblock").show();}else{if(jQuery(this).val()==1){jQuery("#sendin_apikey").show();}else{jQuery("#sendin_apikey").hide();jQuery(".alldiv").hide();}}});function loadData(page){var ajaxcontentUrl=jQuery("#ajaxcontentUrl").val();jQuery.ajax({type:"POST",async:false,url:ajaxcontentUrl,data:"page="+page,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();jQuery(".midleft").html(msg);jQuery(".midleft").ajaxComplete(function(event,request,settings){jQuery(".midleft").html(msg);});}});}jQuery(".hdtab").click(function(){if(parseInt(jQuery(this).val())){jQuery("#hidetabselect").css("display","block");}});jQuery("body").on("click"," .pagination li.active",function(){var page=jQuery(this).attr("p");jQuery("#pagenumber").val(page);loadData(page);});jQuery(".toolTip").hover(function(){var title=jQuery(this).attr("title");var offset=jQuery(this).offset();jQuery("body").append('<div id="tipkk" style="top:'+offset.top+"px; left:"+offset.left+'px; ">'+title+"</div>");var tipContentHeight=jQuery("#tipkk").height()+25;jQuery("#tipkk").css("top",(offset.top-tipContentHeight)+"px");},function(){jQuery("#tipkk").remove();});jQuery("#sender_order").mouseover(function(){var val=jQuery(this).val();if(isInteger(val)||val==""){jQuery("#sender_order").attr("maxlength","17");jQuery("#sender_order_text").text((17-val.length));}else{jQuery("#sender_order").attr("maxlength","11");var str7=val.length>11?val.substr(1,11):val;jQuery("#sender_order").val(str7);jQuery("#sender_order_text").text((11-val.length));}});jQuery("#sender_order").keyup(function(){var val=jQuery(this).val();if(isInteger(val)||val==""){jQuery("#sender_order").attr("maxlength","17");jQuery("#sender_order_text").text((17-val.length));}else{jQuery("#sender_order").attr("maxlength","11");var str7=val.length>11?val.substr(1,11):val;jQuery("#sender_order").val(str7);jQuery("#sender_order_text").text((11-val.length));}});jQuery("#sender_order").keydown(function(event){if(event.keyCode==32){event.preventDefault();}});if(jQuery("#sender_order").val()!=""){var val=jQuery("#sender_order").val();if(isInteger(val)){jQuery("#sender_order").attr("maxlength","17");jQuery("#sender_order_text").text((17-val.length));}else{jQuery("#sender_order").attr("maxlength","11");jQuery("#sender_order_text").text((11-val.length));}}jQuery("#sender_order_message").keyup(function(){var chars=this.value.length,messages=Math.ceil(chars/160),remaining=messages*160-(chars%(messages*160)||messages*160);if(remaining==0){remaining=160;}jQuery("#sender_order_message_text").text(remaining);jQuery("#sender_order_message_text_count").text(messages);});if(jQuery("#sender_order_message").val()!=""){var chars=jQuery("#sender_order_message").val().length,messages=Math.ceil(chars/160),remaining=messages*160-(chars%(messages*160)||messages*160);jQuery("#sender_order_message_text").text(remaining);jQuery("#sender_order_message_text_count").text(messages);}jQuery("#sender_shipment").mouseover(function(){var val=jQuery(this).val();if(isInteger(val)||val==""){jQuery("#sender_shipment").attr("maxlength","17");jQuery("#sender_shipment_text").text((17-val.length));}else{jQuery("#sender_shipment").attr("maxlength","11");var str7=val.length>11?val.substr(1,11):val;jQuery("#sender_shipment").val(str7);jQuery("#sender_shipment_text").text((11-val.length));}});jQuery("#sender_shipment").keyup(function(){var val=jQuery(this).val();if(isInteger(val)||val==""){jQuery("#sender_shipment").attr("maxlength","17");jQuery("#sender_shipment_text").text((17-val.length));}else{jQuery("#sender_shipment").attr("maxlength","11");var str7=val.length>11?val.substr(1,11):val;jQuery("#sender_shipment").val(str7);jQuery("#sender_shipment_text").text((11-val.length));}});jQuery("#sender_shipment").keydown(function(event){if(event.keyCode==32){event.preventDefault();}});if(jQuery("#sender_shipment").val()!=""){var val=jQuery("#sender_shipment").val();if(isInteger(val)){jQuery("#sender_shipment").attr("maxlength","17");jQuery("#sender_shipment_text").text((17-val.length));}else{jQuery("#sender_shipment").attr("maxlength","11");jQuery("#sender_shipment_text").text((11-val.length));}}jQuery("#sender_shipment_message").keyup(function(){var chars=this.value.length,messages=Math.ceil(chars/160),remaining=messages*160-(chars%(messages*160)||messages*160);if(remaining==0){remaining=160;}jQuery("#sender_shipment_message_text").text(remaining);jQuery("#sender_shipment_message_text_count").text(messages);});if(jQuery("#sender_shipment_message").val()!=""){var chars=jQuery("#sender_shipment_message").val().length,messages=Math.ceil(chars/160),remaining=messages*160-(chars%(messages*160)||messages*160);jQuery("#sender_shipment_message_text").text(remaining);jQuery("#sender_shipment_message_text_count").text(messages);}jQuery("#sender_campaign").mouseover(function(){var val=jQuery(this).val();if(isInteger(val)||val==""){jQuery("#sender_campaign").attr("maxlength","17");jQuery("#sender_campaign_text").text((17-val.length));}else{jQuery("#sender_campaign").attr("maxlength","11");var str7=val.length>11?val.substr(1,11):val;jQuery("#sender_campaign").val(str7);jQuery("#sender_campaign_text").text((11-val.length));}});jQuery("#sender_campaign").keyup(function(){var val=jQuery(this).val();if(isInteger(val)||val==""){jQuery("#sender_campaign").attr("maxlength","17");jQuery("#sender_campaign_text").text((17-val.length));}else{jQuery("#sender_campaign").attr("maxlength","11");var str7=val.length>11?val.substr(1,11):val;jQuery("#sender_campaign").val(str7);jQuery("#sender_campaign_text").text((11-val.length));}});jQuery("#sender_campaign").keydown(function(event){if(event.keyCode==32){event.preventDefault();}});if(jQuery("#sender_campaign").val()!=""){var val=jQuery("#sender_campaign").val();if(isInteger(val)){jQuery("#sender_campaign").attr("maxlength","17");jQuery("#sender_campaign_text").text((17-val.length));}else{jQuery("#sender_campaign").attr("maxlength","11");jQuery("#sender_campaign_text").text((11-val.length));}}jQuery("#sender_campaign_message").keyup(function(){var chars=this.value.length,messages=Math.ceil(chars/160),remaining=messages*160-(chars%(messages*160)||messages*160);if(remaining==0){remaining=160;}jQuery("#sender_campaign_message_text").text(remaining);jQuery("#sender_campaign_message_text_count").text(messages);});if(jQuery("#sender_campaign_message").val()!=""){var chars=jQuery("#sender_campaign_message").val().length,messages=Math.ceil(chars/160),remaining=messages*160-(chars%(messages*160)||messages*160);jQuery("#sender_campaign_message_text").text(remaining);jQuery("#sender_campaign_message_text_count").text(messages);}jQuery(".sms_order_setting").click(function(){var orderSetting=jQuery(this).val();var orderUrl=jQuery("#order").val();jQuery.ajax({type:"POST",async:false,url:orderUrl,data:"orderSetting="+orderSetting,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();if(orderSetting==1){jQuery(".hideOrder").show();}else{jQuery(".hideOrder").hide();}}});});jQuery(".sms_shiping_setting").click(function(){var shipingSetting=jQuery(this).val();var shipingUrl=jQuery("#shiping").val();jQuery.ajax({type:"POST",async:false,url:shipingUrl,data:"shipingSetting="+shipingSetting,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();if(shipingSetting==1){jQuery(".hideShiping").show();}else{jQuery(".hideShiping").hide();}}});});jQuery(".sms_campaign_setting").click(function(){var campaignSetting=jQuery(this).val();var campaignUrl=jQuery("#campaign").val();jQuery.ajax({type:"POST",async:false,url:campaignUrl,data:"campaignSetting="+campaignSetting,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();if(campaignSetting==1){jQuery(".hideCampaign").show();}else{jQuery(".hideCampaign").hide();}}});});if(jQuery("input:radio[name=sms_order_setting]:checked").val()==0){jQuery(".hideOrder").hide();}else{jQuery(".hideOrder").show();}jQuery(".Sendin_Sms_Choice").click(function(){if(jQuery(this).val()==1){jQuery(".multiplechoice").hide();jQuery(".singlechoice").show();}else{jQuery(".multiplechoice").show();jQuery(".singlechoice").hide();}});if(jQuery("input:radio[name=Sendin_Sms_Choice]:checked").val()==0){jQuery(".multiplechoice").show();jQuery(".singlechoice").hide();}else{jQuery(".singlechoice").show();jQuery(".multiplechoice").hide();}jQuery(".sms_shiping_setting").click(function(){if(jQuery(this).val()==1){jQuery(".hideShiping").show();}else{jQuery(".hideShiping").hide();}});if(jQuery("input:radio[name=sms_credit]:checked").val()==0){jQuery(".hideCredit").hide();}else{jQuery(".hideCredit").show();}jQuery(".sms_credit").click(function(){var sms_credit=jQuery(this).val();var creditUrl=jQuery("#credits").val();var type="sms_credit";jQuery.ajax({type:"POST",async:false,url:creditUrl,data:"sms_credit="+sms_credit,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();if(sms_credit==1){jQuery(".hideCredit").show();}else{jQuery(".hideCredit").hide();}}});});if(jQuery("input:radio[name=sms_shiping_setting]:checked").val()==0){jQuery(".hideShiping").hide();}else{jQuery(".hideShiping").show();}jQuery(".sms_campaign_setting").click(function(){if(jQuery(this).val()==1){jQuery(".hideCampaign").show();}else{jQuery(".hideCampaign").hide();}});if(jQuery("input:radio[name=sms_campaign_setting]:checked").val()==0){jQuery(".hideCampaign").hide();}else{jQuery(".hideCampaign").show();}jQuery("#selectSmsList").multiselect({header:false,checkall:false});jQuery("#tabs li").click(function(){jQuery("#tabs li").removeClass("active");jQuery(this).addClass("active");jQuery(".tab_content").hide();var selected_tab=jQuery(this).find("a").attr("href");jQuery(selected_tab).fadeIn();return false;});function isInteger(val){var numberRegex=/^[+-]?\d+(\.\d+)?([eE][+-]?\d+)?$/;if(numberRegex.test(val)){return true;}return false;}jQuery("#showUserlist").click(function(){if(jQuery(".userDetails").is(":hidden")){loadData(1);jQuery("#Spantextless").show();jQuery("#Spantextmore").hide();}else{jQuery("#Spantextmore").show();jQuery("#Spantextless").hide();}jQuery(".userDetails").slideToggle();});var base_url=getBaseURL();jQuery(".Tracking").click(function(){var Tracking=jQuery(this).val();var trackingUrl=jQuery("#trackingUrl").val();if(Tracking==0){jQuery(".ordertracking").hide();}if(Tracking==1){jQuery(".ordertracking").show();}jQuery.ajax({type:"POST",async:false,url:trackingUrl,data:"script="+Tracking,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();}});});jQuery(".Trackhistory").click(function(){var history_status=jQuery("#history_status").val();var ordertrackingUrl=jQuery("#importordertrackingUrl").val();jQuery.ajax({type:"POST",async:false,url:ordertrackingUrl,data:"history_status="+history_status,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();jQuery(".ordertracking").hide();alert(msg);}});});jQuery(".smtpStatus").click(function(){var smtptest=jQuery(this).val();var smtpUrl=jQuery("#smtpUrl").val();if(smtptest==0){jQuery(".smtptest").hide();}if(smtptest==1){jQuery(".smtptest").show();}jQuery.ajax({type:"POST",async:false,url:smtpUrl,data:"smtptest="+smtptest,beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();}});});var skin_url=jQuery("#skin_url").val();jQuery('<div id="ajax-busy"/> loading..').css({opacity:0.5,position:"fixed",top:0,left:0,width:"100%",height:jQuery(window).height()+"px",background:"white url("+skin_url+"adminhtml/default/default/sendinblue/images/loader.gif) no-repeat center"}).hide().appendTo("body");function getBaseURL(){var sBase=location.href.substr(0,location.href.lastIndexOf("/")+1);var sp=sBase.split("/");var lastFolder=sp[sp.length-2];return sBase.replace(lastFolder+"/","");}jQuery("body").on("click",".ajax_contacts_href",function(e){var email=jQuery(this).attr("email");var status=jQuery(this).attr("status");var ajaxUrl=jQuery("#ajaxUrl").val();jQuery.ajax({type:"POST",async:false,url:ajaxUrl,data:{email:email,newsletter:status},beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();}});var page_no=jQuery("#pagenumber").val();loadData(page_no);});jQuery("body").on("click",".ajax_sms_subs_href",function(e){var email=jQuery(this).attr("email");var status=jQuery(this).attr("status");var ajaxSmsUrl=jQuery("#ajaxSmsSubscribeUrl").val();jQuery.ajax({type:"POST",async:false,url:ajaxSmsUrl,data:{email:email,sms:status},beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();}});var page_no=jQuery("#pagenumber").val();loadData(page_no);});});function testsmssend(sendererr,messageerr,mobileerr){var sender=jQuery("#sender_order").val();var message=jQuery("#sender_order_message").val();var number=jQuery("#sender_order_number").val();var ajaxOrderSmsUrl=jQuery("#ajaxOrderSmsUrl").val();var smsCampError=jQuery("#smsCampError").val();var smsCampSuccess=jQuery("#smsCampSuccess").val();if(sender==""||isValid(sender)==false){alert(sendererr);}else{if(message==""){alert(messageerr);}else{if(number==""){alert(mobileerr);}else{jQuery.ajax({type:"POST",async:false,url:ajaxOrderSmsUrl,data:{sender:sender,message:message,number:number},beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();if(msg.trim()=="OK"){alert(smsCampSuccess);}else{alert(smsCampError);}}});}}}return false;}function testShippedSmsSend(sendererr,messageerr,mobileerr){var sender=jQuery("#sender_shipment").val();var message=jQuery("#sender_shipment_message").val();var number=jQuery("#sender_shipment_number").val();var ajaxOrderShippedUrl=jQuery("#ajaxOrderShippedUrl").val();var smsCampError=jQuery("#smsCampError").val();var smsCampSuccess=jQuery("#smsCampSuccess").val();if(sender==""||isValid(sender)==false){alert(sendererr);}else{if(message==""){alert(messageerr);}else{if(number==""){alert(mobileerr);}else{jQuery.ajax({type:"POST",async:false,url:ajaxOrderShippedUrl,data:{sender:sender,message:message,number:number},beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();if(msg.trim()=="OK"){alert(smsCampSuccess);}else{alert(smsCampError);}}});}}}return false;}function testCampaignSmsSend(sendererr,messageerr,mobileerr){var sender=jQuery("#sender_campaign").val();var message=jQuery("#sender_campaign_message").val();var number=jQuery("#sender_campaigntest_number").val();var ajaxSmsCampaignUrl=jQuery("#ajaxSmsCampaignUrl").val();var smsCampError=jQuery("#smsCampError").val();var smsCampSuccess=jQuery("#smsCampSuccess").val();if(sender==""||isValid(sender)==false){alert(sendererr);}else{if(message==""){alert(messageerr);}else{if(number==""||isMobilevalidation(number)==false){alert(mobileerr);}else{jQuery.ajax({type:"POST",async:false,url:ajaxSmsCampaignUrl,data:{sender:sender,message:message,number:number},beforeSend:function(){jQuery("#ajax-busy").show();},success:function(msg){jQuery("#ajax-busy").hide();if(msg.trim()=="OK"){alert(smsCampSuccess);}else{alert(smsCampError);}}});}}}return false;}function senderOrderSaveValid(sendererr,messageerr){var sender=jQuery("#sender_order").val();var message=jQuery("#sender_order_message").val();if(sender==""||isValid(sender)==false){alert(sendererr);return false;}else{if(message==""){alert(messageerr);return false;}}}function senderShipmentSaveValid(sendererr,messageerr){var sender=jQuery("#sender_shipment").val();var message=jQuery("#sender_shipment_message").val();if(sender==""||isValid(sender)==false){alert(sendererr);return false;}else{if(message==""){alert(messageerr);return false;}}}function senderCampaignSaveValid(sendererr,messageerr,mobileerr){var sender=jQuery("#sender_campaign").val();var message=jQuery("#sender_campaign_message").val();var number=jQuery("#singlechoice").val();var radiovalue=jQuery("input[name=Sendin_Sms_Choice]:checked").val();if(radiovalue==1){if(number==""||isMobilevalidation(number)==false){alert(mobileerr);return false;}else{if(sender==""||isValid(sender)==false){alert(sendererr);return false;}else{if(message==""){alert(messageerr);return false;}}}}else{if(sender==""||isValid(sender)==false){alert(sendererr);return false;}else{if(message==""){alert(messageerr);return false;}}}}function isMobilevalidation(str){return/^(?:\+|00)[1-9][0-9]{5,15}$/.test(str);}function isNormalInteger(str){return/^\+?(0|[1-9]\d*)$/.test(str);}function isValid(str){var iChars="~`!#$%^&*+=-[]\\';,/{}|\":<>?";for(var i=0;i<str.length;i++){if(iChars.indexOf(str.charAt(i))!=-1){return false;}}return true;}function RegexEmail(email){var emailRegexStr=/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;var isvalid=emailRegexStr.test(email);return isvalid;}function validate(emailerr,limiter){if(document.notify_sms_mail_form.sendin_notify_email.value==""||RegexEmail(document.notify_sms_mail_form.sendin_notify_email.value)==false){alert(emailerr);document.notify_sms_mail_form.sendin_notify_email.focus();return false;}if(document.notify_sms_mail_form.sendin_notify_value.value==""||isNormalInteger(document.notify_sms_mail_form.sendin_notify_value.value)==false){alert(limiter);document.notify_sms_mail_form.sendin_notify_value.focus();return false;}return(true);}function smtpvalidate(emailerr){var email=jQuery("#email").val();if(email==""||RegexEmail(email)==false){alert(emailerr);jQuery("#email").focus();return false;}}function apikvalidate(apierr){var sendin_apikey_val=jQuery("#sendin_apikey_val").val();var sendin_api_check=jQuery("input[name=sendin_api_status]:checked").val();if(sendin_apikey_val.trim()==""&&sendin_api_check!=0){alert(apierr);jQuery("#sendin_apikey_val").focus();return false;}}