Changeset 2386956
- Timestamp:
- 09/23/2020 09:32:14 AM (5 years ago)
- Location:
- smsfly
- Files:
-
- 4 added
- 6 edited
-
assets/banner-772x250.png (added)
-
assets/icon-128x128.png (added)
-
assets/icon-256x256.png (added)
-
trunk/includes/functions.php (modified) (6 diffs)
-
trunk/includes/settings.php (modified) (3 diffs)
-
trunk/includes/smsfly-cf7-settings.php (added)
-
trunk/includes/smsfly-wc-settings.php (modified) (1 diff)
-
trunk/includes/smsflyc.php (modified) (5 diffs)
-
trunk/readme.txt (modified) (1 diff)
-
trunk/smsfly.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
smsfly/trunk/includes/functions.php
r1617853 r2386956 1 1 <?php 2 //Contact form 7 3 if ( get_option('SMSFLY_cf7_onsubmit') == '1') { 4 function sendtest($contactform, $result) { 5 $to = get_option('SMSFLY_cf7_phone'); 6 $search = array('{time}', '{name}', '{email}', '{subject}'); 7 $replace = array(date('Y-m-d H:i:s',time()),wpcf7_flamingo_get_value('name',$contactform),wpcf7_flamingo_get_value('email',$contactform),wpcf7_flamingo_get_value('subject',$contactform)); 8 $msg = str_replace($search,$replace,get_option('SMSFLY_cf7_onsubmit_msg')); 9 $from = get_option('SMSFLY_name_cf7_send'); 10 $SF = new SmsFlyC(get_option('SMSFLY_LOGIN'), get_option('SMSFLY_PASSWORD'), $from); 11 $setting = array( 12 'SMSFLY_PHONE' => $to, 13 'SMSFLY_TEXT' => $msg 14 ); 15 $SF->sfSendSms($setting); 16 } 17 add_action( 'wpcf7_submit', 'sendtest', 10, 2 ); 18 } 2 19 3 20 // оповещение когда опубликован пост. … … 154 171 //оповещение для администратора о новом заказе 155 172 if ( get_option( 'SMSFLY_wc_admin_new_order' ) == '1' ) { 156 function smsfly_new_order($order_id, $old_status , $new_status) {173 function smsfly_new_order($order_id, $old_status = '', $new_status = '') { 157 174 $order = new WC_Order($order_id); 158 175 $search = array('{NUM}', '{SUM}', '{EMAIL}', '{PHONE}', '{FIRSTNAME}', '{LASTNAME}', '{CITY}', '{ADDRESS}', '{BLOGNAME}', '{OLD_STATUS}', '{NEW_STATUS}'); … … 174 191 //оповещение для клиента о новом заказе 175 192 if ( get_option( 'SMSFLY_wc_client_new_order' ) == '1' ) { 176 function smsfly_new_order_client($order_id, $old_status , $new_status) {193 function smsfly_new_order_client($order_id, $old_status = '', $new_status = '') { 177 194 $order = new WC_Order($order_id); 178 195 $search = array('{NUM}', '{SUM}', '{EMAIL}', '{PHONE}', '{FIRSTNAME}', '{LASTNAME}', '{CITY}', '{ADDRESS}', '{BLOGNAME}', '{OLD_STATUS}', '{NEW_STATUS}'); … … 194 211 //оповещение для адмна о смене статуса заказа 195 212 if ( get_option( 'SMSFLY_wc_admin_order_status' ) == '1' ) { 196 function change_status_admin($order_id, $old_status, $new_status) { 197 $order = new WC_Order($order_id); 213 function change_status_admin($order_id, $old_status, $new_status, $that) { 214 $order = new WC_Order($order_id); 215 //Статус по умолчанию не обрабатываем 216 if ($order->status === 'processing') { 217 return true; 218 } 219 $search = array('{NUM}', '{SUM}', '{EMAIL}', '{PHONE}', '{FIRSTNAME}', '{LASTNAME}', '{CITY}', '{ADDRESS}', '{BLOGNAME}', '{OLD_STATUS}', '{NEW_STATUS}'); 220 $replace = array('№'.$order_id, html_entity_decode(strip_tags($order->get_formatted_order_total())), $order->billing_email, $order->billing_phone, $order->billing_first_name, $order->billing_last_name, 221 $order->shipping_city, $order->shipping_address_1.' '.$order->shipping_address_2, get_option('blogname'), wc_get_order_status_name($old_status), wc_get_order_status_name($new_status)); 222 $sendphone = get_option('SMSFLY_wc_phone'); 223 $from = get_option('SMSFLY_name_wc_send'); 224 $msg = str_replace($search, $replace, get_option('SMSFLY_wc_admin_order_status_msg')); 225 $SF = new SmsFlyC(get_option('SMSFLY_LOGIN'), get_option('SMSFLY_PASSWORD'), $from ); 226 $setting = array( 227 'SMSFLY_PHONE' => $sendphone, 228 'SMSFLY_TEXT' => $msg 229 ); 230 $SF->sfSendSms($setting); 231 } 232 add_action('woocommerce_order_status_changed', 'change_status_admin', 10, 4); 233 } 234 235 //оповещение для клиента о смене статуса заказа 236 if ( get_option( 'SMSFLY_wc_client_order_status' ) == '1' ) { 237 function change_status_client($order_id, $old_status, $new_status, $that) { 238 $order = new WC_Order($order_id); 239 //Статус по умолчанию не обрабатываем 240 if ($order->status === 'processing') { 241 return true; 242 } 198 243 $search = array('{NUM}', '{SUM}', '{EMAIL}', '{PHONE}', '{FIRSTNAME}', '{LASTNAME}', '{CITY}', '{ADDRESS}', '{BLOGNAME}', '{OLD_STATUS}', '{NEW_STATUS}'); 199 244 $replace = array('№'.$order_id, html_entity_decode(strip_tags($order->get_formatted_order_total())), $order->billing_email, $order->billing_phone, $order->billing_first_name, $order->billing_last_name, … … 201 246 //$sendphone = get_option('SMSFLY_wc_phone'); 202 247 $from = get_option('SMSFLY_name_wc_send'); 203 $msg = str_replace($search, $replace, get_option('SMSFLY_wc_ admin_order_status_msg'));248 $msg = str_replace($search, $replace, get_option('SMSFLY_wc_client_order_status_msg')); 204 249 $SF = new SmsFlyC(get_option('SMSFLY_LOGIN'), get_option('SMSFLY_PASSWORD'), $from ); 205 250 $setting = array( … … 209 254 $SF->sfSendSms($setting); 210 255 } 211 add_action('woocommerce_order_status_changed', 'change_status_admin', 1, 3); 212 } 213 214 //оповещение для клиента о смене статуса заказа 215 if ( get_option( 'SMSFLY_wc_client_order_status' ) == '1' ) { 216 function change_status_client($order_id, $old_status, $new_status) { 217 $order = new WC_Order($order_id); 218 $search = array('{NUM}', '{SUM}', '{EMAIL}', '{PHONE}', '{FIRSTNAME}', '{LASTNAME}', '{CITY}', '{ADDRESS}', '{BLOGNAME}', '{OLD_STATUS}', '{NEW_STATUS}'); 219 $replace = array('№'.$order_id, html_entity_decode(strip_tags($order->get_formatted_order_total())), $order->billing_email, $order->billing_phone, $order->billing_first_name, $order->billing_last_name, 220 $order->shipping_city, $order->shipping_address_1.' '.$order->shipping_address_2, get_option('blogname'), wc_get_order_status_name($old_status), wc_get_order_status_name($new_status)); 221 //$sendphone = get_option('SMSFLY_wc_phone'); 222 $from = get_option('SMSFLY_name_wc_send'); 223 $msg = str_replace($search, $replace, get_option('SMSFLY_wc_client_order_status_msg')); 224 $SF = new SmsFlyC(get_option('SMSFLY_LOGIN'), get_option('SMSFLY_PASSWORD'), $from ); 225 $setting = array( 226 'SMSFLY_PHONE' => $order->billing_phone, 227 'SMSFLY_TEXT' => $msg 228 ); 229 $SF->sfSendSms($setting); 230 } 231 add_action('woocommerce_order_status_changed', 'change_status_client', 1, 3); 232 } 256 add_action('woocommerce_order_status_changed', 'change_status_client', 10, 4); 257 } -
smsfly/trunk/includes/settings.php
r1617853 r2386956 8 8 add_submenu_page('SMSFly_settings', 'SMS-Fly оповещения', 'Настройка оповещений', 'manage_options', 'SMSFly_notify', 'smsfly_site_options_page_show'); 9 9 add_submenu_page('SMSFly_settings', 'SMS-Fly и Woocommerce', 'SMS-Fly и Woocommerce', 'manage_options', 'SMSFly_woo', 'smsfly_checkwc'); 10 add_submenu_page('SMSFly_settings', 'SMS-Fly и Contact Form 7', 'SMS-Fly и Contact Form 7', 'manage_options', 'SMSFly_cf7', 'smsfly_checkcf7'); 10 11 add_submenu_page('SMSFly_settings', 'SMS-Fly тестовое сообщение', 'Тестовое сообщение', 'manage_options', 'SMSFly_test', 'smsfly_test_show'); 11 12 … … 14 15 add_action( 'admin_init', 'smsfly_site_options_action' ); 15 16 add_action( 'admin_init', 'smsfly_woo_options_action' ); 17 add_action( 'admin_init', 'smsfly_cf7_options_action' ); 16 18 } 17 19 … … 125 127 require_once( 'smsfly-wc-settings.php' ); 126 128 } 129 130 function smsfly_cf7_options_action() { 131 $wc_settings_wc_options = array( 132 'SMSFLY_cf7_onsubmit', 133 'SMSFLY_cf7_onsubmit_msg', 134 'SMSFLY_cf7_phone', 135 'SMSFLY_name_cf7_send' 136 ); 137 138 foreach ($wc_settings_wc_options as $value) { 139 register_setting( 'smsfly_cf7_options_page_group', $value ); 140 } 141 142 require_once( 'smsfly-cf7-settings.php' ); 143 } -
smsfly/trunk/includes/smsfly-wc-settings.php
r1617853 r2386956 33 33 <th scope="row"><label for="SMSFLY_wc_phone">Телефон администратора </label></th> 34 34 <td> 35 <input name="SMSFLY_wc_phone" type="text" id="SMSFLY_wc_phone" value="<?php echo get_option('SMSFLY_wc_phone'); ?>" placeholder=" 79999999999" class="regular-text">35 <input name="SMSFLY_wc_phone" type="text" id="SMSFLY_wc_phone" value="<?php echo get_option('SMSFLY_wc_phone'); ?>" placeholder="380XXXYYYYYYY" class="regular-text"> 36 36 </td> 37 37 <td><p class="description"> Номер телефона того кто будет получать оповещения о событиях на сайте, обычно телефон администратора.</p> </td> -
smsfly/trunk/includes/smsflyc.php
r1617853 r2386956 11 11 $this->password = $password; 12 12 if ($source == "") { 13 $this->source = "InfoCentr";13 $this->source = "InfoCentr"; 14 14 } else { 15 $this->source = htmlspecialchars($source);15 $this->source = htmlspecialchars($source); 16 16 } 17 17 18 }19 20 public function sfDebug($var,$exit = true)21 {22 echo "<pre>";23 var_dump($var);24 if ($exit) {25 exit();26 }27 18 } 28 19 … … 37 28 $lifetime = 4; 38 29 $description = ''; 39 $version = 'wordpress 1. 0.0';30 $version = 'wordpress 1.1'; 40 31 $textQuery = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"; 41 32 $textQuery .= "<request>"; … … 47 38 $textQuery .= "</request>"; 48 39 49 $obj = $this->sfQuery($textQuery);40 $obj = $this->sfQuery($textQuery); 50 41 51 if ($debugmode) { 52 $this->sfDebug($obj); 53 } 54 55 $text = $this->sfParser($obj,'code'); 56 return $text; 42 if ($obj) { 43 return $this->sfParser($obj,'code'); 44 } else { 45 return false; 46 } 57 47 } 58 48 … … 65 55 66 56 $obj = $this->sfQuery($textQuery); 67 return $this->sfParser($obj,'balance'); 57 58 if ($obj) { 59 return $this->sfParser($obj,'balance'); 60 } else { 61 return false; 62 } 68 63 } 69 64 … … 82 77 curl_close($ch); 83 78 84 if (isset($result)) {85 return $result;86 }87 return false;79 if (isset($result)) { 80 return $result; 81 } 82 return false; 88 83 } 89 84 90 private function sfParser ($obj, $child, $attribut=null) 91 { 92 $text = ''; 93 if ($obj == 'EMPTY REQUEST' || $obj == false) { 94 $text = 'Не удалось авторизироваться на сервисе!'; 95 } elseif ($obj == 'Access denied!') { 96 $text = 'Не правильный логин или пароль!'; 97 } else { 98 $xml = new SimpleXMLElement($obj); 99 100 if ($child == 'balance') { 101 $text = "У Вас на счету ".(string)$xml->balance. " грн. "; 102 } elseif ($child == 'code') { 103 $code = (string)$xml->state['code']; 104 switch ($code) { 105 case 'ERRPHONES': $text = "Неправильный номер получателя!"; break; 106 case 'ACCEPT': $text = "Сообщение отправлено."; break; 107 case 'ERRTEXT': $text = "Текст сообщения не может быть пустым."; break; 108 } 109 } 85 private function sfParser ($obj, $child, $attribut=null) { 86 if ($obj === 'Access denied! Incorrect login or password.') { 87 return "Неверные учетные данные!"; 110 88 } 111 89 112 if ((string)$text !== '') { 113 return (string)$text; 90 try { 91 $xml = new SimpleXMLElement($obj); 92 93 if ($child === 'balance') { 94 return "У Вас на счету ".(string)$xml->balance. " грн. "; 95 } 96 97 if ($child === 'code') { 98 $code = (string)$xml->state['code']; 99 switch ($code) { 100 case 'ERRPHONES': $text = "Неправильный номер получателя!"; break; 101 case 'ACCEPT': $text = "Сообщение отправлено."; break; 102 case 'ERRTEXT': $text = "Текст сообщения не может быть пустым."; break; 103 default: error_log($obj); return false; 104 } 105 106 return $text; 107 } 108 } catch (Exception $e) { 109 error_log($obj); 110 return false; 114 111 } 115 $this->sfDebug($obj);116 return false;117 112 } 118 113 } -
smsfly/trunk/readme.txt
r1617856 r2386956 32 32 * Уведомление о смене статуса заказа на телефон клиента. 33 33 34 Уведомления о событиях для Contact Form 7. 35 34 36 == Installation == 35 37 -
smsfly/trunk/smsfly.php
r1617853 r2386956 44 44 45 45 function smsfly_deactivate() { 46 46 // delete_option('SMSFLY_login'); 47 // delete_option('SMSFLY_pass'); 47 48 } 48 49
Note: See TracChangeset
for help on using the changeset viewer.