History log of /dokuwiki/inc/Remote/ApiCore.php (Results 1 – 25 of 75)
Revision Date Author Comments
# 8788dbbd 06-May-2026 splitbrain <86426+splitbrain@users.noreply.github.com>

�� Rector and PHPCS fixes


# db8be586 08-Apr-2026 Andreas Gohr <andi@splitbrain.org>

SearchIndex: review fixes — auto-save MemoryIndex, cast TupleOps counts, style cleanups

- MemoryIndex: auto-save dirty data on unlock/destruction to prevent
silent index corruption when indexes ar

SearchIndex: review fixes — auto-save MemoryIndex, cast TupleOps counts, style cleanups

- MemoryIndex: auto-save dirty data on unlock/destruction to prevent
silent index corruption when indexes are used in tandem
- TupleOps::parseTuples(): cast exploded count strings to int
- FileIndex::retrieveRow(): document the write-on-read padding behavior
- Fix whitespace issues in ApiCore, common.php, Sitemap/Mapper
- Update concept.txt to reflect MemoryIndex auto-save behavior

show more ...


# e1272c08 07-Apr-2026 Andreas Gohr <andi@splitbrain.org>

SearchIndex: add backward compatibility wrappers

Add deprecated wrappers for idx_* and ft_* functions that were removed
when inc/indexer.php and inc/fulltext.php were replaced by the new
Search clas

SearchIndex: add backward compatibility wrappers

Add deprecated wrappers for idx_* and ft_* functions that were removed
when inc/indexer.php and inc/fulltext.php were replaced by the new
Search classes. These wrappers delegate to the new architecture and
ensure existing plugins continue to work.

Deprecated standalone functions: idx_get_indexer, idx_getIndex,
idx_lookup, idx_listIndexLengths, idx_indexLengths, ft_pageSearch,
ft_backlinks, ft_mediause, ft_pageLookup, ft_snippet, ft_pagesorter,
ft_snippet_re_preprocess, ft_queryParser.

Deprecated methods on Indexer: lookupKey, getPages, addMetaKeys,
renameMetaValue, getPID, lookup.

Also migrates remaining core callers (Ajax, FeedCreator, ApiCore) to
use the new classes directly and fixes a UTF-8 case folding bug in
MetadataSearch title lookups.

show more ...


# 6734bb8c 07-Apr-2026 Andreas Gohr <andi@splitbrain.org>

SearchIndex: rewrite MetadataSearch to use Collection classes

Replace MetadataIndex usage in MetadataSearch with the new Collection/Index
architecture. This completes the read-path migration so data

SearchIndex: rewrite MetadataSearch to use Collection classes

Replace MetadataIndex usage in MetadataSearch with the new Collection/Index
architecture. This completes the read-path migration so data written by the
Collection-based Indexer is read back correctly using TupleOps tuple format.

Generalize FrequencyCollectionSearch into CollectionSearch that works with any
AbstractCollection type (Frequency, Lookup, Direct) and handles both
split-by-length and non-split index layouts transparently. DirectCollection
participates via resolveTokenFrequencies() which maps token RID = entity RID.

Key changes:
- AbstractCollection gains isSplitByLength(), resolveTokenFrequencies(),
getEntitiesWithData(), and groupToSuffix() with validation
- Index groups are now int (0 = non-split, positive = token length)
- CollectionSearch provides both addTerm()/execute() for fulltext and
lookup() for metadata-style search (exact/wildcard/callback)
- MetadataSearch delegates entirely to collection APIs
- Shared filterPages() replaces duplicated page filtering logic
- All callers updated from MetadataIndex to MetadataSearch
- Tests moved to Search namespace with full coverage for new APIs

show more ...


# 0b1bbbbb 06-Apr-2026 Andreas Gohr <andi@splitbrain.org>

SearchIndex: rewrite FulltextSearch to use FrequencyCollectionSearch

Replace FulltextIndex->lookupWords() with FrequencyCollectionSearch which
correctly handles the compact tuple format written by t

SearchIndex: rewrite FulltextSearch to use FrequencyCollectionSearch

Replace FulltextIndex->lookupWords() with FrequencyCollectionSearch which
correctly handles the compact tuple format written by the new Indexer.

Introduce QueryEvaluator with typed stack entries (PageSet,
NamespacePredicate, NegatedEntry) for RPN query evaluation. NOT wraps
its operand instead of computing a universe complement, so AND with a
negated operand becomes efficient set subtraction. The full page index
is only loaded for standalone negative or namespace-only queries.

Move QueryParser and QueryEvaluator into the new Search\Query namespace
along with the stack entry types.

Simplify FulltextSearch to orchestration: parse query, look up words,
evaluate, filter, sort. Replace FT_SNIPPET_NUMBER constant with
maxSnippets property. Combine ACL/existence/time filtering into a
single pass.

show more ...


# 83b3accc 06-Apr-2026 Andreas Gohr <andi@splitbrain.org>

SearchIndex: rewrite Indexer to use Collection classes

Replace the intermediate #2943 classes (FulltextIndex, MetadataIndex)
with the new Collection-based architecture. The Indexer is now a thin
sta

SearchIndex: rewrite Indexer to use Collection classes

