Re: SMS posilani

From: Paco (paco@seznam.cz)
Date: 13. 06. 2002, 20:58 CEST


> potreboval bych nejakym zpusobem odesilat SMS z netu. ...
> ...
> ... Nevi nekdo? Jedna moznost me napada - formulare z oficialnich
> stranek operatoru jsou nacteny do mych skriptu a pak na brany odeslany?
> ... Nedelal to uz nekdo na svych strankach??? Nebo nevite jak nato?
> Potrebuji posilat na vsechny nase operatory.
> S pozdravem TEChN0l0GiC

> ... aha, ja jsem to v meilu nerekl, ja delam v PHP a potrebuju to
> v PHP, ne jako aplikaci...

Pozde, ale prece... Ja jsem po nejakem tom experimentovani dospel k nize
uvedenemu kodu, ktery funguje v pohode (zatim). Problemem u tohoto reseni
je, ze jakmile operator zasadneji zmeni konstrukci formu, muzes zacit
znovu pitvat kod a pak predelavat program.

Moje reseni je site na miru pouze na Paegas, protoze jine ops nepotrebuju,
ale v zasade je to vzdycky totez - rozpitvat ten form a z nej a podle nej
pak zpracovat potrebne paramtery. A pozor - myslim, ze Errortel nebo Oskar
(a mozna oba ? nezkoumal jsem to) pouzivaji POST, takze to bude cele trosku
jinak. A taky pozor na omezeni freq. odesilani u Paegasu.

Tady je ten kod, bez zaruky a bez dalsiho supportu z me strany pro zelenace
v PHP - nemam na podrobne vysvetlovani bohuzel cas, takze spise pro znale.
(Mailery to asi dost rozzvejkaji, tak bacha :))

/*
function callgate($host,$port,$path,$data,$ref){
	$fx=fsockopen($host,$port,$aaa,$bbb,15); //15 s. timeout
	if($fx){
		fputs($fx,"GET ".$path.$data." HTTP/1.0\n");
		fputs($fx,"Host: $host\n");
		fputs($fx,"Referer: $ref\n");
		fputs($fx,"Accept: */*\n");
		fputs($fx,"Accept-Language: en,cs\n");
		fputs($fx,"User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98;)\n");
		fputs($fx,"Connection: close\n\n");
		while(!feof($fx)){
			$x=fgets($fx,1000);
			$r.=$x;
		}
		fclose($fx);
		return $r;
	}
	else return false;
}
#
function sendsms($pref,$num,$text,$mail,$mtype){
	$gate=callgate("sms.paegas.cz",80,"/cgi-bin/sms/wwwsms","","http://sms.paegas.cz/cgi-bin/sms/wwwsms");
if($gate){
		preg_match("/name=key value=\"([^\"]*)\"/",$gate,$arr);
		$key=$arr[1];
		$text=urlencode($text);
	
$gate=callgate("sms.paegas.cz",80,"/cgi-bin/sms/wwwsms","?prefix=$pref&number=$num&email=$mail&mtype=$mtype&text=$text&submit=Odeslat&cntr1=777&cntr2=0&cntr3=1+z+5&key=$key","http://sms.paegas.cz/cgi-bin/sms/wwwsms");
if(preg_match("/Zpráva odeslána,/",$gate)) return true;
		elseif(preg_match("/<td align=\"center\"><font face=\"Arial, Helvetica, sans-serif\"
color=\"#000066\"><b>([^-]*)-/",$gate,$arr)){
			$err=$arr[1];
			if(ereg("</b>",$err)) return -1;
		}
		else return false;
	}
	else return -2;
}
# -------------------------
$prefix='0603'; //073
$cislo='123456'; //2123456
$text="SMS text";
# -------------------------
$sms=sendsms($prefix,$cislo,$text,"","1");
# params: prefix,cislo,text,mail(""|"1"),msgtype(1-norm 2-disp)
# -------------------------
# if($sms===true) //all ok
# elseif($sms==-1) //missing text
# elseif($sms==-2) //reading failed
# else //sending failed
*/

pako Paco. 


______________________________________________________________________
Reklama:
Jake bude pocasi? http://pocasi.seznam.cz



This archive was generated by hypermail 2.1.2 : 13. 06. 2002, 20:59 CEST