From fc7369835258467bf97eb64f184b93691f9a9fd5 Mon Sep 17 00:00:00 2001 From: Yaco Date: Thu, 4 Jun 2020 11:01:00 -0300 Subject: first commit --- www/wiki/extensions/InputBox/CODE_OF_CONDUCT.md | 1 + www/wiki/extensions/InputBox/COPYING | 21 + www/wiki/extensions/InputBox/Gruntfile.js | 41 ++ www/wiki/extensions/InputBox/InputBox.classes.php | 719 ++++++++++++++++++++ www/wiki/extensions/InputBox/InputBox.hooks.php | 90 +++ www/wiki/extensions/InputBox/InputBox.php | 13 + www/wiki/extensions/InputBox/composer.json | 23 + www/wiki/extensions/InputBox/extension.json | 62 ++ www/wiki/extensions/InputBox/i18n/ady-cyrl.json | 8 + www/wiki/extensions/InputBox/i18n/af.json | 14 + www/wiki/extensions/InputBox/i18n/ais.json | 18 + www/wiki/extensions/InputBox/i18n/am.json | 8 + www/wiki/extensions/InputBox/i18n/an.json | 14 + www/wiki/extensions/InputBox/i18n/ang.json | 9 + www/wiki/extensions/InputBox/i18n/anp.json | 8 + www/wiki/extensions/InputBox/i18n/ar.json | 20 + www/wiki/extensions/InputBox/i18n/arc.json | 9 + www/wiki/extensions/InputBox/i18n/arq.json | 8 + www/wiki/extensions/InputBox/i18n/arz.json | 14 + www/wiki/extensions/InputBox/i18n/as.json | 17 + www/wiki/extensions/InputBox/i18n/ast.json | 18 + www/wiki/extensions/InputBox/i18n/atj.json | 8 + www/wiki/extensions/InputBox/i18n/awa.json | 14 + www/wiki/extensions/InputBox/i18n/az.json | 13 + www/wiki/extensions/InputBox/i18n/azb.json | 12 + www/wiki/extensions/InputBox/i18n/ba.json | 20 + www/wiki/extensions/InputBox/i18n/bcc.json | 14 + www/wiki/extensions/InputBox/i18n/bcl.json | 16 + www/wiki/extensions/InputBox/i18n/be-tarask.json | 20 + www/wiki/extensions/InputBox/i18n/be.json | 9 + www/wiki/extensions/InputBox/i18n/bg.json | 19 + www/wiki/extensions/InputBox/i18n/bgn.json | 9 + www/wiki/extensions/InputBox/i18n/bho.json | 8 + www/wiki/extensions/InputBox/i18n/bi.json | 8 + www/wiki/extensions/InputBox/i18n/bn.json | 19 + www/wiki/extensions/InputBox/i18n/bqi.json | 13 + www/wiki/extensions/InputBox/i18n/br.json | 18 + www/wiki/extensions/InputBox/i18n/bs.json | 19 + www/wiki/extensions/InputBox/i18n/ca.json | 18 + www/wiki/extensions/InputBox/i18n/cdo.json | 8 + www/wiki/extensions/InputBox/i18n/ce.json | 16 + www/wiki/extensions/InputBox/i18n/ckb.json | 11 + www/wiki/extensions/InputBox/i18n/co.json | 5 + www/wiki/extensions/InputBox/i18n/crh-cyrl.json | 8 + www/wiki/extensions/InputBox/i18n/crh-latn.json | 8 + www/wiki/extensions/InputBox/i18n/cs.json | 20 + www/wiki/extensions/InputBox/i18n/csb.json | 10 + www/wiki/extensions/InputBox/i18n/cu.json | 8 + www/wiki/extensions/InputBox/i18n/cv.json | 4 + www/wiki/extensions/InputBox/i18n/cy.json | 14 + www/wiki/extensions/InputBox/i18n/da.json | 19 + www/wiki/extensions/InputBox/i18n/de.json | 21 + www/wiki/extensions/InputBox/i18n/din.json | 17 + www/wiki/extensions/InputBox/i18n/diq.json | 21 + www/wiki/extensions/InputBox/i18n/dsb.json | 15 + www/wiki/extensions/InputBox/i18n/dty.json | 9 + www/wiki/extensions/InputBox/i18n/dv.json | 8 + www/wiki/extensions/InputBox/i18n/ee.json | 11 + www/wiki/extensions/InputBox/i18n/el.json | 15 + www/wiki/extensions/InputBox/i18n/en-gb.json | 8 + www/wiki/extensions/InputBox/i18n/en.json | 15 + www/wiki/extensions/InputBox/i18n/eo.json | 16 + www/wiki/extensions/InputBox/i18n/es.json | 23 + www/wiki/extensions/InputBox/i18n/et.json | 19 + www/wiki/extensions/InputBox/i18n/eu.json | 16 + www/wiki/extensions/InputBox/i18n/ext.json | 4 + www/wiki/extensions/InputBox/i18n/fa.json | 21 + www/wiki/extensions/InputBox/i18n/fi.json | 21 + www/wiki/extensions/InputBox/i18n/fo.json | 11 + www/wiki/extensions/InputBox/i18n/fr.json | 23 + www/wiki/extensions/InputBox/i18n/frp.json | 14 + www/wiki/extensions/InputBox/i18n/frr.json | 17 + www/wiki/extensions/InputBox/i18n/fur.json | 10 + www/wiki/extensions/InputBox/i18n/fy.json | 8 + www/wiki/extensions/InputBox/i18n/ga.json | 13 + www/wiki/extensions/InputBox/i18n/gcr.json | 8 + www/wiki/extensions/InputBox/i18n/gd.json | 8 + www/wiki/extensions/InputBox/i18n/gl.json | 19 + www/wiki/extensions/InputBox/i18n/gom-deva.json | 8 + www/wiki/extensions/InputBox/i18n/gom-latn.json | 8 + www/wiki/extensions/InputBox/i18n/gor.json | 8 + www/wiki/extensions/InputBox/i18n/grc.json | 13 + www/wiki/extensions/InputBox/i18n/gsw.json | 15 + www/wiki/extensions/InputBox/i18n/gu.json | 20 + www/wiki/extensions/InputBox/i18n/gv.json | 8 + www/wiki/extensions/InputBox/i18n/hak.json | 10 + www/wiki/extensions/InputBox/i18n/he.json | 19 + www/wiki/extensions/InputBox/i18n/hi.json | 20 + www/wiki/extensions/InputBox/i18n/hif-latn.json | 13 + www/wiki/extensions/InputBox/i18n/hil.json | 8 + www/wiki/extensions/InputBox/i18n/hr.json | 18 + www/wiki/extensions/InputBox/i18n/hsb.json | 15 + www/wiki/extensions/InputBox/i18n/ht.json | 14 + www/wiki/extensions/InputBox/i18n/hu.json | 22 + www/wiki/extensions/InputBox/i18n/hy.json | 10 + www/wiki/extensions/InputBox/i18n/ia.json | 14 + www/wiki/extensions/InputBox/i18n/id.json | 21 + www/wiki/extensions/InputBox/i18n/ig.json | 8 + www/wiki/extensions/InputBox/i18n/ilo.json | 17 + www/wiki/extensions/InputBox/i18n/inh.json | 17 + www/wiki/extensions/InputBox/i18n/io.json | 11 + www/wiki/extensions/InputBox/i18n/is.json | 17 + www/wiki/extensions/InputBox/i18n/it.json | 20 + www/wiki/extensions/InputBox/i18n/ja.json | 21 + www/wiki/extensions/InputBox/i18n/jam.json | 8 + www/wiki/extensions/InputBox/i18n/jut.json | 14 + www/wiki/extensions/InputBox/i18n/jv.json | 16 + www/wiki/extensions/InputBox/i18n/ka.json | 20 + www/wiki/extensions/InputBox/i18n/kaa.json | 4 + www/wiki/extensions/InputBox/i18n/kab.json | 11 + www/wiki/extensions/InputBox/i18n/kbp.json | 8 + www/wiki/extensions/InputBox/i18n/khw.json | 8 + www/wiki/extensions/InputBox/i18n/kk-arab.json | 8 + www/wiki/extensions/InputBox/i18n/kk-cyrl.json | 16 + www/wiki/extensions/InputBox/i18n/kk-latn.json | 8 + www/wiki/extensions/InputBox/i18n/km.json | 18 + www/wiki/extensions/InputBox/i18n/kn.json | 14 + www/wiki/extensions/InputBox/i18n/ko.json | 23 + www/wiki/extensions/InputBox/i18n/koi.json | 10 + www/wiki/extensions/InputBox/i18n/krc.json | 9 + www/wiki/extensions/InputBox/i18n/krl.json | 9 + www/wiki/extensions/InputBox/i18n/ksh.json | 17 + www/wiki/extensions/InputBox/i18n/ku-latn.json | 4 + www/wiki/extensions/InputBox/i18n/kum.json | 8 + www/wiki/extensions/InputBox/i18n/la.json | 4 + www/wiki/extensions/InputBox/i18n/lad.json | 8 + www/wiki/extensions/InputBox/i18n/lb.json | 17 + www/wiki/extensions/InputBox/i18n/lez.json | 9 + www/wiki/extensions/InputBox/i18n/lfn.json | 11 + www/wiki/extensions/InputBox/i18n/lg.json | 4 + www/wiki/extensions/InputBox/i18n/li.json | 19 + www/wiki/extensions/InputBox/i18n/lij.json | 8 + www/wiki/extensions/InputBox/i18n/lki.json | 17 + www/wiki/extensions/InputBox/i18n/ln.json | 8 + www/wiki/extensions/InputBox/i18n/lo.json | 10 + www/wiki/extensions/InputBox/i18n/lrc.json | 15 + www/wiki/extensions/InputBox/i18n/lt.json | 18 + www/wiki/extensions/InputBox/i18n/ltg.json | 8 + www/wiki/extensions/InputBox/i18n/lus.json | 9 + www/wiki/extensions/InputBox/i18n/luz.json | 8 + www/wiki/extensions/InputBox/i18n/lv.json | 18 + www/wiki/extensions/InputBox/i18n/lzh.json | 8 + www/wiki/extensions/InputBox/i18n/mai.json | 8 + www/wiki/extensions/InputBox/i18n/mg.json | 8 + www/wiki/extensions/InputBox/i18n/min.json | 14 + www/wiki/extensions/InputBox/i18n/mk.json | 19 + www/wiki/extensions/InputBox/i18n/ml.json | 18 + www/wiki/extensions/InputBox/i18n/mn.json | 8 + www/wiki/extensions/InputBox/i18n/mr.json | 17 + www/wiki/extensions/InputBox/i18n/ms.json | 18 + www/wiki/extensions/InputBox/i18n/mt.json | 15 + www/wiki/extensions/InputBox/i18n/mwl.json | 9 + www/wiki/extensions/InputBox/i18n/my.json | 8 + www/wiki/extensions/InputBox/i18n/myv.json | 8 + www/wiki/extensions/InputBox/i18n/mzn.json | 11 + www/wiki/extensions/InputBox/i18n/nah.json | 8 + www/wiki/extensions/InputBox/i18n/nan.json | 8 + www/wiki/extensions/InputBox/i18n/nap.json | 19 + www/wiki/extensions/InputBox/i18n/nb.json | 19 + www/wiki/extensions/InputBox/i18n/nds-nl.json | 10 + www/wiki/extensions/InputBox/i18n/nds.json | 13 + www/wiki/extensions/InputBox/i18n/ne.json | 11 + www/wiki/extensions/InputBox/i18n/niu.json | 8 + www/wiki/extensions/InputBox/i18n/nl-informal.json | 8 + www/wiki/extensions/InputBox/i18n/nl.json | 18 + www/wiki/extensions/InputBox/i18n/nn.json | 15 + www/wiki/extensions/InputBox/i18n/nov.json | 8 + www/wiki/extensions/InputBox/i18n/nso.json | 8 + www/wiki/extensions/InputBox/i18n/nys.json | 8 + www/wiki/extensions/InputBox/i18n/oc.json | 15 + www/wiki/extensions/InputBox/i18n/olo.json | 15 + www/wiki/extensions/InputBox/i18n/or.json | 17 + www/wiki/extensions/InputBox/i18n/pa.json | 8 + www/wiki/extensions/InputBox/i18n/pag.json | 4 + www/wiki/extensions/InputBox/i18n/pam.json | 4 + www/wiki/extensions/InputBox/i18n/pdc.json | 8 + www/wiki/extensions/InputBox/i18n/pfl.json | 8 + www/wiki/extensions/InputBox/i18n/pl.json | 19 + www/wiki/extensions/InputBox/i18n/pms.json | 16 + www/wiki/extensions/InputBox/i18n/pnb.json | 14 + www/wiki/extensions/InputBox/i18n/pnt.json | 8 + www/wiki/extensions/InputBox/i18n/ps.json | 15 + www/wiki/extensions/InputBox/i18n/pt-br.json | 22 + www/wiki/extensions/InputBox/i18n/pt.json | 21 + www/wiki/extensions/InputBox/i18n/qqq.json | 25 + www/wiki/extensions/InputBox/i18n/qu.json | 10 + www/wiki/extensions/InputBox/i18n/ro.json | 21 + www/wiki/extensions/InputBox/i18n/roa-tara.json | 17 + www/wiki/extensions/InputBox/i18n/ru.json | 19 + www/wiki/extensions/InputBox/i18n/rue.json | 14 + www/wiki/extensions/InputBox/i18n/rup.json | 8 + www/wiki/extensions/InputBox/i18n/sa.json | 20 + www/wiki/extensions/InputBox/i18n/sah.json | 14 + www/wiki/extensions/InputBox/i18n/sat.json | 9 + www/wiki/extensions/InputBox/i18n/sc.json | 8 + www/wiki/extensions/InputBox/i18n/scn.json | 16 + www/wiki/extensions/InputBox/i18n/sco.json | 8 + www/wiki/extensions/InputBox/i18n/sd.json | 9 + www/wiki/extensions/InputBox/i18n/sg.json | 4 + www/wiki/extensions/InputBox/i18n/sgs.json | 9 + www/wiki/extensions/InputBox/i18n/sh.json | 12 + www/wiki/extensions/InputBox/i18n/shn.json | 8 + www/wiki/extensions/InputBox/i18n/si.json | 17 + www/wiki/extensions/InputBox/i18n/sk.json | 15 + www/wiki/extensions/InputBox/i18n/skr-arab.json | 13 + www/wiki/extensions/InputBox/i18n/sl.json | 19 + www/wiki/extensions/InputBox/i18n/sq.json | 15 + www/wiki/extensions/InputBox/i18n/sr-ec.json | 19 + www/wiki/extensions/InputBox/i18n/sr-el.json | 17 + www/wiki/extensions/InputBox/i18n/ss.json | 8 + www/wiki/extensions/InputBox/i18n/stq.json | 14 + www/wiki/extensions/InputBox/i18n/sty.json | 8 + www/wiki/extensions/InputBox/i18n/su.json | 11 + www/wiki/extensions/InputBox/i18n/sv.json | 20 + www/wiki/extensions/InputBox/i18n/sw.json | 9 + www/wiki/extensions/InputBox/i18n/szl.json | 9 + www/wiki/extensions/InputBox/i18n/ta.json | 17 + www/wiki/extensions/InputBox/i18n/tay.json | 14 + www/wiki/extensions/InputBox/i18n/tcy.json | 9 + www/wiki/extensions/InputBox/i18n/te.json | 18 + www/wiki/extensions/InputBox/i18n/tg-cyrl.json | 13 + www/wiki/extensions/InputBox/i18n/tg-latn.json | 12 + www/wiki/extensions/InputBox/i18n/th.json | 10 + www/wiki/extensions/InputBox/i18n/tk.json | 13 + www/wiki/extensions/InputBox/i18n/tl.json | 14 + www/wiki/extensions/InputBox/i18n/tn.json | 4 + www/wiki/extensions/InputBox/i18n/to.json | 4 + www/wiki/extensions/InputBox/i18n/tr.json | 21 + www/wiki/extensions/InputBox/i18n/ts.json | 8 + www/wiki/extensions/InputBox/i18n/tt-cyrl.json | 18 + www/wiki/extensions/InputBox/i18n/tyv.json | 10 + www/wiki/extensions/InputBox/i18n/tzm.json | 8 + www/wiki/extensions/InputBox/i18n/udm.json | 8 + www/wiki/extensions/InputBox/i18n/ug-arab.json | 11 + www/wiki/extensions/InputBox/i18n/uk.json | 21 + www/wiki/extensions/InputBox/i18n/ur.json | 16 + www/wiki/extensions/InputBox/i18n/uz.json | 4 + www/wiki/extensions/InputBox/i18n/vec.json | 15 + www/wiki/extensions/InputBox/i18n/vep.json | 11 + www/wiki/extensions/InputBox/i18n/vi.json | 17 + www/wiki/extensions/InputBox/i18n/vo.json | 11 + www/wiki/extensions/InputBox/i18n/vro.json | 13 + www/wiki/extensions/InputBox/i18n/wa.json | 4 + www/wiki/extensions/InputBox/i18n/war.json | 8 + www/wiki/extensions/InputBox/i18n/wo.json | 12 + www/wiki/extensions/InputBox/i18n/wuu.json | 10 + www/wiki/extensions/InputBox/i18n/xal.json | 12 + www/wiki/extensions/InputBox/i18n/xh.json | 4 + www/wiki/extensions/InputBox/i18n/xmf.json | 8 + www/wiki/extensions/InputBox/i18n/yi.json | 12 + www/wiki/extensions/InputBox/i18n/yo.json | 10 + www/wiki/extensions/InputBox/i18n/yue.json | 17 + www/wiki/extensions/InputBox/i18n/zh-hans.json | 22 + www/wiki/extensions/InputBox/i18n/zh-hant.json | 22 + www/wiki/extensions/InputBox/i18n/zu.json | 4 + www/wiki/extensions/InputBox/includes/InputBox.php | 729 +++++++++++++++++++++ .../extensions/InputBox/includes/InputBoxHooks.php | 108 +++ www/wiki/extensions/InputBox/phpcs.xml | 17 + .../extensions/InputBox/resources/ext.inputBox.js | 29 + .../InputBox/resources/ext.inputBox.styles.css | 19 + .../InputBox/tests/inputBoxParserTests.txt | 350 ++++++++++ .../InputBox/tests/parser/inputBoxParserTests.txt | 240 +++++++ www/wiki/extensions/InputBox/tests/phan/config.php | 3 + 263 files changed, 5622 insertions(+) create mode 100644 www/wiki/extensions/InputBox/CODE_OF_CONDUCT.md create mode 100644 www/wiki/extensions/InputBox/COPYING create mode 100644 www/wiki/extensions/InputBox/Gruntfile.js create mode 100644 www/wiki/extensions/InputBox/InputBox.classes.php create mode 100644 www/wiki/extensions/InputBox/InputBox.hooks.php create mode 100644 www/wiki/extensions/InputBox/InputBox.php create mode 100644 www/wiki/extensions/InputBox/composer.json create mode 100644 www/wiki/extensions/InputBox/extension.json create mode 100644 www/wiki/extensions/InputBox/i18n/ady-cyrl.json create mode 100644 www/wiki/extensions/InputBox/i18n/af.json create mode 100644 www/wiki/extensions/InputBox/i18n/ais.json create mode 100644 www/wiki/extensions/InputBox/i18n/am.json create mode 100644 www/wiki/extensions/InputBox/i18n/an.json create mode 100644 www/wiki/extensions/InputBox/i18n/ang.json create mode 100644 www/wiki/extensions/InputBox/i18n/anp.json create mode 100644 www/wiki/extensions/InputBox/i18n/ar.json create mode 100644 www/wiki/extensions/InputBox/i18n/arc.json create mode 100644 www/wiki/extensions/InputBox/i18n/arq.json create mode 100644 www/wiki/extensions/InputBox/i18n/arz.json create mode 100644 www/wiki/extensions/InputBox/i18n/as.json create mode 100644 www/wiki/extensions/InputBox/i18n/ast.json create mode 100644 www/wiki/extensions/InputBox/i18n/atj.json create mode 100644 www/wiki/extensions/InputBox/i18n/awa.json create mode 100644 www/wiki/extensions/InputBox/i18n/az.json create mode 100644 www/wiki/extensions/InputBox/i18n/azb.json create mode 100644 www/wiki/extensions/InputBox/i18n/ba.json create mode 100644 www/wiki/extensions/InputBox/i18n/bcc.json create mode 100644 www/wiki/extensions/InputBox/i18n/bcl.json create mode 100644 www/wiki/extensions/InputBox/i18n/be-tarask.json create mode 100644 www/wiki/extensions/InputBox/i18n/be.json create mode 100644 www/wiki/extensions/InputBox/i18n/bg.json create mode 100644 www/wiki/extensions/InputBox/i18n/bgn.json create mode 100644 www/wiki/extensions/InputBox/i18n/bho.json create mode 100644 www/wiki/extensions/InputBox/i18n/bi.json create mode 100644 www/wiki/extensions/InputBox/i18n/bn.json create mode 100644 www/wiki/extensions/InputBox/i18n/bqi.json create mode 100644 www/wiki/extensions/InputBox/i18n/br.json create mode 100644 www/wiki/extensions/InputBox/i18n/bs.json create mode 100644 www/wiki/extensions/InputBox/i18n/ca.json create mode 100644 www/wiki/extensions/InputBox/i18n/cdo.json create mode 100644 www/wiki/extensions/InputBox/i18n/ce.json create mode 100644 www/wiki/extensions/InputBox/i18n/ckb.json create mode 100644 www/wiki/extensions/InputBox/i18n/co.json create mode 100644 www/wiki/extensions/InputBox/i18n/crh-cyrl.json create mode 100644 www/wiki/extensions/InputBox/i18n/crh-latn.json create mode 100644 www/wiki/extensions/InputBox/i18n/cs.json create mode 100644 www/wiki/extensions/InputBox/i18n/csb.json create mode 100644 www/wiki/extensions/InputBox/i18n/cu.json create mode 100644 www/wiki/extensions/InputBox/i18n/cv.json create mode 100644 www/wiki/extensions/InputBox/i18n/cy.json create mode 100644 www/wiki/extensions/InputBox/i18n/da.json create mode 100644 www/wiki/extensions/InputBox/i18n/de.json create mode 100644 www/wiki/extensions/InputBox/i18n/din.json create mode 100644 www/wiki/extensions/InputBox/i18n/diq.json create mode 100644 www/wiki/extensions/InputBox/i18n/dsb.json create mode 100644 www/wiki/extensions/InputBox/i18n/dty.json create mode 100644 www/wiki/extensions/InputBox/i18n/dv.json create mode 100644 www/wiki/extensions/InputBox/i18n/ee.json create mode 100644 www/wiki/extensions/InputBox/i18n/el.json create mode 100644 www/wiki/extensions/InputBox/i18n/en-gb.json create mode 100644 www/wiki/extensions/InputBox/i18n/en.json create mode 100644 www/wiki/extensions/InputBox/i18n/eo.json create mode 100644 www/wiki/extensions/InputBox/i18n/es.json create mode 100644 www/wiki/extensions/InputBox/i18n/et.json create mode 100644 www/wiki/extensions/InputBox/i18n/eu.json create mode 100644 www/wiki/extensions/InputBox/i18n/ext.json create mode 100644 www/wiki/extensions/InputBox/i18n/fa.json create mode 100644 www/wiki/extensions/InputBox/i18n/fi.json create mode 100644 www/wiki/extensions/InputBox/i18n/fo.json create mode 100644 www/wiki/extensions/InputBox/i18n/fr.json create mode 100644 www/wiki/extensions/InputBox/i18n/frp.json create mode 100644 www/wiki/extensions/InputBox/i18n/frr.json create mode 100644 www/wiki/extensions/InputBox/i18n/fur.json create mode 100644 www/wiki/extensions/InputBox/i18n/fy.json create mode 100644 www/wiki/extensions/InputBox/i18n/ga.json create mode 100644 www/wiki/extensions/InputBox/i18n/gcr.json create mode 100644 www/wiki/extensions/InputBox/i18n/gd.json create mode 100644 www/wiki/extensions/InputBox/i18n/gl.json create mode 100644 www/wiki/extensions/InputBox/i18n/gom-deva.json create mode 100644 www/wiki/extensions/InputBox/i18n/gom-latn.json create mode 100644 www/wiki/extensions/InputBox/i18n/gor.json create mode 100644 www/wiki/extensions/InputBox/i18n/grc.json create mode 100644 www/wiki/extensions/InputBox/i18n/gsw.json create mode 100644 www/wiki/extensions/InputBox/i18n/gu.json create mode 100644 www/wiki/extensions/InputBox/i18n/gv.json create mode 100644 www/wiki/extensions/InputBox/i18n/hak.json create mode 100644 www/wiki/extensions/InputBox/i18n/he.json create mode 100644 www/wiki/extensions/InputBox/i18n/hi.json create mode 100644 www/wiki/extensions/InputBox/i18n/hif-latn.json create mode 100644 www/wiki/extensions/InputBox/i18n/hil.json create mode 100644 www/wiki/extensions/InputBox/i18n/hr.json create mode 100644 www/wiki/extensions/InputBox/i18n/hsb.json create mode 100644 www/wiki/extensions/InputBox/i18n/ht.json create mode 100644 www/wiki/extensions/InputBox/i18n/hu.json create mode 100644 www/wiki/extensions/InputBox/i18n/hy.json create mode 100644 www/wiki/extensions/InputBox/i18n/ia.json create mode 100644 www/wiki/extensions/InputBox/i18n/id.json create mode 100644 www/wiki/extensions/InputBox/i18n/ig.json create mode 100644 www/wiki/extensions/InputBox/i18n/ilo.json create mode 100644 www/wiki/extensions/InputBox/i18n/inh.json create mode 100644 www/wiki/extensions/InputBox/i18n/io.json create mode 100644 www/wiki/extensions/InputBox/i18n/is.json create mode 100644 www/wiki/extensions/InputBox/i18n/it.json create mode 100644 www/wiki/extensions/InputBox/i18n/ja.json create mode 100644 www/wiki/extensions/InputBox/i18n/jam.json create mode 100644 www/wiki/extensions/InputBox/i18n/jut.json create mode 100644 www/wiki/extensions/InputBox/i18n/jv.json create mode 100644 www/wiki/extensions/InputBox/i18n/ka.json create mode 100644 www/wiki/extensions/InputBox/i18n/kaa.json create mode 100644 www/wiki/extensions/InputBox/i18n/kab.json create mode 100644 www/wiki/extensions/InputBox/i18n/kbp.json create mode 100644 www/wiki/extensions/InputBox/i18n/khw.json create mode 100644 www/wiki/extensions/InputBox/i18n/kk-arab.json create mode 100644 www/wiki/extensions/InputBox/i18n/kk-cyrl.json create mode 100644 www/wiki/extensions/InputBox/i18n/kk-latn.json create mode 100644 www/wiki/extensions/InputBox/i18n/km.json create mode 100644 www/wiki/extensions/InputBox/i18n/kn.json create mode 100644 www/wiki/extensions/InputBox/i18n/ko.json create mode 100644 www/wiki/extensions/InputBox/i18n/koi.json create mode 100644 www/wiki/extensions/InputBox/i18n/krc.json create mode 100644 www/wiki/extensions/InputBox/i18n/krl.json create mode 100644 www/wiki/extensions/InputBox/i18n/ksh.json create mode 100644 www/wiki/extensions/InputBox/i18n/ku-latn.json create mode 100644 www/wiki/extensions/InputBox/i18n/kum.json create mode 100644 www/wiki/extensions/InputBox/i18n/la.json create mode 100644 www/wiki/extensions/InputBox/i18n/lad.json create mode 100644 www/wiki/extensions/InputBox/i18n/lb.json create mode 100644 www/wiki/extensions/InputBox/i18n/lez.json create mode 100644 www/wiki/extensions/InputBox/i18n/lfn.json create mode 100644 www/wiki/extensions/InputBox/i18n/lg.json create mode 100644 www/wiki/extensions/InputBox/i18n/li.json create mode 100644 www/wiki/extensions/InputBox/i18n/lij.json create mode 100644 www/wiki/extensions/InputBox/i18n/lki.json create mode 100644 www/wiki/extensions/InputBox/i18n/ln.json create mode 100644 www/wiki/extensions/InputBox/i18n/lo.json create mode 100644 www/wiki/extensions/InputBox/i18n/lrc.json create mode 100644 www/wiki/extensions/InputBox/i18n/lt.json create mode 100644 www/wiki/extensions/InputBox/i18n/ltg.json create mode 100644 www/wiki/extensions/InputBox/i18n/lus.json create mode 100644 www/wiki/extensions/InputBox/i18n/luz.json create mode 100644 www/wiki/extensions/InputBox/i18n/lv.json create mode 100644 www/wiki/extensions/InputBox/i18n/lzh.json create mode 100644 www/wiki/extensions/InputBox/i18n/mai.json create mode 100644 www/wiki/extensions/InputBox/i18n/mg.json create mode 100644 www/wiki/extensions/InputBox/i18n/min.json create mode 100644 www/wiki/extensions/InputBox/i18n/mk.json create mode 100644 www/wiki/extensions/InputBox/i18n/ml.json create mode 100644 www/wiki/extensions/InputBox/i18n/mn.json create mode 100644 www/wiki/extensions/InputBox/i18n/mr.json create mode 100644 www/wiki/extensions/InputBox/i18n/ms.json create mode 100644 www/wiki/extensions/InputBox/i18n/mt.json create mode 100644 www/wiki/extensions/InputBox/i18n/mwl.json create mode 100644 www/wiki/extensions/InputBox/i18n/my.json create mode 100644 www/wiki/extensions/InputBox/i18n/myv.json create mode 100644 www/wiki/extensions/InputBox/i18n/mzn.json create mode 100644 www/wiki/extensions/InputBox/i18n/nah.json create mode 100644 www/wiki/extensions/InputBox/i18n/nan.json create mode 100644 www/wiki/extensions/InputBox/i18n/nap.json create mode 100644 www/wiki/extensions/InputBox/i18n/nb.json create mode 100644 www/wiki/extensions/InputBox/i18n/nds-nl.json create mode 100644 www/wiki/extensions/InputBox/i18n/nds.json create mode 100644 www/wiki/extensions/InputBox/i18n/ne.json create mode 100644 www/wiki/extensions/InputBox/i18n/niu.json create mode 100644 www/wiki/extensions/InputBox/i18n/nl-informal.json create mode 100644 www/wiki/extensions/InputBox/i18n/nl.json create mode 100644 www/wiki/extensions/InputBox/i18n/nn.json create mode 100644 www/wiki/extensions/InputBox/i18n/nov.json create mode 100644 www/wiki/extensions/InputBox/i18n/nso.json create mode 100644 www/wiki/extensions/InputBox/i18n/nys.json create mode 100644 www/wiki/extensions/InputBox/i18n/oc.json create mode 100644 www/wiki/extensions/InputBox/i18n/olo.json create mode 100644 www/wiki/extensions/InputBox/i18n/or.json create mode 100644 www/wiki/extensions/InputBox/i18n/pa.json create mode 100644 www/wiki/extensions/InputBox/i18n/pag.json create mode 100644 www/wiki/extensions/InputBox/i18n/pam.json create mode 100644 www/wiki/extensions/InputBox/i18n/pdc.json create mode 100644 www/wiki/extensions/InputBox/i18n/pfl.json create mode 100644 www/wiki/extensions/InputBox/i18n/pl.json create mode 100644 www/wiki/extensions/InputBox/i18n/pms.json create mode 100644 www/wiki/extensions/InputBox/i18n/pnb.json create mode 100644 www/wiki/extensions/InputBox/i18n/pnt.json create mode 100644 www/wiki/extensions/InputBox/i18n/ps.json create mode 100644 www/wiki/extensions/InputBox/i18n/pt-br.json create mode 100644 www/wiki/extensions/InputBox/i18n/pt.json create mode 100644 www/wiki/extensions/InputBox/i18n/qqq.json create mode 100644 www/wiki/extensions/InputBox/i18n/qu.json create mode 100644 www/wiki/extensions/InputBox/i18n/ro.json create mode 100644 www/wiki/extensions/InputBox/i18n/roa-tara.json create mode 100644 www/wiki/extensions/InputBox/i18n/ru.json create mode 100644 www/wiki/extensions/InputBox/i18n/rue.json create mode 100644 www/wiki/extensions/InputBox/i18n/rup.json create mode 100644 www/wiki/extensions/InputBox/i18n/sa.json create mode 100644 www/wiki/extensions/InputBox/i18n/sah.json create mode 100644 www/wiki/extensions/InputBox/i18n/sat.json create mode 100644 www/wiki/extensions/InputBox/i18n/sc.json create mode 100644 www/wiki/extensions/InputBox/i18n/scn.json create mode 100644 www/wiki/extensions/InputBox/i18n/sco.json create mode 100644 www/wiki/extensions/InputBox/i18n/sd.json create mode 100644 www/wiki/extensions/InputBox/i18n/sg.json create mode 100644 www/wiki/extensions/InputBox/i18n/sgs.json create mode 100644 www/wiki/extensions/InputBox/i18n/sh.json create mode 100644 www/wiki/extensions/InputBox/i18n/shn.json create mode 100644 www/wiki/extensions/InputBox/i18n/si.json create mode 100644 www/wiki/extensions/InputBox/i18n/sk.json create mode 100644 www/wiki/extensions/InputBox/i18n/skr-arab.json create mode 100644 www/wiki/extensions/InputBox/i18n/sl.json create mode 100644 www/wiki/extensions/InputBox/i18n/sq.json create mode 100644 www/wiki/extensions/InputBox/i18n/sr-ec.json create mode 100644 www/wiki/extensions/InputBox/i18n/sr-el.json create mode 100644 www/wiki/extensions/InputBox/i18n/ss.json create mode 100644 www/wiki/extensions/InputBox/i18n/stq.json create mode 100644 www/wiki/extensions/InputBox/i18n/sty.json create mode 100644 www/wiki/extensions/InputBox/i18n/su.json create mode 100644 www/wiki/extensions/InputBox/i18n/sv.json create mode 100644 www/wiki/extensions/InputBox/i18n/sw.json create mode 100644 www/wiki/extensions/InputBox/i18n/szl.json create mode 100644 www/wiki/extensions/InputBox/i18n/ta.json create mode 100644 www/wiki/extensions/InputBox/i18n/tay.json create mode 100644 www/wiki/extensions/InputBox/i18n/tcy.json create mode 100644 www/wiki/extensions/InputBox/i18n/te.json create mode 100644 www/wiki/extensions/InputBox/i18n/tg-cyrl.json create mode 100644 www/wiki/extensions/InputBox/i18n/tg-latn.json create mode 100644 www/wiki/extensions/InputBox/i18n/th.json create mode 100644 www/wiki/extensions/InputBox/i18n/tk.json create mode 100644 www/wiki/extensions/InputBox/i18n/tl.json create mode 100644 www/wiki/extensions/InputBox/i18n/tn.json create mode 100644 www/wiki/extensions/InputBox/i18n/to.json create mode 100644 www/wiki/extensions/InputBox/i18n/tr.json create mode 100644 www/wiki/extensions/InputBox/i18n/ts.json create mode 100644 www/wiki/extensions/InputBox/i18n/tt-cyrl.json create mode 100644 www/wiki/extensions/InputBox/i18n/tyv.json create mode 100644 www/wiki/extensions/InputBox/i18n/tzm.json create mode 100644 www/wiki/extensions/InputBox/i18n/udm.json create mode 100644 www/wiki/extensions/InputBox/i18n/ug-arab.json create mode 100644 www/wiki/extensions/InputBox/i18n/uk.json create mode 100644 www/wiki/extensions/InputBox/i18n/ur.json create mode 100644 www/wiki/extensions/InputBox/i18n/uz.json create mode 100644 www/wiki/extensions/InputBox/i18n/vec.json create mode 100644 www/wiki/extensions/InputBox/i18n/vep.json create mode 100644 www/wiki/extensions/InputBox/i18n/vi.json create mode 100644 www/wiki/extensions/InputBox/i18n/vo.json create mode 100644 www/wiki/extensions/InputBox/i18n/vro.json create mode 100644 www/wiki/extensions/InputBox/i18n/wa.json create mode 100644 www/wiki/extensions/InputBox/i18n/war.json create mode 100644 www/wiki/extensions/InputBox/i18n/wo.json create mode 100644 www/wiki/extensions/InputBox/i18n/wuu.json create mode 100644 www/wiki/extensions/InputBox/i18n/xal.json create mode 100644 www/wiki/extensions/InputBox/i18n/xh.json create mode 100644 www/wiki/extensions/InputBox/i18n/xmf.json create mode 100644 www/wiki/extensions/InputBox/i18n/yi.json create mode 100644 www/wiki/extensions/InputBox/i18n/yo.json create mode 100644 www/wiki/extensions/InputBox/i18n/yue.json create mode 100644 www/wiki/extensions/InputBox/i18n/zh-hans.json create mode 100644 www/wiki/extensions/InputBox/i18n/zh-hant.json create mode 100644 www/wiki/extensions/InputBox/i18n/zu.json create mode 100644 www/wiki/extensions/InputBox/includes/InputBox.php create mode 100644 www/wiki/extensions/InputBox/includes/InputBoxHooks.php create mode 100644 www/wiki/extensions/InputBox/phpcs.xml create mode 100644 www/wiki/extensions/InputBox/resources/ext.inputBox.js create mode 100644 www/wiki/extensions/InputBox/resources/ext.inputBox.styles.css create mode 100644 www/wiki/extensions/InputBox/tests/inputBoxParserTests.txt create mode 100644 www/wiki/extensions/InputBox/tests/parser/inputBoxParserTests.txt create mode 100644 www/wiki/extensions/InputBox/tests/phan/config.php (limited to 'www/wiki/extensions/InputBox') diff --git a/www/wiki/extensions/InputBox/CODE_OF_CONDUCT.md b/www/wiki/extensions/InputBox/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..d8e5d087 --- /dev/null +++ b/www/wiki/extensions/InputBox/CODE_OF_CONDUCT.md @@ -0,0 +1 @@ +The development of this software is covered by a [Code of Conduct](https://www.mediawiki.org/wiki/Code_of_Conduct). diff --git a/www/wiki/extensions/InputBox/COPYING b/www/wiki/extensions/InputBox/COPYING new file mode 100644 index 00000000..8cb8e7ec --- /dev/null +++ b/www/wiki/extensions/InputBox/COPYING @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2005 Erik Möller + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/www/wiki/extensions/InputBox/Gruntfile.js b/www/wiki/extensions/InputBox/Gruntfile.js new file mode 100644 index 00000000..71742f04 --- /dev/null +++ b/www/wiki/extensions/InputBox/Gruntfile.js @@ -0,0 +1,41 @@ +/*jshint node:true */ +module.exports = function ( grunt ) { + grunt.loadNpmTasks( 'grunt-contrib-jshint' ); + grunt.loadNpmTasks( 'grunt-jsonlint' ); + grunt.loadNpmTasks( 'grunt-banana-checker' ); + grunt.loadNpmTasks( 'grunt-stylelint' ); + + grunt.initConfig( { + jshint: { + options: { + jshintrc: true + }, + all: [ + '**/*.js', + '!node_modules/**', + '!lib/**', + '!vendor/**' + ] + }, + banana: { + all: 'i18n/' + }, + jsonlint: { + all: [ + '**/*.json', + '!node_modules/**', + '!vendor/**' + ] + }, + stylelint: { + all: [ + '**/*.css', + '!node_modules/**', + '!vendor/**' + ] + } + } ); + + grunt.registerTask( 'test', [ 'jshint', 'jsonlint', 'banana', 'stylelint' ] ); + grunt.registerTask( 'default', 'test' ); +}; diff --git a/www/wiki/extensions/InputBox/InputBox.classes.php b/www/wiki/extensions/InputBox/InputBox.classes.php new file mode 100644 index 00000000..c2c0d40d --- /dev/null +++ b/www/wiki/extensions/InputBox/InputBox.classes.php @@ -0,0 +1,719 @@ +mParser = $parser; + // Default value for dir taken from the page language (bug 37018) + $this->mDir = $this->mParser->getTargetLanguage()->getDir(); + // Split caches by language, to make sure visitors do not see a cached + // version in a random language (since labels are in the user language) + $this->mParser->getOptions()->getUserLangObj(); + $this->mParser->getOutput()->addModuleStyles( [ + 'ext.inputBox.styles', + 'mediawiki.ui.input', + 'mediawiki.ui.checkbox', + ] ); + } + + public function render() { + // Handle various types + switch ( $this->mType ) { + case 'create': + case 'comment': + $this->mParser->getOutput()->addModules( 'ext.inputBox' ); + return $this->getCreateForm(); + case 'move': + return $this->getMoveForm(); + case 'commenttitle': + return $this->getCommentForm(); + case 'search': + return $this->getSearchForm( 'search' ); + case 'fulltext': + return $this->getSearchForm( 'fulltext' ); + case 'search2': + return $this->getSearchForm2(); + default: + return Xml::tags( 'div', null, + Xml::element( 'strong', + [ 'class' => 'error' ], + strlen( $this->mType ) > 0 + ? wfMessage( 'inputbox-error-bad-type', $this->mType )->text() + : wfMessage( 'inputbox-error-no-type' )->text() + ) + ); + } + } + + /* + * Returns the action name and value to use in inputboxes which redirects to edit pages. + * Decides, if the link should redirect to VE edit page (veaction=edit) or to wikitext editor + * (action=edit). + * + * @return Array Array with name and value data + */ + private function getEditActionArgs() { + // default is wikitext editor + $args = [ + 'name' => 'action', + 'value' => 'edit', + ]; + // check, if VE is installed and VE editor is requested + if ( $this->shouldUseVE() ) { + $args = [ + 'name' => 'veaction', + 'value' => 'edit', + ]; + } + return $args; + } + + /** + * Get common classes, that could be added and depend on, if + * a line break between a button and an input field is added or not. + * + * @return String + */ + private function getLinebreakClasses() { + return strtolower( $this->mBR ) === '
' ? 'mw-inputbox-input ' : ''; + } + + /** + * Generate search form + * @param $type + * @return string HTML + */ + public function getSearchForm( $type ) { + global $wgContLang, $wgNamespaceAliases; + + // Use button label fallbacks + if ( !$this->mButtonLabel ) { + $this->mButtonLabel = wfMessage( 'inputbox-tryexact' )->text(); + } + if ( !$this->mSearchButtonLabel ) { + $this->mSearchButtonLabel = wfMessage( 'inputbox-searchfulltext' )->text(); + } + if ( $this->mID !== '' ) { + $idArray = [ 'id' => Sanitizer::escapeId( $this->mID ) ]; + } else { + $idArray = []; + } + // We need a unqiue id to link