Yet Another Related Posts Plugin (YARPP) - Version 3.2.1b2

Version Description

Download this release

Release Info

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

Code changes from version 3.2.1b1 to 3.2.1b2

Files changed (11) hide show
  1. cache-postmeta.php +8 -4
  2. cache-tables.php +25 -16
  3. includes.php +68 -111
  4. intl.php +2 -0
  5. lang/words-fr_FR.php +3 -0
  6. lang/yarpp-pt_PT.po +50 -50
  7. magic.php +21 -6
  8. options.php +48 -60
  9. readme.txt +15 -7
  10. services.php +0 -8
  11. yarpp.php +4 -5
cache-postmeta.php CHANGED
@@ -13,6 +13,7 @@ class YARPP_Cache_Postmeta {
13
  var $related_IDs = array();
14
  var $name = "postmeta";
15
  var $yarpp_time = false;
 
16
 
17
  /**
18
  * SETUP/STATUS
@@ -32,6 +33,9 @@ class YARPP_Cache_Postmeta {
32
 
33
  function setup() {
34
  }
 
 
 
35
 
36
  function cache_status() {
37
  global $wpdb;
@@ -92,13 +96,13 @@ class YARPP_Cache_Postmeta {
92
  }
93
 
94
  function demo_request_filter($arg) {
95
- global $wpdb, $yarpp_demo_time, $yarpp_limit;
96
- if ($yarpp_demo_time) {
97
  $wpdb->query("set @count = 0;");
98
- return "SELECT SQL_CALC_FOUND_ROWS ID + $yarpp_limit as ID, post_author, post_date, post_date_gmt, '" . LOREMIPSUM . "' as post_content,
99
  concat('".__('Example post ','yarpp')."',@count:=@count+1) as post_title, 0 as post_category, '' as post_excerpt, 'publish' as post_status, 'open' as comment_status, 'open' as ping_status, '' as post_password, concat('example-post-',@count) as post_name, '' as to_ping, '' as pinged, post_modified, post_modified_gmt, '' as post_content_filtered, 0 as post_parent, concat('PERMALINK',@count) as guid, 0 as menu_order, 'post' as post_type, '' as post_mime_type, 0 as comment_count, 'SCORE' as score
100
  FROM $wpdb->posts
101
- ORDER BY ID DESC LIMIT 0, $yarpp_limit";
102
  }
103
  return $arg;
104
  }
13
  var $related_IDs = array();
14
  var $name = "postmeta";
15
  var $yarpp_time = false;
16
+ var $demo_time = false;
17
 
18
  /**
19
  * SETUP/STATUS
33
 
34
  function setup() {
35
  }
36
+
37
+ function upgrade() {
38
+ }
39
 
40
  function cache_status() {
41
  global $wpdb;
96
  }
97
 
98
  function demo_request_filter($arg) {
99
+ global $wpdb;
100
+ if ($this->demo_time) {
101
  $wpdb->query("set @count = 0;");
102
+ return "SELECT SQL_CALC_FOUND_ROWS ID + {$this->demo_limit} as ID, post_author, post_date, post_date_gmt, '" . LOREMIPSUM . "' as post_content,
103
  concat('".__('Example post ','yarpp')."',@count:=@count+1) as post_title, 0 as post_category, '' as post_excerpt, 'publish' as post_status, 'open' as comment_status, 'open' as ping_status, '' as post_password, concat('example-post-',@count) as post_name, '' as to_ping, '' as pinged, post_modified, post_modified_gmt, '' as post_content_filtered, 0 as post_parent, concat('PERMALINK',@count) as guid, 0 as menu_order, 'post' as post_type, '' as post_mime_type, 0 as comment_count, 'SCORE' as score
104
  FROM $wpdb->posts
105
+ ORDER BY ID DESC LIMIT 0, {$this->demo_limit}";
106
  }
107
  return $arg;
108
  }
cache-tables.php CHANGED
@@ -8,6 +8,7 @@ define('YARPP_TABLES_KEYWORDS_TABLE', 'yarpp_keyword_cache');
8
  class YARPP_Cache_Tables {
9
  var $name = "custom tables";
10
  var $yarpp_time = false;
 
11
 
12
  /**
13
  * SETUP/STATUS
@@ -35,27 +36,35 @@ class YARPP_Cache_Tables {
35
 
36
  function setup() {
37
  global $wpdb;
38
- if (!$wpdb->query("CREATE TABLE IF NOT EXISTS `{$wpdb->prefix}" . YARPP_TABLES_KEYWORDS_TABLE . "` (
39
  `ID` bigint(20) unsigned NOT NULL default '0',
40
  `body` text NOT NULL,
41
  `title` text NOT NULL,
42
  `date` timestamp NOT NULL default CURRENT_TIMESTAMP,
43
  PRIMARY KEY (`ID`)
44
- ) ENGINE=MyISAM COMMENT='YARPP''s keyword cache table';")) {
45
- echo "<!--MySQL error on creating " . YARPP_TABLES_KEYWORDS_TABLE . " table: ";
46
- $wpdb->print_error();
47
- echo "-->";
48
- }
49
- if (!$wpdb->query("CREATE TABLE IF NOT EXISTS `{$wpdb->prefix}" . YARPP_TABLES_RELATED_TABLE . "` (
50
  `reference_ID` bigint(20) unsigned NOT NULL default '0',
51
  `ID` bigint(20) unsigned NOT NULL default '0',
52
  `score` float unsigned NOT NULL default '0',
53
  `date` timestamp NOT NULL default CURRENT_TIMESTAMP,
54
- PRIMARY KEY ( `score` , `date` , `reference_ID` , `ID` )
55
- ) ENGINE=MyISAM;")) {
56
- echo "<!--MySQL error on creating " . YARPP_TABLES_RELATED_TABLE . " table: ";
57
- $wpdb->print_error();
58
- echo "-->";
 
 
 
 
 
 
 
 
 
 
 
 
59
  }
60
  }
61
 
@@ -115,13 +124,13 @@ class YARPP_Cache_Tables {
115
  }
116
 
117
  function demo_request_filter($arg) {
118
- global $wpdb, $yarpp_demo_time, $yarpp_limit;
119
- if ($yarpp_demo_time) {
120
  $wpdb->query("set @count = 0;");
121
- $arg = "SELECT SQL_CALC_FOUND_ROWS ID + $yarpp_limit as ID, post_author, post_date, post_date_gmt, '" . LOREMIPSUM . "' as post_content,
122
  concat('".__('Example post ','yarpp')."',@count:=@count+1) as post_title, 0 as post_category, '' as post_excerpt, 'publish' as post_status, 'open' as comment_status, 'open' as ping_status, '' as post_password, concat('example-post-',@count) as post_name, '' as to_ping, '' as pinged, post_modified, post_modified_gmt, '' as post_content_filtered, 0 as post_parent, concat('PERMALINK',@count) as guid, 0 as menu_order, 'post' as post_type, '' as post_mime_type, 0 as comment_count, 'SCORE' as score
123
  FROM $wpdb->posts
124
- ORDER BY ID DESC LIMIT 0, $yarpp_limit";
125
  }
126
  return $arg;
127
  }
8
  class YARPP_Cache_Tables {
9
  var $name = "custom tables";
10
  var $yarpp_time = false;
11
+ var $demo_time = false;
12
 
13
  /**
14
  * SETUP/STATUS
36
 
37
  function setup() {
38
  global $wpdb;
39
+ $wpdb->query("CREATE TABLE IF NOT EXISTS `{$wpdb->prefix}" . YARPP_TABLES_KEYWORDS_TABLE . "` (
40
  `ID` bigint(20) unsigned NOT NULL default '0',
41
  `body` text NOT NULL,
42
  `title` text NOT NULL,
43
  `date` timestamp NOT NULL default CURRENT_TIMESTAMP,
44
  PRIMARY KEY (`ID`)
45
+ ) ENGINE=MyISAM COMMENT='YARPP''s keyword cache table';");
46
+ $wpdb->query("CREATE TABLE IF NOT EXISTS `{$wpdb->prefix}" . YARPP_TABLES_RELATED_TABLE . "` (
 
 
 
 
47
  `reference_ID` bigint(20) unsigned NOT NULL default '0',
48
  `ID` bigint(20) unsigned NOT NULL default '0',
49
  `score` float unsigned NOT NULL default '0',
50
  `date` timestamp NOT NULL default CURRENT_TIMESTAMP,
51
+ PRIMARY KEY ( `reference_ID` , `ID` ),
52
+ INDEX (`score`)
53
+ ) ENGINE=MyISAM;");
54
+ }
55
+
56
+ function upgrade($last_version) {
57
+ global $wpdb;
58
+ if (version_compare('3.2.1b2', $last_version) > 0) {
59
+ // Change primary key to be (reference_ID, ID) to ensure that we don't
60
+ // get duplicates.
61
+ // We unfortunately have to clear the cache first here, to ensure that there
62
+ // are no duplicates.
63
+ $this->flush();
64
+ $wpdb->query('ALTER TABLE ' . $wpdb->prefix . YARPP_TABLES_RELATED_TABLE .
65
+ ' DROP PRIMARY KEY ,' .
66
+ ' ADD PRIMARY KEY ( `reference_ID` , `ID` ),' .
67
+ ' ADD INDEX (`score`)');
68
  }
69
  }
70
 
124
  }
125
 
126
  function demo_request_filter($arg) {
127
+ global $wpdb;
128
+ if ($this->demo_time) {
129
  $wpdb->query("set @count = 0;");
130
+ $arg = "SELECT SQL_CALC_FOUND_ROWS ID + {$this->demo_limit} as ID, post_author, post_date, post_date_gmt, '" . LOREMIPSUM . "' as post_content,
131
  concat('".__('Example post ','yarpp')."',@count:=@count+1) as post_title, 0 as post_category, '' as post_excerpt, 'publish' as post_status, 'open' as comment_status, 'open' as ping_status, '' as post_password, concat('example-post-',@count) as post_name, '' as to_ping, '' as pinged, post_modified, post_modified_gmt, '' as post_content_filtered, 0 as post_parent, concat('PERMALINK',@count) as guid, 0 as menu_order, 'post' as post_type, '' as post_mime_type, 0 as comment_count, 'SCORE' as score
132
  FROM $wpdb->posts
133
+ ORDER BY ID DESC LIMIT 0, {$this->demo_limit}";
134
  }
135
  return $arg;
136
  }
includes.php CHANGED
@@ -12,52 +12,56 @@ if ( !defined('WP_CONTENT_DIR') )
12
 
13
  global $yarpp_value_options, $yarpp_binary_options, $yarpp_clear_cache_options;
14
  // here's a list of all the options YARPP uses (except version), as well as their default values, sans the yarpp_ prefix, split up into binary options and value options. These arrays are used in updating settings (options.php) and other tasks.
15
- $yarpp_value_options = array('threshold' => 5,
16
- 'limit' => 5,
17
- 'template_file' => '', // new in 2.2
18
- 'excerpt_length' => 10,
19
- 'recent_number' => 12,
20
- 'recent_units' => 'month',
21
- 'before_title' => '<li>',
22
- 'after_title' => '</li>',
23
- 'before_post' => ' <small>',
24
- 'after_post' => '</small>',
25
- 'before_related' => '<p>'.__('Related posts:','yarpp').'</p><ol>',
26
- 'after_related' => '</ol>',
27
- 'no_results' => '<p>'.__('No related posts.','yarpp').'</p>',
28
- 'order' => 'score DESC',
29
- 'rss_limit' => 3,
30
- 'rss_template_file' => '', // new in 2.2
31
- 'rss_excerpt_length' => 10,
32
- 'rss_before_title' => '<li>',
33
- 'rss_after_title' => '</li>',
34
- 'rss_before_post' => ' <small>',
35
- 'rss_after_post' => '</small>',
36
- 'rss_before_related' => '<p>'.__('Related posts:','yarpp').'<ol>',
37
- 'rss_after_related' => '</ol></p>',
38
- 'rss_no_results' => '<p>'.__('No related posts.','yarpp').'</p>',
39
- 'rss_order' => 'score DESC',
40
- 'title' => '2',
41
- 'body' => '2',
42
- 'categories' => '2',
43
- 'tags' => '2',
44
- 'distags' => '',
45
- 'discats' => '');
46
- $yarpp_binary_options = array('past_only' => true,
47
- 'show_excerpt' => false,
48
- 'recent_only' => false, // new in 3.0
49
- 'use_template' => false, // new in 2.2
50
- 'rss_show_excerpt' => false,
51
- 'rss_use_template' => false, // new in 2.2
52
- 'show_pass_post' => false,
53
- 'cross_relate' => false,
54
- 'auto_display' => true,
55
- 'rss_display' => false, // changed default in 3.1.7
56
- 'rss_excerpt_display' => true,
57
- 'promote_yarpp' => false,
58
- 'rss_promote_yarpp' => false);
 
 
59
  // These are options which, when updated, will trigger a clearing of the cache
60
- $yarpp_clear_cache_options = array('distags','discats','show_pass_post','recent_only','threshold','title','body','categories','tags');
 
 
61
 
62
  function yarpp_enabled() {
63
  global $wpdb, $yarpp_cache;
@@ -71,12 +75,6 @@ function yarpp_enabled() {
71
  return false;
72
  }
73
 
74
- function yarpp_reinforce() {
75
- if (!get_option('yarpp_version'))
76
- yarpp_activate();
77
- yarpp_upgrade_check(true);
78
- }
79
-
80
  function yarpp_activate() {
81
  global $yarpp_version, $wpdb, $yarpp_binary_options, $yarpp_value_options, $yarpp_cache;
82
  foreach (array_keys($yarpp_value_options) as $option) {
@@ -89,22 +87,13 @@ function yarpp_activate() {
89
  }
90
 
91
  $wpdb->get_results("show index from $wpdb->posts where Key_name='yarpp_title'");
92
- if (!$wpdb->num_rows) {
93
- if (!$wpdb->query("ALTER TABLE $wpdb->posts ADD FULLTEXT `yarpp_title` ( `post_title`)")) {
94
- echo "<!--MySQL error on adding yarpp_title: ";
95
- $wpdb->print_error();
96
- echo "-->";
97
- }
98
- }
99
 
100
  $wpdb->get_results("show index from $wpdb->posts where Key_name='yarpp_content'");
101
- if (!$wpdb->num_rows) {
102
- if (!$wpdb->query("ALTER TABLE $wpdb->posts ADD FULLTEXT `yarpp_content` ( `post_content`)")) {
103
- echo "<!--".__('MySQL error on adding yarpp_content','yarpp').": ";
104
- $wpdb->print_error();
105
- echo "-->";
106
- }
107
- }
108
  if (!yarpp_enabled()) {
109
  // If we are still not enabled, run the cache abstraction's setup method.
110
  $yarpp_cache->setup();
@@ -112,8 +101,12 @@ function yarpp_activate() {
112
  if (!yarpp_enabled())
113
  return 0;
114
  }
115
- add_option('yarpp_version',YARPP_VERSION);
116
- update_option('yarpp_version',YARPP_VERSION);
 
 
 
 
117
  return 1;
118
  }
119
 
@@ -127,8 +120,12 @@ function yarpp_myisam_check() {
127
  return 'UNKNOWN';
128
  }
129
 
130
- function yarpp_upgrade_check($inuse = false) {
131
- global $wpdb, $yarpp_value_options, $yarpp_binary_options;
 
 
 
 
132
 
133
  foreach (array_keys($yarpp_value_options) as $option) {
134
  if (get_option("yarpp_$option") === false)
@@ -139,29 +136,9 @@ function yarpp_upgrade_check($inuse = false) {
139
  add_option("yarpp_$option",$yarpp_binary_options[$option]);
140
  }
141
 
142
- // upgrade check
143
-
144
- if (get_option('threshold') and get_option('limit') and get_option('len')) {
145
- yarpp_activate();
146
- yarpp_upgrade_one_five();
147
- update_option('yarpp_version','1.5');
148
- }
149
-
150
- if (version_compare('3.2',get_option('yarpp_version')) > 0) {
151
- // check for unnecessary cache tables
152
- // Currently commented out because this depends on the cache engine
153
- // $wpdb->query('DROP TABLE IF EXISTS ' . $wpdb->prefix . 'yarpp_related_cache');
154
- // $wpdb->query('DROP TABLE IF EXISTS ' . $wpdb->prefix . 'yarpp_keyword_cache');
155
- }
156
 
157
  update_option('yarpp_version',YARPP_VERSION);
158
-
159
- // just in case, try to add the index one more time.
160
- if (!yarpp_enabled()) {
161
- $wpdb->query("ALTER TABLE $wpdb->posts ADD FULLTEXT `yarpp_title` ( `post_title`)");
162
- $wpdb->query("ALTER TABLE $wpdb->posts ADD FULLTEXT `yarpp_content` ( `post_content`)");
163
- }
164
-
165
  }
166
 
167
  function yarpp_admin_menu() {
@@ -403,27 +380,7 @@ function apply_filters_if_white($tag, $value) {
403
  return $value;
404
  }
405
 
406
- // upgrade to 1.5!
407
- function yarpp_upgrade_one_five() {
408
- global $wpdb;
409
- $migrate_options = array('past_only','show_excerpt','show_pass_post','cross_relate','limit','threshold','before_title','after_title','before_post','after_post');
410
- foreach ($migrate_options as $option) {
411
- if (get_option($option) !== null) {
412
- update_option("yarpp_$option",get_option($option));
413
- delete_option($option);
414
- }
415
- }
416
- // len is one option where we actually change the name of the option
417
- update_option('yarpp_excerpt_length',get_option('len'));
418
- delete_option('len');
419
-
420
- // override these defaults for those who upgrade from < 1.5
421
- update_option('yarpp_auto_display',false);
422
- update_option('yarpp_before_related','');
423
- update_option('yarpp_after_related','');
424
- unset($yarpp_version);
425
- }
426
-
427
  if (!defined('LOREMIPSUM'))
428
  define('LOREMIPSUM','Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras tincidunt justo a urna. Ut turpis. Phasellus convallis, odio sit amet cursus convallis, eros orci scelerisque velit, ut sodales neque nisl at ante. Suspendisse metus. Curabitur auctor pede quis mi. Pellentesque lorem justo, condimentum ac, dapibus sit amet, ornare et, erat. Quisque velit. Etiam sodales dui feugiat neque suscipit bibendum. Integer mattis. Nullam et ante non sem commodo malesuada. Pellentesque ultrices fermentum lectus. Maecenas hendrerit neque ac est. Fusce tortor mi, tristique sed, cursus at, pellentesque non, dui. Suspendisse potenti.');
429
 
12
 
13
  global $yarpp_value_options, $yarpp_binary_options, $yarpp_clear_cache_options;
14
  // here's a list of all the options YARPP uses (except version), as well as their default values, sans the yarpp_ prefix, split up into binary options and value options. These arrays are used in updating settings (options.php) and other tasks.
15
+ $yarpp_value_options = array(
16
+ 'threshold' => 5,
17
+ 'limit' => 5,
18
+ 'template_file' => '', // new in 2.2
19
+ 'excerpt_length' => 10,
20
+ 'recent_number' => 12,
21
+ 'recent_units' => 'month',
22
+ 'before_title' => '<li>',
23
+ 'after_title' => '</li>',
24
+ 'before_post' => ' <small>',
25
+ 'after_post' => '</small>',
26
+ 'before_related' => '<p>'.__('Related posts:','yarpp').'</p><ol>',
27
+ 'after_related' => '</ol>',
28
+ 'no_results' => '<p>'.__('No related posts.','yarpp').'</p>',
29
+ 'order' => 'score DESC',
30
+ 'rss_limit' => 3,
31
+ 'rss_template_file' => '', // new in 2.2
32
+ 'rss_excerpt_length' => 10,
33
+ 'rss_before_title' => '<li>',
34
+ 'rss_after_title' => '</li>',
35
+ 'rss_before_post' => ' <small>',
36
+ 'rss_after_post' => '</small>',
37
+ 'rss_before_related' => '<p>'.__('Related posts:','yarpp').'<ol>',
38
+ 'rss_after_related' => '</ol></p>',
39
+ 'rss_no_results' => '<p>'.__('No related posts.','yarpp').'</p>',
40
+ 'rss_order' => 'score DESC',
41
+ 'title' => '2',
42
+ 'body' => '2',
43
+ 'categories' => '2',
44
+ 'tags' => '2',
45
+ 'distags' => '',
46
+ 'discats' => '');
47
+ $yarpp_binary_options = array(
48
+ 'past_only' => true,
49
+ 'show_excerpt' => false,
50
+ 'recent_only' => false, // new in 3.0
51
+ 'use_template' => false, // new in 2.2
52
+ 'rss_show_excerpt' => false,
53
+ 'rss_use_template' => false, // new in 2.2
54
+ 'show_pass_post' => false,
55
+ 'cross_relate' => false,
56
+ 'auto_display' => true,
57
+ 'rss_display' => false, // changed default in 3.1.7
58
+ 'rss_excerpt_display' => true,
59
+ 'promote_yarpp' => false,
60
+ 'rss_promote_yarpp' => false);
61
  // These are options which, when updated, will trigger a clearing of the cache
62
+ $yarpp_clear_cache_options = array(
63
+ 'distags','discats','show_pass_post','recent_only','threshold','title','body','categories',
64
+ 'tags');
65
 
66
  function yarpp_enabled() {
67
  global $wpdb, $yarpp_cache;
75
  return false;
76
  }
77
 
 
 
 
 
 
 
78
  function yarpp_activate() {
79
  global $yarpp_version, $wpdb, $yarpp_binary_options, $yarpp_value_options, $yarpp_cache;
80
  foreach (array_keys($yarpp_value_options) as $option) {
87
  }
88
 
89
  $wpdb->get_results("show index from $wpdb->posts where Key_name='yarpp_title'");
90
+ if (!$wpdb->num_rows)
91
+ $wpdb->query("ALTER TABLE $wpdb->posts ADD FULLTEXT `yarpp_title` ( `post_title` )");
 
 
 
 
 
92
 
93
  $wpdb->get_results("show index from $wpdb->posts where Key_name='yarpp_content'");
94
+ if (!$wpdb->num_rows)
95
+ $wpdb->query("ALTER TABLE $wpdb->posts ADD FULLTEXT `yarpp_content` ( `post_content` )");
96
+
 
 
 
 
97
  if (!yarpp_enabled()) {
98
  // If we are still not enabled, run the cache abstraction's setup method.
99
  $yarpp_cache->setup();
101
  if (!yarpp_enabled())
102
  return 0;
103
  }
104
+
105
+ if (!get_option('yarpp_version'))
106
+ add_option('yarpp_version',YARPP_VERSION);
107
+ else
108
+ yarpp_upgrade_check();
109
+
110
  return 1;
111
  }
112
 
120
  return 'UNKNOWN';
121
  }
122
 
123
+ function yarpp_upgrade_check() {
124
+ $last_version = get_option('yarpp_version');
125
+ if (version_compare(YARPP_VERSION, $last_version) === 0)
126
+ return;
127
+
128
+ global $yarpp_value_options, $yarpp_binary_options, $yarpp_cache;
129
 
130
  foreach (array_keys($yarpp_value_options) as $option) {
131
  if (get_option("yarpp_$option") === false)
136
  add_option("yarpp_$option",$yarpp_binary_options[$option]);
137
  }
138
 
139
+ $yarpp_cache->upgrade($last_version);
 
 
 
 
 
 
 
 
 
 
 
 
 
140
 
141
  update_option('yarpp_version',YARPP_VERSION);
 
 
 
 
 
 
 
142
  }
143
 
144
  function yarpp_admin_menu() {
380
  return $value;
381
  }
382
 
383
+ // Used only in demo mode
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
384
  if (!defined('LOREMIPSUM'))
385
  define('LOREMIPSUM','Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras tincidunt justo a urna. Ut turpis. Phasellus convallis, odio sit amet cursus convallis, eros orci scelerisque velit, ut sodales neque nisl at ante. Suspendisse metus. Curabitur auctor pede quis mi. Pellentesque lorem justo, condimentum ac, dapibus sit amet, ornare et, erat. Quisque velit. Etiam sodales dui feugiat neque suscipit bibendum. Integer mattis. Nullam et ante non sem commodo malesuada. Pellentesque ultrices fermentum lectus. Maecenas hendrerit neque ac est. Fusce tortor mi, tristique sed, cursus at, pellentesque non, dui. Suspendisse potenti.');
386
 
intl.php CHANGED
@@ -14,6 +14,8 @@ function word_file_lang() {
14
  return 'pl_PL';
15
  case preg_match("/^bg/i",WPLANG):
16
  return 'bg_BG';
 
 
17
  default:
18
  return 'en_US';
19
  }
14
  return 'pl_PL';
15
  case preg_match("/^bg/i",WPLANG):
16
  return 'bg_BG';
17
+ case preg_match("/^fr/i",WPLANG):
18
+ return 'fr_FR';
19
  default:
20
  return 'en_US';
21
  }
lang/words-fr_FR.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+
3
+ $overusedwords = array('', 'le', 'de', 'un', 'être', 'et', 'à', 'il', 'avoir', 'ne', 'je', 'son', 'que', 'se', 'qui', 'ce', 'dans', 'en', 'du', 'elle', 'au', 'de', 'ce', 'le', 'pour', 'pas', 'que', 'vous', 'par', 'sur', 'faire', 'plus', 'dire', 'me', 'on', 'mon', 'lui', 'nous', 'comme', 'mais', 'pouvoir', 'avec', 'tout', 'y', 'aller', 'voir', 'en', 'bien', 'où', 'sans', 'tu', 'ou', 'leur', 'homme', 'si', 'deux', 'mari', 'moi', 'vouloir', 'te', 'femme', 'venir', 'quand', 'grand', 'celui', 'si', 'notre', 'devoir', 'là', 'jour', 'prendre', 'même', 'votre', 'tout', 'rien', 'petit', 'encore', 'aussi', 'quelque', 'dont', 'tout', 'mer', 'trouver', 'donner', 'temps', 'ça', 'peu', 'même', 'falloir', 'sous', 'parler', 'alors', 'main', 'chose', 'ton', 'mettre', 'vie', 'savoir', 'yeux', 'passer', 'autre', 'après', 'regarder', 'toujours', 'puis', 'jamais', 'cela', 'aimer', 'non', 'heure', 'croire', 'cent', 'monde', 'donc', 'enfant', 'fois', 'seul', 'autre', 'entre', 'vers', 'chez', 'demander', 'jeune', 'jusque', 'très', 'moment', 'rester', 'répondre', 'tout', 'tête', 'père', 'fille', 'mille', 'premier', 'car', 'entendre', 'ni', 'bon', 'trois', 'cœur', 'ainsi', 'an', 'quatre', 'un', 'terre', 'contre', 'dieu', 'monsieur', 'voix', 'penser', 'quel', 'arriver', 'maison', 'devant', 'coup', 'beau', 'connaître', 'devenir', 'air', 'mot', 'nuit', 'sentir', 'eau', 'vieux', 'sembler', 'moins', 'tenir', 'ici', 'comprendre', 'oui', 'rendre', 'toi', 'vingt', 'depuis', 'attendre', 'sortir', 'ami', 'trop', 'porte', 'lequel', 'chaque', 'amour', 'pendant', 'déjà', 'pied', 'tant', 'gens', 'parce que', 'nom', 'vivre', 'reprendre', 'entrer', 'porter', 'pays', 'ciel', 'avant', 'frère', 'regard', 'chercher', 'âme', 'côté', 'mort', 'revenir', 'noir', 'maintenant', 'nouveau', 'ville', 'rue', 'enfin', 'appeler', 'soir', 'chambre', 'mourir', 'pas', 'partir', 'cinq', 'esprit', 'soleil', 'dernier', 'jeter', 'dix', 'roi', 'état', 'corps', 'beaucoup', 'suivre', 'bras', 'écrire', 'blanc', 'montrer', 'tomber', 'place', 'ouvrir', 'ah', 'parti', 'assez', 'leur', 'cher', 'voilà', 'année', 'loin', 'point', 'visage', 'bruit', 'lettre', 'franc', 'fond', 'force', 'arrêter', 'perdre', 'commencer', 'paraître', 'aucun', 'marcher', 'milieu', 'saint', 'idée', 'presque', 'ailleurs', 'travail', 'lumière', 'long', 'seulement', 'mois', 'fils', 'neuf', 'tel', 'lever', 'raison', 'effet', 'gouvernement', 'permettre', 'pauvre', 'asseoir', 'point', 'plein', 'personne', 'vrai', 'peuple', 'fait', 'parole', 'guerre', 'toute', 'écouter', 'pensée', 'affaire', 'quoi', 'matin', 'pierre', 'monter', 'bas', 'vent', 'doute', 'front', 'ombre', 'part', 'maître', 'aujourd\'hui', 'besoin', 'question', 'apercevoir', 'recevoir', 'mieux', 'peine', 'tour', 'servir', 'oh', 'autour', 'près', 'finir', 'famille', 'pourquoi', 'souvent', 'rire', 'dessus', 'madame', 'sorte', 'figure', 'droit', 'peur', 'bout', 'lieu', 'silence', 'gros', 'chef', 'eh', 'six', 'bois', 'mari', 'histoire', 'crier', 'jouer', 'feu', 'tourner', 'doux', 'longtemps', 'fort', 'heureux', 'comme', 'garder', 'partie', 'face', 'mouvement', 'fin', 'reconnaître', 'quitter', 'personne', 'comment', 'route', 'dès', 'manger', 'livre', 'arbre', 'courir', 'cas', 'huit', 'lorsque', 'mur', 'ordre', 'continuer', 'bonheur', 'oublier', 'descendre', 'haut', 'intérêt', 'cacher', 'l\'un', 'chacun', 'profond', 'argent', 'cause', 'poser', 'autant', 'est', 'travers', 'grand', 'instant', 'façon', 'd\'abord', 'oeil', 'tirer', 'forme', 'présenter', 'ajouter', 'agir', 'retrouver', 'chemin', 'cheveu', 'offrir', 'surtout', 'certain', 'plaisir', 'suite', 'apprendre', 'malgré', 'tuer', 'rouge', 'sang', 'retourner', 'rencontrer', 'sentiment', 'fleur', 'cependant', 'service', 'plusieurs', 'table', 'vite', 'paix', 'envoyer', 'moyen', 'dormir', 'pousser', 'lit', 'humain', 'voiture', 'rappeler', 'être', 'lire', 'général', 'nature', 'or', 'pouvoir', 'nouveau', 'français', 'joie', 'sept', 'tard', 'président', 'pourtant', 'bouche', 'changer', 'petit', 'froid', 'compter', 'occuper', 'sens', 'cri', 'cheval', 'loi', 'sombre', 'ci', 'sûr', 'espèce', 'voici', 'ancien', 'tandis que', 'frapper', 'ministre', 'puisque', 'selon', 'travailler', 'expliquer', 'propre', 'obtenir', 'rentrer', 'mal', 'pleurer', 'essayer', 'répéter', 'société', 'parfois', 'politique', 'oreille', 'payer', 'politique', 'apporter', 'fenêtre', 'derrière', 'possible', 'fortune', 'compte', 'champ', 'manier', 'vraiment', 'immense', 'action', 'boire', 'public', 'garçon', 'pareil', 'bleu', 'sourire', 'couleur', 'coucher', 'papier', 'd\'autres', 'mal', 'fort', 'bientôt', 'causer', 'pièce', 'montagne', 'sol', 'œuvre', 'partout', 'trente', 'exister', 'cours', 'raconter', 'serrer', 'songer', 'désir', 'manquer', 'cour', 'nommer', 'bord', 'douleur', 'conduire', 'salle', 'saisir', 'premier', 'comment', 'projet', 'demeurer', 'simple', 'étude', 'remettre', 'journal', 'geste', 'disparaître', 'battre', 'toucher', 'situation', 'oiseau', 'nécessaire', 'exemple', 'siècle', 'apparaître', 'souffrir', 'million', 'prix', 'groupe', 'centre', 'malheur', 'honneur', 'fermer', 'accepter', 'garde', 'mauvais', 'tendre', 'naître', 'sauver', 'entier', 'parmi', 'problème', 'larme', 'avancer', 'chien', 'peau', 'reste', 'traverser', 'nombre', 'debout', 'mesure', 'social', 'souvenir', 'article', 'vue', 'couvrir', 'âge', 'gagner', 'système', 'long', 'former', 'plaire', 'embrasser', 'rêve', 'oser', 'afin de', 'passion', 'auquel', 'rapport', 'refuser', 'important', 'décider', 'produire', 'soldat', 'lèvre', 'signe', 'vérité', 'charger', 'mariage', 'mêler', 'certain', 'plan', 'cesser', 'ressembler', 'dos', 'marche', 'souvenir', 'dame', 'chanter', 'plutôt', 'conseil', 'sou', 'triste', 'coin', 'jardin', 'joli', 'soit', 'empêcher', 'doigt', 'objet', 'fer', 'lendemain', 'lentement', 'combien', 'approcher', 'prier', 'train', 'espérer', 'papa', 'différent', 'valeur', 'jeu', 'échapper', 'glisser', 'secret', 'haut', 'vieillard', 'briller', 'docteur', 'brûler', 'terrible', 'placer', 'ton', 'jambe', 'juger', 'suffire', 'endroit', 'minute', 'atteindre', 'nuage', 'présence', 'fou', 'épaule', 'léger', 'feuille', 'liberté', 'journée', 'libre', 'annoncer', 'avenir', 'sourire', 'hier', 'résultat', 'élever', 'acheter', 'mener', 'préparer', 'pourquoi', 'hôtel', 'semaine', 'forêt', 'assurer', 'pur', 'qualité', 'prince', 'bien', 'également', 'deviner', 'médecin', 'considérer', 'volonté', 'seigneur', 'effort', 'quelque', 'vert', 'art', 'moindre', 'demain', 'quarante', 'cinquante', 'foule', 'appartenir', 'aussitôt', 'ligne', 'représenter', 'tromper', 'intérieur', 'vendre', 'beauté', 'riche', 'craindre', 'étrange', 'emporter', 'ensuite', 'soin', 'naturel', 'hasard', 'puis', 'condition', 'quinze', 'classe', 'voyage', 'auprès', 'présent', 'caractère', 'attention', 'gris', 'or', 'rouler', 'faible', 'posséder', 'scène', 'difficile', 'français', 'réveiller', 'foi', 'aider', 'découvrir', 'odeur', 'choisir', 'musique', 'oncle', 'événement', 'prononcer', 'village', 'taire', 'envie', 'midi', 'ensemble', 'expression', 'herbe', 'vieux', 'pluie', 'près', 'bas', 'rêver', 'appuyer', 'étendre', 'après', 'général', 'lutte', 'trembler', 'réponse', 'grâce', 'espace', 'habitude', 'défendre', 'mémoire', 'créer', 'grave', 'maintenir', 'verre', 'campagne', 'quelqu\'un', 'juge', 'genou', 'impossible', 'fête', 'indiquer', 'prêt', 'promettre', 'relever', 'abandonner', 'ignorer', 'large', 'parent', 'colère', 'exprimer', 'étoile', 'devoir', 'conscience', 'existence', 'accompagner', 'immobile', 'adresser', 'observer', 'juste', 'puissance', 'matière', 'sable', 'séparer', 'marier', 'prévoir', 'vivant', 'accord', 'hiver', 'retour', 'autrefois', 'genre', 'd\'autres', 'vif', 'amener', 'obliger', 'acte', 'image', 'horizon', 'éclairer', 'poursuivre', 'danger', 'livrer', 'rôle', 'escalier', 'goût', 'bête', 'ceci', 'recherche', 'membre', 'pain', 'phrase', 'contenir', 'rire', 'fuir', 'couler', 'terme', 'eaux', 'moyen', 'police', 'rocher', 'proposer', 'tranquille', 'unique', 'éprouver', 'retenir', 'type', 'vin', 'supérieur', 'attacher', 'voler', 'sec', 'justice', 'époque', 'passage', 'somme', 'science', 'surprendre', 'côte', 'doucement', 'gauche', 'faute', 'école', 'bon', 'ensemble', 'rayon', 'briser', 'sujet', 'imaginer', 'diriger', 'douze', 'en', 'l\'une', 'dernier', 'avis', 'parvenir', 'ouvert', 'pénétrer', 'poète', 'meilleur', 'paysan', 'remarquer', 'chair', 'éviter', 'soudain', 'succès', 'île', 'établir', 'réussir', 'pencher', 'habiter', 'entourer', 'déclarer', 'détail', 'arme', 'réalité', 'confiance', 'masse', 'crise', 'étonner', 'poste', 'dresser', 'durer', 'depuis', 'faux', 'fixer', 'énorme', 'principe', 'direction', 'taille', 'désirer', 'santé', 'ventre', 'marché', 'puissant', 'simplement', 'environ', 'tellement', 'arracher', 'entraîner', 'soutenir', 'couper', 'trou', 'inconnu', 'pont', 'lune', 'dehors', 'certes', 'beaux', 'robe', 'douter', 'retirer', 'cesse', 'brusquement', 'entrée', 'source', 'camarade', 'dent', 'quant à', 'connaissance', 'cou', 'but', 'promener', 'vague', 'élément', 'fil', 'voie', 'nez', 'forcer', 'particulier', 'discours', 'maladie', 'chaleur', 'gloire', 'vide', 'examiner', 'revoir', 'aide', 'début', 'ennemi', 'second', 'aile', 'flamme', 'chaise', 'lourd', 'sein', 'véritable', 'toit', 'remplir', 'terminer', 'vaste', 'nu', 'poussière', 'nord', 'tenter', 'émotion', 'hors', 'un', 'remonter', 'révolution', 'théâtre', 'armée', 'court', 'noir', 'appartement', 'semblable', 'installer', 'haine', 'jeune', 'position', 'seconde', 'frais', 'appel', 'soulever', 'espoir', 'allumer', 'imposer', 'avant', 'respirer', 'arrière', 'baisser', 'droite', 'poitrine', 'mort', 'jeunesse', 'bureau', 'sac', 'étranger', 'courage', 'souffler', 'jaune', 'page', 'étranger', 'etc', 'miser', 'passé', 'rapide', 'digne', 'chaud', 'propos', 'attirer', 'prêter', 'clair', 'amuser', 'occasion', 'voile', 'éclater', 'importance', 'quartier', 'soi', 'auteur', 'religion', 'palais', 'réunir', 'traiter', 'flot', 'intelligence', 'tantôt', 'voisin', 'carte', 'secret', 'animal', 'été', 'traîner', 'cabinet', 'morceau', 'employer', 'capable', 'souffrance', 'marquer', 'prouver', 'importer', 'titre', 'désert', 'facile', 'spectacle', 'exiger', 'reposer', 'départ', 'fier', 'danser', 'demande', 'saluer', 'lueur', 'joue', 'saint', 'accorder', 'prière', 'achever', 'avouer', 'distinguer', 'emmener', 'fonction', 'durant', 'haut', 'aspect', 'sommeil', 'éclat', 'moitié', 'demi', 'calme', 'contraire', 'colline', 'agiter', 'hésiter', 'terrain', 'rare', 'poids', 'sonner', 'changement', 'charge', 'davantage', 'composer', 'enlever', 'poche', 'rejoindre', 'son', 'intérieur', 'veille', 'ramener', 'fruit', 'complet', 'étudier', 'partager', 'croix', 'suivant', 'chasser', 'interrompre', 'éloigner', 'trésor', 'compagnie', 'étroit', 'cuisine', 'réduire', 'engager', 'égal', 'empire', 'nation', 'éteindre', 'recommencer', 'sauter', 'plaindre', 'conversation', 'soirée', 'violent', 'impression', 'trait', 'devant', 'préférer', 'révéler', 'sien', 'magnifique', 'désespoir', 'témoin', 'visite', 'respect', 'solitude', 'subir', 'delà', 'prochain', 'anglais', 'rapporter', 'coûter', 'réfléchir', 'officier', 'remercier', 'déposer', 'fauteuil', 'fumer', 'tôt', 'affirmer', 'relation', 'fumée', 'convenir', 'branche', 'malade', 'circonstance', 'ouvrage', 'compagnon', 'vêtir', 'expérience', 'port', 'accomplir', 'avec', 'résoudre', 'plonger', 'goutte', 'mien', 'chant', 'détruire', 'combat', 'personnage', 'aventure', 'intéresser', 'disposer', 'absence', 'machine', 'aucun', 'grâce', 'chaîne', 'honte', 'fait', 'lisser', 'faim', 'plaine', 'verser', 'pointe', 'obéir', 'preuve', 'éternel', 'lutter', 'prétendre', 'bataille', 'construire', 'énergie', 'victime', 'sauvage', 'soumettre', 'usage', 'peser', 'double', 'tache', 'guère', 'hauteur', 'troubler', 'tendre', 'beau', 'curiosité', 'répandre', 'glace', 'résister', 'froid', 'prison', 'étage', 'billet', 'droit', 'sérieux', 'protéger', 'pauvre', 'rose', 'enfermer', 'attitude', 'dur', 'mode', 'neuf', 'crainte', 'creuser', 'grandir', 'enfoncer', 'vêtement', 'envelopper', 'vague', 'prévenir', 'violence', 'inspirer', 'inutile', 'content', 'courant', 'folie', 'pitié', 'intention', 'ramasser', 'endormir', 'inventer', 'trace', 'toile', 'presser', 'confier', 'effacer', 'reculer', 'user', 'blanc', 'nourrir', 'dangereux', 'poésie', 'sommet', 'remplacer', 'souhaiter', 'avance', 'autorité', 'épais', 'inquiétude', 'choix', 'tombe', 'marchand', 'nombreux', 'muet', 'signer', 'absolument', 'cercle', 'interroger', 'dominer', 'défaut', 'enfance', 'faveur', 'réel', 'commander', 'supposer', 'dépasser', 'sourd', 'cruel', 'dimanche', 'erreur', 'cerveau', 'accuser', 'arrivée', 'rapidement', 'vol', 'habiller', 'condamner', 'lors', 'menacer', 'seuil', 'écraser', 'perte', 'troisième', 'chance', 'vieil', 'même', 'céder', 'douceur', 'droite', 'vide', 'autrement', 'drôle', 'ruine', 'écarter', 'rang', 'réclamer', 'chiffre', 'voisin', 'militaire', 'roche', 'distance', 'apparence', 'dessiner', 'conclure', 'françois', 'lier', 'discussion', 'admettre', 'banc', 'terreur', 'attaquer', 'vers', 'respecter', 'rose', 'silencieux', 'anglais', 'course', 'portier', 'chat', 'pendre', 'supporter', 'tempête', 'parfaitement', 'paysage', 'quart', 'figurer', 'profiter', 'accrocher', 'calmer', 'satisfaire', 'public', 'race', 'valoir', 'barbe', 'signifier', 'couche', 'inquiéter', 'colon', 'désormais', 'fidèle', 'assister', 'rideau', 'inviter', 'déchirer', 'fatigue', 'risquer', 'règle', 'gauche', 'parcourir', 'présent', 'rejeter', 'naissance', 'loup', 'renoncer', 'complètement', 'extraordinaire', 'veiller', 'transformer', 'tracer', 'chute', 'divers', 'résistance', 'contenter', 'chemise', 'mince', 'naturellement', 'siège', 'as', 'patron', 'calme', 'mériter', 'printemps', 'angoisse', 'précipiter', 'rompre', 'habitant', 'plein', 'caresser', 'métier', 'étouffer', 'animer', 'note', 'passé', 'fine', 'fixe', 'casser', 'fusil', 'rond', 'agent', 'fonder', 'roman', 'franchir', 'plante', 'abattre', 'discuter', 'fatiguer', 'humide', 'réflexion', 'consentir', 'accent', 'curieux', 'repas', 'étendue', 'regretter', 'joindre', 'profondément', 'secours', 'commencement', 'corde', 'secrétaire', 'vaincre', 'saison', 'précieux', 'précis', 'consulter', 'haïr', 'repousser', 'paupière', 'certainement', 'tapis', 'noire', 'chasse', 'exécuter', 'nerveux', 'nul', 'commun', 'exposer', 'clef', 'claire', 'voyager', 'haute', 'renverser', 'sueur', 'âgé', 'ferme', 'rassurer', 'retomber', 'décrire', 'mentir', 'instinct', 'armer', 'paquet', 'drame', 'absolu', 'savoir', 'mine', 'vision', 'étaler', 'sentier', 'demain', 'beau', 'blond', 'essuyer', 'planche', 'précéder', 'dehors', 'salut', 'tâche', 'désigner', 'fin', 'abri', 'détacher', 'recueillir', 'rencontre', 'croiser', 'entretenir', 'rouge', 'professeur', 'surveiller', 'visible', 'perdu', 'réserver', 'bas', 'lien', 'queue', 'bande', 'confondre', 'grain', 'mensonge', 'dégager', 'probablement', 'illusion', 'incapable', 'parer', 'épreuve', 'immédiatement', 'attente', 'visiter', 'instrument', 'évidemment', 'auparavant', 'détourner', 'explication', 'régulier', 'reproche', 'souci', 'plier', 'extrême', 'accueillir', 'juif', 'leçon', 'redevenir', 'approuver', 'parfait', 'emparer', 'aborder', 'heurter', 'tel', 'noyer', 'semer', 'ferme', 'manche', 'rage', 'gré', 'guider', 'piquer', 'meilleur', 'la', 'une', 'des', 'les', 'ces', 'tes', 'ma', 'fais');
lang/yarpp-pt_PT.po CHANGED
@@ -27,18 +27,18 @@ msgstr "MySQL-Erro ao adicionar \"yarpp_content\""
27
 
28
  #: includes.php:185
29
  msgid "<h3>An important message from YARPP:</h3><p>Thank you for upgrading to YARPP 2. YARPP 2.0 adds the much requested ability to limit related entry results by certain tags or categories. 2.0 also brings more fine tuned control of the magic algorithm, letting you specify how the algorithm should consider or not consider entry content, titles, tags, and categories. Make sure to adjust the new settings to your liking and perhaps readjust your threshold.</p><p>For more information, check out the <a href=\"http://mitcho.com/code/yarpp/\">YARPP documentation</a>. (This message will not be displayed again.)</p>"
30
- msgstr "<h3>Mensagem de YARPP</h3><p>Obrigado por actualizar para o YARPP 2. Esta vers�o inclui melhorias no algoritmo m�gico, permite-lhe configurar op��es na quantifica��o das v�rias palavras-chave ou categoria, tem em considera��o as op��es da utiliza��o de determinadas regras de exclus�o e permite-lhe determinar a for�a das vari�veis \"Conte�do\", \"Sobret�tulo\", \"Palavras-chave\" und \"Categorias\". Para mais informa��es, consulte <a href=\"http://mitcho.com/code/yarpp/\">Documenta��o YARPP </a>.</p><p>Esta mensagem nunca mais aparecer�!</p>"
31
 
32
  #: includes.php:197
33
  #: includes.php:197
34
  msgid "Related Posts (YARPP)"
35
- msgstr "Contribui��es parecidas (YARPP)"
36
 
37
  #: includes.php:224
38
  #: yarpp.php:31
39
  #: yarpp.php:31
40
  msgid "Related Posts"
41
- msgstr "Contribui��es parecidas"
42
 
43
  #: includes.php:229
44
  msgid "YARPP"
@@ -47,7 +47,7 @@ msgstr "YARPP"
47
  #: template-builtin.php:35
48
  #, php-format
49
  msgid "%f is the YARPP match score between the current entry and this related entry. You are seeing this value because you are logged in to WordPress as an administrator. It is not shown to regular visitors."
50
- msgstr "%f a concord�ncia determinada pelo YARPP entre este artigo e o artigo parecido (Valor de relev�ncia). Consegue ver este artigo porque est� a utilizar uma conta de administrador da WordPress. Visitantes normais n�o o v�em."
51
 
52
  #: magic.php:322
53
  #: options.php:458
@@ -57,22 +57,22 @@ msgstr "Artigos parecidos fornecidos por <a href='http://mitcho.com/code/yarpp/'
57
 
58
  #: options.php:26
59
  msgid "The MyISAM check has been overridden. You may now use the \"consider titles\" and \"consider bodies\" relatedness criteria."
60
- msgstr "O MyISAM-Check foi suspenso. Pode agora utilizar \"consider titles\" e \"consider bodies\" como crit�rio de relev�ncia."
61
 
62
  #: options.php:35
63
  #, php-format
64
  msgid "YARPP's \"consider titles\" and \"consider bodies\" relatedness criteria require your <code>%s</code> table to use the <a href='http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html'>MyISAM storage engine</a>, but the table seems to be using the <code>%s</code> engine. These two options have been disabled."
65
- msgstr "YARPPs \"consider titles\" und \"consider bodies\" Os crit�rios \"consider titles\" und \"consider bodies\" de relev�ncia da YARPP requerem que a sua tabela <code>%s</code> utilize a <a href='http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html'>MyISAM Storage Engine</a>, mas a tabela parece utilizar a <code>%s</code>-Engine. As duas op��es foram desactivadas."
66
 
67
  #: options.php:37
68
  #, php-format
69
  msgid "To restore these features, please update your <code>%s</code> table by executing the following SQL directive: <code>ALTER TABLE `%s` ENGINE = MyISAM;</code> . No data will be erased by altering the table's engine, although there are performance implications."
70
- msgstr "Para reactivar esta fun��o, execute o c�digo <code>%s</code> com o comando SQL: <code>ALTER TABLE `%s` ENGINE = MyISAM;</code>."
71
 
72
  #: options.php:39
73
  #, php-format
74
  msgid "If, despite this check, you are sure that <code>%s</code> is using the MyISAM engine, press this magic button:"
75
- msgstr "Se, mesmo depois desta verifica��o, tiver a certeza de que <code>%s</code> utiliza a MyISAM-Engine, clique no bot�o m�gico:"
76
 
77
  #: options.php:42
78
  msgid "Trust me. Let me use MyISAM features."
@@ -84,13 +84,13 @@ msgstr "Ocorreu um erro na base de dados da YARPP que pode contudo ser corrigido
84
 
85
  #: options.php:67
86
  msgid "The YARPP database has an error which could not be fixed."
87
- msgstr "Ocorreu um erro na base de dados da YARPP que n�o pode ser corrigido."
88
 
89
  #: options.php:154
90
  #: options.php:171
91
  #: options.php:183
92
  msgid "do not consider"
93
- msgstr ""n�o ter em conta""
94
 
95
  #: options.php:155
96
  #: options.php:172
@@ -104,16 +104,16 @@ msgstr "ter especialmente em conta"
104
 
105
  #: options.php:201
106
  msgid "Yet Another Related Posts Plugin version history (RSS 2.0)"
107
- msgstr "Hist�rico da vers�o YARPP (RSS 2.0)"
108
 
109
  #: options.php:271
110
  #: options.php:271
111
  msgid "Donate to mitcho (Michael Yoshitaka Erlewine) for this plugin via PayPal"
112
- msgstr "Fazer uma doa��o via PayPal a mitcho (Michael Yoshitaka Erlewine) pelo desenvolvimento do plugin"
113
 
114
  #: options.php:255
115
  msgid "Yet Another Related Posts Plugin Options"
116
- msgstr "Op��es da YARPP"
117
 
118
  #: options.php:278
119
  msgid "\"The Pool\""
@@ -121,7 +121,7 @@ msgstr "\"Pool\""
121
 
122
  #: options.php:279
123
  msgid "\"The Pool\" refers to the pool of posts and pages that are candidates for display as related to the current entry."
124
- msgstr "O plugin tem em conta todos os artigos e p�ginas que s�o mencionados (ou n�o exclu�dos) neste \"Pool\"."
125
 
126
  #: options.php:284
127
  msgid "Disallow by category:"
@@ -141,12 +141,12 @@ msgstr "Ter em conta apenas artigos passados?"
141
 
142
  #: options.php:306
143
  msgid "\"Relatedness\" options"
144
- msgstr "Op��es de parecen�a"
145
 
146
  #: options.php:308
147
  #, php-format
148
  msgid "YARPP is different than the <a href=\"http://wasabi.pbwiki.com/Related%20Entries\">previous plugins it is based on</a> as it limits the related posts list by (1) a maximum number and (2) a <em>match threshold</em>."
149
- msgstr "YA YARPP funciona de um modo um pouco diferente do que [a href=\"http://wasabi.pbwiki.com/Related%20Entries\"]outros plugins de funcionalidade semelhante[/a]: A YARPP tem em conta n�o s� a quantidade de contribui��es por si inserida, como tamb�m o valor \"Relev�ncia\"."
150
 
151
  #: options.php:308
152
  #: options.php:322
@@ -163,11 +163,11 @@ msgstr "?"
163
 
164
  #: options.php:313
165
  msgid "Match threshold:"
166
- msgstr "Relev�ncia:"
167
 
168
  #: options.php:314
169
  msgid "Titles: "
170
- msgstr "Sobret�tulos:"
171
 
172
  #: options.php:316
173
  msgid "Bodies: "
@@ -183,41 +183,41 @@ msgstr "Categorias:"
183
 
184
  #: options.php:322
185
  msgid "Cross-relate posts and pages?"
186
- msgstr "Emitir artigos e p�ginas em conjunto?"
187
 
188
  #: options.php:322
189
  msgid "When the \"Cross-relate posts and pages\" option is selected, the <code>related_posts()</code>, <code>related_pages()</code>, and <code>related_entries()</code> all will give the same output, returning both related pages and posts."
190
- msgstr "Se a op��o \"Emitir artigos e p�ginas em conjunto \" estiver activa, as fun��es <code>related_posts()</code>, <code>related_pages()</code>, e <code>related_entries()</code> emitem o mesmo: Nas contribui��es parecidas n�o aparecem artigos nem p�ginas!"
191
 
192
  #: options.php:401
193
  msgid "Display options <small>for your website</small>"
194
- msgstr "Apresenta��o <small>(Website)</small>"
195
 
196
  #: options.php:405
197
  msgid "Automatically display related posts?"
198
- msgstr "Mostrar contribui��es parecidas automaticamente?"
199
 
200
  #: options.php:405
201
  msgid "This option automatically displays related posts right after the content on single entry pages. If this option is off, you will need to manually insert <code>related_posts()</code> or variants (<code>related_pages()</code> and <code>related_entries()</code>) into your theme files."
202
- msgstr "Quando activada, a YARPP anexa apenas a emiss�o de contribui��es parecidas aos artigos actuais. Se estiver desactivada, ter� de tratar da apresenta��o no modelo com as fun��es <code>related_posts()</code> ou variantes (<code>related_pages()</code> ou <code>related_entries()</code>).
203
 
204
  #: options.php:406
205
  msgid "Website display code example"
206
- msgstr "Exemplo de um c�digo-fonte para o an�ncio da p�gina"
207
 
208
  #: options.php:406
209
  #: options.php:471
210
  msgid "(Update options to reload.)"
211
- msgstr "Para ver as suas op��es aqui, ter� de guardar primeiro as op��es!"
212
 
213
  #: options.php:409
214
  #: options.php:473
215
  msgid "Maximum number of related posts:"
216
- msgstr "Quantidade m�xima de contribui��es:"
217
 
218
  #: options.php:422
219
  msgid "Before / after related entries:"
220
- msgstr "C�digo-fonte antes / depois das contribui��es parecidas:"
221
 
222
  #: options.php:423
223
  #: options.php:428
@@ -231,7 +231,7 @@ msgstr "Ex.:"
231
  #: options.php:427
232
  #: options.php:491
233
  msgid "Before / after each related entry:"
234
- msgstr "C�digo-fonte antes / depois das respectivas contribui��es:"
235
 
236
  #: options.php:431
237
  #: options.php:495
@@ -245,47 +245,47 @@ msgstr "Comprimento do excerto (Quantidade de palavras):"
245
 
246
  #: options.php:436
247
  msgid "Before / after (Excerpt):"
248
- msgstr "C�digo-fonte antes / depois dos respectivos excertos:"
249
 
250
  #: options.php:442
251
  #: options.php:506
252
  msgid "Order results:"
253
- msgstr "Sequ�ncia dos an�ncios:"
254
 
255
  #: options.php:444
256
  #: options.php:508
257
  msgid "score (high relevance to low)"
258
- msgstr "Relev�ncia (da maior mais pequena)"
259
 
260
  #: options.php:445
261
  #: options.php:509
262
  msgid "score (low relevance to high)"
263
- msgstr "Relev�ncia (da mais pequena maior)"
264
 
265
  #: options.php:446
266
  #: options.php:510
267
  msgid "date (new to old)"
268
- msgstr "Estampa da hora (da mais actual mais velha)"
269
 
270
  #: options.php:447
271
  #: options.php:511
272
  msgid "date (old to new)"
273
- msgstr "Estampa da hora (da mais antiga mais actual)"
274
 
275
  #: options.php:448
276
  #: options.php:512
277
  msgid "title (alphabetical)"
278
- msgstr "Sobret�tulo (A-Z)"
279
 
280
  #: options.php:449
281
  #: options.php:513
282
  msgid "title (reverse alphabetical)"
283
- msgstr "Sobret�tulo (Z-A)"
284
 
285
  #: options.php:454
286
  #: options.php:518
287
  msgid "Default display if no results:"
288
- msgstr "C�digo-fonte quando forem encontrados 0 artigos relevantes:"
289
 
290
  #: options.php:456
291
  #: options.php:520
@@ -296,35 +296,35 @@ msgstr "Aplicar a YARPP discretamente?"
296
  #: options.php:521
297
  #, php-format
298
  msgid "This option will add the code %s. Try turning it on, updating your options, and see the code in the code example to the right. These links and donations are greatly appreciated."
299
- msgstr "Quando activado, aparece nos resultados uma pequena informa��o em rela��o ao autor e plugin das contribui��es parecidas. Adiciona o c�digo %s."
300
 
301
  #: options.php:464
302
  msgid "Display options <small>for RSS</small>"
303
- msgstr "Apresenta��o <small>(RSS)</small>"
304
 
305
  #: options.php:469
306
  msgid "Display related posts in feeds?"
307
- msgstr "Mostrar contribui��es parecidas nos feeds de not�cias?"
308
 
309
  #: options.php:470
310
  msgid "Display related posts in the descriptions?"
311
- msgstr "Mostrar contribui��es em Descriptions?"
312
 
313
  #: options.php:470
314
  msgid "This option displays the related posts in the RSS description fields, not just the content. If your feeds are set up to only display excerpts, however, only the description field is used, so this option is required for any display at all."
315
- msgstr "Mostra as contribui��es parecidas tamb�m em RSS-Descriptions, n�o s� em Content."
316
 
317
  #: options.php:471
318
  msgid "RSS display code example"
319
- msgstr "Exemplos de an�ncios RSS"
320
 
321
  #: options.php:486
322
  msgid "Before / after related entries display:"
323
- msgstr "C�digo-fonte antes / depois das contribui��es parecidas:"
324
 
325
  #: options.php:500
326
  msgid "Before / after (excerpt):"
327
- msgstr "C�digo-fonte antes / depois do excerto:"
328
 
329
  #: options.php:148
330
  msgid "word"
@@ -352,7 +352,7 @@ msgstr "mais do que igual a %s"
352
 
353
  #: options.php:126
354
  msgid "Options saved!"
355
- msgstr "Op��es gravadas!"
356
 
357
  #: options.php:308
358
  msgid "The higher the match threshold, the more restrictive, and you get less related posts overall. The default match threshold is 5. If you want to find an appropriate match threshhold, take a look at some post's related posts display and their scores. You can see what kinds of related posts are being picked up and with what kind of match scores, and determine an appropriate threshold for your site."
@@ -360,15 +360,15 @@ msgstr ""
360
 
361
  #: options.php:606
362
  msgid "Update options"
363
- msgstr "Actualizar op��es"
364
 
365
  #: options.php:607
366
  msgid "Do you really want to reset your configuration?"
367
- msgstr "Deseja mesmo reverter as op��es?"
368
 
369
  #: options.php:607
370
  msgid "Reset options"
371
- msgstr "Reverter op��es"
372
 
373
  #: includes.php:24
374
  #: includes.php:35
@@ -425,7 +425,7 @@ msgid "If you updated the \"pool\" options or \"relatedness\" options displayed,
425
  msgstr ""
426
 
427
  #: options.php:273
428
- msgid "by <a href=\"http://mitcho.com/code/\">mitcho (Michael 芳貴 Erlewine)</a>"
429
  msgstr ""
430
 
431
  #: options.php:273
27
 
28
  #: includes.php:185
29
  msgid "<h3>An important message from YARPP:</h3><p>Thank you for upgrading to YARPP 2. YARPP 2.0 adds the much requested ability to limit related entry results by certain tags or categories. 2.0 also brings more fine tuned control of the magic algorithm, letting you specify how the algorithm should consider or not consider entry content, titles, tags, and categories. Make sure to adjust the new settings to your liking and perhaps readjust your threshold.</p><p>For more information, check out the <a href=\"http://mitcho.com/code/yarpp/\">YARPP documentation</a>. (This message will not be displayed again.)</p>"
30
+ msgstr "<h3>Mensagem de YARPP</h3><p>Obrigado por actualizar para o YARPP 2. Esta versão inclui melhorias no algoritmo mágico, permite-lhe configurar opções na quantificação das várias palavras-chave ou categoria, tem em consideração as opções da utilização de determinadas regras de exclusão e permite-lhe determinar a força das variáveis \"Conteúdo\", \"Sobretítulo\", \"Palavras-chave\" und \"Categorias\". Para mais informações, consulte <a href=\"http://mitcho.com/code/yarpp/\">Documentação YARPP </a>.</p><p>Esta mensagem nunca mais aparecerá!</p>"
31
 
32
  #: includes.php:197
33
  #: includes.php:197
34
  msgid "Related Posts (YARPP)"
35
+ msgstr "Contribuições parecidas (YARPP)"
36
 
37
  #: includes.php:224
38
  #: yarpp.php:31
39
  #: yarpp.php:31
40
  msgid "Related Posts"
41
+ msgstr "Contribuições parecidas"
42
 
43
  #: includes.php:229
44
  msgid "YARPP"
47
  #: template-builtin.php:35
48
  #, php-format
49
  msgid "%f is the YARPP match score between the current entry and this related entry. You are seeing this value because you are logged in to WordPress as an administrator. It is not shown to regular visitors."
50
+ msgstr "%f é a concordância determinada pelo YARPP entre este artigo e o artigo parecido (Valor de relevância). Consegue ver este artigo porque está a utilizar uma conta de administrador da WordPress. Visitantes normais não o vêem."
51
 
52
  #: magic.php:322
53
  #: options.php:458
57
 
58
  #: options.php:26
59
  msgid "The MyISAM check has been overridden. You may now use the \"consider titles\" and \"consider bodies\" relatedness criteria."
60
+ msgstr "O MyISAM-Check foi suspenso. Pode agora utilizar \"consider titles\" e \"consider bodies\" como critério de relevância."
61
 
62
  #: options.php:35
63
  #, php-format
64
  msgid "YARPP's \"consider titles\" and \"consider bodies\" relatedness criteria require your <code>%s</code> table to use the <a href='http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html'>MyISAM storage engine</a>, but the table seems to be using the <code>%s</code> engine. These two options have been disabled."
65
+ msgstr "YARPPs \"consider titles\" und \"consider bodies\" Os critérios \"consider titles\" und \"consider bodies\" de relevância da YARPP requerem que a sua tabela <code>%s</code> utilize a <a href='http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html'>MyISAM Storage Engine</a>, mas a tabela parece utilizar a <code>%s</code>-Engine. As duas opções foram desactivadas."
66
 
67
  #: options.php:37
68
  #, php-format
69
  msgid "To restore these features, please update your <code>%s</code> table by executing the following SQL directive: <code>ALTER TABLE `%s` ENGINE = MyISAM;</code> . No data will be erased by altering the table's engine, although there are performance implications."
70
+ msgstr "Para reactivar esta função, execute o código <code>%s</code> com o comando SQL: <code>ALTER TABLE `%s` ENGINE = MyISAM;</code>."
71
 
72
  #: options.php:39
73
  #, php-format
74
  msgid "If, despite this check, you are sure that <code>%s</code> is using the MyISAM engine, press this magic button:"
75
+ msgstr "Se, mesmo depois desta verificação, tiver a certeza de que <code>%s</code> utiliza a MyISAM-Engine, clique no botão mágico:"
76
 
77
  #: options.php:42
78
  msgid "Trust me. Let me use MyISAM features."
84
 
85
  #: options.php:67
86
  msgid "The YARPP database has an error which could not be fixed."
87
+ msgstr "Ocorreu um erro na base de dados da YARPP que não pode ser corrigido."
88
 
89
  #: options.php:154
90
  #: options.php:171
91
  #: options.php:183
92
  msgid "do not consider"
93
+ msgstr ""não ter em conta""
94
 
95
  #: options.php:155
96
  #: options.php:172
104
 
105
  #: options.php:201
106
  msgid "Yet Another Related Posts Plugin version history (RSS 2.0)"
107
+ msgstr "Histórico da versão YARPP (RSS 2.0)"
108
 
109
  #: options.php:271
110
  #: options.php:271
111
  msgid "Donate to mitcho (Michael Yoshitaka Erlewine) for this plugin via PayPal"
112
+ msgstr "Fazer uma doação via PayPal a mitcho (Michael Yoshitaka Erlewine) pelo desenvolvimento do plugin"
113
 
114
  #: options.php:255
115
  msgid "Yet Another Related Posts Plugin Options"
116
+ msgstr "Opções da YARPP"
117
 
118
  #: options.php:278
119
  msgid "\"The Pool\""
121
 
122
  #: options.php:279
123
  msgid "\"The Pool\" refers to the pool of posts and pages that are candidates for display as related to the current entry."
124
+ msgstr "O plugin tem em conta todos os artigos e páginas que são mencionados (ou não excluídos) neste \"Pool\"."
125
 
126
  #: options.php:284
127
  msgid "Disallow by category:"
141
 
142
  #: options.php:306
143
  msgid "\"Relatedness\" options"
144
+ msgstr "Opções de parecença"
145
 
146
  #: options.php:308
147
  #, php-format
148
  msgid "YARPP is different than the <a href=\"http://wasabi.pbwiki.com/Related%20Entries\">previous plugins it is based on</a> as it limits the related posts list by (1) a maximum number and (2) a <em>match threshold</em>."
149
+ msgstr "YA YARPP funciona de um modo um pouco diferente do que [a href=\"http://wasabi.pbwiki.com/Related%20Entries\"]outros plugins de funcionalidade semelhante[/a]: A YARPP tem em conta não a quantidade de contribuições por si inserida, como também o valor \"Relevância\"."
150
 
151
  #: options.php:308
152
  #: options.php:322
163
 
164
  #: options.php:313
165
  msgid "Match threshold:"
166
+ msgstr "Relevância:"
167
 
168
  #: options.php:314
169
  msgid "Titles: "
170
+ msgstr "Sobretítulos:"
171
 
172
  #: options.php:316
173
  msgid "Bodies: "
183
 
184
  #: options.php:322
185
  msgid "Cross-relate posts and pages?"
186
+ msgstr "Emitir artigos e páginas em conjunto?"
187
 
188
  #: options.php:322
189
  msgid "When the \"Cross-relate posts and pages\" option is selected, the <code>related_posts()</code>, <code>related_pages()</code>, and <code>related_entries()</code> all will give the same output, returning both related pages and posts."
190
+ msgstr "Se a opção \"Emitir artigos e páginas em conjunto \" estiver activa, as funções <code>related_posts()</code>, <code>related_pages()</code>, e <code>related_entries()</code> emitem o mesmo: Nas contribuições parecidas não aparecem artigos nem páginas!"
191
 
192
  #: options.php:401
193
  msgid "Display options <small>for your website</small>"
194
+ msgstr "Apresentação <small>(Website)</small>"
195
 
196
  #: options.php:405
197
  msgid "Automatically display related posts?"
198
+ msgstr "Mostrar contribuições parecidas automaticamente?"
199
 
200
  #: options.php:405
201
  msgid "This option automatically displays related posts right after the content on single entry pages. If this option is off, you will need to manually insert <code>related_posts()</code> or variants (<code>related_pages()</code> and <code>related_entries()</code>) into your theme files."
202
+ msgstr "Quando activada, a YARPP anexa apenas a emissão de contribuições parecidas aos artigos actuais. Se estiver desactivada, terá de tratar da apresentação no modelo com as funções <code>related_posts()</code> ou variantes (<code>related_pages()</code> ou <code>related_entries()</code>).
203
 
204
  #: options.php:406
205
  msgid "Website display code example"
206
+ msgstr "Exemplo de um código-fonte para o anúncio da página"
207
 
208
  #: options.php:406
209
  #: options.php:471
210
  msgid "(Update options to reload.)"
211
+ msgstr "Para ver as suas opções aqui, terá de guardar primeiro as opções!"
212
 
213
  #: options.php:409
214
  #: options.php:473
215
  msgid "Maximum number of related posts:"
216
+ msgstr "Quantidade máxima de contribuições:"
217
 
218
  #: options.php:422
219
  msgid "Before / after related entries:"
220
+ msgstr "Código-fonte antes / depois das contribuições parecidas:"
221
 
222
  #: options.php:423
223
  #: options.php:428
231
  #: options.php:427
232
  #: options.php:491
233
  msgid "Before / after each related entry:"
234
+ msgstr "Código-fonte antes / depois das respectivas contribuições:"
235
 
236
  #: options.php:431
237
  #: options.php:495
245
 
246
  #: options.php:436
247
  msgid "Before / after (Excerpt):"
248
+ msgstr "Código-fonte antes / depois dos respectivos excertos:"
249
 
250
  #: options.php:442
251
  #: options.php:506
252
  msgid "Order results:"
253
+ msgstr "Sequência dos anúncios:"
254
 
255
  #: options.php:444
256
  #: options.php:508
257
  msgid "score (high relevance to low)"
258
+ msgstr "Relevância (da maior à mais pequena)"
259
 
260
  #: options.php:445
261
  #: options.php:509
262
  msgid "score (low relevance to high)"
263
+ msgstr "Relevância (da mais pequena à maior)"
264
 
265
  #: options.php:446
266
  #: options.php:510
267
  msgid "date (new to old)"
268
+ msgstr "Estampa da hora (da mais actual à mais velha)"
269
 
270
  #: options.php:447
271
  #: options.php:511
272
  msgid "date (old to new)"
273
+ msgstr "Estampa da hora (da mais antiga à mais actual)"
274
 
275
  #: options.php:448
276
  #: options.php:512
277
  msgid "title (alphabetical)"
278
+ msgstr "Sobretítulo (A-Z)"
279
 
280
  #: options.php:449
281
  #: options.php:513
282
  msgid "title (reverse alphabetical)"
283
+ msgstr "Sobretítulo (Z-A)"
284
 
285
  #: options.php:454
286
  #: options.php:518
287
  msgid "Default display if no results:"
288
+ msgstr "Código-fonte quando forem encontrados 0 artigos relevantes:"
289
 
290
  #: options.php:456
291
  #: options.php:520
296
  #: options.php:521
297
  #, php-format
298
  msgid "This option will add the code %s. Try turning it on, updating your options, and see the code in the code example to the right. These links and donations are greatly appreciated."
299
+ msgstr "Quando activado, aparece nos resultados uma pequena informação em relação ao autor e plugin das contribuições parecidas. Adiciona o código %s."
300
 
301
  #: options.php:464
302
  msgid "Display options <small>for RSS</small>"
303
+ msgstr "Apresentação <small>(RSS)</small>"
304
 
305
  #: options.php:469
306
  msgid "Display related posts in feeds?"
307
+ msgstr "Mostrar contribuições parecidas nos feeds de notícias?"
308
 
309
  #: options.php:470
310
  msgid "Display related posts in the descriptions?"
311
+ msgstr "Mostrar contribuições em Descriptions?"
312
 
313
  #: options.php:470
314
  msgid "This option displays the related posts in the RSS description fields, not just the content. If your feeds are set up to only display excerpts, however, only the description field is used, so this option is required for any display at all."
315
+ msgstr "Mostra as contribuições parecidas também em RSS-Descriptions, não em Content."
316
 
317
  #: options.php:471
318
  msgid "RSS display code example"
319
+ msgstr "Exemplos de anúncios RSS"
320
 
321
  #: options.php:486
322
  msgid "Before / after related entries display:"
323
+ msgstr "Código-fonte antes / depois das contribuições parecidas:"
324
 
325
  #: options.php:500
326
  msgid "Before / after (excerpt):"
327
+ msgstr "Código-fonte antes / depois do excerto:"
328
 
329
  #: options.php:148
330
  msgid "word"
352
 
353
  #: options.php:126
354
  msgid "Options saved!"
355
+ msgstr "Opções gravadas!"
356
 
357
  #: options.php:308
358
  msgid "The higher the match threshold, the more restrictive, and you get less related posts overall. The default match threshold is 5. If you want to find an appropriate match threshhold, take a look at some post's related posts display and their scores. You can see what kinds of related posts are being picked up and with what kind of match scores, and determine an appropriate threshold for your site."
360
 
361
  #: options.php:606
362
  msgid "Update options"
363
+ msgstr "Actualizar opções"
364
 
365
  #: options.php:607
366
  msgid "Do you really want to reset your configuration?"
367
+ msgstr "Deseja mesmo reverter as opções?"
368
 
369
  #: options.php:607
370
  msgid "Reset options"
371
+ msgstr "Reverter opções"
372
 
373
  #: includes.php:24
374
  #: includes.php:35
425
  msgstr ""
426
 
427
  #: options.php:273
428
+ msgid "by <a href=\"http://mitcho.com/code/\">mitcho (Michael 芳貴 Erlewine)</a>"
429
  msgstr ""
430
 
431
  #: options.php:273
magic.php CHANGED
@@ -144,7 +144,7 @@ function yarpp_sql($type,$args,$giveresults = true,$reference_ID=false,$domain='
144
  $newsql .= " and post_type = 'post'";
145
 
146
  // GROUP BY
147
- $newsql .= "\n group by id \n";
148
  // HAVING
149
  // safethreshold is so the new calibration system works.
150
  // number_format fix suggested by vkovalcik! :)
@@ -176,7 +176,9 @@ function yarpp_sql($type,$args,$giveresults = true,$reference_ID=false,$domain='
176
  /* new in 3.0! new query-based approach: EXTREMELY HACKY! */
177
 
178
  function yarpp_related($type,$args,$echo = true,$reference_ID=false,$domain = 'website') {
179
- global $post, $yarpp_demo_time, $wp_query, $id, $page, $pages, $authordata, $day, $currentmonth, $multipage, $more, $pagenow, $numpages, $yarpp_cache;
 
 
180
 
181
  if ($domain != 'demo_web' and $domain != 'demo_rss') {
182
  if ($yarpp_cache->yarpp_time) // if we're already in a YARPP loop, stop now.
@@ -185,7 +187,7 @@ function yarpp_related($type,$args,$echo = true,$reference_ID=false,$domain = 'w
185
  if (is_object($post) and !$reference_ID)
186
  $reference_ID = $post->ID;
187
  } else {
188
- if ($yarpp_demo_time) // if we're already in a YARPP loop, stop now.
189
  return false;
190
  }
191
 
@@ -221,8 +223,13 @@ function yarpp_related($type,$args,$echo = true,$reference_ID=false,$domain = 'w
221
 
222
  if ($domain != 'demo_web' and $domain != 'demo_rss')
223
  $yarpp_cache->begin_yarpp_time($reference_ID); // get ready for YARPP TIME!
224
- else
225
- $yarpp_demo_time = true;
 
 
 
 
 
226
  // just so we can return to normal later
227
  $current_query = $wp_query;
228
  $current_post = $post;
@@ -268,7 +275,7 @@ function yarpp_related($type,$args,$echo = true,$reference_ID=false,$domain = 'w
268
  if ($domain != 'demo_web' and $domain != 'demo_rss')
269
  $yarpp_cache->end_yarpp_time(); // YARPP time is over... :(
270
  else
271
- $yarpp_demo_time = false;
272
 
273
  // restore the older wp_query.
274
  $wp_query = null; $wp_query = $current_query; unset($current_query);
@@ -293,6 +300,8 @@ function yarpp_related($type,$args,$echo = true,$reference_ID=false,$domain = 'w
293
  function yarpp_related_exist($type,$args,$reference_ID=false) {
294
  global $post, $yarpp_cache;
295
 
 
 
296
  if (is_object($post) and !$reference_ID)
297
  $reference_ID = $post->ID;
298
 
@@ -353,10 +362,16 @@ function yarpp_delete_cache($post_ID) {
353
 
354
  // New in 3.2.1: handle various post_status transitions
355
  function yarpp_status_transition($new_status, $old_status, $post) {
 
356
  switch ($new_status) {
357
  case "draft":
358
  yarpp_delete_cache($post->ID);
359
  break;
 
 
 
 
 
360
  }
361
  }
362
 
144
  $newsql .= " and post_type = 'post'";
145
 
146
  // GROUP BY
147
+ $newsql .= "\n group by ID \n";
148
  // HAVING
149
  // safethreshold is so the new calibration system works.
150
  // number_format fix suggested by vkovalcik! :)
176
  /* new in 3.0! new query-based approach: EXTREMELY HACKY! */
177
 
178
  function yarpp_related($type,$args,$echo = true,$reference_ID=false,$domain = 'website') {
179
+ global $post, $wp_query, $id, $page, $pages, $authordata, $day, $currentmonth, $multipage, $more, $pagenow, $numpages, $yarpp_cache;
180
+
181
+ yarpp_upgrade_check();
182
 
183
  if ($domain != 'demo_web' and $domain != 'demo_rss') {
184
  if ($yarpp_cache->yarpp_time) // if we're already in a YARPP loop, stop now.
187
  if (is_object($post) and !$reference_ID)
188
  $reference_ID = $post->ID;
189
  } else {
190
+ if ($yarpp_cache->demo_time) // if we're already in a YARPP loop, stop now.
191
  return false;
192
  }
193
 
223
 
224
  if ($domain != 'demo_web' and $domain != 'demo_rss')
225
  $yarpp_cache->begin_yarpp_time($reference_ID); // get ready for YARPP TIME!
226
+ else {
227
+ $yarpp_cache->demo_time = true;
228
+ if ($domain == 'demo_web')
229
+ $yarpp_cache->demo_limit = yarpp_get_option('limit');
230
+ else
231
+ $yarpp_cache->demo_limit = yarpp_get_option('rss_limit');
232
+ }
233
  // just so we can return to normal later
234
  $current_query = $wp_query;
235
  $current_post = $post;
275
  if ($domain != 'demo_web' and $domain != 'demo_rss')
276
  $yarpp_cache->end_yarpp_time(); // YARPP time is over... :(
277
  else
278
+ $yarpp_cache->demo_time = false;
279
 
280
  // restore the older wp_query.
281
  $wp_query = null; $wp_query = $current_query; unset($current_query);
300
  function yarpp_related_exist($type,$args,$reference_ID=false) {
301
  global $post, $yarpp_cache;
302
 
303
+ yarpp_upgrade_check();
304
+
305
  if (is_object($post) and !$reference_ID)
306
  $reference_ID = $post->ID;
307
 
362
 
363
  // New in 3.2.1: handle various post_status transitions
364
  function yarpp_status_transition($new_status, $old_status, $post) {
365
+ global $yarpp_cache;
366
  switch ($new_status) {
367
  case "draft":
368
  yarpp_delete_cache($post->ID);
369
  break;
370
+ case "publish":
371
+ // find everything which is related to this post, and clear them, so that this
372
+ // post might show up as related to them.
373
+ $related = $yarpp_cache->related($post->ID, null);
374
+ $yarpp_cache->clear($related);
375
  }
376
  }
377
 
options.php CHANGED
@@ -2,6 +2,12 @@
2
 
3
  global $wpdb, $yarpp_value_options, $yarpp_binary_options, $wp_version, $yarpp_cache;
4
 
 
 
 
 
 
 
5
  // if action=flush, reset the cache
6
  if (isset($_GET['action']) && $_GET['action'] == 'flush') {
7
  $yarpp_cache->flush();
@@ -54,32 +60,19 @@ if (!yarpp_get_option('myisam_override')) {
54
  }
55
  }
56
 
57
- $yarpp_twopointfive = true;
58
- if (version_compare('2.5',$wp_version) > 0) {
59
- echo "$wp_version<div class='updated'>The \"consider tags\" and \"consider categories\" options require WordPress version 2.5. These two options have been disabled.</div>";
60
-
61
- yarpp_set_option('categories',1);
62
- yarpp_set_option('tags',1);
63
- $yarpp_twopointfive = false;
64
- }
65
-
66
- if ($yarpp_myisam) {
67
- if (!yarpp_enabled()) {
68
- echo '<div class="updated"><p>';
69
- if (yarpp_activate())
70
- _e('The YARPP database had an error but has been fixed.','yarpp');
71
- else
72
- __('The YARPP database has an error which could not be fixed.','yarpp')
73
- .str_replace('<A>','<a href=\'http://mitcho.com/code/yarpp/sql.php?prefix='.urlencode($wpdb->prefix).'\'>',__('Please try <A>manual SQL setup</a>.','yarpp'));
74
- echo '</div></p>';
75
- }
76
  }
77
 
78
- yarpp_reinforce(); // just in case, set default options, etc.
79
-
80
  if (isset($_POST['update_yarpp'])) {
81
  foreach (array_keys($yarpp_value_options) as $option) {
82
- if (is_string($_POST[$option]))
83
  yarpp_set_option($option,addslashes($_POST[$option]));
84
  }
85
  foreach (array('title','body','tags','categories') as $key) {
@@ -192,14 +185,7 @@ function yarpp_options_select($option,$desc,$type='word',$tr="<tr valign='top'>
192
  <script type="text/javascript">
193
  //<!--
194
 
195
- var rss=document.createElement("link");
196
- rss.setAttribute("rel", "alternate");
197
- rss.setAttribute("type", "application/rss+xml");
198
- rss.setAttribute('title',"<?php _e("Yet Another Related Posts Plugin version history (RSS 2.0)",'yarpp');?>");
199
- rss.setAttribute("href", "http://mitcho.com/code/yarpp/yarpp.rss");
200
- document.getElementsByTagName("head")[0].appendChild(rss);
201
-
202
- var css=document.createElement("link");
203
  css.setAttribute("rel", "stylesheet");
204
  css.setAttribute("type", "text/css");
205
  css.setAttribute("href", "../wp-content/plugins/yet-another-related-posts-plugin/options.css");
@@ -209,41 +195,41 @@ var spinner = '<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>'
209
 
210
  function load_display_demo_web() {
211
  jQuery.ajax({type:'POST',
212
- url:'admin-ajax.php',
213
- data:'action=yarpp_display_demo_web',
214
- beforeSend:function(){jQuery('#display_demo_web').eq(0).html('<img src="' + spinner + '" alt="loading..."/>')},
215
- success:function(html){jQuery('#display_demo_web').eq(0).html('<pre>'+html+'</pre>')},
216
- dataType:'html'}
217
  )
218
  }
219
 
220
  function load_display_demo_rss() {
221
  jQuery.ajax({type:'POST',
222
- url:'admin-ajax.php',
223
- data:'action=yarpp_display_demo_rss',
224
- beforeSend:function(){jQuery('#display_demo_rss').eq(0).html('<img src="'+spinner+'" alt="loading..."/>')},
225
- success:function(html){jQuery('#display_demo_rss').eq(0).html('<pre>'+html+'</pre>')},
226
- dataType:'html'}
227
  )
228
  }
229
 
230
  function load_display_distags() {
231
  jQuery.ajax({type:'POST',
232
- url:'admin-ajax.php',
233
- data:'action=yarpp_display_distags',
234
- beforeSend:function(){jQuery('#display_distags').eq(0).html('<img src="'+spinner+'" alt="loading..."/>')},
235
- success:function(html){jQuery('#display_distags').eq(0).html(html)},
236
- dataType:'html'}
237
  )
238
  }
239
 
240
  function load_display_discats() {
241
  jQuery.ajax({type:'POST',
242
- url:'admin-ajax.php',
243
- data:'action=yarpp_display_discats',
244
- beforeSend:function(){jQuery('#display_discats').eq(0).html('<img src="'+spinner+'" alt="loading..."/>')},
245
- success:function(html){jQuery('#display_discats').eq(0).html(html)},
246
- dataType:'html'}
247
  )
248
  }
249
  //-->
@@ -252,9 +238,7 @@ function load_display_discats() {
252
  <div class="wrap">
253
  <h2>
254
  <?php _e('Yet Another Related Posts Plugin Options','yarpp');?> <small><?php
255
-
256
- $display_version = yarpp_get_option('version');
257
- echo $display_version;
258
  ?></small>
259
  </h2>
260
 
@@ -265,8 +249,6 @@ function load_display_discats() {
265
  <div>
266
  <div id="badges" style="float:right">
267
  <!--<small><a href="http://wordpress.org/tags/yet-another-related-posts-plugin" style="padding-right: 10px;">Support forums</a></small>-->
268
- <script type="text/javascript">var WPHC_AFF_ID = "14336"; var WPHC_POSITION = "d1"; var WPHC_PRODUCT = "Yet Another Related Posts Plugin (<?php echo yarpp_get_option('version'); ?>)"; var WPHC_WP_VERSION = "<?php echo $wp_version; ?>";</script>
269
- <script src="http://cloud.wphelpcenter.com/support-form/0001/deliver-a.js" type="text/javascript"></script>
270
  <a href='https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=66G4DATK4999L&item_name=mitcho%2ecom%2fcode%3a%20donate%20to%20Michael%20Yoshitaka%20Erlewine&no_shipping=1&no_note=1&tax=0&currency_code=USD&lc=US&charset=UTF%2d8' target='_new'><img src="https://www.paypal.com/<?php echo paypal_directory(); ?>i/btn/btn_donate_SM.gif" name="submit" alt="<?php _e('Donate to mitcho (Michael Yoshitaka Erlewine) for this plugin via PayPal');?>" title="<?php _e('Donate to mitcho (Michael Yoshitaka Erlewine) for this plugin via PayPal','yarpp');?>" style="padding-left: 10px;"/></a>
271
  </div>
272
 
@@ -338,9 +320,9 @@ function load_display_discats() {
338
  yarpp_options_importance2('body',__("Bodies: ",'yarpp'),'word',"<tr valign='top'>
339
  <th scope='row'>",(!$yarpp_myisam?' readonly="readonly" disabled="disabled"':''));
340
  yarpp_options_importance('tags',__("Tags: ",'yarpp'),'tag',"<tr valign='top'>
341
- <th scope='row'>",(!$yarpp_twopointfive?' readonly="readonly" disabled="disabled"':''));
342
  yarpp_options_importance('categories',__("Categories: ",'yarpp'),'category',"<tr valign='top'>
343
- <th scope='row'>",(!$yarpp_twopointfive?' readonly="readonly" disabled="disabled"':''));
344
  yarpp_options_checkbox('cross_relate',__("Cross-relate posts and pages?",'yarpp')." <a href='#' class='info'>".__('more&gt;','yarpp')."<span>".__("When the \"Cross-relate posts and pages\" option is selected, the <code>related_posts()</code>, <code>related_pages()</code>, and <code>related_entries()</code> all will give the same output, returning both related pages and posts.",'yarpp')."</span></a>");
345
  yarpp_options_checkbox('past_only',__("Show only previous posts?",'yarpp'));
346
  ?>
@@ -402,14 +384,20 @@ function load_display_discats() {
402
 
403
  var version = jQuery('#yarpp-version').html();
404
 
405
- <?php $ajax_nonce= wp_create_nonce('yarpp_version_json');?>
406
  jQuery.getJSON(ajaxurl,
407
  'action=yarpp_version_json&_ajax_nonce=<?php echo $ajax_nonce; ?>',
408
  function(json) {
409
  if (json.result == 'newbeta')
410
- jQuery('#yarpp-version').addClass('updated').html(<?php echo "'<p>".str_replace('VERSION',"'+json.beta.version+'",str_replace('<A>',"<a href=\"'+json.beta.url+'\">",addslashes(__("There is a new beta (VERSION) of Yet Another Related Posts Plugin. You can <A>download it here</a> at your own risk.","yarpp"))))."</p>'"?>).show();
 
 
 
411
  if (json.result == 'new')
412
- jQuery('#yarpp-version').addClass('updated').html(<?php echo "'<p>".str_replace('VERSION',"'+json.current.version+'",str_replace('<A>',"<a href=\"'+json.current.url+'\">",addslashes(__("There is a new version (VERSION) of Yet Another Related Posts Plugin available! You can <A>download it here</a>.","yarpp"))))."</p>'"?>).show();
 
 
 
413
  }
414
  );
415
  }
2
 
3
  global $wpdb, $yarpp_value_options, $yarpp_binary_options, $wp_version, $yarpp_cache;
4
 
5
+ // Reenforce YARPP setup:
6
+ if (!get_option('yarpp_version'))
7
+ yarpp_activate();
8
+ else
9
+ yarpp_upgrade_check();
10
+
11
  // if action=flush, reset the cache
12
  if (isset($_GET['action']) && $_GET['action'] == 'flush') {
13
  $yarpp_cache->flush();
60
  }
61
  }
62
 
63
+ if ($yarpp_myisam && !yarpp_enabled()) {
64
+ echo '<div class="updated"><p>';
65
+ if (yarpp_activate())
66
+ _e('The YARPP database had an error but has been fixed.','yarpp');
67
+ else
68
+ __('The YARPP database has an error which could not be fixed.','yarpp')
69
+ .str_replace('<A>','<a href=\'http://mitcho.com/code/yarpp/sql.php?prefix='.urlencode($wpdb->prefix).'\'>',__('Please try <A>manual SQL setup</a>.','yarpp'));
70
+ echo '</div></p>';
 
 
 
 
 
 
 
 
 
 
 
71
  }
72
 
 
 
73
  if (isset($_POST['update_yarpp'])) {
74
  foreach (array_keys($yarpp_value_options) as $option) {
75
+ if (isset($_POST[$option]) && is_string($_POST[$option]))
76
  yarpp_set_option($option,addslashes($_POST[$option]));
77
  }
78
  foreach (array('title','body','tags','categories') as $key) {
185
  <script type="text/javascript">
186
  //<!--
187
 
188
+ var css = document.createElement("link");
 
 
 
 
 
 
 
189
  css.setAttribute("rel", "stylesheet");
190
  css.setAttribute("type", "text/css");
191
  css.setAttribute("href", "../wp-content/plugins/yet-another-related-posts-plugin/options.css");
195
 
196
  function load_display_demo_web() {
197
  jQuery.ajax({type:'POST',
198
+ url: ajaxurl,
199
+ data:'action=yarpp_display_demo_web',
200
+ beforeSend:function(){jQuery('#display_demo_web').eq(0).html('<img src="' + spinner + '" alt="loading..."/>')},
201
+ success:function(html){jQuery('#display_demo_web').eq(0).html('<pre>'+html+'</pre>')},
202
+ dataType:'html'}
203
  )
204
  }
205
 
206
  function load_display_demo_rss() {
207
  jQuery.ajax({type:'POST',
208
+ url: ajaxurl,
209
+ data:'action=yarpp_display_demo_rss',
210
+ beforeSend:function(){jQuery('#display_demo_rss').eq(0).html('<img src="'+spinner+'" alt="loading..."/>')},
211
+ success:function(html){jQuery('#display_demo_rss').eq(0).html('<pre>'+html+'</pre>')},
212
+ dataType:'html'}
213
  )
214
  }
215
 
216
  function load_display_distags() {
217
  jQuery.ajax({type:'POST',
218
+ url: ajaxurl,
219
+ data:'action=yarpp_display_distags',
220
+ beforeSend:function(){jQuery('#display_distags').eq(0).html('<img src="'+spinner+'" alt="loading..."/>')},
221
+ success:function(html){jQuery('#display_distags').eq(0).html(html)},
222
+ dataType:'html'}
223
  )
224
  }
225
 
226
  function load_display_discats() {
227
  jQuery.ajax({type:'POST',
228
+ url: ajaxurl,
229
+ data:'action=yarpp_display_discats',
230
+ beforeSend:function(){jQuery('#display_discats').eq(0).html('<img src="'+spinner+'" alt="loading..."/>')},
231
+ success:function(html){jQuery('#display_discats').eq(0).html(html)},
232
+ dataType:'html'}
233
  )
234
  }
235
  //-->
238
  <div class="wrap">
239
  <h2>
240
  <?php _e('Yet Another Related Posts Plugin Options','yarpp');?> <small><?php
241
+ echo yarpp_get_option('version');
 
 
242
  ?></small>
243
  </h2>
244
 
249
  <div>
250
  <div id="badges" style="float:right">
251
  <!--<small><a href="http://wordpress.org/tags/yet-another-related-posts-plugin" style="padding-right: 10px;">Support forums</a></small>-->
 
 
252
  <a href='https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=66G4DATK4999L&item_name=mitcho%2ecom%2fcode%3a%20donate%20to%20Michael%20Yoshitaka%20Erlewine&no_shipping=1&no_note=1&tax=0&currency_code=USD&lc=US&charset=UTF%2d8' target='_new'><img src="https://www.paypal.com/<?php echo paypal_directory(); ?>i/btn/btn_donate_SM.gif" name="submit" alt="<?php _e('Donate to mitcho (Michael Yoshitaka Erlewine) for this plugin via PayPal');?>" title="<?php _e('Donate to mitcho (Michael Yoshitaka Erlewine) for this plugin via PayPal','yarpp');?>" style="padding-left: 10px;"/></a>
253
  </div>
254
 
320
  yarpp_options_importance2('body',__("Bodies: ",'yarpp'),'word',"<tr valign='top'>
321
  <th scope='row'>",(!$yarpp_myisam?' readonly="readonly" disabled="disabled"':''));
322
  yarpp_options_importance('tags',__("Tags: ",'yarpp'),'tag',"<tr valign='top'>
323
+ <th scope='row'>",'');
324
  yarpp_options_importance('categories',__("Categories: ",'yarpp'),'category',"<tr valign='top'>
325
+ <th scope='row'>",'');
326
  yarpp_options_checkbox('cross_relate',__("Cross-relate posts and pages?",'yarpp')." <a href='#' class='info'>".__('more&gt;','yarpp')."<span>".__("When the \"Cross-relate posts and pages\" option is selected, the <code>related_posts()</code>, <code>related_pages()</code>, and <code>related_entries()</code> all will give the same output, returning both related pages and posts.",'yarpp')."</span></a>");
327
  yarpp_options_checkbox('past_only',__("Show only previous posts?",'yarpp'));
328
  ?>
384
 
385
  var version = jQuery('#yarpp-version').html();
386
 
387
+ <?php $ajax_nonce = wp_create_nonce('yarpp_version_json');?>
388
  jQuery.getJSON(ajaxurl,
389
  'action=yarpp_version_json&_ajax_nonce=<?php echo $ajax_nonce; ?>',
390
  function(json) {
391
  if (json.result == 'newbeta')
392
+ jQuery('#yarpp-version')
393
+ .addClass('updated')
394
+ .html(<?php echo "'<p>".str_replace('VERSION',"'+json.beta.version+'",str_replace('<A>',"<a href=\"'+json.beta.url+'\">",addslashes(__("There is a new beta (VERSION) of Yet Another Related Posts Plugin. You can <A>download it here</a> at your own risk.","yarpp"))))."</p>'"?>)
395
+ .show();
396
  if (json.result == 'new')
397
+ jQuery('#yarpp-version')
398
+ .addClass('updated')
399
+ .html(<?php echo "'<p>".str_replace('VERSION',"'+json.current.version+'",str_replace('<A>',"<a href=\"'+json.current.url+'\">",addslashes(__("There is a new version (VERSION) of Yet Another Related Posts Plugin available! You can <A>download it here</a>.","yarpp"))))."</p>'"?>)
400
+ .show();
401
  }
402
  );
403
  }
readme.txt CHANGED
@@ -144,7 +144,7 @@ YARPP is currently localized in the following languages:
144
  * Egyptian Arabic (`ar_EG`) by Bishoy Antoun (yarpp-ar at mitcho dot com) of [cdmazika.com](http://www.cdmazika.com).
145
  * Standard Arabic (`ar`) by [led](http://led24.de) (yarpp-ar at mitcho dot com)
146
  * Belarussian (`by_BY`) by [Fat Cow](http://www.fatcow.com)
147
- * Bulgarian (`bg_BG`) by [Flash Gallery](www.flashgallery.org)
148
  * Simplified Chinese (`zh_CN`) by Jor Wang (mail at jorwang dot com) of [jorwang.com](http://jorwang.com)
149
  * Cypriot Greek (`el_CY`) by Aristidis Tonikidis (yarpp-el at mitcho dot com) of [akouseto.gr](http://www.akouseto.gr)
150
  * Dutch (`nl_NL`) by Sybrand van der Werf (yarpp-nl at mitcho dot com)
@@ -160,9 +160,9 @@ YARPP is currently localized in the following languages:
160
  * Korean (`ko_KR`) by [Jong-In Kim](http://incommunity.codex.kr) (yarpp-ko at mitcho dot com)
161
  * Latvian (`lv_LV`) by [Mike](http://antsar.info) (yarpp-lv at mitcho dot com)
162
  * Lithuanian (`lt_LT`) by [Karolis Vyčius](http://vycius.co.cc) and [Mantas Malcius](http://mantas.malcius.lt) (yarpp-lt at mitcho dot com)
163
- * Norwegian (`nb_NO`) by [Tom Arne Sundtjønn](www.datanerden.no) (yarpp-nb at mitcho dot com)
164
  * Polish (`pl_PL`) by [Perfecta](http://perfecta.pro/wp-pl/)
165
- * (European) Portuguese (`pt_PT`) by Stefan Mueller (yarpp-pt at mitcho.com) of [fernstadium-net](www.fernstudium-net.de)
166
  * Brazilian Portuguese (`pt_BR`) by Rafael Fischmann (yarpp-ptBR at mitcho.com) of [macmagazine.br](http://macmagazine.com.br/)
167
  * Russian (`ru_RU`) by Marat Latypov (yarpp-ru at mitcho.com) of [blogocms.ru](http://blogocms.ru)
168
  * Swedish (`sv_SE`) by Max Elander (yarpp-sv at mitcho dot com)
@@ -186,10 +186,18 @@ If you are a bilingual speaker of English and another language and an avid user
186
  == Changelog ==
187
 
188
  = 3.2.1 =
189
- * Fixed [a bug in `yarpp_related_exists()`](http://wordpress.org/support/topic/plugin-yet-another-related-posts-plugin-fatal-error-call-to-undefined-method-yarpp_cache_tablesstart_yarpp_time)
190
  * Better handling of [`post_status` transitions](http://wordpress.org/support/topic/plugin-yet-another-related-posts-plugin-changed-post-to-draft-still-showing-up-as-related-to-other-posts).
191
  * Bugfix: [the widget was not working on pages](http://wordpress.org/support/topic/plugin-yet-another-related-posts-plugin-showing-yarp-widget-in-pages-and-subpages)
192
- * Minor security fix in version-checking code
 
 
 
 
 
 
 
 
193
  = 3.2 =
194
  * Better caching performance:
195
  * Previously, the cache would never actually build up properly. This is now fixed. Thanks to Artefact for pointing this out.
@@ -197,11 +205,11 @@ If you are a bilingual speaker of English and another language and an avid user
197
  * Caching is no longer performed while batch-importing posts.
198
  * A new object-based abstraction for the caching system. YARPP by default uses custom database tables (same behavior as 3.1.x), but you now have an option to use the `postmeta` table instead. To use `postmeta` caching, add `define('YARPP_CACHE_TYPE', 'postmeta');` to your `wp-config.php` file.<!--YARPP no longer uses custom tables! Both custom tables (`yarpp_related_cache` and `yarpp_keywords_cache`) are automatically removed if you have them. WordPress Post Meta is used instead for caching.-->
199
  * Localizations:
200
- * added Bulgarian (`bg_BG`) by [Flash Gallery](www.flashgallery.org);
201
  * added Farsi/Persian (`fa_IR`) by [Moshen Derakhshan](http://webdesigner.downloadkar.com/);
202
  * added Bahasa Indonesia (`id_ID`) by [Hendry Lee](http://hendrylee.com/) of [Kelayang](http://kelayang.com/)
203
  * added Norwegian (`nb_NO`) by [Tom Arne Sundtjønn](www.datanerden.no);
204
- * added Portuguese (`pt_PT`) by [Stefan Mueller](www.fernstudium-net.de).
205
  * updated Lithuanian (`lt_LT`) by [Mantas Malcius](http://mantas.malcius.lt/)
206
  * Added [WordPress HelpCenter](http://wphelpcenter.com/) widget for quick access to professional support.
207
  * Some code cleanup (bug [#1246](http://plugins.trac.wordpress.org/ticket/1246))
144
  * Egyptian Arabic (`ar_EG`) by Bishoy Antoun (yarpp-ar at mitcho dot com) of [cdmazika.com](http://www.cdmazika.com).
145
  * Standard Arabic (`ar`) by [led](http://led24.de) (yarpp-ar at mitcho dot com)
146
  * Belarussian (`by_BY`) by [Fat Cow](http://www.fatcow.com)
147
+ * Bulgarian (`bg_BG`) by [Flash Gallery](http://www.flashgallery.org)
148
  * Simplified Chinese (`zh_CN`) by Jor Wang (mail at jorwang dot com) of [jorwang.com](http://jorwang.com)
149
  * Cypriot Greek (`el_CY`) by Aristidis Tonikidis (yarpp-el at mitcho dot com) of [akouseto.gr](http://www.akouseto.gr)
150
  * Dutch (`nl_NL`) by Sybrand van der Werf (yarpp-nl at mitcho dot com)
160
  * Korean (`ko_KR`) by [Jong-In Kim](http://incommunity.codex.kr) (yarpp-ko at mitcho dot com)
161
  * Latvian (`lv_LV`) by [Mike](http://antsar.info) (yarpp-lv at mitcho dot com)
162
  * Lithuanian (`lt_LT`) by [Karolis Vyčius](http://vycius.co.cc) and [Mantas Malcius](http://mantas.malcius.lt) (yarpp-lt at mitcho dot com)
163
+ * Norwegian (`nb_NO`) by [Tom Arne Sundtjønn](http://www.datanerden.no) (yarpp-nb at mitcho dot com)
164
  * Polish (`pl_PL`) by [Perfecta](http://perfecta.pro/wp-pl/)
165
+ * (European) Portuguese (`pt_PT`) by Stefan Mueller (yarpp-pt at mitcho.com) of [fernstadium-net](http://www.fernstudium-net.de)
166
  * Brazilian Portuguese (`pt_BR`) by Rafael Fischmann (yarpp-ptBR at mitcho.com) of [macmagazine.br](http://macmagazine.com.br/)
167
  * Russian (`ru_RU`) by Marat Latypov (yarpp-ru at mitcho.com) of [blogocms.ru](http://blogocms.ru)
168
  * Swedish (`sv_SE`) by Max Elander (yarpp-sv at mitcho dot com)
186
  == Changelog ==
187
 
188
  = 3.2.1 =
189
+ * Bugfix: [Duplicate results shown for some users](http://wordpress.org/support/topic/plugin-yet-another-related-posts-plugin-yarpp-post-duplicate-related-articles)
190
  * Better handling of [`post_status` transitions](http://wordpress.org/support/topic/plugin-yet-another-related-posts-plugin-changed-post-to-draft-still-showing-up-as-related-to-other-posts).
191
  * Bugfix: [the widget was not working on pages](http://wordpress.org/support/topic/plugin-yet-another-related-posts-plugin-showing-yarp-widget-in-pages-and-subpages)
192
+ * Added overused words list for French, thanks to [saymonz](http://wordpress.org/support/topic/plugin-yet-another-related-posts-plugin-french-overused-words)
193
+ * Minor code cleanup:
194
+ * Fixed [a bug in `yarpp_related_exists()`](http://wordpress.org/support/topic/plugin-yet-another-related-posts-plugin-fatal-error-call-to-undefined-method-yarpp_cache_tablesstart_yarpp_time)
195
+ * Minor security fix in version-checking code
196
+ * Removed legacy code for gracefully upgrading from YARPP versions < 1.5 and working with WordPress versions < 2.8.
197
+ * Cleanup of `yarpp_upgrade_check()` calling
198
+ * Eliminated a couple globals
199
+ * Cleaned up some edge case causes for "unexpected output" on plugin activation
200
+ * Removed WP Help Center badge, as they are closing
201
  = 3.2 =
202
  * Better caching performance:
203
  * Previously, the cache would never actually build up properly. This is now fixed. Thanks to Artefact for pointing this out.
205
  * Caching is no longer performed while batch-importing posts.
206
  * A new object-based abstraction for the caching system. YARPP by default uses custom database tables (same behavior as 3.1.x), but you now have an option to use the `postmeta` table instead. To use `postmeta` caching, add `define('YARPP_CACHE_TYPE', 'postmeta');` to your `wp-config.php` file.<!--YARPP no longer uses custom tables! Both custom tables (`yarpp_related_cache` and `yarpp_keywords_cache`) are automatically removed if you have them. WordPress Post Meta is used instead for caching.-->
207
  * Localizations:
208
+ * added Bulgarian (`bg_BG`) by [Flash Gallery](http://www.flashgallery.org);
209
  * added Farsi/Persian (`fa_IR`) by [Moshen Derakhshan](http://webdesigner.downloadkar.com/);
210
  * added Bahasa Indonesia (`id_ID`) by [Hendry Lee](http://hendrylee.com/) of [Kelayang](http://kelayang.com/)
211
  * added Norwegian (`nb_NO`) by [Tom Arne Sundtjønn](www.datanerden.no);
212
+ * added Portuguese (`pt_PT`) by [Stefan Mueller](http://www.fernstudium-net.de).
213
  * updated Lithuanian (`lt_LT`) by [Mantas Malcius](http://mantas.malcius.lt/)
214
  * Added [WordPress HelpCenter](http://wphelpcenter.com/) widget for quick access to professional support.
215
  * Some code cleanup (bug [#1246](http://plugins.trac.wordpress.org/ticket/1246))
services.php CHANGED
@@ -37,27 +37,19 @@ function yarpp_ajax_display_distags() {
37
  }
38
 
39
  function yarpp_ajax_display_demo_web() {
40
- global $wpdb, $post, $yarpp_demo_time, $wp_query, $id, $page, $pages, $yarpp_limit;
41
-
42
  header("HTTP/1.1 200");
43
  header("Content-Type: text/html; charset=UTF-8");
44
 
45
- $yarpp_limit = yarpp_get_option('limit');
46
  $return = yarpp_related(array('post'),array(),false,false,'demo_web');
47
- unset($yarpp_limit);
48
  echo ereg_replace("[\n\r]",'',nl2br(htmlspecialchars($return)));
49
  exit;
50
  }
51
 
52
  function yarpp_ajax_display_demo_rss() {
53
- global $wpdb, $post, $yarpp_demo_time, $wp_query, $id, $page, $pages, $yarpp_limit;
54
-
55
  header("HTTP/1.1 200");
56
  header("Content-Type: text/html; charset=UTF-8");
57
 
58
- $yarpp_limit = yarpp_get_option('rss_limit');
59
  $return = yarpp_related(array('post'),array(),false,false,'demo_rss');
60
- unset($yarpp_limit);
61
  echo ereg_replace("[\n\r]",'',nl2br(htmlspecialchars($return)));
62
  exit;
63
  }
37
  }
38
 
39
  function yarpp_ajax_display_demo_web() {
 
 
40
  header("HTTP/1.1 200");
41
  header("Content-Type: text/html; charset=UTF-8");
42
 
 
43
  $return = yarpp_related(array('post'),array(),false,false,'demo_web');
 
44
  echo ereg_replace("[\n\r]",'',nl2br(htmlspecialchars($return)));
45
  exit;
46
  }
47
 
48
  function yarpp_ajax_display_demo_rss() {
 
 
49
  header("HTTP/1.1 200");
50
  header("Content-Type: text/html; charset=UTF-8");
51
 
 
52
  $return = yarpp_related(array('post'),array(),false,false,'demo_rss');
 
53
  echo ereg_replace("[\n\r]",'',nl2br(htmlspecialchars($return)));
54
  exit;
55
  }
yarpp.php CHANGED
@@ -3,7 +3,7 @@
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.2.1b1
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
@@ -13,7 +13,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=66G4D
13
  if (isset($_REQUEST['yarpp_debug']))
14
  $yarpp_debug = true;
15
 
16
- define('YARPP_VERSION','3.2.1b1');
17
  define('YARPP_DIR',dirname(__FILE__));
18
  // 3.2.1: safer new version checking
19
  add_action('wp_ajax_yarpp_version_json', 'yarpp_version_json');
@@ -28,13 +28,12 @@ require_once(YARPP_DIR.'/template-functions.php');
28
  // define('YARPP_CACHE_TYPE', 'postmeta');
29
  if (!defined('YARPP_CACHE_TYPE'))
30
  define('YARPP_CACHE_TYPE', 'tables');
 
31
  require_once(YARPP_DIR . '/cache-' . YARPP_CACHE_TYPE . '.php');
32
- global $yarpp_cache;
33
  $yarpp_cache = new $yarpp_storage_class;
34
 
35
  // Setup admin
36
  add_action('admin_menu','yarpp_admin_menu');
37
- add_action('admin_print_scripts','yarpp_upgrade_check');
38
  add_filter('the_content','yarpp_default',1200);
39
  add_filter('the_content_rss','yarpp_rss',600);
40
  add_filter('the_excerpt_rss','yarpp_rss_excerpt',600);
@@ -53,7 +52,7 @@ add_action('save_post','yarpp_save_cache');
53
  // new in 3.2: update cache on delete
54
  add_action('delete_post','yarpp_delete_cache');
55
  // new in 3.2.1: handle post_status transitions
56
- add_action('transition_post_status','yarpp_status_transition', 3);
57
 
58
  // sets the score override flag.
59
  add_action('parse_query','yarpp_set_score_override_flag');
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.2.1b2
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
13
  if (isset($_REQUEST['yarpp_debug']))
14
  $yarpp_debug = true;
15
 
16
+ define('YARPP_VERSION','3.2.1b2');
17
  define('YARPP_DIR',dirname(__FILE__));
18
  // 3.2.1: safer new version checking
19
  add_action('wp_ajax_yarpp_version_json', 'yarpp_version_json');
28
  // define('YARPP_CACHE_TYPE', 'postmeta');
29
  if (!defined('YARPP_CACHE_TYPE'))
30
  define('YARPP_CACHE_TYPE', 'tables');
31
+ global $yarpp_cache, $yarpp_storage_class;
32
  require_once(YARPP_DIR . '/cache-' . YARPP_CACHE_TYPE . '.php');
 
33
  $yarpp_cache = new $yarpp_storage_class;
34
 
35
  // Setup admin
36
  add_action('admin_menu','yarpp_admin_menu');
 
37
  add_filter('the_content','yarpp_default',1200);
38
  add_filter('the_content_rss','yarpp_rss',600);
39
  add_filter('the_excerpt_rss','yarpp_rss_excerpt',600);
52
  // new in 3.2: update cache on delete
53
  add_action('delete_post','yarpp_delete_cache');
54
  // new in 3.2.1: handle post_status transitions
55
+ add_action('transition_post_status','yarpp_status_transition', 10, 3);
56
 
57
  // sets the score override flag.
58
  add_action('parse_query','yarpp_set_score_override_flag');