HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux acmehomecare 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: www-data (33)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/wp-content/plugins/colibri-page-builder/extend-builder/api/api.php
<?php
namespace ExtendBuilder;

class Api
{

    public static $name       = "extend_builder";
    public static $end_points = array();
    public static function addEndPoint($name, $api)
    {
        Api::$end_points[$name] = $api;
    }

    public function __construct()
    {
        $this->extendBuilderApi();
    }

    public function apiCall()
    {


        if (!colibri_user_can_customize()) {
            wp_send_json_error('unauthenticated');
            wp_die();
        }

        if (!defined('DOING_AJAX')) {
            define( 'DOING_AJAX', true );
        }
	    check_ajax_referer( 'extend_builder_api_nonce' );
        $options = isset($_REQUEST['api']) ? $_REQUEST['api'] : "{}";
        $options = wp_unslash($options);

        $options = json_decode($options, true);

        $data    = isset($options['data']) ? $options['data'] : false;
        $slug    = isset($options['action']) ? $options['action'] : false;

        if ($slug && method_exists($this, $slug)) {
            call_user_func_array(array($this, $slug), array($data));
        }

        $path = explode("/", $slug);
        if (count($path) == 2) {
            if (isset(Api::$end_points[$path[0]])) {
                $class = Api::$end_points[$path[0]];
                if (method_exists($class, $path[1])) {
                    call_user_func_array(array($class, $path[1]), array($data));
                }
            }
        }

        wp_die();
    }

    public function list_page_types()
    {
        
        echo json_encode($post_types);
    }
    
    public function extendBuilderApi()
    {
        add_action('wp_ajax_' . self::$name, function () {
            $this->apiCall();
        });
    }

}

new Api();