Automattic /
jetpack
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
| 1 | <?php |
||
| 2 | /** |
||
| 3 | * Custom Css update endpoint |
||
| 4 | * |
||
| 5 | * https://public-api.wordpress.com/rest/v1.1/sites/$site/customcss/ |
||
| 6 | */ |
||
| 7 | |||
| 8 | new WPCOM_JSON_API_Update_CustomCss_Endpoint( array ( |
||
| 9 | 'description' => 'Set custom-css data for a site.', |
||
| 10 | 'group' => '__do_not_document', |
||
| 11 | 'stat' => 'customcss:1:update', |
||
| 12 | 'method' => 'POST', |
||
| 13 | 'min_version' => '1.1', |
||
| 14 | 'path' => '/sites/%s/customcss', |
||
| 15 | 'path_labels' => array( |
||
| 16 | '$site' => '(string) Site ID or domain.', |
||
| 17 | ), |
||
| 18 | 'request_format' => array( |
||
| 19 | 'css' => '(string) Optional. The raw CSS.', |
||
| 20 | 'preprocessor' => '(string) Optional. The name of the preprocessor if any.', |
||
| 21 | 'add_to_existing' => '(bool) Optional. False to skip the existing styles.', |
||
| 22 | ), |
||
| 23 | 'response_format' => array( |
||
| 24 | 'css' => '(string) The raw CSS.', |
||
| 25 | 'preprocessor' => '(string) The name of the preprocessor if any.', |
||
| 26 | 'add_to_existing' => '(bool) False to skip the existing styles.', |
||
| 27 | ), |
||
| 28 | 'example_request' => 'https://public-api.wordpress.com/rest/v1.1/sites/12345678/customcss', |
||
| 29 | 'example_request_data' => array( |
||
| 30 | 'headers' => array( 'authorization' => 'Bearer YOUR_API_TOKEN' ), |
||
| 31 | 'body' => array( |
||
| 32 | 'css' => '.stie-title { color: #fff; }', |
||
| 33 | 'preprocessor' => 'sass' |
||
| 34 | ), |
||
| 35 | ), |
||
| 36 | 'example_response' => ' |
||
| 37 | { |
||
| 38 | "css": ".site-title { color: #fff; }", |
||
| 39 | "preprocessor": "sass", |
||
| 40 | "add_to_existing": "true" |
||
| 41 | }' |
||
| 42 | ) ); |
||
| 43 | |||
| 44 | class WPCOM_JSON_API_Update_CustomCss_Endpoint extends WPCOM_JSON_API_Endpoint { |
||
| 45 | /** |
||
| 46 | * API callback. |
||
| 47 | */ |
||
| 48 | function callback( $path = '', $blog_id = 0 ) { |
||
| 49 | // Switch to the given blog. |
||
| 50 | $blog_id = $this->api->switch_to_blog_and_validate_user( $this->api->get_blog_id( $blog_id ) ); |
||
| 51 | if ( is_wp_error( $blog_id ) ) { |
||
| 52 | return $blog_id; |
||
| 53 | } |
||
| 54 | |||
| 55 | if ( ! current_user_can( 'edit_theme_options' ) ) { |
||
| 56 | return new WP_Error( 'unauthorized', 'User is not authorized to access custom css', 403 ); |
||
| 57 | } |
||
| 58 | |||
| 59 | $args = $this->input(); |
||
| 60 | if ( empty( $args ) || ! is_array( $args ) ) { |
||
| 61 | return new WP_Error( 'no_data', 'No data was provided.', 400 ); |
||
| 62 | } |
||
| 63 | $save_args = array( |
||
| 64 | 'css' => $args['css'], |
||
| 65 | 'preprocessor' => $args['preprocessor'], |
||
| 66 | 'add_to_existing' => $args['add_to_existing'], |
||
| 67 | ); |
||
| 68 | Jetpack_Custom_CSS::save( $save_args ); |
||
| 69 | |||
| 70 | $current = array( |
||
| 71 | 'css' => Jetpack_Custom_CSS::get_css(), |
||
| 72 | 'preprocessor' => Jetpack_Custom_CSS::get_preprocessor_key(), |
||
| 73 | 'add_to_existing' => ! Jetpack_Custom_CSS::skip_stylesheet(), |
||
| 74 | ); |
||
| 75 | |||
| 76 | $defaults = array( |
||
| 77 | 'css' => '', |
||
| 78 | 'preprocessor' => '', |
||
| 79 | 'add_to_existing' => true, |
||
| 80 | ); |
||
| 81 | return wp_parse_args( $current, $defaults ); |
||
|
0 ignored issues
–
show
|
|||
| 82 | } |
||
| 83 | } |
||
| 84 | |||
| 85 | |||
| 86 | |||
| 87 |
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: