0xV3NOMx
Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64



Your IP : 13.59.250.115


Current Path : /var/www/html/sms/
Upload File :
Current File : /var/www/html/sms/sendsmsapi_new.php

<?php
    class SMS{
        public $url = "https://api.onex-aura.com/api/sms?";
		function __construct($funivcode, $fenttype){
            include("/var/www/config.php");
			$this->conn = new  mysqli(SERVERNAME, USERNAME, PASSWORD, "logisys3_comexam");
			if(!$this->conn) 
			{
				die("Connection failed: " . mysqli_connect_error());
			}

			$dbQuery = "select * from dbname where funivcode='{$funivcode}'";
			$dbresult = mysqli_query($this->conn, $dbQuery);
			$dbres = mysqli_fetch_assoc($dbresult);
			$db = $dbres['FDBNAME'];

			$this->conn = new  mysqli(SERVERNAME, USERNAME, PASSWORD, $db);
			if(!$this->conn) 
			{
				die("Connection failed: " . mysqli_connect_error());
			}

            $this->funivcode = $funivcode;
		    $this->fenttype = $fenttype;
        }

        function sendSms($to, $message, $key, $tmpid){
            
            $url = $this->url;
            $url .= "key={$key}";
            $url .= "&from=PMSOLU";
            $txt = urlencode($message);
            $url .= "&body={$txt}";
            $url .= "&entityid=1701160750260327092";
            $url .= "&templateid={$tmpid}";
            $url .= "&to={$to}";
            
            $session = curl_init($url);
            curl_setopt($session, CURLOPT_HEADER, false);
            curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
            $response = curl_exec($session);
            curl_close($session);
            return $response;
	    }

        function sendGeneralizedBulkSms($usertype, $sentuser) 
        {


            $query1 = "SET SESSION group_concat_max_len=10000000";
		    $result = mysqli_query($this->conn, $query1);

            $query = "select funivcode, group_concat(concat(fmobileno)) as mobilenos,
                    fenttype, fmessage,ifnull(fexamdate,'') as fexamdate, count(fmobileno) as fcount,
                    if(length(fmessage) > 160, ceiling(307/153), 1) as msg_cnt, 'hyCR3Tm7' as fkey, '1707171877425604701' as ftmpid
                    from logisys3_comexam.sendsms 
                    where fmobileno is not null
                    and fstatus = 'F'
                    and ifnull(fmessage,'') <> ''
                    and fenttype = '{$this->fenttype}'
                    and funivcode = '{$this->funivcode}'
                    and date_format(fupdate,'%Y-%m-%d') = date_format(now(),'%Y-%m-%d')
                    group by funivcode, fmessage";
            
            $result = mysqli_query($this->conn, $query); 
		    //$row = mysqli_fetch_assoc($result);
            while($row = mysqli_fetch_assoc($result))
		    {
                $to = $row['mobilenos'];
                $message = $row['fmessage'];
                $key1 = $row['fkey'];
                $tmpid = $row['ftmpid'];
                var_dump($key1,$tmpid);    
                
                //$mobs = $this->sendSms($to, $message, $key, $tmpid);
                $mobileNumbers = explode(",", $row['mobilenos']);
            
                $rgSmallArr =  array_chunk($mobileNumbers,90);
                // var_dump($rgSmallArr);
                // die();
                $table = '<style>table{width:100%; table-layout: fixed;}</style>	
                            <table style="text-align: left;width: 100%;"  border="1" cellpadding="10" cellspacing="0" >
                                <thead style = "">
                                    <tr style = "background-color:#8acc51">
                                        <th width="5%" align="center"><b>Sl. No.</b></th>
                                        <th  width="10%" align="center"><b>Mobile No.</b></th>
                                        <th  align="center"><b>Message</b></th>
                                        <th width="10%" align="center"><b>Status</b></th>
                                    </tr>
                                </thead>
                            <tbody>';
            

                foreach($rgSmallArr as $key => $value)
                {
                    $strTo = implode(',', $value);
                    $mobileNumbers1 = explode(",", $strTo);
                    
                    $mobs = $this->sendSms($strTo, $message, $key1, $tmpid);
                    echo $mobs;
                    
                    for ($i=0; $i < count($mobileNumbers1); $i++) 
                    {
                        $query = "update logisys3_comexam.sendsms set fstatus = 'T' 
                        where fenttype = '{$this->fenttype}' 
                        and fmobileno = '{$mobileNumbers1[$i]}'";
                        $result1 = mysqli_query($this->conn, $query); 

                        $table .= '<tr>
                        <td width="5%" align="center">'.intval($i+1).'</td>
                        <td width="10%" align="center">'.$mobileNumbers1[$i].'</td>
                        <td>'.$message.'</td>					
                        <td  width="10%" align="center">T</td>
                        </tr>';	

                    }
                
			    }

                $table .='</tbody></table>';
                echo $table;
	        }

            $query = "select funivcode, fstaffmobileno from logisys3_comexam.dbname 
            where ifnull(fstaffmobileno,'') <> '' and funivcode = '{$this->funivcode}'";
            $resultn = mysqli_query($this->conn,$query);

            $row = mysqli_fetch_assoc($resultn);

            $strTo = $row['fstaffmobileno'];

            $mobs = $this->sendSms($strTo, $message, $key1, $tmpid);
        }

        function smslog($to, $message, $resp, $usertype, $sentuser){
            $status = $resp == 'Sent.' ? 'T' : 'F';
            $year = date("Y");
            $type = date('m') < 6 ? 1 : 2;

            $strInsertQuery = "insert into adm_smslog(funivcode, fmobileno, fenttype, fackdate, fstatus, fmessage, 
            fusertype, fguid, fsentuser, fyear, fexamtype) 
            values ( '{$this->funivcode}', '{$to}', '{$this->fenttype}', now(), '{$status}', '{$message}', 
            '{$usertype}', '{$resp}', '{$sentuser}', '{$year}', '{$type}')";
            // var_dump($strInsertQuery);die();
            $result = mysqli_query($this->conn, $strInsertQuery); 
        }
    }

    
?>