| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
This commit introduces a new define P_GET_FIRST_HEADING_METADATA_LIMIT
that can be set in preload.php in order to change the limit for how many
pages the first heading shall be loaded from metadata in
p_get_first_heading. Changing this is probably most interesting for
Wikis with a lot of pages where loading the title index costs a
significant amount of time and memory.
|
|
|
|
|
|
| |
This makes sure that the indexer is also called for hidden pages so they
aren't missing in the title index and digest subscriptions work for
them, too. Hidden pages are already filtered from the search results.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit fixes two bugs that occurred when msg() was called after
html_msgarea() had already been called.
- the $MSG array is now cleared when it has been printed (otherwise $MSG
has been printed again when another msg() call was done)
- headers_sent() didn't work for me, it always reported false although
html_msgarea() had already been called which might be explainable with
output buffering. This makes msg() now depend on the first call of
html_msgarea() or headers_sent() in order to not to break msg() in
ajax requests etc.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change makes p_get_first_heading load the title index when more
than 11 requests that caused a call to p_get_metadata have already been
done. This means that small pages and the breadcrums won't trigger the
loading of the title index but for larger pages or the sitemap the title
index will be used. This is necessary because every call to
p_get_metadata can trigger the parsing and rendering of a whole page and
there can be many calls when useheading is activated and e.g. the
index/sitemap page is displayed.
Additionally this adds a small title cache that caches titles requested
from p_get_metadata.
Further tests should be done how this affects memory usage and how often
the index loading is triggered in order to see if that parameter should
be adjusted.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
p_get_metadata has a $render parameter that has been disabled by the
restructuring of metadata rendering. This change reactivates it so
rendering metadata can be prevented. This is e.g. used in the search and
in some plugins like indexmenu that use p_get_first_heading. The default
of the parameter has been changed to true as otherwise the new caching
structure won't work as almost all calls to p_get_metadata don't set the
$render parameter.
The indexer call to p_get_first_heading has been changed to set $render
to true as in the indexer only one page will be rendered and the title
in the index should really be the current one.
This does not fix the problem that rendering pages with lots of links or
displaying the index can cause the parsing/rendering of a lot of pages.
|
|
|
|
|
|
|
|
|
|
|
| |
Filenames can't contain ":" on windows and the lock directory contained
the unescaped page id. The lock function tries in an endless loop to
create the lock directory when it fails and the directory doesn't exist.
Just escaping the directory name won't work as then the filename length
limit will be quickly hit when using deep namespace structures with utf8
names. Thus using the md5sum seems to be the best solution. Perhaps the
lock function could also be changed to create a file with that name that
contains the id so the id can be retrieved for debugging purposes.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- better use of Latin terminology for DokuWiki
- ACL is not translated as AAA (Aditus Administrationis Aditus) but
with ICA (Index Custodiae Aditus), which is a more literal translation
- minor corrections of grammar and logic
- The word "namespace" is more literally translated "spatium
nominis", but according to other translations (like the Italian one),
I preferred to use "genus".
|
|\ |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/
|
|
| |
usage: [[paypal>email@address.com]]
|
| |
|
| |
|
| |
|
|
|
|
| |
first headings)
|
| |
|
|
|
|
|
|
| |
As suggested by Robin Getz locale .txt files can now be duplicated and
changed in the conf/lang/ directory and conf/plugin_lang/$plugin/
directory for plugins.
|
| |
|
| |
|
|
|
|
|
|
| |
This avoids disk writes when not needed and possibly also xhtml
rendering when the metadata needs to be rendered but xhtml doesn't
(unless the metadata file is changed).
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The author of MaxgTar (original name of this file) wrote an incorrect
phpdoc license tag mentionning the “GPL” without a version number.
Contacted to clarify the licensing situation of this file, he explained
that he wanted to use the LGPL-2.1:
> I am the author of MaxgTar and I must say I am more than slightly
> surprised to hear about it.
> […]
> I have no doubt that my intention was to use the GNU Lesser General
> Public License, version 2.1.
|
|
|
|
|
| |
as discussed in
http://www.freelists.org/post/dokuwiki/git-changes-20101209,7
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Like ids namespaces are now preg_quoted in the acl check (and therefore
the escaping of "*" has been removed). When plugins call the ACL check
function with strange ids the regex fails otherwise (in the case of the
include plugin errors like "Warning: preg_grep() [function.preg-grep]:
Compilation failed: missing terminating ] for character class at offset
47" have been reported by two users).
I've run the acl tests after this change and everything passes so this
shouldn't break anything but please test this especially with protected
wikis as this change modifies the code that handles namespace
permissions. Furthermore permissions for a namespace foobar are no
longer applied to namespaces with names like foo.ar, I hope nobody has
used that "feature".
When you are using per-user namespaces, user registration is open and
either write or read protection for these namespaces is important to
you this is a security fix for you: When someone wants to get access to
the namespace of a user "foo.bar" he can register as "fooxbar" (where
"x" is an arbitrary character) and will have access to the user
namespace of the user "foo.bar" as when a page in "foo.bar" is checked
it will match the rule for "fooxbar".
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This function abstracts checking a given user and her groups against a
given member list (as used in the superuser and manager options).
It is also used in auth_isManager() and auth_isAdmin(), unlike the
previous function, this one skips the nameencode step as it should be
unnessary here (all input is given decoded).
The test cases where extended by some non-ID user and group names.
People with non-plain auth backends should check that their
administrator and manager setups still work as expected
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes it possible to have modes that do accept headers
(baseonly) in the parser.
Related test cases are still running through but I'm not 100% sure
I did not break something here. So it should be tested a bit more.
This patch will allow plugins to wrap multiple sections, however it
also makes it possible to easily break XHTML validity, because
headers also open and close sections, so plugin authors need to be
aware!
In case you wonder: this patch is not about allowing formatting
inside headers.
|
| |
|
| |
|
| |
|