📁 PHP Dosya Yöneticisi
/
/
home
/
demodesigncom
/
e-ticaretv4.demodesign.com.tr
/
wpanel
/
System
/
Class
/
moduls
/
sms
📝
netgsmsms.php
← Geri Dön
<?php class Netgsmsms { private $usercode; private $password; private $baslik; public function __construct($usercode,$password,$baslik='') { $this->usercode = $usercode; $this->password = $password; $this->baslik = $baslik; } public function bulkSMScustom($mesaj, $baslik) { $PostAdress = 'https://api.netgsm.com.tr/sms/send/xml'; $xml='<?xml version="1.0" encoding="UTF-8"?> <mainbody> <header> <company opcrd="1">Netgsm</company> <usercode>'.$this->usercode.'</usercode> <password>'.$this->password.'</password> <startdate></startdate> <stopdate></stopdate> <type>n:n</type> <msgheader>'.$baslik.'</msgheader> </header> <body> '.$mesaj.'</body> </mainbody>'; return $this->XMLPOST($PostAdress,$xml); } public function privateSMS($telefon, $mesaj, $baslik) { $PostAdress = 'https://api.netgsm.com.tr/sms/send/xml'; $xml='<?xml version="1.0" encoding="UTF-8"?> <mainbody> <header> <company opcrd="1">Netgsm</company> <usercode>'.$this->usercode.'</usercode> <password>'.$this->password.'</password> <startdate></startdate> <stopdate></stopdate> <type>1:n</type> <msgheader>'.$baslik.'</msgheader> </header> <body> <msg><![CDATA['.$mesaj.']]></msg> <no>'.$telefon.'</no> </body> </mainbody>'; return $this->XMLPOST($PostAdress,$xml); } public function sendSMS($telefon,$mesaj){ $tel = []; $bol = explode(',',$telefon); foreach ($bol as $b){ if($b!=''){ $tel[] = $b; } } $PostAdress = 'https://api.netgsm.com.tr/sms/send/xml'; $xml='<?xml version="1.0" encoding="UTF-8"?> <mainbody> <header> <company opcrd="1">NETGSM</company> <usercode>'.$this->usercode.'</usercode> <password>'.$this->password.'</password> <startdate></startdate> <stopdate></stopdate> <type>1:n</type> <msgheader>'.$this->baslik.'</msgheader> </header> <body> <msg><![CDATA['.$mesaj.']]></msg>'; foreach ($tel as $t){ $xml.='<no>'.$t.'</no>'; } $xml.='</body> </mainbody>'; return $this->XMLPOST($PostAdress,$xml); } public function getSmsBaslik(){ $PostAdress = 'https://api.netgsm.com.tr/get_msgheader.asp?usercode='.$this->usercode.'&password='.$this->password; $sonuc = $this->XMLPOST($PostAdress,''); return $this->getSmsBaslikSonuc($sonuc); } public function getKredi(){ $PostAdress = 'https://api.netgsm.com.tr/balance/list/xml'; $xml = "<?xml version='1.0'?><mainbody><header><company>Netgsm</company><usercode>".$this->usercode."</usercode><password>".$this->password."</password><stip>2</stip></header></mainbody>"; $sonuc = $this->XMLPOST($PostAdress,$xml); return $this->getKrediSonuc($sonuc); } private function XMLPOST($PostAddress,$xmlData) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$PostAddress); // curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/xml")); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlData); $result = curl_exec($ch); return $result; } private function getSmsBaslikSonuc($sonuc){ if($sonuc==30){ return 'Geçersiz kullanıcı adı , şifre veya kullanıcınızın API erişim izninin olmadığını gösterir. Ayrıca eğer API erişiminizde IP sınırlaması yaptıysanız ve sınırladığınız ip dışında gönderim sağlıyorsanız 30 hata kodunu alırsınız. API erişim izninizi veya IP sınırlamanızı , web arayüzümüzden; sağ üst köşede bulunan ayarlar> API işlemleri menüsunden kontrol edebilirsiniz.'; }else{ $bol = explode('<br>',$sonuc); return $bol; } } private function getKrediSonuc($sonuc){ $bol = explode(' ',$sonuc); $hatakodu = $bol[0]; if($hatakodu==30){ $mesaj = '30Geçersiz kullanıcı adı , şifre veya kullanıcınızın API erişim izninin olmadığını gösterir. Ayrıca eğer API erişiminizde IP sınırlaması yaptıysanız ve sınırladığınız ip dışında gönderim sağlıyorsanız 30 hata kodunu alırsınız. API erişim izninizi veya IP sınırlamanızı , web arayüzümüzden; sağ üst köşede bulunan ayarlar> API işlemleri menüsunden kontrol edebilirsiniz.'; }elseif($hatakodu==40){ $mesaj = '40Arama kriterlerinize göre listelenecek kayıt olmadığını ifade eder.'; }elseif($hatakodu==70){ $mesaj = '70Hatalı sorgulama. Gönderdiğiniz parametrelerden birisi hatalı veya zorunlu alanlardan birinin eksik olduğunu ifade eder.'; }else{ $mesaj = '99'.$bol[1]; //if(isset($bol[2])){ // $mesaj.=' '.$bol[2]; // //} } return $mesaj; } public function getPaket(){ $PostAdress = 'https://api.netgsm.com.tr/balance/list/xml'; $xml = "<?xml version='1.0'?><mainbody><header><company>Netgsm</company><usercode>".$this->usercode."</usercode><password>".$this->password."</password><stip>1</stip></header></mainbody>"; $sonuc = $this->XMLPOST($PostAdress,$xml); if($sonuc==30){ return '-'; } return $sonuc; } public function netgsm_GetKredi($user,$pass) { //WP USE $response = file_get_contents("https://api.netgsm.com.tr/get_kredi.asp?usercode=$user&password=$pass" ); $data = explode(' ', $response); if($data[0]!='30') { if(isset($data[2]) && isset($data[2])=='AdetSMS') $tip = 'SMS'; else $tip = 'Kredi'; if ($data[1] > 0) { $result = array('giris'=>'success', 'durum' => 'success', 'mesaj'=>'', 'kredi' => round($this->virgulduzelt($data[1]),2), 'tipmsj' => ' Kalan '.$tip); } else { $result = array('giris'=>'success', 'durum' => 'warning', 'mesaj'=>' Bakiye Satın Al', 'kredi' => $data[1], 'tipmsj' => ' Kalan '.$tip); } } else{ $result = array('giris'=>'error', 'durum'=>'error', 'mesaj'=>'Geçersiz kullanıcı adı , şifre veya kullanıcınızın API erişim izninin olmadığını gösterir.'); } return $result; } public function netgsm_GetPaket($user,$pass) { $response = file_get_contents( "https://api.netgsm.com.tr/get_kredi.asp?usercode=$user&password=$pass&tip=1" ); $data = explode(' ', $response); if($data[0]=='30') { $result = array('giris'=>'error', 'durum'=>'error', 'mesaj'=>'Geçersiz kullanıcı adı , şifre veya kullanıcınızın API erişim izninin olmadığını gösterir.'); } elseif ($data[0]=='40') { $result = array('giris'=>'success', 'durum'=>'error', 'mesaj'=>'Arama kriterlerinize göre listelenecek kayıt olmadığını ifade eder.'); } else { if ($data[0] > 0) { $result = array('giris'=>'success', 'durum' => 'success', 'mesaj'=>'', 'kredi' => $data[0], 'tipmsj' => ' Kalan SMS'); // sms } else{ $result = array('giris'=>'success', 'durum' => 'warning', 'mesaj'=>' Bakiye Satın Al', 'kredi' => $data[0], 'tipmsj' => ' Kalan SMS'); } } return $result; } public function netgsm_GirisSorgula($user,$pass) { $response = $this->netgsm_GetKredi($user,$pass); if($response['giris']=='success') { //Giriş Başarılı if($response['durum']=='success') { //kredi varsa $result = array('durum' => 'success', 'icon' => 'fa-chech', 'mesaj' => "<i class='fa fa-diamond'></i> ".$response['tipmsj']." : ".$response['kredi'], 'btnkontrol'=>'enabled', 'href'=>'' ); } else{ //kredi yoksa $getpackage = $this->netgsm_GetPaket($user,$pass); if($getpackage['giris']=='success') { //giriş başarılı if($getpackage['durum']=='success') { //kredi varsa $result = array('durum' => 'success', 'icon' => 'fa-check', 'mesaj' => "<i class='fa fa-envelope-o'></i> ". ' SMS Bakiyeniz : '.$response['kredi'], 'btnkontrol'=>'enabled', 'href'=>'' ); } else { //kredi yoksa satın almaya yönlendir (Hem kredi hem paket yok.) $result = array('durum' => 'warning', 'icon' => 'fa-shopping-cart', 'mesaj' => ' Krediniz:'.$response['kredi'].'. Kredi satın al <i class=\'fa fa-external-link\'></i>', 'btnkontrol'=>'enabled', 'href'=>'https://www.netgsm.com.tr/webportal/satis_arayuzu/paketler.php' ); } } } } else { // giriş başarısız if(empty($user) && !empty($pass)) $message = " Kullanıcı adı alanı boş."; elseif (empty($pass) && !empty($user)) $message = " Şifre alanı boş."; elseif (empty($user) && empty($pass)) $message = " Kullanıcı adı & şifre boş."; else { $message = " Kullanıcı adı veya şifreniz hatalı."; } $result = array('durum' => 'danger', 'icon' => 'fa-exclamation-triangle', 'mesaj' => $message, 'btnkontrol' => 'disabled', 'href' => ''); } return json_encode($result); } private function virgulduzelt($gelen){ return str_replace(",", ".", $gelen); } public function sms_giris($baslik){ error_reporting(0); $apiurl = 'https://api.netgsm.com.tr/sms/header/get/?usercode='.$this->usercode.'&password='.$this->password; $result = file_get_contents($apiurl); if ($result == 30){ return ['status'=>'error', 'data'=>'Kullanıcı adı veya şifre yanlış']; } else { $titles = explode('<br>', $result); $status = 0; foreach ($titles as $title) { if ($baslik == $title){ $status = 1; break; } else { $status = 0; } } if ($status == 0 ){ return ['status'=>'error', 'data'=>'Böyle bir başlık bulunamadı']; } else { return ['status'=>'success', 'data'=>'Giriş başarılı ve başlık bulundu.']; } } } public function sms_bakiye(){ error_reporting(0); $apiurl = 'https://api.netgsm.com.tr/balance/list/get/?usercode='.$this->usercode.'&password='.$this->password; $result = file_get_contents($apiurl); $data = explode(' ', $result); $response = []; if ($data[0] == '00'){ // başarılı if ($data[2] == 'AdetSMS'){ $response = ['status'=>'success', 'data'=>$data[1]]; } else { $response = ['status'=>'success', 'data'=>'']; } } else { //sorun var $response = ['status'=>'success', 'data'=>'']; } return $response; } }
💾 Kaydet
İptal
📝 Yeniden Adlandır
İptal
Kaydet
🔐 Dosya İzinleri (chmod)
İzin Değeri:
Hızlı Seçim:
777
755
644
600
777
= Herkes okur/yazar/çalıştırır
755
= Sahip tam, diğerleri okur/çalıştırır
644
= Sahip okur/yazar, diğerleri okur
600
= Sadece sahip okur/yazar
İptal
Uygula