Current Path : /storage/v11800/webspeed/public_html/wp-content/plugins/chaty/includes/ |
Linux v11800 5.3.0-1023-aws #25~18.04.1-Ubuntu SMP Fri Jun 5 15:19:18 UTC 2020 aarch64
|
Current File : /storage/v11800/webspeed/public_html/wp-content/plugins/chaty/includes/class-review-box.php |
<?php
/**
* Review Class
*
* @author : Premio <contact@premio.io>
* @license : GPL2
* */
if (defined('ABSPATH') === false) {
exit;
}
class Chaty_Free_Review_Box
{
/**
* The Name of this plugin.
*
* @var string $pluginName The Name of this plugin.
* @since 1.0.0
* @access public
*/
public $pluginName = "Chaty";
/**
* The Slug of this plugin.
*
* @var string $pluginSlug The Slug of this plugin.
* @since 1.0.0
* @access public
*/
public $pluginSlug = "chaty";
/**
* The Plugin review status.
*
* @var string $reviewStatus The Slug of this plugin.
* @since 1.0.0
* @access public
*/
public $reviewStatus = true;
/**
* The plugin slug for WordPress
*
* @var string $wpPluginSlug The Slug of this plugin.
* @since 1.0.0
* @access public
*/
public $wpPluginSlug = "chaty";
/**
* The plugin slug for WordPress
*
* @var string $isHidden Review box status
* @since 1.0.0
* @access public
*/
public $isHidden = false;
/**
* Define the core functionality of the plugin.
*
* Set the plugin name and the plugin version that can be used throughout the plugin.
* Load the dependencies, define the locale, and set the hooks for the admin area and
* the public-facing side of the site.
*
* @since 1.0.0
*/
public function __construct()
{
$isHidden = get_option( $this->pluginSlug . "_hide_review_box" );
if ( $isHidden !== false ) {
$this->reviewStatus = false;
$this->isHidden = true;
}
$currentCount = get_option( $this->pluginSlug . "_show_review_box_after" );
if ( $currentCount === false ) {
$date = gmdate( "Y-m-d", strtotime( "+14 days" ) );
add_option( $this->pluginSlug . "_show_review_box_after", $date );
$this->reviewStatus = false;
}
$dateToShow = get_option( $this->pluginSlug . "_show_review_box_after" );
if ( $dateToShow !== false ) {
$currentDate = gmdate( "Y-m-d" );
if ( $currentDate < $dateToShow ) {
$this->reviewStatus = false;
}
}
// $this->reviewStatus = true;
$chaty_views = intval(get_option("chaty_views"));
if($this->reviewStatus) {
add_action('admin_enqueue_scripts', [$this, 'enqueue_scripts']);
add_action('admin_notices', [$this, 'admin_notices']);
} else {
if(!$this->isHidden && $chaty_views == 1) {
add_action('admin_enqueue_scripts', [$this, 'enqueue_scripts']);
}
}
add_action("wp_ajax_".$this->pluginSlug."_review_box", [$this, "form_review_box"]);
add_action("wp_ajax_".$this->pluginSlug."_review_box_message", [$this, "form_review_box_message"]);
}//end __construct()
/**
* Enqueues the necessary scripts and styles for the plugin.
*
* This method is responsible for enqueueing the CSS and JS files
* required for the plugin to function properly. It first checks if
* the current user has the capability to manage options. If so, it
* loads the necessary files and sets up the localization for the JS
* script.
*
* @return void
* @since 1.0.0
*
*/
public function enqueue_scripts() {
if (current_user_can('manage_options')) {
wp_enqueue_style($this->pluginSlug."-star-rating-svg", plugins_url('../admin/assets/css/star-rating-svg.css', __FILE__), [], CHT_VERSION);
wp_enqueue_script($this->pluginSlug."-star-rating-svg", plugins_url('../admin/assets/js/jquery.star-rating-svg.min.js', __FILE__), ['jquery'], CHT_VERSION, true);
wp_localize_script(
$this->pluginSlug."-star-rating-svg",
'chaty_rating_settings',
[
'has_settings' => 1,
'review_nonce' => wp_create_nonce($this->pluginSlug."_review_box"),
'review_box_nonce' => wp_create_nonce($this->pluginSlug."_review_box_message"),
'review_link' => "https://wordpress.org/support/plugin/".$this->pluginSlug."/reviews/#new-post",
'ajax_url' => admin_url("admin-ajax.php")
]
);
}
}
/**
* Process the form submission for the review box message.
*
* This method is responsible for handling the submission of the form review box message.
* It performs actions such as adding an option, updating an option, and making an API call
* to send the feedback message.
*
* @return void
* @since 1.0.0
*
*/
public function form_review_box_message()
{
if (current_user_can('manage_options')) {
$nonce = filter_input(INPUT_POST, 'nonce');
if (!empty($nonce) && wp_verify_nonce($nonce, $this->pluginSlug."_review_box_message")) {
add_option($this->pluginSlug."_hide_review_box", "1");
update_option("chaty_views", 2);
$rating = filter_input(INPUT_POST, 'rating');
$message = filter_input(INPUT_POST, 'message');
global $current_user;
$postMessage = [];
$domain = site_url();
$user_name = $current_user->first_name." ".$current_user->last_name;
$email = $current_user->user_email;
$messageData = [];
$messageData['key'] = "email";
$messageData['value'] = $email;
$postMessage[] = $messageData;
$messageData = [];
$messageData['key'] = "stars";
$messageData['value'] = $rating;
$postMessage[] = $messageData;
$messageData = [];
$messageData['key'] = "message";
$messageData['value'] = $message;
$postMessage[] = $messageData;
$apiParams = [
'title' => 'Review for '.$this->pluginName.' WordPress',
'domain' => $domain,
'email' => "contact@premio.io",
'url' => site_url(),
'name' => $user_name,
'message' => $postMessage,
'plugin' => $this->pluginName,
'type' => "Review",
];
// Sending message to Crisp API
$apiResponse = wp_safe_remote_post("https://premioapps.com/premio/send-feedback-api.php", ['body' => $apiParams, 'timeout' => 15, 'sslverify' => true]);
if (is_wp_error($apiResponse)) {
wp_safe_remote_post("https://premioapps.com/premio/send-feedback-api.php", ['body' => $apiParams, 'timeout' => 15, 'sslverify' => false]);
}
}
die;
}
}//end form_review_box_message()
/**
* Handle the "form_review_box" AJAX request.
*
* This method is responsible for updating the options related to the review box based on the data received
* from the client-side form. It checks if the user has the capability to manage options, verifies the nonce,
* and updates the necessary options accordingly. If the "days" parameter is set to -1, the review box will be hidden,
* otherwise, the review box will be displayed again after the specified number of days.
*
* @since 1.0.0
*/
public function form_review_box()
{
if (current_user_can('manage_options')) {
$nonce = filter_input(INPUT_POST, 'nonce');
$days = filter_input(INPUT_POST, 'days');
if (!empty($nonce) && wp_verify_nonce($nonce, $this->pluginSlug."_review_box")) {
update_option("chaty_views", 2);
if ($days == -1) {
add_option($this->pluginSlug."_hide_review_box", "1");
} else {
$date = gmdate("Y-m-d", strtotime("+".$days." days"));
update_option($this->pluginSlug."_show_review_box_after", $date);
}
}
die;
}
}//end form_review_box()
/**
* Display admin notices.
*
* This method is responsible for displaying admin notices in the WordPress dashboard.
* It checks if the current user has the capability to manage options, and if so, it
* displays a notice with HTML markup.
*
* @since 1.0.0
*/
public function admin_notices()
{
if (!current_user_can('manage_options')) {
return;
}
?>
<!-- premio default review box -->
<div class="notice notice-info premio-notice <?php echo esc_attr($this->pluginSlug) ?>-premio-review-box">
<!-- premio review box default -->
<style id="<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__default-stylesheet">
.<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box {
position: relative;
border-left-color: #B78DEB;
padding: 18px 25px 18px 15px !important;
}
.<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__default__title {
color: #000000;
font-size: 18px;
line-height: 27px;
font-weight: 600;
font-family: 'Arial';
margin: 0;
}
.<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__default__title span{
color: #B78DEB;
}
.<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__default p {
color: #595959;
line-height: 21px;
vertical-align: middle;
padding: 0 10px 7px 0;
font-size: 14px;
}
.<?php echo esc_attr($this->pluginSlug) ?>-review-box-default__dismiss-btn {
position: absolute;
right: 5px;
top: 5px;
opacity: .6;
border: 0;
padding: 0;
background-color: transparent;
cursor: pointer;
}
.<?php echo esc_attr($this->pluginSlug) ?>-review-box-default__dismiss-btn:hover {
opacity: 1;
}
.<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__default__co-founder {
display: inline-flex;
align-items: center;
gap: 15px;
}
.<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__default__co-founder-img {
width: 30px;
height: 30px;
display: inline-block;
vertical-align: middle;
border-radius: 15px;
}
</style>
<!-- premio review box thank you -->
<style id="<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__thank-you-stylesheet">
.<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__thank-you {
display: none;
}
.<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__thank-you .thanks-wrap {
display: inline-flex;
gap: 12px;
align-items: center;
flex-wrap: wrap;
}
.<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__thank-you__dismiss-btn {
position: absolute;
top: 5px;
right: 5px;
opacity: .6;
border: 0;
padding: 0;
background-color: transparent;
cursor: pointer;
}
<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__thank-you__dismiss-btn:hover {
opacity: 1;
}
.<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__thank-you__image {
width: 100%;
height: auto;
max-width: 200px;
}
.<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__thank-you__message .title {
font-weight: bold;
font-size: 18px;
}
.<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__thank-you__message .desc {
padding: 8px 0;
}
.<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__thank-you__message .footer {
font-weight: bold;
}
</style>
<!-- review box popup stylesheet-->
<style id="<?php echo esc_attr($this->pluginSlug) ?>-review-box-popup-stylesheet">
.<?php echo esc_attr($this->pluginSlug) ?>-review-box-popup {
position: fixed;
width: 100%;
height: 100%;
z-index: 10001;
background: rgba(0, 0, 0, 0.65);
top: 0;
left: 0;
display: none;
}
.<?php echo esc_attr($this->pluginSlug) ?>-review-box-popup__dismiss-btn {
position: absolute;
right: 5px;
top: 5px;
opacity: .6;
border: 0;
padding: 0;
background-color: transparent;
cursor: pointer;
}
.<?php echo esc_attr($this->pluginSlug) ?>-review-box-popup__dismiss-btn:hover {
opacity: 1;
}
.<?php echo esc_attr($this->pluginSlug) ?>-review-box-popup__content {
background: #ffffff;
padding: 20px;
position: absolute;
max-width: 450px;
width: 100%;
margin: 0 auto;
top: 45%;
left: 0;
right: 0;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
.<?php echo esc_attr($this->pluginSlug) ?>-review-box-popup__title {
padding: 0 0 10px 0;
font-weight: bold;
}
.<?php echo esc_attr($this->pluginSlug) ?>-review-box-popup__options a {
display: block;
margin: 10px 0 5px 0;
color: #333;
text-decoration: none;
}
.<?php echo esc_attr($this->pluginSlug) ?>-review-box-popup__options .dismiss {
color: #999;
}
</style>
<!-- feedback popup stylesheet-->
<style id="<?php echo esc_attr($this->pluginSlug) ?>-feedback-popup-stylesheet">
.<?php echo esc_attr($this->pluginSlug) ?>-feedback-popup {
position: fixed;
width: 100%;
height: 100%;
z-index: 10001;
background: rgba(0, 0, 0, 0.65);
top: 0;
left: 0;
display: none;
}
.<?php echo esc_attr($this->pluginSlug) ?>-feedback-popup__dismiss-btn {
position: absolute;
right: 5px;
top: 5px;
opacity: .6;
border: 0;
padding: 0;
background-color: transparent;
cursor: pointer;
}
.<?php echo esc_attr($this->pluginSlug) ?>-feedback-popup__dismiss-btn:hover {
opacity: 1;
}
.<?php echo esc_attr($this->pluginSlug) ?>-feedback-popup__content {
background: #ffffff;
padding: 20px;
position: absolute;
max-width: 450px;
width: 100%;
margin: 0 auto;
top: 50%;
transform: translateY(-50%);
left: 0;
right: 0;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
.<?php echo esc_attr($this->pluginSlug) ?>-feedback-popup__form {
display: flex;
flex-direction: column;
gap: 10px;
}
.<?php echo esc_attr($this->pluginSlug) ?>-feedback-popup__form textarea {
padding: 10px;
margin-top: 15px;
}
.<?php echo esc_attr($this->pluginSlug) ?>-feedback-popup__form button {
border: none;
padding: 10px 0;
width: 100%;
background: #ff6624;
color: #fff;
border-radius: 4px;
cursor: pointer;
display: inline-block;
}
.<?php echo esc_attr($this->pluginSlug) ?>-review-box-popup__options .dismiss {
color: #999;
}
.please-rate-us {
padding: 10px 0 0;
}
.please-rate-us .rate-us-title {
vertical-align: middle;
}
.please-rate-us .<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__default__rating {
vertical-align: middle;
}
</style>
<!-- default layout -->
<div class="<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__default">
<h2 class="<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__default__title">
<?php esc_html_e('Your', 'chaty') ?> <span><?php esc_html_e('feedback', 'chaty') ?></span> <?php esc_html_e('matters, please leave a review', 'chaty') ?> 🙏
</h2>
<button class="<?php echo esc_attr($this->pluginSlug) ?>-review-box-default__dismiss-btn">
<span class="dashicons dashicons-no-alt"></span>
</button>
<p><?php printf( esc_html__("Hi there, it seems like %1\$s is bringing you some value, and that's pretty awesome! Can you please show us some love and rate %2\$s on WordPress? It'll only take 2 minutes of your time, and will really help us spread the word", 'chaty'), "<b>".esc_attr($this->pluginName)."</b>", esc_attr($this->pluginName));?></p>
<div class="<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__default__co-founder">
<span>
<b><?php esc_html_e('Gal Dubinski', 'chaty') ?></b>,
<?php esc_html_e('Co-founder', 'chaty') ?>
</span>
<img class="<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__default__co-founder-img" width="30" height="30" src="<?php echo esc_url(CHT_PLUGIN_URL."admin/assets/images/premio-owner.png") ?>" />
</div>
<div class="please-rate-us">
<div class="rate-us-title"><?php esc_html_e("Please rate us:"); ?></div>
<div class="<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__default__rating"></div>
</div>
</div> <!--end .premio-review-box__default-->
<div class="<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__thank-you">
<div class="thanks-wrap">
<button class="<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__thank-you__dismiss-btn">
<span class="dashicons dashicons-no-alt"></span>
</button>
<img class="<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__thank-you__image" width="200" src="<?php echo esc_url(CHT_PLUGIN_URL."admin/assets/images/thanks.gif") ?>" />
<div class="<?php echo esc_attr($this->pluginSlug) ?>-premio-review-box__thank-you__message">
<div class="title"><?php esc_html_e("You are awesome ", 'chaty')?> 🙏</div>
<div class="desc"><?php esc_html_e("Thanks for your support, we really appreciate it!", 'chaty')?></div>
<div class="footer"><?php esc_html_e("Premio team ", 'chaty')?></div>
</div>
</div>
</div> <!--end .premio-review-box__thank-you-->
<!-- review popup -->
<div class="<?php echo esc_attr($this->pluginSlug) ?>-review-box-popup">
<div class="<?php echo esc_attr($this->pluginSlug) ?>-review-box-popup__content">
<button class="<?php echo esc_attr($this->pluginSlug) ?>-review-box-popup__dismiss-btn">
<span class="dashicons dashicons-no-alt"></span>
</button>
<div class="<?php echo esc_attr($this->pluginSlug) ?>-review-box-popup__title">
<?php esc_html_e("Would you like us to remind you about this later?", 'chaty')?>
</div>
<div class="<?php echo esc_attr($this->pluginSlug) ?>-review-box-popup__options">
<a href="#" data-days="3"><?php esc_html_e("Remind me in 3 days ", 'chaty')?></a>
<a href="#" data-days="10"><?php esc_html_e("Remind me in 10 days ", 'chaty')?></a>
<a href="#" data-days="-1" class="dismiss"><?php esc_html_e("Don't remind me about this ", 'chaty')?></a>
</div>
</div>
</div> <!--end .review-box-popup-->
<!-- feedback popup -->
<div class="<?php echo esc_attr($this->pluginSlug) ?>-feedback-popup">
<div class="<?php echo esc_attr($this->pluginSlug) ?>-feedback-popup__content">
<button class="<?php echo esc_attr($this->pluginSlug) ?>-feedback-popup__dismiss-btn">
<span class="dashicons dashicons-no-alt"></span>
</button>
<form class="<?php echo esc_attr($this->pluginSlug) ?>-feedback-popup__form">
<textarea name="message" id="message" cols="30" rows="5" placeholder="What's your feedback?"></textarea>
<button id="submit-btn" type="submit"><?php esc_html_e('Submit', 'chaty') ?></button>
</form>
</div>
</div> <!--end .feedback-popup-->
</div> <!--end .premio-notice-->
<script>
(function($) {
$(document).ready(function(){
function chatyFreeReview() {
this.prefix = "<?php echo esc_attr($this->pluginSlug) ?>";
this.reviewLink = "https://wordpress.org/support/plugin/<?php echo esc_attr($this->wpPluginSlug) ?>/reviews/?filter=5";
this.rating = 5;
this.renderRating();
this.bindEvents();
}
chatyFreeReview.prototype.getSelectors = function() {
return {
body: 'body',
rating: `.${this.prefix}-premio-review-box__default__rating`,
reviewBox: `.${this.prefix}-premio-review-box`,
feedbackForm: `.${this.prefix}-feedback-popup__form`,
reminderPopup: `.${this.prefix}-review-box-popup`,
feedbackPopup: `.${this.prefix}-feedback-popup`,
reviewBoxDefault: `.${this.prefix}-premio-review-box__default`,
reviewBoxThankYou: `.${this.prefix}-premio-review-box__thank-you`,
defaultDismissBtn: `.${this.prefix}-review-box-default__dismiss-btn`,
thankYouDismissBtn: `.${this.prefix}-premio-review-box__thank-you__dismiss-btn`,
feedbackDismissBtn: `.${this.prefix}-feedback-popup__dismiss-btn`,
reminderPopupOptions: `.${this.prefix}-review-box-popup__options a`,
reminderPopupDismissBtn: `.${this.prefix}-review-box-popup__dismiss-btn`,
}
}
chatyFreeReview.prototype.getElements = function() {
const selectors = this.getSelectors();
return {
$body: $(selectors.body),
$rating: $(selectors.rating),
$reviewBox: $(selectors.reviewBox),
$feedbackForm: $(selectors.feedbackForm),
$reminderPopup: $(selectors.reminderPopup),
$feedbackPopup: $(selectors.feedbackPopup),
$reviewBoxDefault: $(selectors.reviewBoxDefault),
$reviewBoxThankYou: $(selectors.reviewBoxThankYou),
$defaultDismissBtn: $(selectors.defaultDismissBtn),
$thankYouDismissBtn: $(selectors.thankYouDismissBtn),
$feedbackDismissBtn: $(selectors.feedbackDismissBtn),
$reminderPopupOptions: $(selectors.reminderPopupOptions),
$reminderPopupDismissBtn: $(selectors.reminderPopupDismissBtn)
}
}
chatyFreeReview.prototype.bindEvents = function() {
const elements = this.getElements();
const selectors = this.getSelectors();
elements.$body.addClass("has-premio-box");
elements.$defaultDismissBtn.on('click', this.toggleReminderPopup.bind(elements));
elements.$reminderPopupDismissBtn.on('click', this.toggleReminderPopup.bind(elements, false));
elements.$reminderPopupOptions.on('click', this.reminderHandler.bind(this));
elements.$thankYouDismissBtn.on('click', this.thankYouDismissHandler.bind(this));
elements.$feedbackDismissBtn.on('click', this.feedbackToggle.bind(this, false));
elements.$feedbackForm.on('submit', this.feedbackFormHandler.bind(this));
//close reminder/feedback popup when click outside
$(window).on('click', ev => {
const $target = $(ev.target);
if(
elements.$reminderPopup.hasClass('open') &&
$target.parents( selectors.reminderPopup ).length === 0
) {
elements.$reminderPopupDismissBtn.trigger('click');
}
if(
elements.$feedbackPopup.hasClass('open') &&
$target.parents( selectors.feedbackPopup ).length === 0
) {
elements.$feedbackDismissBtn.trigger('click');
}
})
}
chatyFreeReview.prototype.feedbackFormHandler = function(ev) {
ev.preventDefault();
const elements = this.getElements();
const message = elements.$feedbackForm.find('#message').val();
const rating = this.rating;
$.ajax({
url: "<?php echo esc_url(admin_url("admin-ajax.php")) ?>",
data: {
action: "<?php echo esc_attr($this->pluginSlug) ?>_review_box_message",
rating: rating,
nonce: "<?php echo esc_attr(wp_create_nonce($this->pluginSlug."_review_box_message")) ?>",
message: message
},
type: "post",
});
elements.$feedbackDismissBtn.trigger('click');
elements.$reviewBox.remove();
elements.$reminderPopup.remove();
// send hide request after submitting feedback form
this.sendHideRequest( -1 );
}
chatyFreeReview.prototype.thankYouDismissHandler = function() {
const elements = this.getElements();
elements.$reviewBox.remove();
elements.$reminderPopup.remove();
this.sendHideRequest( -1 );
}
chatyFreeReview.prototype.reminderHandler = function(ev) {
ev.preventDefault();
const dataDays = $(ev.target).data("days");
const elements = this.getElements();
elements.$body.removeClass("has-premio-box");
elements.$reminderPopupDismissBtn.trigger('click');
elements.$reviewBox.remove();
this.sendHideRequest( dataDays );
}
chatyFreeReview.prototype.sendHideRequest = function( dataDays = -1 ) {
$.ajax({
url: "<?php echo esc_url(admin_url("admin-ajax.php")) ?>",
data: "action=<?php echo esc_attr($this->pluginSlug) ?>_review_box&days=" + dataDays + "&nonce=<?php echo esc_attr(wp_create_nonce($this->pluginSlug."_review_box")) ?>",
type: "post",
});
}
chatyFreeReview.prototype.toggleReminderPopup = function( action = true ) {
if( action ) {
this.$reminderPopup.fadeIn(200, function(){
$(this).addClass('open')
});
} else {
this.$reminderPopup.fadeOut(200).removeClass('open');
}
}
chatyFreeReview.prototype.feedbackToggle = function( action = true ) {
const elements = this.getElements();
console.log(action);
if( action ) {
console.log(elements.$feedbackPopup);
elements.$feedbackPopup.fadeIn(200, function(){
$(this).addClass('open')
});
} else {
elements.$rating.starRating('unload');
elements.$reviewBoxDefault.append(`<div class="${this.prefix}-premio-review-box__default__rating"></div>`)
elements.$feedbackPopup.fadeOut(200).removeClass('open');
this.renderRating();
}
}
chatyFreeReview.prototype.renderRating = function() {
const self = this;
const elements = self.getElements();
elements.$rating.starRating({
initialRating : self.rating,
useFullStars : true,
strokeColor : '#894A00',
strokeWidth : 10,
minRating : 1,
starSize : 25,
callback( currentRate ) {
if( currentRate !== 5 ) {
self.rating = currentRate;
self.feedbackToggle(true);
} else {
elements.$reviewBoxDefault.hide();
elements.$reviewBoxThankYou.show();
window.open( self.reviewLink , '_blank');
self.sendHideRequest( -1 );
}
}
})
}
new chatyFreeReview();
})
})( jQuery )
</script>
<?php
}//end admin_notices()
}//end class
$Chaty_Free_Review_Box = new Chaty_Free_Review_Box();