| Commit message (Collapse) | Author | Age |
|\
| |
| | |
fix E_STRICT errors FS#2427
|
| |
| |
| |
| |
| |
| |
| |
| | |
This commit fixes all E_STRICT messages shown when running the test
suite. There might be more problems not covered by tests, yet.
For compatibility reasons with plugins, E_STRICT errors are still
supressed.
|
| | |
|
|/
|
|
|
| |
This fixes a warning when setting $meta['relation']['firstimage']
using p_set_metadata.
|
| |
|
| |
|
| |
|
|
|
|
| |
see http://irc.dokuwiki.org/index.php?d=2012-07-28#msg403531
|
|
|
|
|
|
|
|
| |
This disables some caches which use static variables in order to prevent
parsing or rendering of the same page more than once during a run and
also disables the cache of parser modes. This means we can no longer
test this behavior but at least it fixes syntax plugin tests and tests
which change pages in order to test certain caching behaviors.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a new rendering limit of currently 5 pages to the
p_get_metadata function. This means that in one request not more than 3
pages will be parsed/rendered. Pages for which the cache can be used
aren't counted. This should make the new cache modes safe to use and
should provide backwards compatibility while keeping the advantage of
rendering metadata on demand (i.e. imagine one included page out of 10
is updated, then the metadata for that page can be rendered, but when
you request a purge of the cache not 10 pages are rendered).
In this commit most of the changes to the p_get_first_heading function
are reverted and the title index is no longer used. This makes the first
heading functionality no longer depends on the search index of DokuWiki.
Maybe it can be added again later when the indexer provides a proper API
for getting metadata values for all or selected pages. The performance
of the p_get_first_heading function should be almost back to the
performance in Anteater as the simple cache of p_get_metadata is used
and also the limit of p_get_metadata is of course applied.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changes the cache logic for metadata. It introduces a new mode that
tries to avoid rendering the page again for simple requests but still
updates the metadata when the page has been changed (but not when the
cache timeout has been reached or purge is used). It simply compares the
time of the last rendering with the last modified time of the page.
The old boolean $render parameter has been changed into an int with
three possible values. Compatibility for the old parameter is provided
using a check with is_numeric using the following mapping:
- false is still don't render (0 is the new value for that)
- true is using that new render logic which means that many plugins will
still work unchanged even if they request a lot of data using
$render=true (1 is the new value for that providing full compatibility
in the case 1 has been used instead of true)
The default value for p_get_first_heading is now that new simple cache
logic, the default value for getting metadata is the cache logic which
should be used with care but is the only way to request (rendered)
metadata that can change because of plugin installations or upgrades.
|
|
|
|
|
|
| |
When the search index is empty, there was a warning and no headings were
displayed. Now the headings are displayed and there is no warning
anymore.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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 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.
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changes fundamentally when metadata is rendered. This commit
introduces a new cache file for every page that just contains a
timestamp and is updated whenever the metadata of that page is rendered.
Metadata is rendered when p_get_metadata is called and the last
rendering has been before a page, metadata, configuration or renderer
update or purge is set like in the xhtml renderer cache.
Metadata is no longer automatically rendered when the xhtml renderer
cache isn't used but will still be rendered when needed as
p_get_metadata is called in the cache.
Metadata is also no longer rendered in the indexer script when missing
as that is already done by pageinfo() before anything else is done so
the indexer script won't be called when there is no metadata file.
|
| |
|
|
|
|
| |
p_purge_metadata now updates the metadata cache and the INFO array like the other metadata writing functions
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Plugins may return false in isSingleton to let plugin_load return a new
instance every time it is called.
Renderer plugins are not loaded with $new set to true, but instead specify
themself that they are not singletons. This behaviour allows the odt renderer
to keep working (see #1598).
|
|
|
|
|
| |
explode converts $string (false) to string ("") and returns it if $delimiter is
not found, therefor looking for the key "" in metadata array.
|
| |
|
|\
| |
| |
| |
| | |
Conflicts:
inc/fulltext.php
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Classes are loaded throug PHP5's class autoloader, all other
includes are just loaded by default. This skips a lot of
require_once calls.
Parser and Plugin stuff isn't handled by the class loader yet.
|
|/ |
|
|
|
|
|
| |
Assigning the return value of new by reference is deprecated, PHP5's new
automatically assigns by reference
|
|
|
|
|
|
|
|
| |
Klier)
Ignore-this: 7b2324a14a9069dfc29df54f3eec2d8b
darcs-hash:20091106193558-2b4f5-b825e6b0682adb9b5672adb29b0edd26bcc9dbf0.gz
|
|
|
|
|
|
| |
Ignore-this: 259cb5773c3144c6c706d87298dcf674
darcs-hash:20091020212338-7ad00-6bf1c5c403491f136a1c02af5ecd9f84d7227107.gz
|
|
|
|
|
|
| |
Ignore-this: 27ea52110bce929b2c61ed8faba67cfc
darcs-hash:20091016205526-c0bf4-35eba4e65d37980a667ba982f7f1ea5b7b07f01c.gz
|
|
|
|
|
|
| |
Ignore-this: a88b14f64c6f6fb827c816214d06c727
darcs-hash:20091004195623-f07c6-d52ce63f5c1f4ad4cf48f78404b3d82f120ccc45.gz
|
|
|
|
|
|
| |
Ignore-this: 8ee7f4c5e4ef4f3e66f959dc9bb0c235
darcs-hash:20090802132535-7ad00-05f5712d442f126b2113df44f8252c1ec07c3852.gz
|
|
|
|
| |
darcs-hash:20090715233729-f7d6d-44fc39da1eb65d138e7987f90c613b10978652f8.gz
|
|
|
|
|
|
|
|
|
|
| |
- add mediameta and license config files into the cascade
- update the cache validity code in cache.php, css.php & js.php to use config_cascade
- redo inclusion of main config files to avoid suppression of errors in config files
- add getConfigFiles($type) function
- minor updates elsewhere to use config_cascade rather than hardcoded config file names
darcs-hash:20090122114457-f07c6-98ad5627fd5df93edf8dd03289b9cf6d81962afe.gz
|
|
|
|
| |
darcs-hash:20081213090400-7ad00-4e21cd75978bb07513f32f5d750658e8d777c59e.gz
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and/or navigation links
$conf['useheading'] values are now:
- 0 : off, use page name in link text
- 'content' : use first heading text for links in wiki page content
- 'navigation' : use first heading text for links in non-page content, e.g. breadcrumps, backlinks, search results, etc.
- 1 : use first heading text in all links
(for backwards compatibility, any other values are mapped to 0 or 1 by empty() function.)
$conf['useheading'] value should now be checked using the useHeading($linktype) function,
where linktype can be "content" or "navigation"
darcs-hash:20081119140758-f07c6-6e26456d50dcecc949fada31b0d4e72877fde1cc.gz
|
|
|
|
|
|
|
|
|
|
|
| |
Running the /bin/indexer.php or the searchindex plugin fails in php5
with several type cast errors. This can be fixed using explicite type casts.
Secondly the include plugin requires the auth.php to be present. As some other
plugins might use quick-acl or the $auth too, indexer.php should require the auth.php
just as the lib/exe/indexer.php does.
darcs-hash:20080804112444-f4337-e12f25329236689b05e31f0db2119e47660a9404.gz
|
|
|
|
|
|
| |
object instance
darcs-hash:20080813125929-f07c6-4f20e147334ebc5be006ec9f260331950ac2e4cb.gz
|
|
|
|
| |
darcs-hash:20080502132023-7ad00-5c2e017926ac7966c940f214e3c31fbf7c54dcea.gz
|
|
|
|
| |
darcs-hash:20080502130234-7ad00-ddd191945f838db2cbdd6f6a0fda2a6e034a2205.gz
|
|
|
|
|
|
|
|
|
| |
A patch to call IO_READ_WIKIPAGE properly.
Without this patch any plugin which wants to intercept IO_READ_WIKIPAGE
will catch almost nothing.
darcs-hash:20080417205233-ae67a-6a82f5c7e84e3b669bab5ecf062abbaad4406d4d.gz
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Inline modes, <php> and <html>, when their associated config setting is off, will
generate highlighted text wrapped in a <code> element.
There is a slight change in behaviour for p_xhtml_cached_geshi(), it will now strip
leading and trailing blank lines from the input code string.
Also fixes an issue where global $conf wasn't declared, preventing the
['target']['extern'] setting being passed to GeSHi
darcs-hash:20080329194443-f07c6-00db3d502b07a6ff0c7f6e5c74a3691438504bcb.gz
|