[ SYSTEM ]: Linux wordpress 6.1.0-41-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.158-1 (2025-11-09) x86_64
[ SERVER ]: Apache/2.4.66 (Debian) | PHP: 8.2.30
[ USER ]: www-data | IP: 172.19.30.54
GEFORCE FILE MANAGER
/
var
/
www
/
html
/
wordpress
/
wp-content
/
plugins
/
presto-player
/
inc
/
Services
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📁 API
SET
[ DEL ]
📁 Blocks
SET
[ DEL ]
📄 Player.php
1,958 B
SET
[ EDIT ]
|
[ DEL ]
📄 Streamer.php
3,046 B
SET
[ EDIT ]
|
[ DEL ]
📄 Translation.php
6,157 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: Player.php
<?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', array( $this, 'progressAjaxPercent' ) ); add_action( 'wp_ajax_nopriv_presto_player_progress_percent', array( $this, 'progressAjaxPercent' ) ); add_action( 'wp_ajax_nopriv_presto_refresh_progress_nonce', array( $this, 'generateNonce' ) ); add_action( 'wp_ajax_presto_refresh_progress_nonce', array( $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', array( 'status' => 403 ) ); } // video id is required if ( empty( $_POST['id'] ) ) { return new \WP_Error( 'invalid', 'You must provide a valid video id', array( 'status' => 400 ) ); } // must have a valid percentage if ( ! isset( $_POST['percent'] ) ) { return new \WP_Error( 'invalid', 'You must provide a valid percentage', array( '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; } }