PluginProbe ʕ •ᴥ•ʔ
EmbedPress – PDF Embedder, 3D PDF FlipBook, Google Reviews, YouTube Videos, Upload & Embed PDF documents / 2.7.6
EmbedPress – PDF Embedder, 3D PDF FlipBook, Google Reviews, YouTube Videos, Upload & Embed PDF documents v2.7.6
4.6.1 4.6.0 4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 trunk 1.0.0 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.5.0 1.6.0 1.6.1 1.6.2 1.6.3 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.2.0 2.2.1 2.2.2 2.3.0 2.3.1 2.3.2 2.3.3 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.1.3 3.2.0 3.2.1 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.6.8 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.14 3.9.15 3.9.16 3.9.17 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9 4.0.0 4.0.1 4.0.10 4.0.11 4.0.12 4.0.13 4.0.14 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.10 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.2.0 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.3.0 4.3.1 4.4.0 4.4.1 4.4.10 4.4.11 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7 4.4.8 4.4.9 4.5.0 4.5.1
embedpress / EmbedPress / Includes / Traits / Shared.php
embedpress / EmbedPress / Includes / Traits Last commit date
Shared.php 5 years ago
Shared.php
153 lines
1 <?php
2
3 namespace EmbedPress\Includes\Traits;
4
5 if ( !defined( 'ABSPATH' ) ) {
6 exit;
7 } // Exit if accessed directly
8 use \EmbedPress\Includes\Classes\EmbedPress_Plugin_Usage_Tracker;
9 use \EmbedPress\Includes\Classes\EmbedPress_Notice;
10
11 trait Shared {
12
13
14 /**
15 * Optional usage tracker
16 *
17 * @since v1.0.0
18 */
19 public function start_plugin_tracking() {
20 $tracker = EmbedPress_Plugin_Usage_Tracker::get_instance( EMBEDPRESS_FILE, [
21 'opt_in' => true,
22 'goodbye_form' => true,
23 'item_id' => '98ba0ac16a4f7b3b940d'
24 ] );
25 $tracker->set_notice_options(array(
26 'notice' => __( 'Want to help make <strong>EmbedPress</strong> even more awesome? You can get a <strong>10% discount coupon</strong> for Premium extensions if you allow us to track the usage.', 'embedpress' ),
27 'extra_notice' => __( 'We collect non-sensitive diagnostic data and plugin usage information.
28 Your site URL, WordPress & PHP version, plugins & themes and email address to send you the
29 discount coupon. This data lets us make sure this plugin always stays compatible with the most
30 popular plugins and themes. No spam, I promise.', 'embedpress' ),
31 ));
32 $tracker->init();
33 }
34
35 public function admin_notice() {
36 $notice = new EmbedPress_Notice( EMBEDPRESS_PLUGIN_BASENAME, EMBEDPRESS_VERSION );
37
38 /**
39 * Current Notice End Time.
40 * Notice will dismiss in 3 days if user does nothing.
41 */
42 $notice->cne_time = '3 Day';
43
44 /**
45 * Current Notice Maybe Later Time.
46 * Notice will show again in 7 days
47 */
48 $notice->maybe_later_time = '21 Day';
49
50 $notice->text_domain = 'embedpress';
51
52 $scheme = (parse_url( $_SERVER['REQUEST_URI'], PHP_URL_QUERY )) ? '&' : '?';
53 $url = $_SERVER['REQUEST_URI'] . $scheme;
54 $notice->links = [
55 'review' => array(
56 'later' => array(
57 'link' => 'https://wordpress.org/support/plugin/embedpress/reviews/',
58 'target' => '_blank',
59 'label' => __( 'Ok, you deserve it!', 'embedpress' ),
60 'icon_class' => 'dashicons dashicons-external',
61 ),
62 'allready' => array(
63 'link' => $url,
64 'label' => __( 'I already did', 'embedpress' ),
65 'icon_class' => 'dashicons dashicons-smiley',
66 'data_args' => [
67 'dismiss' => true,
68 ],
69 ),
70 'maybe_later' => array(
71 'link' => $url,
72 'label' => __( 'Maybe Later', 'embedpress' ),
73 'icon_class' => 'dashicons dashicons-calendar-alt',
74 'data_args' => [
75 'later' => true,
76 ],
77 ),
78 'support' => array(
79 'link' => 'https://wordpress.org/support/plugin/embedpress/',
80 'label' => __( 'I need help', 'embedpress' ),
81 'icon_class' => 'dashicons dashicons-sos',
82 ),
83 'never_show_again' => array(
84 'link' => $url,
85 'label' => __( 'Never show again', 'embedpress' ),
86 'icon_class' => 'dashicons dashicons-dismiss',
87 'data_args' => [
88 'dismiss' => true,
89 ],
90 ),
91 ),
92 ];
93
94 /**
95 * This is review message and thumbnail.
96 */
97 $notice->message( 'review', '<p>' . __( 'We hope you\'re enjoying EmbedPress! Could you please do us a BIG favor and give it a 5-star rating on WordPress to help us spread the word and boost our motivation?', 'embedpress' ) . '</p>' );
98 $notice->thumbnail( 'review', plugins_url( 'assets/images/icon-128x128.png', EMBEDPRESS_PLUGIN_BASENAME ) );
99 /**
100 * This is upsale notice settings
101 * classes for wrapper,
102 * Message message for showing.
103 */
104 $notice->classes( 'upsale', 'notice is-dismissible ' );
105 $notice->message( 'upsale', '<p>' . __( 'If you are using Gutenberg, you must install <a href="https://essential-blocks.com/" target="_blank">Essential Blocks</a>, it extends your capacity, with 22 Free Blocks!', $notice->text_domain ) . '</p>' );
106 $notice->thumbnail( 'upsale', plugins_url( 'assets/images/essential-blocks.png', EMBEDPRESS_PLUGIN_BASENAME ) );
107
108 // Update Notice For PRO Version
109 if ( $this->is_pro_active() && \version_compare( EMBEDPRESS_PRO_VERSION, '2.0.0', '<' ) ) {
110 $notice->classes( 'update', 'notice is-dismissible ' );
111 $notice->message( 'update', '<p>' . __( 'You are using an incompatible version of EmbedPress PRO. Please update to v3.4.0+. <a href="https://essential-addons.com/elementor/docs/manually-update-essential-addons-pro/" target="_blank">Follow manual update guide.</a>', $notice->text_domain ) . '</p>' );
112 $notice->thumbnail( 'update', plugins_url( 'assets/images/icon-128x128.png', EMBEDPRESS_PLUGIN_BASENAME ) );
113 }
114
115 $notice->upsale_args = array(
116 'slug' => 'essential-blocks',
117 'page_slug' => 'essential-blocks',
118 'file' => 'essential-blocks.php',
119 'btn_text' => __( 'Install Free', 'embedpress' ),
120 'condition' => [
121 'by' => 'class',
122 'class' => 'EssentialAdmin'
123 ],
124 );
125
126 $notice->options_args = array(
127 'notice_will_show' => [
128 'opt_in' => $notice->timestamp,
129 'upsale' => $notice->makeTime( $notice->timestamp, '14 Day' ),
130 'review' => $notice->makeTime( $notice->timestamp, '7 Day' ), // after 3 days
131 ],
132 );
133 if ( $this->is_pro_active() && \version_compare( EMBEDPRESS_PRO_VERSION, '2.0.0', '<' ) ) {
134 $notice->options_args['notice_will_show']['update'] = $notice->timestamp;
135 }
136
137 $notice->init();
138 }
139
140 public function is_pro_active() {
141 return is_plugin_active( 'embedpress-pro/embedpress-pro.php' );
142 }
143
144 /**
145 * Show Admin notice when one of embedpress old plugin active
146 *
147 * @since 2.4.0
148 */
149 public function embedpress_admin_notice() {
150
151 }
152
153 }