Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
malacoscolicine
/
dev2024_old_skip
/
wp-content
/
plugins
/
presto-player
/
inc
/
Services
:
Player.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace PrestoPlayer\Services; use PrestoPlayer\Contracts\Service; class Player implements Service { public function register() { // ajax percentage actions add_action('wp_ajax_presto_player_progress_percent', [$this, 'progressAjaxPercent']); add_action('wp_ajax_nopriv_presto_player_progress_percent', [$this, 'progressAjaxPercent']); add_action('wp_ajax_nopriv_presto_refresh_progress_nonce', [$this, 'generateNonce']); add_action('wp_ajax_presto_refresh_progress_nonce', [$this, 'generateNonce']); } // refresh nonce public function generateNonce() { return wp_send_json_success(wp_create_nonce('wp_rest')); } /** * Run ajax percent action * * @return void */ public function progressAjaxPercent() { $response = $this->progressAction(); if (is_wp_error($response)) { wp_send_json_error($response->get_error_message(), $response->get_all_error_data('status')); } return wp_send_json_success(); } /** * Run the progress action * * @return bool|\WP_Error */ public function progressAction() { // verify nonce if (!wp_verify_nonce($_POST['nonce'] ?? '', 'wp_rest')) { return new \WP_Error('invalid', 'Nonce invalid', ['status' => 403]); } // video id is required if (empty($_POST['id'])) { return new \WP_Error('invalid', 'You must provide a valid video id', ['status' => 400]); } // must have a valid percentage if (!isset($_POST['percent'])) { return new \WP_Error('invalid', 'You must provide a valid percentage', ['status' => 400]); } $id = (int) $_POST['id']; $percent = (int) $_POST['percent']; $visit_time = isset($_POST['visit_time']) ? (int) $_POST['visit_time'] : false; /** * Progress event, sends video id and percent progress */ do_action('presto_player_progress', $id, $percent, $visit_time); // success return true; } }