Current File : /home/pacjaorg/wpt.pacja.org/2024/wp-content/plugins/ekit-megamenu/app/rest_api.php
<?php
if ( ! defined( 'ABSPATH' ) ) exit;

class Ekit_Menu_Ajax_Api{

    protected $request = [];

    //calling the method dynamically
	public function call_method($request){
        if(isset($request['method']) && method_exists($this, $request['method'])){
            $this->request = $request;
            return $this->{$request['method']}();
        }
    }

    public function save_settings_menu_location(){
        $meta_key = 'ekit_menu_location_settings';
        $menu_id = $this->request['ekit_current_menu_id'];

        $data = (array)json_decode(get_option($meta_key));
        $data['menu_location_' . $menu_id] = [
            'is_enabled' => $this->request['is_enabled'],
            'theme' => $this->request['theme'],
        ];

        update_option($meta_key, json_encode($data), '');
        //$dataX = (array)json_decode(get_option($meta_key));
        return [
            'saved' => 1,
            'message' => esc_html__('Saved', 'ekit-megamenu'),
            //'data' => $dataX
        ];
    }

    public function save_menu_item(){
/*
            menu_id : $('#ekit-menu-modal-menu-id').val(),
            menu_has_child : $('#ekit-menu-modal-menu-has-child').val(),

            menu_enable : $('#ekit-menu-item-enable:checked').val(),
            menu_icon : $('#ekit-menu-icon-field').val(),
            menu_icon_color : $('#ekit-menu-icon-color-field').val(),
            menu_badge_text : $('#ekit-menu-badge-text-field').val(),
            menu_badge_color : $('#ekit-menu-badge-color-field').val(),
            menu_badge_background : $('#ekit-menu-badge-background-field').val(),
*/
        $meta_key = 'ekit_menu_item_settings';
        $menu_item_id = $this->request['ekit_menu']['menu_id'];
        $menu_item_settings = json_encode($this->request['ekit_menu']);
        update_post_meta( $menu_item_id, $meta_key, $menu_item_settings );

        //$dataX = get_post_meta($menu_item_id, $meta_key, true);
        return [
            'saved' => 1,
            'message' => esc_html__('Saved', 'ekit-megamenu'),
            //'data' => $dataX
        ];
    }

    public function get_menu_item(){

        $meta_key = 'ekit_menu_item_settings';
        $menu_item_id = $this->request['menu_id'];

        $data = get_post_meta($menu_item_id, $meta_key, true);
        return (array) json_decode($data);
    }

    public function get_builder_url(){
        $menu_item_id = $this->request['menu_id'];
        $builder_post_title = 'ekit-menu-item-' . $menu_item_id;
        $builder_post_id = get_page_by_title($builder_post_title, OBJECT, 'ekit_menu_item');

        if(is_null($builder_post_id)){
            $defaults = array(
                'post_content' => '',
                'post_title' => $builder_post_title,
                'post_status' => 'publish',
                'post_type' => 'ekit_menu_item',
            );
            $builder_post_id = wp_insert_post($defaults);

            update_post_meta( $builder_post_id, '_wp_page_template', 'elementor_canvas' );
        }else{
            $builder_post_id = $builder_post_id->ID;
        }


        $url = get_admin_url() . '/post.php?post='.$builder_post_id.'&action=elementor';
        wp_redirect( $url );
        exit;
    }

}

function ekit_menu_rest_api( WP_REST_Request $request ) {
    $class = new Ekit_Menu_Ajax_Api();
    return $class->call_method($request);
}

add_action( 'rest_api_init', function () {
    register_rest_route( 'ekit_menu_api/v1', '/(?P<method>\w+)/', array(
        'methods' => 'GET',
        'callback' => 'ekit_menu_rest_api',
        'permission_callback' => '__return_true',
    ));
});
Site is undergoing maintenance

PACJA Events

Maintenance mode is on

Site will be available soon. Thank you for your patience!