PluginProbe
PlugVersions – Easily roll back to previous versions of your plugins. / 0.0.6.RC-1
PlugVersions – Easily roll back to previous versions of your plugins. v0.0.6.RC-1
0.3.0 0.0.6.RC-1 0.0.7 0.0.8 0.1.0 0.2.0 0.2.1 trunk 0.0.1 0.0.2 0.0.3 0.0.4 0.0.5 0.0.6
plugversions / admin / classes / class-plugversions-restoring-link.php

class-plugversions-restoring-link.php in PlugVersions – Easily roll back to previous versions of your plugins. 0.0.6.RC-1, at admin/classes/class-plugversions-restoring-link.php

84 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Class to add the restoring link.
4 *
5 * @package Plugversions
6 */
7
8 defined( 'PLUGIN_REVISIONS_PLUGIN_DIR' ) || exit; // Exit if not accessed from PlugVersions.
9
10 /**
11 * Class PlugVersions Restoring Link
12 *
13 *
14 * @version 0.0.6
15 * @package PlugVersions
16 */
17 class PlugVersions_Restoring_Link {
18
19 /**
20 * Key.
21 *
22 * @var string $key
23 * @since 0.0.6
24 */
25 public $key;
26
27 /**
28 * Version.
29 *
30 * @var string $version
31 * @since 0.0.6
32 */
33 public $version;
34
35 /**
36 * Zip Name.
37 *
38 * @var string $zip_name
39 * @since 0.0.6
40 */
41 public $zip_name;
42
43 /**
44 * Plugin Name.
45 *
46 * @var string $plugin_name
47 * @since 0.0.6
48 */
49 public $plugin_name;
50
51 /**
52 * Class constructor.
53 *
54 * @param string $key
55 * @param string $version
56 * @param string $zip_name
57 * @param string $plugin_name
58 * @param 0.0.6
59 */
60 public function __construct( $key, $version, $zip_name, $plugin_name ) {
61 $this->key = $key;
62 $this->version = $version;
63 $this->zip_name = $zip_name;
64 $this->plugin_name = $plugin_name;
65 add_filter( 'plugin_action_links' , array( $this, 'add_link' ), 10, 4 );
66 }
67
68 /**
69 * Add action link to restore plugin version.
70 *
71 * @param array $actions
72 * @param string $plugin_file
73 * @param array $plugin_data
74 * @param string $context
75 * @param 0.0.6
76 */
77 public function add_link( $actions, $plugin_file, $plugin_data, $context ) {
78 if( $this->plugin_name !== dirname( $plugin_file ) || ! current_user_can( 'activate_plugin' ) ) return $actions;
79 $links = isset( $actions['versions'] ) ? $actions['versions'] : '';
80 $links .= '<a class="plugin-revision-action" href="#" data-parent_plugin="'.esc_attr( $plugin_file ).'" data-dir="'.esc_attr( $this->zip_name ).'">'.sprintf( esc_html__( 'Replace with version: %s','plugversions' ), esc_attr( $this->version ) ).'</a> ';
81 $actions['versions'] = '<span class="plugin-revision-wrp"><a href="#">' . esc_html__( 'Revisions','plugin-revisioons' ) . '</a><span class="plugin-revisions-vers">' . rtrim( $links, ' ' ) . '</span></span>';
82 return $actions;
83 }
84 }