Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // tukaj sedaj dobimo podatke iz sms-a
- //if $_GET['id'] is set, we know it is a delivery report, otherwise reply text
- if(isset($_GET['id'])) {
- $id = (int)$_GET['id']; //id-s are allways int
- $status = strip_tags($_GET['status']);
- //do whatever you want here. Maybe store it to database
- //we will just echo sms ID and status.
- echo 'SMS ID: ' . $id . ' STATUS: ' . $status;
- }
- else {
- $id = (int)$_POST['smsId'];
- $msg = strip_tags($_POST['m']);
- $fromNumber = $_POST['from']; //replier
- $toNumber = $_POST['to']; //number to which user replied to (can be shared from SMSAPI or own)
- $date = date('Y-m-d', (int)$_POST['time']);
- echo 'SMS ID: ' . $id . ' MSG: ' . $msg . ' FROM: ' . $fromNumber . ' TIME: ' . $date;
- // zapišemo v datoteko
- $file = 'sms.txt';
- $current = file_get_contents($file);
- $current .= 'SMS ID: ' . $id . ' MSG: ' . $msg . ' FROM: ' . $fromNumber . ' TIME: ' . $date . "\n";
- file_put_contents($file, $current);
- // določimo spremenljivke
- $id .= ' . $id . ';
- $msg .= ' . $msg . ';
- $fromNumber .= ' . $fromNumber . ';
- $time .= ' . $date . ';
- // establish SQL connection - zapišemo v bazo
- $con = mysqli_connect("localhost","maleni_majstor","enciklopedija123.","maleni_odvoz");
- // Check connection
- if (mysqli_connect_errno()) {
- echo "Failed to connect to MySQL: " . mysqli_connect_error();
- // abort?
- exit;
- }
- // escape variables for security
- // to prevent SQL injections.
- $id_sms = mysqli_real_escape_string($con, $id);
- $msg = mysqli_real_escape_string($con, $msg);
- $fromNumber = mysqli_real_escape_string($con, $fromNumber);
- $time = mysqli_real_escape_string($con, $date);
- // Podatke iz odgovora (SMS-a) vstavimo v bazo za kasnejšo manipulacijo.
- $sql = "INSERT INTO odgovori (id_sms, msg, fromNumber, time) VALUES ('$id_sms', '$msg', '$fromNumber', '$time')";
- // Run the query. If query fails, bail.
- if (!mysqli_query($con, $sql)) {
- echo "Falied to execute SQL query with statement: " . $sql;
- exit;
- }
- }
- // nastavimo si možne odgovore
- $ne = 'NE';
- $da = 'DA';
- $ne_m = strtolower($ne);
- $da_m = strtolower($da);
- // vzpostavljanje povezave z bazo
- $servername = "localhost";
- $username = "maleni_majstor";
- $password = "enciklopedija123.";
- $dbname = "maleni_odvoz";
- // Create connection
- $conn = new mysqli($servername, $username, $password, $dbname);
- // Check connection
- if ($conn->connect_error) {
- die("Connection failed: " . $conn->connect_error);
- }
- // pridobimo podatek o zadnjem vnosu v bazo - gre za odgovor partnerja (DA/NE) in unikatno kodo.
- $sql = "SELECT * FROM odgovori ORDER by id desc limit 1";
- $result = $conn->query($sql);
- // output data of each row
- while($row = $result->fetch_assoc()) {
- $id_odg = $row["id"];
- $id_sms = $row["id_sms"];
- $msg = $row["msg"];
- $fromNumber = $row["fromNumber"];
- $time = $row["time"];
- // "razbiti" moramo $msg, da prvič; preverimo DA/NE, drugič pa, da dobimo unikatno kodo
- $str = $msg;
- $parts = explode(" ", $str);
- $da_ne = $parts[0]; // DA/NE odgovor iz SMS-a
- $uid = $parts[1]; // unikatna številka
- $da_ne = strtolower($da_ne);
- if ($da_ne == $ne_m) { // TUKAJ SMO DOBILI ODGOVOR NE!!! TuKaj Bi MoRal Še GleDaT Če Je TeLeFoNskA IsTa
- // Create connection
- $conn = new mysqli($servername, $username, $password, $dbname);
- // Check connection
- if ($conn->connect_error) {
- die("Connection failed: " . $conn->connect_error);
- }
- // pridobimo podatek o zadnjem vnosu v bazo - gre za odgovor partnerja (DA/NE) in unikatno kodo.
- $sql = "SELECT * FROM stranka ORDER by id desc limit 1";
- $result = $conn->query($sql);
- // output data of each row
- while($row = $result->fetch_assoc()) {
- $id_odgovora = $row["id"];
- }
- $sql = "UPDATE stranka SET status1 ='ne' WHERE id ='$id'";
- $sql = "UPDATE stranka SET zakljuceno1 ='da' WHERE id ='$id'";
- if ($con->query($sql) === TRUE) {
- echo "Record updated successfully";
- } else {
- echo "Error updating record: " . $con->error;
- } // dodali smo status odvoza. Ta podatek kasneje potrebujemo pri odločanju, komu poslati.
- $servername = "localhost";
- $username = "maleni_majstor";
- $password = "enciklopedija123.";
- $dbname = "maleni_odvoz";
- // Create connection
- $conn = new mysqli($servername, $username, $password, $dbname);
- // Check connection
- if ($conn->connect_error) {
- die("Connection faileEd: " . $conn->connect_error);
- }
- // KONEKTAMO SE NA TABELO STRANKA in pogledamo, če je partner 1 v pravem času oddal naročilo!
- $sql = "SELECT * FROM partner WHERE id='$id_odgovora'";
- $result = $conn->query($sql);
- // output data of each row
- while($row = $result->fetch_assoc()) {
- $id_partner = $row["id"];
- $telefonska_partner = $row["telefonska"];
- $naziv_partner = $row["naziv"];
- }
- $url = "http://www.smsapi.si/poslji-sms"; //url we are posting to (defined in sms api documentation)
- $data = array("un" => urlencode("matej _sakelsek"), //api username
- "ps" => urlencode("269672a9d8c580ec3a5e25d48450d2b85ec0028621"), //api pass
- "from" => urlencode("031480333"), //don"t send as int
- "to" => urlencode("$telefonska_partner"), //don"t send as int
- "m" => urlencode("Zahvaljujemo se vam, $naziv za vaš odgovor. Vozilo bomo posredovali drugemu najbližjemu partnerju."), //msg
- "cc" => urlencode("386") //don"t send as int
- );
- //send SMS via HTTP GET
- $url = $url . "?" . http_build_query($data);
- $response = file_get_contents($url);
- echo $response;
- }
- elseif ($da_ne == $da_m){ // Pošljemo drugemu partnerju po bližini
- // vzpostavljanje povezave z bazo
- $servername = "localhost";
- $username = "maleni_majstor";
- $password = "enciklopedija123.";
- $dbname = "maleni_odvoz";
- // Create connection
- $conn = new mysqli($servername, $username, $password, $dbname);
- // Check connection
- if ($conn->connect_error) {
- die("Connection failed: " . $conn->connect_error);
- }
- // KONEKTAMO SE NA TABELO STRANKA in pridobimo podatke o zadnji stranki, ki je naročila prevoz. V naslednjem koraku partnerju pošljemo te podatke.
- $sql = "SELECT * FROM stranka ORDER by id desc limit 1";
- $result = $conn->query($sql);
- // output data of each row
- while($row = $result->fetch_assoc()) {
- $id = $row["id"];
- $telefonska_str = $row["telefonska_str"];
- $znamka = $row["znamka"];
- $model = $row["model"];
- $lat = $row["lat"];
- $lng = $row["lon"];
- $ime = $row["ime"];
- $podrobno = $row["podrobno"];
- $created_on = $row["created_on"];
- $koncni_datum = date('d.m.Y, H:i', strtotime($created_on. ' + 7 days'));
- }
- $sql = "UPDATE stranka SET status1 ='da' WHERE id ='$id'"; // dodamo status DA, ker bo prevzel vozilo!
- $sql = "UPDATE stranka SET zakljuceno1 ='da' WHERE id ='$id'"; // dodamo status DA, ker bo prevzel vozilo!
- if ($conn->query($sql) === TRUE) {
- echo "Record updated successfully";
- } else {
- echo "Error updating record: " . $conn->error;
- }
- $url = "http://maps.googleapis.com/maps/api/geocode/json?latlng=".$lat.",".$lng."&sensor=true";
- $data = @file_get_contents($url);
- $jsondata = json_decode($data,true);
- if(is_array($jsondata) && $jsondata['status'] == "OK")
- {
- $city = $jsondata['results']['0']['address_components']['2']['long_name'];
- $country = $jsondata['results']['0']['address_components']['5']['long_name'];
- $street = $jsondata['results']['0']['address_components'] ['1']['long_name'];
- $formatted_address = $jsondata['results']['0']['formatted_address'] ;
- }
- $url = "http://www.smsapi.si/poslji-sms"; //url we are posting to (defined in sms api documentation)
- $data = array("un" => urlencode("matej _sakelsek"), //api username
- "ps" => urlencode("269672a9d8c580ec3a5e25d48450d2b85ec0028621"), //api pass
- "from" => urlencode("031480333"), //don"t send as int
- "to" => urlencode("030342403"), //don"t send as int
- "m" => urlencode("Podatki stranke: Ime in priimek: $ime. Naslov: $formatted_address. Telefonska: $telefonska_str. Vozilo: $znamka $model. "), //pošljemo partnerju naslov in kontaktne podatke stranke, ki naročuje odvoz.
- "cc" => urlencode("386") //don"t send as int
- );
- //send SMS via HTTP GET
- $url = $url . "?" . http_build_query($data);
- $response = file_get_contents($url);
- echo $response;
- }
- else {
- $url = "http://www.smsapi.si/poslji-sms"; //url we are posting to (defined in sms api documentation)
- $data = array("un" => urlencode("matej _sakelsek"), //api username
- "ps" => urlencode("269672a9d8c580ec3a5e25d48450d2b85ec0028621"), //api pass
- "from" => urlencode("031480333"), //don"t send as int
- "to" => urlencode("030342403"), //don"t send as int
- "m" => urlencode("Prosimo, preverite vpisan odgovor."), //Stranka ni pravilno odgovorila, pošljemo ji sms, naj preveri vpisane znake!
- "cc" => urlencode("386") //don"t send as int
- );
- //send SMS via HTTP GET
- $url = $url . "?" . http_build_query($data);
- $response = file_get_contents($url);
- echo $response;
- }
- }
- // vzamemo vse podatke in nastavimo logiko pošiljanja:
- // Partner 1 (najbližji) ima za odgovor (da/ne) na voljo en teden. Naslednji partner po bližini
- // ima na voljo za odgovor štiri dni.
- // Tretji - in zadnji partner ima na voljo tudi tri dni. Če kateri od teh odgovori na sporočilo
- // z DA se s tem zaključi to naročilo in določi status OK v tabeli stranka stolpec status.
- // Če kateri od partnerjev odgovori z NE, dobi naslednji partner njegov čas in svoj.
- // Če partner odgovori po pretečenem času z DA/NE, ga opozorimo, da je njegov čas potekel.
- // IMAMO V CONTROLLER.PHP
- $conn->close();
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement