* Rename filter base class from filter_base to moodle_text_filter
* Remove unnecessary explicit constructors in moodle_text_filter
subclasses
* New filter_manager class, rather than static methods in filter_base
* Move some logic out of weblib, and into filter_manager
* Count filtering ops when $CFG->perfdebug on, via
performance_measuring_filter_manager
* Kill unused filter_string function. Petr said it should have been
private to weblib
This makes filters more plugginable, becuase with this lang file name, get_string will look for the filter name in filter/myfilter/lang/en_utf8/filter_myfilter.php.
To do this, there is a new function filter_get_name in filterlib that contains the logic.
Also, a new function filter_get_all_installed to replace the logic for getting all filters that was duplicated in three places.
filter_get_name no longer does such a nice fall-back if the name is missing, to encourage people to supply the right string. The fallback now looks like '[[filtername]] (filter/tidy)'.
This is an attempt to fix filter problems caused by glossary matches on %
(which also affect matches on * and #). Works for the sample cases I have,
but we may be breaking subtly in other places.
to specify a replacement phrase instead of printing the linked
phrase I introduced a bug about text being showed with the case
of the concept instead of the case of the text under case
insensitive filtering. Detected and solved now. Bug 3688.
(http://moodle.org/bugs/bug.php?op=show&bugid=3688)
Merged from MOODLE_15_STABLE
Now it supports a replacementphrase to be passed
so, the original phrase will be replaced. Nothing happens
if empty. Part of bug 3605.
(http://moodle.org/bugs/bug.php?op=show&bugid=3605)
Merged from MOODLE_15_STABLE
Moved some code to two new specialised functions that
are only executed when something has changed in the
text avoiding some (from 2800 downto 150 in my test course!)
regexp calls and arrays generation.
The existing bug about concept strings contained in other concept
strings (e.g: "Test Quiz" and "Test Quiz II") becoming double-linked
in now out too.
I hope this is the latest revision to filterlib for a looong time.
Tested under PHP 4.3.11 and PHP 5.0.4, it would be very interesting
to test it under other versions/OSs.