Yet Another Related Posts Plugin (YARPP) - Version 3.1.3b1

Version Description

Download this release

Release Info

Developer mitchoyoshitaka
Plugin Icon 128x128 Yet Another Related Posts Plugin (YARPP)
Version 3.1.3b1
Comparing to
See all releases

Code changes from version 3.1.2 to 3.1.3b1

Files changed (6) hide show
  1. install.txt +3 -3
  2. magic.php +6 -5
  3. options.php +0 -12
  4. readme.txt +4 -0
  5. services.php +0 -40
  6. yarpp.php +2 -2
install.txt CHANGED
@@ -5,11 +5,11 @@ Support forum: http://wordpress.org/tags/yet-another-related-posts-plugin
5
6
== INSTALLATION ==
7
8
- 1. Copy the folder `yet-another-related-posts-plugin` into the directory `wp-content/plugins/` and (optionally) the sample templates inside `yarpp-templates` folder into your active theme.
9
10
2. Activate the plugin.
11
12
- 3. Find the Related Posts (YARPP) settings page in your `wp-admin`. If you see a message telling you to build your cache, please build your cache. Otherwise, you will see no related posts anywhere.
13
14
NOTE: If you run a large and complex site and/or worry about your SQL query volume, it may be better to simply make sure the "compute related posts on the fly" option is turned on and *not* try to build the cache all at once.
15
@@ -25,4 +25,4 @@ Read the FAQ:
25
http://wordpress.org/extend/plugins/yet-another-related-posts-plugin/faq/
26
27
If it's not in the FAQ, find it or ask it in the forum:
28
- http://wordpress.org/extend/plugins/yet-another-related-posts-plugin/
5
6
== INSTALLATION ==
7
8
+ 1. Copy the folder `yet-another-related-posts-plugin` into the directory `wp-content/plugins/` and (optionally) the sample template files inside the `yarpp-templates` folder into your active theme.
9
10
2. Activate the plugin.
11
12
+ 3. Find the Related Posts (YARPP) settings page in your `wp-admin` and update if necessary.
13
14
NOTE: If you run a large and complex site and/or worry about your SQL query volume, it may be better to simply make sure the "compute related posts on the fly" option is turned on and *not* try to build the cache all at once.
15
25
http://wordpress.org/extend/plugins/yet-another-related-posts-plugin/faq/
26
27
If it's not in the FAQ, find it or ask it in the forum:
28
+ http://wordpress.org/tags/yet-another-related-posts-plugin?forum_id=10#postform
magic.php CHANGED
@@ -384,7 +384,8 @@ function yarpp_save_cache($post_ID,$force=true) {
384
385
function yarpp_cache_clear($reference_IDs) {
386
global $wpdb;
387
- $wpdb->query("delete from {$wpdb->prefix}yarpp_related_cache where reference_ID in (".implode(',',$reference_IDs).")");
388
}
389
390
function yarpp_cache_enforce($type=array('post'),$reference_ID,$force=false) {
@@ -393,10 +394,10 @@ function yarpp_cache_enforce($type=array('post'),$reference_ID,$force=false) {
393
if ($reference_ID === '' || $reference_ID === false)
394
return false;
395
396
- $timeout = 600;
397
-
398
if (!$force) {
399
- if ($wpdb->get_var("select count(*) as count from {$wpdb->prefix}yarpp_related_cache where reference_ID = $reference_ID and date > date_sub(now(),interval $timeout minute)")) {
400
if ($yarpp_debug) echo "<!--YARPP is using the cache right now.-->";
401
return false;
402
}
@@ -415,7 +416,7 @@ function yarpp_cache_enforce($type=array('post'),$reference_ID,$force=false) {
415
// if changes were made, let's find out which ones are new. We'll want to clear their caches
416
// so that they will be rebuilt when they're hit next.
417
if ($wpdb->rows_affected) {
418
- $new_relations = $wpdb->get_col("select ID from {$wpdb->prefix}yarpp_related_cache where reference_ID = $reference_ID");//and ID not in (".implode(',',$old_relations).")"
419
yarpp_cache_clear($new_relations);
420
}
421
384
385
function yarpp_cache_clear($reference_IDs) {
386
global $wpdb;
387
+ if (is_array($reference_IDs) && count($reference_IDs))
388
+ $wpdb->query("delete from {$wpdb->prefix}yarpp_related_cache where reference_ID in (".implode(',',$reference_IDs).")");
389
}
390
391
function yarpp_cache_enforce($type=array('post'),$reference_ID,$force=false) {
394
if ($reference_ID === '' || $reference_ID === false)
395
return false;
396
397
if (!$force) {
398
+ if ($wpdb->get_var("select count(*) as count from {$wpdb->prefix}yarpp_related_cache where reference_ID = $reference_ID")) {
399
+ // 3.1.3: removed the cache timeout
400
+ // and date > date_sub(now(),interval 600 minute)
401
if ($yarpp_debug) echo "<!--YARPP is using the cache right now.-->";
402
return false;
403
}
416
// if changes were made, let's find out which ones are new. We'll want to clear their caches
417
// so that they will be rebuilt when they're hit next.
418
if ($wpdb->rows_affected) {
419
+ $new_relations = $wpdb->get_col("select ID from {$wpdb->prefix}yarpp_related_cache where reference_ID = $reference_ID and ID != 0");
420
yarpp_cache_clear($new_relations);
421
}
422
options.php CHANGED
@@ -98,12 +98,6 @@ if (isset($_POST['update_yarpp'])) {
98
}
99
echo '<div class="updated fade" style="background-color: rgb(207, 235, 247);"><p>'.__('Options saved!','yarpp').'</p></div>';
100
}
101
-
102
- // check if the cache is complete or not.
103
- $cache_complete = $wpdb->get_var("select (count(p.ID)-sum(c.ID IS NULL))/count(p.ID)
104
- FROM $wpdb->posts as p
105
- LEFT JOIN {$wpdb->prefix}yarpp_related_cache as c ON ( p.ID = c.reference_ID )
106
- WHERE p.post_status = 'publish' ");
107
108
//compute $tagmap
109
$tagmap = array();
@@ -383,12 +377,6 @@ function load_display_discats() {
383
load_display_distags();
384
load_display_demo_web();
385
load_display_demo_rss();
386
- jQuery('#build-cache-button').click(function() {
387
- jQuery('#yarpp-cache-message').hide();
388
- jQuery('#build-cache-button').hide();
389
- jQuery('#build-display').css('display','block');
390
- yarppBuildRequest();
391
- });
392
393
version = jQuery('#yarpp-version').html();
394
98
}
99
echo '<div class="updated fade" style="background-color: rgb(207, 235, 247);"><p>'.__('Options saved!','yarpp').'</p></div>';
100
}
101
102
//compute $tagmap
103
$tagmap = array();
377
load_display_distags();
378
load_display_demo_web();
379
load_display_demo_rss();
380
381
version = jQuery('#yarpp-version').html();
382
readme.txt CHANGED
@@ -148,6 +148,10 @@ If you are a bilingual speaker of English and another language and an avid user
148
149
== Changelog ==
150
151
= 3.1.2 =
152
* Bugfix: [saving posts would sometimes timeout](http://wordpress.org/support/topic/343001)
153
= 3.1.1 =
148
149
== Changelog ==
150
151
+ = 3.1.3 =
152
+ * Turning off cache expiration, made possible by smarter caching system of 3.1—should improve database performance over time
153
+ * Code cleanup
154
+ * Bugfix: [`yearpp_clear_cache` bug on empty input](http://wordpress.org/support/topic/343001)
155
= 3.1.2 =
156
* Bugfix: [saving posts would sometimes timeout](http://wordpress.org/support/topic/343001)
157
= 3.1.1 =
services.php CHANGED
@@ -6,7 +6,6 @@ if (function_exists('add_action')) {
6
add_action('wp_ajax_yarpp_display_distags', 'yarpp_ajax_display_distags');
7
add_action('wp_ajax_yarpp_display_demo_web', 'yarpp_ajax_display_demo_web');
8
add_action('wp_ajax_yarpp_display_demo_rss', 'yarpp_ajax_display_demo_rss');
9
- add_action('wp_ajax_yarpp_build_cache_action', 'yarpp_build_cache');
10
}
11
12
function yarpp_ajax_display_discats() {
@@ -52,42 +51,3 @@ function yarpp_ajax_display_demo_rss() {
52
echo ereg_replace("[\n\r]",'',nl2br(htmlspecialchars($return)));
53
exit;
54
}
55
-
56
- function yarpp_build_cache() {
57
- global $wpdb;
58
- if (!is_user_logged_in() || !current_user_can('level_10')) {
59
- wp_die(__('You cannot rebuild the YARPP cache.', 'yarpp'));
60
- }
61
-
62
- if (!$_POST['i']) {
63
- $id = $wpdb->get_var("select min(ID), count(ID) from $wpdb->posts where post_status = 'publish'",0);
64
- $i = 1;
65
- $m = $wpdb->get_var(null,1);
66
- } else {
67
- $id = $_POST['id'];
68
- $i = $_POST['i'];
69
- $m = $_POST['m'];
70
- }
71
-
72
- $timeout = 2; // seconds
73
- $start = yarpp_microtime_float();
74
- while ((yarpp_microtime_float() - $start) < $timeout and $i <= $m) {
75
- $result = yarpp_cache_enforce(array('post'),$id,true);
76
-
77
- if (!$result) {
78
- header('Content-Type: application/json');
79
- echo "{result:'error',id: '$id', title: '".addslashes($title)."', i: $i, m: $m, percent: '".(floor(1000 * $i/$m)/10)."'}";
80
- exit();
81
- }
82
-
83
- $id = $wpdb->get_var("select ID, post_title from $wpdb->posts where ID > $id and post_status = 'publish' and ifnull(post_title,'') != '' order by ID asc limit 1",0);
84
- $title = $wpdb->get_var(null,1);
85
- $i++;
86
- }
87
-
88
- header('Content-Type: application/json');
89
- echo "{result:'success',time:'".(yarpp_microtime_float() - $start)."', id: '$id', title: '".addslashes($title)."', i: $i, m: $m, percent: '".(floor(1000 * $i/$m)/10)."'}";
90
- exit();
91
- }
92
-
93
- ?>
6
add_action('wp_ajax_yarpp_display_distags', 'yarpp_ajax_display_distags');
7
add_action('wp_ajax_yarpp_display_demo_web', 'yarpp_ajax_display_demo_web');
8
add_action('wp_ajax_yarpp_display_demo_rss', 'yarpp_ajax_display_demo_rss');
9
}
10
11
function yarpp_ajax_display_discats() {
51
echo ereg_replace("[\n\r]",'',nl2br(htmlspecialchars($return)));
52
exit;
53
}
yarpp.php CHANGED
@@ -3,13 +3,13 @@
3
Plugin Name: Yet Another Related Posts Plugin
4
Plugin URI: http://mitcho.com/code/yarpp/
5
Description: Returns a list of related entries based on a unique algorithm for display on your blog and RSS feeds. A templating feature allows customization of the display.
6
- Version: 3.1.2
7
Author: mitcho (Michael Yoshitaka Erlewine)
8
Author URI: http://mitcho.com/
9
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=66G4DATK4999L&item_name=mitcho%2ecom%2fcode%3a%20donate%20to%20Michael%20Yoshitaka%20Erlewine&no_shipping=0&no_note=1&tax=0&currency_code=USD&lc=US&charset=UTF%2d8
10
*/
11
12
- define('YARPP_VERSION','3.1.2');
13
14
require_once('includes.php');
15
require_once('related-functions.php');
3
Plugin Name: Yet Another Related Posts Plugin
4
Plugin URI: http://mitcho.com/code/yarpp/
5
Description: Returns a list of related entries based on a unique algorithm for display on your blog and RSS feeds. A templating feature allows customization of the display.
6
+ Version: 3.1.3b1
7
Author: mitcho (Michael Yoshitaka Erlewine)
8
Author URI: http://mitcho.com/
9
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=66G4DATK4999L&item_name=mitcho%2ecom%2fcode%3a%20donate%20to%20Michael%20Yoshitaka%20Erlewine&no_shipping=0&no_note=1&tax=0&currency_code=USD&lc=US&charset=UTF%2d8
10
*/
11
12
+ define('YARPP_VERSION','3.1.3b1');
13
14
require_once('includes.php');
15
require_once('related-functions.php');