Remove everything that is not in the release version of MediaWiki 1.35.0

This commit is contained in:
Pierre Schmitz 2020-11-01 11:10:07 +01:00 committed by Pierre Schmitz
parent f59e705dcd
commit 2091055161
423 changed files with 164 additions and 148596 deletions

View File

@ -1,13 +0,0 @@
root = true
[*]
indent_style = tab
indent_size = tab
tab_width = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
trim_trailing_whitespace = false

View File

@ -1,16 +0,0 @@
# Upstream code
/resources/lib/
/resources/src/jquery.tipsy/
/resources/src/mediawiki.libs.jpegmeta/
# Skip function
/resources/src/skip-Promise.js
# Build tooling
/docs/
/vendor/
/tests/coverage/
/tests/phpunit/data/registration/duplicate_keys.json
# Nested projects
/extensions/
/skins/

View File

@ -1,18 +0,0 @@
{
"extends": [
"wikimedia/client",
"wikimedia/jquery",
"wikimedia/mediawiki",
"wikimedia/jsduck"
],
"globals": {
"require": "readonly",
"module": "readonly"
},
"rules": {
"max-len": "off",
"mediawiki/valid-package-file-require": "off",
"no-jquery/no-global-selector": "off",
"no-shadow": "error"
}
}

View File

@ -1,55 +0,0 @@
warmup: true
runs: 7
scenarios:
Read a page:
# The only page that exists by default is the main page.
# But its actual name is configurable/unknown (T216791).
# Omit 'title' to let MediaWiki show the default (which is the main page),
# and a query string to prevent a normalization redirect.
url: "{MW_SERVER}{MW_SCRIPT_PATH}/index.php?noredirectplz"
viewport:
width: 1100
height: 700
reports:
- navtiming
- paint
- transfer
probes:
- screenshot
- trace
Load the editor:
url: "{MW_SERVER}{MW_SCRIPT_PATH}/index.php?action=edit"
viewport:
width: 1100
height: 700
reports:
- navtiming
- paint
- transfer
probes:
- screenshot
- trace
View history of a page:
url: "{MW_SERVER}{MW_SCRIPT_PATH}/index.php?action=history"
viewport:
width: 1100
height: 700
reports:
- navtiming
- paint
- transfer
probes:
- screenshot
- trace
View recent changes:
url: "{MW_SERVER}{MW_SCRIPT_PATH}/index.php?title=Special:RecentChanges"
viewport:
width: 1100
height: 700
reports:
- navtiming
- paint
- transfer
probes:
- screenshot
- trace

513
.mailmap
View File

@ -1,513 +0,0 @@
# Map author and committer names and email addresses to canonical real names
# and email addresses.
#
# To update the CREDITS file, run maintenance/updateCredits.php
#
# Two types of entries are useful here. The first sets a canonical author
# name for a given email address:
#
# Canonical Author Name <author email>
#
# The second allows collecting alternate email addresses into a single
# canonical author name and email address:
#
# Canonical Author Name <author email> <alternate email>
#
# Mappings are only needed for authors who have used multiple author names
# and/or author emails for revisions over time. Author names beginning with
# "[BOT]" will be omitted from the CREDITS file.
#
# See also: https://git-scm.com/docs/git-shortlog#_mapping_authors
#
[BOT] Gerrit Code Review <gerrit@wikimedia.org>
[BOT] Gerrit Patch Uploader <gerritpatchuploader@gmail.com>
[BOT] jenkins-bot <jenkins-bot@gerrit.wikimedia.org>
[BOT] jenkins-bot <jenkins-bot@gerrit.wikimedia.org> <jenkins-bot@wikimedia.org>
[BOT] Translation updater bot <l10n-bot@translatewiki.net>
[BOT] libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Aaron Schulz <aschulz@wikimedia.org>
Aaron Schulz <aschulz@wikimedia.org> <aaron@users.mediawiki.org>
Adam Roses Wight <adam.wight@wikimedia.de>
Adam Roses Wight <adam.wight@wikimedia.de> <awight@wikimedia.org>
Adam Roses Wight <adam.wight@wikimedia.de> <spam@ludd.net>
addshore <addshorewiki@gmail.com>
addshore <addshorewiki@gmail.com> <adamshorland@gmail.com>
Aditya Sastry <ganeshaditya1@gmail.com>
Adrian Heine <adrian.heine@wikimedia.de>
Alangi Derick <alangiderick@gmail.com>
Alex Z. <mrzmanwiki@gmail.com> <mrzman@users.mediawiki.org>
Aleksey Bekh-Ivanov <aleksey.bekh-ivanov@wikimedia.de>
Alexandre Emsenhuber <ialex.wiki@gmail.com>
Alexandre Emsenhuber <ialex.wiki@gmail.com> <ialex@users.mediawiki.org>
Alexandre Emsenhuber <ialex.wiki@gmail.com> <mediawiki@emsenhuber.ch>
Alexander Monk <krenair@gmail.com>
Alexander Monk <krenair@gmail.com> <alex@wikimedia.org>
Alexander Monk <krenair@gmail.com> <krenair@wikimedia.org>
Alexia E. Smith <washuu@gmail.com>
AlQaholic007 <soham.parekh1998@gmail.com>
Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
Amir E. Aharoni <amir.aharoni@mail.huji.ac.il> <amire80@users.mediawiki.org>
Amir Sarabadani <ladsgroup@gmail.com> <Ladsgroup@gmail.com>
Anders Wegge Jakobsen <awegge@gmail.com> <wegge@users.mediawiki.org>
Andre Engels <andreengels@gmail.com> <a_engels@users.mediawiki.org>
Andrew Garrett <agarrett@wikimedia.org>
Andrew Garrett <agarrett@wikimedia.org> <werdna@users.mediawiki.org>
Andrew Otto <acotto@gmail.com>
Angela Beesley Starling <wiki@nge.la> <angelab@users.mediawiki.org>
Antoine Musso <hashar@free.fr>
Antoine Musso <hashar@free.fr> <hashar@users.mediawiki.org>
Aran Dunkley <aran@organicdesign.co.nz> <nad@users.mediawiki.org>
Ariel Glenn <ariel@wikimedia.org> <ariel@users.mediawiki.org>
Ariel Glenn <ariel@wikimedia.org> <ariel@wikimedia.org>
Arlo Breault <abreault@wikimedia.org>
ArtBaltai <art.baltai@speedandfunction.com>
Arthur Richards <arichards@wikimedia.org>
Arthur Richards <arichards@wikimedia.org> <awjrichards@users.mediawiki.org>
Aryeh Gregor <ayg@aryeh.name> <simetrical@users.mediawiki.org>
Asher Feldman <afeldman@wikimedia.org>
Asher Feldman <afeldman@wikimedia.org> <asher@users.mediawiki.org>
aude <aude.wiki@gmail.com>
Audrey Tang <audreyt@audreyt.org>
Audrey Tang <audreyt@audreyt.org> <au@localhost>
ayush_garg <ayush.ce13@iitp.ac.in>
Bae Junehyeon <devunt@gmail.com>
Bahodir Mansurov <bmansurov@wikimedia.org>
Bartosz Dziewoński <matma.rex@gmail.com>
Bartosz Dziewoński <matma.rex@gmail.com> <bdziewonski@wikimedia.org>
Bartosz Dziewoński <matma.rex@gmail.com> <matmarex@wikimedia.org>
Ben Hartshorne <bhartshorne@wikimedia.org> <ben@users.mediawiki.org>
Bene <benestar.wikimedia@gmail.com>
Bene <benestar.wikimedia@gmail.com> <benestar.wikimedia@googlemail.com>
Benny Situ <bsitu@wikimedia.org>
Benny Situ <bsitu@wikimedia.org> <bsitu@users.mediawiki.org>
Bertrand Grondin <bertrand.grondin@tiscali.fr> <grondin@users.mediawiki.org>
Brad Jorsch <bjorsch@wikimedia.org>
Brad Jorsch <bjorsch@wikimedia.org> <anomie.wikipedia@gmail.com>
Brandon Harris <bharris@wikimedia.org> <bharris@users.mediawiki.org>
Brian Wolff <bawolff+wn@gmail.com>
Brian Wolff <bawolff+wn@gmail.com> <bawolff+svn@gmail.com>
Brian Wolff <bawolff+wn@gmail.com> <bawolff@users.mediawiki.org>
Brion Vibber <brion@wikimedia.org>
Brion Vibber <brion@wikimedia.org> <brion@pobox.com>
Brion Vibber <brion@wikimedia.org> <brion@users.mediawiki.org>
Bryan Davis <bd808@wikimedia.org>
Bryan Davis <bd808@wikimedia.org> <bd808@bd808.com>
Bryan Tong Minh <bryan.tongminh@gmail.com>
Bryan Tong Minh <bryan.tongminh@gmail.com> <btongminh@users.mediawiki.org>
C. Scott Ananian <cscott@cscott.net>
C. Scott Ananian <cscott@cscott.net> <cananian@wikimedia.org>
Cacycle <cacyclewp@gmail.com>
cenarium <cenarium.sysop@gmail.com>
Chad Horohoe <chadh@wikimedia.org>
Chad Horohoe <chadh@wikimedia.org> <demon@users.mediawiki.org>
Charles Melbye <charlie@yourwiki.net> <charlie@users.mediawiki.org>
Chiefwei <chiefwei1989@gmail.com>
Chris Koerner <ckoerner@wikimedia.org>
Chris McMahon <cmcmahon@wikimedia.org>
Chris Steipp <csteipp@wikimedia.org>
Christian Aistleitner <christian@quelltextlich.at>
Christian Aistleitner <christian@quelltextlich.at> <qchris@users.mediawiki.org>
Christian Williams <orbit@framezero.com>
Christian Williams <orbit@framezero.com> <christian@localhost>
Christian Williams <orbit@framezero.com> <christian@wikia-inc.com>
Christoph Jauera <christoph.jauera@wikimedia.de>
Christoph Jauera <christoph.jauera@wikimedia.de> <christoph.fischer@wikimedia.de>
Christopher Johnson <root@bugzilla.wmde.de>
church of emacs <churchofemacs@users.mediawiki.org>
Cindy Cicalese <ccicalese@wikimedia.org>
Cindy Cicalese <ccicalese@wikimedia.org> <cicalese@mitre.org>
Cindy Cicalese <ccicalese@wikimedia.org> <cindom@gmail.com>
ckoerner <nobelx@gmail.com>
Conrad Irwin <conrad.irwin+wiki@gmail.com> <conrad@users.mediawiki.org>
Dan Duvall <dduvall@wikimedia.org>
dan-nl <d_entous@yahoo.com>
Daniel A. R. Werner <daniel.a.r.werner@gmail.com>
Daniel Cannon <cannon.danielc@gmail.com> <amidaniel@users.mediawiki.org>
Daniel Friesen <mediawiki@danielfriesen.name>
Daniel Friesen <mediawiki@danielfriesen.name> <daniel@nadir-seen-fire.com>
Daniel Friesen <mediawiki@danielfriesen.name> <dantman@users.mediawiki.org>
Daniel Friesen <mediawiki@danielfriesen.name> <pub-github@nadir-seen-fire.com>
Daniel Kinzler <dkinzler@wikimedia.org>
Daniel Kinzler <dkinzler@wikimedia.org> <daniel.kinzler@wikimedia.de>
Daniel Kinzler <dkinzler@wikimedia.org> <daniel@users.mediawiki.org>
Daniel Renfro <bluecurio@gmail.com> <drenfro@vistaprint.com>
Danny B. <Wikipedia.Danny.B@email.cz>
Danny B. <Wikipedia.Danny.B@email.cz> <danny.b@email.cz>
Danny B. <Wikipedia.Danny.B@email.cz> <danny_b@users.mediawiki.org>
Danny B. <Wikipedia.Danny.B@email.cz> <wikimedia.danny.b@email.cz>
Darian Anthony Patrick <dpatrick@wikimedia.org>
Darkdragon09 <ubuntu@ip-172-31-39-38.us-west-2.compute.internal>
David Barratt <dbarratt@wikimedia.org>
David Causse <dcausse@wikimedia.org>
David Chan <david@sheetmusic.org.uk>
Dayllan Maza <dmaza@wikimedia.org>
Dayllan Maza <dmaza@wikimedia.org> <dayllan.maza@gmail.com>
Dereckson <dereckson@espace-win.org>
Derk-Jan Hartman <hartman@videolan.org>
Derk-Jan Hartman <hartman@videolan.org> <hartman.wiki@gmail.com>
Derk-Jan Hartman <hartman@videolan.org> <hartman@users.mediawiki.org>
Devi Krishnan <devikrishnan67@gmail.com>
Diederik van Liere <dvanliere@gmail.com> <diederik@users.mediawiki.org>
Domas Mituzas <domas.mituzas@gmail.com> <midom@users.mediawiki.org>
Douglas Gardner <douglas@chippy.ch>
DPStokesNZ <duncan.stokes@gmail.com>
Ebrahim Byagowi <ebrahim@gnu.org>
Ed Sanders <esanders@wikimedia.org>
Elliott Eggleston <eeggleston@wikimedia.org>
Elliott Eggleston <eeggleston@wikimedia.org> <ejegg@ejegg.com>
Emad Elwany <emadelwany@hotmail.com>
Emmanuel Engelhart <kelson@kiwix.org> <kelson42@users.mediawiki.org>
Emufarmers <emufarmers@gmail.com>
Emufarmers <emufarmers@gmail.com> <emufarmers@users.mediawiki.org>
Entlinkt <entlinkt@gmx-topmail.de>
Eranroz <eranroz89@gmail.com>
Erik Bernhardson <ebernhardson@wikimedia.org>
Erik Moeller <erik@wikimedia.org>
Erik Moeller <erik@wikimedia.org> <erik@users.mediawiki.org>
Erwin Dokter <erwin@darcoury.nl>
Evan McIntire <mcintire.evan@gmail.com>
Evan Prodromou <evanprodromou@users.mediawiki.org> <evan@users.mediawiki.org>
Federico Leva <federicoleva@tiscali.it>
Fenzik Joseph <fenzik@gmail.com> <fenzik@users.mediawiki.org>
Florian Schmidt <florian.schmidt.welzow@t-online.de>
Florian Schmidt <florian.schmidt.welzow@t-online.de> <florian.schmidt.stargatewissen@gmail.com>
fomafix <fomafix@googlemail.com>
Fran Rogers <fran@dumetella.net>
Fran Rogers <fran@dumetella.net> <krimpet@users.mediawiki.org>
freakolowsky <freak@drajv.si>
FunPika <funpikawiki@gmail.com>
Gabriel Wicke <gwicke@wikimedia.org>
Gabriel Wicke <gwicke@wikimedia.org> <gwicke@users.mediawiki.org>
Gabriel Wicke <gwicke@wikimedia.org> <wicke@wikidev.net>
Geoffrey Mon <geofbot@gmail.com>
Geoffrey Trang <geoffreytrang@gmail.com>
Gergő Tisza <gtisza@wikimedia.org>
Gergő Tisza <gtisza@wikimedia.org> <tgr.huwiki@gmail.com>
Giftpflanze <gifti@tools.wmflabs.org>
Gilles Dubuc <gdubuc@wikimedia.org> <gilles@wikimedia.org>
Gilles Dubuc <gdubuc@wikimedia.org>
gladoscc <admin@glados.cc>
glaisher <glaisher.wiki@gmail.com>
Greg Sabino Mullane <greg@turnstep.com>
Greg Sabino Mullane <greg@turnstep.com> <greg@endpoint.com>
Greg Sabino Mullane <greg@turnstep.com> <greg@users.mediawiki.org>
Grunny <mwgrunny@gmail.com>
Guy Van den Broeck <guyvdb@gmail.com> <guyvdb@users.mediawiki.org>
Happy-melon <happy-melon@live.com> <happy-melon@users.mediawiki.org>
Helder <he7d3r@gmail.com>
Helder <he7d3r@gmail.com> <helder.wiki@gmail.com>
Hoo man <hoo@online.de>
Huji <huji.huji@gmail.com>
Huji <huji.huji@gmail.com> <huji@users.mediawiki.org>
Ian Baker <ibaker@wikimedia.org> <raindrift@users.mediawiki.org>
Ilmari Karonen <nospam@vyznev.net> <vyznev@users.mediawiki.org>
Inez Korczyński <inez@wikia-inc.com>
Inez Korczyński <inez@wikia-inc.com> <inez@users.mediawiki.org>
isarra <s@zaori.org>
isarra <s@zaori.org> <zhorishna@gmail.com>
Ivan Lanin <ivanlanin@gmail.com> <ivanlanin@users.mediawiki.org>
Jack Phoenix <jack@countervandalism.net>
Jack Phoenix <jack@countervandalism.net> <ashley@users.mediawiki.org>
Jackmcbarn <jackmcbarn@gmail.com>
Jackmcbarn <jackmcbarn@gmail.com> <jackmcbarn@users.noreply.github.com>
jagori <jagori79@gmail.com>
James D. Forrester <jforrester@wikimedia.org>
Jaime Crespo <jcrespo@wikimedia.org>
Jan Gerber <j@thing.net> <j@users.mediawiki.org>
Jan Luca Naumann <jan@jans-seite.de>
Jan Luca Naumann <jan@jans-seite.de> <jan@users.mediawiki.org>
Jan Paul Posma <jp.posma@gmail.com> <janpaul123@users.mediawiki.org>
Jan Zerebecki <jan.wikimedia@zerebecki.de>
Jared Flores <jaredflores2000@gmail.com>
Jaroslav Škarvada <jskarvad@redhat.com>
jarrettmunton <jmuntjmunt@gmail.com>
Jason Richey <jasonr@wikia.com>
Jason Richey <jasonr@wikia.com> <jasonr@users.mediawiki.org>
Jason Richey <jasonr@wikia.com> <urichj00@users.mediawiki.org>
Jeff Hall <jeffreyehall@gmail.com>
Jeff Hall <jeffreyehall@gmail.com> <jhall@wikimedia.org>
Jeff Hobson <jhobson@wikimedia.org>
Jeff Janes <jeff.janes@gmail.com>
Jeremy Baron <jeremy@tuxmachine.com>
Jeremy Postlethwaite <jpostlethwaite@wikimedia.org> <jpostlethwaite@users.mediawiki.org>
Jeroen De Dauw <jeroendedauw@gmail.com>
Jeroen De Dauw <jeroendedauw@gmail.com> <jeroendedauw@users.mediawiki.org>
Jesús Martínez Novo <martineznovo@gmail.com>
Jiabao <jiabao.foss@gmail.com>
Jimmy Collins <jimmy.collins@web.de> <collinj@users.mediawiki.org>
Joel Sahleen <jsahleen@wikimedia.org>
John Du Hart <john@compwhizii.net> <johnduhart@users.mediawiki.org>
John Erling Blad <john.blad@wikimedia.de>
Jon Harald Søby <jhsoby@gmail.com> <jhsoby@users.mediawiki.org>
Jon Harald Søby <jhsoby@gmail.com>
Jon Robson <jrobson@wikimedia.org>
Jon Robson <jrobson@wikimedia.org> <jdlrobson@gmail.com>
Juliusz Gonera <jgonera@gmail.com>
Juliusz Gonera <jgonera@gmail.com> <jgonera@wikimedia.org>
Jure Kajzer <freak@drajv.si>
Jure Kajzer <freak@drajv.si> <freakolowsky@users.mediawiki.org>
Justin Du <justin.d128@gmail.com>
Kai Nissen <kai.nissen@wikimedia.de>
Karun Dambiec <karun.84@gmx.de>
Katie Filbert <aude.wiki@gmail.com>
Katie Filbert <aude.wiki@gmail.com> <aude@users.mediawiki.org>
Kevin Israel <pleasestand@live.com>
Kosta Harlan <kharlan@wikimedia.org>
Kosta Harlan <kharlan@wikimedia.org> <kosta@fastmail.com>
Kunal Grover <kunalgrover05@gmail.com>
Kunal Mehta <legoktm@member.fsf.org>
Kunal Mehta <legoktm@member.fsf.org> <legoktm.wikipedia@gmail.com>
Kunal Mehta <legoktm@member.fsf.org> <legoktm@gmail.com>
Kwan Ting Chan <ktc@ktchan.info> <ktchan@users.mediawiki.org>
lekshmi <andnlnbn18@gmail.com>
Leo Koppelkamm <diebuche@gmail.com> <diebuche@users.mediawiki.org>
Leon Liesener <leon.liesener@wikipedia.de>
Leon Weber <leon@vserver152.masterssystems.com> <leon@users.mediawiki.org>
Leonardo Gregianin <leogregianin@googlemail.com> <leogregianin@users.mediawiki.org>
Leons Petrazickis <leons.petrazickis.haveyouconsiderednotincludingthisphrase@gmail.com> <leonsp@users.mediawiki.org>
liangent <liangent@gmail.com>
Lisa Ridley <lhridley@gmail.com> <lhridley@users.mediawiki.org>
Ljudusika <plo2000@i.ua>
Lucas Werkmeister <lucas.werkmeister@wikimedia.de>
Luis Felipe Schenone <schenonef@gmail.com>
Luke Welling <lwelling@wikimedia.org>
Lupo <lupo.bugzilla@gmail.com>
m4tx <m4tx@m4tx.pl>
Madman <madman.enwiki@gmail.com>
Magnus Manske <magnusmanske@googlemail.com> <magnusmanske@users.mediawiki.org>
Manuel Schneider <manuel.schneider@wikimedia.ch> <80686@users.mediawiki.org>
Marc-André Pelletier <marc@uberbox.org>
Marcin Cieślak <saper@saper.info>
Marcin Cieślak <saper@saper.info> <saper@users.mediawiki.org>
Marco Falke <maic23@live.de>
MarcoAurelio <strigiwm@gmail.com>
MarcoAurelio <strigiwm@gmail.com> <maurelio@tools.wmflabs.org>
Marielle Volz <marielle.volz@gmail.com>
Marius Hoch <hoo@online.de>
Mark Clements <mediawiki@kennel17.co.uk> <happydog@users.mediawiki.org>
Mark Hershberger <mah@everybody.org>
Mark Hershberger <mah@everybody.org> <mah@nichework.com>
Mark Hershberger <mah@everybody.org> <mah@users.mediawiki.org>
Mark Hershberger <mah@everybody.org> <mhershberger@wikimedia.org>
Mark Holmquist <mtraceur@member.fsf.org>
Mark Holmquist <mtraceur@member.fsf.org> <mholmquist@wikimedia.org>
Marko Obrovac <mobrovac@wikimedia.org>
Markus Glaser <glaser@hallowelt.biz>
Markus Glaser <glaser@hallowelt.biz> <mglaser@users.mediawiki.org>
Martin Urbanec <martin.urbanec@wikimedia.cz>
Matt Johnston <mattj@emazestudios.com> <mattj@users.mediawiki.org>
Matthew Britton <hugglegurch@gmail.com> <gurch@users.mediawiki.org>
Matthew Bowker <matthewrbowker.bugs@gmail.com>
Matthew Flaschen <mflaschen@wikimedia.org>
Matthew Walker <mwalker@wikimedia.org>
MatthiasDD <Matthias_K2@gmx.de>
Matthias Mullie <git@mullie.eu>
Matthias Mullie <git@mullie.eu> <mmullie@wikimedia.org>
Matěj Grabovský <mgrabovsky@yahoo.com> <mgrabovsky@users.mediawiki.org>
Matěj Suchánek <matejsuchanek97@gmail.com>
Max Semenik <maxsem.wiki@gmail.com>
Max Semenik <maxsem.wiki@gmail.com> <maxsem@users.mediawiki.org>
Max Semenik <maxsem.wiki@gmail.com> <semenik@gmail.com>
mgooley <g0013y@gmail.com>
Michael Dale <mdale@wikimedia.org> <dale@users.mediawiki.org>
mjbmr <mjbmri@gmail.com>
Mohamed Magdy <mohamedmk@gmail.com> <alnokta@users.mediawiki.org>
Moriel Schottlender <mschottlender@wikimedia.org>
Moriel Schottlender <mschottlender@wikimedia.org> <moriel@gmail.com>
Mormegil <mormegil@centrum.cz>
MrBlueSky <mrbluesky@wikipedia.be>
MrBlueSky <mrbluesky@wikipedia.be> <mrbluesky@localhost>
Mukunda Modell <mmodell@wikimedia.org>
MZMcBride <g@mzmcbride.com>
nadeesha <nadeesha@calcey.com> <nadeesha@users.mediawiki.org>
Namit <namit.ohri@gmail.com>
Nathan Larson <nathanlarson3141@gmail.com>
Nathan Larson <nathanlarson3141@gmail.com> <tjlsangria@gmail.com>
Nathaniel Herman <redwwjd@yahoo.com> <pinky@users.mediawiki.org>
Neil Kandalgaonkar <neilk@wikimedia.org> <neilk@users.mediawiki.org>
Nemo bis <federicoleva@tiscali.it>
nephele <nephele@skyhighway.com> <nephele@users.mediawiki.org>
Nick Jenkins <nickpj@gmail.com> <nickj@users.mediawiki.org>
Niharika Kohli <nkohli@wikimedia.org>
Nik Everett <neverett@wikimedia.org>
Niklas Laxström <niklas.laxstrom@gmail.com>
Niklas Laxström <niklas.laxstrom@gmail.com> <nikerabbit@users.mediawiki.org>
Nimish Gautam <nimishg@wikimedia.org> <nimishg@users.mediawiki.org>
Nuria Ruiz <nuria@wikimedia.org>
Ori Livneh <ori@wikimedia.org>
Ori Livneh <ori@wikimedia.org> <ori.livneh@gmail.com>
OverlordQ <wikipedia@thedarkcitadel.com> <overlordq@users.mediawiki.org>
Owen Davis <owen@wikia-inc.com>
Owen Davis <owen@wikia-inc.com> <owen@users.mediawiki.org>
paladox <thomasmulhall410@yahoo.com>
Patricio Molina <patriciomolina@gmail.com>
Patrick Reilly <preilly@wikimedia.org>
Patrick Reilly <preilly@wikimedia.org> <preilly@users.mediawiki.org>
Patrick Westerhoff <PatrickWesterhoff@gmail.com>
Paul Copperman <paul.copperman@gmail.com> <pcopp@users.mediawiki.org>
Petar Petković <ppetkovic@wikimedia.org>
Peter Coombe <pcoombe@wikimedia.org>
Peter Coti <petercoti@gmail.com>
Peter Potrowl <peter017@gmail.com> <peter17@users.mediawiki.org>
Petr Kadlec <mormegil@centrum.cz>
Philip Tzou <philip.npc@gmail.com> <philip@users.mediawiki.org>
physikerwelt (Moritz Schubotz) <wiki@physikerwelt.de>
PiRSquared17 <pirsquared@tools.wmflabs.org>
Platonides <platonides@gmail.com> <platonides@users.mediawiki.org>
pppery <mapreader@olum.org>
PranavK <pranavmk98@gmail.com>
Prateek Saxena <psaxena@wikimedia.org>
Prateek Saxena <psaxena@wikimedia.org> <prtksxna@gmail.com>
Priyanka Dhanda <pdhanda@wikimedia.org> <pdhanda@users.mediawiki.org>
Purodha Blissenbach <purodha@blissenbach.org>
Purodha Blissenbach <purodha@blissenbach.org> <publi@web.de>
Purodha Blissenbach <purodha@blissenbach.org> <purodha@users.mediawiki.org>
Pwirth <wirth@hallowelt.biz>
Raimond Spekking <raimond.spekking@gmail.com>
Raimond Spekking <raimond.spekking@gmail.com> <raymond@users.mediawiki.org>
Remember the dot <rememberthedot@gmail.com> <rememberthedot@users.mediawiki.org>
Reza <reza.energy@gmail.com>
Ricordisamoa <ricordisamoa@openmailbox.org>
rillke <rillke@wikipedia.de>
rillke <rillke@wikipedia.de> <rainerrillke@hotmail.com>
River Tarnell <river@wikimedia.org> <kateturner@users.mediawiki.org>
River Tarnell <river@wikimedia.org> <river@users.mediawiki.org>
Roan Kattouw <roan.kattouw@gmail.com>
Roan Kattouw <roan.kattouw@gmail.com> <catrope@users.mediawiki.org>
Roan Kattouw <roan.kattouw@gmail.com> <roan@wikimedia.org>
Rob Church <robchur@gmail.com> <robchurch@users.mediawiki.org>
Rob Lanphier <robla@robla.net>
Rob Lanphier <robla@robla.net> <robla@users.mediawiki.org>
Rob Lanphier <robla@robla.net> <robla@wikimedia.org>
Rob Moen <rmoen@mediawiki.org>
Rob Moen <rmoen@mediawiki.org> <rmoen@users.mediawiki.org>
Rob Moen <rmoen@mediawiki.org> <rmoen@wikimedia.org>
Robert Hoenig <indielives010@gmail.com>
Robert Leverington <robert@rhl.me.uk> <roberthl@users.mediawiki.org>
Robert Rohde <rarohde@gmail.com> <rarohde@users.mediawiki.org>
Robert Stojnić <rainmansr@gmail.com> <rainman@users.mediawiki.org>
Robert Vogel <vogel@hallowelt.biz>
Robin Pepermans <robinp.1273@gmail.com>
Robin Pepermans <robinp.1273@gmail.com> <robin@users.mediawiki.org>
robinhood701 <robinhood70@live.ca>
Rohan <rohan1395@yahoo.com>
Rotem Liss <rotemliss@gmail.com> <rotem@users.mediawiki.org>
Rummana Yasmeen <ryasmeen@wikimedia.org>
Russ Nelson <russnelson@gmail.com> <nelson@users.mediawiki.org>
Ryan Kaldari <rkaldari@wikimedia.org>
Ryan Kaldari <rkaldari@wikimedia.org> <kaldari@gmail.com>
Ryan Kaldari <rkaldari@wikimedia.org> <kaldari@users.mediawiki.org>
Ryan Lane <rlane32@gmail.com>
Ryan Lane <rlane32@gmail.com> <laner@users.mediawiki.org>
Ryan Lane <rlane32@gmail.com> <rlane@wikimedia.org>
Ryan Schmidt <skizzerz@gmail.com>
Ryan Schmidt <skizzerz@gmail.com> <skizzerz@skizzerz.net>
Ryan Schmidt <skizzerz@gmail.com> <skizzerz@users.mediawiki.org>
S Page <spage@wikimedia.org>
SBassett <sbassett@wikimedia.org>
Sakretsu <sakretsu.wiki@gmail.com>
Sam Reed <reedy@wikimedia.org>
Sam Reed <reedy@wikimedia.org> <sam@reedyboy.net>
Sam Reed <reedy@wikimedia.org> <Reedy reedy@wikimedia.org>
Sam Reed <reedy@wikimedia.org> <reedy@formey.wikimedia.org>
Sam Reed <reedy@wikimedia.org> <reedy@users.mediawiki.org>
Sam Smith <git@samsmith.io>
Santhosh Thottingal <santhosh.thottingal@gmail.com>
Santhosh Thottingal <santhosh.thottingal@gmail.com> <santhosh@users.mediawiki.org>
Schnark (Michael M.) <listenleser@gmail.com>
Scimonster <tehalmightyscimonster@gmail.com>
Sean Colombo <sean.colombo@gmail.com> <sean_colombo@users.mediawiki.org>
Sean Pringle <springle@wikimedia.org>
Seb35 <seb35wikipedia@gmail.com>
Sergio Santoro <santoro.srg@gmail.com>
Shahyar <shahyar@gmail.com>
Shinjiman <shinjiman@gmail.com>
Shinjiman <shinjiman@gmail.com> <shinjiman@users.mediawiki.org>
shirayuki <shirayuking@gmail.com>
Siebrand Mazeland <s.mazeland@xs4all.nl>
Siebrand Mazeland <s.mazeland@xs4all.nl> <siebrand@kitano.nl>
Siebrand Mazeland <s.mazeland@xs4all.nl> <siebrand@users.mediawiki.org>
Siebrand Mazeland <s.mazeland@xs4all.nl> <siebrand@wikimedia.org>
Smriti Singh <smritis.31095@gmail.com>
Sorawee Porncharoenwase <nullzero.free@gmail.com>
Southparkfan <southparkfan223@hotmail.com>
SQL <sxwiki@gmail.com> <sql@users.mediawiki.org>
Stanislav Malyshev <smalyshev@gmail.com>
Stephan Gambke <s7eph4n@gmail.com>
Stephane Bisson <sbisson@wikimedia.org>
Stephen Liang <github@stephenliang.pw>
Steve Sanbeg <ffnaort@jro.qr> <sanbeg@users.mediawiki.org>
Steven Roddis <StevenRoddis@users.noreply.github.com>
Steven Walling <swalling@wikimedia.org>
Subramanya Sastry <ssastry@wikimedia.org>
Sucheta Ghoshal <sghoshal@wikimedia.org>
Sumit Asthana <asthana.sumit23@gmail.com>
Taavi Väänänen <hi@tassu.me>
tacsipacsi <tacsipacsi@jnet.hu>
TerraCodes <terracodes@tools.wmflabs.org>
Thalia Chan <thalia@cantorion.org>
Thalia Chan <thalia@cantorion.org> <thalia.e.chan@googlemail.com>
Thiemo Kreuz <thiemo.kreuz@wikimedia.de>
Thiemo Kreuz <thiemo.kreuz@wikimedia.de> <thiemo.maettig@wikimedia.de>
Thiemo Kreuz <thiemo.kreuz@wikimedia.de> <mr.heat@gmx.de>
This, that and the other <at.light@live.com.au>
tholam <t.lam@lamsinfosystem.com>
Thomas Bleher <ThomasBleher@gmx.de> <tbleher@users.mediawiki.org>
Thomas Dalton <thomas.dalton@gmail.com> <tango@users.mediawiki.org>
Thomas Gries <mail@tgries.de> <wikinaut@users.mediawiki.org>
Tim Landscheidt <tim@tim-landscheidt.de>
Tim Laqua <t.laqua@gmail.com> <tlaqua@users.mediawiki.org>
Tim Starling <tstarling@wikimedia.org>
Tim Starling <tstarling@wikimedia.org> <tstarling@users.mediawiki.org>
Timo Tijhof <krinklemail@gmail.com>
Timo Tijhof <krinklemail@gmail.com> <krinkle@users.mediawiki.org>
Timo Tijhof <krinklemail@gmail.com> <timo@wikimedia.org>
Timo Tijhof <krinklemail@gmail.com> <ttijhof@wikimedia.org>
Tina Johnson <tinajohnson.1234@gmail.com>
Tom Maaswinkel <tom.maaswinkel@12wiki.eu> <thedevilonline@users.mediawiki.org>
Tomasz Finc <tfinc@wikimedia.org> <tomasz@users.mediawiki.org>
Tomasz W. Kozlowski <tomasz@twkozlowski.com>
Tomasz W. Kozlowski <tomasz@twkozlowski.com> <tomasz@twkozlowski.net>
Tomasz W. Kozlowski <tomasz@twkozlowski.com> <twkozlowski@gmail.com>
Tony Thomas <01tonythomas@gmail.com>
Tpt <thomaspt@hotmail.fr>
Trevor Parscal <trevorparscal@gmail.com>
Trevor Parscal <trevorparscal@gmail.com> <tparscal@users.mediawiki.org>
Trevor Parscal <trevorparscal@gmail.com> <tparscal@wikimedia.org>
Trey Jones <tjones@wikimedia.org>
Tyler Cipriani <tcipriani@wikimedia.org>
Tyler Romeo <tylerromeo@gmail.com>
Umherirrender <umherirrender_de.wp@web.de>
Victor Barbu <victorbarbu08@gmail.com>
Victor Vasiliev <vasilvv@mit.edu>
Victor Vasiliev <vasilvv@mit.edu> <vasilievvv@users.mediawiki.org>
Victor Vasiliev <vasilvv@mit.edu> <vasilvv@gmail.com>
Vikas S Yaligar <vikasyaligar.it@gmail.com>
Vivek Ghaisas <v.a.ghaisas@gmail.com>
Volker E <volker.e@wikimedia.org>
wctaiwan <wctaiwan@gmail.com>
withoutaname <drevitchi@gmail.com>
X! <soxred93@gmail.com> <soxred93@users.mediawiki.org>
Yaron Koren <yaron57@gmail.com>
Yaron Koren <yaron57@gmail.com> <yaron@users.mediawiki.org>
Yaroslav Melnychuk <yaroslavmelnuchuk@gmail.com>
Yongmin Hong <revi@pobox.com>
Yongmin Hong <revi@pobox.com> <revi@member.fsf.org>
Yongmin Hong <revi@pobox.com> <reviwiki@gmail.com>
Yuri Astrakhan <yurik@wikimedia.org>
Yuri Astrakhan <yurik@wikimedia.org> <yuriastrakhan@gmail.com>
Yuri Astrakhan <yurik@wikimedia.org> <yurik@users.mediawiki.org>
Yuriy Shnitkovskiy <bmp2558@gmail.com>
Yusuke Matsubara <whym@whym.org>
Yuvi Panda <yuvipanda@gmail.com>
Zak Greant <zak+mediawiki@fooassociates.com> <zak@users.mediawiki.org>
Zhengzhu Feng <zhengzhu@gmail.com>
Zhengzhu Feng <zhengzhu@gmail.com> <zhengzhu@users.mediawiki.org>
Zoranzoki21 <zorandori4444@gmail.com>
Zppix <support@zppixballee.com>
Ævar Arnfjörð Bjarmason <avarab@gmail.com> <avar@users.mediawiki.org>
Étienne Beaulé <beauleetienne0@gmail.com>
Željko Filipin <zeljko.filipin@gmail.com>
Željko Filipin <zeljko.filipin@gmail.com> <zfilipin@wikimedia.org>
星耀晨曦 <razesoldier@outlook.com>
星耀晨曦 <razesoldier@outlook.com> <liguangjie4399@hotmail.com>

View File

@ -1,129 +0,0 @@
<?php
/**
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
* @file
*/
$disableTaintCheck = true;
$cfg = require __DIR__ . '/../vendor/mediawiki/mediawiki-phan-config/src/config.php';
$cfg['file_list'] = array_merge(
$cfg['file_list'],
class_exists( PEAR::class ) ? [] : [ '.phan/stubs/mail.php' ],
defined( 'PASSWORD_ARGON2ID' ) ? [] : [ '.phan/stubs/password.php' ],
class_exists( ValueError::class ) ? [] : [ '.phan/stubs/ValueError.php' ],
[
// This makes constants and globals known to Phan before processing all other files.
// You can check the parser order with --dump-parsed-file-list
'includes/Defines.php',
// @todo This isn't working yet, see globals_type_map below
// 'includes/DefaultSettings.php',
// 'includes/Setup.php',
]
);
$cfg['exclude_file_list'] = array_merge(
$cfg['exclude_file_list'],
[
// This file has invalid PHP syntax
'vendor/squizlabs/php_codesniffer/src/Standards/PSR2/Tests/Methods/MethodDeclarationUnitTest.inc',
]
);
$cfg['analyzed_file_extensions'] = array_merge(
$cfg['analyzed_file_extensions'] ?? [ 'php' ],
[ 'inc' ]
);
$cfg['autoload_internal_extension_signatures'] = [
'dom' => '.phan/internal_stubs/dom.phan_php',
'excimer' => '.phan/internal_stubs/excimer.php',
'imagick' => '.phan/internal_stubs/imagick.phan_php',
'intl' => '.phan/internal_stubs/intl.phan_php',
'memcached' => '.phan/internal_stubs/memcached.phan_php',
'oci8' => '.phan/internal_stubs/oci8.phan_php',
'pcntl' => '.phan/internal_stubs/pcntl.phan_php',
'pgsql' => '.phan/internal_stubs/pgsql.phan_php',
'redis' => '.phan/internal_stubs/redis.phan_php',
'sockets' => '.phan/internal_stubs/sockets.phan_php',
'sqlsrv' => '.phan/internal_stubs/sqlsrv.phan_php',
'tideways' => '.phan/internal_stubs/tideways.phan_php',
'wikidiff2' => '.phan/internal_stubs/wikidiff.php'
];
$cfg['directory_list'] = [
'includes/',
'languages/',
'maintenance/',
'mw-config/',
'resources/',
'vendor/',
// Do NOT add .phan/stubs/ here: stubs are conditionally loaded in file_list
];
$cfg['exclude_analysis_directory_list'] = [
'vendor/',
'.phan/',
// The referenced classes are not available in vendor, only when
// included from composer.
'includes/composer/',
// Directly references classes that only exist in Translate extension
'maintenance/language/',
// External class
'includes/libs/jsminplus.php',
// External class
'includes/libs/objectcache/utils/MemcachedClient.php',
];
// These are too spammy for now. TODO enable
$cfg['null_casts_as_any_type'] = true;
$cfg['scalar_implicit_cast'] = true;
$cfg['suppress_issue_types'][] = 'PhanTypePossiblyInvalidDimOffset';
$cfg['suppress_issue_types'][] = 'PhanPossiblyUndeclaredVariable';
// Do not use aliases in core.
// Use the correct name, because we don't need backward compatibility
$cfg['enable_class_alias_support'] = false;
$cfg['ignore_undeclared_variables_in_global_scope'] = true;
// @todo It'd be great if we could just make phan read these from DefaultSettings, to avoid
// duplicating the types.
$cfg['globals_type_map'] = array_merge( $cfg['globals_type_map'], [
'IP' => 'string',
'wgGalleryOptions' => 'array',
'wgDummyLanguageCodes' => 'string[]',
'wgNamespaceProtection' => 'array<string,string|string[]>',
'wgNamespaceAliases' => 'array<string,int>',
'wgLockManagers' => 'array[]',
'wgForeignFileRepos' => 'array[]',
'wgDefaultUserOptions' => 'array',
'wgSkipSkins' => 'string[]',
'wgLogTypes' => 'string[]',
'wgLogNames' => 'array<string,string>',
'wgLogHeaders' => 'array<string,string>',
'wgLogActionsHandlers' => 'array<string,class-string>',
'wgPasswordPolicy' => 'array<string,array<string,string|array>>',
'wgVirtualRestConfig' => 'array<string,array>',
'wgWANObjectCaches' => 'array[]',
'wgLocalInterwikis' => 'string[]',
'wgDebugLogGroups' => 'string|false|array{destination:string,sample?:int,level:int}',
'wgCookiePrefix' => 'string|false',
'wgOut' => 'OutputPage',
'wgExtraNamespaces' => 'string[]',
] );
return $cfg;

View File

@ -1,5 +0,0 @@
See <https://github.com/phan/phan/wiki/How-To-Use-Stubs#generating-stubs> for
how to generate internal stubs for phan.
The stubs should be generated using the PHP version that is our lowest
requirement.

View File

