Pozwole sobie dac tu maly przykladzik prostej klasy do wysylania smsow na bramke plusa (bez implementacji proxy - ominiecia banu IP):
plus.class.php
Kod
<?php
// sms_plus class v1.0.3
// Copyright(C)2002 by Seth
class sms_plus{
var $from = '';
var $to = '';
var $msg = '';
var $inner_vars = array();
function sms_plus( $from="", $to=0, $msg="" ){
$this->from = $from;
$this->to = $to;
$this->msg = $msg;
$this->inner_vars = array();
$this->inner_vars['host'] = 'www.text.plusgsm.pl';
}
// Zwraca:
// 1 - dla wyslanej wiadomosci
// 2 - dla przekrczenia limitu bramki
// -1 - dla innych rezultatow
function get_info( &$text ){
if( strpos($text, 'została wysłana') != 0 ) return 1;
if( strpos($text, 'przekroczenia limitów bramki') != 0 ) return 2;
return -1;
}
// Wysyla wiaodmosc
function send(){
$data = 'tprefix='.substr( $this->to, 0, 3 ).'&numer='.substr( $this->to, 3 ).'&odkogo='.$this->from.'&dzien='.date('Y-m-d').'&godz='.date('H').'&min='.date('i').'&tekst='.$this->msg;
$fp = fsockopen( $this->inner_vars['host'], 80 );
fputs( $fp, "POST /sms/sendsms.php HTTP/1.1rn" );
fputs( $fp, "Host: ".$this->inner_vars["host"]."rn" );
fputs( $fp, 'Referer: http://'.$this->inner_vars['host']."rn" );
fputs( $fp, 'Content-length: '.strlen($data)."rn" );
fputs( $fp, "Content-type: application/x-www-form-urlencodedrn");
fputs( $fp, "Connection: closernrn" );
fputs( $fp, $data );
$buf = "";
while ( !feof( $fp ) )
$buf .= fgets( $fp, 128 );
fclose($fp);
return $this->get_info( $buf );
}
}
?>
Tutaj natomiast jet kod, ktory korzysta z owej klasy:
Kod
<?php
$prefix['plus'] = array( 601, 603, 605, 607, 609, 691, 693, 695 );
if( in_array( substr($_POST[to],3), $prefix['plus'] ) ){
require_once( 'plus.class.php' );
$sms = new sms_plus();
$sms->to = $_POST["to"]; // nr kom osoby do ktorej wysylamy przek. z form.
$sms->msg = $_POST["msg"];// wiadomosc przekazana ze strony z formularzem
$sms->from = $_POST["from"]; // podpis od kogo jest wiadomosc
switch( $sms->send() ){
case 1:
echo 'Wyslano smsa';
break;
case 2:
echo 'Przekroczono limit wysylnia';
break;
default:
echo 'blad bramki sms';
break;
}
}else{
echo 'zly prefix';
}