ios_file_schedule.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. require_once(APP_ROOT_PATH.'system/libs/schedule.php');
  3. class ios_file_schedule implements schedule {
  4. /**
  5. * $data 格式
  6. * array("dest"=>device_tokens,"content"=>序列化的消息配置);
  7. */
  8. public function exec($data){
  9. require_once(APP_ROOT_PATH. 'system/umeng/notification/ios/IOSFilecast.php');
  10. try {
  11. $appMasterSecret = $GLOBALS['db']->getOne("select val from ".DB_PREFIX."m_config where code = 'ios_master_secret'");
  12. $appkey = $GLOBALS['db']->getOne("select val from ".DB_PREFIX."m_config where code = 'ios_app_key'");
  13. $filecast = new IOSFilecast();
  14. $filecast->setAppMasterSecret($appMasterSecret);
  15. $filecast->setPredefinedKeyValue("appkey", $appkey);
  16. $filecast->setPredefinedKeyValue("timestamp", strval(time()));
  17. // Set your device tokens here
  18. $filecast->uploadContents($data['file_code']);
  19. $file_id = $filecast->getFileId();
  20. $filecast->setPredefinedKeyValue("alert", $data['content']);
  21. $filecast->setPredefinedKeyValue("badge", 1);
  22. $filecast->setPredefinedKeyValue("sound", "chime");
  23. // Set 'production_mode' to 'true' if your app is under production mode
  24. $filecast->setPredefinedKeyValue("production_mode", "true");
  25. $filecast->setPredefinedKeyValue("file_id", $file_id);//必填 文件ID
  26. $filecast->setCustomizedField("room_id", $data['room_id']);
  27. $filecast->setCustomizedField("type", $data['type']);
  28. $result = $filecast->send();
  29. $res = json_decode($result,1);
  30. //print("Sent SUCCESS\r\n");
  31. if ($res['ret'] == 'SUCCESS'){
  32. $is_success = 1;
  33. }else{
  34. $is_success = 0;
  35. $message = addslashes(print_r($result,true));
  36. }
  37. } catch (Exception $e) {
  38. $is_success = 0;
  39. $message = strim($e->getMessage());
  40. return false;
  41. }
  42. $result = array();
  43. $result['status'] = $is_success;
  44. $result['attemp'] = 0;
  45. $result['info'] = $message;
  46. $result['res'] = $res;
  47. $result['file_id'] = $file_id;
  48. return $result;
  49. }
  50. }
  51. ?>