PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 0.8.2
AI Engine – The Chatbot, AI Framework & MCP for WordPress v0.8.2
3.5.7 3.5.6 3.5.5 3.5.4 3.5.3 3.5.2 3.5.1 3.5.0 3.4.9 3.4.8 3.4.7 0.2.1 1.6.91 0.2.2 1.6.92 0.2.3 1.6.93 0.2.4 1.6.94 0.2.5 1.6.95 0.2.6 1.6.96 0.2.7 1.6.97 0.2.8 1.6.98 0.2.9 1.6.99 0.3.0 1.7.0 0.3.1 1.7.1 0.3.2 1.7.2 0.3.3 1.7.3 0.3.4 1.7.4 0.3.5 1.7.5 0.3.6 1.7.6 0.4.0 1.7.7 0.4.1 1.7.8 0.4.2 1.7.9 0.4.3 1.8.0 0.4.4 1.8.1 0.4.5 1.8.2 0.4.6 1.8.3 0.4.7 1.8.4 0.4.8 1.8.5 0.4.9 1.8.6 0.5.0 1.8.7 0.5.1 1.8.8 0.5.2 1.8.9 0.5.3 1.9.0 0.5.4 1.9.1 0.5.5 1.9.2 0.5.6 1.9.3 0.5.7 1.9.4 0.5.8 1.9.5 0.5.9 1.9.6 0.6.0 1.9.7 0.6.1 1.9.8 0.6.2 1.9.81 0.6.3 1.9.82 0.6.4 1.9.83 0.6.5 1.9.84 0.6.6 1.9.85 0.6.7 1.9.86 0.6.8 1.9.87 0.6.9 1.9.88 0.7.0 1.9.89 0.7.1 1.9.90 0.7.2 1.9.91 0.7.3 1.9.92 0.7.4 1.9.93 0.7.5 1.9.94 0.7.6 1.9.95 0.7.7 1.9.96 0.7.8 1.9.97 0.7.9 1.9.98 0.8.0 1.9.99 0.8.1 2.0.0 0.8.2 2.0.1 0.8.3 2.0.2 0.8.4 2.0.3 0.8.5 2.0.4 0.8.6 2.0.5 0.8.7 2.0.6 0.8.8 2.0.7 0.8.9 2.0.8 0.9.0 2.0.9 0.9.2 2.1.0 0.9.3 2.1.1 0.9.4 2.1.2 0.9.5 2.1.3 0.9.6 2.1.4 0.9.7 2.1.5 0.9.8 2.1.6 0.9.81 2.1.7 0.9.82 2.1.8 0.9.83 2.1.9 0.9.84 2.2.0 0.9.85 2.2.1 0.9.86 2.2.2 0.9.87 2.2.3 0.9.88 2.2.4 0.9.89 2.2.5 0.9.9 2.2.51 0.9.91 2.2.52 0.9.92 2.2.53 0.9.93 2.2.54 0.9.94 2.2.56 0.9.95 2.2.57 0.9.96 2.2.6 0.9.97 2.2.60 0.9.98 2.2.61 0.9.99 2.2.62 1.0.0 2.2.63 1.0.01 2.2.70 1.0.1 2.2.80 1.0.2 2.2.81 1.0.3 2.2.90 1.0.4 2.2.91 1.0.5 2.2.92 1.0.6 2.2.93 1.0.7 2.2.94 1.0.8 2.2.95 1.0.9 2.3.0 1.1.0 2.3.1 1.1.1 2.3.2 1.1.2 2.3.3 1.1.3 2.3.4 1.1.4 2.3.5 1.1.5 2.3.6 1.1.6 2.3.7 1.1.7 2.3.8 1.1.8 2.3.9 1.1.9 2.4.0 1.2.0 2.4.1 1.2.1 2.4.2 1.2.2 2.4.3 1.2.21 2.4.4 1.2.3 2.4.5 1.2.30 2.4.6 1.3.0 2.4.7 1.3.1 2.4.8 1.3.2 2.4.9 1.3.3 2.5.0 1.3.31 2.5.1 1.3.32 2.5.2 1.3.33 2.5.3 1.3.34 2.5.4 1.3.35 2.5.5 1.3.36 2.5.6 1.3.37 2.5.7 1.3.38 2.5.8 1.3.39 2.5.9 1.3.40 2.6.0 1.3.41 2.6.1 1.3.42 2.6.2 1.3.43 2.6.3 1.3.44 2.6.5 1.3.45 2.6.6 1.3.46 2.6.7 1.3.47 2.6.8 1.3.48 2.6.9 1.3.49 2.7.0 1.3.50 2.7.1 1.3.51 2.7.2 1.3.52 2.7.3 1.3.53 2.7.4 1.3.54 2.7.5 1.3.56 2.7.6 1.3.57 2.7.7 1.3.58 2.7.8 1.3.59 2.7.9 1.3.60 2.8.0 1.3.61 2.8.1 1.3.62 2.8.2 1.3.63 2.8.3 1.3.64 2.8.4 1.3.65 2.8.5 1.3.66 2.8.6 1.3.67 2.8.7 1.3.68 2.8.8 1.3.69 2.8.9 1.3.70 2.9.0 1.3.71 2.9.1 1.3.72 2.9.2 1.3.73 2.9.3 1.3.74 2.9.4 1.3.75 2.9.5 1.3.76 2.9.6 1.3.77 2.9.7 1.3.78 2.9.8 1.3.79 2.9.9 1.3.80 3.0.0 1.3.81 3.0.1 1.3.82 3.0.2 1.3.83 3.0.3 1.3.84 3.0.4 1.3.85 3.0.5 1.3.86 3.0.6 1.3.87 3.0.7 1.3.88 3.0.8 1.3.89 3.0.9 1.3.90 3.1.0 1.3.91 3.1.1 1.3.92 3.1.2 1.3.93 3.1.3 1.3.94 3.1.4 1.3.95 3.1.5 1.3.96 3.1.6 1.3.97 3.1.7 1.3.98 3.1.8 1.3.99 3.1.9 1.4.0 3.2.0 1.4.1 3.2.1 1.4.2 3.2.2 1.4.3 3.2.3 1.4.4 3.2.4 1.4.5 3.2.5 1.4.6 3.2.6 1.4.7 3.2.7 1.4.8 3.2.8 1.4.9 3.2.9 1.5.0 3.3.0 1.5.1 3.3.1 1.5.2 3.3.2 1.5.3 3.3.3 1.5.4 3.3.4 1.5.5 3.3.5 1.5.6 3.3.6 1.5.7 3.3.7 1.5.8 3.3.8 1.5.9 3.3.9 1.6.0 3.4.0 1.6.1 3.4.1 1.6.2 3.4.2 1.6.3 3.4.3 1.6.5 3.4.4 1.6.51 3.4.5 1.6.52 3.4.6 1.6.53 1.6.54 1.6.55 1.6.56 1.6.57 1.6.58 1.6.59 1.6.60 1.6.61 1.6.62 1.6.63 1.6.64 1.6.65 1.6.66 1.6.67 1.6.68 trunk 1.6.69 0.0.1 1.6.70 0.0.2 1.6.71 0.0.3 1.6.72 0.0.4 1.6.73 0.0.5 1.6.74 0.0.6 1.6.75 0.0.7 1.6.76 0.0.8 1.6.77 0.0.9 1.6.78 0.1.0 1.6.79 0.1.1 1.6.81 0.1.2 1.6.82 0.1.3 1.6.83 0.1.4 1.6.84 0.1.5 1.6.85 0.1.6 1.6.86 0.1.7 1.6.87 0.1.8 1.6.88 0.1.9 1.6.89 0.2.0 1.6.90
ai-engine / common / ratings.php
ai-engine / common Last commit date
img 3 years ago admin.php 3 years ago helpers.php 3 years ago issues.php 3 years ago ratings.php 3 years ago releases.txt 3 years ago rest.php 3 years ago
ratings.php
167 lines
1 <?php
2
3 if ( !class_exists( 'MeowCommon_Ratings' ) ) {
4
5 class MeowCommon_Ratings {
6
7 public $mainfile; // plugin main file (media-file-renamer.php)
8 public $domain; // domain used for translation (media-file-renamer)
9 public $prefix; // used for many things (filters, options, etc)
10
11 public function __construct( $prefix, $mainfile, $domain ) {
12 $this->mainfile = $mainfile;
13 $this->domain = $domain;
14 $this->prefix = $prefix;
15
16 register_activation_hook( $mainfile, array( $this, 'show_meowapps_create_rating_date' ) );
17
18 if ( is_admin() ) {
19 $rating_date = $this->create_rating_date();
20 if ( time() > $rating_date ) {
21 add_action( 'admin_notices', array( $this, 'admin_notices_rating' ) );
22 add_filter( 'safe_style_css', function( $styles ) {
23 $styles[] = 'display';
24 return $styles;
25 } );
26 }
27 }
28 }
29
30 function show_meowapps_create_rating_date() {
31 delete_option( 'meowapps_hide_meowapps' );
32 $this->create_rating_date();
33 }
34
35 function create_rating_date() {
36 $rating_date = get_option( $this->prefix . '_rating_date' );
37 if ( empty( $rating_date ) ) {
38 $two_weeks = strtotime( '+2 weeks' );
39 $three_weeks = strtotime( '+3 weeks' );
40 $rating_date = mt_rand( $two_weeks, $three_weeks );
41 update_option( $this->prefix . '_rating_date', $rating_date, false );
42 }
43 return $rating_date;
44 }
45
46 function admin_notices_rating() {
47 if ( isset( $_POST[$this->prefix . '_remind_me'] ) ) {
48 $two_weeks = strtotime( '+2 weeks' );
49 $six_weeks = strtotime( '+6 weeks' );
50 $future_date = mt_rand( $two_weeks, $six_weeks );
51 update_option( $this->prefix . '_rating_date', $future_date, false );
52 return;
53 }
54 else if ( isset( $_POST[$this->prefix . '_never_remind_me'] ) ) {
55 $twenty_years = strtotime( '+5 years' );
56 update_option( $this->prefix . '_rating_date', $twenty_years, false );
57 return;
58 }
59 else if ( isset( $_POST[$this->prefix . '_did_it'] ) ) {
60 $twenty_years = strtotime( '+100 years' );
61 update_option( $this->prefix . '_rating_date', $twenty_years, false );
62 return;
63 }
64 $rating_date = get_option( $this->prefix . '_rating_date' );
65 $html = wp_kses_post( '<div class="notice notice-success" data-rating-date="' .
66 date( 'Y-m-d', $rating_date ) . '">' );
67 $esc_nice_name = esc_attr( $this->nice_name_from_file( $this->mainfile ) );
68 if ( $esc_nice_name === 'Wp Retina 2x Pro' ) {
69 $esc_nice_name = "Perfect Images Pro";
70 }
71 else if ( $esc_nice_name === 'Wp Retina 2x' ) {
72 $esc_nice_name = "Perfect Images";
73 }
74 $esc_short_url = esc_attr( $this->nice_short_url_from_file( $this->mainfile ) );
75 $escaped_prefix = $this->prefix;
76 $html .= '<p style="font-size: 100%;">';
77 // Translators: %1$s is a plugin nicename, %2$s is a short url (slug)
78 $html .= sprintf(
79 __( '<h2 class="title">You have been using <b>%1$s</b> for some time now. Thank you 💕</h2>Could you take one minute and write a <b>little review</b> for me? That would <b>really</b> bring me joy and motivation 🥰<br />In the review, don\'t hesitate to share your feature requests and remarks. I will try my best!
80 ', $this->domain ), $esc_nice_name
81 );
82 $html .= '<div style="padding: 20px 0 12px 0; display: flex; align-items: center;">';
83 $html .= '<a target="_blank" class="button button-primary" style="margin-right: 10px;"
84 href="https://wordpress.org/support/plugin/' . $esc_short_url . '/reviews/?rate=5#new-post">
85 ✍🏼 Yes, let\'s write it now!
86 </a>
87 <form method="post" action="" style="margin-right: 10px;">
88 <input type="hidden" name="' . $escaped_prefix . '_did_it" value="true">
89 <input type="submit" name="submit" id="submit" class="button button-primary" value="'
90 . __( '🥰 I did it', $this->domain ) . '">
91 </form>
92
93 <div style="flex: auto;"></div>
94
95 <form method="post" action="" style="margin-right: 10px;">
96 <input type="hidden" name="' . $escaped_prefix . '_remind_me" value="true">
97 <input type="submit" name="submit" id="submit" class="button button-primary" value="'
98 . __( '⏰ Remind me later', $this->domain ) . '">
99 </form>
100
101 <form method="post" action="">
102 <input type="hidden" name="' . $escaped_prefix . '_never_remind_me" value="true">
103 <input type="submit" name="submit" id="submit" class="button-link" style="font-size: small;" value="'
104 . __( 'Hide this', $this->domain ) . '">
105 </form>
106 </div>';
107 $html .= '</div>';
108 echo wp_kses( $html, array(
109 'div' => array(
110 'class' => array(),
111 'data-rating-date' => array(),
112 'style' => array(),
113 ),
114 'p' => array(
115 'style' => array(),
116 ),
117 'h2' => array(
118 'class' => array(),
119 ),
120 'b' => array(),
121 'a' => array(
122 'href' => array(),
123 'target' => array(),
124 'class' => array(),
125 'style' => array(),
126 ),
127 'form' => array(
128 'method' => array(),
129 'action' => array(),
130 'class' => array(),
131 'style' => array(),
132 ),
133 'input' => array(
134 'type' => array(),
135 'name' => array(),
136 'value' => array(),
137 'id' => array(),
138 'class' => array(),
139 ),
140 ) );
141 }
142
143 function nice_short_url_from_file( $file ) {
144 $info = pathinfo( $file );
145 if ( !empty( $info ) ) {
146 $info['filename'] = str_replace( '-pro', '', $info['filename'] );
147 return $info['filename'];
148 }
149 return "";
150 }
151
152 function nice_name_from_file( $file ) {
153 $info = pathinfo( $file );
154 if ( !empty( $info ) ) {
155 if ( $info['filename'] == 'wplr-sync' ) {
156 return "Photo Engine";
157 }
158 $info['filename'] = str_replace( '-', ' ', $info['filename'] );
159 $file = ucwords( $info['filename'] );
160 }
161 return $file;
162 }
163 }
164 }
165
166 ?>
167