/**
* WP_oEmbed_Controller class, used to provide an oEmbed endpoint.
*
* @package WordPress
* @subpackage Embeds
* @since 4.4.0
*/
/**
* oEmbed API endpoint controller.
*
* Registers the REST API route and delivers the response data.
* The output format (XML or JSON) is handled by the REST API.
*
* @since 4.4.0
*/
#[AllowDynamicProperties]
final class WP_oEmbed_Controller {
/**
* Register the oEmbed REST API route.
*
* @since 4.4.0
*/
public function register_routes() {
/**
* Filters the maxwidth oEmbed parameter.
*
* @since 4.4.0
*
* @param int $maxwidth Maximum allowed width. Default 600.
*/
$maxwidth = apply_filters( 'oembed_default_width', 600 );
register_rest_route(
'oembed/1.0',
'/embed',
array(
array(
'methods' => WP_REST_Server::READABLE,
'callback' => array( $this, 'get_item' ),
'permission_callback' => '__return_true',
'args' => array(
'url' => array(
'description' => __( 'The URL of the resource for which to fetch oEmbed data.' ),
'required' => true,
'type' => 'string',
'format' => 'uri',
),
'format' => array(
'default' => 'json',
'sanitize_callback' => 'wp_oembed_ensure_format',
),
'maxwidth' => array(
'default' => $maxwidth,
'sanitize_callback' => 'absint',
),
),
),
)
);
register_rest_route(
'oembed/1.0',
'/proxy',
array(
array(
'methods' => WP_REST_Server::READABLE,
'callback' => array( $this, 'get_proxy_item' ),
'permission_callback' => array( $this, 'get_proxy_item_permissions_check' ),
'args' => array(
'url' => array(
'description' => __( 'The URL of the resource for which to fetch oEmbed data.' ),
'required' => true,
'type' => 'string',
'format' => 'uri',
),
'format' => array(
'description' => __( 'The oEmbed format to use.' ),
'type' => 'string',
'default' => 'json',
'enum' => array(
'json',
'xml',
),
),
'maxwidth' => array(
'description' => __( 'The maximum width of the embed frame in pixels.' ),
'type' => 'integer',
'default' => $maxwidth,
'sanitize_callback' => 'absint',
),
'maxheight' => array(
'description' => __( 'The maximum height of the embed frame in pixels.' ),
'type' => 'integer',
'sanitize_callback' => 'absint',
),
'discover' => array(
'description' => __( 'Whether to perform an oEmbed discovery request for unsanctioned providers.' ),
'type' => 'boolean',
'default' => true,
),
),
),
)
);
}
/**
* Callback for the embed API endpoint.
*
* Returns the JSON object for the post.
*
* @since 4.4.0
*
* @param WP_REST_Request $request Full data about the request.
* @return array|WP_Error oEmbed response data or WP_Error on failure.
*/
public function get_item( $request ) {
$post_id = url_to_postid( $request['url'] );
/**
* Filters the determined post ID.
*
* @since 4.4.0
*
* @param int $post_id The post ID.
* @param string $url The requested URL.
*/
$post_id = apply_filters( 'oembed_request_post_id', $post_id, $request['url'] );
$data = get_oembed_response_data( $post_id, $request['maxwidth'] );
if ( ! $data ) {
return new WP_Error( 'oembed_invalid_url', get_status_header_desc( 404 ), array( 'status' => 404 ) );
}
return $data;
}
/**
* Checks if current user can make a proxy oEmbed request.
*
* @since 4.8.0
*
* @return true|WP_Error True if the request has read access, WP_Error object otherwise.
*/
public function get_proxy_item_permissions_check() {
if ( ! current_user_can( 'edit_posts' ) ) {
return new WP_Error( 'rest_forbidden', __( 'Sorry, you are not allowed to make proxied oEmbed requests.' ), array( 'status' => rest_authorization_required_code() ) );
}
return true;
}
/**
* Callback for the proxy API endpoint.
*
* Returns the JSON object for the proxied item.
*
* @since 4.8.0
*
* @see WP_oEmbed::get_html()
* @global WP_Embed $wp_embed WordPress Embed object.
* @global WP_Scripts $wp_scripts
*
* @param WP_REST_Request $request Full data about the request.
* @return object|WP_Error oEmbed response data or WP_Error on failure.
*/
public function get_proxy_item( $request ) {
global $wp_embed, $wp_scripts;
$args = $request->get_params();
// Serve oEmbed data from cache if set.
unset( $args['_wpnonce'] );
$cache_key = 'oembed_' . md5( serialize( $args ) );
$data = get_transient( $cache_key );
if ( ! empty( $data ) ) {
return $data;
}
$url = $request['url'];
unset( $args['url'] );
// Copy maxwidth/maxheight to width/height since WP_oEmbed::fetch() uses these arg names.
if ( isset( $args['maxwidth'] ) ) {
$args['width'] = $args['maxwidth'];
}
if ( isset( $args['maxheight'] ) ) {
$args['height'] = $args['maxheight'];
}
// Short-circuit process for URLs belonging to the current site.
$data = get_oembed_response_data_for_url( $url, $args );
if ( $data ) {
return $data;
}
$data = _wp_oembed_get_object()->get_data( $url, $args );
if ( false === $data ) {
// Try using a classic embed, instead.
/* @var WP_Embed $wp_embed */
$html = $wp_embed->get_embed_handler_html( $args, $url );
if ( $html ) {
// Check if any scripts were enqueued by the shortcode, and include them in the response.
$enqueued_scripts = array();
foreach ( $wp_scripts->queue as $script ) {
$enqueued_scripts[] = $wp_scripts->registered[ $script ]->src;
}
return (object) array(
'provider_name' => __( 'Embed Handler' ),
'html' => $html,
'scripts' => $enqueued_scripts,
);
}
return new WP_Error( 'oembed_invalid_url', get_status_header_desc( 404 ), array( 'status' => 404 ) );
}
/** This filter is documented in wp-includes/class-wp-oembed.php */
$data->html = apply_filters( 'oembed_result', _wp_oembed_get_object()->data2html( (object) $data, $url ), $url, $args );
/**
* Filters the oEmbed TTL value (time to live).
*
* Similar to the {@see 'oembed_ttl'} filter, but for the REST API
* oEmbed proxy endpoint.
*
* @since 4.8.0
*
* @param int $time Time to live (in seconds).
* @param string $url The attempted embed URL.
* @param array $args An array of embed request arguments.
*/
$ttl = apply_filters( 'rest_oembed_ttl', DAY_IN_SECONDS, $url, $args );
set_transient( $cache_key, $data, $ttl );
return $data;
}
}
The post Играйте и выигрывайте в популярном онлайн-казино Плинко! first appeared on .
]]>
Добро пожаловать в мир онлайн-казино, где каждый желающий может испытать удачу и выиграть крупный джекпот. Сегодня мы расскажем вам об одном из самых популярных казино в Казахстане – плинко казино.
Плинко казино – это популярное онлайн-казино, которое предлагает широкий выбор игр: от классических слотов до карточных игр. Здесь каждый игрок найдет что-то по душе.
Плинко казино радует своих игроков различными бонусами и акциями. Здесь вы можете получить дополнительные фриспины и увеличить свои шансы на выигрыш.
Для того чтобы начать играть в плинко казино, вам необходимо зарегистрироваться на сайте. Процесс регистрации займет всего несколько минут, и вы сразу же сможете приступить к игре на реальные деньги.
Плинко казино предлагает своим игрокам огромный выбор онлайн-игр, которые подойдут как новичкам, так и опытным игрокам. Здесь вы сможете насладиться захватывающим игровым опытом и выиграть крупный приз.
Не упустите свой шанс испытать удачу в плинко казино! скачать пинко казино сейчас и начать играть в любимые игры казино.
The post Играйте и выигрывайте в популярном онлайн-казино Плинко! first appeared on .
]]>The post Pinco Casino Apk: En İyi Çevrimiçi Casino Deneyimi Türkiye’de! first appeared on .
]]>
Pinco casino apk, Türkiye’de en popüler çevrimiçi casino oyunlarına erişim sağlayan bir uygulamadır. Bu uygulama sayesinde slotlar, bonuslar, ücretsiz dönüşler ve birçok farklı oyun seçeneğine kolayca erişebilirsiniz.
Pinco casino apk ile oynamak oldukça kolaydır. Uygulamayı indirip hemen kayıt olabilir ve çevrimiçi oyunların keyfini çıkarabilirsiniz. Gerçek para ile oynamak isterseniz, güvenli ödeme yöntemleri ile kolayca yatırım yapabilirsiniz.
Pinco casino apk, birbirinden eğlenceli slot oyunları ile doludur. Farklı temalara sahip slot makinelerinde şansınızı deneyebilir ve büyük ödüller kazanabilirsiniz. Ücretsiz dönüşler ve bonuslar sayesinde kazanma şansınızı arttırabilirsiniz.
Pinco casino apk, kullanıcılarına en iyi oyun deneyimini sunmayı hedefler. Hızlı yükleme süreleri, akıcı grafikler ve ses efektleri ile casino oyunlarını gerçek bir casinoda oynuyormuş gibi hissedeceksiniz. Güvenilir altyapısı sayesinde kesintisiz bir oyun deneyimi yaşayacaksınız.
Pinco casino apk, oyuncularına çeşitli bonuslar ve promosyonlar sunar. Yeni üyelik bonusları, yatırım bonusları, ücretsiz dönüşler ve daha birçok fırsatı kaçırmamak için uygulamayı hemen indirin ve kayıt olun. Pinco casino apk ile kazanmak hiç bu kadar kolay olmamıştı!
The post Pinco Casino Apk: En İyi Çevrimiçi Casino Deneyimi Türkiye’de! first appeared on .
]]>The post Онлайн казино в Казахстане: широкий выбор игр и бонусов first appeared on .
]]>
В настоящее время онлайн казино в Казахстане становятся все более популярными среди любителей азартных игр. Это удобный и доступный способ насладиться азартом, не выходя из дома. В этой статье мы расскажем о самых популярных онлайн казино в Казахстане, их особенностях и преимуществах.
Одним из самых популярных развлечений в онлайн казино являются слоты. Игровые автоматы пользуются большой популярностью среди игроков благодаря своей простоте и возможности выигрывать крупные суммы. Вы можете наслаждаться разнообразием слотов в онлайн казино в Казахстане, просто перейдя по ссылке слоты казино.
Онлайн казино в Казахстане часто предлагают различные бонусы и акции для новых и постоянных игроков. Среди них можно найти бонусы за регистрацию, бесплатные вращения (фриспины) на слотах, кэшбэк и многое другое. Эти бонусы позволяют увеличить ваш игровой опыт и шансы на выигрыш.
Для того чтобы начать играть в онлайн казино в Казахстане, вам необходимо пройти процедуру регистрации. Это обычно занимает всего несколько минут, и после этого вы сможете пополнить счет и начать играть на реальные деньги. Благодаря широкому выбору платежных систем, вы сможете сделать депозит и вывести свои выигрыши в удобное для вас время.
В онлайн казино в Казахстане вы найдете огромное количество разнообразных игр, включая слоты, рулетку, блэкджек, покер и многое другое. Благодаря высокому качеству графики и звука, вы сможете погрузиться в атмосферу настоящего казино и насладиться игровым процессом в полной мере.
Итак, онлайн казино в Казахстане предлагают широкий выбор игр, бонусов и удобную систему пополнения счета. Наслаждайтесь азартом, играйте на реальные деньги и получайте удовольствие от игры в онлайн казино прямо из дома!
The post Онлайн казино в Казахстане: широкий выбор игр и бонусов first appeared on .
]]>The post Pinco казино: новое слово в мире онлайн-азартных игр! first appeared on .
]]>
Pinco казино: новое слово в мире онлайн-азартных игр. Если вы ищете захватывающий игровой опыт, увлекательные слоты и щедрые бонусы, то Pinco казино – ваш идеальный выбор!
Для начала игры на реальные деньги в Pinco казино вам необходимо пройти простую процедуру регистрации. Зайдите на официальный сайт https://pincoapp.com.kz/ и создайте аккаунт, заполнив несколько обязательных полей.
Pinco казино предлагает широкий выбор онлайн-игр, среди которых вы найдете классические слоты, а также современные игры с захватывающим геймплеем. Наслаждайтесь качественной графикой и возможностью выиграть крупный джекпот!
При регистрации в Pinco казино вас ждут различные бонусы и акции. Получите фриспины на популярные слоты и увеличьте свои шансы на выигрыш. Следите за актуальными промо-кодами и не упустите свой шанс!
Pinco казино создано с учетом потребностей игроков. Удобный интерфейс, быстрые выплаты выигрышей и круглосуточная поддержка пользователей делают игровой процесс максимально комфортным и увлекательным.
Присоединяйтесь к сообществу любителей азартных игр и испытайте удачу вместе с Pinco казино уже сегодня!
The post Pinco казино: новое слово в мире онлайн-азартных игр! first appeared on .
]]>