Friday, August 16, 2013

script onreplay sms gateway untuk koperasi

script ini adalah scrip untuk proses auto replay untuk sms gateway yang saya pernah kembangkan:
  
<?php
class onreplay extends ci_Model
{
	function on_play()
	{
		//////////////
		$this->db->where("id","6");
		$set_note=$this->db->get("konfigurasi")->row();
		$title_note=$set_note->note;
		//////////////////////////////////////////////////////
		
		//////////////////////////////////////////////////////
	date_default_timezone_set('Asia/Jakarta');
	$data_inbox=$this->db->query("select count(*) as count_inbox from inbox where Processed='false'")->row();
	$dabox=$data_inbox->count_inbox;
	if($dabox)
		{
			$s_inbox=$this->db->query("select * from inbox where Processed='false'")->result();
			foreach($s_inbox as $list)
			{
			$psn=str_replace("'",",",$list->TextDecoded);//isi sms
			$id_sms=$list->ID;//id sms
			$noPengirim = $list->SenderNumber;//no pengirim awal
			$noPengirim0=str_replace('+62','0',$noPengirim);//no pengirim zero
			$msg=strtoupper($psn);//besarkan isi Pesan
			
			//khusus balas
		  	 $pisah=explode("#",$psn);//pecah dengan seperator
			// memecah pesan berdasarkan karakter <spasi>
 			 $pecah=explode("#",$msg);
 			 $jum_kata=count(explode("#", $msg));
 			 ///// pengecualian
			 
 			 if($jum_kata==4)
 			 {
 			 $seper_1=$pecah[0];
 			  $seper_2=$pecah[1];
 			   $seper_3=$pecah[2];
 			    $seper_4=$pecah[3];
 			    	    
 			     $seper_33=$pisah[2];
 			 }elseif($jum_kata==3)
 			 {
 			  $seper_1=$pecah[0];
 			  $seper_2=$pecah[1];
 			   $seper_3=$pecah[2];
 			    $seper_4="";
 			    $seper_33=$pisah[2];
 			 }elseif($jum_kata==2)
 			 {
 			 $seper_1=$pecah[0];
 			  $seper_2=$pecah[1];
 			   $seper_3="";
 			    $seper_4="";
 			   
 			 }elseif($jum_kata==1)
 			 {
 			  $seper_1=$pecah[0];
 			  $seper_2="";
 			   $seper_3="";
 			    $seper_4="";
 			    
 			 }
 			 /////
			 //aksi koperasi
						 
			$this->db->where("id","2");
			$risalah=$this->db->get("konfigurasi")->row();
			$titleku=$risalah->content;
			 //penentuan keyword
			$this->db->where("id","5");
			$pen_key=$this->db->get("konfigurasi")->row();
			$pen_keybesar=strtoupper($pen_key->name);
			$penkek=explode("#",$pen_keybesar);
			
			$smsvalid_kop=$pen_key->content;
			$smsgagalhp_kop=$pen_key->note;
			$smsgagalk_kop=$pen_key->note2;
			
			 ///
			$nohp=$this->db->query("select count(*) as kunpe from id_anggota where no_hp='$noPengirim0'")->row();
			$ceksaldo=$this->db->query("SELECT id_anggota.nik,id_anggota.nama_anggota ,ket_anggota.saldo,ket_anggota.periode,ket_anggota.sisa,id_anggota.no_hp,id_anggota.jenis_kelamin
			FROM id_anggota,ket_anggota WHERE id_anggota.nik=ket_anggota.nik AND id_anggota.no_hp='$noPengirim0'")->row();
			$konfig_ceksaldo=$this->db->query("select content from konfigurasi where id='5'")->row();
			$ceks1=$konfig_ceksaldo->content;
			if(isset($ceksaldo->saldo))
			{
			 $saldox="Rp ".number_format($ceksaldo->saldo, 0 , ',' , '.' );
			 $saldo=isset($saldox)?($saldox):"";
			 $sisax="Rp ".number_format($ceksaldo->sisa, 0 , ',' , '.' );
			 $sisa=isset($sisax)?($sisax):"";
			 $periode=isset($ceksaldo->periode);
			 $nami_anggota_k_awal=strtolower($ceksaldo->nama_anggota);
	 		 $nami_anggota_k=ucfirst($nami_anggota_k_awal);
			
			if($ceksaldo->jenis_kelamin=="L")
											   {
												$nama_saldok="Bpk. ".$nami_anggota_k;
											   }else
											   {
												 $nama_saldok="Ibu. ".$nami_anggota_k;
											   };
											 
			$ceks2=str_replace('[nama]',$nama_saldok,$ceks1);
			$ceks3=str_replace('[sisa]',$sisa,$ceks2);
			$ceks4=str_replace('[periode]',$periode,$ceks3);
			$ceksaldo=str_replace('[saldo]',$saldo,$ceks4);
			};
			//
			//notifikasi
			$this->db->where("id","6");
			$notifikasi_inbound=$this->db->get('konfigurasi')->row();
			if($notifikasi_inbound->note=="false")
			{
				$id_koperasi=$this->db->get("id_anggota")->result();
				foreach($id_koperasi as $data_kop)
				{
					$nop1=substr($data_kop->no_hp,0,1);
					$nop2=substr($data_kop->no_hp,1,15);
					$nop3=str_replace("0","+62",$nop1);
				$nop4=$nop3.$nop2;
				//$this->db->where("SenderNumber","$nop4");
				//$cesed=$this->db->get("inbox")->row();
				
				$ray=array("Processed"=>"true");
				$this->db->where("SenderNumber",$nop4);
				$this->db->update("inbox",$ray);
				}
			}
			//end aksi Koperasi
			
			//periksa keberadaan group
			//$cek_group=$this->db->query("select count(*) as gp from pbk_groups where Name='".$seper_3."'")->row();
			//$keberadaan_group=$cek_group->gp;
			//$cek_grpp=mysql_query("select count(*) as asalaja from pbk_groups where Name='".$seper_3."'");
			//$cekpq=mysql_fetch_array($cek_grpp);
			//$keberadaan_group=$cekpq['asalaja'];
			/////
			$cek_grpp=$this->db->query("select count(*) as asalaja from pbk_groups where Name='".$seper_3."'")->row();
			$keberadaan_group=$cek_grpp->asalaja;
			///////////////////////////////mencari ID group
			//$cari_group=$this->db->query("SELECT ID FROM pbk_groups pbk_groups WHERE Name='".$seper_3."'");
			//$oww=$cari_group->result();
			//$id_group=$oww->ID;
			//manual
			$cari_group_ma=mysql_query("SELECT ID FROM pbk_groups WHERE Name='".$seper_3."'");
			$ow_cari=mysql_fetch_array($cari_group_ma);
			$id_group=$ow_cari['ID'];
			//Periksa keberadaan pngirim dalam group
			$cek_pengirim=$this->db->query("select count(*) as pengirim from pbk where Number='$noPengirim0' and GroupID='$id_group'")->row();
			$keberadaan_pengirim=$cek_pengirim->pengirim;
			//UNREG!!!PERIKSA GROUP DENGAN NO HP
			//echo $seper_2=str_replace("'"," ",$peser_2);
			$un_cek=$this->db->query("select count(*) as gr from pbk_groups where Name='".$seper_2."'")->row();
			$cek_group_unreg=$un_cek->gr;
			/////////////////////////////////////////////////////////////////////////////////////////////////////
						///////////////////////////////Mencari Nama Group untuk UNREG
			//$cari_group_un=$this->db->query("select ID from pbk_groups where Name='".$seper_2."'")->row();
			//$id_group_un=$cari_group_un->ID;
			$cari_group_un=mysql_query("select ID from pbk_groups where Name='".$seper_2."'");
			$id_group_un_un=mysql_fetch_array($cari_group_un);
			$id_group_un=$id_group_un_un['ID'];
			///////////////////////////////BALESAN
			//Periksa keberadaan pngirim dalam group kirim
			$cek_pengirimk=$this->db->query("select count(*) as pengirim from pbk where Number='$noPengirim0' and GroupID='$id_group_un'")->row();
			$keberadaan_pengirimk=$cek_pengirimk->pengirim;
			//$set_bls=$this->db->query("select pesan_masuk from sms_replay where GroupID='$id_group'");
			//$bls_defauld=$set_bls->pesan_masuk;
			$set_bls=mysql_query("select pesan_masuk from sms_replay where GroupID='$id_group'");
			$set_blz=mysql_fetch_array($set_bls);
			$bls_defauld=$set_blz['pesan_masuk'];
			////////////////////////////////Balas Keluar
			//$set_bls_un=$this->db->query("select pesan_keluar from sms_replay where GroupID='$id_group_un'");
			//$bls_defauld_un=$set_bls_un->pesan_keluar;
			$set_bls_un=mysql_query("select pesan_keluar from sms_replay where GroupID='$id_group_un'");
			$set_slb=mysql_fetch_array($set_bls_un);
			$bls_defauld_un=$set_slb['pesan_keluar'];
			//////////////////////////////////////////////
			//Mencari Listnama untuk KIRIM
			$list_nama=$this->db->query("select count(*) as orang from pbk where Number='$noPengirim0' and GroupID='$id_group_un'")->row();
			$cek_list=$list_nama->orang;
			/////////////////////////////Cari Nama Dalam Group
			$sel_name=mysql_query("select Name from pbk where Number='$noPengirim0' and GroupID='$id_group_un'");
			$name_sel=mysql_fetch_array($sel_name);
			$nam=$name_sel['Name'];
			/////////////////////////////Cari Nama Dalam Group
			
			//$senderID=$this->db->query("select ID from phones where pakai='enable'")->row();
			//$seting_defauld=$senderID->ID;
			$senderID=mysql_query("select ID from phones where send='yes' and pakai='enable'");
			$senID=mysql_fetch_array($senderID);
			$seting_defauld=$senID['ID'];
			////////////////////////////////////////////
			if($seper_1=="DAFTAR" && $keberadaan_group=='1' && $keberadaan_pengirim=='0' && $jum_kata=="4" )///jika mendaftar sukses
			{
			$lowername=strtolower($seper_2);
	 		$nami_rim=ucfirst($lowername);
			////////////////////////////////////////TAMBAHKAN KONTAK
			$data_pengirim=array(
			'GroupID'=>$id_group,
			'Name'=>$nami_rim,
			'Number'=>$noPengirim0,
			'Kantor'=>$seper_4
			); 
			
			$str=str_replace('$nama',$nami_rim,$bls_defauld);
			
			$add_kontak=$this->db->insert('pbk',$data_pengirim);
			$data=array(
			'DestinationNumber'=>$noPengirim0,
			'TextDecoded'=>$str,
			'SenderID'=>$seting_defauld,
			'CreatorID'=>$id_group
			);
			/////update 
			
			$this->db->query("update inbox SET creatorID='$id_group' where ID='$id_sms'");
			
			///////////
			if($title_note=="true"){
			$this->db->insert('outbox',$data);
			}
			$this->db->query("UPDATE inbox SET Processed='true' where ID='$id_sms'");
			////
			}//end if PENDAFTAR BERHASIL
			elseif($seper_1!="DAFTAR" && $keberadaan_group=='1' && $keberadaan_pengirim=='0' && $jum_kata=="4" )///jika !=DAFTAR
			{
			$kirim_gagal=array(
			'DestinationNumber'=>$noPengirim0,
			'TextDecoded'=>'MAAF! Penulisan anda salah, Silahkan coba lagi ketik:Daftar#nama anda#nama group#alamat dan kirim ko no.ini',
			'SenderID'=>$seting_defauld,
			'CreatorID'=>$id_group
			);
			///////////
			$this->db->query("update inbox SET creatorID='$id_group' where ID='$id_sms'");
			if($title_note=="true"){
			$this->db->insert('outbox',$kirim_gagal);
			}
			$this->db->query("UPDATE inbox SET Processed='true' where ID='$id_sms'");
			////
			
			
			}//end daftar gagal !=KIRIM
			elseif($seper_1=="DAFTAR" && $keberadaan_group=='0' && $keberadaan_pengirim=='0' && $jum_kata=="4")//Jika Group Tidak ada
			{
			$group_gagal=array(
			'DestinationNumber'=>$noPengirim0,
			'TextDecoded'=>'MAAF! Group '.$seper_3.' Tidak Terdaftar, silahkan coba lagi , Silahkan coba lagi ketik:Daftar#nama anda#nama group#alamat',
			'SenderID'=>$seting_defauld,
			'CreatorID'=>'0'
			);
			if($title_note=="true"){
			$this->db->insert('outbox',$group_gagal);
			}
			$this->db->query("UPDATE inbox SET Processed='true' where ID='$id_sms'");
			}//end group tidak ada
			elseif($seper_1=="DAFTAR" && $keberadaan_group=='1' && $keberadaan_pengirim=='1' && $jum_kata=="4")//pengirim sudah ada
			{
			$pengirim_ada=array(
			'DestinationNumber'=>$noPengirim0,
			'TextDecoded'=>'MAAF! anda sudah terdaftar ke dalam group '.$seper_3.'',
			'SenderID'=>$seting_defauld,
			'CreatorID'=>$id_group
			);
			if($title_note=="true"){
			$this->db->insert('outbox',$pengirim_ada);
			}
			$this->db->query("update inbox SET creatorID='$id_group' where ID='$id_sms'");
			$this->db->query("UPDATE inbox SET Processed='true'  where ID ='$id_sms'");
			}//end pengirim sudah ada
			elseif($seper_1=="DAFTAR" && $jum_kata!="4")//pengirim salah
			{
			$pengirim_ada=array(
			'DestinationNumber'=>$noPengirim0,
			'TextDecoded'=>'MAAF! Penulisan anda salah, Silahkan coba lagi ketik:Daftar#nama anda#nama group#alamat dan kirim ko no.ini',
			'SenderID'=>$seting_defauld,
			
			);
			if($title_note=="true"){
			$this->db->insert('outbox',$pengirim_ada);
			}
			$this->db->query("update inbox SET creatorID='$id_group' where ID='$id_sms'");
			$this->db->query("UPDATE inbox SET Processed='true' where ID ='$id_sms' ");
			}//en
			elseif($seper_1=="DAFTAR" && $keberadaan_group=='1' && $keberadaan_pengirim=='0' && $jum_kata!="4")
			{
			$kata_not=array(
			'DestinationNumber'=>$noPengirim0,
			'TextDecoded'=>'MAAF! struktur Penulisan anda salah,Silahkan coba lagi ketik:Daftar#nama anda#nama group#alamat dan kirim ko no.ini',
			'SenderID'=>$seting_defauld,
			'CreatorID'=>$id_group
			);
			if($title_note=="true"){
			$this->db->insert('outbox',$kata_not);
			}
			$this->db->query("update inbox SET creatorID='$id_group' where ID='$id_sms'");
			$this->db->query("UPDATE inbox SET Processed='true' where ID ='$id_sms'");
			}//end kata tidak sesuai
			elseif($seper_1=="UNREG" && $jum_kata==2 && $cek_group_unreg==1)//HAPUS GROUP SUKSES
			{
			$this->db->query("delete from pbk where Number='$noPengirim0' and GroupID='$id_group_un'");
			$data_un_del=array(
			'DestinationNumber'=>$noPengirim0,
			'TextDecoded'=>$bls_defauld_un,
			'SenderID'=>$seting_defauld,
			'CreatorID'=>$id_group_un
			);
			if($title_note=="true"){
			$this->db->insert("outbox",$data_un_del);
			}
			$this->db->query("update inbox SET creatorID='$id_group_un' where ID='$id_sms'");
			$this->db->query("UPDATE inbox SET Processed='true' where ID ='$id_sms'");
			}//end Hapus Group
			elseif($seper_1!="UNREG" && $jum_kata==2 && $cek_group_unreg==1)
			{
			$data_un_del_er=array(
			'DestinationNumber'=>$noPengirim0,
			'TextDecoded'=>'Maaf!Struktur Penulisan Anda Salah!',
			'SenderID'=>$seting_defauld,
			'CreatorID'=>$id_group_un
			);
				if($title_note=="true"){
			$this->db->insert("outbox",$data_un_del_er);
				};
			$this->db->query("update inbox SET creatorID='$id_group_un' where ID='$id_sms'");
			$this->db->query("UPDATE inbox SET Processed='true' where ID ='$id_sms'");
			}///end salah unreg
			elseif($seper_1=="UNREG" && $jum_kata!=2 && $cek_group_unreg==1)
			{
			$data_un_del_er=array(
			'DestinationNumber'=>$noPengirim0,
			'TextDecoded'=>'Maaf!Struktur Penulisan Anda Salah!',
			'SenderID'=>$seting_defauld,
			'CreatorID'=>$id_group_un
			);
			$this->db->insert("outbox",$data_un_del_er);
			$this->db->query("update inbox SET creatorID='$id_group_un' where ID='$id_sms'");
			$this->db->query("UPDATE inbox SET Processed='true'");
			}///end salah unreg
			elseif($seper_1=="UNREG" && $jum_kata==2 && $cek_group_unreg==0)///salah penulisan group
			{
			$data_un_del_er=array(
			'DestinationNumber'=>$noPengirim0,
			'TextDecoded'=>'Maaf!Anda tidak terdaftar dalam Group '.$seper_2.'',
			'SenderID'=>$seting_defauld,
			
			);
			if($title_note=="true"){
			$this->db->insert("outbox",$data_un_del_er);
			};
			$this->db->query("update inbox SET creatorID='$id_group_un' where ID='$id_sms'");
			$this->db->query("UPDATE inbox SET Processed='true' where ID ='$id_sms'");
			}//salah penulisan
			elseif($seper_1=="KIRIM" && $cek_list!='0' && $jum_kata==3 && $keberadaan_pengirimk!=0)
			{
			
			$list=mysql_query("select * from pbk where GroupID='$id_group_un'");
			 while($data=mysql_fetch_array($list))
	 		{
	 		/////
	 		$data_n=$data['Number'];
	 		
	 		$nama_kirim_query=$this->db->query("select Name from pbk where GroupID='".$id_group_un."' and Number='".$data_n."'")->row();
	 		$data_nama_mantap=$nama_kirim_query->Name;
	 		/////
	 		$lower_nama=strtolower($data_nama_mantap);
	 		$nama_lower=ucfirst($lower_nama);
	 		
	 		$lower=strtolower($nam);
	 		$nami=ucfirst($lower);
	 		$pesan_mantap=str_replace('$nama',$nama_lower,$seper_33);
			 $send=array(
			 'DestinationNumber'=>$data['Number'],
			'TextDecoded'=>"[".$seper_2."]".$nami.": ".$pesan_mantap,
			'SenderID'=>$seting_defauld,
			'CreatorID'=>$id_group_un
			 );
			 if($title_note=="true"){
		 	$this->db->insert('outbox',$send);
			 }
		 	$this->db->query("update inbox set processed='false' where id='$id_sms'");
			}
			$this->db->query("update inbox SET creatorID='$id_group_un' where ID='$id_sms'");
			$this->db->query("UPDATE inbox SET processed='true' where ID='$id_sms'");
			}//end kirim berhasil
			elseif($seper_1!="KIRIM" && $cek_list!='0' && $jum_kata=='3' && $keberadaan_pengirimk!=0)
			{
					$kirim_salah=array(
					'DestinationNumber'=>$noPengirim0,
					'TextDecoded'=>"Maaf! Struktur penulisan anda salah | ketik:Kirim#nama group#pesan anda",
					'SenderID'=>$seting_defauld,
					'CreatorID'=>$id_group_un
					);	
					if($title_note=="true"){
					$this->db->insert("outbox",$kirim_salah);
					}
					$this->db->query("update inbox SET creatorID='$id_group_un' where ID='$id_sms'");
					$this->db->query("UPDATE inbox SET Processed='true' where ID='$id_sms'");
			}//end kirim gagl
			elseif($seper_1=="KIRIM" && $cek_list!='0' && $jum_kata!=3 && $keberadaan_pengirimk!=0)
			{
					$kirim_salah_lagi=array(
					'DestinationNumber'=>$noPengirim0,
					'TextDecoded'=>"Maaf! Struktur penulisan anda salah,ketik:Kirim#nama group#pesan anda",
					'SenderID'=>$seting_defauld,
					'CreatorID'=>$id_group_un
					);	
					if($title_note=="true"){
					$this->db->insert("outbox",$kirim_salah_lagi);
					}
					$this->db->query("update inbox SET creatorID='$id_group_un' where ID='$id_sms'");
					$this->db->query("UPDATE inbox SET Processed='true' where ID='$id_sms'");
			}
			elseif($seper_1=="KIRIM" && $jum_kata!=3)
			{
					$kirim_salah_lagi=array(
					'DestinationNumber'=>$noPengirim0,
					'TextDecoded'=>"Maaf! Struktur penulisan anda salah, ketik:Kirim#nama group#pesan anda",
					'SenderID'=>$seting_defauld,
					
					);	
					if($title_note=="true"){
					$this->db->insert("outbox",$kirim_salah_lagi);
					};
					$this->db->query("update inbox SET creatorID='$id_group_un' where ID='$id_sms'");
					$this->db->query("UPDATE inbox SET Processed='true' where ID='$id_sms'");
			}
			elseif($seper_1=="KIRIM" && $cek_list!='0' && $jum_kata==3 && $keberadaan_pengirimk==0)
			{
			$kirim_salah_lagi=array(
					'DestinationNumber'=>$noPengirim0,
					'TextDecoded'=>"Maaf! Anda belum terdaftar dalam group".$seper_2,
					'SenderID'=>$seting_defauld,
					'CreatorID'=>$id_group_un
					);	
					if($title_note=="true"){
					$this->db->insert("outbox",$kirim_salah_lagi);
					}
					$this->db->query("update inbox SET creatorID='$id_group_un' where ID='$id_sms'");
					$this->db->query("UPDATE inbox SET Processed='true' where ID='$id_sms'");
			}
			elseif($seper_1=="KIRIM" && $cek_list=='0')
			{
			$kirim_salah_lagi=array(
					'DestinationNumber'=>$noPengirim0,
					'TextDecoded'=>"Maaf! group $seper_2 tidak tersedia, pastikan keyword anda benar!",
					'SenderID'=>$seting_defauld,
					
					);	
					if($title_note=="true"){
					$this->db->insert("outbox",$kirim_salah_lagi);
					}
					$this->db->query("update inbox SET creatorID='$id_group_un' where ID='$id_sms'");
					$this->db->query("UPDATE inbox SET Processed='true' where ID='$id_sms'");
			}
			//khusus koperasi
			elseif($seper_1==$penkek[0] && $seper_2==$penkek[1] && $nohp->kunpe=="1" && $jum_kata==2 && $notifikasi_inbound->note=="true")//jika berhasil
			{
			$kirim_benar=array(
					'DestinationNumber'=>$noPengirim0,
					'TextDecoded'=>$ceksaldo,
					'SenderID'=>$seting_defauld,
					'CreatorID'=>$titleku,
					);
					$this->db->insert("outbox",$kirim_benar);
					
					$this->db->query("update inbox SET creatorID='$titleku' where ID='$id_sms'");
					$this->db->query("UPDATE inbox SET Processed='true' where ID='$id_sms'");
				
			}elseif($seper_1==$penkek[0] && $seper_2==$penkek[1] && $nohp->kunpe=="1" && $jum_kata==2 && $notifikasi_inbound->note=="true")
			{
					$kirim_benar=array(
					'DestinationNumber'=>$noPengirim0,
					'TextDecoded'=>$smsgagalk_kop,
					'SenderID'=>$seting_defauld,
					'CreatorID'=>'$titleku'
					);	
				
					$this->db->insert("outbox",$kirim_benar);
					
					$this->db->query("update inbox SET creatorID='$titleku' where ID='$id_sms'");
					$this->db->query("UPDATE inbox SET Processed='true' where ID='$id_sms'");
		
			}elseif($seper_1==$penkek[0] && $seper_2==$penkek[1] && $nohp->kunpe=="1" && $jum_kata==2 && $notifikasi_inbound->note=="true")
			{
				$kirim_benar=array(
					'DestinationNumber'=>$noPengirim0,
					'TextDecoded'=>$smsgagalk_kop,
					'SenderID'=>$seting_defauld,
					'CreatorID'=>'$titleku'
					);	
					
					$this->db->insert("outbox",$kirim_benar);
					
					$this->db->query("update inbox SET creatorID='$titleku' where ID='$id_sms'");
					$this->db->query("UPDATE inbox SET Processed='true' where ID='$id_sms'");
		
			}
			elseif($seper_1==$penkek[0] && $seper_2==$penkek[1] && $nohp->kunpe=="0" && $jum_kata==2 && $notifikasi_inbound->note=="true")
			{
				$kirim_benar=array(
					'DestinationNumber'=>$noPengirim0,
					'TextDecoded'=>$smsgagalhp_kop,
					'SenderID'=>$seting_defauld,
					'CreatorID'=>'$titleku'
					);	
					
					$this->db->insert("outbox",$kirim_benar);
					
					$this->db->query("update inbox SET creatorID='$titleku' where ID='$id_sms'");
					$this->db->query("UPDATE inbox SET Processed='true' where ID='$id_sms'");
		
			}elseif($seper_1==$penkek[0] && $seper_2==$penkek[1] && $nohp->kunpe=="1" && $jum_kata!=2 && $notifikasi_inbound->note=="true")
			{
				$kirim_benar=array(
					'DestinationNumber'=>$noPengirim0,
					'TextDecoded'=>$smsgagalk_kop,
					'SenderID'=>$seting_defauld,
					'CreatorID'=>'$titleku'
					);	
					
					$this->db->insert("outbox",$kirim_benar);
					
					$this->db->query("update inbox SET creatorID='$titleku' where ID='$id_sms'");
					$this->db->query("UPDATE inbox SET Processed='true' where ID='$id_sms'");
		
			}
			elseif($seper_1==$penkek[0] && $seper_2!=$penkek[1] && $nohp->kunpe=="1" && $notifikasi_inbound->note=="true")
			{
				$kirim_benar=array(
					'DestinationNumber'=>$noPengirim0,
					'TextDecoded'=>$smsgagalk_kop,
					'SenderID'=>$seting_defauld,
					'CreatorID'=>'$titleku'
					);	
					$this->db->insert("outbox",$kirim_benar);
					$this->db->query("update inbox SET creatorID='$titleku' where ID='$id_sms'");
					$this->db->query("UPDATE inbox SET Processed='true' where ID='$id_sms'");
		
			}
			//end khusus koperasi
		   }///end foreach
		}///end if databox
			 	
		/////////////////////////////////////////fungsi auto forward
		//////////////
		$this->db->where("id","9");
		$set_for=$this->db->get("konfigurasi")->row();
		$for_note=$set_for->note;
		//////////////////////////////////////////////////////
		
		$q_for=$this->db->query('SELECT * FROM sentitems WHERE STATUS ="Error" OR STATUS ="SendingError" OR STATUS ="DeliveryFailed"')->result();
		$count_for=$this->db->query("select count(*) as totale from sentitems WHERE STATUS ='Error' OR STATUS ='SendingError' OR STATUS ='DeliverFailed'")->row();
	$total_error=$count_for->totale;
	if($total_error!=0 && $for_note=="true")
	{
		foreach($q_for as $sms_forward)
		{
			$id_cms=$sms_forward->ID;
			$pesan=$sms_forward->TextDecoded;
			$no_for=$sms_forward->DestinationNumber;
			////pengiriman dimulai
			
	// menghitung jumlah pecahan
$jmlSMS = ceil(strlen($pesan)/153);
// memecah pesan asli
$pecah  = str_split($pesan, 153);
// proses untuk mendapatkan ID record yang akan disisipkan ke tabel OUTBOX
$query = "SHOW TABLE STATUS LIKE 'outbox'";
$hasil = mysql_query($query);
$data  = mysql_fetch_array($hasil);
$newID = $data['Auto_increment'];
///

for ($i=1; $i<=$jmlSMS; $i++)
{
   // membuat UDH untuk setiap pecahan, sesuai urutannya
   $udh = "050003A7".sprintf("%02s", $jmlSMS).sprintf("%02s", $i);

   // membaca text setiap pecahan
   $msg = $pecah[$i-1];

   if ($i == 1)
   {
      // jika merupakan pecahan pertama, maka masukkan ke tabel OUTBOX
                  
	$data=array(
	'DestinationNumber'=>$no_for,
	'UDH'=>$udh,
	'ID'=>$newID,
	'MultiPart'=>'true',
	'TextDecoded'=>$msg,
	'SenderID'=>$sms_forward->SenderID,
	'CreatorID'=>$sms_forward->CreatorID,
	);
	$this->db->insert('outbox',$data);          
                
   }
   else
   {
      // jika bukan merupakan pecahan pertama, simpan ke tabel OUTBOX_MULTIPART
          $data=array(
	'UDH'=>$udh,
	'ID'=>$newID,
	'TextDecoded'=>$msg,
	'SequencePosition'=>$i,
	);
	$this->db->insert('outbox_multipart',$data);
   }//endif
   $this->db->query("delete from sentitems where ID='$id_cms'");
}//endfor udh
			////end pengiriman
		}//endforeach
	}//endif rorward pokonamah
		//////////////////////////////////////////end auto forward
		
		
		
				
				
			
			
				
				
	}////////////////////////////////////////////////////////END FUNCTION
	
}/////end class

?>

0 comments:

Post a Comment