@ -1,420 +0,0 @@
<?php
// These stubs were generated by the phan stub generator.
// @phan-stub-for-extension dom@20031129
namespace {
class DOMAttr extends \DOMNode {
// properties
public $name;
public $ownerElement;
public $schemaTypeInfo;
public $specified;
public $value;
// methods
public function isId() {}
public function __construct($name, $value = null) {}
}
class DOMCdataSection extends \DOMText {
// methods
public function __construct($value) {}
}
class DOMCharacterData extends \DOMNode {
// properties
public $data;
public $length;
// methods
public function substringData($offset, $count) {}
public function appendData($arg) {}
public function insertData($offset, $arg) {}
public function deleteData($offset, $count) {}
public function replaceData($offset, $count, $arg) {}
}
class DOMComment extends \DOMCharacterData {
// methods
public function __construct($value = null) {}
}
class DOMConfiguration {
// methods
public function setParameter($name, $value) {}
public function getParameter($name = null) {}
public function canSetParameter($name = null, $value = null) {}
}
class DOMDocument extends \DOMNode {
// properties
public $actualEncoding;
public $config;
public $doctype;
public $documentElement;
public $documentURI;
public $encoding;
public $formatOutput;
public $implementation;
public $preserveWhiteSpace;
public $recover;
public $resolveExternals;
public $standalone;
public $strictErrorChecking;
public $substituteEntities;
public $validateOnParse;
public $version;
public $xmlEncoding;
public $xmlStandalone;
public $xmlVersion;
// methods
public function createElement($tagName, $value = null) {}
public function createDocumentFragment() {}
public function createTextNode($data) {}
public function createComment($data) {}
public function createCDATASection($data) {}
public function createProcessingInstruction($target, $data) {}
public function createAttribute($name) {}
public function createEntityReference($name) {}
public function getElementsByTagName($tagName) {}
public function importNode(\DOMNode $importedNode, $deep) {}
public function createElementNS($namespaceURI, $qualifiedName, $value = null) {}
public function createAttributeNS($namespaceURI, $qualifiedName) {}
public function getElementsByTagNameNS($namespaceURI, $localName) {}
public function getElementById($elementId) {}
public function adoptNode(\DOMNode $source) {}
public function normalizeDocument() {}
public function renameNode(\DOMNode $node, $namespaceURI, $qualifiedName) {}
public function load($source, $options = null) {}
public function save($file) {}
public function loadXML($source, $options = null) {}
public function saveXML(\DOMNode $node = null, $options = null) {}
public function __construct($version = null, $encoding = null) {}
public function validate() {}
public function xinclude($options = null) {}
public function loadHTML($source, $options = null) {}
public function loadHTMLFile($source, $options = null) {}
public function saveHTML() {}
public function saveHTMLFile($file) {}
public function schemaValidate($filename) {}
public function schemaValidateSource($source) {}
public function relaxNGValidate($filename) {}
public function relaxNGValidateSource($source) {}
public function registerNodeClass($baseClass, $extendedClass) {}
}
class DOMDocumentFragment extends \DOMNode {
// properties
public $name;
// methods
public function __construct() {}
public function appendXML($data) {}
}
class DOMDocumentType extends \DOMNode {
// properties
public $entities;
public $internalSubset;
public $name;
public $notations;
public $publicId;
public $systemId;
}
class DOMDomError {
}
class DOMElement extends \DOMNode {
// properties
public $schemaTypeInfo;
public $tagName;
// methods
public function getAttribute($name) {}
public function setAttribute($name, $value) {}
public function removeAttribute($name) {}
public function getAttributeNode($name) {}
public function setAttributeNode(\DOMAttr $newAttr) {}
public function removeAttributeNode(\DOMAttr $oldAttr) {}
public function getElementsByTagName($name) {}
public function getAttributeNS($namespaceURI, $localName) {}
public function setAttributeNS($namespaceURI, $qualifiedName, $value) {}
public function removeAttributeNS($namespaceURI, $localName) {}
public function getAttributeNodeNS($namespaceURI, $localName) {}
public function setAttributeNodeNS(\DOMAttr $newAttr) {}
public function getElementsByTagNameNS($namespaceURI, $localName) {}
public function hasAttribute($name) {}
public function hasAttributeNS($namespaceURI, $localName) {}
public function setIdAttribute($name, $isId) {}
public function setIdAttributeNS($namespaceURI, $localName, $isId) {}
public function setIdAttributeNode(\DOMAttr $attr, $isId) {}
public function __construct($name, $value = null, $uri = null) {}
}
class DOMEntity extends \DOMNode {
// properties
public $actualEncoding;
public $encoding;
public $notationName;
public $publicId;
public $systemId;
public $version;
}
class DOMEntityReference extends \DOMNode {
// properties
public $name;
// methods
public function __construct($name) {}
}
class DOMErrorHandler {
// methods
public function handleError(\DOMDomError $error) {}
}
final class DOMException extends \Exception {
// properties
public $code;
protected $message;
protected $file;
protected $line;
}
class DOMImplementation {
// properties
public $name;
// methods
public function getFeature($feature, $version) {}
public function hasFeature() {}
public function createDocumentType($qualifiedName, $publicId, $systemId) {}
public function createDocument($namespaceURI, $qualifiedName, \DOMDocumentType $docType) {}
}
class DOMImplementationList {
// methods
public function item($index) {}
}
class DOMImplementationSource {
// methods
public function getDomimplementation($features) {}
public function getDomimplementations($features) {}
}
class DOMLocator {
}
class DOMNameList {
// methods
public function getName($index) {}
public function getNamespaceURI($index) {}
}
class DOMNameSpaceNode {
}
class DOMNamedNodeMap implements \Traversable, \Countable {
// properties
public $length;
// methods
public function getNamedItem($name) {}
public function setNamedItem(\DOMNode $arg) {}
public function removeNamedItem($name = null) {}
public function item($index = null) {}
public function getNamedItemNS($namespaceURI = null, $localName = null) {}
public function setNamedItemNS(\DOMNode $arg = null) {}
public function removeNamedItemNS($namespaceURI = null, $localName = null) {}
public function count() {}
}
class DOMNode {
// properties
public $attributes;
public $baseURI;
public $childNodes;
public $firstChild;
public $lastChild;
public $localName;
public $namespaceURI;
public $nextSibling;
public $nodeName;
public $nodeType;
public $nodeValue;
public $ownerDocument;
public $parentNode;
public $prefix;
public $previousSibling;
public $textContent;
// methods
public function insertBefore(\DOMNode $newChild, \DOMNode $refChild = null) {}
public function replaceChild(\DOMNode $newChild, \DOMNode $oldChild) {}
public function removeChild(\DOMNode $oldChild) {}
public function appendChild(\DOMNode $newChild) {}
public function hasChildNodes() {}
public function cloneNode($deep = null) {}
public function normalize() {}
public function isSupported($feature, $version) {}
public function hasAttributes() {}
public function compareDocumentPosition(\DOMNode $other) {}
public function isSameNode(\DOMNode $other) {}
public function lookupPrefix($namespaceURI) {}
public function isDefaultNamespace($namespaceURI) {}
public function lookupNamespaceUri($prefix) {}
public function isEqualNode(\DOMNode $arg) {}
public function getFeature($feature, $version) {}
public function setUserData($key, $data, $handler) {}
public function getUserData($key) {}
public function getNodePath() {}
public function getLineNo() {}
public function C14N($exclusive = null, $with_comments = null, array $xpath = null, array $ns_prefixes = null) {}
public function C14NFile($uri, $exclusive = null, $with_comments = null, array $xpath = null, array $ns_prefixes = null) {}
}
class DOMNodeList implements \Traversable, \Countable {
// properties
public $length;
// methods
public function item($index) {}
public function count() {}
}
class DOMNotation extends \DOMNode {
// properties
public $publicId;
public $systemId;
}
class DOMProcessingInstruction extends \DOMNode {
// properties
public $data;
public $target;
// methods
public function __construct($name, $value = null) {}
}
class DOMStringExtend {
// methods
public function findOffset16($offset32) {}
public function findOffset32($offset16) {}
}
class DOMStringList {
// methods
public function item($index) {}
}
class DOMText extends \DOMCharacterData {
// properties
public $wholeText;
// methods
public function splitText($offset) {}
public function isWhitespaceInElementContent() {}
public function isElementContentWhitespace() {}
public function replaceWholeText($content) {}
public function __construct($value = null) {}
}
class DOMTypeinfo {
}
class DOMUserDataHandler {
// methods
public function handle() {}
}
class DOMXPath {
// properties
public $document;
// methods
public function __construct(\DOMDocument $doc) {}
public function registerNamespace($prefix, $uri) {}
public function query($expr, \DOMNode $context = null, $registerNodeNS = null) {}
public function evaluate($expr, \DOMNode $context = null, $registerNodeNS = null) {}
public function registerPhpFunctions() {}
}
function dom_import_simplexml($node) {}
const DOMSTRING_SIZE_ERR = 2;
const DOM_HIERARCHY_REQUEST_ERR = 3;
const DOM_INDEX_SIZE_ERR = 1;
const DOM_INUSE_ATTRIBUTE_ERR = 10;
const DOM_INVALID_ACCESS_ERR = 15;
const DOM_INVALID_CHARACTER_ERR = 5;
const DOM_INVALID_MODIFICATION_ERR = 13;
const DOM_INVALID_STATE_ERR = 11;
const DOM_NAMESPACE_ERR = 14;
const DOM_NOT_FOUND_ERR = 8;
const DOM_NOT_SUPPORTED_ERR = 9;
const DOM_NO_DATA_ALLOWED_ERR = 6;
const DOM_NO_MODIFICATION_ALLOWED_ERR = 7;
const DOM_PHP_ERR = 0;
const DOM_SYNTAX_ERR = 12;
const DOM_VALIDATION_ERR = 16;
const DOM_WRONG_DOCUMENT_ERR = 4;
const XML_ATTRIBUTE_CDATA = 1;
const XML_ATTRIBUTE_DECL_NODE = 16;
const XML_ATTRIBUTE_ENTITY = 6;
const XML_ATTRIBUTE_ENUMERATION = 9;
const XML_ATTRIBUTE_ID = 2;
const XML_ATTRIBUTE_IDREF = 3;
const XML_ATTRIBUTE_IDREFS = 4;
const XML_ATTRIBUTE_NMTOKEN = 7;
const XML_ATTRIBUTE_NMTOKENS = 8;
const XML_ATTRIBUTE_NODE = 2;
const XML_ATTRIBUTE_NOTATION = 10;
const XML_CDATA_SECTION_NODE = 4;
const XML_COMMENT_NODE = 8;
const XML_DOCUMENT_FRAG_NODE = 11;
const XML_DOCUMENT_NODE = 9;
const XML_DOCUMENT_TYPE_NODE = 10;
const XML_DTD_NODE = 14;
const XML_ELEMENT_DECL_NODE = 15;
const XML_ELEMENT_NODE = 1;
const XML_ENTITY_DECL_NODE = 17;
const XML_ENTITY_NODE = 6;
const XML_ENTITY_REF_NODE = 5;
const XML_HTML_DOCUMENT_NODE = 13;
const XML_LOCAL_NAMESPACE = 18;
const XML_NAMESPACE_DECL_NODE = 18;
const XML_NOTATION_NODE = 12;
const XML_PI_NODE = 7;
const XML_TEXT_NODE = 3;
}

View File

