| | 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 | if ( 'pingback.' != substr( $methodname, 0, 9) ) { |
| | 208 | /* |
| | 209 | * Respect old get_option() filters left for back-compat when the 'enable_xmlrpc' |
| | 210 | * option was deprecated in 3.5.0. Use the 'xmlrpc_enabled' hook instead. |
| | 211 | */ |
| | 212 | $enabled = apply_filters( 'pre_option_enable_xmlrpc', false ); |
| | 213 | if ( false === $enabled ) { |
| | 214 | $enabled = apply_filters( 'option_enable_xmlrpc', true ); |
| | 215 | } |
| | 216 | |
| | 217 | /** |
| | 218 | * Filter whether XML-RPC is enabled. |
| | 219 | * |
| | 220 | * This is the proper filter for turning off XML-RPC. |
| | 221 | * |
| | 222 | * @since 3.5.0 |
| | 223 | * |
| | 224 | * @param bool $enabled Whether XML-RPC is enabled. Default true. |
| | 225 | */ |
| | 226 | $enabled = apply_filters( 'xmlrpc_enabled', $enabled ); |
| | 227 | |
| | 228 | if ( ! $enabled ) { |
| | 229 | return new IXR_Error( 405, sprintf( __( 'XML-RPC services are disabled on this site.' ) ) ); |
| | 230 | } |
| | 231 | } |
| | 232 | |
| | 233 | return parent::call( $methodname, $args ); |
| | 234 | } |
| | 235 | |
| | 236 | /** |
| 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 | | |