PHP 8.2.31
Preview: api.php Size: 1.04 KB
//home/nshryvcy/radiantskinclinics.org/wp-content/plugins/metform/base/api.php

<?php

namespace MetForm\Base;

defined('ABSPATH') || exit;

abstract class Api
{

    public $prefix = '';
    public $param = '';
    public $request = null;

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

    public abstract function config();

    public function init()
    {
        add_action('rest_api_init', function () {
            register_rest_route(untrailingslashit('metform/v1/' . $this->prefix), '/(?P<action>\w+)/' . ltrim($this->param, '/'), array(
                'methods' => \WP_REST_Server::ALLMETHODS,
                'callback' => [$this, 'action'],
                'permission_callback' => '__return_true',
            ));
        });
    }

    public function action($request)
    {
        $this->request = $request;
        $action_class = strtolower($this->request->get_method()) . '_' . $this->request['action'];

        if (method_exists($this, $action_class)) {

            return $this->{$action_class}();
            
        }
    }
}

Directory Contents

Dirs: 0 × Files: 4

Name Size Perms Modified Actions
1.04 KB lrw-r--r-- 2020-08-19 11:58:10
Edit Download
589 B lrw-r--r-- 2020-03-04 18:44:26
Edit Download
390 B lrw-r--r-- 2023-01-08 15:19:54
Edit Download
7.96 KB lrw-r--r-- 2026-06-09 12:11:42
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).