@ -1,95 +0,0 @@
<?php
// phpcs:ignoreFile
define( 'EXCIMER_REAL', 0 );
define( 'EXCIMER_CPU', 1 );
class ExcimerProfiler {
public function __construct() {
}
public function setPeriod( $period ) {
}
public function setEventType( $event_type ) {
}
public function setMaxDepth( $maxDepth ) {
}
public function setFlushCallback( $callback, $max_samples ) {
}
public function clearFlushCallback() {
}
public function start() {
}
public function stop() {
}
public function getLog() : ExcimerLog {
}
public function flush() {
}
}
class ExcimerLog {
private final function __construct() {
}
function formatCollapsed() {
}
/**
* @return array[]
*/
function aggregateByFunction() {
}
/**
* @return int
*/
function getEventCount() {
}
function current() {
}
function key() {
}
function next() {
}
function rewind() {
}
function valid() {
}
function count() {
}
function offsetExists( $offset ) {
}
function offsetGet( $offset ) {
}
function offsetSet( $offset, $value ) {
}
function offsetUnset( $offset ) {
}
}
class ExcimerLogEntry {
private final function __construct() {
}
function getTimestamp() {
}
function getEventCount() {
}
function getTrace() {
}
}
class ExcimerTimer {
function setEventType( $event_type ) {
}
function setInterval( $interval ) {
}
function setPeriod( $period ) {
}
function setCallback( $callback ) {
}
function start() {
}
function stop() {
}
function getTime() {
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,180 +0,0 @@
<?php
// These stubs were generated by the phan stub generator.
// @phan-stub-for-extension memcached@3.0.1
namespace {
class Memcached {
// constants
const LIBMEMCACHED_VERSION_HEX = 16777240;
const OPT_COMPRESSION = -1001;
const OPT_COMPRESSION_TYPE = -1004;
const OPT_PREFIX_KEY = -1002;
const OPT_SERIALIZER = -1003;
const OPT_USER_FLAGS = -1006;
const OPT_STORE_RETRY_COUNT = -1005;
const HAVE_IGBINARY = true;
const HAVE_JSON = true;
const HAVE_MSGPACK = true;
const HAVE_SESSION = true;
const HAVE_SASL = true;
const OPT_HASH = 2;
const HASH_DEFAULT = 0;
const HASH_MD5 = 1;
const HASH_CRC = 2;
const HASH_FNV1_64 = 3;
const HASH_FNV1A_64 = 4;
const HASH_FNV1_32 = 5;
const HASH_FNV1A_32 = 6;
const HASH_HSIEH = 7;
const HASH_MURMUR = 8;
const OPT_DISTRIBUTION = 9;
const DISTRIBUTION_MODULA = 0;
const DISTRIBUTION_CONSISTENT = 1;
const DISTRIBUTION_VIRTUAL_BUCKET = 6;
const OPT_LIBKETAMA_COMPATIBLE = 16;
const OPT_LIBKETAMA_HASH = 17;
const OPT_TCP_KEEPALIVE = 32;
const OPT_BUFFER_WRITES = 10;
const OPT_BINARY_PROTOCOL = 18;
const OPT_NO_BLOCK = 0;
const OPT_TCP_NODELAY = 1;
const OPT_SOCKET_SEND_SIZE = 4;
const OPT_SOCKET_RECV_SIZE = 5;
const OPT_CONNECT_TIMEOUT = 14;
const OPT_RETRY_TIMEOUT = 15;
const OPT_DEAD_TIMEOUT = 36;
const OPT_SEND_TIMEOUT = 19;
const OPT_RECV_TIMEOUT = 20;
const OPT_POLL_TIMEOUT = 8;
const OPT_CACHE_LOOKUPS = 6;
const OPT_SERVER_FAILURE_LIMIT = 21;
const OPT_AUTO_EJECT_HOSTS = 28;
const OPT_HASH_WITH_PREFIX_KEY = 25;
const OPT_NOREPLY = 26;
const OPT_SORT_HOSTS = 12;
const OPT_VERIFY_KEY = 13;
const OPT_USE_UDP = 27;
const OPT_NUMBER_OF_REPLICAS = 29;
const OPT_RANDOMIZE_REPLICA_READ = 30;
const OPT_REMOVE_FAILED_SERVERS = 35;
const OPT_SERVER_TIMEOUT_LIMIT = 37;
const RES_SUCCESS = 0;
const RES_FAILURE = 1;
const RES_HOST_LOOKUP_FAILURE = 2;
const RES_UNKNOWN_READ_FAILURE = 7;
const RES_PROTOCOL_ERROR = 8;
const RES_CLIENT_ERROR = 9;
const RES_SERVER_ERROR = 10;
const RES_WRITE_FAILURE = 5;
const RES_DATA_EXISTS = 12;
const RES_NOTSTORED = 14;
const RES_NOTFOUND = 16;
const RES_PARTIAL_READ = 18;
const RES_SOME_ERRORS = 19;
const RES_NO_SERVERS = 20;
const RES_END = 21;
const RES_ERRNO = 26;
const RES_BUFFERED = 32;
const RES_TIMEOUT = 31;
const RES_BAD_KEY_PROVIDED = 33;
const RES_STORED = 15;
const RES_DELETED = 22;
const RES_STAT = 24;
const RES_ITEM = 25;
const RES_NOT_SUPPORTED = 28;
const RES_FETCH_NOTFINISHED = 30;
const RES_SERVER_MARKED_DEAD = 35;
const RES_UNKNOWN_STAT_KEY = 36;
const RES_INVALID_HOST_PROTOCOL = 34;
const RES_MEMORY_ALLOCATION_FAILURE = 17;
const RES_CONNECTION_SOCKET_CREATE_FAILURE = 11;
const RES_E2BIG = 37;
const RES_KEY_TOO_BIG = 39;
const RES_SERVER_TEMPORARILY_DISABLED = 47;
const RES_SERVER_MEMORY_ALLOCATION_FAILURE = 48;
const RES_AUTH_PROBLEM = 40;
const RES_AUTH_FAILURE = 41;
const RES_AUTH_CONTINUE = 42;
const RES_PAYLOAD_FAILURE = -1001;
const SERIALIZER_PHP = 1;
const SERIALIZER_IGBINARY = 2;
const SERIALIZER_JSON = 3;
const SERIALIZER_JSON_ARRAY = 4;
const SERIALIZER_MSGPACK = 5;
const COMPRESSION_FASTLZ = 2;
const COMPRESSION_ZLIB = 1;
const GET_PRESERVE_ORDER = 1;
const GET_EXTENDED = 2;
const GET_ERROR_RETURN_VALUE = false;
// methods
public function __construct($persistent_id = null, $callback = null) {}
public function getResultCode() {}
public function getResultMessage() {}
public function get($key, $cache_cb = null, $get_flags = null) {}
public function getByKey($server_key, $key, $cache_cb = null, $get_flags = null) {}
public function getMulti(array $keys, $get_flags = null) {}
public function getMultiByKey($server_key, array $keys, $get_flags = null) {}
public function getDelayed(array $keys, $with_cas = null, $value_cb = null) {}
public function getDelayedByKey($server_key, array $keys, $with_cas = null, $value_cb = null) {}
public function fetch() {}
public function fetchAll() {}
public function set($key, $value, $expiration = null) {}
public function setByKey($server_key, $key, $value, $expiration = null) {}
public function touch($key, $expiration) {}
public function touchByKey($server_key, $key, $expiration) {}
public function setMulti(array $items, $expiration = null) {}
public function setMultiByKey($server_key, array $items, $expiration = null) {}
public function cas($cas_token, $key, $value, $expiration = null) {}
public function casByKey($cas_token, $server_key, $key, $value, $expiration = null) {}
public function add($key, $value, $expiration = null) {}
public function addByKey($server_key, $key, $value, $expiration = null) {}
public function append($key, $value, $expiration = null) {}
public function appendByKey($server_key, $key, $value, $expiration = null) {}
public function prepend($key, $value, $expiration = null) {}
public function prependByKey($server_key, $key, $value, $expiration = null) {}
public function replace($key, $value, $expiration = null) {}
public function replaceByKey($server_key, $key, $value, $expiration = null) {}
public function delete($key, $time = null) {}
public function deleteMulti($keys, $time = null) {}
public function deleteByKey($server_key, $key, $time = null) {}
public function deleteMultiByKey($server_key, $keys, $time = null) {}
public function increment($key, $offset = null, $initial_value = null, $expiry = null) {}
public function decrement($key, $offset = null, $initial_value = null, $expiry = null) {}
public function incrementByKey($server_key, $key, $offset = null, $initial_value = null, $expiry = null) {}
public function decrementByKey($server_key, $key, $offset = null, $initial_value = null, $expiry = null) {}
public function addServer($host, $port, $weight = null) {}
public function addServers(array $servers) {}
public function getServerList() {}
public function getServerByKey($server_key) {}
public function resetServerList() {}
public function quit() {}
public function flushBuffers() {}
public function getLastErrorMessage() {}
public function getLastErrorCode() {}
public function getLastErrorErrno() {}
public function getLastDisconnectedServer() {}
public function getStats($args) {}
public function getVersion() {}
public function getAllKeys() {}
public function flush($delay = null) {}
public function getOption($option) {}
public function setOption($option, $value) {}
public function setOptions($options) {}
public function setBucket($host_map, $forward_map, $replicas) {}
public function setSaslAuthData($username, $password) {}
public function isPersistent() {}
public function isPristine() {}
}
class MemcachedException extends \RuntimeException {
// properties
protected $message;
protected $code;
protected $file;
protected $line;
}
}

View File

@ -1,589 +0,0 @@
<?php
// @phan-stub-for-extension oci8@2.0.7
class OCI_Lob {
public function load () {}
public function tell () {}
public function truncate ($length = 0) {}
public function erase ($offset = null, $length = null) {}
public function flush ($flag = null) {}
public function setbuffering ($on_off) {}
public function getbuffering () {}
public function rewind () {}
public function read ($length) {}
public function eof () {}
public function seek ($offset, $whence = OCI_SEEK_SET) {}
public function write ($data, $length = null) {}
public function append (OCI_Lob $lob_from) {}
public function size () {}
public function writetofile ($filename, $start, $length) {}
public function export ($filename, $start = null, $length = null) {}
public function import ($filename) {}
public function writeTemporary ($data, $lob_type = OCI_TEMP_CLOB) {}
public function close () {}
public function save ($data, $offset = null) {}
public function savefile ($filename) {}
public function free () {}
}
class OCI_Collection {
public function append ($value) {}
public function getelem ($index) {}
public function assignelem ($index, $value) {}
public function assign (OCI_Collection $from) {}
public function size () {}
public function max () {}
public function trim ($num) {}
public function free () {}
}
function oci_define_by_name ($statement, $column_name, &$variable, $type = SQLT_CHR) {}
function oci_bind_by_name ($statement, $bv_name, &$variable, $maxlength = -1, $type = SQLT_CHR) {}
function oci_bind_array_by_name ($statement, $name, array &$var_array, $max_table_length, $max_item_length = -1, $type = SQLT_AFC) {}
function oci_field_is_null ($statement, $field) {}
function oci_field_name ($statement, $field) {}
function oci_field_size ($statement, $field) {}
function oci_field_scale ($statement, $field) {}
function oci_field_precision ($statement, $field) {}
function oci_field_type ($statement, $field) {}
function oci_field_type_raw ($statement, $field) {}
function oci_execute ($statement, $mode = OCI_COMMIT_ON_SUCCESS) {}
function oci_cancel ($statement) {}
function oci_fetch ($statement) {}
function oci_fetch_object ($statement) {}
function oci_fetch_row ($statement) {}
function oci_fetch_assoc ($statement) {}
function oci_fetch_array ($statement, $mode = null) {}
function ocifetchinto ($statement_resource, &$result, $mode = null) {}
function oci_fetch_all ($statement, array &$output, $skip = 0, $maxrows = -1, $flags = OCI_FETCHSTATEMENT_BY_COLUMN | OCI_ASSOC) {}
function oci_free_statement ($statement) {}
function oci_internal_debug ($onoff) {}
function oci_num_fields ($statement) {}
function oci_parse ($connection, $sql_text) {}
function oci_get_implicit_resultset ($statement) {}
function oci_new_cursor ($connection) {}
function oci_result ($statement, $field) {}
function oci_client_version () {}
function oci_server_version ($connection) {}
function oci_statement_type ($statement) {}
function oci_num_rows ($statement) {}
function oci_close ($connection) {}
function oci_connect ($username, $password, $connection_string = null, $character_set = null, $session_mode = null) {}
function oci_new_connect ($username, $password, $connection_string = null, $character_set = null, $session_mode = null) {}
function oci_pconnect ($username, $password, $connection_string = null, $character_set = null, $session_mode = null) {}
function oci_error ($resource = null) {}
function oci_free_descriptor ($descriptor) {}
function oci_lob_is_equal (OCI_Lob $lob1, OCI_Lob $lob2) {}
function oci_lob_copy (OCI_Lob $lob_to, OCI_Lob $lob_from, $length = 0) {}
function oci_commit ($connection) {}
function oci_rollback ($connection) {}
function oci_new_descriptor ($connection, $type = OCI_DTYPE_LOB) {}
function oci_set_prefetch ($statement, $rows) {}
function oci_set_client_identifier ($connection, $client_identifier) {}
function oci_set_edition ($edition) {}
function oci_set_module_name ($connection, $module_name) {}
function oci_set_action ($connection, $action_name) {}
function oci_set_client_info ($connection, $client_info) {}
function oci_password_change ($connection, $username, $old_password, $new_password) {}
function oci_new_collection ($connection, $tdo, $schema = null) {}
function oci_free_cursor ($statement_resource) {}
function ocifreecursor ($statement_resource) {}
function ocibindbyname ($statement, $column_name, &$variable, $maximum_length = -1, $type = SQLT_CHR) {}
function ocidefinebyname ($statement, $column_name, &$variable, $type = SQLT_CHR) {}
function ocicolumnisnull ($statement, $column_number_or_name) {}
function ocicolumnname ($statement, $column_number) {}
function ocicolumnsize ($statement, $column_number_or_name) {}
function ocicolumnscale ($statement_resource, $column_number) {}
function ocicolumnprecision ($statement_resource, $column_number) {}
function ocicolumntype ($statement_resource, $column_number) {}
function ocicolumntyperaw ($statement_resource, $column_number) {}
function ociexecute ($statement_resource, $mode = OCI_COMMIT_ON_SUCCESS) {}
function ocicancel ($statement_resource) {}
function ocifetch ($statement_resource) {}
function ocifetchstatement ($statement_resource, &$output, $skip, $maximum_rows, $flags) {}
function ocifreestatement ($statement_resource) {}
function ociinternaldebug ($mode) {}
function ocinumcols ($statement_resource) {}
function ociparse ($connection_resource, $sql_text) {}
function ocinewcursor ($connection_resource) {}
function ociresult ($statement_resource, $column_number_or_name) {}
function ociserverversion ($connection_resource) {}
function ocistatementtype ($statement_resource) {}
function ocirowcount ($statement_resource) {}
function ocilogoff ($connection_resource) {}
function ocilogon ($username, $password, $connection_string, $character_set, $session_mode) {}
function ocinlogon ($username, $password, $connection_string, $character_set, $session_mode) {}
function ociplogon ($username, $password, $connection_string, $character_set, $session_mode) {}
function ocierror ($connection_or_statement_resource) {}
function ocifreedesc ($lob_descriptor) {}
function ocisavelob ($lob_descriptor, $data, $offset) {}
function ocisavelobfile ($lob_descriptor, $filename) {}
function ociwritelobtofile ($lob_descriptor, $filename, $start, $length) {}
function ociloadlob ($lob_descriptor) {}
function ocicommit ($connection_resource) {}
function ocirollback ($connection_resource) {}
function ocinewdescriptor ($connection_resource, $type = OCI_DTYPE_LOB) {}
function ocisetprefetch ($statement_resource, $number_of_rows) {}
function ocipasswordchange ($connection_resource_or_connection_string_or_dbname, $username, $old_password, $new_password) {}
function ocifreecollection ($collection) {}
function ocinewcollection ($connection_resource, $tdo, $schema = null) {}
function ocicollappend ($collection, $value) {}
function ocicollgetelem ($collection, $index) {}
function ocicollassignelem ($collection, $index, $value) {}
function ocicollsize ($collection) {}
function ocicollmax ($collection) {}
function ocicolltrim ($collection, $number) {}
function ociwritetemporarylob($lob_descriptor, $data, $lob_type = OCI_TEMP_CLOB ) {}
function ocicloselob($lob_descriptor){}
function ocicollassign($to, $from ) {}
define ('OCI_DEFAULT', 0);
define ('OCI_SYSOPER', 4);
define ('OCI_SYSDBA', 2);
define ('OCI_CRED_EXT', -2147483648);
define ('OCI_DESCRIBE_ONLY', 16);
define ('OCI_COMMIT_ON_SUCCESS', 32);
define ('OCI_NO_AUTO_COMMIT', 0);
define ('OCI_EXACT_FETCH', 2);
define ('OCI_SEEK_SET', 0);
define ('OCI_SEEK_CUR', 1);
define ('OCI_SEEK_END', 2);
define ('OCI_LOB_BUFFER_FREE', 1);
define ('SQLT_BFILEE', 114);
define ('SQLT_CFILEE', 115);
define ('SQLT_CLOB', 112);
define ('SQLT_BLOB', 113);
define ('SQLT_RDD', 104);
define ('SQLT_INT', 3);
define ('SQLT_NUM', 2);
define ('SQLT_RSET', 116);
define ('SQLT_AFC', 96);
define ('SQLT_CHR', 1);
define ('SQLT_VCS', 9);
define ('SQLT_AVC', 97);
define ('SQLT_STR', 5);
define ('SQLT_LVC', 94);
define ('SQLT_FLT', 4);
define ('SQLT_UIN', 68);
define ('SQLT_LNG', 8);
define ('SQLT_LBI', 24);
define ('SQLT_BIN', 23);
define ('SQLT_ODT', 156);
define ('SQLT_BDOUBLE', 22);
define ('SQLT_BFLOAT', 21);
define ('OCI_B_NTY', 108);
define ('SQLT_NTY', 108);
define ('OCI_SYSDATE', "SYSDATE");
define ('OCI_B_BFILE', 114);
define ('OCI_B_CFILEE', 115);
define ('OCI_B_CLOB', 112);
define ('OCI_B_BLOB', 113);
define ('OCI_B_ROWID', 104);
define ('OCI_B_CURSOR', 116);
define ('OCI_B_BIN', 23);
define ('OCI_B_INT', 3);
define ('OCI_B_NUM', 2);
define ('OCI_FETCHSTATEMENT_BY_COLUMN', 16);
define ('OCI_FETCHSTATEMENT_BY_ROW', 32);
define ('OCI_ASSOC', 1);
define ('OCI_NUM', 2);
define ('OCI_BOTH', 3);
define ('OCI_RETURN_NULLS', 4);
define ('OCI_RETURN_LOBS', 8);
define ('OCI_DTYPE_FILE', 56);
define ('OCI_DTYPE_LOB', 50);
define ('OCI_DTYPE_ROWID', 54);
define ('OCI_D_FILE', 56);
define ('OCI_D_LOB', 50);
define ('OCI_D_ROWID', 54);
define ('OCI_TEMP_CLOB', 2);
define ('OCI_TEMP_BLOB', 1);
define ('SQLT_BOL', 252);
define ('OCI_B_BOL', 252);

View File

@ -1,139 +0,0 @@
<?php
// These stubs were generated by the phan stub generator.
// @phan-stub-for-extension pcntl@7.0.33-0+deb9u3
namespace {
function pcntl_alarm($seconds) {}
function pcntl_errno() {}
function pcntl_exec($path, $args = null, $envs = null) {}
function pcntl_fork() {}
function pcntl_get_last_error() {}
function pcntl_getpriority($pid = null, $process_identifier = null) {}
function pcntl_setpriority($priority, $pid = null, $process_identifier = null) {}
function pcntl_signal($signo, $handler, $restart_syscalls = null) {}
function pcntl_signal_dispatch() {}
function pcntl_sigprocmask($how, $set, &$oldset = null) {}
function pcntl_sigtimedwait($set, &$info = null, $seconds = null, $nanoseconds = null) {}
function pcntl_sigwaitinfo($set, &$info = null) {}
function pcntl_strerror($errno) {}
function pcntl_wait(&$status, $options = null, &$rusage = null) {}
function pcntl_waitpid($pid, &$status, $options = null, &$rusage = null) {}
function pcntl_wexitstatus($status) {}
function pcntl_wifcontinued($status) {}
function pcntl_wifexited($status) {}
function pcntl_wifsignaled($status) {}
function pcntl_wifstopped($status) {}
function pcntl_wstopsig($status) {}
function pcntl_wtermsig($status) {}
const BUS_ADRALN = 1;
const BUS_ADRERR = 2;
const BUS_OBJERR = 3;
const CLD_CONTINUED = 6;
const CLD_DUMPED = 3;
const CLD_EXITED = 1;
const CLD_KILLED = 2;
const CLD_STOPPED = 5;
const CLD_TRAPPED = 4;
const FPE_FLTDIV = 3;
const FPE_FLTINV = 7;
const FPE_FLTOVF = 4;
const FPE_FLTRES = 6;
const FPE_FLTSUB = 8;
const FPE_FLTUND = 7;
const FPE_INTDIV = 1;
const FPE_INTOVF = 2;
const ILL_BADSTK = 8;
const ILL_COPROC = 7;
const ILL_ILLADR = 3;
const ILL_ILLOPC = 1;
const ILL_ILLOPN = 2;
const ILL_ILLTRP = 4;
const ILL_PRVOPC = 5;
const ILL_PRVREG = 6;
const PCNTL_E2BIG = 7;
const PCNTL_EACCES = 13;
const PCNTL_EAGAIN = 11;
const PCNTL_ECHILD = 10;
const PCNTL_EFAULT = 14;
const PCNTL_EINTR = 4;
const PCNTL_EINVAL = 22;
const PCNTL_EIO = 5;
const PCNTL_EISDIR = 21;
const PCNTL_ELIBBAD = 80;
const PCNTL_ELOOP = 40;
const PCNTL_EMFILE = 24;
const PCNTL_ENAMETOOLONG = 36;
const PCNTL_ENFILE = 23;
const PCNTL_ENOENT = 2;
const PCNTL_ENOEXEC = 8;
const PCNTL_ENOMEM = 12;
const PCNTL_ENOTDIR = 20;
const PCNTL_EPERM = 1;
const PCNTL_ESRCH = 3;
const PCNTL_ETXTBSY = 26;
const POLL_ERR = 4;
const POLL_HUP = 6;
const POLL_IN = 1;
const POLL_MSG = 3;
const POLL_OUT = 2;
const POLL_PRI = 5;
const PRIO_PGRP = 1;
const PRIO_PROCESS = 0;
const PRIO_USER = 2;
const SEGV_ACCERR = 2;
const SEGV_MAPERR = 1;
const SIGABRT = 6;
const SIGALRM = 14;
const SIGBABY = 31;
const SIGBUS = 7;
const SIGCHLD = 17;
const SIGCLD = 17;
const SIGCONT = 18;
const SIGFPE = 8;
const SIGHUP = 1;
const SIGILL = 4;
const SIGINT = 2;
const SIGIO = 29;
const SIGIOT = 6;
const SIGKILL = 9;
const SIGPIPE = 13;
const SIGPOLL = 29;
const SIGPROF = 27;
const SIGPWR = 30;
const SIGQUIT = 3;
const SIGSEGV = 11;
const SIGSTKFLT = 16;
const SIGSTOP = 19;
const SIGSYS = 31;
const SIGTERM = 15;
const SIGTRAP = 5;
const SIGTSTP = 20;
const SIGTTIN = 21;
const SIGTTOU = 22;
const SIGURG = 23;
const SIGUSR1 = 10;
const SIGUSR2 = 12;
const SIGVTALRM = 26;
const SIGWINCH = 28;
const SIGXCPU = 24;
const SIGXFSZ = 25;
const SIG_BLOCK = 0;
const SIG_DFL = 0;
const SIG_ERR = -1;
const SIG_IGN = 1;
const SIG_SETMASK = 2;
const SIG_UNBLOCK = 1;
const SI_ASYNCIO = -4;
const SI_KERNEL = 128;
const SI_MESGQ = -3;
const SI_QUEUE = -1;
const SI_SIGIO = -5;
const SI_TIMER = -2;
const SI_TKILL = -6;
const SI_USER = 0;
const TRAP_BRKPT = 1;
const TRAP_TRACE = 2;
const WCONTINUED = 8;
const WNOHANG = 1;
const WUNTRACED = 2;
}

View File

@ -1,189 +0,0 @@
<?php
// These stubs were generated by the phan stub generator.
// @phan-stub-for-extension pgsql@7.3.4
namespace {
function pg_affected_rows($result) {}
function pg_cancel_query($connection) {}
function pg_client_encoding($connection = null) {}
function pg_clientencoding($connection = null) {}
function pg_close($connection = null) {}
function pg_cmdtuples($result) {}
function pg_connect($connection_string, $connect_type = null, $host = null, $port = null, $options = null, $tty = null, $database = null) {}
function pg_connect_poll($connection = null) {}
function pg_connection_busy($connection) {}
function pg_connection_reset($connection) {}
function pg_connection_status($connection) {}
function pg_consume_input($connection) {}
function pg_convert($db, $table, $values, $options = null) {}
function pg_copy_from($connection, $table_name, $rows, $delimiter = null, $null_as = null) {}
function pg_copy_to($connection, $table_name, $delimiter = null, $null_as = null) {}
function pg_dbname($connection = null) {}
function pg_delete($db, $table, $ids, $options = null) {}
function pg_end_copy($connection = null) {}
function pg_errormessage($connection = null) {}
function pg_escape_bytea($connection = null, $data = null) {}
function pg_escape_identifier($connection = null, $data = null) {}
function pg_escape_literal($connection = null, $data = null) {}
function pg_escape_string($connection = null, $data = null) {}
function pg_exec($connection = null, $query = null) {}
function pg_execute($connection = null, $stmtname = null, $params = null) {}
function pg_fetch_all($result, $result_type = null) {}
function pg_fetch_all_columns($result, $column_number = null) {}
function pg_fetch_array($result, $row = null, $result_type = null) {}
function pg_fetch_assoc($result, $row = null) {}
function pg_fetch_object($result, $row = null, $class_name = null, $l = null, $ctor_params = null) {}
function pg_fetch_result($result, $row_number = null, $field_name = null) {}
function pg_fetch_row($result, $row = null, $result_type = null) {}
function pg_field_is_null($result, $row = null, $field_name_or_number = null) {}
function pg_field_name($result, $field_number) {}
function pg_field_num($result, $field_name) {}
function pg_field_prtlen($result, $row = null, $field_name_or_number = null) {}
function pg_field_size($result, $field_number) {}
function pg_field_table($result, $field_number, $oid_only = null) {}
function pg_field_type($result, $field_number) {}
function pg_field_type_oid($result, $field_number) {}
function pg_fieldisnull($result, $row = null, $field_name_or_number = null) {}
function pg_fieldname($result, $field_number) {}
function pg_fieldnum($result, $field_name) {}
function pg_fieldprtlen($result, $row = null, $field_name_or_number = null) {}
function pg_fieldsize($result, $field_number) {}
function pg_fieldtype($result, $field_number) {}
function pg_flush($connection) {}
function pg_free_result($result) {}
function pg_freeresult($result) {}
function pg_get_notify($connection = null, $e = null) {}
function pg_get_pid($connection = null) {}
function pg_get_result($connection) {}
function pg_getlastoid($result) {}
function pg_host($connection = null) {}
function pg_insert($db, $table, $values, $options = null) {}
function pg_last_error($connection = null) {}
function pg_last_notice($connection, $option = null) {}
function pg_last_oid($result) {}
function pg_lo_close($large_object) {}
function pg_lo_create($connection = null, $large_object_id = null) {}
function pg_lo_export($connection = null, $objoid = null, $filename = null) {}
function pg_lo_import($connection = null, $filename = null, $large_object_oid = null) {}
function pg_lo_open($connection = null, $large_object_oid = null, $mode = null) {}
function pg_lo_read($large_object, $len = null) {}
function pg_lo_read_all($large_object) {}
function pg_lo_seek($large_object, $offset, $whence = null) {}
function pg_lo_tell($large_object) {}
function pg_lo_truncate($large_object, $size = null) {}
function pg_lo_unlink($connection = null, $large_object_oid = null) {}
function pg_lo_write($large_object, $buf, $len = null) {}
function pg_loclose($large_object) {}
function pg_locreate($connection = null, $large_object_id = null) {}
function pg_loexport($connection = null, $objoid = null, $filename = null) {}
function pg_loimport($connection = null, $filename = null, $large_object_oid = null) {}
function pg_loopen($connection = null, $large_object_oid = null, $mode = null) {}
function pg_loread($large_object, $len = null) {}
function pg_loreadall($large_object) {}
function pg_lounlink($connection = null, $large_object_oid = null) {}
function pg_lowrite($large_object, $buf, $len = null) {}
function pg_meta_data($db, $table) {}
function pg_num_fields($result) {}
function pg_num_rows($result) {}
function pg_numfields($result) {}
function pg_numrows($result) {}
function pg_options($connection = null) {}
function pg_parameter_status($connection, $param_name = null) {}
function pg_pconnect($connection_string, $host = null, $port = null, $options = null, $tty = null, $database = null) {}
function pg_ping($connection = null) {}
function pg_port($connection = null) {}
function pg_prepare($connection = null, $stmtname = null, $query = null) {}
function pg_put_line($connection = null, $query = null) {}
function pg_query($connection = null, $query = null) {}
function pg_query_params($connection = null, $query = null, $params = null) {}
function pg_result($connection) {}
function pg_result_error($result) {}
function pg_result_error_field($result, $fieldcode) {}
function pg_result_seek($result, $offset) {}
function pg_result_status($result, $result_type = null) {}
function pg_select($db, $table, $ids, $options = null, $result_type = null) {}
function pg_send_execute($connection, $stmtname, $params) {}
function pg_send_prepare($connection, $stmtname, $query) {}
function pg_send_query($connection, $query) {}
function pg_send_query_params($connection, $query, $params) {}
function pg_set_client_encoding($connection = null, $encoding = null) {}
function pg_set_error_verbosity($connection = null, $verbosity = null) {}
function pg_setclientencoding($connection = null, $encoding = null) {}
function pg_socket($connection) {}
function pg_trace($filename, $mode = null, $connection = null) {}
function pg_transaction_status($connection) {}
function pg_tty($connection = null) {}
function pg_unescape_bytea($data) {}
function pg_untrace($connection = null) {}
function pg_update($db, $table, $fields, $ids, $options = null) {}
function pg_version($connection = null) {}
const PGSQL_ASSOC = 1;
const PGSQL_BAD_RESPONSE = 5;
const PGSQL_BOTH = 3;
const PGSQL_COMMAND_OK = 1;
const PGSQL_CONNECTION_AUTH_OK = 5;
const PGSQL_CONNECTION_AWAITING_RESPONSE = 4;
const PGSQL_CONNECTION_BAD = 1;
const PGSQL_CONNECTION_MADE = 3;
const PGSQL_CONNECTION_OK = 0;
const PGSQL_CONNECTION_SETENV = 6;
const PGSQL_CONNECTION_STARTED = 2;
const PGSQL_CONNECT_ASYNC = 4;
const PGSQL_CONNECT_FORCE_NEW = 2;
const PGSQL_CONV_FORCE_NULL = 4;
const PGSQL_CONV_IGNORE_DEFAULT = 2;
const PGSQL_CONV_IGNORE_NOT_NULL = 8;
const PGSQL_COPY_IN = 4;
const PGSQL_COPY_OUT = 3;
const PGSQL_DIAG_COLUMN_NAME = 99;
const PGSQL_DIAG_CONSTRAINT_NAME = 110;
const PGSQL_DIAG_CONTEXT = 87;
const PGSQL_DIAG_DATATYPE_NAME = 100;
const PGSQL_DIAG_INTERNAL_POSITION = 112;
const PGSQL_DIAG_INTERNAL_QUERY = 113;
const PGSQL_DIAG_MESSAGE_DETAIL = 68;
const PGSQL_DIAG_MESSAGE_HINT = 72;
const PGSQL_DIAG_MESSAGE_PRIMARY = 77;
const PGSQL_DIAG_SCHEMA_NAME = 115;
const PGSQL_DIAG_SEVERITY = 83;
const PGSQL_DIAG_SEVERITY_NONLOCALIZED = 86;
const PGSQL_DIAG_SOURCE_FILE = 70;
const PGSQL_DIAG_SOURCE_FUNCTION = 82;
const PGSQL_DIAG_SOURCE_LINE = 76;
const PGSQL_DIAG_SQLSTATE = 67;
const PGSQL_DIAG_STATEMENT_POSITION = 80;
const PGSQL_DIAG_TABLE_NAME = 116;
const PGSQL_DML_ASYNC = 1024;
const PGSQL_DML_ESCAPE = 4096;
const PGSQL_DML_EXEC = 512;
const PGSQL_DML_NO_CONV = 256;
const PGSQL_DML_STRING = 2048;
const PGSQL_EMPTY_QUERY = 0;
const PGSQL_ERRORS_DEFAULT = 1;
const PGSQL_ERRORS_TERSE = 0;
const PGSQL_ERRORS_VERBOSE = 2;
const PGSQL_FATAL_ERROR = 7;
const PGSQL_LIBPQ_VERSION = '9.6.9';
const PGSQL_LIBPQ_VERSION_STR = 'PostgreSQL 9.6.9 (win32)';
const PGSQL_NONFATAL_ERROR = 6;
const PGSQL_NOTICE_ALL = 2;
const PGSQL_NOTICE_CLEAR = 3;
const PGSQL_NOTICE_LAST = 1;
const PGSQL_NUM = 2;
const PGSQL_POLLING_ACTIVE = 4;
const PGSQL_POLLING_FAILED = 0;
const PGSQL_POLLING_OK = 3;
const PGSQL_POLLING_READING = 1;
const PGSQL_POLLING_WRITING = 2;
const PGSQL_SEEK_CUR = 1;
const PGSQL_SEEK_END = 2;
const PGSQL_SEEK_SET = 0;
const PGSQL_STATUS_LONG = 1;
const PGSQL_STATUS_STRING = 2;
const PGSQL_TRANSACTION_ACTIVE = 1;
const PGSQL_TRANSACTION_IDLE = 0;
const PGSQL_TRANSACTION_INERROR = 3;
const PGSQL_TRANSACTION_INTRANS = 2;
const PGSQL_TRANSACTION_UNKNOWN = 4;
const PGSQL_TUPLES_OK = 2;
}

View File

@ -1,547 +0,0 @@
<?php
// These stubs were generated by the phan stub generator.
// @phan-stub-for-extension redis@5.1.1
namespace {
class Redis {
// constants
const REDIS_NOT_FOUND = 0;
const REDIS_STRING = 1;
const REDIS_SET = 2;
const REDIS_LIST = 3;
const REDIS_ZSET = 4;
const REDIS_HASH = 5;
const REDIS_STREAM = 6;
const PIPELINE = 2;
const ATOMIC = 0;
const MULTI = 1;
const OPT_SERIALIZER = 1;
const OPT_PREFIX = 2;
const OPT_READ_TIMEOUT = 3;
const OPT_TCP_KEEPALIVE = 6;
const OPT_COMPRESSION = 7;
const OPT_REPLY_LITERAL = 8;
const OPT_COMPRESSION_LEVEL = 9;
const SERIALIZER_NONE = 0;
const SERIALIZER_PHP = 1;
const SERIALIZER_JSON = 4;
const COMPRESSION_NONE = 0;
const OPT_SCAN = 4;
const SCAN_RETRY = 1;
const SCAN_NORETRY = 0;
const AFTER = 'after';
const BEFORE = 'before';
// methods
public function __construct() {}
public function __destruct() {}
public function _prefix($key) {}
public function _serialize($value) {}
public function _unserialize($value) {}
public function append($key, $value) {}
public function auth($password) {}
public function bgSave() {}
public function bgrewriteaof() {}
public function bitcount($key) {}
public function bitop($operation, $ret_key, $key, ...$other_keys) {}
public function bitpos($key, $bit, $start = null, $end = null) {}
public function blPop($key, $timeout_or_key, ...$extra_args) {}
public function brPop($key, $timeout_or_key, ...$extra_args) {}
public function brpoplpush($src, $dst, $timeout) {}
public function bzPopMax($key, $timeout_or_key, ...$extra_args) {}
public function bzPopMin($key, $timeout_or_key, ...$extra_args) {}
public function clearLastError() {}
public function client($cmd, ...$args) {}
public function close() {}
public function command(...$args) {}
public function config($cmd, $key, $value = null) {}
public function connect($host, $port = null, $timeout = null, $retry_interval = null) {}
public function dbSize() {}
public function debug($key) {}
public function decr($key) {}
public function decrBy($key, $value) {}
public function del($key, ...$other_keys) {}
public function discard() {}
public function dump($key) {}
public function echo($msg) {}
public function eval($script, $args = null, $num_keys = null) {}
public function evalsha($script_sha, $args = null, $num_keys = null) {}
public function exec() {}
public function exists($key, ...$other_keys) {}
public function expire($key, $timeout) {}
public function expireAt($key, $timestamp) {}
public function flushAll($async = null) {}
public function flushDB($async = null) {}
public function geoadd($key, $lng, $lat, $member, ...$other_triples) {}
public function geodist($key, $src, $dst, $unit = null) {}
public function geohash($key, $member, ...$other_members) {}
public function geopos($key, $member, ...$other_members) {}
public function georadius($key, $lng, $lan, $radius, $unit, array $opts = null) {}
public function georadius_ro($key, $lng, $lan, $radius, $unit, array $opts = null) {}
public function georadiusbymember($key, $member, $radius, $unit, array $opts = null) {}
public function georadiusbymember_ro($key, $member, $radius, $unit, array $opts = null) {}
public function get($key) {}
public function getAuth() {}
public function getBit($key, $offset) {}
public function getDBNum() {}
public function getHost() {}
public function getLastError() {}
public function getMode() {}
public function getOption($option) {}
public function getPersistentID() {}
public function getPort() {}
public function getRange($key, $start, $end) {}
public function getReadTimeout() {}
public function getSet($key, $value) {}
public function getTimeout() {}
public function hDel($key, $member, ...$other_members) {}
public function hExists($key, $member) {}
public function hGet($key, $member) {}
public function hGetAll($key) {}
public function hIncrBy($key, $member, $value) {}
public function hIncrByFloat($key, $member, $value) {}
public function hKeys($key) {}
public function hLen($key) {}
public function hMget($key, array $keys) {}
public function hMset($key, array $pairs) {}
public function hSet($key, $member, $value) {}
public function hSetNx($key, $member, $value) {}
public function hStrLen($key, $member) {}
public function hVals($key) {}
public function hscan($str_key, &$i_iterator, $str_pattern = null, $i_count = null) {}
public function incr($key) {}
public function incrBy($key, $value) {}
public function incrByFloat($key, $value) {}
public function info($option = null) {}
public function isConnected() {}
public function keys($pattern) {}
public function lInsert($key, $position, $pivot, $value) {}
public function lLen($key) {}
public function lPop($key) {}
public function lPush($key, $value) {}
public function lPushx($key, $value) {}
public function lSet($key, $index, $value) {}
public function lastSave() {}
public function lindex($key, $index) {}
public function lrange($key, $start, $end) {}
public function lrem($key, $value, $count) {}
public function ltrim($key, $start, $stop) {}
public function mget(array $keys) {}
public function migrate($host, $port, $key, $db, $timeout, $copy = null, $replace = null) {}
public function move($key, $dbindex) {}
public function mset(array $pairs) {}
public function msetnx(array $pairs) {}
public function multi($mode = null) {}
public function object($field, $key) {}
public function pconnect($host, $port = null, $timeout = null) {}
public function persist($key) {}
public function pexpire($key, $timestamp) {}
public function pexpireAt($key, $timestamp) {}
public function pfadd($key, array $elements) {}
public function pfcount($key) {}
public function pfmerge($dstkey, array $keys) {}
public function ping() {}
public function pipeline() {}
public function psetex($key, $expire, $value) {}
public function psubscribe(array $patterns, $callback) {}
public function pttl($key) {}
public function publish($channel, $message) {}
public function pubsub($cmd, ...$args) {}
public function punsubscribe($pattern, ...$other_patterns) {}
public function rPop($key) {}
public function rPush($key, $value) {}
public function rPushx($key, $value) {}
public function randomKey() {}
public function rawcommand($cmd, ...$args) {}
public function rename($key, $newkey) {}
public function renameNx($key, $newkey) {}
public function restore($ttl, $key, $value) {}
public function role() {}
public function rpoplpush($src, $dst) {}
public function sAdd($key, $value) {}
public function sAddArray($key, array $options) {}
public function sDiff($key, ...$other_keys) {}
public function sDiffStore($dst, $key, ...$other_keys) {}
public function sInter($key, ...$other_keys) {}
public function sInterStore($dst, $key, ...$other_keys) {}
public function sMembers($key) {}
public function sMove($src, $dst, $value) {}
public function sPop($key) {}
public function sRandMember($key, $count = null) {}
public function sUnion($key, ...$other_keys) {}
public function sUnionStore($dst, $key, ...$other_keys) {}
public function save() {}
public function scan(&$i_iterator, $str_pattern = null, $i_count = null) {}
public function scard($key) {}
public function script($cmd, ...$args) {}
public function select($dbindex) {}
public function set($key, $value, $opts = null) {}
public function setBit($key, $offset, $value) {}
public function setOption($option, $value) {}
public function setRange($key, $offset, $value) {}
public function setex($key, $expire, $value) {}
public function setnx($key, $value) {}
public function sismember($key, $value) {}
public function slaveof($host = null, $port = null) {}
public function slowlog($arg, $option = null) {}
public function sort($key, array $options = null) {}
public function sortAsc($key, $pattern = null, $get = null, $start = null, $end = null, $getList = null) {}
public function sortAscAlpha($key, $pattern = null, $get = null, $start = null, $end = null, $getList = null) {}
public function sortDesc($key, $pattern = null, $get = null, $start = null, $end = null, $getList = null) {}
public function sortDescAlpha($key, $pattern = null, $get = null, $start = null, $end = null, $getList = null) {}
public function srem($key, $member, ...$other_members) {}
public function sscan($str_key, &$i_iterator, $str_pattern = null, $i_count = null) {}
public function strlen($key) {}
public function subscribe(array $channels, $callback) {}
public function swapdb($srcdb, $dstdb) {}
public function time() {}
public function ttl($key) {}
public function type($key) {}
public function unlink($key, ...$other_keys) {}
public function unsubscribe($channel, ...$other_channels) {}
public function unwatch() {}
public function wait($numslaves, $timeout) {}
public function watch($key, ...$other_keys) {}
public function xack($str_key, $str_group, array $arr_ids) {}
public function xadd($str_key, $str_id, array $arr_fields, $i_maxlen = null, $boo_approximate = null) {}
public function xclaim($str_key, $str_group, $str_consumer, $i_min_idle, array $arr_ids, array $arr_opts = null) {}
public function xdel($str_key, array $arr_ids) {}
public function xgroup($str_operation, $str_key = null, $str_arg1 = null, $str_arg2 = null, $str_arg3 = null) {}
public function xinfo($str_cmd, $str_key = null, $str_group = null) {}
public function xlen($key) {}
public function xpending($str_key, $str_group, $str_start = null, $str_end = null, $i_count = null, $str_consumer = null) {}
public function xrange($str_key, $str_start, $str_end, $i_count = null) {}
public function xread(array $arr_streams, $i_count = null, $i_block = null) {}
public function xreadgroup($str_group, $str_consumer, array $arr_streams, $i_count = null, $i_block = null) {}
public function xrevrange($str_key, $str_start, $str_end, $i_count = null) {}
public function xtrim($str_key, $i_maxlen, $boo_approximate = null) {}
public function zAdd($key, $score, $value) {}
public function zCard($key) {}
public function zCount($key, $min, $max) {}
public function zIncrBy($key, $value, $member) {}
public function zLexCount($key, $min, $max) {}
public function zPopMax($key) {}
public function zPopMin($key) {}
public function zRange($key, $start, $end, $scores = null) {}
public function zRangeByLex($key, $min, $max, $offset = null, $limit = null) {}
public function zRangeByScore($key, $start, $end, array $options = null) {}
public function zRank($key, $member) {}
public function zRem($key, $member, ...$other_members) {}
public function zRemRangeByLex($key, $min, $max) {}
public function zRemRangeByRank($key, $start, $end) {}
public function zRemRangeByScore($key, $min, $max) {}
public function zRevRange($key, $start, $end, $scores = null) {}
public function zRevRangeByLex($key, $min, $max, $offset = null, $limit = null) {}
public function zRevRangeByScore($key, $start, $end, array $options = null) {}
public function zRevRank($key, $member) {}
public function zScore($key, $member) {}
public function zinterstore($key, array $keys, ?array $weights = null, $aggregate = null) {}
public function zscan($str_key, &$i_iterator, $str_pattern = null, $i_count = null) {}
public function zunionstore($key, array $keys, ?array $weights = null, $aggregate = null) {}
public function delete($key, ...$other_keys) {}
public function evaluate($script, $args = null, $num_keys = null) {}
public function evaluateSha($script_sha, $args = null, $num_keys = null) {}
public function getKeys($pattern) {}
public function getMultiple(array $keys) {}
public function lGet($key, $index) {}
public function lGetRange($key, $start, $end) {}
public function lRemove($key, $value, $count) {}
public function lSize($key) {}
public function listTrim($key, $start, $stop) {}
public function open($host, $port = null, $timeout = null, $retry_interval = null) {}
public function popen($host, $port = null, $timeout = null) {}
public function renameKey($key, $newkey) {}
public function sContains($key, $value) {}
public function sGetMembers($key) {}
public function sRemove($key, $member, ...$other_members) {}
public function sSize($key) {}
public function sendEcho($msg) {}
public function setTimeout($key, $timeout) {}
public function substr($key, $start, $end) {}
public function zDelete($key, $member, ...$other_members) {}
public function zDeleteRangeByRank($key, $min, $max) {}
public function zDeleteRangeByScore($key, $min, $max) {}
public function zInter($key, array $keys, ?array $weights = null, $aggregate = null) {}
public function zRemove($key, $member, ...$other_members) {}
public function zRemoveRangeByScore($key, $min, $max) {}
public function zReverseRange($key, $start, $end, $scores = null) {}
public function zSize($key) {}
public function zUnion($key, array $keys, ?array $weights = null, $aggregate = null) {}
}
class RedisArray {
// methods
public function __call($function_name, $arguments) {}
public function __construct($name_or_hosts, array $options = null) {}
public function _continuum() {}
public function _distributor() {}
public function _function() {}
public function _hosts() {}
public function _instance($host) {}
public function _rehash($callable = null) {}
public function _target($key) {}
public function bgsave() {}
public function del($keys) {}
public function discard() {}
public function exec() {}
public function flushall($async = null) {}
public function flushdb($async = null) {}
public function getOption($opt) {}
public function info() {}
public function keys($pattern) {}
public function mget($keys) {}
public function mset($pairs) {}
public function multi($host, $mode = null) {}
public function ping() {}
public function save() {}
public function select($index) {}
public function setOption($opt, $value) {}
public function unlink() {}
public function unwatch() {}
public function delete($keys) {}
public function getMultiple($keys) {}
}
class RedisCluster {
// constants
const REDIS_NOT_FOUND = 0;
const REDIS_STRING = 1;
const REDIS_SET = 2;
const REDIS_LIST = 3;
const REDIS_ZSET = 4;
const REDIS_HASH = 5;
const REDIS_STREAM = 6;
const ATOMIC = 0;
const MULTI = 1;
const OPT_SERIALIZER = 1;
const OPT_PREFIX = 2;
const OPT_READ_TIMEOUT = 3;
const OPT_TCP_KEEPALIVE = 6;
const OPT_COMPRESSION = 7;
const OPT_REPLY_LITERAL = 8;
const OPT_COMPRESSION_LEVEL = 9;
const SERIALIZER_NONE = 0;
const SERIALIZER_PHP = 1;
const SERIALIZER_JSON = 4;
const COMPRESSION_NONE = 0;
const OPT_SCAN = 4;
const SCAN_RETRY = 1;
const SCAN_NORETRY = 0;
const OPT_SLAVE_FAILOVER = 5;
const FAILOVER_NONE = 0;
const FAILOVER_ERROR = 1;
const FAILOVER_DISTRIBUTE = 2;
const FAILOVER_DISTRIBUTE_SLAVES = 3;
const AFTER = 'after';
const BEFORE = 'before';
// methods
public function __construct($name, array $seeds = null, $timeout = null, $read_timeout = null, $persistent = null, $auth = null) {}
public function _masters() {}
public function _prefix($key) {}
public function _redir() {}
public function _serialize($value) {}
public function _unserialize($value) {}
public function append($key, $value) {}
public function bgrewriteaof($key_or_address) {}
public function bgsave($key_or_address) {}
public function bitcount($key) {}
public function bitop($operation, $ret_key, $key, ...$other_keys) {}
public function bitpos($key, $bit, $start = null, $end = null) {}
public function blpop($key, $timeout_or_key, ...$extra_args) {}
public function brpop($key, $timeout_or_key, ...$extra_args) {}
public function brpoplpush($src, $dst, $timeout) {}
public function clearlasterror() {}
public function bzpopmax($key, $timeout_or_key, ...$extra_args) {}
public function bzpopmin($key, $timeout_or_key, ...$extra_args) {}
public function client($key_or_address, $arg = null, ...$other_args) {}
public function close() {}
public function cluster($key_or_address, $arg = null, ...$other_args) {}
public function command(...$args) {}
public function config($key_or_address, $arg = null, ...$other_args) {}
public function dbsize($key_or_address) {}
public function decr($key) {}
public function decrby($key, $value) {}
public function del($key, ...$other_keys) {}
public function discard() {}
public function dump($key) {}
public function echo($msg) {}
public function eval($script, $args = null, $num_keys = null) {}
public function evalsha($script_sha, $args = null, $num_keys = null) {}
public function exec() {}
public function exists($key) {}
public function expire($key, $timeout) {}
public function expireat($key, $timestamp) {}
public function flushall($key_or_address, $async = null) {}
public function flushdb($key_or_address, $async = null) {}
public function geoadd($key, $lng, $lat, $member, ...$other_triples) {}
public function geodist($key, $src, $dst, $unit = null) {}
public function geohash($key, $member, ...$other_members) {}
public function geopos($key, $member, ...$other_members) {}
public function georadius($key, $lng, $lan, $radius, $unit, array $opts = null) {}
public function georadius_ro($key, $lng, $lan, $radius, $unit, array $opts = null) {}
public function georadiusbymember($key, $member, $radius, $unit, array $opts = null) {}
public function georadiusbymember_ro($key, $member, $radius, $unit, array $opts = null) {}
public function get($key) {}
public function getbit($key, $offset) {}
public function getlasterror() {}
public function getmode() {}
public function getoption($option) {}
public function getrange($key, $start, $end) {}
public function getset($key, $value) {}
public function hdel($key, $member, ...$other_members) {}
public function hexists($key, $member) {}
public function hget($key, $member) {}
public function hgetall($key) {}
public function hincrby($key, $member, $value) {}
public function hincrbyfloat($key, $member, $value) {}
public function hkeys($key) {}
public function hlen($key) {}
public function hmget($key, array $keys) {}
public function hmset($key, array $pairs) {}
public function hscan($str_key, &$i_iterator, $str_pattern = null, $i_count = null) {}
public function hset($key, $member, $value) {}
public function hsetnx($key, $member, $value) {}
public function hstrlen($key, $member) {}
public function hvals($key) {}
public function incr($key) {}
public function incrby($key, $value) {}
public function incrbyfloat($key, $value) {}
public function info($key_or_address, $option = null) {}
public function keys($pattern) {}
public function lastsave($key_or_address) {}
public function lget($key, $index) {}
public function lindex($key, $index) {}
public function linsert($key, $position, $pivot, $value) {}
public function llen($key) {}
public function lpop($key) {}
public function lpush($key, $value) {}
public function lpushx($key, $value) {}
public function lrange($key, $start, $end) {}
public function lrem($key, $value) {}
public function lset($key, $index, $value) {}
public function ltrim($key, $start, $stop) {}
public function mget(array $keys) {}
public function mset(array $pairs) {}
public function msetnx(array $pairs) {}
public function multi() {}
public function object($field, $key) {}
public function persist($key) {}
public function pexpire($key, $timestamp) {}
public function pexpireat($key, $timestamp) {}
public function pfadd($key, array $elements) {}
public function pfcount($key) {}
public function pfmerge($dstkey, array $keys) {}
public function ping($key_or_address) {}
public function psetex($key, $expire, $value) {}
public function psubscribe(array $patterns, $callback) {}
public function pttl($key) {}
public function publish($channel, $message) {}
public function pubsub($key_or_address, $arg = null, ...$other_args) {}
public function punsubscribe($pattern, ...$other_patterns) {}
public function randomkey($key_or_address) {}
public function rawcommand($cmd, ...$args) {}
public function rename($key, $newkey) {}
public function renamenx($key, $newkey) {}
public function restore($ttl, $key, $value) {}
public function role() {}
public function rpop($key) {}
public function rpoplpush($src, $dst) {}
public function rpush($key, $value) {}
public function rpushx($key, $value) {}
public function sadd($key, $value) {}
public function saddarray($key, array $options) {}
public function save($key_or_address) {}
public function scan(&$i_iterator, $str_node, $str_pattern = null, $i_count = null) {}
public function scard($key) {}
public function script($key_or_address, $arg = null, ...$other_args) {}
public function sdiff($key, ...$other_keys) {}
public function sdiffstore($dst, $key, ...$other_keys) {}
public function set($key, $value, $opts = null) {}
public function setbit($key, $offset, $value) {}
public function setex($key, $expire, $value) {}
public function setnx($key, $value) {}
public function setoption($option, $value) {}
public function setrange($key, $offset, $value) {}
public function sinter($key, ...$other_keys) {}
public function sinterstore($dst, $key, ...$other_keys) {}
public function sismember($key, $value) {}
public function slowlog($key_or_address, $arg = null, ...$other_args) {}
public function smembers($key) {}
public function smove($src, $dst, $value) {}
public function sort($key, array $options = null) {}
public function spop($key) {}
public function srandmember($key, $count = null) {}
public function srem($key, $value) {}
public function sscan($str_key, &$i_iterator, $str_pattern = null, $i_count = null) {}
public function strlen($key) {}
public function subscribe(array $channels, $callback) {}
public function sunion($key, ...$other_keys) {}
public function sunionstore($dst, $key, ...$other_keys) {}
public function time() {}
public function ttl($key) {}
public function type($key) {}
public function unsubscribe($channel, ...$other_channels) {}
public function unlink($key, ...$other_keys) {}
public function unwatch() {}
public function watch($key, ...$other_keys) {}
public function xack($str_key, $str_group, array $arr_ids) {}
public function xadd($str_key, $str_id, array $arr_fields, $i_maxlen = null, $boo_approximate = null) {}
public function xclaim($str_key, $str_group, $str_consumer, $i_min_idle, array $arr_ids, array $arr_opts = null) {}
public function xdel($str_key, array $arr_ids) {}
public function xgroup($str_operation, $str_key = null, $str_arg1 = null, $str_arg2 = null, $str_arg3 = null) {}
public function xinfo($str_cmd, $str_key = null, $str_group = null) {}
public function xlen($key) {}
public function xpending($str_key, $str_group, $str_start = null, $str_end = null, $i_count = null, $str_consumer = null) {}
public function xrange($str_key, $str_start, $str_end, $i_count = null) {}
public function xread(array $arr_streams, $i_count = null, $i_block = null) {}
public function xreadgroup($str_group, $str_consumer, array $arr_streams, $i_count = null, $i_block = null) {}
public function xrevrange($str_key, $str_start, $str_end, $i_count = null) {}
public function xtrim($str_key, $i_maxlen, $boo_approximate = null) {}
public function zadd($key, $score, $value) {}
public function zcard($key) {}
public function zcount($key, $min, $max) {}
public function zincrby($key, $value, $member) {}
public function zinterstore($key, array $keys, ?array $weights = null, $aggregate = null) {}
public function zlexcount($key, $min, $max) {}
public function zpopmax($key) {}
public function zpopmin($key) {}
public function zrange($key, $start, $end, $scores = null) {}
public function zrangebylex($key, $min, $max, $offset = null, $limit = null) {}
public function zrangebyscore($key, $start, $end, array $options = null) {}
public function zrank($key, $member) {}
public function zrem($key, $member, ...$other_members) {}
public function zremrangebylex($key, $min, $max) {}
public function zremrangebyrank($key, $min, $max) {}
public function zremrangebyscore($key, $min, $max) {}
public function zrevrange($key, $start, $end, $scores = null) {}
public function zrevrangebylex($key, $min, $max, $offset = null, $limit = null) {}
public function zrevrangebyscore($key, $start, $end, array $options = null) {}
public function zrevrank($key, $member) {}
public function zscan($str_key, &$i_iterator, $str_pattern = null, $i_count = null) {}
public function zscore($key, $member) {}
public function zunionstore($key, array $keys, ?array $weights = null, $aggregate = null) {}
}
class RedisClusterException extends \Exception {
// properties
protected $message;
protected $code;
protected $file;
protected $line;
}
class RedisException extends \Exception {
// properties
protected $message;
protected $code;
protected $file;
protected $line;
}
}

View File

@ -1,211 +0,0 @@
<?php
// These stubs were generated by the phan stub generator.
// @phan-stub-for-extension sockets@7.0.33-0+deb9u3
namespace {
function socket_accept($socket) {}
function socket_bind($socket, $addr, $port = null) {}
function socket_clear_error($socket = null) {}
function socket_close($socket) {}
function socket_cmsg_space($level, $type) {}
function socket_connect($socket, $addr, $port = null) {}
function socket_create($domain, $type, $protocol) {}
function socket_create_listen($port, $backlog = null) {}
function socket_create_pair($domain, $type, $protocol, &$fd) {}
function socket_export_stream($socket) {}
function socket_get_option($socket, $level, $optname) {}
function socket_getopt($socket, $level, $optname) {}
function socket_getpeername($socket, &$addr, &$port = null) {}
function socket_getsockname($socket, &$addr, &$port = null) {}
function socket_import_stream($stream) {}
function socket_last_error($socket = null) {}
function socket_listen($socket, $backlog = null) {}
function socket_read($socket, $length, $type = null) {}
function socket_recv($socket, &$buf, $len, $flags) {}
function socket_recvfrom($socket, &$buf, $len, $flags, &$name, &$port = null) {}
function socket_recvmsg($socket, &$msghdr, $flags) {}
function socket_select(&$read_fds, &$write_fds, &$except_fds, $tv_sec, $tv_usec = null) {}
function socket_send($socket, $buf, $len, $flags) {}
function socket_sendmsg($socket, $msghdr, $flags) {}
function socket_sendto($socket, $buf, $len, $flags, $addr, $port = null) {}
function socket_set_block($socket) {}
function socket_set_nonblock($socket) {}
function socket_set_option($socket, $level, $optname, $optval) {}
function socket_setopt($socket, $level, $optname, $optval) {}
function socket_shutdown($socket, $how = null) {}
function socket_strerror($errno) {}
function socket_write($socket, $buf, $length = null) {}
const AF_INET = 2;
const AF_INET6 = 10;
const AF_UNIX = 1;
const IPPROTO_IP = 0;
const IPPROTO_IPV6 = 41;
const IPV6_HOPLIMIT = 52;
const IPV6_MULTICAST_HOPS = 18;
const IPV6_MULTICAST_IF = 17;
const IPV6_MULTICAST_LOOP = 19;
const IPV6_PKTINFO = 50;
const IPV6_RECVHOPLIMIT = 51;
const IPV6_RECVPKTINFO = 49;
const IPV6_RECVTCLASS = 66;
const IPV6_TCLASS = 67;
const IPV6_UNICAST_HOPS = 16;
const IPV6_V6ONLY = 26;
const IP_MULTICAST_IF = 32;
const IP_MULTICAST_LOOP = 34;
const IP_MULTICAST_TTL = 33;
const MCAST_BLOCK_SOURCE = 43;
const MCAST_JOIN_GROUP = 42;
const MCAST_JOIN_SOURCE_GROUP = 46;
const MCAST_LEAVE_GROUP = 45;
const MCAST_LEAVE_SOURCE_GROUP = 47;
const MCAST_UNBLOCK_SOURCE = 44;
const MSG_CMSG_CLOEXEC = 1073741824;
const MSG_CONFIRM = 2048;
const MSG_CTRUNC = 8;
const MSG_DONTROUTE = 4;
const MSG_DONTWAIT = 64;
const MSG_EOF = 512;
const MSG_EOR = 128;
const MSG_ERRQUEUE = 8192;
const MSG_MORE = 32768;
const MSG_NOSIGNAL = 16384;
const MSG_OOB = 1;
const MSG_PEEK = 2;
const MSG_TRUNC = 32;
const MSG_WAITALL = 256;
const MSG_WAITFORONE = 65536;
const PHP_BINARY_READ = 2;
const PHP_NORMAL_READ = 1;
const SCM_CREDENTIALS = 2;
const SCM_RIGHTS = 1;
const SOCKET_E2BIG = 7;
const SOCKET_EACCES = 13;
const SOCKET_EADDRINUSE = 98;
const SOCKET_EADDRNOTAVAIL = 99;
const SOCKET_EADV = 68;
const SOCKET_EAFNOSUPPORT = 97;
const SOCKET_EAGAIN = 11;
const SOCKET_EALREADY = 114;
const SOCKET_EBADE = 52;
const SOCKET_EBADF = 9;
const SOCKET_EBADFD = 77;
const SOCKET_EBADMSG = 74;
const SOCKET_EBADR = 53;
const SOCKET_EBADRQC = 56;
const SOCKET_EBADSLT = 57;
const SOCKET_EBUSY = 16;
const SOCKET_ECHRNG = 44;
const SOCKET_ECOMM = 70;
const SOCKET_ECONNABORTED = 103;
const SOCKET_ECONNREFUSED = 111;
const SOCKET_ECONNRESET = 104;
const SOCKET_EDESTADDRREQ = 89;
const SOCKET_EDQUOT = 122;
const SOCKET_EEXIST = 17;
const SOCKET_EFAULT = 14;
const SOCKET_EHOSTDOWN = 112;
const SOCKET_EHOSTUNREACH = 113;
const SOCKET_EIDRM = 43;
const SOCKET_EINPROGRESS = 115;
const SOCKET_EINTR = 4;
const SOCKET_EINVAL = 22;
const SOCKET_EIO = 5;
const SOCKET_EISCONN = 106;
const SOCKET_EISDIR = 21;
const SOCKET_EISNAM = 120;
const SOCKET_EL2HLT = 51;
const SOCKET_EL2NSYNC = 45;
const SOCKET_EL3HLT = 46;
const SOCKET_EL3RST = 47;
const SOCKET_ELNRNG = 48;
const SOCKET_ELOOP = 40;
const SOCKET_EMEDIUMTYPE = 124;
const SOCKET_EMFILE = 24;
const SOCKET_EMLINK = 31;
const SOCKET_EMSGSIZE = 90;
const SOCKET_EMULTIHOP = 72;
const SOCKET_ENAMETOOLONG = 36;
const SOCKET_ENETDOWN = 100;
const SOCKET_ENETRESET = 102;
const SOCKET_ENETUNREACH = 101;
const SOCKET_ENFILE = 23;
const SOCKET_ENOANO = 55;
const SOCKET_ENOBUFS = 105;
const SOCKET_ENOCSI = 50;
const SOCKET_ENODATA = 61;
const SOCKET_ENODEV = 19;
const SOCKET_ENOENT = 2;
const SOCKET_ENOLCK = 37;
const SOCKET_ENOLINK = 67;
const SOCKET_ENOMEDIUM = 123;
const SOCKET_ENOMEM = 12;
const SOCKET_ENOMSG = 42;
const SOCKET_ENONET = 64;
const SOCKET_ENOPROTOOPT = 92;
const SOCKET_ENOSPC = 28;
const SOCKET_ENOSR = 63;
const SOCKET_ENOSTR = 60;
const SOCKET_ENOSYS = 38;
const SOCKET_ENOTBLK = 15;
const SOCKET_ENOTCONN = 107;
const SOCKET_ENOTDIR = 20;
const SOCKET_ENOTEMPTY = 39;
const SOCKET_ENOTSOCK = 88;
const SOCKET_ENOTTY = 25;
const SOCKET_ENOTUNIQ = 76;
const SOCKET_ENXIO = 6;
const SOCKET_EOPNOTSUPP = 95;
const SOCKET_EPERM = 1;
const SOCKET_EPFNOSUPPORT = 96;
const SOCKET_EPIPE = 32;
const SOCKET_EPROTO = 71;
const SOCKET_EPROTONOSUPPORT = 93;
const SOCKET_EPROTOTYPE = 91;
const SOCKET_EREMCHG = 78;
const SOCKET_EREMOTE = 66;
const SOCKET_EREMOTEIO = 121;
const SOCKET_ERESTART = 85;
const SOCKET_EROFS = 30;
const SOCKET_ESHUTDOWN = 108;
const SOCKET_ESOCKTNOSUPPORT = 94;
const SOCKET_ESPIPE = 29;
const SOCKET_ESRMNT = 69;
const SOCKET_ESTRPIPE = 86;
const SOCKET_ETIME = 62;
const SOCKET_ETIMEDOUT = 110;
const SOCKET_ETOOMANYREFS = 109;
const SOCKET_EUNATCH = 49;
const SOCKET_EUSERS = 87;
const SOCKET_EWOULDBLOCK = 11;
const SOCKET_EXDEV = 18;
const SOCKET_EXFULL = 54;
const SOCK_DGRAM = 2;
const SOCK_RAW = 3;
const SOCK_RDM = 4;
const SOCK_SEQPACKET = 5;
const SOCK_STREAM = 1;
const SOL_SOCKET = 1;
const SOL_TCP = 6;
const SOL_UDP = 17;
const SOMAXCONN = 128;
const SO_BINDTODEVICE = 25;
const SO_BROADCAST = 6;
const SO_DEBUG = 1;
const SO_DONTROUTE = 5;
const SO_ERROR = 4;
const SO_KEEPALIVE = 9;
const SO_LINGER = 13;
const SO_OOBINLINE = 10;
const SO_PASSCRED = 16;
const SO_RCVBUF = 8;
const SO_RCVLOWAT = 18;
const SO_RCVTIMEO = 20;
const SO_REUSEADDR = 2;
const SO_REUSEPORT = 15;
const SO_SNDBUF = 7;
const SO_SNDLOWAT = 19;
const SO_SNDTIMEO = 21;
const SO_TYPE = 3;
const TCP_NODELAY = 1;
}

View File

@ -1,276 +0,0 @@
<?php
// @phan-stub-for-extension sqlsrv@3.0.1
define('SQLSRV_ERR_ERRORS', 0);
define('SQLSRV_ERR_WARNINGS', 1);
define('SQLSRV_ERR_ALL', 2);
define('SQLSRV_LOG_SYSTEM_ALL',-1);
define('SQLSRV_LOG_SYSTEM_OFF', 0);
define('SQLSRV_LOG_SYSTEM_INIT', 1);
define('SQLSRV_LOG_SYSTEM_CONN', 2);
define('SQLSRV_LOG_SYSTEM_STMT', 4);
define('SQLSRV_LOG_SYSTEM_UTIL', 8);
define('SQLSRV_LOG_SEVERITY_ALL', -1);
define('SQLSRV_LOG_SEVERITY_ERROR', 1);
define('SQLSRV_LOG_SEVERITY_NOTICE', 4);
define('SQLSRV_LOG_SEVERITY_WARNING', 2);
define('SQLSRV_FETCH_NUMERIC', 1);
define('SQLSRV_FETCH_ASSOC', 2);
define('SQLSRV_FETCH_BOTH', 3);
define('SQLSRV_PHPTYPE_NULL', 1);
define('SQLSRV_PHPTYPE_INT', 2);
define('SQLSRV_PHPTYPE_FLOAT', 3);
define('SQLSRV_PHPTYPE_DATETIME', 4);
define('SQLSRV_ENC_BINARY', 'binary');
define('SQLSRV_ENC_CHAR','char');
define('SQLSRV_NULLABLE_NO', 0);
define('SQLSRV_NULLABLE_YES', 1);
define('SQLSRV_NULLABLE_UNKNOWN', 2);
define('SQLSRV_SQLTYPE_BIGINT', -5);
define('SQLSRV_SQLTYPE_BIT', -7);
define('SQLSRV_SQLTYPE_DATETIME', 25177693);
define('SQLSRV_SQLTYPE_FLOAT', 6);
define('SQLSRV_SQLTYPE_IMAGE', -4);
define('SQLSRV_SQLTYPE_INT', 4);
define('SQLSRV_SQLTYPE_MONEY', 33564163);
define('SQLSRV_SQLTYPE_NTEXT', -10);
define('SQLSRV_SQLTYPE_TEXT', -1);
define('SQLSRV_SQLTYPE_REAL', 7);
define('SQLSRV_SQLTYPE_SMALLDATETIME', 8285);
define('SQLSRV_SQLTYPE_SMALLINT', 5);
define('SQLSRV_SQLTYPE_SMALLMONEY', 33559555);
define('SQLSRV_SQLTYPE_TIMESTAMP', 4606);
define('SQLSRV_SQLTYPE_TINYINT', -6);
define('SQLSRV_SQLTYPE_UDT', -151);
define('SQLSRV_SQLTYPE_UNIQUEIDENTIFIER', -11);
define('SQLSRV_SQLTYPE_XML', -152);
define('SQLSRV_SQLTYPE_DATE', 5211);
define('SQLSRV_SQLTYPE_TIME', 58728806);
define('SQLSRV_SQLTYPE_DATETIMEOFFSET', 58738021);
define('SQLSRV_SQLTYPE_DATETIME2', 58734173);
define('SQLSRV_PARAM_IN', 1);
define('SQLSRV_PARAM_INOUT', 2);
define('SQLSRV_PARAM_OUT', 4);
define('SQLSRV_TXN_READ_UNCOMMITTED', 1);
define('SQLSRV_TXN_READ_COMMITTED', 2);
define('SQLSRV_TXN_REPEATABLE_READ', 4);
define('SQLSRV_TXN_SERIALIZABLE', 8);
define('SQLSRV_TXN_SNAPSHOT', 32);
define('SQLSRV_SCROLL_NEXT', 1);
define('SQLSRV_SCROLL_PRIOR', 4);
define('SQLSRV_SCROLL_FIRST', 2);
define('SQLSRV_SCROLL_LAST', 3);
define('SQLSRV_SCROLL_ABSOLUTE', 5);
define('SQLSRV_SCROLL_RELATIVE', 6);
define('SQLSRV_CURSOR_FORWARD', 'forward');
define('SQLSRV_CURSOR_STATIC', 'static');
define('SQLSRV_CURSOR_DYNAMIC', 'dynamic');
define('SQLSRV_CURSOR_KEYSET', 'keyset');
define('SQLSRV_CURSOR_CLIENT_BUFFERED', 'buffered');
function sqlsrv_connect($server_name, $connection_info = array()){}
function sqlsrv_close($conn){}
function sqlsrv_commit($conn){}
function sqlsrv_begin_transaction($conn){}
function sqlsrv_rollback($conn){}
function sqlsrv_errors($errorsAndOrWarnings = SQLSRV_ERR_ALL){}
function sqlsrv_configure($setting, $value){}
function sqlsrv_get_config($setting){}
function sqlsrv_prepare($conn, $tsql, $params=array(), $options=array()){}
function sqlsrv_execute($stmt){}
function sqlsrv_query($conn, $tsql, $params=array(), $options=array()){}
function sqlsrv_fetch($stmt, $row=null, $offset=null){}
function sqlsrv_get_field($stmt, $field_index, $get_as_type){}
function sqlsrv_fetch_array($stmt, $fetch_type = null, $row=null, $offset=null){}
function sqlsrv_fetch_object($stmt, $class_name=null, $ctor_params=null, $row=null, $offset=null){}
function sqlsrv_has_rows($stmt){}
function sqlsrv_num_fields($stmt){}
function sqlsrv_next_result($stmt){}
function sqlsrv_num_rows($stmt){}
function sqlsrv_rows_affected($stmt){}
function sqlsrv_client_info($conn){}
function sqlsrv_server_info($conn){}
function sqlsrv_cancel($stmt){}
function sqlsrv_free_stmt($stmt){}
function sqlsrv_field_metadata($stmt){}
function sqlsrv_send_stream_data($stmt){}
function SQLSRV_PHPTYPE_STREAM($encoding){}
function SQLSRV_PHPTYPE_STRING($encoding){}
function SQLSRV_SQLTYPE_BINARY($byteCount){}
function SQLSRV_SQLTYPE_VARBINARY($byteCount){}
function SQLSRV_SQLTYPE_VARCHAR($charCount) {}
function SQLSRV_SQLTYPE_CHAR($charCount){}
function SQLSRV_SQLTYPE_NCHAR($charCount){}
function SQLSRV_SQLTYPE_NVARCHAR($charCount){}
function SQLSRV_SQLTYPE_DECIMAL($precision, $scale){}
function SQLSRV_SQLTYPE_NUMERIC($precision, $scale){}

View File

@ -1,28 +0,0 @@
<?php
// These stubs were generated by the phan stub generator.
// @phan-stub-for-extension tideways@4.0.7
namespace {
function tideways_disable() {}
function tideways_enable($flags = null, $options = null) {}
function tideways_fatal_backtrace() {}
function tideways_get_spans() {}
function tideways_last_detected_exception() {}
function tideways_last_fatal_error() {}
function tideways_prepend_overwritten() {}
function tideways_span_annotate($span = null, $annotations = null) {}
function tideways_span_callback($name = null, $callback = null) {}
function tideways_span_create($category = null) {}
function tideways_span_timer_start($span = null) {}
function tideways_span_timer_stop($span = null) {}
function tideways_span_watch($name = null, $category = null) {}
function tideways_sql_minify($sql = null) {}
function tideways_transaction_name() {}
const TIDEWAYS_FLAGS_CPU = 2;
const TIDEWAYS_FLAGS_MEMORY = 4;
const TIDEWAYS_FLAGS_NO_BUILTINS = 1;
const TIDEWAYS_FLAGS_NO_COMPILE = 16;
const TIDEWAYS_FLAGS_NO_HIERACHICAL = 64;
const TIDEWAYS_FLAGS_NO_SPANS = 32;
const TIDEWAYS_FLAGS_NO_USERLAND = 8;
}

View File

@ -1,47 +0,0 @@
<?php
/**
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*/
// phpcs:ignoreFile
/**
* @param string $text1
* @param string $text2
* @param int $numContextLines
* @param int $movedParagraphDetectionCutoff
* @return string
*/
function wikidiff2_do_diff( $text1, $text2, $numContextLines, $movedParagraphDetectionCutoff = 0 ) {
}
/**
* @param string $text1
* @param string $text2
* @param int $numContextLines
* @return string
*/
function wikidiff2_inline_diff( $text1, $text2, $numContextLines ) {
}
/**
* @param string $text1
* @param string $text2
* @param int $numContextLines
* @return string
*/
function wikidiff2_inline_json_diff( $text1, $text2, $numContextLines ) {
}

View File

@ -1,3 +0,0 @@
These stubs describe how code that is not available at analysis time should be
used. No implementations are necessary, just define the classes and their
methods and use phpdoc to describe what arguments are allowed.

View File

@ -1,6 +0,0 @@
<?php
// Stub for PHP 8's ValueError exception
class ValueError extends Error {
}

View File

@ -1,94 +0,0 @@
<?php
/**
* Minimal set of classes necessary for UserMailer to be happy. Types
* taken from documentation at pear.php.net.
* phpcs:ignoreFile
*/
class PEAR {
/**
* @param mixed $data
* @return bool
*/
public static function isError( $data ) {
}
}
class PEAR_Error {
/**
* @return string
*/
public function getMessage() {
}
}
class Mail {
/**
* @param string $driver
* @param array $params
* @return self
*/
static public function factory( $driver, array $params = [] ) {
}
/**
* @param mixed $recipients
* @param array $headers
* @param string $body
* @return bool|PEAR_Error
*/
public function send( $recipients, array $headers, $body ) {
}
/**
* @return string
*/
public function getMessage() {
}
}
class Mail_smtp extends Mail {
}
class Mail_mime {
/**
* @param mixed $params
*/
public function __construct( $params = [] ) {
}
/**
* @param string $data
* @param bool $isfile
* @param bool $append
* @return bool|PEAR_Error
*/
public function setTXTBody( $data, $isfile = false, $append = false ) {
}
/**
* @param string $data
* @param bool $isfile
* @return bool|PEAR_Error
*/
public function setHTMLBody( $data, $isfile = false ) {
}
/**
* @param array|null $parms
* @param mixed $filename
* @param bool $skip_head
* @return string|bool|PEAR_Error
*/
public function get( $params = null, $filename = null, $skip_head = false ) {
}
/**
* @param array|null $xtra_headers
* @param bool $overwrite
* @param bool $skip_content
* @return array
*/
public function headers( array $xtra_headers = null, $overwrite = false, $skip_content = false ) {
}
}

View File

@ -1,10 +0,0 @@
<?php
// phpcs:ignoreFile
// Password constants added in PHP 7.2 & 7.3
const PASSWORD_ARGON2I = 2;
const PASSWORD_ARGON2ID = 3;
const PASSWORD_ARGON2_DEFAULT_MEMORY_COST = 1024;
const PASSWORD_ARGON2_DEFAULT_THREADS = 2;
const PASSWORD_ARGON2_DEFAULT_TIME_COST = 2;

View File

@ -1,253 +0,0 @@
<?xml version="1.0"?>
<ruleset name="MediaWiki">
<rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki">
<exclude name="Generic.ControlStructures.InlineControlStructure" />
<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate" />
<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected" />
<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic" />
<exclude name="MediaWiki.ControlStructures.AssignmentInControlStructures.AssignmentInControlStructures" />
<exclude name="MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName" />
<exclude name="MediaWiki.Usage.DbrQueryUsage.DbrQueryFound" />
<exclude name="MediaWiki.Usage.DeprecatedGlobalVariables.Deprecated$wgContLang" />
<exclude name="MediaWiki.Usage.DeprecatedGlobalVariables.Deprecated$wgMemc" />
<exclude name="MediaWiki.Usage.DeprecatedGlobalVariables.Deprecated$wgTitle" />
<exclude name="MediaWiki.Usage.DeprecatedGlobalVariables.Deprecated$wgUser" />
<exclude name="MediaWiki.Usage.DeprecatedGlobalVariables.Deprecated$wgVersion" />
<exclude name="MediaWiki.Usage.ForbiddenFunctions.passthru" />
<exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment" />
</rule>
<!-- TODO Still to be done -->
<rule ref="MediaWiki.Commenting.FunctionComment.WrongStyle">
<exclude-pattern>includes/</exclude-pattern>
</rule>
<!-- See T238572 -->
<rule ref="MediaWiki.Commenting.FunctionComment.MissingParamTag">
<exclude-pattern>tests/</exclude-pattern>
</rule>
<rule ref="MediaWiki.NamingConventions.PrefixedGlobalFunctions">
<properties>
<!--
includes/GlobalFunctions.php
* mimeTypeMatch
maintenance/language/transstat.php
* showUsage
maintenance/mcc.php
* mccGetHelp
* mccShowUsage
maintenance/storage/moveToExternal.php
* moveToExternal
maintenance/storage/resolveStubs.php
* resolveStub
* resolveStubs
tests/phpunit/includes/HooksTest.php
* NothingFunction
* NothingFunctionData
tests/qunit/data/styleTest.css.php
* cssfilter
-->
<property name="ignoreList" type="array" value="cssfilter,mccGetHelp,mccShowUsage,mimeTypeMatch,moveToExternal,NothingFunction,NothingFunctionData,resolveStub,resolveStubs,showUsage" />
</properties>
</rule>
<rule ref="MediaWiki.NamingConventions.ValidGlobalName">
<properties>
<property name="ignoreList" type="array" value="$IP" />
</properties>
</rule>
<rule ref="MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix">
<exclude-pattern>maintenance/language/checkLanguage\.inc</exclude-pattern>
<exclude-pattern>maintenance/doMaintenance\.php</exclude-pattern>
<exclude-pattern>maintenance/mergeMessageFileList\.php</exclude-pattern>
<exclude-pattern>maintenance/commandLine\.inc</exclude-pattern>
<exclude-pattern>tests/phpunit/MediaWikiIntegrationTestCase\.php</exclude-pattern>
</rule>
<rule ref="Generic.Files.LineLength">
<exclude-pattern>*/languages/messages/Messages*\.php</exclude-pattern>
</rule>
<rule ref="MediaWiki.Files.ClassMatchesFilename.NotMatch">
<!--
Whitelist existing violations, but enable the sniff to prevent
any new occurrences.
-->
<exclude-pattern>*/includes/specials/SpecialMostimages\.php</exclude-pattern>
<exclude-pattern>*/includes/specials/SpecialMovepage\.php</exclude-pattern>
<exclude-pattern>*/includes/specials/SpecialRandompage\.php</exclude-pattern>
<exclude-pattern>*/includes/specials/SpecialUserrights\.php</exclude-pattern>
<exclude-pattern>*/includes/specials/SpecialWantedfiles\.php</exclude-pattern>
<exclude-pattern>*/includes/specials/SpecialWantedpages\.php</exclude-pattern>
<exclude-pattern>*/maintenance/CodeCleanerGlobalsPass.inc</exclude-pattern>
<exclude-pattern>*/maintenance/archives/upgradeLogging\.php</exclude-pattern>
<exclude-pattern>*/maintenance/benchmarks/bench_HTTP_HTTPS\.php</exclude-pattern>
<exclude-pattern>*/maintenance/benchmarks/bench_Wikimedia_base_convert\.php</exclude-pattern>
<exclude-pattern>*/maintenance/benchmarks/bench_delete_truncate\.php</exclude-pattern>
<exclude-pattern>*/maintenance/benchmarks/bench_if_switch\.php</exclude-pattern>
<exclude-pattern>*/maintenance/benchmarks/bench_utf8_title_check\.php</exclude-pattern>
<exclude-pattern>*/maintenance/benchmarks/bench_wfIsWindows\.php</exclude-pattern>
<exclude-pattern>*/maintenance/cleanupTable.inc</exclude-pattern>
<exclude-pattern>*/maintenance/cleanupTitles\.php</exclude-pattern>
<exclude-pattern>*/maintenance/commandLine.inc</exclude-pattern>
<exclude-pattern>*/maintenance/edit\.php</exclude-pattern>
<exclude-pattern>*/maintenance/findDeprecated\.php</exclude-pattern>
<exclude-pattern>*/maintenance/getText\.php</exclude-pattern>
<exclude-pattern>*/maintenance/importDump\.php</exclude-pattern>
<exclude-pattern>*/maintenance/install\.php</exclude-pattern>
<exclude-pattern>*/maintenance/invalidateUserSessions\.php</exclude-pattern>
<exclude-pattern>*/maintenance/jsparse\.php</exclude-pattern>
<exclude-pattern>*/maintenance/lag\.php</exclude-pattern>
<exclude-pattern>*/maintenance/language/StatOutputs\.php</exclude-pattern>
<exclude-pattern>*/maintenance/language/checkLanguage.inc</exclude-pattern>
<exclude-pattern>*/maintenance/language/date-formats\.php</exclude-pattern>
<exclude-pattern>*/maintenance/language/languages.inc</exclude-pattern>
<exclude-pattern>*/maintenance/minify\.php</exclude-pattern>
<exclude-pattern>*/maintenance/mysql\.php</exclude-pattern>
<exclude-pattern>*/maintenance/parse\.php</exclude-pattern>
<exclude-pattern>*/maintenance/preprocessorFuzzTest\.php</exclude-pattern>
<exclude-pattern>*/maintenance/rebuildImages\.php</exclude-pattern>
<exclude-pattern>*/maintenance/renderDump\.php</exclude-pattern>
<exclude-pattern>*/maintenance/shell\.php</exclude-pattern>
<exclude-pattern>*/maintenance/sql\.php</exclude-pattern>
<exclude-pattern>*/maintenance/sqlite.inc</exclude-pattern>
<exclude-pattern>*/maintenance/sqlite\.php</exclude-pattern>
<exclude-pattern>*/maintenance/term/MWTerm\.php</exclude-pattern>
<exclude-pattern>*/maintenance/update\.php</exclude-pattern>
<exclude-pattern>*/maintenance/userDupes.inc</exclude-pattern>
<exclude-pattern>*/maintenance/userOptions\.php</exclude-pattern>
<exclude-pattern>*/maintenance/view\.php</exclude-pattern>
<!-- Language converters use the pattern of 2 classes in one file -->
<exclude-pattern>*/languages/*\.php</exclude-pattern>
<!-- Skip violations in some tests for now -->
<exclude-pattern>*/tests/parser/*\.php</exclude-pattern>
<exclude-pattern>*/tests/phan/*\.php</exclude-pattern>
<exclude-pattern>*/tests/phpunit/maintenance/*\.php</exclude-pattern>
<exclude-pattern>*/tests/phpunit/bootstrap\.php</exclude-pattern>
<exclude-pattern>*/tests/phpunit/phpunit\.php</exclude-pattern>
</rule>
<rule ref="MediaWiki.Files.ClassMatchesFilename.WrongCase">
<!--
Whitelist existing violations, but enable the sniff to prevent
any new occurrences.
-->
<exclude-pattern>*/maintenance/language/alltrans\.php</exclude-pattern>
<exclude-pattern>*/maintenance/language/digit2html\.php</exclude-pattern>
<exclude-pattern>*/maintenance/language/langmemusage\.php</exclude-pattern>
<exclude-pattern>*/maintenance/mctest\.php</exclude-pattern>
<exclude-pattern>*/maintenance/mergeMessageFileList\.php</exclude-pattern>
<exclude-pattern>*/maintenance/mwdocgen\.php</exclude-pattern>
<exclude-pattern>*/maintenance/rebuildall\.php</exclude-pattern>
<exclude-pattern>*/maintenance/rebuildmessages\.php</exclude-pattern>
<exclude-pattern>*/maintenance/rebuildrecentchanges\.php</exclude-pattern>
<exclude-pattern>*/maintenance/rebuildtextindex\.php</exclude-pattern>
<exclude-pattern>*/maintenance/storage/checkStorage\.php</exclude-pattern>
<exclude-pattern>*/maintenance/storage/recompressTracked\.php</exclude-pattern>
<exclude-pattern>*/maintenance/storage/trackBlobs\.php</exclude-pattern>
<!-- Skip violations in some tests for now -->
<exclude-pattern>*/tests/phpunit/unit/includes/GlobalFunctions/*\.php</exclude-pattern>
<exclude-pattern>*/tests/phpunit/includes/GlobalFunctions/*\.php</exclude-pattern>
<exclude-pattern>*/tests/phpunit/maintenance/*\.php</exclude-pattern>
<exclude-pattern>*/tests/phpunit/integration/includes/GlobalFunctions/*\.php</exclude-pattern>
</rule>
<rule ref="Generic.PHP.NoSilencedErrors.Discouraged">
<!--
Our normal policy of using Wikimedia\AtEase does not always make sense tests.
AtEase cannot be cleanly used in tests that also use expectException() as
the restoreWarnings() call would never be reached:
$this->expectException( PasswordError::class );
AtEase::suppressWarnings();
$password->crypt( 'whatever' );
AtEase::restoreWarnings();
The above will stop at crypt(), as expected, and leave AtEase in a dirty
state for unrelated tests.
TODO: Stop using PHPUnit TestCase directly. Require with a structure test
or with a high-level check in our run() hook, that all test cases use either
MediaWikiUnitTestCase or MediaWikiIntegrationTestCase. Otherwise the check
in MediaWikiTestCaseTrait can still be bypassed and cause a random failures.
-->
<exclude-pattern>*/tests/*\.php</exclude-pattern>
</rule>
<rule ref="Generic.Files.OneObjectStructurePerFile.MultipleFound">
<!--
Whitelist existing violations, but enable the sniff to prevent
any new occurrences.
-->
<exclude-pattern>*/maintenance/dumpIterator\.php</exclude-pattern>
<exclude-pattern>*/maintenance/findDeprecated\.php</exclude-pattern>
<exclude-pattern>*/maintenance/storage/recompressTracked\.php</exclude-pattern>
<exclude-pattern>*/maintenance/preprocessorFuzzTest\.php</exclude-pattern>
<exclude-pattern>*/maintenance/language/languages.inc</exclude-pattern>
<exclude-pattern>*/maintenance/language/StatOutputs\.php</exclude-pattern>
<exclude-pattern>*/maintenance/language/checkLanguage.inc</exclude-pattern>
<exclude-pattern>*/maintenance/language/generateCollationData\.php</exclude-pattern>
<exclude-pattern>*/maintenance/term/MWTerm\.php</exclude-pattern>
<!-- Language converters use the pattern of 2 classes in one file -->
<exclude-pattern>*/languages/*\.php</exclude-pattern>
<!-- We don't care that much about violations in tests -->
<exclude-pattern>*/tests/*\.php</exclude-pattern>
</rule>
<rule ref="PSR2.Methods.MethodDeclaration.Underscore">
<exclude-pattern>*/includes/StubObject\.php</exclude-pattern>
<exclude-pattern>*/includes/StubUserLang\.php</exclude-pattern>
</rule>
<rule ref="MediaWiki.Usage.AssignmentInReturn.AssignmentInReturn">
<exclude-pattern>*/tests/phpunit/*\.php</exclude-pattern>
</rule>
<rule ref="MediaWiki.Usage.ForbiddenFunctions.escapeshellarg">
<!--
Whitelist existing violations, but enable the sniff to prevent
any new occurrences.
-->
<exclude-pattern>*/includes/libs/filebackend/FSFileBackend\.php</exclude-pattern>
<exclude-pattern>*/includes/shell/Command\.php</exclude-pattern>
<exclude-pattern>*/includes/shell/Shell\.php</exclude-pattern>
</rule>
<rule ref="MediaWiki.Usage.ForbiddenFunctions.popen">
<!--
Whitelist existing violations, but enable the sniff to prevent
any new occurrences.
-->
<exclude-pattern>*/includes/GlobalFunctions\.php</exclude-pattern>
<exclude-pattern>*/includes/libs/filebackend/FSFileBackend\.php</exclude-pattern>
<exclude-pattern>*/maintenance/includes/SevenZipStream\.php</exclude-pattern>
<exclude-pattern>*/maintenance/populateImageSha1\.php</exclude-pattern>
</rule>
<rule ref="MediaWiki.Usage.ForbiddenFunctions.proc_open">
<!--
Whitelist existing violations, but enable the sniff to prevent
any new occurrences.
-->
<exclude-pattern>includes/export/DumpPipeOutput\.php</exclude-pattern>
<exclude-pattern>includes/resourceloader/ResourceLoaderImage\.php</exclude-pattern>
<exclude-pattern>includes/shell/Command\.php</exclude-pattern>
<exclude-pattern>maintenance/includes/TextPassDumper\.php</exclude-pattern>
<exclude-pattern>maintenance/mysql\.php</exclude-pattern>
<exclude-pattern>maintenance/storage/recompressTracked\.php</exclude-pattern>
<exclude-pattern>tests/parser/editTests\.php</exclude-pattern>
</rule>
<rule ref="MediaWiki.Usage.ForbiddenFunctions.shell_exec">
<!--
Whitelist existing violations, but enable the sniff to prevent
any new occurrences.
-->
<exclude-pattern>*/maintenance/mwdocgen\.php</exclude-pattern>
<exclude-pattern>*/maintenance/updateCredits\.php</exclude-pattern>
</rule>
<rule ref="MediaWiki.Usage.ForbiddenFunctions.system">
<!--
Whitelist existing violations, but enable the sniff to prevent
any new occurrences.
-->
<exclude-pattern>*/maintenance/mwdocgen\.php</exclude-pattern>
</rule>
<rule ref="MediaWiki.Commenting.MissingCovers.MissingCovers">
<exclude-pattern>tests/phpunit/structure/*</exclude-pattern>
</rule>
<file>.</file>
<arg name="encoding" value="UTF-8"/>
<arg name="extensions" value="php,php5,inc,sample"/>
<exclude-pattern type="relative">^extensions/</exclude-pattern>
<exclude-pattern type="relative">^skins/</exclude-pattern>
<exclude-pattern>LocalSettings\.php</exclude-pattern>
</ruleset>

View File

@ -1,14 +0,0 @@
version: v4
base: docker-registry.wikimedia.org/dev/stretch-php72-fpm-apache2-blubber
lives:
in: /var/www/html
variants:
dev:
runs:
insecurely: true
builder:
command: [.pipeline/dev_prereq.sh]
requirements: [.pipeline, .pipeline/dev_prereq.sh, composer.json]
copies: [local]

View File

@ -1,9 +0,0 @@
pipelines:
publish:
blubberfile: blubber.yaml
stages:
- name: dev
build: dev
publish:
image:
tags: [dev]

View File

@ -1,18 +0,0 @@
#!/bin/bash
set -eo pipefail
mkdir -p /tmp/php
mkdir -p extensions
git clone --depth 1 https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor.git /var/www/html/extensions/VisualEditor
git clone --depth 1 https://gerrit.wikimedia.org/r/mediawiki/skins/Vector /var/www/html/skins/Vector
cd /var/www/html/extensions/VisualEditor
git submodule update --depth 10 --init
cd /var/www/html
composer install
cat <<PHP > LocalSettings.php
<?php
require_once '/var/config/LocalSettings.php';
PHP

View File

@ -1,8 +0,0 @@
{
"extends": "stylelint-config-wikimedia",
"rules": {
"selector-class-pattern": "^((mw|oo-ui)-|(wikitable|(toc(|toggle|hidden))|client-(no)?js)$)",
"no-descending-specificity": null,
"selector-max-id": null
}
}

View File

@ -1,230 +0,0 @@
# MediaWiki Developers
Welcome to the MediaWiki community! Please see [How to become a MediaWiki
hacker](https://www.mediawiki.org/wiki/How_to_become_a_MediaWiki_hacker) for
general information on contributing to MediaWiki.
## Docker Developer Environment
MediaWiki provides an extendable local development environment based on
Docker Compose.
The default environment provides PHP, Apache, XDebug and a SQLite database.
(**Do not run this stack in production! Bad things might happen!**)
More documentation as well as example overrides and configuration recipes
are available at [mediawiki.org/wiki/MediaWiki-Docker][mw-docker].
Support is available on the [Freenode IRC network][freenode] at `#mediawiki`
and on Wikimedia Phabricator at [#MediaWiki-Docker][mw-docker-phab].
[mw-docker]: https://www.mediawiki.org/wiki/MediaWiki-Docker
[mw-docker-phab]: https://phabricator.wikimedia.org/project/profile/3094/
[freenode]: https://freenode.net/
### Requirements
You'll need a locally running Docker and Docker Compose:
- [Docker installation instructions][docker-install]
- [Docker Compose installation instructions][docker-compose]
[docker-install]: https://docs.docker.com/install/
[docker-compose]: https://docs.docker.com/compose/install/
---
**Linux users**
* We recommend installing `docker-compose` by [downloading the binary release](https://docs.docker.com/compose/install/#install-compose-on-linux-systems). You can also use `pip`, your OS package manager, or even run it in a container, but downloading the binary release is the easiest method.
* Follow the instructions to ["Manage Docker as a non-root user"](https://docs.docker.com/install/linux/linux-postinstall/#manage-docker-as-a-non-root-user)
---
### Quickstart
Using a text editor, create a `.env` file in the root of the MediaWiki core repository, and copy these contents into that file:
```bash
MW_DOCKER_PORT=8080
MW_SCRIPT_PATH=/
MW_SERVER=http://localhost:8080
MEDIAWIKI_USER=Admin
MEDIAWIKI_PASSWORD=dockerpass
XDEBUG_CONFIG=''
```
#### Linux users
If you are on a Linux system, first create a
`docker-compose.override.yml` containing the following:
```yaml
version: '3.7'
services:
mediawiki:
# On Linux, these lines ensure file ownership is set to your host user/group
user: "${MW_DOCKER_UID}:${MW_DOCKER_GID}"
```
Run the following command to add your user ID and group ID to your `.env` file:
```bash
echo "MW_DOCKER_UID=$(id -u)
MW_DOCKER_GID=$(id -g)" >> .env
```
#### Start environment and install MediaWiki
Start the environment:
```sh
# -d is detached mode - runs containers in the background:
docker-compose up -d
```
Install Composer dependencies:
```sh
docker-compose exec mediawiki composer update
```
Install MediaWiki in the environment:
```sh
docker-compose exec mediawiki /bin/bash /docker/install.sh
```
##### Re-install
Remove or rename `LocalSettings.php`, delete the `cache/sqlite` directory, then
re-run the installation command above. Copy over any changes from your previous
`LocalSettings.php` and then run `maintenance/update.php`.
### Usage
#### Running commands
You can use `docker-compose exec mediawiki bash` to open a bash shell in the
MediaWiki container, or you can run commands in the container from your host,
for example: `docker-compose exec mediawiki php maintenance/update.php`
#### Running tests
##### PHPUnit
Run all tests:
```sh
docker-compose exec mediawiki php tests/phpunit/phpunit.php
```
Run a single test:
```sh
docker-compose exec mediawiki php tests/phpunit/phpunit.php /path/to/test
```
See [PHPUnit Testing][phpunit-testing] on MediaWiki.org for more help.
[phpunit-testing]: https://www.mediawiki.org/wiki/Manual:PHP_unit_testing/Running_the_unit_tests
##### Selenium
You can use [Fresh][fresh] to run [Selenium in a dedicated
container][selenium-dedicated]. Example usage:
```sh
export MW_SERVER=http://localhost:8080
export MW_SCRIPT_PATH=/
export MEDIAWIKI_USER=Admin
export MEDIAWIKI_PASSWORD=dockerpass
fresh-node -env -net
npm ci
npm run selenium
```
[selenium-dedicated]: https://www.mediawiki.org/wiki/Selenium/Node.js/Target_Local_MediaWiki_(Container)
#### API Testing
You can use [Fresh][fresh] to run [API tests in a dedicated
container][api-dedicated]. Example usage:
```sh
export MW_SERVER=http://localhost:8080/
export MW_SCRIPT_PATH=/
export MEDIAWIKI_USER=Admin
export MEDIAWIKI_PASSWORD=dockerpass
fresh-node -env -net
# Create .api-testing.config.json as documented on
# https://www.mediawiki.org/wiki/MediaWiki_API_integration_tests
npm ci
npm run api-testing
```
[fresh]: https://github.com/wikimedia/fresh
[api-dedicated]: https://www.mediawiki.org/wiki/MediaWiki_API_integration_tests
### Modifying the development environment
You can override the default services with a `docker-compose.override.yml`
file, and configure those overrides with changes to `LocalSettings.php`.
Example overrides and configurations can be found at [MediaWiki-Docker](https://www.mediawiki.org/wiki/MediaWiki-Docker)
After updating `docker-compose.override.yml`, run `docker-compose down`
followed by `docker-compose up -d` for changes to take effect.
#### Installing extra packages
If you need root on the container to install packages for troubleshooting,
you can open a shell as root with `docker-compose exec --user root mediawiki
bash`.
#### Use Vector skin
Clone the skin to `skins/Vector`:
```sh
git clone "https://gerrit.wikimedia.org/r/mediawiki/skins/Vector" skins/Vector
```
Configure MediaWiki to use the skin:
```sh
echo "wfLoadSkin( 'Vector' );" >> LocalSettings.php
```
#### XDebug
You can override the XDebug configuration included with the default image by
passing `XDEBUG_CONFIG={your config}` in the `.env` file at the root of the MediaWiki repository:
```
XDEBUG_CONFIG=remote_enable=1 remote_host=172.17.0.1 remote_log=/tmp/xdebug.log remote_port=9009
```
##### Troubleshooting
###### Port conflicts
If you installed php-fpm on your host, that is listening on port 9000 and
will conflict with XDebug. The workaround is to tell your IDE to listen on a
different port (e.g. 9009) and to set the configuration in your
`.env` file: `XDEBUG_CONFIG=remote_port=9009`
###### Linux desktop, host not found
The image uses `host.docker.internal` as the `remote_host` value which
should work for Docker for Mac/Windows. On Linux hosts, you need to specify
the hostname or IP address of your host. The IP address works more reliably.
You can obtain it by running e.g. `ip -4 addr show docker0` and copying the
IP address into the config, like `XDEBUG_CONFIG=remote_host=172.17.0.1`
###### Generating logs
Switching on the remote log for XDebug comes at a performance cost so only
use it while troubleshooting. You can enable it like so: `XDEBUG_CONFIG=remote_log=/tmp/xdebug.log`

View File

@ -1,152 +0,0 @@
/* eslint-env node */
module.exports = function ( grunt ) {
var wgServer = process.env.MW_SERVER,
wgScriptPath = process.env.MW_SCRIPT_PATH,
karmaProxy = {};
grunt.loadNpmTasks( 'grunt-banana-checker' );
grunt.loadNpmTasks( 'grunt-contrib-copy' );
grunt.loadNpmTasks( 'grunt-eslint' );
grunt.loadNpmTasks( 'grunt-karma' );
grunt.loadNpmTasks( 'grunt-stylelint' );
grunt.loadNpmTasks( 'grunt-svgmin' );
karmaProxy[ wgScriptPath ] = {
target: wgServer + wgScriptPath,
changeOrigin: true
};
grunt.initConfig( {
eslint: {
options: {
extensions: [ '.js', '.json', '.vue' ],
cache: true,
fix: grunt.option( 'fix' )
},
all: '.'
},
banana: {
options: {
requireLowerCase: false,
disallowBlankTranslations: false
},
core: 'languages/i18n/',
exif: 'languages/i18n/exif/',
api: 'includes/api/i18n/',
rest: 'includes/Rest/i18n/',
installer: 'includes/installer/i18n/',
paramvalidator: 'includes/libs/ParamValidator/i18n/'
},
stylelint: {
src: '{resources/src,mw-config}/**/*.{css,less,vue}'
},
svgmin: {
options: {
js2svg: {
indent: '\t',
pretty: true
},
multipass: true,
plugins: [ {
cleanupIDs: false
}, {
removeDesc: false
}, {
removeRasterImages: true
}, {
removeTitle: false
}, {
removeViewBox: false
}, {
removeXMLProcInst: false
}, {
sortAttrs: true
} ]
},
all: {
files: [ {
expand: true,
cwd: 'resources/src',
src: [
'**/*.svg'
],
dest: 'resources/src/',
ext: '.svg'
} ]
}
},
watch: {
files: [
'.{stylelintrc,eslintrc.json}',
'**/*',
'!{docs,extensions,node_modules,skins,vendor}/**'
],
tasks: 'test'
},
karma: {
options: {
customLaunchers: {
ChromeCustom: {
base: 'ChromeHeadless',
// Chrome requires --no-sandbox in Docker/CI.
// WMF CI images expose CHROMIUM_FLAGS which sets that.
flags: ( process.env.CHROMIUM_FLAGS || '' ).split( ' ' )
}
},
proxies: karmaProxy,
files: [ {
pattern: wgServer + wgScriptPath + '/index.php?title=Special:JavaScriptTest/qunit/export',
watched: false,
included: true,
served: false
} ],
logLevel: ( process.env.ZUUL_PROJECT ? 'DEBUG' : 'INFO' ),
frameworks: [ 'qunit' ],
reporters: [ 'mocha' ],
singleRun: true,
autoWatch: false,
// Some tests in extensions don't yield for more than the default 10s (T89075)
browserNoActivityTimeout: 60 * 1000,
// Karma requires Same-Origin (or CORS) by default since v1.1.1
// for better stacktraces. But we load the first request from wgServer
crossOriginAttribute: false
},
main: {
browsers: [ 'ChromeCustom' ]
},
firefox: {
browsers: [ 'FirefoxHeadless' ]
}
},
copy: {
jsduck: {
src: 'resources/**/*',
dest: 'docs/js/modules',
expand: true,
rename: function ( dest, src ) {
return require( 'path' ).join( dest, src.replace( 'resources/', '' ) );
}
}
}
} );
grunt.registerTask( 'assert-mw-env', function () {
var ok = true;
if ( !process.env.MW_SERVER ) {
grunt.log.error( 'Environment variable MW_SERVER must be set.\n' +
'Set this like $wgServer, e.g. "http://localhost"'
);
ok = false;
}
if ( !process.env.MW_SCRIPT_PATH ) {
grunt.log.error( 'Environment variable MW_SCRIPT_PATH must be set.\n' +
'Set this like $wgScriptPath, e.g. "/w"' );
ok = false;
}
return ok;
} );
grunt.registerTask( 'minify', 'svgmin' );
grunt.registerTask( 'lint', [ 'eslint', 'banana', 'stylelint' ] );
grunt.registerTask( 'qunit', [ 'assert-mw-env', 'karma:main' ] );
};

View File

@ -1,12 +1,5 @@
= MediaWiki 1.35 =
== MediaWiki 1.35.1 ==
THIS IS NOT A RELEASE YET
=== Changes since MediaWiki 1.35.0 ===
* Parser: Adjust typehint to show that getTitle can return null.
== MediaWiki 1.35.0 ==
=== Changes since MediaWiki 1.35.0-rc.3 ===
@ -512,7 +505,6 @@ because of Phabricator reports.
* (T248299) Added language support for Inari Sami (smn).
* (T251369) Added language support for Ladin (lld).
* (T251369) Added language support for Seediq (trv), also known as Taroko.
* (T254854) Added language support for Southern Altay (alt).
=== Breaking changes in 1.35 ===
* MediaWiki no longer supports PHP 7.2; use PHP 7.3.19+ (T228346, T257879).

View File

@ -1,33 +0,0 @@
# Please see DEVELOPERS.md for help
#
# Contributions to this file are welcome but please note that this file is
# minimal by design, with the idea to make it easily extensible via
# docker-compose.override.yml. For help with doing that, please see
# DEVELOPERS.md
version: '3.7'
services:
mediawiki:
image: docker-registry.wikimedia.org/dev/stretch-php72-fpm-apache2-xdebug:0.4.0
ports:
- "${MW_DOCKER_PORT:-8080}:8080"
volumes:
- ./:/var/www/html:cached
environment:
COMPOSER_CACHE_DIR: '/var/www/html/cache/composer'
MW_SERVER: 'http://localhost:${MW_DOCKER_PORT:-8080}'
MW_SCRIPT_PATH: ''
MW_DBPATH: '/var/www/html/cache/sqlite'
MW_DBTYPE: 'sqlite'
MW_LANG: 'en'
MW_USER: 'admin'
MW_PASS: 'dockerpass'
MW_SITENAME: 'MediaWiki'
MW_LOG_DIR: /var/www/html/cache
XDEBUG_CONFIG: ${XDEBUG_CONFIG}
mediawiki-jobrunner:
image: docker-registry.wikimedia.org/dev/stretch-php72-jobrunner:0.0.1
volumes:
- ./:/var/www/html:cached
environment:
MW_LOG_DIR: /var/www/html/cache
MW_INSTALL_PATH: /var/www/html

View File

@ -1,12 +0,0 @@
{
"root": true,
"extends": "wikimedia",
"env": {
"browser": true,
"commonjs": true
},
"globals": {
"mw": false,
"$": false
}
}

View File

@ -1,5 +0,0 @@
[gerrit]
host=gerrit.wikimedia.org
port=29418
project=mediawiki/extensions/CategoryTree.git
track=1

View File

@ -1,3 +0,0 @@
<?php
return require __DIR__ . '/../vendor/mediawiki/mediawiki-phan-config/src/config.php';

View File

@ -1,7 +0,0 @@
<?xml version="1.0"?>
<ruleset>
<rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki" />
<file>.</file>
<arg name="extensions" value="php,php5,inc" />
<arg name="encoding" value="UTF-8" />
</ruleset>

View File

@ -1,7 +0,0 @@
{
"extends": "stylelint-config-wikimedia",
"rules": {
"selector-max-id": null,
"no-descending-specificity": null
}
}

View File

@ -1,38 +0,0 @@
/*!
* Grunt file
*
* @package CategoryTree
*/
/* eslint-env node */
module.exports = function ( grunt ) {
var conf = grunt.file.readJSON( 'extension.json' );
grunt.loadNpmTasks( 'grunt-eslint' );
grunt.loadNpmTasks( 'grunt-banana-checker' );
grunt.loadNpmTasks( 'grunt-stylelint' );
grunt.initConfig( {
banana: conf.MessagesDirs,
eslint: {
options: {
extensions: [ '.js', '.json' ],
cache: true
},
all: [
'**/*.js{,on}',
'!{vendor,node_modules}/**'
]
},
stylelint: {
all: [
'**/*.css',
'!node_modules/**',
'!vendor/**'
]
}
} );
grunt.registerTask( 'test', [ 'eslint', 'stylelint', 'banana' ] );
grunt.registerTask( 'default', 'test' );
};

File diff suppressed because it is too large Load Diff

View File

@ -1,14 +0,0 @@
{
"private": true,
"scripts": {
"test": "grunt test"
},
"devDependencies": {
"eslint-config-wikimedia": "0.15.3",
"grunt": "1.1.0",
"grunt-banana-checker": "0.9.0",
"grunt-eslint": "22.0.0",
"grunt-stylelint": "0.15.0",
"stylelint-config-wikimedia": "0.10.1"
}
}

View File

@ -1,11 +0,0 @@
{
"root": true,
"extends": [
"wikimedia/client",
"wikimedia/jquery",
"wikimedia/mediawiki"
],
"rules": {
"max-len": "off"
}
}

View File

@ -1,5 +0,0 @@
[gerrit]
host=gerrit.wikimedia.org
port=29418
project=mediawiki/extensions/Cite.git
track=1

View File

@ -1,8 +0,0 @@
<?php
$cfg = require __DIR__ . '/../vendor/mediawiki/mediawiki-phan-config/src/config.php';
// Due to creation of Parser::$extCite property
$cfg['suppress_issue_types'][] = 'PhanUndeclaredProperty';
return $cfg;

View File

@ -1,7 +0,0 @@
<?xml version="1.0"?>
<ruleset>
<rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki" />
<file>.</file>
<arg name="extensions" value="php,php5,inc" />
<arg name="encoding" value="UTF-8" />
</ruleset>

View File

@ -1,3 +0,0 @@
{
"extends": "stylelint-config-wikimedia"
}

View File

@ -1,76 +0,0 @@
/*!
* Grunt file
*
* @package Cite
*/
/* eslint-env node, es6 */
module.exports = function ( grunt ) {
var conf = grunt.file.readJSON( 'extension.json' );
grunt.loadNpmTasks( 'grunt-banana-checker' );
grunt.loadNpmTasks( 'grunt-eslint' );
grunt.loadNpmTasks( 'grunt-stylelint' );
grunt.loadNpmTasks( 'grunt-svgmin' );
grunt.initConfig( {
eslint: {
options: {
cache: true,
fix: grunt.option( 'fix' )
},
all: [
'**/*.{js,json}',
'!{vendor,node_modules}/**'
]
},
banana: conf.MessagesDirs,
stylelint: {
all: [
'**/*.css',
'**/*.less',
'!node_modules/**',
'!vendor/**'
]
},
// SVG Optimization
svgmin: {
options: {
js2svg: {
pretty: true,
multipass: true
},
plugins: [ {
cleanupIDs: false
}, {
removeDesc: false
}, {
removeRasterImages: true
}, {
removeTitle: false
}, {
removeViewBox: false
}, {
removeXMLProcInst: false
}, {
sortAttrs: true
} ]
},
all: {
files: [ {
expand: true,
cwd: 'modules/ve-cite/icons',
src: [
'**/*.svg'
],
dest: 'modules/ve-cite/icons/',
ext: '.svg'
} ]
}
}
} );
grunt.registerTask( 'test', [ 'eslint', 'stylelint', 'banana', 'svgmin' ] );
grunt.registerTask( 'default', 'test' );
};

View File

@ -1,5 +0,0 @@
{
"globals": {
"ve": "readonly"
}
}

View File

@ -1,6 +0,0 @@
{
"extends": [
"wikimedia/qunit",
"../.eslintrc.json"
]
}

File diff suppressed because it is too large Load Diff

View File

@ -1,27 +0,0 @@
{
"name": "cite",
"version": "0.0.0",
"private": true,
"description": "Build tools for the Cite extension.",
"scripts": {
"selenium-daily": "npm run selenium-test",
"selenium-test": "wdio tests/selenium/wdio.conf.js",
"test": "grunt test"
},
"devDependencies": {
"@wdio/cli": "6.1.16",
"@wdio/local-runner": "6.1.16",
"@wdio/mocha-framework": "6.1.14",
"@wdio/spec-reporter": "6.1.14",
"@wdio/sync": "6.1.14",
"eslint-config-wikimedia": "0.16.1",
"grunt": "1.1.0",
"grunt-banana-checker": "0.9.0",
"grunt-eslint": "23.0.0",
"grunt-stylelint": "0.15.0",
"grunt-svgmin": "5.0.0",
"stylelint-config-wikimedia": "0.10.1",
"wdio-mediawiki": "1.0.0",
"webdriverio": "6.1.16"
}
}

View File

@ -1,9 +0,0 @@
{
"root": true,
"extends": [
"wikimedia/selenium"
],
"globals": {
"mw": "readonly"
}
}

View File

@ -1,17 +0,0 @@
{
"root": true,
"extends": [
"wikimedia/client",
"wikimedia/jquery"
],
"globals": {
"ve": true,
"VisualEditorSupportCheck": false,
"OO": false,
"unicodeJS": false,
"RangeFix": false,
"Papa": false,
"mw": false,
"require": false
}
}

View File

@ -1,5 +0,0 @@
[gerrit]
host=gerrit.wikimedia.org
port=29418
project=mediawiki/extensions/CiteThisPage.git
track=1

View File

@ -1,3 +0,0 @@
<?php
return require __DIR__ . '/../vendor/mediawiki/mediawiki-phan-config/src/config.php';

View File

@ -1,12 +0,0 @@
<?xml version="1.0"?>
<ruleset>
<rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki">
<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate" />
<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected" />
<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic" />
<exclude name="MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName" />
</rule>
<file>.</file>
<arg name="extensions" value="php,php5,inc" />
<arg name="encoding" value="UTF-8" />
</ruleset>

View File

@ -1,3 +0,0 @@
{
"extends": "stylelint-config-wikimedia"
}

View File

@ -1,38 +0,0 @@
/*!
* Grunt file
*
* @package CiteThisPage
*/
/* eslint-env node, es6 */
module.exports = function ( grunt ) {
var conf = grunt.file.readJSON( 'extension.json' );
grunt.loadNpmTasks( 'grunt-banana-checker' );
grunt.loadNpmTasks( 'grunt-eslint' );
grunt.loadNpmTasks( 'grunt-stylelint' );
grunt.initConfig( {
eslint: {
options: {
extensions: [ '.js', '.json' ],
cache: true
},
all: [
'**/*.js{,on}',
'!{vendor,node_modules}/**'
]
},
banana: conf.MessagesDirs,
stylelint: {
all: [
'**/*.css',
'!node_modules/**',
'!vendor/**'
]
}
} );
grunt.registerTask( 'test', [ 'eslint', 'banana', 'stylelint' ] );
grunt.registerTask( 'default', 'test' );
};

File diff suppressed because it is too large Load Diff

View File

@ -1,18 +0,0 @@
{
"name": "citethispage",
"version": "0.0.0",
"private": true,
"description": "Build tools for the CiteThisPage extension.",
"scripts": {
"test": "grunt test"
},
"devDependencies": {
"eslint-config-wikimedia": "0.15.3",
"grunt": "1.1.0",
"grunt-banana-checker": "0.9.0",
"grunt-eslint": "22.0.0",
"grunt-stylelint": "0.15.0",
"stylelint-config-wikimedia": "0.10.1"
},
"dependencies": {}
}

View File

@ -1,11 +0,0 @@
{
"root": true,
"extends": [
"wikimedia/client",
"wikimedia/jquery",
"wikimedia/mediawiki"
],
"rules": {
"max-len": "off"
}
}

View File

@ -1,6 +0,0 @@
[gerrit]
host=gerrit.wikimedia.org
port=29418
project=mediawiki/extensions/CodeEditor.git
track=1
defaultrebase=0

View File

@ -1,3 +0,0 @@
<?php
return require __DIR__ . '/../vendor/mediawiki/mediawiki-phan-config/src/config.php';

View File

@ -1,7 +0,0 @@
<?xml version="1.0"?>
<ruleset>
<rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki" />
<file>.</file>
<arg name="extensions" value="php,php5,inc" />
<arg name="encoding" value="UTF-8" />
</ruleset>

View File

@ -1,3 +0,0 @@
{
"extends": "stylelint-config-wikimedia"
}

View File

@ -1,82 +0,0 @@
/*!
* Grunt file
*
* @package CodeEditor
*/
/* eslint-env node, es6 */
module.exports = function ( grunt ) {
var conf = grunt.file.readJSON( 'extension.json' );
grunt.loadNpmTasks( 'grunt-banana-checker' );
grunt.loadNpmTasks( 'grunt-contrib-clean' );
grunt.loadNpmTasks( 'grunt-contrib-copy' );
grunt.loadNpmTasks( 'grunt-eslint' );
grunt.loadNpmTasks( 'grunt-exec' );
grunt.loadNpmTasks( 'grunt-stylelint' );
grunt.initConfig( {
eslint: {
options: {
cache: true,
fix: grunt.option( 'fix' )
},
all: [
'**/*.{js,json}',
'!modules/ace/**',
'!{vendor,node_modules}/**'
]
},
stylelint: {
all: [
'**/*.css',
'**/*.less',
'!node_modules/**',
'!modules/ace/**',
'!vendor/**'
]
},
banana: {
options: {
requireLowerCase: false
},
all: conf.MessagesDirs.CodeEditor
},
exec: {
'npm-update-ace': {
cmd: 'npm update ace-builds',
callback: function ( error, stdout, stderr ) {
grunt.log.write( stdout );
if ( stderr ) {
grunt.log.write( 'Error: ' + stderr );
}
if ( error !== null ) {
grunt.log.error( 'update error: ' + error );
}
}
}
},
clean: {
ace: [ 'modules/ace/*' ]
},
copy: {
ace: {
expand: true,
cwd: 'node_modules/ace-builds/src-noconflict/',
src: [ '**' ],
dest: 'modules/ace/'
},
'ace-license': {
expand: true,
cwd: 'node_modules/ace-builds/',
src: [ 'LICENSE' ],
dest: 'modules/ace/'
}
}
} );
grunt.registerTask( 'update-ace', [ 'exec:npm-update-ace', 'clean:ace', 'copy:ace', 'copy:ace-license' ] );
grunt.registerTask( 'test', [ 'eslint', 'stylelint', 'banana' ] );
grunt.registerTask( 'default', 'test' );
};

File diff suppressed because it is too large Load Diff

View File

@ -1,22 +0,0 @@
{
"name": "codeeditor",
"version": "0.0.0",
"private": true,
"description": "Build tools for the CodeEditor extension.",
"scripts": {
"test": "grunt test"
},
"devDependencies": {
"ace-builds": "1.4.9",
"eslint-config-wikimedia": "0.16.1",
"grunt": "1.1.0",
"grunt-banana-checker": "0.9.0",
"grunt-contrib-clean": "2.0.0",
"grunt-contrib-copy": "1.0.0",
"grunt-eslint": "23.0.0",
"grunt-exec": "3.0.0",
"grunt-stylelint": "0.15.0",
"postcss-less": "1.1.3",
"stylelint-config-wikimedia": "0.10.1"
}
}

View File

@ -1,5 +0,0 @@
{
"extends": [
"wikimedia/qunit"
]
}

View File

@ -1,8 +0,0 @@
{
"root": true,
"extends": [
"wikimedia/client",
"wikimedia/jquery",
"wikimedia/mediawiki"
]
}

View File

@ -1,5 +0,0 @@
[gerrit]
host=gerrit.wikimedia.org
port=29418
project=mediawiki/extensions/ConfirmEdit.git
track=1

View File

@ -1,54 +0,0 @@
Aaron Schulz <aschulz@wikimedia.org>
Aaron Schulz <aschulz@wikimedia.org> <aaron@users.mediawiki.org>
Alex Monk <krenair@gmail.com> <krenair@wikimedia.org>
Antoine Musso <hashar@free.fr>
Antoine Musso <hashar@free.fr> <hashar@users.mediawiki.org>
Brad Jorsch <anomie.wikipedia@gmail.com>
Brad Jorsch <anomie.wikipedia@gmail.com> <bjorsch@wikimedia.org>
Brion Vibber <brion@pobox.com>
Brion Vibber <brion@pobox.com> <brion@users.mediawiki.org>
Brion Vibber <brion@pobox.com> <brion@wikimedia.org>
Chad Horohoe <chadh@wikimedia.org>
Chad Horohoe <chadh@wikimedia.org> <demon@users.mediawiki.org>
CSteipp <csteipp@wikimedia.org>
EBernhardson <ebernhardson@wikimedia.org>
Federico Leva <federicoleva@tiscali.it>
Florian Schmidt <florian.schmidt.stargatewissen@gmail.com>
Florian Schmidt <florian.schmidt.stargatewissen@gmail.com> <florian.schmidt.welzow@t-online.de>
Gergő Tisza <gtisza@wikimedia.org>
Gergő Tisza <gtisza@wikimedia.org> <tgr.huwiki@gmail.com>
jdlrobson <jdlrobson@gmail.com>
jdlrobson <jdlrobson@gmail.com> <jrobson@wikimedia.org>
Kunal Mehta <legoktm@gmail.com>
Kunal Mehta <legoktm@gmail.com> <legoktm@member.fsf.org>
Kunal Mehta <legoktm@gmail.com> <legoktm.wikipedia@gmail.com>
Mark A. Hershberger <mah@everybody.org>
Mark A. Hershberger <mah@everybody.org> <mah@users.mediawiki.org>
Matthew Flaschen <mflaschen@wikimedia.org>
Max Semenik <maxsem.wiki@gmail.com>
Max Semenik <maxsem.wiki@gmail.com> <maxsem@users.mediawiki.org>
Mukunda Modell <mmodell@wikimedia.org>
Mukunda Modell <mmodell@wikimedia.org> <twentyafterfour@mira.deployment-prep.eqiad.wmflabs>
Niklas Laxström <niklas.laxstrom@gmail.com>
Niklas Laxström <niklas.laxstrom@gmail.com> <nikerabbit@users.mediawiki.org>
Ori Livneh <ori@wikimedia.org>
Paladox <thomasmulhall410@yahoo.com>
Platonides <platonides@gmail.com>
Platonides <platonides@gmail.com> <platonides@users.mediawiki.org>
Raimond Spekking <raimond.spekking@gmail.com>
Raimond Spekking <raimond.spekking@gmail.com> <raymond@users.mediawiki.org>
Roan Kattouw <roan.kattouw@gmail.com>
Roan Kattouw <roan.kattouw@gmail.com> <catrope@users.mediawiki.org>
Siebrand Mazeland <siebrand@kitano.nl>
Siebrand Mazeland <siebrand@kitano.nl> <siebrand@users.mediawiki.org>
Siebrand Mazeland <siebrand@kitano.nl> <s.mazeland@xs4all.nl>
Sam Reed <reedy@wikimedia.org>
Sam Reed <reedy@wikimedia.org> <reedy@users.mediawiki.org>
Timo Tijhof <krinklemail@gmail.com>
Timo Tijhof <krinklemail@gmail.com> <ttijhof@wikimedia.org>
Tim Starling <tstarling@wikimedia.org>
Tim Starling <tstarling@wikimedia.org> <tstarling@users.mediawiki.org>
Tyler Cipriani <tcipriani@wikimedia.org>
Umherirrender <umherirrender_de.wp@web.de>
Yaron Koren <yaron57@gmail.com>
Yaron Koren <yaron57@gmail.com> <yaron@users.mediawiki.org>

View File

@ -1,27 +0,0 @@
<?php
$cfg = require __DIR__ . '/../vendor/mediawiki/mediawiki-phan-config/src/config.php';
$cfg['directory_list'] = array_merge(
$cfg['directory_list'],
[
'FancyCaptcha/',
'MathCaptcha/',
'QuestyCaptcha/',
'ReCaptchaNoCaptcha/',
'SimpleCaptcha/',
'../../extensions/Math',
]
);
$cfg['exclude_analysis_directory_list'] = array_merge(
$cfg['exclude_analysis_directory_list'],
[
'../../extensions/Math',
]
);
// WikiPage->ConfirmEdit_ActivateCaptcha
$cfg['suppress_issue_types'][] = 'PhanUndeclaredProperty';
return $cfg;

View File

@ -1,7 +0,0 @@
<?xml version="1.0"?>
<ruleset>
<rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki" />
<file>.</file>
<arg name="extensions" value="php,php5,inc"/>
<arg name="encoding" value="UTF-8"/>
</ruleset>

View File

@ -1,3 +0,0 @@
{
"extends": "stylelint-config-wikimedia"
}

View File

@ -1,37 +0,0 @@
/* eslint-env node */
module.exports = function ( grunt ) {
grunt.loadNpmTasks( 'grunt-banana-checker' );
grunt.loadNpmTasks( 'grunt-eslint' );
grunt.loadNpmTasks( 'grunt-stylelint' );
grunt.initConfig( {
eslint: {
options: {
cache: true,
fix: grunt.option( 'fix' )
},
all: [
'**/*.{js,json}',
'!{vendor,node_modules}/**'
]
},
stylelint: {
all: [
'**/*.{css,less}',
'!node_modules/**',
'!vendor/**'
]
},
banana: {
all: [
'i18n/',
'i18n/api/',
'**/i18n/',
'**/i18n/api/'
]
}
} );
grunt.registerTask( 'test', [ 'eslint', 'stylelint', 'banana' ] );
grunt.registerTask( 'default', 'test' );
};

View File

@ -1,6 +0,0 @@
{
"globals": {
"ve": false,
"OO": false
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,14 +0,0 @@
{
"private": true,
"scripts": {
"test": "grunt test"
},
"devDependencies": {
"eslint-config-wikimedia": "0.16.2",
"grunt": "1.1.0",
"grunt-banana-checker": "0.9.0",
"grunt-eslint": "23.0.0",
"grunt-stylelint": "0.15.0",
"stylelint-config-wikimedia": "0.10.1"
}
}

View File

@ -1,5 +0,0 @@
{
"globals": {
"OO": false
}
}

View File

@ -1,6 +0,0 @@
{
"globals": {
"ve": false,
"OO": false
}
}

View File

@ -1,174 +0,0 @@
<?php
namespace MediaWiki\Extensions\FluxBBAuth;
use MediaWiki\Auth\AbstractPasswordPrimaryAuthenticationProvider;
use MediaWiki\Auth\AuthenticationRequest;
use MediaWiki\Auth\AuthenticationResponse;
use MediaWiki\Auth\PasswordAuthenticationRequest;
use MediaWiki\MediaWikiServices;
use StatusValue;
use User;
class FluxBBAuthenticationProvider extends AbstractPasswordPrimaryAuthenticationProvider
{
/**
* @param string $password
* @return bool
*/
public static function isValidPassword($password)
{
return strlen($password) >= 4;
}
/**
* @param User $user
*/
public static function onUserLoggedIn($user)
{
$userData = wfGetDB(DB_REPLICA)->selectRow(
static::getFluxBBUserTable(),
['email', 'realname', 'registered'],
['username' => $user->getName()]
);
$userUpdated = false;
if ($user->getEmail() != $userData->email) {
$userUpdated = true;
$user->setEmail($userData->email);
$user->setEmailAuthenticationTimestamp($userData->registered);
}
if ($user->getRealName() != $userData->realname) {
$userUpdated = true;
$user->setRealName($userData->realname);
}
if ($userUpdated) {
$user->saveSettings();
}
}
/**
* @return string
*/
private static function getFluxBBUserTable()
{
return MediaWikiServices::getInstance()
->getConfigFactory()
->makeConfig('FluxBBAuth')
->get("FluxBBDatabase") . '.users';
}
/**
* @inheritDoc
*/
public function beginPrimaryAuthentication(array $reqs)
{
/** @var PasswordAuthenticationRequest $req */
$req = AuthenticationRequest::getRequestByClass($reqs, PasswordAuthenticationRequest::class);
if (!$req) {
return AuthenticationResponse::newAbstain();
}
if ($req->username === null || $req->password === null) {
return AuthenticationResponse::newAbstain();
}
$username = $this->getCanonicalName($req->username);
if (!$username) {
return AuthenticationResponse::newAbstain();
}
$row = wfGetDB(DB_REPLICA)->selectRow(
static::getFluxBBUserTable(),
'password',
['username' => $username]
);
if (!$row || $row->password !== sha1($req->password)) {
return $this->failResponse($req);
}
return AuthenticationResponse::newPass($username);
}
/**
* @param string $username
* @return bool|string
*/
private function getCanonicalName($username)
{
$userData = wfGetDB(DB_REPLICA)->selectRow(
static::getFluxBBUserTable(),
'username',
['username' => $username]
);
if (!$userData) {
return false;
}
return strtoupper(substr($userData->username, 0, 1)) . substr($userData->username, 1);
}
/**
* @inheritDoc
*/
public function testUserExists($username, $flags = User::READ_NORMAL)
{
$username = User::getCanonicalName($username, 'usable');
if ($username === false) {
return false;
}
list($db, $options) = \DBAccessObjectUtils::getDBOptions($flags);
return (bool)wfGetDB($db)->selectField(
static::getFluxBBUserTable(),
'id',
['username' => $username],
__METHOD__,
$options
);
}
/**
* @inheritDoc
*/
public function providerAllowsAuthenticationDataChange(AuthenticationRequest $req, $checkData = true)
{
return StatusValue::newFatal('authentication data cannot be changed');
}
/**
* @inheritDoc
*/
public function providerChangeAuthenticationData(AuthenticationRequest $req)
{
throw new \BadMethodCallException(__METHOD__ . ' is not implemented.');
}
/**
* @inheritDoc
*/
public function accountCreationType()
{
return self::TYPE_CREATE;
}
/**
* @inheritDoc
*/
public function beginPrimaryAccountCreation($user, $creator, array $reqs)
{
return AuthenticationResponse::newAbstain();
}
/**
* @inheritDoc
*/
public function providerAllowsPropertyChange($property)
{
return false;
}
}

View File

@ -1,10 +0,0 @@
Enable this extension by adding this to LocalSettings.php:
wfLoadExtension('FluxBBAuth');
$wgGroupPermissions['*']['createaccount'] = false;
$wgGroupPermissions['sysop']['createaccount'] = false;
$wgGroupPermissions['*']['autocreateaccount'] = true;
Optionally define the FluxBB database name:
$wgFluxBBDatabase = 'fluxbb';

View File

@ -1,37 +0,0 @@
{
"name": "FluxBBAuth",
"author": [
"Pierre Schmitz"
],
"url": "https://www.archlinux.de/",
"description": "Use FluxBB accounts in MediaWiki",
"license-name": "GPL-2.0+",
"type": "other",
"AutoloadClasses": {
"MediaWiki\\Extensions\\FluxBBAuth\\FluxBBAuthenticationProvider": "FluxBBAuthenticationProvider.php"
},
"ConfigRegistry": {
"FluxBBAuth": "GlobalVarConfig::newInstance"
},
"config": {
"FluxBBDatabase": {
"value": "fluxbb"
}
},
"AuthManagerAutoConfig": {
"primaryauth": {
"FluxBBAuthenticationProvider": {
"class": "MediaWiki\\Extensions\\FluxBBAuth\\FluxBBAuthenticationProvider"
}
}
},
"Hooks": {
"isValidPassword": [
"MediaWiki\\Extensions\\FluxBBAuth\\FluxBBAuthenticationProvider::isValidPassword"
],
"UserLoggedIn": [
"MediaWiki\\Extensions\\FluxBBAuth\\FluxBBAuthenticationProvider::onUserLoggedIn"
]
},
"manifest_version": 2
}

View File

@ -1,4 +0,0 @@
{
"root": true,
"extends": "wikimedia"
}

View File

@ -1,5 +0,0 @@
[gerrit]
host=gerrit.wikimedia.org
port=29418
project=mediawiki/extensions/Gadgets.git
track=1

View File

@ -1,8 +0,0 @@
<?php
$cfg = require __DIR__ . '/../vendor/mediawiki/mediawiki-phan-config/src/config.php';
// Namespace constants
$cfg['file_list'][] = 'Gadgets.namespaces.php';
return $cfg;

View File

@ -1,12 +0,0 @@
<?xml version="1.0"?>
<ruleset>
<rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki">
<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate" />
<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected" />
<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic" />
<exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment" />
</rule>
<file>.</file>
<arg name="extensions" value="php,php5,inc" />
<arg name="encoding" value="UTF-8" />
</ruleset>

View File

@ -1,23 +0,0 @@
/* eslint-env node, es6 */
module.exports = function ( grunt ) {
var conf = grunt.file.readJSON( 'extension.json' );
grunt.loadNpmTasks( 'grunt-eslint' );
grunt.loadNpmTasks( 'grunt-banana-checker' );
grunt.initConfig( {
eslint: {
options: {
extensions: [ '.js', '.json' ],
cache: true
},
all: [
'**/*.js{,on}',
'!{vendor,node_modules}/**'
]
},
banana: conf.MessagesDirs
} );
grunt.registerTask( 'test', [ 'eslint', 'banana' ] );
grunt.registerTask( 'default', 'test' );
};

File diff suppressed because it is too large Load Diff

View File

@ -1,15 +0,0 @@
{
"name": "gadgets",
"version": "0.0.0",
"private": true,
"description": "Build tools for the Gadgets extension.",
"scripts": {
"test": "grunt test"
},
"devDependencies": {
"eslint-config-wikimedia": "0.15.3",
"grunt": "1.1.0",
"grunt-banana-checker": "0.9.0",
"grunt-eslint": "22.0.0"
}
}

View File

@ -1,7 +0,0 @@
{
"root": true,
"extends": [
"wikimedia/client",
"wikimedia/jquery"
]
}

View File

@ -1,5 +0,0 @@
[gerrit]
host=gerrit.wikimedia.org
port=29418
project=mediawiki/extensions/ImageMap.git
track=1

View File

@ -1,11 +0,0 @@
<?php
$cfg = require __DIR__ . '/../vendor/mediawiki/mediawiki-phan-config/src/config.php';
// Phan gets confused because DOMNode::setAttribute doesn't
// exist, it's DOMElement::setAttribute, and some functions
// are documented to return DOMNode but they actually return
// DOMElement.
$cfg['suppress_issue_types'][] = 'PhanUndeclaredMethod';
return $cfg;

View File

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ruleset>
<rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki">
<exclude name="PSR12.Properties.ConstantVisibility.NotFound" />
</rule>
<file>.</file>
<arg name="extensions" value="php,php5,inc"/>
<arg name="encoding" value="UTF-8"/>
</ruleset>

View File

@ -1,24 +0,0 @@
/* eslint-env node, es6 */
module.exports = function ( grunt ) {
var conf = grunt.file.readJSON( 'extension.json' );
grunt.loadNpmTasks( 'grunt-banana-checker' );
grunt.loadNpmTasks( 'grunt-eslint' );
grunt.initConfig( {
banana: conf.MessagesDirs,
eslint: {
options: {
extensions: [ '.js', '.json' ],
cache: true
},
all: [
'**/*.js{,on}',
'!{vendor,node_modules}/**'
]
}
} );
grunt.registerTask( 'test', [ 'eslint', 'banana' ] );
grunt.registerTask( 'default', 'test' );
};

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +0,0 @@
{
"private": true,
"scripts": {
"test": "grunt test"
},
"devDependencies": {
"eslint-config-wikimedia": "0.15.3",
"grunt": "1.1.0",
"grunt-banana-checker": "0.9.0",
"grunt-eslint": "22.0.0"
}
}

View File

@ -1,11 +0,0 @@
{
"root": true,
"extends": "wikimedia",
"env": {
"browser": true,
"jquery": true
},
"globals": {
"mediaWiki": false
}
}

View File

@ -1,5 +0,0 @@
[gerrit]
host=gerrit.wikimedia.org
port=29418
project=mediawiki/extensions/InputBox.git
track=1

Some files were not shown because too many files have changed in this diff Show More