Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- date_default_timezone_set('Europe/London');
- // lostmyname Database Connection Setup
- // -------------------------------------------------------
- $dbhost = 'xxx';
- $dbname = 'xxx';
- $dbuser = 'dbuser';
- $dbpass = 'dbpass';
- // -------------------------------------------------------
- // Set the authorisation token
- $token = 'xxx';
- $db_local = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
- $start_time = microtime(true);
- echo "<hr><b>STARTED</b><hr>";
- $sql = "SELECT *
- FROM cron
- WHERE cron_title = 'tracked'";
- $result = mysqli_query($db_local, $sql);
- $row = mysqli_fetch_object($result);
- if ($row->cron_running == 1 || $row->cron_active == 0)
- {
- echo "Stopped";
- exit();
- }
- else
- {
- $sql = "UPDATE cron
- SET cron_running = 1, cron_started = now()
- WHERE cron_title = 'tracked'";
- $result = mysqli_query($db_local, $sql);
- }
- $EmailMessage = '';
- // Get the list of jobs where the tracking details have just been added
- $sql = "SELECT DISTINCT ShipmentID, TrackingDetails,AlternateTrackingDetails FROM books WHERE Tracked = 0 AND TrackingDetails <> '' AND ShipVia <> 'spring_global_packet' AND Cancel = 'no' AND Shipped > 0";
- $result = mysqli_query($db_local, $sql);
- // Feedback Tracking Details to Lostmyname
- while ($row = mysqli_fetch_object($result))
- {
- $ShipmentID = $row->ShipmentID;
- $tracking_code = preg_replace('/\s+/', '', $row->TrackingDetails);
- $AlternateTrackingDetails = $row->AlternateTrackingDetails;
- if($AlternateTrackingDetails <> '')
- {
- $tracking_code = $AlternateTrackingDetails;
- }
- // Get cURL resource
- $curl = curl_init();
- $CurlURL = 'https://xxx.xxx.xxx/shipments/' . $ShipmentID . '/track?token='.$token.'&tracking_code='.$tracking_code;
- // Set some options - we are passing in a useragent too here
- curl_setopt_array($curl, array(
- CURLOPT_PUT => true,
- CURLOPT_POST => true,
- CURLOPT_SSL_VERIFYPEER => false,
- CURLOPT_CONNECTTIMEOUT => 30,
- CURLOPT_TIMEOUT => 30,
- CURLOPT_SSL_VERIFYHOST => false,
- CURLOPT_RETURNTRANSFER => true,
- CURLOPT_URL => $CurlURL,
- CURLOPT_USERAGENT => 'CPrintPlus'
- ));
- if (curl_exec($curl))
- {
- $curl_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
- $http_status = "<br><b>HTTP Status: $curl_code</b>";
- if (curl_error($curl) || ($curl_code != 200 && $curl_code != 503 ))
- {
- $ErrorNo = curl_errno($curl);
- echo "<b>$ShipmentID Tracking Details NOT updated(1): Curl error:</b> $ErrorNo";
- echo $http_status;
- echo "<hr>";
- }
- else
- {
- $sql2 = "UPDATE books SET Tracked = now() WHERE ShipmentID = '$ShipmentID'";
- $result2 = mysqli_query($db_local, $sql2);
- echo "$ShipmentID Tracking Details updated<br>Response:$curl";
- echo $http_status;
- echo "<hr>";
- }
- }
- else
- {
- $curl_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
- $http_status = "<br><b>HTTP Status: $curl_code</b>";
- if (curl_errno($curl) != 0)
- {
- $ErrorNo = curl_errno($curl);
- $EmailMessage .= "Shipped CURL Error:\n$ShipmentID NOT updated: Curl error $ErrorNo\n\n";
- echo "<b>$ShipmentID Tracking Details NOT updated(2): Curl error:</b> $ErrorNo";
- echo $http_status;
- echo "<hr>";
- }
- }
- flush();
- ob_flush();
- // Close request to clear up some resources
- curl_close($curl);
- }
- // email the error
- if ($EmailMessage <> '')
- {
- mail('admin@email.com', 'LMN Curl Error', $EmailMessage);
- }
- $sql = "UPDATE cron
- SET cron_running = 0
- WHERE cron_title = 'tracked'";
- $result = mysqli_query($db_local, $sql);
- $finish_time = microtime(true);
- $time_spent = $finish_time - $start_time;
- echo "<hr><b>DONE in $time_spent seconds</b><hr>";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement