| | 201 | * Check if the XML-RPC is enabled before calling the method. |
| | 202 | * |
| | 203 | * @since 4.5.0 |
| | 204 | * @access public |
| | 205 | */ |
| | 206 | public function call( $methodname, $args ) { |
| | 207 | /* |
| | 208 | * Respect old get_option() filters left for back-compat when the 'enable_xmlrpc' |
| | 209 | * option was deprecated in 3.5.0. Use the 'xmlrpc_enabled' hook instead. |
| | 210 | */ |
| | 211 | $enabled = apply_filters( 'pre_option_enable_xmlrpc', false ); |
| | 212 | if ( false === $enabled ) { |
| | 213 | $enabled = apply_filters( 'option_enable_xmlrpc', true ); |
| | 214 | } |
| | 215 | |
| | 216 | /** |
| | 217 | * Filter whether XML-RPC is enabled. |
| | 218 | * |
| | 219 | * This is the proper filter for turning off XML-RPC. |
| | 220 | * |
| | 221 | * @since 3.5.0 |
| | 222 | * |
| | 223 | * @param bool $enabled Whether XML-RPC is enabled. Default true. |
| | 224 | */ |
| | 225 | $enabled = apply_filters( 'xmlrpc_enabled', $enabled ); |
| | 226 | |
| | 227 | if ( ! $enabled ) { |
| | 228 | return new IXR_Error( 405, sprintf( __( 'XML-RPC services are disabled on this site.' ) ) ); |
| | 229 | } |
| | 230 | |
| | 231 | return parent::call( $methodname, $args ); |
| | 232 | } |
| | 233 | |
| | 234 | /** |
| 240 | | /* |
| 241 | | * Respect old get_option() filters left for back-compat when the 'enable_xmlrpc' |
| 242 | | * option was deprecated in 3.5.0. Use the 'xmlrpc_enabled' hook instead. |
| 243 | | */ |
| 244 | | $enabled = apply_filters( 'pre_option_enable_xmlrpc', false ); |
| 245 | | if ( false === $enabled ) { |
| 246 | | $enabled = apply_filters( 'option_enable_xmlrpc', true ); |
| 247 | | } |
| 248 | | |
| 249 | | /** |
| 250 | | * Filter whether XML-RPC is enabled. |
| 251 | | * |
| 252 | | * This is the proper filter for turning off XML-RPC. |
| 253 | | * |
| 254 | | * @since 3.5.0 |
| 255 | | * |
| 256 | | * @param bool $enabled Whether XML-RPC is enabled. Default true. |
| 257 | | */ |
| 258 | | $enabled = apply_filters( 'xmlrpc_enabled', $enabled ); |
| 259 | | |
| 260 | | if ( ! $enabled ) { |
| 261 | | $this->error = new IXR_Error( 405, sprintf( __( 'XML-RPC services are disabled on this site.' ) ) ); |
| 262 | | return false; |
| 263 | | } |
| 264 | | |