Exemplo n.º 1
0
 public static function SendPushMessage($device_token, $device_type, $message, $sendsetting = array(), $sendtime = 0)
 {
     global $wpdb;
     $token = array();
     $ios_name = $wpdb->get_var("SELECT ios_name FROM " . $wpdb->prefix . "push_connection WHERE id='" . self::$apisetting['def_connection'] . "'");
     self::$sendoptions['message'] = $message;
     if ($device_type == 'ios' or $device_type == $ios_name) {
         $token[0]['token'] = $device_token;
         $device_type = 'ios';
     } else {
         $token['token'][0] = $device_token;
         $device_type = 'android';
     }
     self::$sendoptions = array_merge(self::$sendoptions, $sendsetting);
     if ($sendtime > 0) {
         $transient_unique = rand(1000, 3000) . current_time('timestamp', 1);
         set_transient('smpush_cronsend_' . $transient_unique, self::$sendoptions, date('d', $sendtime - current_time('timestamp', 1)) + 86400);
         $crondata = array('token' => $device_token, 'device_type' => $device_type, 'sendtime' => $sendtime, 'sendoptions' => $transient_unique);
         $wpdb->insert($wpdb->prefix . 'push_cron_queue', $crondata);
         self::archiveMsgLog($message, $sendtime, $transient_unique);
     } else {
         self::$returnValue = true;
         self::updateStats();
         self::connectPush($message, $token, $device_type, self::$sendoptions, false);
         self::updateStats('all');
         self::$returnValue = false;
     }
 }