sms megafon php

<?php /* if you want to enable sms sending, then add require($_SERVER['DOCUMENT_ROOT'].'/bitrix/php_interface/include/h7/sms.php'); and use the function h7sms($phone, $message) by Ivlev */ function h7sms($phone, $message) { $send_message = false; $maximum_limit = 10; $maximum_length_message = 70; $maximum_size_log = 1048576; // Data Conversion $phone = strval($phone); $phone = preg_replace("/[+\-\s()]/", '', $phone); $phone = preg_replace("/^8/", '7', $phone); if (strlen($phone) !== 11) return false; $phone = (int) $phone; $message = htmlspecialchars(trim($message)); if (strlen($message) > $maximum_length_message) $message = mb_strimwidth($message, 0, $maximum_length_message); $ip = $_SERVER['REMOTE_ADDR']; $date_log = date("d.m.Y H:i.s"); // Check limit foreach ([ $_SERVER['DOCUMENT_ROOT']."/upload/sms_limit2/$phone.txt", $_SERVER['DOCUMENT_ROOT']."/upload/sms_limit2/$ip.txt" ] as $i => $url) { $limit = 1; if (file_exists($url)) $limit += (int) file_get_contents($url); if ($limit > $maximum_limit) return false; $file = fopen($url, "w"); fwrite($file, $limit); fclose($file); } // Sending request if ($send_message) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://a2p-api.megalabs.ru/sms/v1/sms'); curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); curl_setopt($curl,CURLOPT_USERPWD, 'LOGIN1:PASSWORD1'); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode(array( 'from' => 'LOGIN2', 'to' => (int) $phone, 'message' => $message, ))); if (curl_errno($curl) !== 0) return false; $result = curl_exec($curl); curl_close($curl); } else { $result = 'disabled send message'; } // Add log $log_text = "\n@|$date_log|$ip|$phone|$message|$result"; // \n@| $url = $_SERVER['DOCUMENT_ROOT'].'/upload/sms_log_full/log.php'; if (file_exists($url)) { if (filesize($url) > $maximum_size_log) { rename($url, $_SERVER['DOCUMENT_ROOT'].'/upload/sms_log_full/log_'.date("Ymd_His").'.php'); $log_text = "<?php return; ?>$log_text"; } } else { $log_text = "<?php return; ?>$log_text"; } $file = fopen($url, "a"); fwrite($file, $log_text); fclose($file); return true; }