Commit graph

70 commits

Author SHA1 Message Date
Mark A. Hershberger
50adf671ef Update usage of getRedirectSnippet() and getSectionSnippet()
Meant to include this in I571e015814ea756771c66c243cb8db86448db463 but
it was missed.

Change-Id: I9ff805daee1c10d7ea75dedd0ba59b467aaadd50
2014-10-05 16:02:05 -04:00
Mark A. Hershberger
ee12c35ac5 Update usage of getTitleSnippet(), getRedirectSnippet() and getSectionSnippet()
According to I5aae8caf, the parameter is gone now.  Found while
tracking down a strict warning in MWSearch.

Change-Id: I571e015814ea756771c66c243cb8db86448db463
2014-09-26 16:46:23 -04:00
Chad Horohoe
67dcb0b2d6 Properly deprecate srprop=score|hasrelated
Logs stats on usage, output param descriptions for callers.

Change-Id: I000b91ff4d81dc1563231cd3ae0b56952b9574fd
2014-09-12 09:29:18 -07:00
Chad Horohoe
a82024c637 Remove "related" searches
Poorly documented and never used anywhere properly.

- No core search backend supports it.
- MWSearch implements it but we've never turned it on.
- SolrStore copies MWSearch but it doesn't even work.
- CirrusSearch doesn't bother because it's silly.

Change-Id: I8b052e8e772030fba6c361fdb2775b10a7f7a15a
2014-09-12 09:28:05 -07:00
Yuri Astrakhan
703464a88c Cleanup - let's make IDEs more useful
http://phpdoc.org/docs/latest/references/phpdoc/types.html

If IDEs have many warnings, we don't look at them.
Let's minimize the number of warnings, and make them useful again.

* Some function docs fixes
* Removed unused $iwprefixes var in ApiQuerySearch.php
* declared private $blockStatusByUid in SpecialActiveusers
* declared private $repo in UploadFromChunks

Change-Id: Ifd20f78b168b9a913fdb8d89dc26a76a173b1c29
2014-08-13 16:02:59 -04:00
Brad Jorsch
f0a6435f3b API: Remove action=paraminfo 'props' and 'errors' result properties
The format for 'props' was never specified and the list for 'errors' is
impossible to keep updated when considering that many errors come from
MediaWiki backend code and extension hook functions. And since there
doesn't seem to be any real use case for either of these, let's just
kill both of them instead of wasting effort on trying to fix them.

Note that neither getResultProperties nor getPossibleErrors are called
from any extensions in gerrit, and none of the other deprecated methods
are called outside of the implementations of those two methods. Removing
the obsolete methods is left to the maintainers of the extensions, as
keeping them hurts nothing and is needed to maintain compatibility with
earlier versions of MediaWiki.

Change-Id: Ie11a401d60c834059fbf1b5625ca8ea093b3337c
2014-08-07 16:51:19 +01:00
Chad Horohoe
af87cb4a3f Remove score display from search engine
Scores are an internal metric that should not be exposed to
users, plus most backends fail to even support it.

Removes PostgresSearch*-specific result classes as they're not
needed anymore.

Change-Id: I00acaabad0565b9a5b3524c992feea366eb74bcc
2014-08-07 14:19:37 +01:00
Reedy
e48ecbc524 Switch API to use Config classes
Only done where globals are config (so not $wgParser, $wgContLang etc)

Change-Id: Ic39cdd858cfb9096a2bc09618f97e64270d76f13
2014-06-15 23:56:38 +01:00
Thiemo Mättig
23632a4ecd Use precise ApiMain/ApiQuery type hints in all API modules
Which type is used depends on the ApiModuleManager responsible for
the API module. There are two managers, one in ApiMain and one in
ApiQuery. Both contain a list of API modules they instantiate.
Both use $this as the first parameter in the constructors of the
individual modules. There is no other regular way to instantiate the
modules, so we know the type must either be ApiMain or ApiQuery.

The lists don't intersect.

I would have prefered the naming scheme $mainModule for ApiMain
modules and $queryModule for ApiQuery modules but since this
doesn't add much I left the shorter variable names untouched.

Change-Id: Ie6bf19150f1c9b619655a06a8e051412665e54db
2014-05-16 11:07:23 -04:00
Siebrand Mazeland
f994817f6b Pass phpcs-strict on various files in includes/
These files have all had treatment before, and these occurrences have either
been missed or have been introduced after.

Change-Id: I06cdab4616b5bff47c85152df28f18c861730a23
2014-04-24 21:50:01 +02:00
umherirrender
e63299d208 Fixed some @params documentation (includes/api)
Swapped some "$var type" to "type $var" or added missing types
before the $var. Changed some other types to match the more common
spelling. Makes beginning of some text in captial.
Also added some missing @param.

Change-Id: I758fa4ad80ac95e2ddd3770bcb9b7d2e57ec34ea
2014-04-18 13:55:36 +00:00
Chad Horohoe
7e8c48ac3d Remove "include redirects" option from search
Always include redirects. Search results are worse without them
and MWSearch has never respected this option anyway.

Change-Id: I0ebe321a3b14e7960aa98e3225dc5a19ba916e7d
2014-03-26 09:28:26 -07:00
addshore
719d7a2f03 Add final period to API module descriptions
Change-Id: Icae68c1ab1fd0006e00a3a9a56ae8f831d3d0d45
2014-03-10 09:04:08 +00:00
Chad Horohoe
653b7d63bc Support interwiki searches in API
Adds new SearchResult methods for getting namespace text

Bug: 60975
Change-Id: I381c8681cabfa9ff7a73cbe0286ed32d267a5990
2014-02-25 13:54:23 -08:00
Siebrand Mazeland
a37e466918 Fix CodeSniffer errors and warnings on yet more API classes
Change-Id: I67739a0b7c456f3684abea84833753e79a485c07
2013-11-15 17:53:10 +00:00
Siebrand Mazeland
dadbe23810 I'm in your API classes updating your formatting
Change-Id: I6087573dfdc6edcd63062508056ebcf3502e03f2
2013-11-14 18:28:26 +00:00
Chad Horohoe
dd21f34c05 Select search backend by query parameter
This is useful when you're doing testing of multiple search
engines and you want to compare results.

Note that it doesn't do anything for the prefix search which is ok!

Change-Id: I96a08c64ac84e93b0bec2e8b08d8943b775e68d1
2013-08-12 17:09:01 -07:00
umherirrender
6f79eef473 Fixed spacing around parenthesis in includes
Change-Id: Ie8adc00f4ee8ecec4554e584c18d5d2073415397
2013-04-28 15:50:07 +00:00
Chad Horohoe
ea430cba3d Handle search engine returning status objects to the API
This is a followup to I54ab5207, which allowed search backends
to return status objects. We handled it in Special:Search, but
the API was overlooked.

Bug: 47353
Change-Id: Ib7abe8d5bc19d27c472053602c0e43cb1301b078
2013-04-22 01:13:24 +00:00
Yuri Astrakhan
503cd2f4ae (bug 35885) remove api version string and parameter
API was using SVN's version keyword which GIT does not support.
All related methods were either removed, or for those that
could have been used from extensions, emptied out.
api.php?version now shows unrecognized param warning.

Change-Id: I910ca1448ed2ed697ac19b17c486d130aa1d7e03
2013-01-18 12:41:18 -05:00
Yuri Astrakhan
32fd68f81c Minor cleanup
Fixed spacing, eol chars, "string" --> 'string'

