HEX
Server: Apache
System: Linux p3plzcpnl506847.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: slfopp7cb1df (5698090)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: /home/slfopp7cb1df/www/shaneconrad.me/wp-content/plugins/embedpress/EmbedPress/RestAPI.php
<?php

namespace EmbedPress;

use EmbedPress\Includes\Classes\Helper;
use Embera\Embera;
use WP_Error as WP_ErrorAlias;
use WP_REST_Request;
use WP_REST_Response;

(defined('ABSPATH') && defined('EMBEDPRESS_IS_LOADED')) or die("No direct script access allowed.");

/**
 * Entity responsible for maintaining and registering all hooks that power the plugin.
 *
 * @package     EmbedPress
 * @author      EmbedPress <help@embedpress.com>
 * @copyright   Copyright (C) 2023 WPDeveloper. All rights reserved.
 * @license     GPLv3 or later
 * @since       1.0.0
 */
class RestAPI
{
    /**
     * @param  WP_REST_Request  $request
     *
     * @return WP_REST_Response | WP_ErrorAlias
     */
    public static function oembed($request)
    {
        $url = esc_url_raw($request->get_param('url'));
		$playlist_id = $request->get_param( 'list');
	    if ( !empty( $playlist_id) ) {
		    $url .= "&list=$playlist_id";
		}

		$atts = $request->get_params();


        if (empty($url)) {
            return new WP_ErrorAlias('embedpress_invalid_url', 'Invalid Embed URL', ['status' => 404]);
        }

        $atts = Helper::removeQuote($atts);

        // Map Meetup-specific Gutenberg attributes to shortcode attributes
        if (!empty($url) && strpos($url, 'meetup.com') !== false) {
            if (isset($atts['meetupOrderBy'])) {
                $atts['orderby'] = $atts['meetupOrderBy'];
            }
            if (isset($atts['meetupOrder'])) {
                $atts['order'] = $atts['meetupOrder'];
            }
            if (isset($atts['meetupPerPage'])) {
                $atts['per_page'] = $atts['meetupPerPage'];
            }
            if (isset($atts['meetupEnablePagination'])) {
                $atts['enable_pagination'] = $atts['meetupEnablePagination'];
            }
            if (isset($atts['meetupTimezone'])) {
                $atts['timezone'] = $atts['meetupTimezone'];
            }
            if (isset($atts['meetupDateFormat'])) {
                $atts['date_format'] = $atts['meetupDateFormat'];
            }
            if (isset($atts['meetupTimeFormat'])) {
                $atts['time_format'] = $atts['meetupTimeFormat'];
            }
        }

        $urlInfo = Shortcode::parseContent( $url, true, $atts);
        if (empty($urlInfo)) {
            return new WP_ErrorAlias('embedpress_invalid_url', 'Invalid Embed URL', ['status' => 404]);
        }
        return new WP_REST_Response($urlInfo, 200);
    }

    
}