%PDF- %PDF-
Direktori : /var/www/projetos/vagas.ongrace.com/wp-content/plugins/master-addons/inc/templates/classes/ |
Current File : //var/www/projetos/vagas.ongrace.com/wp-content/plugins/master-addons/inc/templates/classes/api.php |
<?php /** * Author Name: Liton Arefin * Author URL: https://jeweltheme.com * Date: 9/8/19 */ namespace MasterAddons\Inc\Templates\Classes; use MasterAddons\Inc\Templates; if( ! defined( 'ABSPATH' ) ) exit; // No access of directly access if ( ! class_exists( 'Master_Addons_Templates_API' ) ) { class Master_Addons_Templates_API { private $config = array(); private $enabled = null; public function __construct() { $this->config = Templates\master_addons_templates()->config->get( 'api' ); } public function is_enabled() { if ( null !== $this->enabled ) { return $this->enabled; } if ( empty( $this->config['enabled'] ) || true !== $this->config['enabled'] ) { $this->enabled = false; return $this->enabled; } if ( empty( $this->config['base'] ) || empty( $this->config['path'] ) || empty( $this->config['endpoints'] ) ) { $this->enabled = false; return $this->enabled; } $this->enabled = true; return $this->enabled; } public function api_url( $flag ) { if ( ! $this->is_enabled() ) { return false; } if ( empty( $this->config['endpoints'][ $flag ] ) ) { return false; } return $this->config['base'] . $this->config['path'] . $this->config['endpoints'][ $flag ]; } public function get_info( $key = '' ) { $api_url = $this->api_url( 'info' ); if ( ! $api_url ) { return false; } $response = wp_remote_get( $api_url, $this->request_args() ); $body = wp_remote_retrieve_body( $response ); $body = json_decode( $body, true ); if ( ! $body || ! isset( $body['success'] ) || true !== $body['success'] ) { return false; } if ( ! $key ) { unset( $body['success'] ); return $body; } if ( is_string( $key ) ) { return isset( $body[ $key ] ) ? $body[ $key ] : false; } if ( is_array( $key ) ) { $result = array(); foreach ( $key as $_key ) { $result[ $_key ] = isset( $body[ $_key ] ) ? $body[ $_key ] : false; } return $result; } } public function request_args() { return array( 'timeout' => 60, 'sslverify' => false ); } } }