Change-Id: I630247c6c5b469efb67ec9de32e8533ae88e59fb
2013-01-12 01:50:48 -05:00
umherirrender
2de5c3e06c Use NS_* constant for default namespace in api
Change-Id: Ic46e7fe1877c4067b1b6bbea71216c0cdf594cb2
2012-12-27 14:54:16 +01:00
Antoine Musso
4f5d2386f3 escape HTML elements in docblock with double quotes
Doxygen choke on text enclosed by '<' and '>' since it tries to
interpret them as HTML or XML elements. This patch adds double quotes
in includes/api/*.php files around the two following strings:

 <Firstname>.<Lastname>@gmail.com
 <Firstname><Lastname>@gmail.com

Which becomes:

 "<Firstname>.<Lastname>@gmail.com"
 "<Firstname><Lastname>@gmail.com"

Tested locally, it prevents doxygen 1.8.0 related warnings.

Change-Id: I36d82eb3fd4989ee3ffc65b0b527b83711d1ba69
2012-07-15 22:15:45 +02:00
Petr Onderka
80aa025528 Added result properties to action=paraminfo
Added information about the properties of the results of API calls
to action=paraminfo, including information about "property groups":
what should the prop parameter be set to to get that property.

Uses the same format for types as parameters already do.
The output format of some modules doesn't fit this, so the result
properties for them weren't added, or only partially.

Partially implemented modules:
* expandtemplates:
  parsetree is in its own tag
* protect, allusers, backlinks, deletedrevs, info, imageinfo,
  logevents, querypage, recentchanges, revisions, searchinfo,
  usercontribs, userinfo, users, watchlist, upload:
  response with partially complex structure

Not implemented modules:
* feedcontributions, feedwatchlist, opensearch, rds:
  non-standard reponse
* help:
  error is normal response; not very useful for automated tools anyway
* paraminfo, parse, pageprops, siteinfo, userrights:
  response with complex structure

Change-Id: Iff2a9bef79f994e73eef3062b4dd5461bff968ab
2012-06-06 19:24:59 +02:00
Aaron Schulz
5a6559d8b1 Reverted r108743 per CR comment. This should at least be discussed first. 2012-01-12 19:41:18 +00:00
Sam Reed
a5c200a25b Kill "* @return void" 2012-01-12 19:12:24 +00:00
Sam Reed
53000baecf Oh noes, moar http:// -> https:// 2011-11-28 15:43:11 +00:00
John Du Hart
2e7d867478 Removed the 'eclipse helper' bit on top of every API module
It's a parctice that dates back to 2006 when the API was first written, and frankly isn't covered by the coding conventions. Same thing with the docblocks, they're all copypasted with some bits changed and don't even make sense if you look at them in the genereated code docs.
I don't feel that any of us depend on this anymore (get a better IDE), so in the inerest of consistancy it's time we said goodbye to it.
2011-11-16 00:17:26 +00:00
Roan Kattouw
2c5c3caa82 (bug 32256) API list=search stops at first invalid result. Thanks to Lupo for finding the cause of the bug: in the code path for invalid titles, the iterator wasn't moved to the next result, so the loop kept processing the same result until it hit the limit. 2011-11-09 17:20:05 +00:00
Sam Reed
a5628f5734 Based on diff to wikia, set more functions consistently public rather than protected 2011-08-17 22:24:21 +00:00
Sam Reed
4217b92e0e * (bug 29748) Add API search prefix support
Patch by TheDJ
2011-07-26 15:10:57 +00:00
Sam Reed
9c37ab4fb3 * (bug 28817) Add reference help page link to API Modules
Last followup of r92396

Should be all modules with documentation pages in core now documented...
2011-07-17 17:02:06 +00:00
Derk-Jan Hartman
54d8f55be7 Correct the documentation of srprop. 2011-07-06 20:47:26 +00:00
Derk-Jan Hartman
175a4a4032 Actually return the title of the section, instead of the pagetitle when requesting srprop=sectiontitle from API search.
Fixes bug 29746
2011-07-06 20:41:12 +00:00
Sam Reed
8f93ebbde0 * (bug 29745) Fatal error in API search
Properly name objects being used
2011-07-06 20:18:22 +00:00
Sam Reed
25ea9b8d95 Replace more multiple calls to $this->getResult() in methods with temporary variable 2011-06-30 01:06:17 +00:00
Sam Reed
f8e4915b9c Fix the last assignment in conditional, bit of code duplication, as the next isn't iterable :( 2011-03-25 10:36:07 +00:00
Sam Reed
fa64025161 More parameter documentation 2011-02-19 00:30:18 +00:00
Sam Reed
6309c920dd Delete all the "API for MediaWiki 1.8+" comments
Add since to ApiQueryQueryPage
2010-12-22 20:52:06 +00:00
Sam Reed
f91f813494 Minor followup r75809, don't use nested if's unnecesserily 2010-11-08 12:23:24 +00:00
Sam Reed
ce9bd7697e * (bug 25741) Add more data to list=search's srprop. Patch by Brad Jorsch 2010-11-01 18:14:45 +00:00
Alexandre Emsenhuber
457eb73b61 Standardised file description headers, added @file 2010-08-07 19:59:42 +00:00
Sam Reed
6c2abce867 Make search enforced by API in search by setting PARAM_REQUIRED
Same for ApiQueryCategoryMembers and ApiWatch title params

More followup to r70461
2010-08-04 20:47:58 +00:00
Tim Starling
b2dc451c82 Rewrote r69339 etc. to clean up API cache header handling.
* Introduced a "cache mode" concept to simplify the header generation code, and to avoid odd results when conflicting cache header requests are received from submodules, or at least to formalise the handling of such cases.
* Made the cache mode private by default, so that code written in ignorance of caching tends to be safe. If different query modules are used in a single request, private caching is preferred over public caching.
* Removed the "must-revalidate" option from all CC headers, this is really specific to page views with a hacked squid in front, I don't think it's applicable here.
* Made the watchlist module private. This is really the definition of private data. There's nothing in the HTTP spec that says the URL for a CC:public request is private and can't be leaked. CC:private provides protection against unknown proxy behaviour.
* In ApiQueryAllmessages: avoid calling $wgLang->getCode() to check if it's necessary to make a new $wgLang when lang= is specified, since this is the only thing that unstubs $wgUser.
* Removed "FIXME: should this check $user instead of $wgUser?" Answer is no.
2010-07-23 07:17:56 +00:00
Bryan Tong Minh
48147f8692 Follow-up r69203: remove str_replace( '_', ' ', $query ); was only needed for Special:Search/$par case, not applicable to API 2010-07-21 14:31:24 +00:00
Bryan Tong Minh
bf99865549 (bug 22339) Added srwhat=nearmatch to list=search to get a "go" result
Refactored SearchResult constructor to accept Titles. New static function newFromRow and newFromTitle can be used.
Added SearchNearMatchResultSet to wrap the output of SearchEngine::getNearMatch.
2010-07-09 11:08:18 +00:00
Sam Reed
2d21295243 * (bug 23473) - Give description of properties on all modules
Commit patch by John Du Hart with a few minor tweaks/fixes
2010-06-23 19:36:26 +00:00
Derk-Jan Hartman
921619b119 Correct the address of the FSF in some of the GPL headers
59 Temple Place -> 51 Franklin Street
2010-06-21 13:13:32 +00:00
Sam Reed
e55ed729c4 Mixture of things.
Couple of class comments

Normalisation of "." usage at end of lines (removed)

Normalisation of {prefix}parameter as per bug 23461
2010-05-11 22:30:18 +00:00
Jack Phoenix
eba6c94002 API: fix copyright symbol, coding style cleanup, more braces 2010-02-24 14:45:19 +00:00