Daniel Kraus
34720765da
Implement config for check-redirect and magic word.
...
Added two new configuration variables, $wgLinkTitlesCheckRedirect and
$wgLinkTitlesEnableNoTargetMagicWord, that can be used to increase
performance. If both are overridden to be false, the target page content
will not be fetched from the database to check for redirect or the
occurrence of a magic word, which saves a lot of time.
2014-06-10 13:41:35 +02:00
Daniel Kraus
5842430021
Check if content was modified before committing.
2014-06-10 11:55:55 +02:00
Daniel Kraus
e5008b9997
Use ArticleAfterFetchContentObject hook.
...
No longer use deprecated ArticleAfterFetchContent hook. The new hook
requires MediaWiki 1.21 or later.
2014-06-08 22:52:36 +02:00
Daniel Kraus
adbc1ea5cd
Use PageContentSave rather than ArticleSave hook.
...
This commit also contains some refactoring which should lend itself to
increased performance.
2014-06-08 19:21:41 +02:00
Daniel Kraus
1542901551
Complete documentation of source code.
2014-06-05 22:41:09 +02:00
Daniel Kraus
56dc484949
Remove entry point warning from body file.
2014-06-03 21:44:47 +02:00
Daniel Kraus
3ea8d9509f
Change bot message for batch processing, add user.
2014-06-03 19:16:23 +02:00
Daniel Kraus
b32d48bdc9
Move the page processing function to LinkTitles class.
...
A public static function was created to DRY things up.
2014-06-03 18:52:04 +02:00
Daniel Kraus
ffb8daa1ad
Remove superfluous variable; comment code.
2014-06-03 18:28:25 +02:00
Daniel Kraus
256f905c69
Prevent linking inside attributes etc.
...
Includes prevention of linking in class and style attributes of WikiTables.
2014-06-02 19:58:01 +02:00
Daniel Kraus
cf792072dd
Prevent creating indirect links to self.
...
Added code to check if a target page redirects to the current page, and
prevents linking to that target page. Note that this does not catch
situations where a page title exists twice, once with first capital letter
and once with first lowercase letter (should happen on test systems only).
2014-06-02 18:55:02 +02:00
Daniel Kraus
821d6d6b34
Prevent parsing in pre, html, and script tags.
2014-06-02 18:26:39 +02:00
Daniel Kraus
3d37b2d8ba
Refactor smart mode code for increased performance.
...
The preg_replace_callback callback functions were removed as static
functions and declared inline; the callback function for $wgCapitalLinks ==
false was simplified to speed up the process.
2014-06-02 18:22:53 +02:00
Daniel Kraus
7cb5b713ab
Add __NOAUTOLINKTARGET__ magic word; refactor.
...
The magic word __NOAUTOLINKTARGET__ will prevent a page from being
automatically linked to.
Some minor refactoring was performed.
2014-06-02 16:25:03 +02:00
Daniel Kraus
2930916ce6
Adjust copyright year.
2014-06-01 18:10:31 +02:00
Daniel Kraus
33a2169301
Fix regular expression.
...
The regular expression used to split the page content had a few pipe
characters in the wrong places, due to the previous 'cleaning-up' of the
convoluted expression for version 2.3.0.
2013-08-29 19:54:57 +02:00
Daniel Kraus
8257471d89
Prevent linking inside preformatted text and code.
...
Ignore lines that start with a space as well as text enclosed in <nowiki> or
<code> tags.
2013-08-28 19:40:04 +02:00
Daniel Kraus
ad700ca7f4
Do not mess up page content with leading slashes.
...
If a page title started with a slash, the algorithm to deal with leading
capitals would produce a faulty regexp by accessing $escapedTitle[0] and
substr($escapedTitle, 1), which would only capture the slash that escapes
the slash.
Also fix small bug in template detection (make expression non-greedy).
2013-08-27 20:55:06 +02:00
Daniel Kraus
9d414d0e5e
Prevent crashes due to regexp compilation errors
...
Page titles are now properly escaped using preg_quote() to prevent regexp
compilation errors if the title contains characters with special meanings in
regular expressions.
2013-08-09 17:36:32 +02:00
Daniel Kraus
3bf0ddfe17
Make the SQL query work with sqlite databases.
...
The fallback query does not use the CHAR_LENGTH function, but uses LENGTH.
2013-07-22 22:00:40 +02:00
Daniel Kraus
53ad020f1d
Fix case-sensitive linking when $wgCapitalLinks is false.
2013-04-16 21:48:30 +02:00
Daniel Kraus
aaa89cb536
Fix invalid callback error due to non-static declaration of LinkTitles::removeMagicWord.
2013-03-06 19:02:50 +01:00
Daniel Kraus
ae1f72aefd
Do not remove magic word when saving page.
2013-02-23 14:09:33 +01:00
Daniel Kraus
6d38db71af
Use MagicWord class to handle the magic word; update copyright year.
2013-02-23 12:38:39 +01:00
Daniel Kraus
a6544b37d9
Add preliminary support for __NOAUTOLINKS__ magic word.
2013-02-20 21:47:23 +01:00
Daniel Kraus
05d77684c2
Introduce smart mode ($wgLinkTitlesSmartmode).
...
Smart mode generates aliases for page titles if a case mismatch is
detected.
2013-01-29 21:17:21 +01:00
Daniel Kraus
a448b8632b
Generate aliases for case-mismatched page titles.
...
If a page title does has a different case than an occurrence of the same
word(s) on the page that is being edited, the extension will now
automatically generate 'piped' links such as [[Linking titles|Linking
Titles]].
2013-01-26 18:44:45 +01:00
Daniel Kraus
455f333c28
Add option $wgLinkTitlesIgnoreCase to enable case-sensitive linking of page titles.
2013-01-22 16:11:25 +01:00
Daniel Kraus
77c5840199
Fix bug that could prevent linking when $wgLinkTitlesFirstOnly was set to true.
2012-12-31 12:54:15 +01:00
Daniel Kraus
5f82daad6a
Added two options to restrict linking to whole words.
2012-12-22 17:15:29 +01:00
Daniel Kraus
a2850bb318
Introduce new option to link only the first occurrence of a title on a page.
2012-12-11 16:37:06 +01:00
Daniel Kraus
55e6f01b5f
Add new option to skip parsing of templates.
2012-10-09 19:40:33 +02:00
Daniel Kraus
b704c3187e
Fix incorrect handling of PreferShortTitles option.
2012-10-05 18:31:35 +02:00
Daniel Kraus
487b91b016
Fix typo in regexp that prevented proper functioning.
2012-10-05 18:02:16 +02:00
Daniel Kraus
084450d00a
1.3.0: Don't link template names.
2012-09-15 10:29:45 +02:00
Daniel Kraus
c4fbcda676
Implement black list option.
2012-07-19 09:19:12 +02:00
Daniel Kraus
cc1dae2ad3
Stop parsing urls and e-mail addresses.
2012-05-30 14:03:58 +02:00
Daniel Kraus
c12578ed92
Implement option to not parse headings
2012-05-22 18:59:22 +02:00
Daniel Kraus
30586d3446
Fix parsing on page viewing only
2012-05-21 19:09:28 +02:00
Daniel Kraus
1175328eba
Add options to parse on editing or rendering a page.
2012-05-21 18:29:28 +02:00
Daniel Kraus
5d3413f8e7
Fix bug with minimum title length
2012-05-20 17:22:49 +02:00
Daniel Kraus
be1a02678d
Add option
2012-05-20 17:19:15 +02:00
Daniel Kraus
4e3d31981c
Implement PreferShortTitles option
2012-05-20 17:00:46 +02:00
Daniel Kraus
8ea8da6100
Use alternative algorithm to catch all occurrences of a title
2012-05-20 16:50:25 +02:00
Daniel Kraus
dee2149532
Only look for titles from normal pages (namespace = 0)
2012-05-20 15:02:57 +02:00
Daniel Kraus
b0b30000c1
Do not throw an error if something goes wrong.
2012-05-20 14:53:04 +02:00
Daniel Kraus
602831acc1
Fix inadvertent page deletions; prevent self references
2012-05-20 14:41:07 +02:00
Daniel Kraus
20e5a284cf
Fix internationalization
2012-05-20 13:14:12 +02:00
Daniel Kraus
142c71e723
First working version.
2012-05-20 12:58:29 +02:00
Daniel Kraus
13238548fb
Try to get internal API calls to work
2012-05-19 16:21:20 +02:00