Changelog: ========== * (trunk) Version 1.0 alpha This release has lots of internal changes in it. All functions representing a parser funcdtions now use a 'pf_' or 'pfObj_' prefix, are declared static and there are new/changed public functions for interaction with 'HashTables' extension. - Compatbility with other extensions increased by using one hash tables store per Parser instance. - Inclusion of special pages in the middle of the page won't reset all defined hash tables anymore. - '#hashprint' will handle '' and '' correct in case it's used in a template. - '#hashprint' will use the languages default comma separator instead of hard-coded ', ' as default. - '#hashprint' will no longer expand the given wiki markup twice. Instead, it will escape special characters of hash values before they will be inserted into the markup. This way it won't be possible anymore that hash values can break the functions output. '$egHashTablesExpansionEscapeTemplates' defines which special characters should be escaped by which template/parser function. It can also be set to null to keep the old behavior as some kind of compatibility mode. - '#hashtotemplate' uses the new escaping mechanism (except '$egHashTablesExpansionEscapeTemplates' is set to null). Therefore '#hashtotemplate' parameter three is depreciated. - '#hashvalue' will only expand its default when required. * November 4, 2011 -- Version 0.7 - buggy behavior in 'hashkeyexists' which led to expanding both arguments 'yes' and 'no' in case custom arguments were given is solved. Now only the one actual case is being expanded. - 'hashtotemplate' now changes '{' to '{' since '{{' made some problems in some cases. - 'hashprint' last parameter for print order now evaluates templates and arguments as it should always have done. - 'hashmerge' on single hash will re-asign its numeric keys in ascending order instead of doing nothing. - using hook 'ParserFirstCallInit' now. - some gernal cleanup done. - put into wikimedia.org svn (http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/HashTables/) - distributed under ISC license. * August 3, 2011 -- Version 0.6.3 - minor bug in 'parameterstohash' function solved. * March 29, 2011 -- Version 0.6.2 - 'hashtotemplate' has a new parameter to define a string which will replace pipes '|'. Can be useful to preserve links. * January 24, 2011 -- Version 0.6.1 - Constant VERSION and function getHash() added to class ExtHashTables. * January 19, 2011 -- Version 0.6 - New public class methods for creating and removing hash tables. Good for use by other extensions. - New experimental function 'hashtotemplate'. * August 3, 2010 -- Version 0.5.1 - Hashinclude didn't trim key and value so keys with ending space ' ' and values with leading space were possible when defining something like {{#hashinclude: a | a = 1}} * August 1, 2010 -- Version 0.5 - New parameter for function 'hashtoarray' which allows to specify the name of a second array which will contain the key names. - Function 'arraytohash' doesn't mind non existent arrays in parameter 2 anymore. This allows to create an hash table with keys only. * July 20, 2010 -- Version 0.4 - Removed critical bug. Some kind of "Superglobal" HashTables on page imports and job queue jobs. Values were passed from one page to another page. * June 11, 2010 -- Version 0.3 - Third parameter for 'arraytohash' allows to set a key array. - New function 'hashkeyexists'. * June 6, 2010 -- Version 0.2 - New functions 'hashmerge', 'hashmix', 'hashdiff', 'hashinclude' and 'hashexclude'. - New functions if 'ArrayExtension' is available in the wiki: 'hashtoarray' and 'arraytohash'. - New parameter for 'hashprint' which allows to define the print order thru an array. * Mai 30, 2010 -- Version 0.1 - First version of HashTables featuring the functions 'hashdefine', 'hashvalue', 'hashsize', 'hashprint', 'hashreset' and 'parameterstohash'.