Advertisement
Evengar

Untitled

Feb 3rd, 2017
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.29 KB | None | 0 0
  1.     //check scheduled actions
  2.     function scheduler() {
  3.         $date = date("Y-m-d H:i:s");
  4.         //echo $date;
  5.         $last_run = get_option('last_run');
  6.         //if one hour passed since last run
  7.         if (strtotime($last_run)+ 3600 < strtotime($date)) {
  8.             //echo "1 hour passed!";
  9.             update_option('last_run', $date);
  10.             $this->run_scheduled_actions();
  11.             return true;
  12.         }
  13.         else {
  14.             return false;
  15.         }
  16.        
  17.     }
  18.  
  19.     //scheduled actions
  20.     function run_scheduled_actions() {
  21.         global $wpdb;
  22.         //get all the books from the database
  23.         $table_name = $wpdb->prefix . 'posts';
  24.         $books = $wpdb->get_results("SELECT * FROM `$table_name` WHERE `post_type` = 'book';", ARRAY_A);
  25.         foreach ($books as $book) {
  26.             $book_id = $book['ID'];
  27.             //echo $book_id;
  28.             $user_id = $this->get_book_user_author($book_id);
  29.             //get tracking ids
  30.             $tracking_id_warehouse = get_post_meta($book_id, 'tracking_id_aftership', true);
  31.             $tracking_id_seller = get_post_meta($book_id, 'seller_tracking_number', true);
  32.             //get old valuss
  33.             $tracking_status_warehouse = get_post_meta($book_id, 'tracking_status_warehouse', true);
  34.             $tracking_status_seller = get_post_meta($book_id, 'tracking_status_seller', true);
  35.             //get new values
  36.             if (!empty($tracking_id_warehouse)) {
  37.                 $tracking_status_warehouse_new_full = $this->check_tracking_status($tracking_id_warehouse);
  38.                 $tracking_status_warehouse_new = $tracking_status_warehouse_new_full['data']['tracking']['tag'];
  39.                 //if tracking status changed, update it in the meta. same if it is first-run
  40.                 if ($tracking_status_warehouse != $tracking_status_warehouse_new) {
  41.                     update_post_meta($book_id, 'tracking_status_warehouse', $tracking_status_warehouse_new);
  42.                     $this->mail_on_track_update($user_id, $tracking_status_warehouse_new, $book_id);
  43.                 }
  44.             }
  45.             if (!empty($tracking_id_seller)) {
  46.                 $tracking_status_seller_new_full = $this->check_tracking_status($tracking_id_warehouse);
  47.                 $tracking_status_seller_new = $tracking_status_seller_new_full['data']['tracking']['tag'];
  48.                 if ($tracking_status_seller != $tracking_status_seller_new) {
  49.                     update_post_meta($book_id, 'tracking_status_seller', $tracking_status_seller_new);
  50.                     $this->mail_on_track_update($user_id, $tracking_status_seller_new, $book_id);
  51.                 }              
  52.             }
  53.             //end with checks
  54.         }
  55.         //end with books loop
  56.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement