2008-01-17 16:44:05 +01:00
< ? php
/**
2010-11-16 18:30:18 +01:00
* $Id : rpc . php 915 2008 - 09 - 03 08 : 45 : 28 Z spocke $
2008-01-17 16:44:05 +01:00
*
2008-08-20 08:20:22 +02:00
* @ package MCManager . includes
2008-01-17 16:44:05 +01:00
* @ author Moxiecode
* @ copyright Copyright <EFBFBD> 2004 - 2007 , Moxiecode Systems AB , All rights reserved .
*/
require_once ( " ./includes/general.php " );
// Set RPC response headers
header ( 'Content-Type: text/plain' );
header ( 'Content-Encoding: UTF-8' );
header ( " Expires: Mon, 26 Jul 1997 05:00:00 GMT " );
header ( " Last-Modified: " . gmdate ( " D, d M Y H:i:s " ) . " GMT " );
header ( " Cache-Control: no-store, no-cache, must-revalidate " );
header ( " Cache-Control: post-check=0, pre-check=0 " , false );
header ( " Pragma: no-cache " );
$raw = " " ;
// Try param
if ( isset ( $_POST [ " json_data " ]))
$raw = getRequestParam ( " json_data " );
// Try globals array
if ( ! $raw && isset ( $_GLOBALS ) && isset ( $_GLOBALS [ " HTTP_RAW_POST_DATA " ]))
$raw = $_GLOBALS [ " HTTP_RAW_POST_DATA " ];
// Try globals variable
if ( ! $raw && isset ( $HTTP_RAW_POST_DATA ))
$raw = $HTTP_RAW_POST_DATA ;
// Try stream
if ( ! $raw ) {
if ( ! function_exists ( 'file_get_contents' )) {
$fp = fopen ( " php://input " , " r " );
if ( $fp ) {
$raw = " " ;
while ( ! feof ( $fp ))
$raw = fread ( $fp , 1024 );
fclose ( $fp );
}
} else
$raw = " " . file_get_contents ( " php://input " );
}
// No input data
if ( ! $raw )
die ( '{"result":null,"id":null,"error":{"errstr":"Could not get raw post data.","errfile":"","errline":null,"errcontext":"","level":"FATAL"}}' );
2008-07-31 06:01:30 +02:00
// Passthrough request to remote server
if ( isset ( $config [ 'general.remote_rpc_url' ])) {
$url = parse_url ( $config [ 'general.remote_rpc_url' ]);
// Setup request
$req = " POST " . $url [ " path " ] . " HTTP/1.0 \r \n " ;
$req .= " Connection: close \r \n " ;
$req .= " Host: " . $url [ 'host' ] . " \r \n " ;
$req .= " Content-Length: " . strlen ( $raw ) . " \r \n " ;
$req .= " \r \n " . $raw ;
if ( ! isset ( $url [ 'port' ]) || ! $url [ 'port' ])
$url [ 'port' ] = 80 ;
$errno = $errstr = " " ;
$socket = fsockopen ( $url [ 'host' ], intval ( $url [ 'port' ]), $errno , $errstr , 30 );
if ( $socket ) {
// Send request headers
fputs ( $socket , $req );
// Read response headers and data
$resp = " " ;
while ( ! feof ( $socket ))
$resp .= fgets ( $socket , 4096 );
fclose ( $socket );
// Split response header/data
$resp = explode ( " \r \n \r \n " , $resp );
echo $resp [ 1 ]; // Output body
}
die ();
}
2008-01-17 16:44:05 +01:00
// Get JSON data
$json = new Moxiecode_JSON ();
$input = $json -> decode ( $raw );
// Execute RPC
if ( isset ( $config [ 'general.engine' ])) {
$spellchecker = new $config [ 'general.engine' ]( $config );
$result = call_user_func_array ( array ( $spellchecker , $input [ 'method' ]), $input [ 'params' ]);
TinyMCE 4.0.12, first run.
- Removes wp-tinymce-schema.js and mark-loaded.js, no longer needed.
- Removes the inlinepopups and most of the wpdialogs plugins; wpdialog.js is moved to wp-includes/js.
- Adds charmap, compat3x, image, link and textcolor plugins, previously contained in /themes/advanced.
- Updates the wordpress, wpeditimage, wpfullscreen, wpgallery and wplink plugins.
- Updates DFW, wp-admin/js/wp-fullscreen.js.
See #24067.
Built from https://develop.svn.wordpress.org/trunk@26876
git-svn-id: http://core.svn.wordpress.org/trunk@26759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-29 00:53:15 +01:00
} else {
// die('{"result":null,"id":null,"error":{"errstr":"You must choose an spellchecker engine in the config.php file.","errfile":"","errline":null,"errcontext":"","level":"FATAL"}}');
die ( '{"error":"You must choose spellchecker engine in the config.php file."}' );
}
2008-01-17 16:44:05 +01:00
// Request and response id should always be the same
$output = array (
" id " => $input -> id ,
" result " => $result ,
" error " => null
);
// Return JSON encoded string
echo $json -> encode ( $output );
2010-11-16 18:30:18 +01:00
?>