File: /home/royaltuning/www/public/wp-content/plugins/vp-woo-review-reminder/class-vp.php
<?php
defined( 'ABSPATH' ) || exit;
if( ! class_exists( 'VP_Update_Checker' ) ) {
class VP_Update_Checker{
public $plugin_slug;
public $settings_link;
public $api_url;
public function __construct($plugin_slug, $settings_link) {
$this->plugin_slug = $plugin_slug;
$this->settings_link = $settings_link;
$this->api_url = 'https://visztpeter.me/wp-json/vp_woo_plugin/'.$this->plugin_slug;
add_filter('update_plugins_'.$this->plugin_slug, array($this, 'update'), 10, 4);
add_filter('plugins_api', array( $this, 'info' ), 20, 3 );
add_filter( 'plugin_row_meta', array( $this, 'plugin_row_meta' ), 10, 2 );
add_filter( 'plugin_action_links_' . $this->plugin_slug.'/index.php', array( $this, 'plugin_action_links' ) );
}
public function update($update, $plugin_data, $plugin_file, $locales) {
$remote = wp_remote_get($this->api_url);
$remote = json_decode( wp_remote_retrieve_body( $remote ) );
return $remote;
}
public function info($res, $action, $args){
if('plugin_information' === $action && $args->slug == $this->plugin_slug) {
$remote = wp_remote_get($this->api_url);
$res = json_decode( wp_remote_retrieve_body( $remote ) );
$res->sections = json_decode(json_encode($res->sections), true);
$res->banners = json_decode(json_encode($res->banners), true);
}
return $res;
}
public function plugin_row_meta( $links, $file ) {
if ( strpos($file, $this->plugin_slug) !== false) {
$row_meta = array(
'documentation' => '<a href="https://visztpeter.me/dokumentacio/'.$this->plugin_slug.'" target="_blank" aria-label="' . esc_attr__( 'Documentation', $this->plugin_slug ) . '">' . esc_html__( 'Documentation', $this->plugin_slug ) . '</a>'
);
$links = array_merge($links, $row_meta);
}
return $links;
}
public function plugin_action_links( $links ) {
$action_links = array(
'settings' => '<a href="' . esc_url(admin_url( $this->settings_link )) . '" aria-label="' . esc_attr__( 'Settings', $this->plugin_slug ) . '">' . esc_html__( 'Settings', $this->plugin_slug ) . '</a>',
);
return array_merge( $action_links, $links );
}
}
}