Replace the intermediate #2943 classes (FulltextIndex, MetadataIndex)
with the new Collection-based architecture. The Indexer is now a thin
stateless orchestrator that delegates all index work to collections.

Key changes:
- Indexer no longer extends AbstractIndex; page name passed to methods
- addPage/deletePage/clear use PageTitleCollection,
PageFulltextCollection, and PageMetaCollection
- New PageMetaCollection replaces separate ReferencesCollection and
MediaCollection with a single class that handles arbitrary metadata
keys dynamically
- Shared writable FileIndex('page') passed to all collections
- Logger callback replaces verbose parameter
- Methods return void instead of bool
- Index classes implement IteratorAggregate for clean data access
- Indexer tests consolidated into namespaced IndexerTest.php
- All callers updated to new stateless API

show more ...


# 7f394dd6 05-Apr-2026 Andreas Gohr <andi@splitbrain.org>

Merge branch 'master' into searchIndex-finish

* master: (55 commits)
Translation update (pt-br)
Bump phpseclib/phpseclib from 3.0.49 to 3.0.50
�� Update deleted files
strict value comparison

Merge branch 'master' into searchIndex-finish

* master: (55 commits)
Translation update (pt-br)
Bump phpseclib/phpseclib from 3.0.49 to 3.0.50
�� Update deleted files
strict value comparison in auth session check. fixes #4602
Translation update (pt-br)
Translation update (pt-br)
remove utf8_encode() from authad plugin
todo checker action: ignore vendor
updated rector and applied it
removed another php 7.4 workaround
removed an old PHP 5 workaround in HTTPClient
remove checks for mbstring.func_overload
removed php 8 polyfills
ignore HTML validation issue with skipped headline levels
declare PrefCookie constant visibility
update slika which fixes another php 8.5 deprecation issue
fix http tests
fix destructuring false returns from changelog functions
avoid using null as cache key
Fix deprecation warning in UTF8/Conversion
...

show more ...


# 093fe67e 07-Mar-2026 Andreas Gohr <andi@splitbrain.org>

updated rector and applied it


# 9df9f0c8 27-Oct-2025 Andreas Gohr <gohr@cosmocode.de>

Merge branch 'master' into searchIndex-finish

There were a lot of conflicts to resolve. Not all of them may have been
resolved correctly...

* master: (1094 commits)
Login accessibility improvemen

Merge branch 'master' into searchIndex-finish

There were a lot of conflicts to resolve. Not all of them may have been
resolved correctly...

* master: (1094 commits)
Login accessibility improvements
Translation update (it)
translation update
translation update
translation update
translation update
translation update
translation update
translation update
translation update
translation update
translation update
translation update
translation update
Remove HTML from strings based on title and tagline
SECURITY: fix XSS vulnerability. fixes #4512
translation update
Fix typos in usermanager English strings
Replace hardcoded message by localized string
set DOKU_INC in rector
...

show more ...


# a8f218d4 15-Mar-2025 Andreas Gohr <andi@splitbrain.org>

API doc block updates


# 0e1bcd98 15-Mar-2025 Andreas Gohr <andi@splitbrain.org>

increased API version


# 72b0e523 15-Mar-2025 Andreas Gohr <andi@splitbrain.org>

API: proper access to the current media revision

Even when the revision is explictly given instead of set to 0. See #4419
for ponderings about why this is necessary and a different approach.


# 61d21e86 15-Mar-2025 kuangfio <kuangfionaly@gmail.com>

Added API endpoint core.getMediaHistory #4147

squashed commits of #4369


# 56bbc10d 17-Dec-2024 Andreas Gohr <andi@splitbrain.org>

init rendering correctly in API

When rendering a page, the ID should be passed.


# 99a3dafa 10-Apr-2024 Andreas Gohr <andi@splitbrain.org>

increase API version for new call, remove unused parameter


# fb93418d 10-Apr-2024 Andreas Gohr <andi@splitbrain.org>

remove obsolete TODO comment


# 885b0fb0 21-Mar-2024 Anushka Trivedi <21999998+opheliagame@users.noreply.github.com>

added API core.getMediaUsage


# d48c2b25 07-Jan-2024 Andreas Gohr <andi@splitbrain.org>

API: code style fixes


# d1f06eb4 06-Jan-2024 Andreas Gohr <andi@splitbrain.org>

API: ApiCore tests fixed and extended


# 9e6b19e6 06-Jan-2024 Andreas Gohr <andi@splitbrain.org>

API: fix listPages

Not all needed fields are returned by the search callback


# 5bef72be 06-Jan-2024 Andreas Gohr <andi@splitbrain.org>

API: getPageHistory is nicer than getPageVersions


# 0eb4820c 06-Jan-2024 Andreas Gohr <andi@splitbrain.org>

API: checkPage needs to consider revision


# b115d6db 05-Jan-2024 Andreas Gohr <andi@splitbrain.org>

API: always pass revision as integer


# 7288c5bd 05-Jan-2024 Andreas Gohr <andi@splitbrain.org>

API fix depth handling in listPages


# 58ae4747 05-Jan-2024 Andreas Gohr <andi@splitbrain.org>

API: initialize responses explicitly

Instead of passing unknown arrays, explicit parameters are passed.
Revision handling should now work correctly since we can pass revision=0
but a mtime.


123