Просмотр файла wapt/SMS/send.php

Размер файла: 4.83Kb
<?
/**
* Скрипту при помощи метода пост необходимо передать следующие параметры
* set - этап отсылки СМС
* translit = 1 если посылаем текст в юникоде (без транслита)
* sms_from - от КОГО
* sms_to   - КОМУ
* sms_text - Текст СМСки
* scode - секретный код
**/
//Подключаем файл конфигурации
include("config.php");
//---------------------------------------------------------------
//НЕ ИЗМЕНЯТЬ
$gate_url="http://send.sms-me.ru/sms_gate.php";//URL гейта sms-me.ru
$feed_back="";//Данные отдаваемые пользователю
//События
switch ($set){
	case "sms_submit":
		//Диалог подтверждения данных на отсылку
		//Формируем посылку
		$send_url=$gate_url ."?sms_set=send_sms_validator&gate_id=". $gate_id ."&transl=". intval($_POST['translit']). "&from=" .rawurlencode($_POST['sms_from']). "&to=" .rawurlencode($_POST['sms_to']). "&text=" .rawurlencode($_POST['sms_text']). "&code=" .$_POST['scode'];

		//Принимаем данные от гейта
		$result = '';
		$handler = @fopen ($send_url, 'r');
		if ($handler) {
			while ($line = @fgets($handler,1024)) {
				$result .= $line;
			}
			fclose ($handler);
		} else {
			die ("Ошибочка вышла");
		}

		//Обрабатываем приходящую посылку
		if (substr($result, 0, 7)=="<error>"){
			//В процессе выполнения возникла ошибка
			$feed_back=substr($result, 7);
		} else {
			//Стадартный феед без ошибок. Выдераем необходимые данные
			list($sms_from, $sms_to, $sms_text, $sms_number, $sms_translit, $sms_code) = explode("<sms_data ".$gate_id.">",$result);
			$feed_back = "<table><form method=\"POST\" action=\"\"><tr><td colspan=\"2\"></td></tr><tr><td width=\"60\">От Кого: </td><td>".$sms_from."</td></tr><tr><td width=\"60\">Кому: </td><td>".$sms_to."</td></tr><tr><td width=\"60\">Текст: </td><td>".$sms_text."</td></tr><tr><td width=\"60\">Символов: </td><td>".strlen($sms_text)." (".$sms_number." СМС)</td></tr><tr><td colspan=\"2\"><input name=\"set\" type=\"hidden\" value=\"sms_send\"><input name=\"sms_to\" type=\"hidden\" value=\"".$sms_to."\"><input name=\"sms_from\" type=\"hidden\" value=\"".$sms_from."\"><input name=\"sms_text\" type=\"hidden\" value=\"".$sms_text."\"><input name=\"translit\" type=\"hidden\" value=\"".intval($sms_translit)."\"><input name=\"scode\" type=\"hidden\" value=\"".$sms_code."\"><input type=\"submit\" value=\"Отправить\" name=\"submit\" /></td></tr>";
		}
		break;
	case "sms_send":
		//Отправить СМС
		//Формируем посылку
		$send_url=$gate_url ."?sms_set=send_mess&gate_id=". $gate_id ."&transl=". intval($_POST['translit']). "&from=" .rawurlencode($_POST['sms_from']). "&to=" .rawurlencode($_POST['sms_to']). "&text=" .rawurlencode($_POST['sms_text']). "&code=" .$_POST['scode'];

		//Принимаем данные от гейта
		$result = '';
		$handler = @fopen ($send_url, 'r');
		if ($handler) {
			while ($line = @fgets($handler,1024)) {
				$result .= $line;
			}
			fclose ($handler);
		} else {
			die ("Ошибочка вышла");
		}

		//Обрабатываем приходящую посылку
		if (substr($result, 0, 7)=="<error>"){
			//В процессе выполнения возникла ошибка
			$feed_back=substr($result, 7);
		} else {
			//Стадартный феед без ошибок. Выдераем необходимые данные
			$feed_back = "СМС упешно отправлена. Спасибо за ипользование нашего шлюза. Просмотреть статус сообщения можно <A HREF=\"?id=".$result."&set=validator\">здесь</A>";
		}
		break;
	case "validator":
		//проверка статуса СМС
		$feed_back="Проверяем статус СМС";
		$send_url=$gate_url ."?sms_set=mess_status&gate_id=". $gate_id ."&code=" .$_POST['scode'];

		//Принимаем данные от гейта
		$result = '';
		$handler = @fopen ($send_url, 'r');
		if ($handler) {
			while ($line = @fgets($handler,1024)) {
				$result .= $line;
			}
			fclose ($handler);
		} else {
			die ("Ошибочка вышла");
		}

		//Обрабатываем приходящую посылку
		if (substr($result, 0, 7)=="<error>"){
			//В процессе выполнения возникла ошибка
			$feed_back=substr($result, 7);
		} else {
			//Стадартный феед без ошибок. Выдераем необходимые данные
			switch ($result){
				case "ok":
					//СМСка доставлена
					$feed_back="СМС успешно доставлена. Спасибо за выбор Нашего сервиса!";
					break;
				case "wait":
					//Статус СМС ещё не получен. Он будет доступен через 10 секунд.
					$feed_back="Статус СМС ещё не получен. Он будет доступен через 10 секунд.";
					break;
				case "bad":
					//СМС не доставлена
					$feed_back="Ошибка доставки. Скорее всего не правильно указан номер, либо доставка на этот номер не возможна. Вы можете воспользоваться вашим СМС кодом ещё раз.";
					break;
				default:
					//Что-то иное
					$feed_back="Незнама что :)";
			}//end switch
		}
		break;
	default:
		//Нечто :)
		die ('test');
		break;
}//end switch by set
//---------------------------------------------------------------
//Выводим контент
include ($header_tpl);			//Шапка
echo $feed_back;				//Контент
include ($footer_tpl);			//Подвал
?>