Version Description
Download this release
Release Info
Developer | RobMarsh |
Plugin | Similar Posts – Best Related Posts Plugin for WordPress |
Version | 2.6.1.2 |
Comparing to | |
See all releases |
Code changes from version 2.6.1.1 to 2.6.1.2
- languages/de/stemmer.php +31 -31
- readme.txt +3 -1
- similar-posts-admin.php +1 -1
- similar-posts.php +2 -2
languages/de/stemmer.php
CHANGED
@@ -22,14 +22,14 @@
|
|
22 |
*/
|
23 |
|
24 |
|
25 |
-
define("DE_STEMMER_VOKALE", "
|
26 |
|
27 |
-
$enc = mb_detect_encoding('a-zA-
|
28 |
mb_internal_encoding($enc);
|
29 |
|
30 |
function _de_stemmer_split_text(&$text) {
|
31 |
// Split words from noise
|
32 |
-
return preg_split('/([^a-zA-
|
33 |
}
|
34 |
|
35 |
|
@@ -38,7 +38,7 @@ function _de_stemmer_split_text(&$text) {
|
|
38 |
*/
|
39 |
function de_stemmer_search_preprocess(&$text) {
|
40 |
// Split words from noise and remove apostrophes
|
41 |
-
$words = preg_split('/([^a-zA-
|
42 |
|
43 |
// Process each word
|
44 |
$odd = true;
|
@@ -106,10 +106,10 @@ function _de_stemmer_region_n($wort) {
|
|
106 |
|
107 |
function de_stemmer_preprocess($wort) {
|
108 |
$wort = mb_strtolower($wort);
|
109 |
-
$wort = str_replace("
|
110 |
-
// replace
|
111 |
|
112 |
-
$wort = preg_replace( array( '
|
113 |
'/(?<=['. DE_STEMMER_VOKALE .'])u(?=['. DE_STEMMER_VOKALE .'])/u',
|
114 |
'/(?<=['. DE_STEMMER_VOKALE .'])y(?=['. DE_STEMMER_VOKALE .'])/u'
|
115 |
),
|
@@ -125,11 +125,11 @@ function _de_stemmer_postprocess($wort) {
|
|
125 |
|
126 |
if (!_de_stemmer_ausnahme($wort)) // check for exceptions
|
127 |
{
|
128 |
-
$wort = strtr($wort, array('
|
129 |
-
'
|
130 |
-
'
|
131 |
-
'
|
132 |
-
'
|
133 |
));
|
134 |
}
|
135 |
return $wort;
|
@@ -240,27 +240,27 @@ function _de_stemmer_wortstamm($wort) {
|
|
240 |
function _de_stemmer_stoppwort($wort) {
|
241 |
|
242 |
static $stoppworte = array(
|
243 |
-
'ab', 'aber', 'aber', 'ach', 'acht', 'achte', 'achten', 'achter', 'achtes', 'ag', 'alle', 'allein', 'allem', 'allen', 'aller', 'allerdings', 'alles', 'allgemeinen', 'als', 'als', 'also', 'am', 'an', 'andere', 'anderen', 'andern', 'anders', 'au', 'auch', 'auch', 'auf', 'aus', 'ausser', '
|
244 |
'bald', 'bei', 'beide', 'beiden', 'beim', 'bekannt', 'bereits', 'besonders', 'besser', 'besten', 'bin', 'bis', 'bisher', 'bist',
|
245 |
-
'da', 'dabei', 'dadurch', '
|
246 |
'eben', 'ebenso', 'eigen', 'eigene', 'eigenen', 'eigener', 'eigenes', 'ein', 'einander', 'eine', 'einem', 'einen', 'einer', 'eines', 'einige', 'einigen', 'einiger', 'einiges', 'einmal', 'einmal', 'eins', 'elf', 'en', 'ende', 'endlich', 'entweder', 'entweder', 'er', 'ernst', 'erst', 'erste', 'ersten', 'erster', 'erstes', 'es', 'etwa', 'etwas', 'euch',
|
247 |
-
'
|
248 |
-
'gab', 'ganz', 'ganze', 'ganzen', 'ganzer', 'ganzes', 'gar', 'gedurft', 'gegen', '
|
249 |
-
'habe', 'haben', 'habt', 'hast', 'hat', 'hatte', '
|
250 |
'ich', 'ihm', 'ihn', 'ihnen', 'ihr', 'ihre', 'ihrem', 'ihren', 'ihrer', 'ihres', 'im', 'im', 'immer', 'in', 'in', 'indem', 'infolgedessen', 'ins', 'irgend', 'ist',
|
251 |
'ja', 'ja', 'jahr', 'jahre', 'jahren', 'je', 'jede', 'jedem', 'jeden', 'jeder', 'jedermann', 'jedermanns', 'jedoch', 'jemand', 'jemandem', 'jemanden', 'jene', 'jenem', 'jenen', 'jener', 'jenes', 'jetzt',
|
252 |
-
'kam', 'kann', 'kannst', 'kaum', 'kein', 'keine', 'keinem', 'keinen', 'keiner', 'kleine', 'kleinen', 'kleiner', 'kleines', 'kommen', 'kommt', '
|
253 |
'lang', 'lange', 'lange', 'leicht', 'leide', 'lieber', 'los',
|
254 |
-
'machen', 'macht', 'machte', 'mag', 'magst', 'mahn', 'man', 'manche', 'manchem', 'manchen', 'mancher', 'manches', 'mann', 'mehr', 'mein', 'meine', 'meinem', 'meinen', 'meiner', 'meines', 'mich', 'mir', 'mit', 'mittel', 'mochte', '
|
255 |
-
'na', 'nach', 'nachdem', 'nahm', '
|
256 |
'ob', 'oben', 'oder', 'oder', 'offen', 'oft', 'oft', 'ohne',
|
257 |
'recht', 'rechte', 'rechten', 'rechter', 'rechtes', 'richtig', 'rund',
|
258 |
-
'sa', 'sache', 'sagt', 'sagte', 'sah', 'satt', 'schon', 'sechs', 'sechste', 'sechsten', 'sechster', 'sechstes', 'sehr', 'sei', 'sei', 'seid', 'seien', 'sein', 'seine', 'seinem', 'seinen', 'seiner', 'seines', 'seit', 'seitdem', 'selbst', 'selbst', 'sich', 'sie', 'sieben', 'siebente', 'siebenten', 'siebenter', 'siebentes', 'sind', 'so', 'solang', 'solche', 'solchem', 'solchen', 'solcher', 'solches', 'soll', 'sollen', 'sollte', 'sollten', 'sondern', 'sonst', 'sowie', '
|
259 |
'tat', 'teil', 'tel', 'tritt', 'trotzdem', 'tun',
|
260 |
-
'
|
261 |
'vergangenen', 'viel', 'viele', 'vielem', 'vielen', 'vielleicht', 'vier', 'vierte', 'vierten', 'vierter', 'viertes', 'vom', 'von', 'vor',
|
262 |
-
'wahr?', '
|
263 |
-
'z.b', 'zehn', 'zehnte', 'zehnten', 'zehnter', 'zehntes', 'zeit', 'zu', 'zuerst', 'zugleich', 'zum', 'zum', '
|
264 |
);
|
265 |
|
266 |
return in_array($wort, $stoppworte);
|
@@ -272,16 +272,16 @@ function _de_stemmer_stoppwort($wort) {
|
|
272 |
*/
|
273 |
function _de_stemmer_ausnahme(&$wort)
|
274 |
{ static $de_stemmer_ausnahmen = array (
|
275 |
-
'
|
276 |
-
'
|
277 |
'kannt' => 'kenn',
|
278 |
-
'
|
279 |
-
'
|
280 |
-
'mocht' => '
|
281 |
-
'mag' => '
|
282 |
'ging' => 'geh',
|
283 |
'lief' => 'lauf',
|
284 |
-
'
|
285 |
);
|
286 |
|
287 |
//return FALSE;
|
22 |
*/
|
23 |
|
24 |
|
25 |
+
define("DE_STEMMER_VOKALE", "aeiouyäöü");
|
26 |
|
27 |
+
$enc = mb_detect_encoding('a-zA-ZÄÖÜßäëïöüáéíóúè');
|
28 |
mb_internal_encoding($enc);
|
29 |
|
30 |
function _de_stemmer_split_text(&$text) {
|
31 |
// Split words from noise
|
32 |
+
return preg_split('/([^a-zA-ZÄÖÜßäëïöüáéíóúè]+)/u', $text, -1, PREG_SPLIT_NO_EMPTY);
|
33 |
}
|
34 |
|
35 |
|
38 |
*/
|
39 |
function de_stemmer_search_preprocess(&$text) {
|
40 |
// Split words from noise and remove apostrophes
|
41 |
+
$words = preg_split('/([^a-zA-ZÄÖÜßäëïöüáéíóúè]+)/u', $text, -1, PREG_SPLIT_DELIM_CAPTURE);
|
42 |
|
43 |
// Process each word
|
44 |
$odd = true;
|
106 |
|
107 |
function de_stemmer_preprocess($wort) {
|
108 |
$wort = mb_strtolower($wort);
|
109 |
+
$wort = str_replace("ß", "ss", $wort);
|
110 |
+
// replace ß by ss, and put u and y between vowels into upper case
|
111 |
|
112 |
+
$wort = preg_replace( array( '/ß/',
|
113 |
'/(?<=['. DE_STEMMER_VOKALE .'])u(?=['. DE_STEMMER_VOKALE .'])/u',
|
114 |
'/(?<=['. DE_STEMMER_VOKALE .'])y(?=['. DE_STEMMER_VOKALE .'])/u'
|
115 |
),
|
125 |
|
126 |
if (!_de_stemmer_ausnahme($wort)) // check for exceptions
|
127 |
{
|
128 |
+
$wort = strtr($wort, array('ä' => 'a', 'á' => 'a',
|
129 |
+
'ë' => 'e', 'é' => 'e',
|
130 |
+
'ï' => 'i', 'í' => 'i',
|
131 |
+
'ö' => 'o', 'ó' => 'o',
|
132 |
+
'ü' => "u", 'ú' => 'u'
|
133 |
));
|
134 |
}
|
135 |
return $wort;
|
240 |
function _de_stemmer_stoppwort($wort) {
|
241 |
|
242 |
static $stoppworte = array(
|
243 |
+
'ab', 'aber', 'aber', 'ach', 'acht', 'achte', 'achten', 'achter', 'achtes', 'ag', 'alle', 'allein', 'allem', 'allen', 'aller', 'allerdings', 'alles', 'allgemeinen', 'als', 'als', 'also', 'am', 'an', 'andere', 'anderen', 'andern', 'anders', 'au', 'auch', 'auch', 'auf', 'aus', 'ausser', 'außer', 'ausserdem', 'außerdem',
|
244 |
'bald', 'bei', 'beide', 'beiden', 'beim', 'bekannt', 'bereits', 'besonders', 'besser', 'besten', 'bin', 'bis', 'bisher', 'bist',
|
245 |
+
'da', 'dabei', 'dadurch', 'dafür', 'dagegen', 'daher', 'dahin', 'dahinter', 'damals', 'damit', 'danach', 'daneben', 'dank', 'dann', 'daran', 'darauf', 'daraus', 'darf', 'darfst', 'darin', 'darüber', 'darum', 'darunter', 'das', 'das', 'dasein', 'daselbst', 'dass', 'daß', 'dasselbe', 'davon', 'davor', 'dazu', 'dazwischen', 'dein', 'deine', 'deinem', 'deiner', 'dem', 'dementsprechend', 'demgegenüber', 'demgemäss', 'demgemäß', 'demselben', 'demzufolge', 'den', 'denen', 'denn', 'denn', 'denselben', 'der', 'deren', 'derjenige', 'derjenigen', 'dermassen', 'dermaßen', 'derselbe', 'derselben', 'des', 'deshalb', 'desselben', 'dessen', 'deswegen', 'd.h', 'dich', 'die', 'diejenige', 'diejenigen', 'dies', 'diese', 'dieselbe', 'dieselben', 'diesem', 'diesen', 'dieser', 'dieses', 'dir', 'doch', 'dort', 'drei', 'drin', 'dritte', 'dritten', 'dritter', 'drittes', 'du', 'durch', 'durchaus',
|
246 |
'eben', 'ebenso', 'eigen', 'eigene', 'eigenen', 'eigener', 'eigenes', 'ein', 'einander', 'eine', 'einem', 'einen', 'einer', 'eines', 'einige', 'einigen', 'einiger', 'einiges', 'einmal', 'einmal', 'eins', 'elf', 'en', 'ende', 'endlich', 'entweder', 'entweder', 'er', 'ernst', 'erst', 'erste', 'ersten', 'erster', 'erstes', 'es', 'etwa', 'etwas', 'euch',
|
247 |
+
'früher', 'fünf', 'fünfte', 'fünften', 'fünfter', 'fünftes', 'für',
|
248 |
+
'gab', 'ganz', 'ganze', 'ganzen', 'ganzer', 'ganzes', 'gar', 'gedurft', 'gegen', 'gegenüber', 'gehabt', 'gehen', 'geht', 'gekannt', 'gekonnt', 'gemacht', 'gemocht', 'gemusst', 'genug', 'gerade', 'gern', 'gesagt', 'gesagt', 'geschweige', 'gewesen', 'gewollt', 'geworden', 'gibt', 'ging', 'gleich', 'gott', 'gross', 'groß', 'grosse', 'große', 'grossen', 'großen', 'grosser', 'großer', 'grosses', 'großes', 'gut', 'gute', 'guter', 'gutes',
|
249 |
+
'habe', 'haben', 'habt', 'hast', 'hat', 'hatte', 'hätte', 'hatten', 'hätten', 'heisst', 'her', 'heute', 'hier', 'hin', 'hinter', 'hoch',
|
250 |
'ich', 'ihm', 'ihn', 'ihnen', 'ihr', 'ihre', 'ihrem', 'ihren', 'ihrer', 'ihres', 'im', 'im', 'immer', 'in', 'in', 'indem', 'infolgedessen', 'ins', 'irgend', 'ist',
|
251 |
'ja', 'ja', 'jahr', 'jahre', 'jahren', 'je', 'jede', 'jedem', 'jeden', 'jeder', 'jedermann', 'jedermanns', 'jedoch', 'jemand', 'jemandem', 'jemanden', 'jene', 'jenem', 'jenen', 'jener', 'jenes', 'jetzt',
|
252 |
+
'kam', 'kann', 'kannst', 'kaum', 'kein', 'keine', 'keinem', 'keinen', 'keiner', 'kleine', 'kleinen', 'kleiner', 'kleines', 'kommen', 'kommt', 'können', 'könnt', 'konnte', 'könnte', 'konnten', 'kurz',
|
253 |
'lang', 'lange', 'lange', 'leicht', 'leide', 'lieber', 'los',
|
254 |
+
'machen', 'macht', 'machte', 'mag', 'magst', 'mahn', 'man', 'manche', 'manchem', 'manchen', 'mancher', 'manches', 'mann', 'mehr', 'mein', 'meine', 'meinem', 'meinen', 'meiner', 'meines', 'mich', 'mir', 'mit', 'mittel', 'mochte', 'möchte', 'mochten', 'mögen', 'möglich', 'mögt', 'morgen', 'muss', 'muß', 'müssen', 'musst', 'müsst', 'musste', 'mussten',
|
255 |
+
'na', 'nach', 'nachdem', 'nahm', 'natürlich', 'neben', 'nein', 'neue', 'neuen', 'neun', 'neunte', 'neunten', 'neunter', 'neuntes', 'nicht', 'nicht', 'nichts', 'nie', 'niemand', 'niemandem', 'niemanden', 'noch', 'nun', 'nun', 'nur',
|
256 |
'ob', 'oben', 'oder', 'oder', 'offen', 'oft', 'oft', 'ohne',
|
257 |
'recht', 'rechte', 'rechten', 'rechter', 'rechtes', 'richtig', 'rund',
|
258 |
+
'sa', 'sache', 'sagt', 'sagte', 'sah', 'satt', 'schon', 'sechs', 'sechste', 'sechsten', 'sechster', 'sechstes', 'sehr', 'sei', 'sei', 'seid', 'seien', 'sein', 'seine', 'seinem', 'seinen', 'seiner', 'seines', 'seit', 'seitdem', 'selbst', 'selbst', 'sich', 'sie', 'sieben', 'siebente', 'siebenten', 'siebenter', 'siebentes', 'sind', 'so', 'solang', 'solche', 'solchem', 'solchen', 'solcher', 'solches', 'soll', 'sollen', 'sollte', 'sollten', 'sondern', 'sonst', 'sowie', 'später', 'statt',
|
259 |
'tat', 'teil', 'tel', 'tritt', 'trotzdem', 'tun',
|
260 |
+
'über', 'überhaupt', 'übrigens', 'uhr', 'um', 'und', 'und?', 'uns', 'unser', 'unsere', 'unserer', 'unter',
|
261 |
'vergangenen', 'viel', 'viele', 'vielem', 'vielen', 'vielleicht', 'vier', 'vierte', 'vierten', 'vierter', 'viertes', 'vom', 'von', 'vor',
|
262 |
+
'wahr?', 'während', 'währenddem', 'währenddessen', 'wann', 'war', 'wäre', 'waren', 'wart', 'warum', 'was', 'wegen', 'weil', 'weit', 'weiter', 'weitere', 'weiteren', 'weiteres', 'welche', 'welchem', 'welchen', 'welcher', 'welches', 'wem', 'wen', 'wenig', 'wenig', 'wenige', 'weniger', 'weniges', 'wenigstens', 'wenn', 'wenn', 'wer', 'werde', 'werden', 'werdet', 'wessen', 'wie', 'wie', 'wieder', 'will', 'willst', 'wir', 'wird', 'wirklich', 'wirst', 'wo', 'wohl', 'wollen', 'wollt', 'wollte', 'wollten', 'worden', 'wurde', 'würde', 'wurden', 'würden',
|
263 |
+
'z.b', 'zehn', 'zehnte', 'zehnten', 'zehnter', 'zehntes', 'zeit', 'zu', 'zuerst', 'zugleich', 'zum', 'zum', 'zunächst', 'zur', 'zurück', 'zusammen', 'zwanzig', 'zwar', 'zwar', 'zwei', 'zweite', 'zweiten', 'zweiter', 'zweites', 'zwischen', 'zwölf'
|
264 |
);
|
265 |
|
266 |
return in_array($wort, $stoppworte);
|
272 |
*/
|
273 |
function _de_stemmer_ausnahme(&$wort)
|
274 |
{ static $de_stemmer_ausnahmen = array (
|
275 |
+
'schön' => 'schön', // !schon
|
276 |
+
'blüt' => 'blüt', // Blüte (NICHT Blut)
|
277 |
'kannt' => 'kenn',
|
278 |
+
'küch' => 'küch', // Küchen (NICHT Kuchen)
|
279 |
+
'mög' => 'mög',
|
280 |
+
'mocht' => 'mög',
|
281 |
+
'mag' => 'mög',
|
282 |
'ging' => 'geh',
|
283 |
'lief' => 'lauf',
|
284 |
+
'änd' => 'änd' // ändern (NICHT andern)
|
285 |
);
|
286 |
|
287 |
//return FALSE;
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: http://rmarsh.com/donate/similar-posts/
|
|
4 |
Tags: posts, related, similar, related posts, similar posts, tags, post-plugins
|
5 |
Requires at least: 1.5
|
6 |
Tested up to: 2.6.1
|
7 |
-
Stable tag: 2.6.1.
|
8 |
Displays a list of posts similar to the current one based on content, title and/or tags.
|
9 |
|
10 |
== Description ==
|
@@ -31,6 +31,8 @@ This plugin **requires** the latest version of the *Post-Plugin Library:* [downl
|
|
31 |
|
32 |
== Version History ==
|
33 |
|
|
|
|
|
34 |
* 2.6.1.1
|
35 |
* fix to italian language stemmer for PHP4
|
36 |
* 2.6.1.0
|
4 |
Tags: posts, related, similar, related posts, similar posts, tags, post-plugins
|
5 |
Requires at least: 1.5
|
6 |
Tested up to: 2.6.1
|
7 |
+
Stable tag: 2.6.1.2
|
8 |
Displays a list of posts similar to the current one based on content, title and/or tags.
|
9 |
|
10 |
== Description ==
|
31 |
|
32 |
== Version History ==
|
33 |
|
34 |
+
* 2.6.1.2
|
35 |
+
* fix - german language stemmer file now in utf8
|
36 |
* 2.6.1.1
|
37 |
* fix to italian language stemmer for PHP4
|
38 |
* 2.6.1.0
|
similar-posts-admin.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
// Admin stuff for Similar Posts Plugin, Version 2.6.1.
|
4 |
|
5 |
function similar_posts_option_menu() {
|
6 |
add_options_page(__('Similar Posts Options', 'similar_posts'), __('Similar Posts', 'similar_posts'), 8, 'similar-posts', 'similar_posts_options_page');
|
1 |
<?php
|
2 |
|
3 |
+
// Admin stuff for Similar Posts Plugin, Version 2.6.1.2
|
4 |
|
5 |
function similar_posts_option_menu() {
|
6 |
add_options_page(__('Similar Posts Options', 'similar_posts'), __('Similar Posts', 'similar_posts'), 8, 'similar-posts', 'similar_posts_options_page');
|
similar-posts.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name:Similar Posts
|
4 |
Plugin URI: http://rmarsh.com/plugins/similar-posts/
|
5 |
Description: Displays a <a href="options-general.php?page=similar-posts.php">highly configurable</a> list of related posts. Similarity can be based on any combination of word usage in the content, title, or tags. Don't be disturbed if it takes a few moments to complete the installation -- the plugin is indexing your posts. <a href="http://rmarsh.com/plugins/post-options/">Instructions and help online</a>. Requires the latest version of the <a href="http://wordpress.org/extend/plugins/post-plugin-library/">Post-Plugin Library</a> to be installed.
|
6 |
-
Version: 2.6.1.
|
7 |
Author: Rob Marsh, SJ
|
8 |
Author URI: http://rmarsh.com/
|
9 |
*/
|
@@ -22,7 +22,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
22 |
GNU General Public License for more details: http://www.gnu.org/licenses/gpl.txt
|
23 |
*/
|
24 |
|
25 |
-
$similar_posts_version = $similar_posts_feed_version= '2.6.1.
|
26 |
|
27 |
/*
|
28 |
Template Tag: Displays the posts most similar to the current post.
|
3 |
Plugin Name:Similar Posts
|
4 |
Plugin URI: http://rmarsh.com/plugins/similar-posts/
|
5 |
Description: Displays a <a href="options-general.php?page=similar-posts.php">highly configurable</a> list of related posts. Similarity can be based on any combination of word usage in the content, title, or tags. Don't be disturbed if it takes a few moments to complete the installation -- the plugin is indexing your posts. <a href="http://rmarsh.com/plugins/post-options/">Instructions and help online</a>. Requires the latest version of the <a href="http://wordpress.org/extend/plugins/post-plugin-library/">Post-Plugin Library</a> to be installed.
|
6 |
+
Version: 2.6.1.2
|
7 |
Author: Rob Marsh, SJ
|
8 |
Author URI: http://rmarsh.com/
|
9 |
*/
|
22 |
GNU General Public License for more details: http://www.gnu.org/licenses/gpl.txt
|
23 |
*/
|
24 |
|
25 |
+
$similar_posts_version = $similar_posts_feed_version= '2.6.1.2';
|
26 |
|
27 |
/*
|
28 |
Template Tag: Displays the posts most similar to the current post.
|