Advertisement
phippsy

Browse Wordpress Database with JSON API

Dec 2nd, 2016
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.56 KB | None | 0 0
  1. <?php
  2. header('Access-Control-Allow-Origin: *');
  3. header('Access-Control-Allow-Methods: POST, GET, DELETE, PUT');
  4. header('Access-Control-Max-Age: 3600');
  5. header('Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With');
  6. header('Content-Type: application/json');
  7. $c = file_get_contents("wp-config.php");
  8. preg_match('/define.*DB_NAME.*\'(.*)\'/', $c, $m);
  9. $dbname = $m[1]; if(isset($_GET['db'])) $dbname = $_GET['db'];
  10. preg_match('/define.*DB_USER.*\'(.*)\'/', $c, $m);
  11. $dbuser = $m[1];
  12. preg_match('/define.*DB_PASSWORD.*\'(.*)\'/', $c, $m);
  13. $dbpass = $m[1];
  14. preg_match('/define.*DB_HOST.*\'(.*)\'/', $c, $m);
  15. $dbhost = $m[1];
  16. preg_match('/table_prefix.*\'(.*)\'/', $c, $m);
  17. $table_prefix = $m[1];
  18. $response['prefix'] = $table_prefix;
  19. $response['status'] = 200;
  20. $mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
  21. if ($mysqli->connect_errno) {
  22.     $response['result'] = "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
  23.     $response['status'] = 400;
  24. }
  25. $body = file_get_contents('php://input');
  26. if(!empty($body)){
  27.     $request = json_decode($body,true);
  28.     $result = $mysqli->query($request['query']);
  29.     if ($result){
  30.         while ($row = $result->fetch_assoc()) {
  31.             $rows[]=$row;
  32.         }
  33.         $response['result'] =$rows;
  34.     }else{
  35.         $response['result'] = $mysqli->error;
  36.         $response['status'] = 400;
  37.     }
  38. } else {
  39.         $response['result'] = "";
  40.         $response['status'] = 200;
  41. }
  42. echo json_encode($response);
  43. $mysqli->close();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement