api.php 961 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. /*
  3. if ( ! isset( $_REQUEST['action'] ) )
  4. die('-1');*/
  5. if (!extension_loaded('json'))
  6. include dirname(__FILE__) . '/compat-json.php';
  7. require '../../../wp-load.php';
  8. require '../../../wp-admin/includes/admin.php';
  9. do_action('admin_init');
  10. if (!headers_sent()) {
  11. nocache_headers();
  12. header('Content-Type: text/javascript; charset=utf-8');
  13. }
  14. if (!class_exists('Duoshuo_WordPress', false)){
  15. $response = array(
  16. 'code' => 30,
  17. 'errorMessage' => 'Duoshuo plugin hasn\'t been activated.'
  18. );
  19. echo json_encode($response);
  20. exit;
  21. }
  22. require DUOSHUO_PLUGIN_PATH . '/LocalServer.php';
  23. $plugin = Duoshuo_WordPress::getInstance();
  24. try{
  25. if ($_SERVER['REQUEST_METHOD'] == 'POST'){
  26. $input = $_POST;
  27. if (isset($input['spam_confirmed'])) //D-Z Theme 会给POST设置这个参数
  28. unset($input['spam_confirmed']);
  29. $server = new Duoshuo_LocalServer($plugin);
  30. $server->dispatch($input);
  31. }
  32. }
  33. catch (Exception $e){
  34. $plugin->sendException($e);
  35. }