Version Description
Download this release
Release Info
Developer | codeinwp |
Plugin | WP Product Review Lite |
Version | 2.2.4 |
Comparing to | |
See all releases |
Code changes from version 2.2.7 to 2.2.4
- admin/inc/config.php +3 -67
- admin/inc/loader.php +1 -1
- admin/inc/render.php +1 -19
- admin/layout/js/admin.js +45 -4
- admin/layout/main_page.php +3 -3
- css/cwppos-widget.css +0 -12
- css/frontpage.css +1 -1
- inc/class-remote-notification-client.php +380 -380
- inc/core.php +0 -41
- inc/cwp-review-preload.php +0 -76
- inc/cwp_frontpage.php +1 -1
- inc/cwp_metabox.php +19 -65
- inc/cwp_top_products_widget.php +135 -292
- inc/images/ajaxload.gif +0 -0
- inc/review-preloader.php +0 -84
- languages/default.mo +0 -0
- languages/default.po +0 -228
- readme.txt +4 -3
- wp-product-review.php +234 -269
admin/inc/config.php
CHANGED
@@ -36,7 +36,7 @@
|
|
36 |
|
37 |
public static function init(){
|
38 |
|
39 |
-
self::$admin_page_menu_name = "Product Review";
|
40 |
|
41 |
self::$admin_page_title = "WP Product Review Options";
|
42 |
|
@@ -264,23 +264,7 @@
|
|
264 |
|
265 |
"default"=>"Cons"
|
266 |
|
267 |
-
)
|
268 |
-
|
269 |
-
array(
|
270 |
-
"type"=>"color",
|
271 |
-
"name"=>"Review box border",
|
272 |
-
"description"=>"Select the border color to be used on the review box",
|
273 |
-
"id"=>"cwppos_reviewboxbd_color",
|
274 |
-
"default"=>"#3BAEDA"
|
275 |
-
),
|
276 |
-
|
277 |
-
array(
|
278 |
-
"type"=>"input_text",
|
279 |
-
"name"=>"Review box border width",
|
280 |
-
"description"=>"Select the width in pixels of the top border of the review box",
|
281 |
-
"id"=>"cwppos_reviewboxbd_width",
|
282 |
-
"default"=>"5"
|
283 |
-
)
|
284 |
|
285 |
|
286 |
|
@@ -480,55 +464,7 @@
|
|
480 |
|
481 |
)
|
482 |
|
483 |
-
)
|
484 |
-
array(
|
485 |
-
|
486 |
-
"type"=>"tab",
|
487 |
-
|
488 |
-
"name"=>"Upgrade to Pro",
|
489 |
-
|
490 |
-
"options"=>array(
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
array(
|
495 |
-
|
496 |
-
"type"=>"title",
|
497 |
-
|
498 |
-
"name"=>"In order to use the PRO features, you have 2 options :"
|
499 |
-
|
500 |
-
),
|
501 |
-
array(
|
502 |
-
|
503 |
-
"type"=>"select",
|
504 |
-
|
505 |
-
"name"=>"Display the Powered by link ?",
|
506 |
-
|
507 |
-
"description"=>"If you wanna use our Preloader functionality without paying for the plugin, just activate this box and a nofollow link will be added to your review posts",
|
508 |
-
|
509 |
-
"id"=>"cwppos_show_poweredby",
|
510 |
-
|
511 |
-
"options"=>array("yes"=>"Yes","no"=>"No"),
|
512 |
-
|
513 |
-
"default"=>"no"
|
514 |
-
|
515 |
-
),
|
516 |
-
array(
|
517 |
-
|
518 |
-
"type"=>"button",
|
519 |
-
|
520 |
-
"name"=>"Buy the PRO version ",
|
521 |
-
|
522 |
-
"description"=>"Buy the PRO version now for only $9.95",
|
523 |
-
|
524 |
-
"id"=>"cwppos_show_buypro",
|
525 |
-
|
526 |
-
|
527 |
-
"default"=>"no"
|
528 |
-
|
529 |
-
)
|
530 |
-
)
|
531 |
-
)
|
532 |
|
533 |
|
534 |
|
36 |
|
37 |
public static function init(){
|
38 |
|
39 |
+
self::$admin_page_menu_name = "WP Product Review Options";
|
40 |
|
41 |
self::$admin_page_title = "WP Product Review Options";
|
42 |
|
264 |
|
265 |
"default"=>"Cons"
|
266 |
|
267 |
+
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
268 |
|
269 |
|
270 |
|
464 |
|
465 |
)
|
466 |
|
467 |
+
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
468 |
|
469 |
|
470 |
|
admin/inc/loader.php
CHANGED
@@ -7,7 +7,7 @@ add_action( 'admin_menu', 'cwppos_options_add_page' );
|
|
7 |
function cwppos_options_add_page() {
|
8 |
|
9 |
$render = new cwpposRenderView();
|
10 |
-
|
11 |
}
|
12 |
|
13 |
function cwppos_config($config_name, $echo = 0){
|
7 |
function cwppos_options_add_page() {
|
8 |
|
9 |
$render = new cwpposRenderView();
|
10 |
+
add_options_page( __( cwppos_config("admin_page_title"), 'cwppos' ), __( cwppos_config("admin_page_menu_name"), 'cwppos' ), 'manage_options', cwppos_config("menu_slug"), array($render,'show'), "" ,61 );
|
11 |
}
|
12 |
|
13 |
function cwppos_config($config_name, $echo = 0){
|
admin/inc/render.php
CHANGED
@@ -14,7 +14,7 @@
|
|
14 |
$this->add_js("main_page_js",$js_path."admin.js");
|
15 |
$this->add_js("typsy",$js_path."tipsy.js");
|
16 |
$this->add_js("jquery" );
|
17 |
-
|
18 |
|
19 |
$this->options = get_option(cwppos_config("menu_slug"));
|
20 |
|
@@ -64,11 +64,6 @@
|
|
64 |
|
65 |
$this->add_image($tabid,esc_html($field['name']),esc_html($field["description"]),esc_attr($field['id']));
|
66 |
|
67 |
-
break;
|
68 |
-
case 'button':
|
69 |
-
|
70 |
-
$this->add_button($tabid,esc_html($field['name']),esc_html($field["description"]),esc_attr($field['id']));
|
71 |
-
|
72 |
break;
|
73 |
case 'typography':
|
74 |
|
@@ -489,19 +484,6 @@
|
|
489 |
"html"=>$html
|
490 |
);
|
491 |
}
|
492 |
-
|
493 |
-
public function add_button($tabid,$name,$description,$id,$class = ''){
|
494 |
-
$html = '
|
495 |
-
<div class="controls '.$class.' ">
|
496 |
-
<div class="explain">'.$name.'</div><p class="field_description">'.$description.'</p>
|
497 |
-
<a href="http://www.readythemes.com/wp-product-review-pro/" class="button" target="_blank" style="color:red; text-decoration: none; ">'.$name.'</a>
|
498 |
-
</div></div>';
|
499 |
-
$this->tabs[$tabid]["elements"][] = array(
|
500 |
-
"type"=>"button",
|
501 |
-
"html"=>$html
|
502 |
-
);
|
503 |
-
}
|
504 |
-
|
505 |
public function add_color($tabid,$name,$description,$id,$class = ''){
|
506 |
|
507 |
|
14 |
$this->add_js("main_page_js",$js_path."admin.js");
|
15 |
$this->add_js("typsy",$js_path."tipsy.js");
|
16 |
$this->add_js("jquery" );
|
17 |
+
$this->add_js("media" );
|
18 |
|
19 |
$this->options = get_option(cwppos_config("menu_slug"));
|
20 |
|
64 |
|
65 |
$this->add_image($tabid,esc_html($field['name']),esc_html($field["description"]),esc_attr($field['id']));
|
66 |
|
|
|
|
|
|
|
|
|
|
|
67 |
break;
|
68 |
case 'typography':
|
69 |
|
484 |
"html"=>$html
|
485 |
);
|
486 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
487 |
public function add_color($tabid,$name,$description,$id,$class = ''){
|
488 |
|
489 |
|
admin/layout/js/admin.js
CHANGED
@@ -4,9 +4,9 @@ jQuery("document").ready(function() {
|
|
4 |
|
5 |
jQuery("#cwp_container").fadeIn(200);
|
6 |
|
7 |
-
var _custom_media = true
|
8 |
|
9 |
-
|
10 |
|
11 |
|
12 |
|
@@ -19,11 +19,52 @@ jQuery("document").ready(function() {
|
|
19 |
return false;
|
20 |
});
|
21 |
|
22 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
24 |
jQuery(".subo-color-picker").wpColorPicker({ change: function(event, ui){
|
25 |
var color = ui.color.toCSS();
|
26 |
-
|
27 |
var id = jQuery(this).attr('id').replace('_color_selector', '');
|
28 |
|
29 |
|
4 |
|
5 |
jQuery("#cwp_container").fadeIn(200);
|
6 |
|
7 |
+
var _custom_media = true,
|
8 |
|
9 |
+
_orig_send_attachment = wp.media.editor.send.attachment;
|
10 |
|
11 |
|
12 |
|
19 |
return false;
|
20 |
});
|
21 |
|
22 |
+
jQuery('.selector-image').click(function(e) {
|
23 |
+
|
24 |
+
var send_attachment_bkp = wp.media.editor.send.attachment;
|
25 |
+
|
26 |
+
var button = jQuery(this);
|
27 |
+
|
28 |
+
var id = button.attr('id').replace('_button', '');
|
29 |
+
|
30 |
+
_custom_media = true;
|
31 |
+
|
32 |
+
wp.media.frames.file_frame = wp.media({
|
33 |
+
title: "Select Image",
|
34 |
+
button: {
|
35 |
+
text: 'Select Image'
|
36 |
+
},
|
37 |
+
multiple: false
|
38 |
+
});
|
39 |
+
wp.media.editor.send.attachment = function(props, attachment){
|
40 |
+
|
41 |
+
if ( _custom_media ) {
|
42 |
+
|
43 |
+
jQuery("#"+id).val(attachment.url);
|
44 |
+
jQuery("#"+id+"_image").attr("src",attachment.url).show();
|
45 |
+
|
46 |
+
jQuery("#"+id+"-gradientcolor").hide();
|
47 |
+
jQuery("#"+id+"-gradientselector").hide();
|
48 |
+
} else {
|
49 |
+
|
50 |
+
return _orig_send_attachment.apply( this, [props, attachment] );
|
51 |
+
|
52 |
+
};
|
53 |
+
|
54 |
+
}
|
55 |
+
|
56 |
+
wp.media.editor.open(button);
|
57 |
+
setInterval(function(){
|
58 |
+
if(jQuery('a.media-button-insert').text() != 'Use this Image' )
|
59 |
+
jQuery('a.media-button-insert').text('Use this Image');
|
60 |
+
},100)
|
61 |
+
return false;
|
62 |
+
|
63 |
+
});
|
64 |
|
65 |
jQuery(".subo-color-picker").wpColorPicker({ change: function(event, ui){
|
66 |
var color = ui.color.toCSS();
|
67 |
+
console.log(color);
|
68 |
var id = jQuery(this).attr('id').replace('_color_selector', '');
|
69 |
|
70 |
|
admin/layout/main_page.php
CHANGED
@@ -9,11 +9,11 @@
|
|
9 |
|
10 |
<img class="theme_options_logo" src="<?php echo plugins_url( 'img/logo.png' , __FILE__ ) . ''; ?>" alt="<?php echo cwppos_config('admin_page_header'); ?>">
|
11 |
|
12 |
-
|
13 |
|
14 |
-
<a href="
|
15 |
|
16 |
-
<a href="
|
17 |
|
18 |
</h2>
|
19 |
</div>
|
9 |
|
10 |
<img class="theme_options_logo" src="<?php echo plugins_url( 'img/logo.png' , __FILE__ ) . ''; ?>" alt="<?php echo cwppos_config('admin_page_header'); ?>">
|
11 |
|
12 |
+
<a href="https://themeisle.com/plugins/wp-product-review-lite/" class="read_docs button" target="_blank" style="text-decoration: none;"><?php _e("Visit Plugin Page", "cwp"); ?></a>
|
13 |
|
14 |
+
<a href="https://themeisle.com/allthemes/" class="read_docs button" target="_blank" style="color:red; text-decoration: none; "><?php _e("Recommended Review Themes", "cwp"); ?></a>
|
15 |
|
16 |
+
<a href="https://themeisle.com/contact/" target="_blank" class="read_docs button" style="text-decoration: none;"><?php _e("Contact us", "cwp"); ?></a>
|
17 |
|
18 |
</h2>
|
19 |
</div>
|
css/cwppos-widget.css
DELETED
@@ -1,12 +0,0 @@
|
|
1 |
-
/* Sidebar Popular Reviews Widget */
|
2 |
-
|
3 |
-
.cwp-popular-review { position: relative; border-bottom: 1px solid #ddd; margin: 0; padding: 15px 0px!important;}
|
4 |
-
|
5 |
-
.cwp-popular-review .cwp-review-chart canvas, .cwp-popular-review .cwp-review-chart span { width: 40px!important; height: 40px!important; line-height: 2.3; }
|
6 |
-
.cwp-popular-review .cwp-review-chart .cwp-review-percentage { top: -1px; left: -1px; }
|
7 |
-
.cwp-popular-review .cwp-review-chart { border: 0px solid #fff; width: 40px; height: 40px; top: 56%; margin-top: -22px; }
|
8 |
-
/* Review Pie Chart Styles */
|
9 |
-
.cwp-review-chart { float: left; margin: 10px;margin-right:0px; position: absolute;top: 0;right: 0; border: 3px solid #fff; border-radius: 50%;}
|
10 |
-
.cwp-review-percentage span { font-family: "Lato"; font-size: 17px; font-weight: 900; background: #fff; display: block;border-radius: 50%; }
|
11 |
-
.easyPieChart { position: relative; text-align: center; }
|
12 |
-
.easyPieChart canvas { position: absolute; top: 0; left: 0; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
css/frontpage.css
CHANGED
@@ -211,7 +211,7 @@ margin-bottom: 9%;}
|
|
211 |
|
212 |
|
213 |
|
214 |
-
.affiliate-button { width:100%; margin-bottom:20px;
|
215 |
|
216 |
.affiliate-button a { display: table; margin: 0 auto; border: none; border-radius: none; padding: 10px 35px; margin-top: 20px; border-radius: 5px; text-decoration: none !important; }
|
217 |
|
211 |
|
212 |
|
213 |
|
214 |
+
.affiliate-button { width:100%; margin-bottom:20px; }
|
215 |
|
216 |
.affiliate-button a { display: table; margin: 0 auto; border: none; border-radius: none; padding: 10px 35px; margin-top: 20px; border-radius: 5px; text-decoration: none !important; }
|
217 |
|
inc/class-remote-notification-client.php
CHANGED
@@ -1,381 +1,381 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Remote Dashobard Notifications.
|
4 |
-
*
|
5 |
-
* This class is part of the Remote Dashboard Notifications plugin.
|
6 |
-
* This plugin allows you to send notifications to your client's
|
7 |
-
* WordPress dashboard easily.
|
8 |
-
*
|
9 |
-
* Notification you send will be displayed as admin notifications
|
10 |
-
* using the standard WordPress hooks. A "dismiss" option is added
|
11 |
-
* in order to let the user hide the notification.
|
12 |
-
*
|
13 |
-
* @package Remote Dashboard Notifications
|
14 |
-
* @author ThemeAvenue <web@themeavenue.net>
|
15 |
-
* @license GPL-2.0+
|
16 |
-
* @link http://themeavenue.net
|
17 |
-
* @link http://wordpress.org/plugins/remote-dashboard-notifications/
|
18 |
-
* @link https://github.com/ThemeAvenue/Remote-Dashboard-Notifications
|
19 |
-
* @copyright 2014 ThemeAvenue
|
20 |
-
*/
|
21 |
-
|
22 |
-
// If this file is called directly, abort.
|
23 |
-
if ( ! defined( 'WPINC' ) ) {
|
24 |
-
die;
|
25 |
-
}
|
26 |
-
|
27 |
-
class TAV_Remote_Notification_Client {
|
28 |
-
|
29 |
-
/**
|
30 |
-
* Class version.
|
31 |
-
*
|
32 |
-
* @since 0.1.0
|
33 |
-
*
|
34 |
-
* @var string
|
35 |
-
*/
|
36 |
-
protected static $version = '0.1.2';
|
37 |
-
|
38 |
-
public function __construct( $channel_id = false, $channel_key = false, $server = false, $debug = false ) {
|
39 |
-
|
40 |
-
/* Don't continue during Ajax process */
|
41 |
-
if( !is_admin() || defined( 'DOING_AJAX' ) && DOING_AJAX )
|
42 |
-
return;
|
43 |
-
|
44 |
-
$this->id = intval( $channel_id );
|
45 |
-
$this->key = sanitize_key( $channel_key );
|
46 |
-
$this->server = esc_url( $server );
|
47 |
-
$this->notice = false;
|
48 |
-
$this->cache = apply_filters( 'rn_notice_caching_time', 6 );
|
49 |
-
$this->debug = $debug;
|
50 |
-
$this->error = null;
|
51 |
-
|
52 |
-
/* The plugin can't work without those 2 parameters */
|
53 |
-
if( false === ( $this->id || $this->key || $this->server ) )
|
54 |
-
return;
|
55 |
-
|
56 |
-
/* Call the dismiss method before testing for Ajax */
|
57 |
-
if( isset( $_GET['rn'] ) && isset( $_GET['notification'] ) )
|
58 |
-
add_action( 'init', array( $this, 'dismiss' ) );
|
59 |
-
|
60 |
-
add_action( 'init', array( $this, 'request_server' ) );
|
61 |
-
|
62 |
-
}
|
63 |
-
|
64 |
-
/**
|
65 |
-
* Send a request to notification server
|
66 |
-
*
|
67 |
-
* The distant WordPress notification server is
|
68 |
-
* queried using the WordPress HTTP API.
|
69 |
-
*
|
70 |
-
* @since 0.1.0
|
71 |
-
*/
|
72 |
-
public function request_server() {
|
73 |
-
|
74 |
-
/* Current channel ID */
|
75 |
-
$channel_id = $this->id;
|
76 |
-
|
77 |
-
/* Current channel key */
|
78 |
-
$channel_key = $this->key;
|
79 |
-
|
80 |
-
/* Generate a unique identifyer used for the transient */
|
81 |
-
$uniqid = $channel_id . substr( $channel_key, 0, 5 );
|
82 |
-
|
83 |
-
/* Prepare the payload to send to server */
|
84 |
-
$payload = base64_encode( json_encode( array( 'channel' => $channel_id, 'key' => $channel_key ) ) );
|
85 |
-
|
86 |
-
/* Get the endpoint URL ready */
|
87 |
-
$url = add_query_arg( array( 'payload' => $payload ), $this->server );
|
88 |
-
|
89 |
-
/* Content is false at first */
|
90 |
-
$content = get_transient( "rn_last_notification_$uniqid" );
|
91 |
-
|
92 |
-
/* Set the request response to null */
|
93 |
-
$request = null;
|
94 |
-
|
95 |
-
/* If no notice is present in DB we query the server */
|
96 |
-
if( false === $content || defined( 'RDN_DEV' ) && RDN_DEV ) {
|
97 |
-
|
98 |
-
/* Query the server */
|
99 |
-
$request = wp_remote_get( $url, array( 'timeout' => apply_filters( 'rn_http_request_timeout', 5 ) ) );
|
100 |
-
|
101 |
-
/* If we have a WP_Error object we abort */
|
102 |
-
if( is_wp_error( $request ) )
|
103 |
-
return;
|
104 |
-
|
105 |
-
/* Check if we have a valid response */
|
106 |
-
if( is_array( $request ) && isset( $request['response']['code'] ) && 200 === intval( $request['response']['code'] ) ) {
|
107 |
-
|
108 |
-
/* Get the response body */
|
109 |
-
if( isset( $request['body'] ) ) {
|
110 |
-
|
111 |
-
/**
|
112 |
-
* Decode the response JSON string
|
113 |
-
*/
|
114 |
-
$content = json_decode( $request['body'] );
|
115 |
-
|
116 |
-
/**
|
117 |
-
* Check if the payload is in a usable JSON format
|
118 |
-
*/
|
119 |
-
if( version_compare( phpversion(), '5.3.0', '>=' ) ) {
|
120 |
-
|
121 |
-
if( ! ( json_last_error() == JSON_ERROR_NONE ) )
|
122 |
-
return false;
|
123 |
-
|
124 |
-
} else {
|
125 |
-
|
126 |
-
if( $content == NULL )
|
127 |
-
return false;
|
128 |
-
|
129 |
-
}
|
130 |
-
|
131 |
-
set_transient( "rn_last_notification_$uniqid", $content, $this->cache*60*60 );
|
132 |
-
|
133 |
-
}
|
134 |
-
|
135 |
-
}
|
136 |
-
|
137 |
-
}
|
138 |
-
|
139 |
-
/**
|
140 |
-
* If the JSON string has been decoded we can go ahead
|
141 |
-
*/
|
142 |
-
if( is_object( $content ) ) {
|
143 |
-
|
144 |
-
if( isset( $content->error ) ) {
|
145 |
-
|
146 |
-
/* Display debug info in the admin footer */
|
147 |
-
if( true === $this->debug ) {
|
148 |
-
|
149 |
-
/* Save the error message */
|
150 |
-
$this->error = $content->error;
|
151 |
-
|
152 |
-
/* Display it commented in the footer */
|
153 |
-
add_action( 'admin_footer', array( $this, 'debug_info' ) );
|
154 |
-
|
155 |
-
}
|
156 |
-
|
157 |
-
/* Stop */
|
158 |
-
return;
|
159 |
-
|
160 |
-
}
|
161 |
-
|
162 |
-
$this->notice = $content;
|
163 |
-
|
164 |
-
/**
|
165 |
-
* Check if notice has already been dismissed
|
166 |
-
*/
|
167 |
-
$dismissed = get_option( '_rn_dismissed' );
|
168 |
-
|
169 |
-
if( is_array( $dismissed ) && in_array( $content->slug, $dismissed ) )
|
170 |
-
return;
|
171 |
-
|
172 |
-
/**
|
173 |
-
* Add the notice style
|
174 |
-
*/
|
175 |
-
add_action( 'admin_print_styles', array( $this, 'style' ), 100 );
|
176 |
-
|
177 |
-
/**
|
178 |
-
* Add the notice to WP dashboard
|
179 |
-
*/
|
180 |
-
add_action( 'admin_notices', array( $this, 'show_notice' ) );
|
181 |
-
|
182 |
-
} else {
|
183 |
-
|
184 |
-
return false;
|
185 |
-
|
186 |
-
}
|
187 |
-
|
188 |
-
}
|
189 |
-
|
190 |
-
/**
|
191 |
-
* Display the admin notice
|
192 |
-
*
|
193 |
-
* The function will do some checks to verify if
|
194 |
-
* the notice can be displayed on the current page.
|
195 |
-
* If all the checks are passed, the notice
|
196 |
-
* is added to the page.
|
197 |
-
*
|
198 |
-
* @since 0.1.0
|
199 |
-
*/
|
200 |
-
public function show_notice() {
|
201 |
-
|
202 |
-
$content = $this->notice;
|
203 |
-
|
204 |
-
/* If there is no content we abort */
|
205 |
-
if( false === $content )
|
206 |
-
return;
|
207 |
-
|
208 |
-
/* If the type array isn't empty we have a limitation */
|
209 |
-
if( isset( $content->type ) && is_array( $content->type ) && !empty( $content->type ) ) {
|
210 |
-
|
211 |
-
/* Get current post type */
|
212 |
-
$pt = get_post_type();
|
213 |
-
|
214 |
-
/**
|
215 |
-
* If the current post type can't be retrieved
|
216 |
-
* or if it's not in the allowed post types,
|
217 |
-
* then we don't display the admin notice.
|
218 |
-
*/
|
219 |
-
if( false === $pt || !in_array( $pt, $content->type ) )
|
220 |
-
return;
|
221 |
-
|
222 |
-
}
|
223 |
-
|
224 |
-
/* Prepare alert class */
|
225 |
-
$style = isset( $content->style ) ? $content->style : 'updated';
|
226 |
-
|
227 |
-
if( 'updated' == $style )
|
228 |
-
$class = $style;
|
229 |
-
|
230 |
-
elseif( 'error' == $style )
|
231 |
-
$class = 'updated error';
|
232 |
-
|
233 |
-
else
|
234 |
-
$class = "updated rn-alert rn-alert-$style";
|
235 |
-
|
236 |
-
/**
|
237 |
-
* Prepare the dismiss URL
|
238 |
-
*
|
239 |
-
* @var (string) URL
|
240 |
-
* @todo get a more accurate URL of the current page
|
241 |
-
*/
|
242 |
-
$args = array();
|
243 |
-
$nonce = wp_create_nonce( 'rn-dismiss' );
|
244 |
-
$slug = $content->slug;
|
245 |
-
|
246 |
-
array_push( $args, "rn=$nonce" );
|
247 |
-
array_push( $args, "notification=$slug" );
|
248 |
-
|
249 |
-
foreach( $_GET as $key => $value ) {
|
250 |
-
|
251 |
-
array_push( $args, "$key=$value" );
|
252 |
-
|
253 |
-
}
|
254 |
-
|
255 |
-
$args = implode( '&', $args );
|
256 |
-
$url = "?$args";
|
257 |
-
?>
|
258 |
-
|
259 |
-
<div class="<?php echo $class; ?>">
|
260 |
-
<?php if( !in_array( $style, array( 'updated', 'error' ) ) ): ?><a href="<?php echo $url; ?>" id="rn-dismiss" class="rn-dismiss-btn" title="<?php _e( 'Dismiss notification', 'remote-notifications' ); ?>">×</a><?php endif; ?>
|
261 |
-
<p><?php echo html_entity_decode( $content->message ); ?></p>
|
262 |
-
<?php if( in_array( $style, array( 'updated', 'error' ) ) ): ?><p><a href="<?php echo $url; ?>" id="rn-dismiss" class="rn-dismiss-button button-secondary"><?php _e( 'Dismiss', 'remote-notifications' ); ?></a></p><?php endif; ?>
|
263 |
-
</div>
|
264 |
-
<?php
|
265 |
-
|
266 |
-
}
|
267 |
-
|
268 |
-
/**
|
269 |
-
* Dismiss notice
|
270 |
-
*
|
271 |
-
* When the user dismisses a notice, its slug
|
272 |
-
* is added to the _rn_dismissed entry in the DB options table.
|
273 |
-
* This entry is then used to check if a notie has been dismissed
|
274 |
-
* before displaying it on the dashboard.
|
275 |
-
*
|
276 |
-
* @since 0.1.0
|
277 |
-
*/
|
278 |
-
public function dismiss() {
|
279 |
-
|
280 |
-
/* Check if we have all the vars */
|
281 |
-
if( !isset( $_GET['rn'] ) || !isset( $_GET['notification'] ) )
|
282 |
-
return;
|
283 |
-
|
284 |
-
/* Validate nonce */
|
285 |
-
if( !wp_verify_nonce( sanitize_key( $_GET['rn'] ), 'rn-dismiss' ) )
|
286 |
-
return;
|
287 |
-
|
288 |
-
/* Get dismissed list */
|
289 |
-
$dismissed = get_option( '_rn_dismissed', array() );
|
290 |
-
|
291 |
-
/* Add the current notice to the list if needed */
|
292 |
-
if( is_array( $dismissed ) && !in_array( $_GET['notification'], $dismissed ) )
|
293 |
-
array_push( $dismissed, $_GET['notification'] );
|
294 |
-
|
295 |
-
/* Update option */
|
296 |
-
update_option( '_rn_dismissed', $dismissed );
|
297 |
-
|
298 |
-
/* Get redirect URL */
|
299 |
-
$args = array();
|
300 |
-
|
301 |
-
/* Get URL args */
|
302 |
-
foreach( $_GET as $key => $value ) {
|
303 |
-
|
304 |
-
if( in_array( $key, array( 'rn', 'notification' ) ) )
|
305 |
-
continue;
|
306 |
-
|
307 |
-
array_push( $args, "$key=$value" );
|
308 |
-
|
309 |
-
}
|
310 |
-
|
311 |
-
$args = implode( '&', $args );
|
312 |
-
$url = "?$args";
|
313 |
-
|
314 |
-
/* Redirect */
|
315 |
-
wp_redirect( $url );
|
316 |
-
|
317 |
-
}
|
318 |
-
|
319 |
-
/**
|
320 |
-
* Adds inline style for non standard notices
|
321 |
-
*
|
322 |
-
* This function will only be called if the notice style is not standard.
|
323 |
-
*
|
324 |
-
* @since 0.1.0
|
325 |
-
*/
|
326 |
-
public function style() { ?>
|
327 |
-
|
328 |
-
<style type="text/css">div.rn-alert{padding:15px;padding-right:35px;margin-bottom:20px;border:1px solid transparent;-webkit-box-shadow:none;box-shadow:none}div.rn-alert p:empty{display:none}div.rn-alert ul,div.rn-alert ul li,div.rn-alert ol,div.rn-alert ol li{list-style:inherit !important}div.rn-alert ul,div.rn-alert ol{padding-left:30px}div.rn-alert hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}div.rn-alert h1,h2,h3,h4,h5,h6{margin-top:0;color:inherit}div.rn-alert a{font-weight:700}div.rn-alert a:hover{text-decoration:underline}div.rn-alert>p{margin:0;padding:0;line-height:1}div.rn-alert>p,div.rn-alert>ul{margin-bottom:0}div.rn-alert>p+p{margin-top:5px}div.rn-alert .rn-dismiss-btn{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;position:relative;top:-2px;right:-21px;padding:0;cursor:pointer;background:0;border:0;-webkit-appearance:none;float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20);text-decoration:none}div.rn-alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}div.rn-alert-success hr{border-top-color:#c9e2b3}div.rn-alert-success a{color:#2b542c}div.rn-alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}div.rn-alert-info hr{border-top-color:#a6e1ec}div.rn-alert-info a{color:#245269}div.rn-alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}div.rn-alert-warning hr{border-top-color:#f7e1b5}div.rn-alert-warning a{color:#66512c}div.rn-alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}div.rn-alert-danger hr{border-top-color:#e4b9c0}div.rn-alert-danger a{color:#843534}</style>
|
329 |
-
|
330 |
-
<?php }
|
331 |
-
|
332 |
-
/**
|
333 |
-
* Dismiss notice using Ajax
|
334 |
-
*
|
335 |
-
* This function is NOT used. Testing only.
|
336 |
-
*/
|
337 |
-
public function script() {
|
338 |
-
|
339 |
-
$url = admin_url();
|
340 |
-
?>
|
341 |
-
|
342 |
-
<script type="text/javascript">
|
343 |
-
jQuery(document).ready(function($) {
|
344 |
-
|
345 |
-
var prout = 'prout';
|
346 |
-
|
347 |
-
$('#rn-dismiss').on('click', function(event) {
|
348 |
-
event.preventDefault();
|
349 |
-
$.ajax({
|
350 |
-
type: "GET",
|
351 |
-
url: <?php echo $url; ?>,
|
352 |
-
data: prout
|
353 |
-
});
|
354 |
-
console.log('clicked');
|
355 |
-
});
|
356 |
-
|
357 |
-
return false;
|
358 |
-
|
359 |
-
});
|
360 |
-
</script>
|
361 |
-
|
362 |
-
<?php
|
363 |
-
|
364 |
-
}
|
365 |
-
|
366 |
-
/**
|
367 |
-
* Debug info.
|
368 |
-
*
|
369 |
-
* Display an error message commented in the admin footer.
|
370 |
-
*
|
371 |
-
* @since 0.1.2
|
372 |
-
*/
|
373 |
-
public function debug_info() {
|
374 |
-
|
375 |
-
$error = $this->error;
|
376 |
-
|
377 |
-
echo "<!-- RDN Debug Info: $error -->";
|
378 |
-
|
379 |
-
}
|
380 |
-
|
381 |
}
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Remote Dashobard Notifications.
|
4 |
+
*
|
5 |
+
* This class is part of the Remote Dashboard Notifications plugin.
|
6 |
+
* This plugin allows you to send notifications to your client's
|
7 |
+
* WordPress dashboard easily.
|
8 |
+
*
|
9 |
+
* Notification you send will be displayed as admin notifications
|
10 |
+
* using the standard WordPress hooks. A "dismiss" option is added
|
11 |
+
* in order to let the user hide the notification.
|
12 |
+
*
|
13 |
+
* @package Remote Dashboard Notifications
|
14 |
+
* @author ThemeAvenue <web@themeavenue.net>
|
15 |
+
* @license GPL-2.0+
|
16 |
+
* @link http://themeavenue.net
|
17 |
+
* @link http://wordpress.org/plugins/remote-dashboard-notifications/
|
18 |
+
* @link https://github.com/ThemeAvenue/Remote-Dashboard-Notifications
|
19 |
+
* @copyright 2014 ThemeAvenue
|
20 |
+
*/
|
21 |
+
|
22 |
+
// If this file is called directly, abort.
|
23 |
+
if ( ! defined( 'WPINC' ) ) {
|
24 |
+
die;
|
25 |
+
}
|
26 |
+
|
27 |
+
class TAV_Remote_Notification_Client {
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Class version.
|
31 |
+
*
|
32 |
+
* @since 0.1.0
|
33 |
+
*
|
34 |
+
* @var string
|
35 |
+
*/
|
36 |
+
protected static $version = '0.1.2';
|
37 |
+
|
38 |
+
public function __construct( $channel_id = false, $channel_key = false, $server = false, $debug = false ) {
|
39 |
+
|
40 |
+
/* Don't continue during Ajax process */
|
41 |
+
if( !is_admin() || defined( 'DOING_AJAX' ) && DOING_AJAX )
|
42 |
+
return;
|
43 |
+
|
44 |
+
$this->id = intval( $channel_id );
|
45 |
+
$this->key = sanitize_key( $channel_key );
|
46 |
+
$this->server = esc_url( $server );
|
47 |
+
$this->notice = false;
|
48 |
+
$this->cache = apply_filters( 'rn_notice_caching_time', 6 );
|
49 |
+
$this->debug = $debug;
|
50 |
+
$this->error = null;
|
51 |
+
|
52 |
+
/* The plugin can't work without those 2 parameters */
|
53 |
+
if( false === ( $this->id || $this->key || $this->server ) )
|
54 |
+
return;
|
55 |
+
|
56 |
+
/* Call the dismiss method before testing for Ajax */
|
57 |
+
if( isset( $_GET['rn'] ) && isset( $_GET['notification'] ) )
|
58 |
+
add_action( 'init', array( $this, 'dismiss' ) );
|
59 |
+
|
60 |
+
add_action( 'init', array( $this, 'request_server' ) );
|
61 |
+
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* Send a request to notification server
|
66 |
+
*
|
67 |
+
* The distant WordPress notification server is
|
68 |
+
* queried using the WordPress HTTP API.
|
69 |
+
*
|
70 |
+
* @since 0.1.0
|
71 |
+
*/
|
72 |
+
public function request_server() {
|
73 |
+
|
74 |
+
/* Current channel ID */
|
75 |
+
$channel_id = $this->id;
|
76 |
+
|
77 |
+
/* Current channel key */
|
78 |
+
$channel_key = $this->key;
|
79 |
+
|
80 |
+
/* Generate a unique identifyer used for the transient */
|
81 |
+
$uniqid = $channel_id . substr( $channel_key, 0, 5 );
|
82 |
+
|
83 |
+
/* Prepare the payload to send to server */
|
84 |
+
$payload = base64_encode( json_encode( array( 'channel' => $channel_id, 'key' => $channel_key ) ) );
|
85 |
+
|
86 |
+
/* Get the endpoint URL ready */
|
87 |
+
$url = add_query_arg( array( 'payload' => $payload ), $this->server );
|
88 |
+
|
89 |
+
/* Content is false at first */
|
90 |
+
$content = get_transient( "rn_last_notification_$uniqid" );
|
91 |
+
|
92 |
+
/* Set the request response to null */
|
93 |
+
$request = null;
|
94 |
+
|
95 |
+
/* If no notice is present in DB we query the server */
|
96 |
+
if( false === $content || defined( 'RDN_DEV' ) && RDN_DEV ) {
|
97 |
+
|
98 |
+
/* Query the server */
|
99 |
+
$request = wp_remote_get( $url, array( 'timeout' => apply_filters( 'rn_http_request_timeout', 5 ) ) );
|
100 |
+
|
101 |
+
/* If we have a WP_Error object we abort */
|
102 |
+
if( is_wp_error( $request ) )
|
103 |
+
return;
|
104 |
+
|
105 |
+
/* Check if we have a valid response */
|
106 |
+
if( is_array( $request ) && isset( $request['response']['code'] ) && 200 === intval( $request['response']['code'] ) ) {
|
107 |
+
|
108 |
+
/* Get the response body */
|
109 |
+
if( isset( $request['body'] ) ) {
|
110 |
+
|
111 |
+
/**
|
112 |
+
* Decode the response JSON string
|
113 |
+
*/
|
114 |
+
$content = json_decode( $request['body'] );
|
115 |
+
|
116 |
+
/**
|
117 |
+
* Check if the payload is in a usable JSON format
|
118 |
+
*/
|
119 |
+
if( version_compare( phpversion(), '5.3.0', '>=' ) ) {
|
120 |
+
|
121 |
+
if( ! ( json_last_error() == JSON_ERROR_NONE ) )
|
122 |
+
return false;
|
123 |
+
|
124 |
+
} else {
|
125 |
+
|
126 |
+
if( $content == NULL )
|
127 |
+
return false;
|
128 |
+
|
129 |
+
}
|
130 |
+
|
131 |
+
set_transient( "rn_last_notification_$uniqid", $content, $this->cache*60*60 );
|
132 |
+
|
133 |
+
}
|
134 |
+
|
135 |
+
}
|
136 |
+
|
137 |
+
}
|
138 |
+
|
139 |
+
/**
|
140 |
+
* If the JSON string has been decoded we can go ahead
|
141 |
+
*/
|
142 |
+
if( is_object( $content ) ) {
|
143 |
+
|
144 |
+
if( isset( $content->error ) ) {
|
145 |
+
|
146 |
+
/* Display debug info in the admin footer */
|
147 |
+
if( true === $this->debug ) {
|
148 |
+
|
149 |
+
/* Save the error message */
|
150 |
+
$this->error = $content->error;
|
151 |
+
|
152 |
+
/* Display it commented in the footer */
|
153 |
+
add_action( 'admin_footer', array( $this, 'debug_info' ) );
|
154 |
+
|
155 |
+
}
|
156 |
+
|
157 |
+
/* Stop */
|
158 |
+
return;
|
159 |
+
|
160 |
+
}
|
161 |
+
|
162 |
+
$this->notice = $content;
|
163 |
+
|
164 |
+
/**
|
165 |
+
* Check if notice has already been dismissed
|
166 |
+
*/
|
167 |
+
$dismissed = get_option( '_rn_dismissed' );
|
168 |
+
|
169 |
+
if( is_array( $dismissed ) && in_array( $content->slug, $dismissed ) )
|
170 |
+
return;
|
171 |
+
|
172 |
+
/**
|
173 |
+
* Add the notice style
|
174 |
+
*/
|
175 |
+
add_action( 'admin_print_styles', array( $this, 'style' ), 100 );
|
176 |
+
|
177 |
+
/**
|
178 |
+
* Add the notice to WP dashboard
|
179 |
+
*/
|
180 |
+
add_action( 'admin_notices', array( $this, 'show_notice' ) );
|
181 |
+
|
182 |
+
} else {
|
183 |
+
|
184 |
+
return false;
|
185 |
+
|
186 |
+
}
|
187 |
+
|
188 |
+
}
|
189 |
+
|
190 |
+
/**
|
191 |
+
* Display the admin notice
|
192 |
+
*
|
193 |
+
* The function will do some checks to verify if
|
194 |
+
* the notice can be displayed on the current page.
|
195 |
+
* If all the checks are passed, the notice
|
196 |
+
* is added to the page.
|
197 |
+
*
|
198 |
+
* @since 0.1.0
|
199 |
+
*/
|
200 |
+
public function show_notice() {
|
201 |
+
|
202 |
+
$content = $this->notice;
|
203 |
+
|
204 |
+
/* If there is no content we abort */
|
205 |
+
if( false === $content )
|
206 |
+
return;
|
207 |
+
|
208 |
+
/* If the type array isn't empty we have a limitation */
|
209 |
+
if( isset( $content->type ) && is_array( $content->type ) && !empty( $content->type ) ) {
|
210 |
+
|
211 |
+
/* Get current post type */
|
212 |
+
$pt = get_post_type();
|
213 |
+
|
214 |
+
/**
|
215 |
+
* If the current post type can't be retrieved
|
216 |
+
* or if it's not in the allowed post types,
|
217 |
+
* then we don't display the admin notice.
|
218 |
+
*/
|
219 |
+
if( false === $pt || !in_array( $pt, $content->type ) )
|
220 |
+
return;
|
221 |
+
|
222 |
+
}
|
223 |
+
|
224 |
+
/* Prepare alert class */
|
225 |
+
$style = isset( $content->style ) ? $content->style : 'updated';
|
226 |
+
|
227 |
+
if( 'updated' == $style )
|
228 |
+
$class = $style;
|
229 |
+
|
230 |
+
elseif( 'error' == $style )
|
231 |
+
$class = 'updated error';
|
232 |
+
|
233 |
+
else
|
234 |
+
$class = "updated rn-alert rn-alert-$style";
|
235 |
+
|
236 |
+
/**
|
237 |
+
* Prepare the dismiss URL
|
238 |
+
*
|
239 |
+
* @var (string) URL
|
240 |
+
* @todo get a more accurate URL of the current page
|
241 |
+
*/
|
242 |
+
$args = array();
|
243 |
+
$nonce = wp_create_nonce( 'rn-dismiss' );
|
244 |
+
$slug = $content->slug;
|
245 |
+
|
246 |
+
array_push( $args, "rn=$nonce" );
|
247 |
+
array_push( $args, "notification=$slug" );
|
248 |
+
|
249 |
+
foreach( $_GET as $key => $value ) {
|
250 |
+
|
251 |
+
array_push( $args, "$key=$value" );
|
252 |
+
|
253 |
+
}
|
254 |
+
|
255 |
+
$args = implode( '&', $args );
|
256 |
+
$url = "?$args";
|
257 |
+
?>
|
258 |
+
|
259 |
+
<div class="<?php echo $class; ?>">
|
260 |
+
<?php if( !in_array( $style, array( 'updated', 'error' ) ) ): ?><a href="<?php echo $url; ?>" id="rn-dismiss" class="rn-dismiss-btn" title="<?php _e( 'Dismiss notification', 'remote-notifications' ); ?>">×</a><?php endif; ?>
|
261 |
+
<p><?php echo html_entity_decode( $content->message ); ?></p>
|
262 |
+
<?php if( in_array( $style, array( 'updated', 'error' ) ) ): ?><p><a href="<?php echo $url; ?>" id="rn-dismiss" class="rn-dismiss-button button-secondary"><?php _e( 'Dismiss', 'remote-notifications' ); ?></a></p><?php endif; ?>
|
263 |
+
</div>
|
264 |
+
<?php
|
265 |
+
|
266 |
+
}
|
267 |
+
|
268 |
+
/**
|
269 |
+
* Dismiss notice
|
270 |
+
*
|
271 |
+
* When the user dismisses a notice, its slug
|
272 |
+
* is added to the _rn_dismissed entry in the DB options table.
|
273 |
+
* This entry is then used to check if a notie has been dismissed
|
274 |
+
* before displaying it on the dashboard.
|
275 |
+
*
|
276 |
+
* @since 0.1.0
|
277 |
+
*/
|
278 |
+
public function dismiss() {
|
279 |
+
|
280 |
+
/* Check if we have all the vars */
|
281 |
+
if( !isset( $_GET['rn'] ) || !isset( $_GET['notification'] ) )
|
282 |
+
return;
|
283 |
+
|
284 |
+
/* Validate nonce */
|
285 |
+
if( !wp_verify_nonce( sanitize_key( $_GET['rn'] ), 'rn-dismiss' ) )
|
286 |
+
return;
|
287 |
+
|
288 |
+
/* Get dismissed list */
|
289 |
+
$dismissed = get_option( '_rn_dismissed', array() );
|
290 |
+
|
291 |
+
/* Add the current notice to the list if needed */
|
292 |
+
if( is_array( $dismissed ) && !in_array( $_GET['notification'], $dismissed ) )
|
293 |
+
array_push( $dismissed, $_GET['notification'] );
|
294 |
+
|
295 |
+
/* Update option */
|
296 |
+
update_option( '_rn_dismissed', $dismissed );
|
297 |
+
|
298 |
+
/* Get redirect URL */
|
299 |
+
$args = array();
|
300 |
+
|
301 |
+
/* Get URL args */
|
302 |
+
foreach( $_GET as $key => $value ) {
|
303 |
+
|
304 |
+
if( in_array( $key, array( 'rn', 'notification' ) ) )
|
305 |
+
continue;
|
306 |
+
|
307 |
+
array_push( $args, "$key=$value" );
|
308 |
+
|
309 |
+
}
|
310 |
+
|
311 |
+
$args = implode( '&', $args );
|
312 |
+
$url = "?$args";
|
313 |
+
|
314 |
+
/* Redirect */
|
315 |
+
wp_redirect( $url );
|
316 |
+
|
317 |
+
}
|
318 |
+
|
319 |
+
/**
|
320 |
+
* Adds inline style for non standard notices
|
321 |
+
*
|
322 |
+
* This function will only be called if the notice style is not standard.
|
323 |
+
*
|
324 |
+
* @since 0.1.0
|
325 |
+
*/
|
326 |
+
public function style() { ?>
|
327 |
+
|
328 |
+
<style type="text/css">div.rn-alert{padding:15px;padding-right:35px;margin-bottom:20px;border:1px solid transparent;-webkit-box-shadow:none;box-shadow:none}div.rn-alert p:empty{display:none}div.rn-alert ul,div.rn-alert ul li,div.rn-alert ol,div.rn-alert ol li{list-style:inherit !important}div.rn-alert ul,div.rn-alert ol{padding-left:30px}div.rn-alert hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}div.rn-alert h1,h2,h3,h4,h5,h6{margin-top:0;color:inherit}div.rn-alert a{font-weight:700}div.rn-alert a:hover{text-decoration:underline}div.rn-alert>p{margin:0;padding:0;line-height:1}div.rn-alert>p,div.rn-alert>ul{margin-bottom:0}div.rn-alert>p+p{margin-top:5px}div.rn-alert .rn-dismiss-btn{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;position:relative;top:-2px;right:-21px;padding:0;cursor:pointer;background:0;border:0;-webkit-appearance:none;float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20);text-decoration:none}div.rn-alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}div.rn-alert-success hr{border-top-color:#c9e2b3}div.rn-alert-success a{color:#2b542c}div.rn-alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}div.rn-alert-info hr{border-top-color:#a6e1ec}div.rn-alert-info a{color:#245269}div.rn-alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}div.rn-alert-warning hr{border-top-color:#f7e1b5}div.rn-alert-warning a{color:#66512c}div.rn-alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}div.rn-alert-danger hr{border-top-color:#e4b9c0}div.rn-alert-danger a{color:#843534}</style>
|
329 |
+
|
330 |
+
<?php }
|
331 |
+
|
332 |
+
/**
|
333 |
+
* Dismiss notice using Ajax
|
334 |
+
*
|
335 |
+
* This function is NOT used. Testing only.
|
336 |
+
*/
|
337 |
+
public function script() {
|
338 |
+
|
339 |
+
$url = admin_url();
|
340 |
+
?>
|
341 |
+
|
342 |
+
<script type="text/javascript">
|
343 |
+
jQuery(document).ready(function($) {
|
344 |
+
|
345 |
+
var prout = 'prout';
|
346 |
+
|
347 |
+
$('#rn-dismiss').on('click', function(event) {
|
348 |
+
event.preventDefault();
|
349 |
+
$.ajax({
|
350 |
+
type: "GET",
|
351 |
+
url: <?php echo $url; ?>,
|
352 |
+
data: prout
|
353 |
+
});
|
354 |
+
console.log('clicked');
|
355 |
+
});
|
356 |
+
|
357 |
+
return false;
|
358 |
+
|
359 |
+
});
|
360 |
+
</script>
|
361 |
+
|
362 |
+
<?php
|
363 |
+
|
364 |
+
}
|
365 |
+
|
366 |
+
/**
|
367 |
+
* Debug info.
|
368 |
+
*
|
369 |
+
* Display an error message commented in the admin footer.
|
370 |
+
*
|
371 |
+
* @since 0.1.2
|
372 |
+
*/
|
373 |
+
public function debug_info() {
|
374 |
+
|
375 |
+
$error = $this->error;
|
376 |
+
|
377 |
+
echo "<!-- RDN Debug Info: $error -->";
|
378 |
+
|
379 |
+
}
|
380 |
+
|
381 |
}
|
inc/core.php
DELETED
@@ -1,41 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
if (!class_exists('CWP_PR_PRO_Core')){
|
3 |
-
class CWP_PR_PRO_Core {
|
4 |
-
|
5 |
-
// All fields
|
6 |
-
|
7 |
-
|
8 |
-
public function __construct() {
|
9 |
-
// Get all fields
|
10 |
-
//global $cwp_top_fields;
|
11 |
-
|
12 |
-
// Set all authentication settings
|
13 |
-
$this->loadAllHooks();
|
14 |
-
|
15 |
-
}
|
16 |
-
|
17 |
-
public function addLocalization() {
|
18 |
-
|
19 |
-
load_plugin_textdomain(CWP_TEXTDOMAIN, false, dirname(ROPPLUGINBASENAME).'/languages/');
|
20 |
-
}
|
21 |
-
|
22 |
-
public function preload_js() {
|
23 |
-
|
24 |
-
// Register & enqueue the preload js script.
|
25 |
-
wp_register_script("cwp-review-preload", plugins_url( 'cwp-review-preload.php', __FILE__ ), false, "1.0", "all");
|
26 |
-
wp_enqueue_script("cwp-review-preload");
|
27 |
-
|
28 |
-
|
29 |
-
}
|
30 |
-
|
31 |
-
public function loadAllHooks()
|
32 |
-
{
|
33 |
-
//add_action( 'plugins_loaded', array($this, 'addLocalization') );
|
34 |
-
add_action( 'admin_enqueue_scripts', array($this, "preload_js"));
|
35 |
-
}
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
}
|
40 |
-
}
|
41 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inc/cwp-review-preload.php
DELETED
@@ -1,76 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
require_once( '../../../../wp-load.php' );
|
3 |
-
header("Content-type: text/javascript", true);
|
4 |
-
?>
|
5 |
-
|
6 |
-
jQuery(document).ready(function(){
|
7 |
-
function cwpPreloadOptions(item) {
|
8 |
-
for (var i = 1; i <= 5; i++) {
|
9 |
-
var preloadListItem = jQuery(item).parent().parent().children(".cwp_pitem_info").children(".cwp_pitem_options_content").children("li:eq("+(i-1)+")").text();
|
10 |
-
if(preloadListItem != "-") { jQuery("input#option_" + i + "_content").val(preloadListItem); }
|
11 |
-
};
|
12 |
-
}
|
13 |
-
|
14 |
-
function cwpPreloadCons(item)
|
15 |
-
{
|
16 |
-
for (var i = 1; i <= 5; i++) {
|
17 |
-
var preloadListItem = jQuery(item).parent().parent().children(".cwp_pitem_info").children(".cwp_pitem_options_pros").children("li:eq("+(i-1)+")").text();
|
18 |
-
if(preloadListItem != "-") { jQuery("input#cwp_option_" + i + "_pro").val(preloadListItem); }
|
19 |
-
};
|
20 |
-
}
|
21 |
-
|
22 |
-
function cwpPreloadPros(item)
|
23 |
-
{
|
24 |
-
for (var i = 1; i <= 5; i++) {
|
25 |
-
var preloadListItem = jQuery(item).parent().parent().children(".cwp_pitem_info").children(".cwp_pitem_options_cons").children("li:eq("+(i-1)+")").text();
|
26 |
-
if(preloadListItem != "-") { jQuery("input#cwp_option_" + i + "_cons").val(preloadListItem); }
|
27 |
-
};
|
28 |
-
}
|
29 |
-
jQuery(".preload_info").click(function(e){
|
30 |
-
e.preventDefault();
|
31 |
-
|
32 |
-
var cwpThemeUrl = '<?php echo plugins_url( '', __FILE__ ); ?>';
|
33 |
-
var ajaxLoad = "<img class='ajax_load_icon' src='" + cwpThemeUrl +"/images/ajaxload.gif' alt='Loading...'/>";
|
34 |
-
var loadUrl = cwpThemeUrl + "/review-preloader.php";
|
35 |
-
|
36 |
-
jQuery("body #wpwrap").append("<div class='preload_result'><div class='preload_inner'><header><h2>Preload Info</h2><div class='preload_close'></div></header><div class='preloader_body'><ul class='preload_list'></ul></div></div></div>");
|
37 |
-
jQuery(".preload_result").fadeIn();
|
38 |
-
|
39 |
-
jQuery(".preload_close").bind("click", function(){
|
40 |
-
jQuery(".preload_result").fadeOut();
|
41 |
-
});
|
42 |
-
|
43 |
-
jQuery(".preload_list").html(ajaxLoad).load(loadUrl);
|
44 |
-
|
45 |
-
|
46 |
-
jQuery(".preload_list .cwp_p_title").live("click", function(){
|
47 |
-
jQuery(this).parent().parent().children(".cwp_pitem_info").slideToggle();
|
48 |
-
});
|
49 |
-
|
50 |
-
jQuery(".preload_list li button.preload").live("click", function(){
|
51 |
-
cwpPreloadOptions(this);
|
52 |
-
cwpPreloadCons(this);
|
53 |
-
cwpPreloadPros(this);
|
54 |
-
jQuery(".preload_result").fadeOut();
|
55 |
-
});
|
56 |
-
|
57 |
-
jQuery(".preload_list .cwp_pitem_options_content li").live("click",function(){
|
58 |
-
var plIndex = jQuery(this).index();
|
59 |
-
var preloadListItem = jQuery(this).text();
|
60 |
-
if(preloadListItem != "-") { jQuery("input#option_" + plIndex + "_content").val(preloadListItem); }
|
61 |
-
});
|
62 |
-
|
63 |
-
jQuery(".preload_list .cwp_pitem_options_pros li").live("click",function(){
|
64 |
-
var plIndex = jQuery(this).index();
|
65 |
-
var preloadListItem = jQuery(this).text();
|
66 |
-
if(preloadListItem != "-") { jQuery("input#cwp_option_" + plIndex + "_pro").val(preloadListItem); }
|
67 |
-
});
|
68 |
-
|
69 |
-
jQuery(".preload_list .cwp_pitem_options_cons li").live("click",function(){
|
70 |
-
var plIndex = jQuery(this).index();
|
71 |
-
var preloadListItem = jQuery(this).text();
|
72 |
-
if(preloadListItem != "-") { jQuery("input#cwp_option_" + plIndex + "_cons").val(preloadListItem); }
|
73 |
-
});
|
74 |
-
|
75 |
-
});
|
76 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inc/cwp_frontpage.php
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<?php
|
2 |
|
3 |
<div class="review-wrap-up hreview clearfix">
|
4 |
<div class="review-top clearfix">
|
5 |
<h2 class="item" itemprop="itemreviewed">'.get_post_meta($post->ID, "cwp_rev_product_name", true).'</h2>
|
6 |
</div><!-- end .review-top -->
|
7 |
<div class="review-wu-left">
|
8 |
<div class="rev-wu-image">';
|
9 |
|
10 |
$product_image = get_post_meta($post->ID, "cwp_rev_product_image", true);
|
11 |
if(!empty($product_image)) {
|
12 |
$return_string .= "<p class='no-featured-image'>".__("No image added.", "cwppos")."</p>";
|
13 |
}
|
14 |
|
15 |
for($i=1; $i<6; $i++) {
|
16 |
${"option".$i."_grade"} = get_post_meta($post->ID, "option_".$i."_grade", true);
|
17 |
}
|
18 |
|
19 |
for($i=1; $i<6; $i++) {
|
20 |
${"option".$i."_content"} = get_post_meta($post->ID, "option_".$i."_content", true);
|
21 |
if(empty(${"option".$i."_content"})) { ${"option".$i."_content"} = __("Default Feature ".$i, "cwppos"); }
|
22 |
} ?>
|
23 |
<?php $commentNr = get_comments_number($post->ID) + 2;
|
24 |
$return_string .= '</div><!-- end .rev-wu-image -->
|
25 |
<div class="review-wu-grade">
|
26 |
<div class="cwp-review-chart">
|
27 |
<meta itemprop="dtreviewed" datetime="'.get_the_time("Y-m-d", $post->ID).'">
|
28 |
<meta itemprop="reviewer" content="'.get_the_author($post->ID).'">
|
29 |
<meta itemprop="count" content="'.$commentNr.'">
|
30 |
<div temprop="reviewRating" itemprop="rating" itemscope itemtype="http://data-vocabulary.org/Rating" class="cwp-review-percentage" data-percent="';
|
31 |
$overall_score = "";
|
32 |
$iter = 0;
|
33 |
if(!empty($option1_grade) || $option1_grade === '0') { $overall_score += $option1_grade; $iter++; }
|
34 |
if(!empty($option2_grade) || $option2_grade === '0' ) { $overall_score += $option2_grade; $iter++; }
|
35 |
if(!empty($option3_grade) || $option3_grade === '0' ) { $overall_score += $option3_grade; $iter++; }
|
36 |
if(!empty($option4_grade) || $option4_grade === '0' ) { $overall_score += $option4_grade; $iter++; }
|
37 |
if(!empty($option5_grade) || $option5_grade === '0' ) { $overall_score += $option5_grade; $iter++; }
|
38 |
//update_post_meta($post->ID, 'option_overall_score', $overall_score/10);
|
39 |
//update_option("option_overall_score",$overall_score);
|
40 |
$return_string .= $overall_score.'"><span itemprop="value" class="cwp-review-rating">'.round($overall_score/10).'</span><meta itemprop="best" content = "10"/></div>
|
41 |
</div><!-- end .chart -->
|
42 |
</div><!-- end .review-wu-grade -->
|
43 |
<div class="review-wu-bars">';
|
44 |
if (!empty($option1_content) && (!empty($option1_grade) || $option1_grade === '0' ) && strtoupper($option1_content) != 'DEFAULT FEATURE 1') {
|
45 |
$return_string .= '<div class="rev-option" data-value='.$option1_grade.'>
|
46 |
<div class="clearfix">
|
47 |
<h3>'. $option1_content.'</h3>
|
48 |
<span>'.$option1_grade.'/10</span>
|
49 |
</div>
|
50 |
<ul class="clearfix"></ul>
|
51 |
</div>';
|
52 |
}
|
53 |
|
54 |
if (!empty($option2_content) && (!empty($option2_grade) || $option2_grade==='0' ) && strtoupper($option2_content) != 'DEFAULT FEATURE 2') {
|
55 |
$return_string .= '<div class="rev-option" data-value='.$option2_grade.'>
|
56 |
<div class="clearfix">
|
57 |
<h3>'. $option2_content.'</h3>
|
58 |
<span>'.$option2_grade.'/10</span>
|
59 |
</div>
|
60 |
<ul class="clearfix"></ul>
|
61 |
</div>';
|
62 |
}
|
63 |
|
64 |
if (!empty($option3_content) && (!empty($option3_grade) || $option3_grade === '0') && strtoupper($option3_content) != 'DEFAULT FEATURE 3') {
|
65 |
$return_string .= '<div class="rev-option" data-value='.$option3_grade.'>
|
66 |
<div class="clearfix">
|
67 |
<h3>'. $option3_content.'</h3>
|
68 |
<span>'.$option3_grade.'/10</span>
|
69 |
</div>
|
70 |
<ul class="clearfix"></ul>
|
71 |
</div>';
|
72 |
}
|
73 |
|
74 |
if (!empty($option4_content) && (!empty($option4_grade) || $option4_grade === '0') && strtoupper($option4_content) != 'DEFAULT FEATURE 4') {
|
75 |
$return_string .= '<div class="rev-option" data-value='.$option4_grade.'>
|
76 |
<div class="clearfix">
|
77 |
<h3>'. $option4_content.'</h3>
|
78 |
<span>'.$option4_grade.'/10</span>
|
79 |
</div>
|
80 |
<ul class="clearfix"></ul>
|
81 |
</div>';
|
82 |
}
|
83 |
if (!empty($option5_content) && (!empty($option5_grade) || $option5_grade==='0') && strtoupper($option5_content) != 'DEFAULT FEATURE 5') {
|
84 |
$return_string .= '<div class="rev-option" data-value='.$option5_grade.'>
|
85 |
<div class="clearfix">
|
86 |
<h3>'. $option5_content.'</h3>
|
87 |
<span>'.$option5_grade.'/10</span>
|
88 |
</div>
|
89 |
<ul class="clearfix"></ul>
|
90 |
</div>';
|
91 |
$return_string .='
|
92 |
</div><!-- end .review-wu-bars -->
|
93 |
</div><!-- end .review-wu-left -->
|
94 |
<div class="review-wu-right">
|
95 |
<div class="pros">';
|
96 |
|
97 |
|
98 |
|
99 |
for($i=1; $i<6; $i++) {
|
100 |
${"pro_option_".$i} = get_post_meta($post->ID, "cwp_option_".$i."_pro", true);
|
101 |
}
|
102 |
for($i=1; $i<6; $i++) {
|
103 |
${"cons_option_".$i} = get_post_meta($post->ID, "cwp_option_".$i."_cons", true); if(empty(${"cons_option_".$i})) { ${"cons_option_".$i} = ""; }
|
104 |
}
|
105 |
|
106 |
$return_string .= '<h2>'.__(cwppos("cwppos_pros_text"), "cwppos").'</h2>
|
107 |
<ul>';
|
108 |
}
|
109 |
$return_string .= ' </ul>
|
110 |
</div><!-- end .pros -->
|
111 |
<div class="cons">';
|
112 |
$return_string .=' <h2>'.__(cwppos("cwppos_cons_text"), "cwppos").'</h2> <ul>';
|
113 |
</ul>
|
114 |
</div>';
|
115 |
|
116 |
|
117 |
|
118 |
$return_string .='
|
119 |
</div><!-- end .review-wu-right -->
|
120 |
</div><!-- end .review-wrap-up -->
|
121 |
</section><!-- end #review-statistics -->';
|
122 |
$return_string.='<p style="float:right;">Powered by <a href="http://wordpress.org/plugins/wp-product-review/" target="_blank" rel="nofollow" > WP Product Review</a></p>';
|
123 |
}
|
124 |
$affiliate_text = get_post_meta($post->ID, "cwp_product_affiliate_text", true);
|
125 |
$affiliate_link = get_post_meta($post->ID, "cwp_product_affiliate_link", true);
|
126 |
if(!empty($affiliate_text) && !empty($affiliate_link)) {
|
127 |
|
128 |
|
129 |
$return_string .= '<div class="affiliate-button">
|
130 |
<a href="'.$affiliate_link.'" rel="nofollow" target="_blank"><span>'. $affiliate_text.'</span> </a>
|
131 |
</div><!-- end .affiliate-button -->';
|
132 |
|
133 |
if ($currentTheme->get('Name') !== 'Bookrev') {
|
134 |
add_filter('the_content', 'cwp_pac_before_content');
|
135 |
}
|
|
|
136 |
|
137 |
<div class="review-wrap-up hreview clearfix">
|
138 |
<div class="review-top clearfix">
|
139 |
<h2 class="item" itemprop="itemreviewed">'.get_post_meta($post->ID, "cwp_rev_product_name", true).'</h2>
|
140 |
</div><!-- end .review-top -->
|
141 |
<div class="review-wu-left">
|
142 |
<div class="rev-wu-image">';
|
143 |
|
144 |
$product_image = get_post_meta($post->ID, "cwp_rev_product_image", true);
|
145 |
if(!empty($product_image)) {
|
146 |
$return_string .= "<p class='no-featured-image'>".__("No image added.", "cwp")."</p>";
|
147 |
}
|
148 |
|
149 |
for($i=1; $i<6; $i++) {
|
150 |
${"option".$i."_grade"} = get_post_meta($post->ID, "option_".$i."_grade", true);
|
151 |
}
|
152 |
|
153 |
for($i=1; $i<6; $i++) {
|
154 |
${"option".$i."_content"} = get_post_meta($post->ID, "option_".$i."_content", true);
|
155 |
if(empty(${"option".$i."_content"})) { ${"option".$i."_content"} = __("Default Feature ".$i, "cwp"); }
|
156 |
} ?>
|
157 |
<?php $commentNr = get_comments_number($post->ID) + 2;
|
158 |
$return_string .= '</div><!-- end .rev-wu-image -->
|
159 |
<div class="review-wu-grade">
|
160 |
<div class="cwp-review-chart">
|
161 |
<meta itemprop="dtreviewed" datetime="'.get_the_time("Y-m-d", $post->ID).'">
|
162 |
<meta itemprop="reviewer" content="'.get_the_author($post->ID).'">
|
163 |
<meta itemprop="count" content="'.$commentNr.'">
|
164 |
<div temprop="reviewRating" itemprop="rating" itemscope itemtype="http://data-vocabulary.org/Rating" class="cwp-review-percentage" data-percent="';
|
165 |
$overall_score = "";
|
166 |
$iter = 0;
|
167 |
if(!empty($option1_grade)) { $overall_score += $option1_grade; $iter++; }
|
168 |
if(!empty($option2_grade)) { $overall_score += $option2_grade; $iter++; }
|
169 |
if(!empty($option3_grade)) { $overall_score += $option3_grade; $iter++; }
|
170 |
if(!empty($option4_grade)) { $overall_score += $option4_grade; $iter++; }
|
171 |
if(!empty($option5_grade)) { $overall_score += $option5_grade; $iter++; }
|
172 |
update_post_meta($post->ID, 'option_overall_score', $overall_score/10);
|
173 |
//update_option("option_overall_score",$overall_score);
|
174 |
$return_string .= $overall_score.'"><span itemprop="value" class="cwp-review-rating">'.round($overall_score/10).'</span><meta itemprop="best" content = "10"/></div>
|
175 |
</div><!-- end .chart -->
|
176 |
</div><!-- end .review-wu-grade -->
|
177 |
<div class="review-wu-bars">';
|
178 |
if (!empty($option1_content) && !empty($option1_grade) && strtoupper($option1_content) != 'DEFAULT FEATURE 1') {
|
179 |
$return_string .= '<div class="rev-option" data-value='.$option1_grade.'>
|
180 |
<div class="clearfix">
|
181 |
<h3>'. $option1_content.'</h3>
|
182 |
<span>'.$option1_grade.'/10</span>
|
183 |
</div>
|
184 |
<ul class="clearfix"></ul>
|
185 |
</div>';
|
186 |
}
|
187 |
|
188 |
if (!empty($option2_content) && !empty($option2_grade) && strtoupper($option2_content) != 'DEFAULT FEATURE 2') {
|
189 |
$return_string .= '<div class="rev-option" data-value='.$option2_grade.'>
|
190 |
<div class="clearfix">
|
191 |
<h3>'. $option2_content.'</h3>
|
192 |
<span>'.$option2_grade.'/10</span>
|
193 |
</div>
|
194 |
<ul class="clearfix"></ul>
|
195 |
</div>';
|
196 |
}
|
197 |
|
198 |
if (!empty($option3_content) && !empty($option3_grade)&& strtoupper($option3_content) != 'DEFAULT FEATURE 3') {
|
199 |
$return_string .= '<div class="rev-option" data-value='.$option3_grade.'>
|
200 |
<div class="clearfix">
|
201 |
<h3>'. $option3_content.'</h3>
|
202 |
<span>'.$option3_grade.'/10</span>
|
203 |
</div>
|
204 |
<ul class="clearfix"></ul>
|
205 |
</div>';
|
206 |
}
|
207 |
|
208 |
if (!empty($option4_content) && !empty($option4_grade) && strtoupper($option4_content) != 'DEFAULT FEATURE 4') {
|
209 |
$return_string .= '<div class="rev-option" data-value='.$option4_grade.'>
|
210 |
<div class="clearfix">
|
211 |
<h3>'. $option4_content.'</h3>
|
212 |
<span>'.$option4_grade.'/10</span>
|
213 |
</div>
|
214 |
<ul class="clearfix"></ul>
|
215 |
</div>';
|
216 |
}
|
217 |
if (!empty($option5_content) && !empty($option5_grade) && strtoupper($option5_content) != 'DEFAULT FEATURE 5') {
|
218 |
$return_string .= '<div class="rev-option" data-value='.$option5_grade.'>
|
219 |
<div class="clearfix">
|
220 |
<h3>'. $option5_content.'</h3>
|
221 |
<span>'.$option5_grade.'/10</span>
|
222 |
</div>
|
223 |
<ul class="clearfix"></ul>
|
224 |
</div>';
|
225 |
$return_string .='
|
226 |
</div><!-- end .review-wu-bars -->
|
227 |
</div><!-- end .review-wu-left -->
|
228 |
<div class="review-wu-right">
|
229 |
<div class="pros">';
|
230 |
|
231 |
|
232 |
|
233 |
for($i=1; $i<6; $i++) {
|
234 |
${"pro_option_".$i} = get_post_meta($post->ID, "cwp_option_".$i."_pro", true);
|
235 |
}
|
236 |
for($i=1; $i<6; $i++) {
|
237 |
${"cons_option_".$i} = get_post_meta($post->ID, "cwp_option_".$i."_cons", true); if(empty(${"cons_option_".$i})) { ${"cons_option_".$i} = ""; }
|
238 |
}
|
239 |
|
240 |
$return_string .= '<h2>'.__(cwppos("cwppos_pros_text"), "cwp").'</h2>
|
241 |
<ul>';
|
242 |
}
|
243 |
$return_string .= ' </ul>
|
244 |
</div><!-- end .pros -->
|
245 |
<div class="cons">';
|
246 |
$return_string .=' <h2>'.__(cwppos("cwppos_cons_text"), "cwp").'</h2> <ul>';
|
247 |
</ul>
|
248 |
</div><!-- end .pros -->
|
249 |
</div><!-- end .review-wu-right -->
|
250 |
</div><!-- end .review-wrap-up -->
|
251 |
</section><!-- end #review-statistics -->';
|
252 |
$affiliate_text = get_post_meta($post->ID, "cwp_product_affiliate_text", true);
|
253 |
$affiliate_link = get_post_meta($post->ID, "cwp_product_affiliate_link", true);
|
254 |
if(!empty($affiliate_text) && !empty($affiliate_link)) {
|
255 |
|
256 |
|
257 |
$return_string .= '<div class="affiliate-button">
|
258 |
<a href="'.$affiliate_link.'" rel="nofollow" target="_blank"><span>'. $affiliate_text.'</span> </a>
|
259 |
</div><!-- end .affiliate-button -->';
|
|
|
1 |
|
2 |
<div class="review-wrap-up hreview clearfix">
|
3 |
<div class="review-top clearfix">
|
4 |
<h2 class="item" itemprop="itemreviewed">'.get_post_meta($post->ID, "cwp_rev_product_name", true).'</h2>
|
5 |
</div><!-- end .review-top -->
|
6 |
<div class="review-wu-left">
|
7 |
<div class="rev-wu-image">';
|
8 |
|
9 |
$product_image = get_post_meta($post->ID, "cwp_rev_product_image", true);
|
10 |
if(!empty($product_image)) {
|
11 |
$return_string .= "<p class='no-featured-image'>".__("No image added.", "cwppos")."</p>";
|
12 |
}
|
13 |
|
14 |
for($i=1; $i<6; $i++) {
|
15 |
${"option".$i."_grade"} = get_post_meta($post->ID, "option_".$i."_grade", true);
|
16 |
}
|
17 |
|
18 |
for($i=1; $i<6; $i++) {
|
19 |
${"option".$i."_content"} = get_post_meta($post->ID, "option_".$i."_content", true);
|
20 |
if(empty(${"option".$i."_content"})) { ${"option".$i."_content"} = __("Default Feature ".$i, "cwppos"); }
|
21 |
} ?>
|
22 |
<?php $commentNr = get_comments_number($post->ID) + 2;
|
23 |
$return_string .= '</div><!-- end .rev-wu-image -->
|
24 |
<div class="review-wu-grade">
|
25 |
<div class="cwp-review-chart">
|
26 |
<meta itemprop="dtreviewed" datetime="'.get_the_time("Y-m-d", $post->ID).'">
|
27 |
<meta itemprop="reviewer" content="'.get_the_author($post->ID).'">
|
28 |
<meta itemprop="count" content="'.$commentNr.'">
|
29 |
<div temprop="reviewRating" itemprop="rating" itemscope itemtype="http://data-vocabulary.org/Rating" class="cwp-review-percentage" data-percent="';
|
30 |
$overall_score = "";
|
31 |
$iter = 0;
|
32 |
if(!empty($option1_grade) || $option1_grade === '0') { $overall_score += $option1_grade; $iter++; }
|
33 |
if(!empty($option2_grade) || $option2_grade === '0' ) { $overall_score += $option2_grade; $iter++; }
|
34 |
if(!empty($option3_grade) || $option3_grade === '0' ) { $overall_score += $option3_grade; $iter++; }
|
35 |
if(!empty($option4_grade) || $option4_grade === '0' ) { $overall_score += $option4_grade; $iter++; }
|
36 |
if(!empty($option5_grade) || $option5_grade === '0' ) { $overall_score += $option5_grade; $iter++; }
|
37 |
//update_post_meta($post->ID, 'option_overall_score', $overall_score/10);
|
38 |
//update_option("option_overall_score",$overall_score);
|
39 |
$return_string .= $overall_score.'"><span itemprop="value" class="cwp-review-rating">'.round($overall_score/10).'</span><meta itemprop="best" content = "10"/></div>
|
40 |
</div><!-- end .chart -->
|
41 |
</div><!-- end .review-wu-grade -->
|
42 |
<div class="review-wu-bars">';
|
43 |
if (!empty($option1_content) && (!empty($option1_grade) || $option1_grade === '0' ) && strtoupper($option1_content) != 'DEFAULT FEATURE 1') {
|
44 |
$return_string .= '<div class="rev-option" data-value='.$option1_grade.'>
|
45 |
<div class="clearfix">
|
46 |
<h3>'. $option1_content.'</h3>
|
47 |
<span>'.$option1_grade.'/10</span>
|
48 |
</div>
|
49 |
<ul class="clearfix"></ul>
|
50 |
</div>';
|
51 |
}
|
52 |
|
53 |
if (!empty($option2_content) && (!empty($option2_grade) || $option2_grade==='0' ) && strtoupper($option2_content) != 'DEFAULT FEATURE 2') {
|
54 |
$return_string .= '<div class="rev-option" data-value='.$option2_grade.'>
|
55 |
<div class="clearfix">
|
56 |
<h3>'. $option2_content.'</h3>
|
57 |
<span>'.$option2_grade.'/10</span>
|
58 |
</div>
|
59 |
<ul class="clearfix"></ul>
|
60 |
</div>';
|
61 |
}
|
62 |
|
63 |
if (!empty($option3_content) && (!empty($option3_grade) || $option3_grade === '0') && strtoupper($option3_content) != 'DEFAULT FEATURE 3') {
|
64 |
$return_string .= '<div class="rev-option" data-value='.$option3_grade.'>
|
65 |
<div class="clearfix">
|
66 |
<h3>'. $option3_content.'</h3>
|
67 |
<span>'.$option3_grade.'/10</span>
|
68 |
</div>
|
69 |
<ul class="clearfix"></ul>
|
70 |
</div>';
|
71 |
}
|
72 |
|
73 |
if (!empty($option4_content) && (!empty($option4_grade) || $option4_grade === '0') && strtoupper($option4_content) != 'DEFAULT FEATURE 4') {
|
74 |
$return_string .= '<div class="rev-option" data-value='.$option4_grade.'>
|
75 |
<div class="clearfix">
|
76 |
<h3>'. $option4_content.'</h3>
|
77 |
<span>'.$option4_grade.'/10</span>
|
78 |
</div>
|
79 |
<ul class="clearfix"></ul>
|
80 |
</div>';
|
81 |
}
|
82 |
if (!empty($option5_content) && (!empty($option5_grade) || $option5_grade==='0') && strtoupper($option5_content) != 'DEFAULT FEATURE 5') {
|
83 |
$return_string .= '<div class="rev-option" data-value='.$option5_grade.'>
|
84 |
<div class="clearfix">
|
85 |
<h3>'. $option5_content.'</h3>
|
86 |
<span>'.$option5_grade.'/10</span>
|
87 |
</div>
|
88 |
<ul class="clearfix"></ul>
|
89 |
</div>';
|
90 |
$return_string .='
|
91 |
</div><!-- end .review-wu-bars -->
|
92 |
</div><!-- end .review-wu-left -->
|
93 |
<div class="review-wu-right">
|
94 |
<div class="pros">';
|
95 |
|
96 |
|
97 |
|
98 |
for($i=1; $i<6; $i++) {
|
99 |
${"pro_option_".$i} = get_post_meta($post->ID, "cwp_option_".$i."_pro", true);
|
100 |
}
|
101 |
for($i=1; $i<6; $i++) {
|
102 |
${"cons_option_".$i} = get_post_meta($post->ID, "cwp_option_".$i."_cons", true); if(empty(${"cons_option_".$i})) { ${"cons_option_".$i} = ""; }
|
103 |
}
|
104 |
|
105 |
$return_string .= '<h2>'.__(cwppos("cwppos_pros_text"), "cwppos").'</h2>
|
106 |
<ul>';
|
107 |
}
|
108 |
$return_string .= ' </ul>
|
109 |
</div><!-- end .pros -->
|
110 |
<div class="cons">';
|
111 |
$return_string .=' <h2>'.__(cwppos("cwppos_cons_text"), "cwppos").'</h2> <ul>';
|
112 |
</ul>
|
113 |
</div>';
|
114 |
|
115 |
|
116 |
|
117 |
$return_string .='
|
118 |
</div><!-- end .review-wu-right -->
|
119 |
</div><!-- end .review-wrap-up -->
|
120 |
</section><!-- end #review-statistics -->';
|
121 |
$return_string.='<p style="float:right;">Powered by <a href="http://wordpress.org/plugins/wp-product-review/" target="_blank" rel="nofollow" > WP Product Review</a></p>';
|
122 |
}
|
123 |
$affiliate_text = get_post_meta($post->ID, "cwp_product_affiliate_text", true);
|
124 |
$affiliate_link = get_post_meta($post->ID, "cwp_product_affiliate_link", true);
|
125 |
if(!empty($affiliate_text) && !empty($affiliate_link)) {
|
126 |
|
127 |
|
128 |
$return_string .= '<div class="affiliate-button">
|
129 |
<a href="'.$affiliate_link.'" rel="nofollow" target="_blank"><span>'. $affiliate_text.'</span> </a>
|
130 |
</div><!-- end .affiliate-button -->';
|
131 |
|
132 |
if ($currentTheme->get('Name') !== 'Bookrev') {
|
133 |
add_filter('the_content', 'cwp_pac_before_content');
|
134 |
}
|
135 |
+
<?php
|
136 |
|
137 |
<div class="review-wrap-up hreview clearfix">
|
138 |
<div class="review-top clearfix">
|
139 |
<h2 class="item" itemprop="itemreviewed">'.get_post_meta($post->ID, "cwp_rev_product_name", true).'</h2>
|
140 |
</div><!-- end .review-top -->
|
141 |
<div class="review-wu-left">
|
142 |
<div class="rev-wu-image">';
|
143 |
|
144 |
$product_image = get_post_meta($post->ID, "cwp_rev_product_image", true);
|
145 |
if(!empty($product_image)) {
|
146 |
$return_string .= "<p class='no-featured-image'>".__("No image added.", "cwp")."</p>";
|
147 |
}
|
148 |
|
149 |
for($i=1; $i<6; $i++) {
|
150 |
${"option".$i."_grade"} = get_post_meta($post->ID, "option_".$i."_grade", true);
|
151 |
}
|
152 |
|
153 |
for($i=1; $i<6; $i++) {
|
154 |
${"option".$i."_content"} = get_post_meta($post->ID, "option_".$i."_content", true);
|
155 |
if(empty(${"option".$i."_content"})) { ${"option".$i."_content"} = __("Default Feature ".$i, "cwp"); }
|
156 |
} ?>
|
157 |
<?php $commentNr = get_comments_number($post->ID) + 2;
|
158 |
$return_string .= '</div><!-- end .rev-wu-image -->
|
159 |
<div class="review-wu-grade">
|
160 |
<div class="cwp-review-chart">
|
161 |
<meta itemprop="dtreviewed" datetime="'.get_the_time("Y-m-d", $post->ID).'">
|
162 |
<meta itemprop="reviewer" content="'.get_the_author($post->ID).'">
|
163 |
<meta itemprop="count" content="'.$commentNr.'">
|
164 |
<div temprop="reviewRating" itemprop="rating" itemscope itemtype="http://data-vocabulary.org/Rating" class="cwp-review-percentage" data-percent="';
|
165 |
$overall_score = "";
|
166 |
$iter = 0;
|
167 |
if(!empty($option1_grade)) { $overall_score += $option1_grade; $iter++; }
|
168 |
if(!empty($option2_grade)) { $overall_score += $option2_grade; $iter++; }
|
169 |
if(!empty($option3_grade)) { $overall_score += $option3_grade; $iter++; }
|
170 |
if(!empty($option4_grade)) { $overall_score += $option4_grade; $iter++; }
|
171 |
if(!empty($option5_grade)) { $overall_score += $option5_grade; $iter++; }
|
172 |
update_post_meta($post->ID, 'option_overall_score', $overall_score/10);
|
173 |
//update_option("option_overall_score",$overall_score);
|
174 |
$return_string .= $overall_score.'"><span itemprop="value" class="cwp-review-rating">'.round($overall_score/10).'</span><meta itemprop="best" content = "10"/></div>
|
175 |
</div><!-- end .chart -->
|
176 |
</div><!-- end .review-wu-grade -->
|
177 |
<div class="review-wu-bars">';
|
178 |
if (!empty($option1_content) && !empty($option1_grade) && strtoupper($option1_content) != 'DEFAULT FEATURE 1') {
|
179 |
$return_string .= '<div class="rev-option" data-value='.$option1_grade.'>
|
180 |
<div class="clearfix">
|
181 |
<h3>'. $option1_content.'</h3>
|
182 |
<span>'.$option1_grade.'/10</span>
|
183 |
</div>
|
184 |
<ul class="clearfix"></ul>
|
185 |
</div>';
|
186 |
}
|
187 |
|
188 |
if (!empty($option2_content) && !empty($option2_grade) && strtoupper($option2_content) != 'DEFAULT FEATURE 2') {
|
189 |
$return_string .= '<div class="rev-option" data-value='.$option2_grade.'>
|
190 |
<div class="clearfix">
|
191 |
<h3>'. $option2_content.'</h3>
|
192 |
<span>'.$option2_grade.'/10</span>
|
193 |
</div>
|
194 |
<ul class="clearfix"></ul>
|
195 |
</div>';
|
196 |
}
|
197 |
|
198 |
if (!empty($option3_content) && !empty($option3_grade)&& strtoupper($option3_content) != 'DEFAULT FEATURE 3') {
|
199 |
$return_string .= '<div class="rev-option" data-value='.$option3_grade.'>
|
200 |
<div class="clearfix">
|
201 |
<h3>'. $option3_content.'</h3>
|
202 |
<span>'.$option3_grade.'/10</span>
|
203 |
</div>
|
204 |
<ul class="clearfix"></ul>
|
205 |
</div>';
|
206 |
}
|
207 |
|
208 |
if (!empty($option4_content) && !empty($option4_grade) && strtoupper($option4_content) != 'DEFAULT FEATURE 4') {
|
209 |
$return_string .= '<div class="rev-option" data-value='.$option4_grade.'>
|
210 |
<div class="clearfix">
|
211 |
<h3>'. $option4_content.'</h3>
|
212 |
<span>'.$option4_grade.'/10</span>
|
213 |
</div>
|
214 |
<ul class="clearfix"></ul>
|
215 |
</div>';
|
216 |
}
|
217 |
if (!empty($option5_content) && !empty($option5_grade) && strtoupper($option5_content) != 'DEFAULT FEATURE 5') {
|
218 |
$return_string .= '<div class="rev-option" data-value='.$option5_grade.'>
|
219 |
<div class="clearfix">
|
220 |
<h3>'. $option5_content.'</h3>
|
221 |
<span>'.$option5_grade.'/10</span>
|
222 |
</div>
|
223 |
<ul class="clearfix"></ul>
|
224 |
</div>';
|
225 |
$return_string .='
|
226 |
</div><!-- end .review-wu-bars -->
|
227 |
</div><!-- end .review-wu-left -->
|
228 |
<div class="review-wu-right">
|
229 |
<div class="pros">';
|
230 |
|
231 |
|
232 |
|
233 |
for($i=1; $i<6; $i++) {
|
234 |
${"pro_option_".$i} = get_post_meta($post->ID, "cwp_option_".$i."_pro", true);
|
235 |
}
|
236 |
for($i=1; $i<6; $i++) {
|
237 |
${"cons_option_".$i} = get_post_meta($post->ID, "cwp_option_".$i."_cons", true); if(empty(${"cons_option_".$i})) { ${"cons_option_".$i} = ""; }
|
238 |
}
|
239 |
|
240 |
$return_string .= '<h2>'.__(cwppos("cwppos_pros_text"), "cwp").'</h2>
|
241 |
<ul>';
|
242 |
}
|
243 |
$return_string .= ' </ul>
|
244 |
</div><!-- end .pros -->
|
245 |
<div class="cons">';
|
246 |
$return_string .=' <h2>'.__(cwppos("cwppos_cons_text"), "cwp").'</h2> <ul>';
|
247 |
</ul>
|
248 |
</div><!-- end .pros -->
|
249 |
</div><!-- end .review-wu-right -->
|
250 |
</div><!-- end .review-wrap-up -->
|
251 |
</section><!-- end #review-statistics -->';
|
252 |
$affiliate_text = get_post_meta($post->ID, "cwp_product_affiliate_text", true);
|
253 |
$affiliate_link = get_post_meta($post->ID, "cwp_product_affiliate_link", true);
|
254 |
if(!empty($affiliate_text) && !empty($affiliate_link)) {
|
255 |
|
256 |
|
257 |
$return_string .= '<div class="affiliate-button">
|
258 |
<a href="'.$affiliate_link.'" rel="nofollow" target="_blank"><span>'. $affiliate_text.'</span> </a>
|
259 |
</div><!-- end .affiliate-button -->';
|
inc/cwp_metabox.php
CHANGED
@@ -56,9 +56,9 @@ function cwp_review_meta_box_callback( $post )
|
|
56 |
|
57 |
<div class="review-settings-notice">
|
58 |
|
59 |
-
<h4><?php _e("Product Details", "
|
60 |
|
61 |
-
<p style="margin:0;"><?php _e("Specify the general details for the reviewed product.", "
|
62 |
|
63 |
|
64 |
|
@@ -72,7 +72,7 @@ function cwp_review_meta_box_callback( $post )
|
|
72 |
|
73 |
<li>
|
74 |
|
75 |
-
<label for="cwp_rev_product_name"><?php _e("Product Name", "
|
76 |
|
77 |
<input type="text" name="cwp_rev_product_name" id="cwp_rev_product_name" value="<?php if(isset($cwp_review_stored_meta['cwp_rev_product_name'][0])) { echo $cwp_review_stored_meta['cwp_rev_product_name'][0]; }?>"/>
|
78 |
|
@@ -85,7 +85,7 @@ function cwp_review_meta_box_callback( $post )
|
|
85 |
<label for="cwp_rev_product_image" class="cwp_rev_product_image-title"><?php _e( 'Product Image', 'cwp' )?></label>
|
86 |
<input type="text" name="cwp_rev_product_image" id="cwp_rev_product_image" value="<?php if ( isset ( $cwp_review_stored_meta['cwp_rev_product_image'][0] ) ) echo $cwp_review_stored_meta['cwp_rev_product_image'][0]; ?>" />
|
87 |
<input type="button" id="cwp_rev_product_image-button" class="button" value="<?php _e( 'Choose or Upload an Image', 'cwp' )?>" />
|
88 |
-
|
89 |
|
90 |
|
91 |
|
@@ -95,7 +95,7 @@ function cwp_review_meta_box_callback( $post )
|
|
95 |
|
96 |
<li>
|
97 |
|
98 |
-
<label for="cwp_product_affiliate_text"><?php _e("Affiliate Button Text", "
|
99 |
|
100 |
<input type="text" name="cwp_product_affiliate_text" id="cwp_product_affiliate_text" value="<?php if(isset($cwp_review_stored_meta['cwp_product_affiliate_text'][0])) { echo $cwp_review_stored_meta['cwp_product_affiliate_text'][0]; } ?>"/>
|
101 |
|
@@ -105,7 +105,7 @@ function cwp_review_meta_box_callback( $post )
|
|
105 |
|
106 |
<li>
|
107 |
|
108 |
-
<label for="cwp_product_affiliate_link"><?php _e("Affiliate Link", "
|
109 |
|
110 |
<input type="text" name="cwp_product_affiliate_link" id="cwp_product_affiliate_link" value="<?php if(isset($cwp_review_stored_meta['cwp_product_affiliate_link'][0])) { echo $cwp_review_stored_meta['cwp_product_affiliate_link'][0]; } ?>"/>
|
111 |
|
@@ -122,17 +122,14 @@ function cwp_review_meta_box_callback( $post )
|
|
122 |
|
123 |
|
124 |
<div class="review-settings-notice">
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
<a href="<?php echo $pageURL;?>" target="_blank" class="preload_info"><?php _e("Preload Info","cwppos");?></a>
|
134 |
-
<?php } ?>
|
135 |
-
</div><!-- end .review-settings-notice -->
|
136 |
|
137 |
<div class="review-settings-group">
|
138 |
|
@@ -202,9 +199,9 @@ function cwp_review_meta_box_callback( $post )
|
|
202 |
|
203 |
<div class="review-settings-notice">
|
204 |
|
205 |
-
<h4><?php _e("Pro Features", "
|
206 |
|
207 |
-
<p style="margin:0;"><?php _e("Insert product's pro features below.", "
|
208 |
|
209 |
</div><!-- end .review-settings-notice -->
|
210 |
|
@@ -276,9 +273,9 @@ function cwp_review_meta_box_callback( $post )
|
|
276 |
|
277 |
<div class="review-settings-notice">
|
278 |
|
279 |
-
<h4><?php _e("Cons Features", "
|
280 |
|
281 |
-
<p style="margin:0;"><?php _e("Insert product's cons features below.", "
|
282 |
|
283 |
</div><!-- end .review-settings-notice -->
|
284 |
|
@@ -492,25 +489,10 @@ function cwp_review_meta_boxes_save($post_id)
|
|
492 |
|
493 |
|
494 |
|
495 |
-
if( isset( $_POST[ 'cwp_rev_product_image' ] )
|
496 |
|
497 |
update_post_meta( $post_id, 'cwp_rev_product_image', sanitize_text_field( $_POST[ 'cwp_rev_product_image' ] ) );
|
498 |
|
499 |
-
} elseif (cwppos("cwppos_show_poweredby") == 'yes' || class_exists('CWP_PR_PRO_Core')) {
|
500 |
-
$image="";
|
501 |
-
if ( strlen( $img = get_the_post_thumbnail( $post_id, array( 150, 150 ) ) ) ) :
|
502 |
-
$image_array = wp_get_attachment_image_src( get_post_thumbnail_id( $post_id ), 'optional-size' );
|
503 |
-
$image = $image_array[0];
|
504 |
-
else :
|
505 |
-
$post = get_post($post_id);
|
506 |
-
$image = '';
|
507 |
-
ob_start();
|
508 |
-
ob_end_clean();
|
509 |
-
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
|
510 |
-
|
511 |
-
$image = $matches [1] [0];
|
512 |
-
endif;
|
513 |
-
update_post_meta( $post_id, 'cwp_rev_product_image', $image );
|
514 |
}
|
515 |
|
516 |
|
@@ -593,34 +575,6 @@ function cwp_review_meta_boxes_save($post_id)
|
|
593 |
|
594 |
}
|
595 |
|
596 |
-
for($i=1; $i<6; $i++) {
|
597 |
-
|
598 |
-
${"option".$i."_grade"} = get_post_meta($post_id, "option_".$i."_grade", true);
|
599 |
-
|
600 |
-
}
|
601 |
-
|
602 |
-
$overall_score = "";
|
603 |
-
|
604 |
-
$iter = 0;
|
605 |
-
|
606 |
-
if(!empty($option1_grade) || $option1_grade === '0') { $overall_score += $option1_grade; $iter++; }
|
607 |
-
|
608 |
-
if(!empty($option2_grade) || $option2_grade === '0' ) { $overall_score += $option2_grade; $iter++; }
|
609 |
-
|
610 |
-
if(!empty($option3_grade) || $option3_grade === '0' ) { $overall_score += $option3_grade; $iter++; }
|
611 |
-
|
612 |
-
if(!empty($option4_grade) || $option4_grade === '0' ) { $overall_score += $option4_grade; $iter++; }
|
613 |
-
|
614 |
-
if(!empty($option5_grade) || $option5_grade === '0' ) { $overall_score += $option5_grade; $iter++; }
|
615 |
-
if($iter == 0){
|
616 |
-
$overall_score = 0;
|
617 |
-
}else{
|
618 |
-
$overall_score = $overall_score / $iter;
|
619 |
-
}
|
620 |
-
update_post_meta($post_id, 'option_overall_score', $overall_score/10);
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
}
|
625 |
|
626 |
|
56 |
|
57 |
<div class="review-settings-notice">
|
58 |
|
59 |
+
<h4><?php _e("Product Details", "cwp"); ?></h4>
|
60 |
|
61 |
+
<p style="margin:0;"><?php _e("Specify the general details for the reviewed product.", "cwp"); ?></p>
|
62 |
|
63 |
|
64 |
|
72 |
|
73 |
<li>
|
74 |
|
75 |
+
<label for="cwp_rev_product_name"><?php _e("Product Name", "cwp"); ?></label>
|
76 |
|
77 |
<input type="text" name="cwp_rev_product_name" id="cwp_rev_product_name" value="<?php if(isset($cwp_review_stored_meta['cwp_rev_product_name'][0])) { echo $cwp_review_stored_meta['cwp_rev_product_name'][0]; }?>"/>
|
78 |
|
85 |
<label for="cwp_rev_product_image" class="cwp_rev_product_image-title"><?php _e( 'Product Image', 'cwp' )?></label>
|
86 |
<input type="text" name="cwp_rev_product_image" id="cwp_rev_product_image" value="<?php if ( isset ( $cwp_review_stored_meta['cwp_rev_product_image'][0] ) ) echo $cwp_review_stored_meta['cwp_rev_product_image'][0]; ?>" />
|
87 |
<input type="button" id="cwp_rev_product_image-button" class="button" value="<?php _e( 'Choose or Upload an Image', 'cwp' )?>" />
|
88 |
+
|
89 |
|
90 |
|
91 |
|
95 |
|
96 |
<li>
|
97 |
|
98 |
+
<label for="cwp_product_affiliate_text"><?php _e("Affiliate Button Text", "cwp"); ?></label>
|
99 |
|
100 |
<input type="text" name="cwp_product_affiliate_text" id="cwp_product_affiliate_text" value="<?php if(isset($cwp_review_stored_meta['cwp_product_affiliate_text'][0])) { echo $cwp_review_stored_meta['cwp_product_affiliate_text'][0]; } ?>"/>
|
101 |
|
105 |
|
106 |
<li>
|
107 |
|
108 |
+
<label for="cwp_product_affiliate_link"><?php _e("Affiliate Link", "cwp"); ?></label>
|
109 |
|
110 |
<input type="text" name="cwp_product_affiliate_link" id="cwp_product_affiliate_link" value="<?php if(isset($cwp_review_stored_meta['cwp_product_affiliate_link'][0])) { echo $cwp_review_stored_meta['cwp_product_affiliate_link'][0]; } ?>"/>
|
111 |
|
122 |
|
123 |
|
124 |
<div class="review-settings-notice">
|
125 |
+
|
126 |
+
<h4><?php _e("Product Options Setting", "cwp"); ?></h4>
|
127 |
+
|
128 |
+
<div class="preloadInfo"><?php _e("Insert your options and their grades. Grading must be done <b><i>from 0 to 100</i></b>. For more information about this, please consult <a href='https://themeisle.com/plugins/wp-product-review-lite/'>this</a>.", "cwp"); ?></div>
|
129 |
+
|
130 |
+
|
131 |
+
|
132 |
+
</div><!-- end .review-settings-notice -->
|
|
|
|
|
|
|
133 |
|
134 |
<div class="review-settings-group">
|
135 |
|
199 |
|
200 |
<div class="review-settings-notice">
|
201 |
|
202 |
+
<h4><?php _e("Pro Features", "cwp"); ?></h4>
|
203 |
|
204 |
+
<p style="margin:0;"><?php _e("Insert product's pro features below.", "cwp"); ?></p>
|
205 |
|
206 |
</div><!-- end .review-settings-notice -->
|
207 |
|
273 |
|
274 |
<div class="review-settings-notice">
|
275 |
|
276 |
+
<h4><?php _e("Cons Features", "cwp"); ?></h4>
|
277 |
|
278 |
+
<p style="margin:0;"><?php _e("Insert product's cons features below.", "cwp"); ?></p>
|
279 |
|
280 |
</div><!-- end .review-settings-notice -->
|
281 |
|
489 |
|
490 |
|
491 |
|
492 |
+
if( isset( $_POST[ 'cwp_rev_product_image' ] ) ) {
|
493 |
|
494 |
update_post_meta( $post_id, 'cwp_rev_product_image', sanitize_text_field( $_POST[ 'cwp_rev_product_image' ] ) );
|
495 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
496 |
}
|
497 |
|
498 |
|
575 |
|
576 |
}
|
577 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
578 |
}
|
579 |
|
580 |
|
inc/cwp_top_products_widget.php
CHANGED
@@ -1,293 +1,136 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
)
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
$
|
46 |
-
|
47 |
-
$
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
'
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
</div><!-- end .chart -->
|
137 |
-
|
138 |
-
</div>
|
139 |
-
|
140 |
-
<?php } ?>
|
141 |
-
|
142 |
-
</li><!-- end .popular-review -->
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
<?php endwhile; ?>
|
147 |
-
|
148 |
-
<?php wp_reset_postdata(); // reset the query
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
echo "</ul>";
|
153 |
-
|
154 |
-
echo $args['after_widget'];
|
155 |
-
|
156 |
-
//echo "</div>"; // end #cwp_top_products_widget
|
157 |
-
|
158 |
-
}
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
// Widget Backend
|
163 |
-
|
164 |
-
public function form( $instance ) {
|
165 |
-
|
166 |
-
if ( isset( $instance[ 'title' ] ) ) {
|
167 |
-
|
168 |
-
$title = $instance[ 'title' ];
|
169 |
-
|
170 |
-
$no_items = $instance[ 'no_items' ];
|
171 |
-
|
172 |
-
$cwp_tp_category = $instance[ 'cwp_tp_category' ];
|
173 |
-
|
174 |
-
}
|
175 |
-
|
176 |
-
else {
|
177 |
-
|
178 |
-
$title = __( 'Top Products', 'cwppos' );
|
179 |
-
|
180 |
-
$no_items = __( '10', 'cwppos');
|
181 |
-
|
182 |
-
$cwp_tp_category = "Select Category";
|
183 |
-
|
184 |
-
}
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
$cwp_tp_categ_array = get_categories('hide_empty=0');
|
189 |
-
|
190 |
-
foreach ($cwp_tp_categ_array as $categs) {
|
191 |
-
|
192 |
-
$cwp_tp_all_categories[$categs->slug] = $categs->name;
|
193 |
-
|
194 |
-
}
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
// Widget admin form
|
199 |
-
|
200 |
-
?>
|
201 |
-
|
202 |
-
<p>
|
203 |
-
|
204 |
-
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', "cwppos" ); ?></label>
|
205 |
-
|
206 |
-
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
|
207 |
-
|
208 |
-
</p>
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
<p>
|
213 |
-
|
214 |
-
<label for="<?php echo $this->get_field_id( 'no_items' ); ?>"><?php _e( 'Number of posts to show:', "cwppos" ); ?></label>
|
215 |
-
|
216 |
-
<input id="<?php echo $this->get_field_id( 'no_items' ); ?>" name="<?php echo $this->get_field_name( 'no_items' ); ?>" size="3" type="text" value="<?php echo esc_attr( $no_items ); ?>" />
|
217 |
-
|
218 |
-
</p>
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
<p>
|
223 |
-
|
224 |
-
<?php $cwp_tp_selected_categ = esc_attr( $cwp_tp_category ); ?>
|
225 |
-
|
226 |
-
<label for="<?php echo $this->get_field_id( 'cwp_tp_category' ); ?>"><?php _e( 'Category:', "cwppos" ); ?></label>
|
227 |
-
|
228 |
-
<select id="<?php echo $this->get_field_id( 'cwp_tp_category' ); ?>" name="<?php echo $this->get_field_name( 'cwp_tp_category' ); ?>">
|
229 |
-
<?php echo "<option>All</option>"; ?>
|
230 |
-
|
231 |
-
<?php foreach ($cwp_tp_all_categories as $categ_slug => $categ_name): ?>
|
232 |
-
|
233 |
-
<?php if($categ_slug == $cwp_tp_selected_categ) {
|
234 |
-
|
235 |
-
echo "<option selected>".$categ_slug."</option>";
|
236 |
-
|
237 |
-
} elseif($categ_slug == "") {
|
238 |
-
|
239 |
-
echo "<option>There are no categs</select>";
|
240 |
-
|
241 |
-
} else {
|
242 |
-
|
243 |
-
echo "<option>".$categ_slug."</option>";
|
244 |
-
|
245 |
-
} ?>
|
246 |
-
|
247 |
-
<?php endforeach; ?>
|
248 |
-
|
249 |
-
</select>
|
250 |
-
|
251 |
-
</p>
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
<?php }
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
// Updating widget replacing old instances with new
|
260 |
-
|
261 |
-
public function update( $new_instance, $old_instance ) {
|
262 |
-
|
263 |
-
$instance = array();
|
264 |
-
|
265 |
-
$instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
|
266 |
-
|
267 |
-
$instance['no_items'] = ( ! empty( $new_instance['no_items'] ) ) ? strip_tags( $new_instance['no_items'] ) : '';
|
268 |
-
|
269 |
-
$instance['cwp_tp_category'] = ( ! empty( $new_instance['cwp_tp_category'] ) ) ? strip_tags( $new_instance['cwp_tp_category'] ) : '';
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
return $instance;
|
274 |
-
|
275 |
-
}
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
} // end Class cwp_top_products_widget
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
// Register and load the widget
|
286 |
-
|
287 |
-
function cwp_load_top_products_widget() {
|
288 |
-
|
289 |
-
register_widget( 'cwp_top_products_widget' );
|
290 |
-
|
291 |
-
}
|
292 |
-
|
293 |
add_action( 'widgets_init', 'cwp_load_top_products_widget' );
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CWP - Top Producs Widget
|
4 |
+
*/
|
5 |
+
|
6 |
+
class cwp_top_products_widget extends WP_Widget {
|
7 |
+
|
8 |
+
function __construct() {
|
9 |
+
parent::__construct(
|
10 |
+
'cwp_top_products_widget',
|
11 |
+
__('CWP Top Products Widget', 'cwppos'),
|
12 |
+
|
13 |
+
// Widget description
|
14 |
+
array( 'description' => __( 'This widget displays the top products based on their rating.', 'cwppos' ), )
|
15 |
+
);
|
16 |
+
|
17 |
+
}
|
18 |
+
|
19 |
+
// Creating widget front-end
|
20 |
+
// This is where the action happens
|
21 |
+
public function widget( $args, $instance ) {
|
22 |
+
$title = apply_filters( 'widget_title', $instance['title'] );
|
23 |
+
$no_items = apply_filters( 'widget_content', $instance['no_items'] );
|
24 |
+
$cwp_tp_category = apply_filters( 'widget_content', $instance['cwp_tp_category'] );
|
25 |
+
|
26 |
+
// before and after widget arguments are defined by themes
|
27 |
+
echo "<div id='cwp_top_products_widget'>";
|
28 |
+
echo $args['before_widget'];
|
29 |
+
if ( ! empty( $title ) )
|
30 |
+
echo $args['before_title'] . $title . $args['after_title'];
|
31 |
+
|
32 |
+
// Loop to get the most popular posts, ordered by the author's final grade.
|
33 |
+
$query_args = array(
|
34 |
+
'posts_per_page'=> $no_items, // limit it to the specified no of posts
|
35 |
+
'post_type' => array('post'),
|
36 |
+
'review_category' => $cwp_tp_category, // limit it to the specified category
|
37 |
+
'meta_query' => array(
|
38 |
+
array(
|
39 |
+
'key' => 'cwp_meta_box_check',
|
40 |
+
'value' => 'Yes',
|
41 |
+
),
|
42 |
+
),
|
43 |
+
);
|
44 |
+
|
45 |
+
$cwp_top_products_loop = new WP_Query( $query_args );
|
46 |
+
echo "<ul>";
|
47 |
+
while($cwp_top_products_loop->have_posts()) : $cwp_top_products_loop->the_post(); ?>
|
48 |
+
|
49 |
+
<li class="cwp-popular-review cwp_top_posts_widget_<?php the_ID(); ?>">
|
50 |
+
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
|
51 |
+
|
52 |
+
|
53 |
+
<?php $review_score = get_post_meta($cwp_top_products_loop->post->ID, "option_overall_score", true);
|
54 |
+
if(!empty($review_score)) { ?>
|
55 |
+
<div class="review-grade">
|
56 |
+
<div class="chart">
|
57 |
+
<div class="percentage" data-percent="<?php echo $review_score; ?>"><span></span></div>
|
58 |
+
</div><!-- end .chart -->
|
59 |
+
</div>
|
60 |
+
<?php } ?>
|
61 |
+
</li><!-- end .popular-review -->
|
62 |
+
|
63 |
+
<?php endwhile; ?>
|
64 |
+
<?php wp_reset_postdata(); // reset the query
|
65 |
+
|
66 |
+
echo "</ul>";
|
67 |
+
echo $args['after_widget'];
|
68 |
+
echo "</div>"; // end #cwp_top_products_widget
|
69 |
+
}
|
70 |
+
|
71 |
+
// Widget Backend
|
72 |
+
public function form( $instance ) {
|
73 |
+
if ( isset( $instance[ 'title' ] ) ) {
|
74 |
+
$title = $instance[ 'title' ];
|
75 |
+
$no_items = $instance[ 'no_items' ];
|
76 |
+
$cwp_tp_category = $instance[ 'cwp_tp_category' ];
|
77 |
+
}
|
78 |
+
else {
|
79 |
+
$title = __( 'Top Products', 'cwppos' );
|
80 |
+
$no_items = __( '10', 'cwppos');
|
81 |
+
$cwp_tp_category = "Select Category";
|
82 |
+
}
|
83 |
+
|
84 |
+
$cwp_tp_categ_array = get_categories('hide_empty=0');
|
85 |
+
foreach ($cwp_tp_categ_array as $categs) {
|
86 |
+
$cwp_tp_all_categories[$categs->slug] = $categs->name;
|
87 |
+
}
|
88 |
+
|
89 |
+
// Widget admin form
|
90 |
+
?>
|
91 |
+
<p>
|
92 |
+
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', "cwppos" ); ?></label>
|
93 |
+
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
|
94 |
+
</p>
|
95 |
+
|
96 |
+
<p>
|
97 |
+
<label for="<?php echo $this->get_field_id( 'no_items' ); ?>"><?php _e( 'Number of posts to show:', "cwppos" ); ?></label>
|
98 |
+
<input id="<?php echo $this->get_field_id( 'no_items' ); ?>" name="<?php echo $this->get_field_name( 'no_items' ); ?>" size="3" type="text" value="<?php echo esc_attr( $no_items ); ?>" />
|
99 |
+
</p>
|
100 |
+
|
101 |
+
<p>
|
102 |
+
<?php $cwp_tp_selected_categ = esc_attr( $cwp_tp_category ); ?>
|
103 |
+
<label for="<?php echo $this->get_field_id( 'cwp_tp_category' ); ?>"><?php _e( 'Category:', "cwppos" ); ?></label>
|
104 |
+
<select id="<?php echo $this->get_field_id( 'cwp_tp_category' ); ?>" name="<?php echo $this->get_field_name( 'cwp_tp_category' ); ?>">
|
105 |
+
<?php foreach ($cwp_tp_all_categories as $categ_slug => $categ_name): ?>
|
106 |
+
<?php if($categ_slug == $cwp_tp_selected_categ) {
|
107 |
+
echo "<option selected>".$categ_slug."</option>";
|
108 |
+
} elseif($categ_slug == "") {
|
109 |
+
echo "<option>There are no categs</select>";
|
110 |
+
} else {
|
111 |
+
echo "<option>".$categ_slug."</option>";
|
112 |
+
} ?>
|
113 |
+
<?php endforeach; ?>
|
114 |
+
</select>
|
115 |
+
</p>
|
116 |
+
|
117 |
+
<?php }
|
118 |
+
|
119 |
+
// Updating widget replacing old instances with new
|
120 |
+
public function update( $new_instance, $old_instance ) {
|
121 |
+
$instance = array();
|
122 |
+
$instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
|
123 |
+
$instance['no_items'] = ( ! empty( $new_instance['no_items'] ) ) ? strip_tags( $new_instance['no_items'] ) : '';
|
124 |
+
$instance['cwp_tp_category'] = ( ! empty( $new_instance['cwp_tp_category'] ) ) ? strip_tags( $new_instance['cwp_tp_category'] ) : '';
|
125 |
+
|
126 |
+
return $instance;
|
127 |
+
}
|
128 |
+
|
129 |
+
} // end Class cwp_top_products_widget
|
130 |
+
|
131 |
+
|
132 |
+
// Register and load the widget
|
133 |
+
function cwp_load_top_products_widget() {
|
134 |
+
register_widget( 'cwp_top_products_widget' );
|
135 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
add_action( 'widgets_init', 'cwp_load_top_products_widget' );
|
inc/images/ajaxload.gif
DELETED
Binary file
|
inc/review-preloader.php
DELETED
@@ -1,84 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
require_once( '../../../../wp-load.php' );
|
3 |
-
|
4 |
-
$args = array(
|
5 |
-
'offset' => 0,
|
6 |
-
'post_type' => array('post'),
|
7 |
-
'meta_query' => array(
|
8 |
-
array(
|
9 |
-
'key' => 'cwp_meta_box_check',
|
10 |
-
'value' => 'Yes',
|
11 |
-
),
|
12 |
-
),
|
13 |
-
);
|
14 |
-
|
15 |
-
$cwp_query = new WP_Query($args);
|
16 |
-
while ($cwp_query->have_posts()) : $cwp_query->the_post();
|
17 |
-
$post_id = $post->ID;
|
18 |
-
$preloaded_info = array();
|
19 |
-
$preloaded_info[$post_id] = array();
|
20 |
-
|
21 |
-
?>
|
22 |
-
<li class="cwp_preloaded_item clearfix">
|
23 |
-
<header>
|
24 |
-
|
25 |
-
<h3 class="cwp_p_title"><?php the_title(); ?></h3>
|
26 |
-
<button class="preload" title="Preload all details">↷</button>
|
27 |
-
</header>
|
28 |
-
<?php
|
29 |
-
|
30 |
-
for ($i=1; $i < 6; $i++) {
|
31 |
-
$preloaded_info[$post_id]["option".$i] = array(
|
32 |
-
"content" => get_post_meta($post->ID, "option_" . $i ."_content", true),
|
33 |
-
"grade" => get_post_meta($post->ID, "option_" . $i ."_grade", true),
|
34 |
-
"pro" => get_post_meta($post->ID, "cwp_option_". $i ."_pro", true),
|
35 |
-
"cons" => get_post_meta($post->ID, "cwp_option_". $i ."_cons", true),
|
36 |
-
);
|
37 |
-
}
|
38 |
-
?>
|
39 |
-
|
40 |
-
<div class="cwp_pitem_info post_<?php echo $post_id; ?>">
|
41 |
-
<ul class="cwp_pitem_options_content">
|
42 |
-
<h4><?php _e("Options", "cwppos"); ?></h4>
|
43 |
-
<?php
|
44 |
-
for ($i=1; $i < 6; $i++) {
|
45 |
-
$pinfo_temp = $preloaded_info[$post_id]["option". $i]['content'];
|
46 |
-
if (!empty($pinfo_temp)) {
|
47 |
-
echo "<li>" . $pinfo_temp. "</li>";
|
48 |
-
} else {
|
49 |
-
echo "<li>-</li>";
|
50 |
-
}
|
51 |
-
}
|
52 |
-
?>
|
53 |
-
</ul><!-- end .cwp_pitem_options_content -->
|
54 |
-
|
55 |
-
<ul class="cwp_pitem_options_pros">
|
56 |
-
<h4><?php _e("Pros", "cwppos"); ?></h4>
|
57 |
-
<?php
|
58 |
-
for ($i=1; $i < 6; $i++) {
|
59 |
-
$pinfo_temp = $preloaded_info[$post_id]["option". $i]['pro'];
|
60 |
-
if (!empty($pinfo_temp)) {
|
61 |
-
echo "<li>" . $pinfo_temp. "</li>";
|
62 |
-
} else {
|
63 |
-
echo "<li>-</li>";
|
64 |
-
}
|
65 |
-
}
|
66 |
-
?>
|
67 |
-
</ul><!-- end .cwp_pitem_options_pros -->
|
68 |
-
|
69 |
-
<ul class="cwp_pitem_options_cons">
|
70 |
-
<h4><?php _e("Cons", "cwppos"); ?></h4>
|
71 |
-
<?php
|
72 |
-
for ($i=1; $i < 6; $i++) {
|
73 |
-
$pinfo_temp = $preloaded_info[$post_id]["option". $i]['cons'];
|
74 |
-
if (!empty($pinfo_temp)) {
|
75 |
-
echo "<li>" . $pinfo_temp. "</li>";
|
76 |
-
} else {
|
77 |
-
echo "<li>-</li>";
|
78 |
-
}
|
79 |
-
}
|
80 |
-
?>
|
81 |
-
</ul><!-- end .cwp_pitem_options_cons -->
|
82 |
-
</div><!-- end .cwp_pitem_info -->
|
83 |
-
</li><!-- end .cwp_preloaded_item -->
|
84 |
-
<?php endwhile; wp_reset_postdata(); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/default.mo
DELETED
Binary file
|
languages/default.po
DELETED
@@ -1,228 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: Wp Product Review\n"
|
4 |
-
"POT-Creation-Date: 2014-07-28 20:58+0100\n"
|
5 |
-
"PO-Revision-Date: 2014-07-28 20:58+0100\n"
|
6 |
-
"Last-Translator: \n"
|
7 |
-
"Language-Team: ReadyThemes <info@readythemes.com>\n"
|
8 |
-
"Language: English\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 1.5.5\n"
|
13 |
-
"X-Poedit-KeywordsList: _;gettext;gettext_noop;_e;__\n"
|
14 |
-
"X-Poedit-Basepath: ../\n"
|
15 |
-
"X-Poedit-SearchPath-0: .\n"
|
16 |
-
"X-Poedit-SearchPath-1: inc\n"
|
17 |
-
|
18 |
-
#: admin/inc/render.php:224
|
19 |
-
msgid "Normal"
|
20 |
-
msgstr ""
|
21 |
-
|
22 |
-
#: admin/inc/render.php:225
|
23 |
-
msgid "Italic"
|
24 |
-
msgstr ""
|
25 |
-
|
26 |
-
#: admin/inc/render.php:226
|
27 |
-
msgid "Bold"
|
28 |
-
msgstr ""
|
29 |
-
|
30 |
-
#: admin/inc/render.php:227
|
31 |
-
msgid "Bold Italic"
|
32 |
-
msgstr ""
|
33 |
-
|
34 |
-
#: admin/inc/render.php:279
|
35 |
-
msgid "No Repeat"
|
36 |
-
msgstr ""
|
37 |
-
|
38 |
-
#: admin/inc/render.php:280
|
39 |
-
msgid "Repeat Horizontally"
|
40 |
-
msgstr ""
|
41 |
-
|
42 |
-
#: admin/inc/render.php:281
|
43 |
-
msgid "Repeat Vertically"
|
44 |
-
msgstr ""
|
45 |
-
|
46 |
-
#: admin/inc/render.php:282
|
47 |
-
msgid "Repeat All"
|
48 |
-
msgstr ""
|
49 |
-
|
50 |
-
#: admin/inc/render.php:287
|
51 |
-
msgid "Top Left"
|
52 |
-
msgstr ""
|
53 |
-
|
54 |
-
#: admin/inc/render.php:288
|
55 |
-
msgid "Top Center"
|
56 |
-
msgstr ""
|
57 |
-
|
58 |
-
#: admin/inc/render.php:289
|
59 |
-
msgid "Top Right"
|
60 |
-
msgstr ""
|
61 |
-
|
62 |
-
#: admin/inc/render.php:290
|
63 |
-
msgid "Middle Left"
|
64 |
-
msgstr ""
|
65 |
-
|
66 |
-
#: admin/inc/render.php:291
|
67 |
-
msgid "Middle Center"
|
68 |
-
msgstr ""
|
69 |
-
|
70 |
-
#: admin/inc/render.php:292
|
71 |
-
msgid "Middle Right"
|
72 |
-
msgstr ""
|
73 |
-
|
74 |
-
#: admin/inc/render.php:293
|
75 |
-
msgid "Bottom Left"
|
76 |
-
msgstr ""
|
77 |
-
|
78 |
-
#: admin/inc/render.php:294
|
79 |
-
msgid "Bottom Center"
|
80 |
-
msgstr ""
|
81 |
-
|
82 |
-
#: admin/inc/render.php:295
|
83 |
-
msgid "Bottom Right"
|
84 |
-
msgstr ""
|
85 |
-
|
86 |
-
#: admin/inc/render.php:300
|
87 |
-
msgid "Scroll Normally"
|
88 |
-
msgstr ""
|
89 |
-
|
90 |
-
#: admin/inc/render.php:301
|
91 |
-
msgid "Fixed in Place"
|
92 |
-
msgstr ""
|
93 |
-
|
94 |
-
#: admin/layout/main_page.php:12
|
95 |
-
msgid "Buy the PRO version"
|
96 |
-
msgstr ""
|
97 |
-
|
98 |
-
#: admin/layout/main_page.php:14
|
99 |
-
msgid "Recommended Review Themes"
|
100 |
-
msgstr ""
|
101 |
-
|
102 |
-
#: admin/layout/main_page.php:16
|
103 |
-
msgid "Contact us"
|
104 |
-
msgstr ""
|
105 |
-
|
106 |
-
#: admin/layout/main_page.php:30 admin/layout/main_page.php:70
|
107 |
-
msgid "Save All Changes"
|
108 |
-
msgstr ""
|
109 |
-
|
110 |
-
#: admin/layout/main_page.php:33 admin/layout/main_page.php:73
|
111 |
-
msgid "Options Reset"
|
112 |
-
msgstr ""
|
113 |
-
|
114 |
-
#: inc/class-remote-notification-client.php:260
|
115 |
-
msgid "Dismiss notification"
|
116 |
-
msgstr ""
|
117 |
-
|
118 |
-
#: inc/class-remote-notification-client.php:262
|
119 |
-
msgid "Dismiss"
|
120 |
-
msgstr ""
|
121 |
-
|
122 |
-
#: inc/cwp_frontpage.php:1
|
123 |
-
msgid "No image added."
|
124 |
-
msgstr ""
|
125 |
-
|
126 |
-
#: inc/cwp_frontpage.php:1
|
127 |
-
msgid "Default Feature "
|
128 |
-
msgstr ""
|
129 |
-
|
130 |
-
#: inc/cwp_metabox.php:59
|
131 |
-
msgid "Product Details"
|
132 |
-
msgstr ""
|
133 |
-
|
134 |
-
#: inc/cwp_metabox.php:61
|
135 |
-
msgid "Specify the general details for the reviewed product."
|
136 |
-
msgstr ""
|
137 |
-
|
138 |
-
#: inc/cwp_metabox.php:75
|
139 |
-
msgid "Product Name"
|
140 |
-
msgstr ""
|
141 |
-
|
142 |
-
#: inc/cwp_metabox.php:85
|
143 |
-
msgid "Product Image"
|
144 |
-
msgstr ""
|
145 |
-
|
146 |
-
#: inc/cwp_metabox.php:87
|
147 |
-
msgid "Choose or Upload an Image"
|
148 |
-
msgstr ""
|
149 |
-
|
150 |
-
#: inc/cwp_metabox.php:98
|
151 |
-
msgid "Affiliate Button Text"
|
152 |
-
msgstr ""
|
153 |
-
|
154 |
-
#: inc/cwp_metabox.php:108
|
155 |
-
msgid "Affiliate Link"
|
156 |
-
msgstr ""
|
157 |
-
|
158 |
-
#: inc/cwp_metabox.php:125
|
159 |
-
msgid "Product Options Setting"
|
160 |
-
msgstr ""
|
161 |
-
|
162 |
-
#: inc/cwp_metabox.php:126
|
163 |
-
msgid ""
|
164 |
-
"Insert your options and their grades. Grading must be done <b><i>from 0 to "
|
165 |
-
"100</i></b>. In order to be able to automatically preload your settings from "
|
166 |
-
"another posts, you need to <a href='http://www.readythemes.com/wp-product-"
|
167 |
-
"review-pro/' target='_blank'>Upgrade to PRO</a>."
|
168 |
-
msgstr ""
|
169 |
-
|
170 |
-
#: inc/cwp_metabox.php:128 inc/cwp_metabox.php:133
|
171 |
-
msgid "Preload Info"
|
172 |
-
msgstr ""
|
173 |
-
|
174 |
-
#: inc/cwp_metabox.php:205
|
175 |
-
msgid "Pro Features"
|
176 |
-
msgstr ""
|
177 |
-
|
178 |
-
#: inc/cwp_metabox.php:207
|
179 |
-
msgid "Insert product's pro features below."
|
180 |
-
msgstr ""
|
181 |
-
|
182 |
-
#: inc/cwp_metabox.php:279
|
183 |
-
msgid "Cons Features"
|
184 |
-
msgstr ""
|
185 |
-
|
186 |
-
#: inc/cwp_metabox.php:281
|
187 |
-
msgid "Insert product's cons features below."
|
188 |
-
msgstr ""
|
189 |
-
|
190 |
-
#: inc/cwp_top_products_widget.php:21
|
191 |
-
msgid "WP Product Review Top Products Widget"
|
192 |
-
msgstr ""
|
193 |
-
|
194 |
-
#: inc/cwp_top_products_widget.php:27
|
195 |
-
msgid "This widget displays the top products based on their rating."
|
196 |
-
msgstr ""
|
197 |
-
|
198 |
-
#: inc/cwp_top_products_widget.php:176
|
199 |
-
msgid "Top Products"
|
200 |
-
msgstr ""
|
201 |
-
|
202 |
-
#: inc/cwp_top_products_widget.php:178
|
203 |
-
msgid "10"
|
204 |
-
msgstr ""
|
205 |
-
|
206 |
-
#: inc/cwp_top_products_widget.php:202
|
207 |
-
msgid "Title:"
|
208 |
-
msgstr ""
|
209 |
-
|
210 |
-
#: inc/cwp_top_products_widget.php:212
|
211 |
-
msgid "Number of posts to show:"
|
212 |
-
msgstr ""
|
213 |
-
|
214 |
-
#: inc/cwp_top_products_widget.php:224
|
215 |
-
msgid "Category:"
|
216 |
-
msgstr ""
|
217 |
-
|
218 |
-
#: inc/review-preloader.php:42
|
219 |
-
msgid "Options"
|
220 |
-
msgstr ""
|
221 |
-
|
222 |
-
#: inc/review-preloader.php:56
|
223 |
-
msgid "Pros"
|
224 |
-
msgstr ""
|
225 |
-
|
226 |
-
#: inc/review-preloader.php:70
|
227 |
-
msgid "Cons"
|
228 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
readme.txt
CHANGED
@@ -21,7 +21,8 @@ For updates follow https://twitter.com/ready_themes.
|
|
21 |
|
22 |
**Fortcoming**
|
23 |
|
24 |
-
-
|
|
|
25 |
|
26 |
**WP Product Review provides following features**
|
27 |
|
@@ -56,7 +57,7 @@ Alternatively you can also follow the following steps to install the WP Product
|
|
56 |
== Frequently Asked Questions ==
|
57 |
|
58 |
If you have any questions please get in touch with us at,
|
59 |
-
|
60 |
|
61 |
== Screenshots ==
|
62 |
|
@@ -66,4 +67,4 @@ http://www.readythemes.com/contact/?r=wporg
|
|
66 |
|
67 |
for more you can check out
|
68 |
|
69 |
-
|
21 |
|
22 |
**Fortcoming**
|
23 |
|
24 |
+
- easily import settings from other posts
|
25 |
+
- A pro version
|
26 |
|
27 |
**WP Product Review provides following features**
|
28 |
|
57 |
== Frequently Asked Questions ==
|
58 |
|
59 |
If you have any questions please get in touch with us at,
|
60 |
+
https://themeisle.com/contact
|
61 |
|
62 |
== Screenshots ==
|
63 |
|
67 |
|
68 |
for more you can check out
|
69 |
|
70 |
+
https://themeisle.com/plugins/wp-product-review-lite/
|
wp-product-review.php
CHANGED
@@ -1,269 +1,234 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
|
5 |
-
Plugin Name: WP Product Review
|
6 |
-
|
7 |
-
Description: The highest rated and most complete review plugin, now with rich snippets support. Easily turn your basic posts into in-depth reviews with ratings, pros and cons and affiliate links .
|
8 |
-
|
9 |
-
Version: 2.2.
|
10 |
-
|
11 |
-
Author:
|
12 |
-
|
13 |
-
Author URI: http://
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
include "
|
32 |
-
|
33 |
-
include "inc/
|
34 |
-
|
35 |
-
include "inc/
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
}
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
}
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
.affiliate-button a{
|
186 |
-
|
187 |
-
background:
|
188 |
-
|
189 |
-
}
|
190 |
-
|
191 |
-
.affiliate-button a:hover{
|
192 |
-
|
193 |
-
background:
|
194 |
-
|
195 |
-
}
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
var c2 = "<?php echo $options['cwppos_rating_notbad'] ;?>";
|
236 |
-
|
237 |
-
var c3 = "<?php echo $options['cwppos_rating_good'] ;?>";
|
238 |
-
|
239 |
-
var c4 = "<?php echo $options['cwppos_rating_very_good'] ;?>";
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
</script>
|
244 |
-
|
245 |
-
<?php
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
}
|
250 |
-
|
251 |
-
add_action('init', 'cwppos_pac_register');
|
252 |
-
add_action('wp_head', 'cwppos_pac_print');
|
253 |
-
|
254 |
-
add_action('wp_head','cwppos_dynamic_stylesheet');
|
255 |
-
add_action( 'admin_init', 'cwppos_pac_admin_init' );
|
256 |
-
add_action('admin_enqueue_scripts','preloader_js');
|
257 |
-
if (!class_exists('TAV_Remote_Notification_Client')) {
|
258 |
-
require( 'inc/class-remote-notification-client.php' );
|
259 |
-
}
|
260 |
-
$notification = new TAV_Remote_Notification_Client( 36, '71a28628279f6d55', 'https://themeisle.com/?post_type=notification' );
|
261 |
-
|
262 |
-
|
263 |
-
if (class_exists('CWP_PR_PRO_Core')) {
|
264 |
-
$cwp_pr_pro = new CWP_PR_PRO_Core();
|
265 |
-
}
|
266 |
-
|
267 |
-
load_plugin_textdomain('cwppos', false, dirname(plugin_basename(__FILE__)).'/languages/');
|
268 |
-
|
269 |
-
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
|
5 |
+
Plugin Name: WP Product Review
|
6 |
+
|
7 |
+
Description: The highest rated and most complete review plugin, now with rich snippets support. Easily turn your basic posts into in-depth reviews with ratings, pros and cons and affiliate links .
|
8 |
+
|
9 |
+
Version: 2.2.4
|
10 |
+
|
11 |
+
Author: CodeInWP
|
12 |
+
|
13 |
+
Author URI: http://codeinwp.com/
|
14 |
+
|
15 |
+
Requires at least: 3.5
|
16 |
+
|
17 |
+
Tested up to: 3.9
|
18 |
+
|
19 |
+
Stable tag: trunk
|
20 |
+
|
21 |
+
License: GPLv2 or later
|
22 |
+
|
23 |
+
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
24 |
+
|
25 |
+
*/
|
26 |
+
if (wp_get_theme() !== "Reviewgine Affiliate PRO") {
|
27 |
+
include "admin/functions.php";
|
28 |
+
|
29 |
+
include "inc/cwp_metabox.php";
|
30 |
+
|
31 |
+
include "inc/cwp_frontpage.php";
|
32 |
+
|
33 |
+
include "inc/cwp_top_products_widget.php";
|
34 |
+
|
35 |
+
include "inc/cwp_comment.php";
|
36 |
+
|
37 |
+
|
38 |
+
|
39 |
+
/*
|
40 |
+
|
41 |
+
Loading the stylesheet for admin page.
|
42 |
+
|
43 |
+
*/
|
44 |
+
|
45 |
+
|
46 |
+
|
47 |
+
|
48 |
+
|
49 |
+
function cwppos_pac_admin_init() {
|
50 |
+
|
51 |
+
|
52 |
+
wp_enqueue_style( 'cwp-pac-admin-stylesheet', plugins_url('css/dashboard_styles.css', __FILE__) );
|
53 |
+
|
54 |
+
wp_enqueue_script( 'cwp-pac-script', plugins_url('javascript/admin-review.js', __FILE__),array("jquery"),"20140101",true );
|
55 |
+
|
56 |
+
}
|
57 |
+
|
58 |
+
function cwppos_pac_register() {
|
59 |
+
|
60 |
+
|
61 |
+
|
62 |
+
//wp_register_script( 'jquery-ui-core' );
|
63 |
+
|
64 |
+
//wp_register_script( 'jquery-ui-slider' );
|
65 |
+
|
66 |
+
wp_register_script( 'pie-chart', plugins_url('javascript/pie-chart.js', __FILE__),array("jquery"),"20140101",true );
|
67 |
+
|
68 |
+
wp_register_script( 'cwp-pac-main-script', plugins_url('javascript/main.js', __FILE__),array("jquery",'pie-chart'),"20140101",true );
|
69 |
+
|
70 |
+
wp_register_style( 'cwp-pac-frontpage-stylesheet', plugins_url('css/frontpage.css', __FILE__) );
|
71 |
+
|
72 |
+
wp_register_style( 'jqueryui', plugins_url('css/jquery-ui.css', __FILE__) );
|
73 |
+
|
74 |
+
wp_register_style( 'cwp-pac-fontawesome-stylesheet', plugins_url('css/font-awesome.min.css', __FILE__) );
|
75 |
+
}
|
76 |
+
|
77 |
+
function cwppos_pac_print() {
|
78 |
+
|
79 |
+
//global $add_my_script;
|
80 |
+
|
81 |
+
global $post;
|
82 |
+
//echo get_post_meta($post->ID, "cwp_rev_product_name", true);
|
83 |
+
if (get_post_meta($post->ID, "cwp_rev_product_name", true)!="" || get_post_meta($post->ID, "cwp_rev_product_image", true)!="") {
|
84 |
+
|
85 |
+
wp_print_styles('cwp-pac-frontpage-stylesheet');
|
86 |
+
wp_print_styles('jqueryui');
|
87 |
+
wp_print_styles('cwp-pac-fontawesome-stylesheet');
|
88 |
+
|
89 |
+
wp_print_scripts('jquery-ui-core');
|
90 |
+
wp_print_scripts('jquery-ui-slider');
|
91 |
+
wp_print_scripts('pie-chart');
|
92 |
+
wp_print_scripts('cwp-pac-main-script');
|
93 |
+
|
94 |
+
}
|
95 |
+
|
96 |
+
|
97 |
+
|
98 |
+
}
|
99 |
+
|
100 |
+
function cwppos_dynamic_stylesheet() {
|
101 |
+
|
102 |
+
|
103 |
+
|
104 |
+
$options = cwppos();
|
105 |
+
|
106 |
+
?>
|
107 |
+
|
108 |
+
<style type="text/css">
|
109 |
+
|
110 |
+
.user-comments-grades .comment-meta-grade-bar,
|
111 |
+
|
112 |
+
#review-statistics .review-wu-bars ul li{
|
113 |
+
|
114 |
+
background: <?php echo $options['cwppos_rating_default']; ?>;
|
115 |
+
|
116 |
+
|
117 |
+
|
118 |
+
}
|
119 |
+
|
120 |
+
<?php if ($options['cwppos_widget_size']!="") {?>
|
121 |
+
|
122 |
+
#review-statistics{
|
123 |
+
width:<?php echo $options['cwppos_widget_size']; ?>px!important;
|
124 |
+
}
|
125 |
+
|
126 |
+
<?php } ?>
|
127 |
+
#review-statistics .review-wrap-up .review-wu-right ul li,#review-statistics .review-wu-bars h3, .review-wu-bars span,#review-statistics .review-wrap-up .review-top .item-category a{
|
128 |
+
|
129 |
+
color: <?php echo $options['cwppos_font_color']; ?>;
|
130 |
+
|
131 |
+
}
|
132 |
+
|
133 |
+
#review-statistics .review-wrap-up .review-wu-right .pros h2 {
|
134 |
+
|
135 |
+
color: <?php echo $options['cwppos_pros_color']; ?>;
|
136 |
+
|
137 |
+
}
|
138 |
+
|
139 |
+
|
140 |
+
|
141 |
+
#review-statistics .review-wrap-up .review-wu-right .cons h2{
|
142 |
+
|
143 |
+
color: <?php echo $options['cwppos_cons_color']; ?>;
|
144 |
+
|
145 |
+
}
|
146 |
+
|
147 |
+
.affiliate-button a{
|
148 |
+
|
149 |
+
border: 2px solid <?php echo $options['cwppos_buttonbd_color']; ?>;
|
150 |
+
|
151 |
+
}
|
152 |
+
|
153 |
+
.affiliate-button a:hover{
|
154 |
+
|
155 |
+
border: 2px solid <?php echo $options['cwppos_buttonbh_color']; ?>;
|
156 |
+
|
157 |
+
}
|
158 |
+
|
159 |
+
.affiliate-button a{
|
160 |
+
|
161 |
+
background: <?php echo $options['cwppos_buttonbkd_color']; ?>;
|
162 |
+
|
163 |
+
}
|
164 |
+
|
165 |
+
.affiliate-button a:hover{
|
166 |
+
|
167 |
+
background: <?php echo $options['cwppos_buttonbkh_color']; ?>;
|
168 |
+
|
169 |
+
}
|
170 |
+
|
171 |
+
.affiliate-button a span{
|
172 |
+
|
173 |
+
color: <?php echo $options['cwppos_buttontxtd_color']; ?>;
|
174 |
+
|
175 |
+
}
|
176 |
+
|
177 |
+
.affiliate-button a:hover span{
|
178 |
+
|
179 |
+
color: <?php echo $options['cwppos_buttontxth_color']; ?>;
|
180 |
+
|
181 |
+
}
|
182 |
+
|
183 |
+
<?php if($options['cwppos_show_icon'] == 'yes') { ?>
|
184 |
+
|
185 |
+
.affiliate-button a span {
|
186 |
+
|
187 |
+
background:url("<?php echo plugins_url('', __FILE__); ?>/images/cart-icon.png") no-repeat left center;
|
188 |
+
|
189 |
+
}
|
190 |
+
|
191 |
+
.affiliate-button a:hover span{
|
192 |
+
|
193 |
+
background:url("<?php echo plugins_url('', __FILE__); ?>/images/cart-icon-hover.png") no-repeat left center;
|
194 |
+
|
195 |
+
}
|
196 |
+
|
197 |
+
<?php } ?>
|
198 |
+
|
199 |
+
|
200 |
+
|
201 |
+
</style>
|
202 |
+
|
203 |
+
<script type="text/javascript">
|
204 |
+
|
205 |
+
|
206 |
+
|
207 |
+
var c1 = "<?php echo $options['cwppos_rating_weak'] ;?>";
|
208 |
+
|
209 |
+
var c2 = "<?php echo $options['cwppos_rating_notbad'] ;?>";
|
210 |
+
|
211 |
+
var c3 = "<?php echo $options['cwppos_rating_good'] ;?>";
|
212 |
+
|
213 |
+
var c4 = "<?php echo $options['cwppos_rating_very_good'] ;?>";
|
214 |
+
|
215 |
+
|
216 |
+
|
217 |
+
</script>
|
218 |
+
|
219 |
+
<?php
|
220 |
+
|
221 |
+
|
222 |
+
|
223 |
+
}
|
224 |
+
|
225 |
+
add_action('init', 'cwppos_pac_register');
|
226 |
+
add_action('wp_head', 'cwppos_pac_print');
|
227 |
+
|
228 |
+
add_action('wp_head','cwppos_dynamic_stylesheet');
|
229 |
+
add_action( 'admin_init', 'cwppos_pac_admin_init' );
|
230 |
+
if (!class_exists('TAV_Remote_Notification_Client')) {
|
231 |
+
require( 'inc/class-remote-notification-client.php' );
|
232 |
+
}
|
233 |
+
$notification = new TAV_Remote_Notification_Client( 36, '71a28628279f6d55', 'http://themeisle.com/?post_type=notification' );
|
234 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|