# blockspare/3.0.0/admin/rest-request.php

BlockSpare – Gutenberg Blocks for News, Magazine, Blog &amp; Business Websites, version 3.0.0. 143 lines.

- Page: https://pluginprobe.com/plugins/blockspare/3.0.0/code/admin/rest-request.php
- Raw: https://pluginprobe.com/plugins/blockspare/3.0.0/raw/admin/rest-request.php
- Modified: 2023-09-07T10:20:36+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/blockspare/3.0.0/code/admin/rest-request.php#L10-L20`.

```php
<?php 

add_action( 'rest_api_init', 'blockspare_register_rest_controller');

function blockspare_register_rest_controller(){
    register_rest_route('blockspare-dashboard/v1', '/blocksettings', array(
               
        //Endpoint to get settings
        [
            'methods' => \WP_REST_Server::READABLE,
            'callback'=>function($request){
                $aligncenter_size =get_option('blocksapre_general_settings_aligncenter_size',[]);
                $alignwide_size =get_option('blocksapre_general_settings_alignwide_size',[]);
                $tablet_breakpoint =get_option('blocksapre_general_settings_tablet_breakpoint',[]);
                $mobile_breakpoint =get_option('blocksapre_general_settings_mobile_breakpoint',[]);
                return rest_ensure_response([
                    'aligncenter_size'=>$aligncenter_size,
                    'alignwide_size'=>$alignwide_size,
                    'tablet_breakpoint'=>$tablet_breakpoint,
                    'mobile_breakpoint'=>$mobile_breakpoint,
                ],200);
            },
            'permission_callback'=>function(){
                return current_user_can('manage_options');
            }
        ],
         
    ));

    register_rest_route('blockspare-dashboard/v1', '/updateblocksettings',
    array(
         //Endpoint to Update settings
         [
            'methods'=>\WP_REST_Server::EDITABLE,
            'callback'=>function($request){
                $settings = $request->get_params('data');
                update_option('blocksapre_general_settings_aligncenter_size',$settings['aligncenter_size']);
                update_option('blocksapre_general_settings_alignwide_size',$settings['alignwide_size']);
                update_option('blocksapre_general_settings_tablet_breakpoint',$settings['tablet_breakpoint']);
                update_option('blocksapre_general_settings_mobile_breakpoint',$settings['mobile_breakpoint']);
                return rest_ensure_response([
                    'success'=>'success'
                ],201);
                
            },
            'permission_callback'=>function(){
                return current_user_can('manage_options');
            }
        ]
        ));
        //color settings
        register_rest_route('blockspare-dashboard/v1', '/getcolorsettings', array(
               
            //Endpoint to get settings
            [
                'methods' => \WP_REST_Server::READABLE,
                'callback'=>function($request){
                    $primary =get_option('blocksapre_general_color_primary',[]);
                    $secondary =get_option('blocksapre_general_color_secondary',[]);
                    
                    return rest_ensure_response([
                        'primary'=>$primary,
                        'secondary'=>$secondary,
                      
                    ],200);
                },
                'permission_callback'=>function(){
                    return current_user_can('manage_options');
                }
            ],
             
        ));

        //updatecolor settings
        register_rest_route('blockspare-dashboard/v1', '/updatecolorsettings', array(
               
            //Endpoint to get settings
            [
                'methods'=>\WP_REST_Server::EDITABLE,
                'callback'=>function($request){
                    $settings = $request->get_params('data');
                    if($settings['name']=='primary'){
                        update_option('blocksapre_general_color_primary',$settings['primary']);
                    }
                    if($settings['name']=='secondary'){
                        update_option('blocksapre_general_color_secondary',$settings['secondary']);
                    }
                   
                   
                    return rest_ensure_response([
                        'success'=>'success'
                    ],201);
                    
                },
                'permission_callback'=>function(){
                    return current_user_can('manage_options');
                }
            ]
             
        ));


        //Typo settings
        register_rest_route('blockspare-dashboard/v1', '/gettyposettings', array(
               
            //Endpoint to get settings
            [
                'methods' => \WP_REST_Server::READABLE,
                'callback'=>function($request){
                    $primary =get_option('blocksapre_general_primary_font',[]);
                    return rest_ensure_response([
                        'primaryFonts'=>($primary)?$primary:['value'=>'','label'=>'Default','Weight'=>[],'google'=>false],
                        
                    ],200);
                },
                'permission_callback'=>function(){
                    return current_user_can('manage_options');
                }
            ],
             
        ));
        //update typo settings
        register_rest_route('blockspare-dashboard/v1', '/updatetypoettings', array(
               
            //Endpoint to get settings
            [
                'methods'=>\WP_REST_Server::EDITABLE,
                'callback'=>function($request){
                    $settings = $request->get_params('data');
                   update_option('blocksapre_general_primary_font',$settings['primaryFonts']);
                  
                    return rest_ensure_response([
                        'primaryFonts'=>$settings,
                    ],201);
                    
                },
                'permission_callback'=>function(){
                    return current_user_can('manage_options');
                }
            ]
             
        ));
}
```
