From f45e8802d7e6583f4ad3382540b8c61f1a324975 Mon Sep 17 00:00:00 2001 From: Yaco Date: Mon, 12 Aug 2019 15:33:43 -0300 Subject: agrega extension MsUpload --- www/wiki/LocalSettings.Reevo.php | 10 + www/wiki/extensions/MsUpload/.gitignore | 7 + www/wiki/extensions/MsUpload/.gitreview | 6 + www/wiki/extensions/MsUpload/.jscsrc | 7 + www/wiki/extensions/MsUpload/.jshintrc | 25 + www/wiki/extensions/MsUpload/.phpcs.xml | 13 + www/wiki/extensions/MsUpload/CODE_OF_CONDUCT.md | 1 + www/wiki/extensions/MsUpload/COPYING | 339 ++++++++++++++ www/wiki/extensions/MsUpload/Gruntfile.js | 37 ++ www/wiki/extensions/MsUpload/MsUpload.body.php | 74 +++ www/wiki/extensions/MsUpload/MsUpload.css | 250 ++++++++++ www/wiki/extensions/MsUpload/MsUpload.js | 510 +++++++++++++++++++++ www/wiki/extensions/MsUpload/MsUpload.php | 15 + www/wiki/extensions/MsUpload/README.md | 28 ++ www/wiki/extensions/MsUpload/composer.json | 19 + www/wiki/extensions/MsUpload/extension.json | 70 +++ www/wiki/extensions/MsUpload/gitinfo.json | 1 + www/wiki/extensions/MsUpload/i18n/af.json | 15 + www/wiki/extensions/MsUpload/i18n/ar.json | 13 + www/wiki/extensions/MsUpload/i18n/bcl.json | 11 + www/wiki/extensions/MsUpload/i18n/bn.json | 22 + www/wiki/extensions/MsUpload/i18n/ca.json | 23 + www/wiki/extensions/MsUpload/i18n/ckb.json | 20 + www/wiki/extensions/MsUpload/i18n/cu.json | 9 + www/wiki/extensions/MsUpload/i18n/de.json | 24 + www/wiki/extensions/MsUpload/i18n/el.json | 24 + www/wiki/extensions/MsUpload/i18n/eml.json | 8 + www/wiki/extensions/MsUpload/i18n/en-ca.json | 9 + www/wiki/extensions/MsUpload/i18n/en.json | 25 + www/wiki/extensions/MsUpload/i18n/es.json | 25 + www/wiki/extensions/MsUpload/i18n/eu.json | 9 + www/wiki/extensions/MsUpload/i18n/fa.json | 10 + www/wiki/extensions/MsUpload/i18n/fi.json | 11 + www/wiki/extensions/MsUpload/i18n/fr.json | 30 ++ www/wiki/extensions/MsUpload/i18n/ga.json | 10 + www/wiki/extensions/MsUpload/i18n/gl.json | 22 + www/wiki/extensions/MsUpload/i18n/he.json | 20 + www/wiki/extensions/MsUpload/i18n/hi.json | 9 + www/wiki/extensions/MsUpload/i18n/ht.json | 10 + www/wiki/extensions/MsUpload/i18n/ia.json | 8 + www/wiki/extensions/MsUpload/i18n/it.json | 25 + www/wiki/extensions/MsUpload/i18n/ja.json | 24 + www/wiki/extensions/MsUpload/i18n/kn.json | 18 + www/wiki/extensions/MsUpload/i18n/ko.json | 25 + www/wiki/extensions/MsUpload/i18n/ksh.json | 22 + www/wiki/extensions/MsUpload/i18n/ku-latn.json | 8 + www/wiki/extensions/MsUpload/i18n/lb.json | 23 + www/wiki/extensions/MsUpload/i18n/lt.json | 22 + www/wiki/extensions/MsUpload/i18n/lv.json | 11 + www/wiki/extensions/MsUpload/i18n/mk.json | 23 + www/wiki/extensions/MsUpload/i18n/mr.json | 11 + www/wiki/extensions/MsUpload/i18n/mwl.json | 9 + www/wiki/extensions/MsUpload/i18n/nl.json | 24 + www/wiki/extensions/MsUpload/i18n/nn.json | 8 + www/wiki/extensions/MsUpload/i18n/olo.json | 8 + www/wiki/extensions/MsUpload/i18n/om.json | 9 + www/wiki/extensions/MsUpload/i18n/pl.json | 23 + www/wiki/extensions/MsUpload/i18n/ps.json | 22 + www/wiki/extensions/MsUpload/i18n/pt-br.json | 25 + www/wiki/extensions/MsUpload/i18n/pt.json | 27 ++ www/wiki/extensions/MsUpload/i18n/qqq.json | 26 ++ www/wiki/extensions/MsUpload/i18n/ru.json | 25 + www/wiki/extensions/MsUpload/i18n/sd.json | 10 + www/wiki/extensions/MsUpload/i18n/shn.json | 22 + www/wiki/extensions/MsUpload/i18n/sq.json | 8 + www/wiki/extensions/MsUpload/i18n/su.json | 8 + www/wiki/extensions/MsUpload/i18n/sv.json | 23 + www/wiki/extensions/MsUpload/i18n/tr.json | 13 + www/wiki/extensions/MsUpload/i18n/uk.json | 25 + www/wiki/extensions/MsUpload/i18n/zh-hans.json | 24 + www/wiki/extensions/MsUpload/i18n/zh-hant.json | 26 ++ www/wiki/extensions/MsUpload/images/msu-close.png | Bin 0 -> 591 bytes www/wiki/extensions/MsUpload/images/msu-error.png | Bin 0 -> 546 bytes www/wiki/extensions/MsUpload/images/msu-globe.png | Bin 0 -> 625 bytes .../extensions/MsUpload/images/msu-loading.png | Bin 0 -> 340 bytes www/wiki/extensions/MsUpload/images/msu-ok.png | Bin 0 -> 538 bytes .../MsUpload/images/msu-progress-stripe.png | Bin 0 -> 213 bytes .../extensions/MsUpload/images/msu-thumb-audio.png | Bin 0 -> 560 bytes .../MsUpload/images/msu-thumb-document.png | Bin 0 -> 424 bytes .../extensions/MsUpload/images/msu-thumb-image.png | Bin 0 -> 600 bytes .../extensions/MsUpload/images/msu-thumb-pdf.png | Bin 0 -> 595 bytes .../extensions/MsUpload/images/msu-thumb-video.png | Bin 0 -> 566 bytes .../MsUpload/images/msu-upload-button.png | Bin 0 -> 674 bytes .../extensions/MsUpload/images/msu-upload-icon.png | Bin 0 -> 439 bytes www/wiki/extensions/MsUpload/package.json | 13 + www/wiki/extensions/MsUpload/plupload/Moxie.swf | Bin 0 -> 29349 bytes www/wiki/extensions/MsUpload/plupload/Moxie.xap | Bin 0 -> 62643 bytes .../MsUpload/plupload/plupload.full.min.js | 28 ++ www/wiki/extensions/MsUpload/version | 4 + 89 files changed, 2401 insertions(+) create mode 100644 www/wiki/extensions/MsUpload/.gitignore create mode 100644 www/wiki/extensions/MsUpload/.gitreview create mode 100644 www/wiki/extensions/MsUpload/.jscsrc create mode 100644 www/wiki/extensions/MsUpload/.jshintrc create mode 100644 www/wiki/extensions/MsUpload/.phpcs.xml create mode 100644 www/wiki/extensions/MsUpload/CODE_OF_CONDUCT.md create mode 100644 www/wiki/extensions/MsUpload/COPYING create mode 100644 www/wiki/extensions/MsUpload/Gruntfile.js create mode 100644 www/wiki/extensions/MsUpload/MsUpload.body.php create mode 100644 www/wiki/extensions/MsUpload/MsUpload.css create mode 100644 www/wiki/extensions/MsUpload/MsUpload.js create mode 100644 www/wiki/extensions/MsUpload/MsUpload.php create mode 100644 www/wiki/extensions/MsUpload/README.md create mode 100644 www/wiki/extensions/MsUpload/composer.json create mode 100644 www/wiki/extensions/MsUpload/extension.json create mode 100644 www/wiki/extensions/MsUpload/gitinfo.json create mode 100644 www/wiki/extensions/MsUpload/i18n/af.json create mode 100644 www/wiki/extensions/MsUpload/i18n/ar.json create mode 100644 www/wiki/extensions/MsUpload/i18n/bcl.json create mode 100644 www/wiki/extensions/MsUpload/i18n/bn.json create mode 100644 www/wiki/extensions/MsUpload/i18n/ca.json create mode 100644 www/wiki/extensions/MsUpload/i18n/ckb.json create mode 100644 www/wiki/extensions/MsUpload/i18n/cu.json create mode 100644 www/wiki/extensions/MsUpload/i18n/de.json create mode 100644 www/wiki/extensions/MsUpload/i18n/el.json create mode 100644 www/wiki/extensions/MsUpload/i18n/eml.json create mode 100644 www/wiki/extensions/MsUpload/i18n/en-ca.json create mode 100644 www/wiki/extensions/MsUpload/i18n/en.json create mode 100644 www/wiki/extensions/MsUpload/i18n/es.json create mode 100644 www/wiki/extensions/MsUpload/i18n/eu.json create mode 100644 www/wiki/extensions/MsUpload/i18n/fa.json create mode 100644 www/wiki/extensions/MsUpload/i18n/fi.json create mode 100644 www/wiki/extensions/MsUpload/i18n/fr.json create mode 100644 www/wiki/extensions/MsUpload/i18n/ga.json create mode 100644 www/wiki/extensions/MsUpload/i18n/gl.json create mode 100644 www/wiki/extensions/MsUpload/i18n/he.json create mode 100644 www/wiki/extensions/MsUpload/i18n/hi.json create mode 100644 www/wiki/extensions/MsUpload/i18n/ht.json create mode 100644 www/wiki/extensions/MsUpload/i18n/ia.json create mode 100644 www/wiki/extensions/MsUpload/i18n/it.json create mode 100644 www/wiki/extensions/MsUpload/i18n/ja.json create mode 100644 www/wiki/extensions/MsUpload/i18n/kn.json create mode 100644 www/wiki/extensions/MsUpload/i18n/ko.json create mode 100644 www/wiki/extensions/MsUpload/i18n/ksh.json create mode 100644 www/wiki/extensions/MsUpload/i18n/ku-latn.json create mode 100644 www/wiki/extensions/MsUpload/i18n/lb.json create mode 100644 www/wiki/extensions/MsUpload/i18n/lt.json create mode 100644 www/wiki/extensions/MsUpload/i18n/lv.json create mode 100644 www/wiki/extensions/MsUpload/i18n/mk.json create mode 100644 www/wiki/extensions/MsUpload/i18n/mr.json create mode 100644 www/wiki/extensions/MsUpload/i18n/mwl.json create mode 100644 www/wiki/extensions/MsUpload/i18n/nl.json create mode 100644 www/wiki/extensions/MsUpload/i18n/nn.json create mode 100644 www/wiki/extensions/MsUpload/i18n/olo.json create mode 100644 www/wiki/extensions/MsUpload/i18n/om.json create mode 100644 www/wiki/extensions/MsUpload/i18n/pl.json create mode 100644 www/wiki/extensions/MsUpload/i18n/ps.json create mode 100644 www/wiki/extensions/MsUpload/i18n/pt-br.json create mode 100644 www/wiki/extensions/MsUpload/i18n/pt.json create mode 100644 www/wiki/extensions/MsUpload/i18n/qqq.json create mode 100644 www/wiki/extensions/MsUpload/i18n/ru.json create mode 100644 www/wiki/extensions/MsUpload/i18n/sd.json create mode 100644 www/wiki/extensions/MsUpload/i18n/shn.json create mode 100644 www/wiki/extensions/MsUpload/i18n/sq.json create mode 100644 www/wiki/extensions/MsUpload/i18n/su.json create mode 100644 www/wiki/extensions/MsUpload/i18n/sv.json create mode 100644 www/wiki/extensions/MsUpload/i18n/tr.json create mode 100644 www/wiki/extensions/MsUpload/i18n/uk.json create mode 100644 www/wiki/extensions/MsUpload/i18n/zh-hans.json create mode 100644 www/wiki/extensions/MsUpload/i18n/zh-hant.json create mode 100644 www/wiki/extensions/MsUpload/images/msu-close.png create mode 100644 www/wiki/extensions/MsUpload/images/msu-error.png create mode 100644 www/wiki/extensions/MsUpload/images/msu-globe.png create mode 100644 www/wiki/extensions/MsUpload/images/msu-loading.png create mode 100644 www/wiki/extensions/MsUpload/images/msu-ok.png create mode 100644 www/wiki/extensions/MsUpload/images/msu-progress-stripe.png create mode 100644 www/wiki/extensions/MsUpload/images/msu-thumb-audio.png create mode 100644 www/wiki/extensions/MsUpload/images/msu-thumb-document.png create mode 100644 www/wiki/extensions/MsUpload/images/msu-thumb-image.png create mode 100644 www/wiki/extensions/MsUpload/images/msu-thumb-pdf.png create mode 100644 www/wiki/extensions/MsUpload/images/msu-thumb-video.png create mode 100644 www/wiki/extensions/MsUpload/images/msu-upload-button.png create mode 100644 www/wiki/extensions/MsUpload/images/msu-upload-icon.png create mode 100644 www/wiki/extensions/MsUpload/package.json create mode 100644 www/wiki/extensions/MsUpload/plupload/Moxie.swf create mode 100644 www/wiki/extensions/MsUpload/plupload/Moxie.xap create mode 100644 www/wiki/extensions/MsUpload/plupload/plupload.full.min.js create mode 100644 www/wiki/extensions/MsUpload/version diff --git a/www/wiki/LocalSettings.Reevo.php b/www/wiki/LocalSettings.Reevo.php index 5e0f574f..c080b226 100644 --- a/www/wiki/LocalSettings.Reevo.php +++ b/www/wiki/LocalSettings.Reevo.php @@ -283,6 +283,16 @@ $wgUploadWizardConfig = array( 'fileExtensions' => $wgFileExtensions // omitting this may cause errors ); +## MsUpload + +wfLoadExtension( 'MsUpload' ); +$wgMSU_useDragDrop = true; // Should the drag & drop area be shown? (Not set by default) +$wgMSU_showAutoCat = true; // Files uploaded while editing a category page will be added to that category +$wgMSU_checkAutoCat = true; // Whether the checkbox for adding a category to a page is checked by default +$wgMSU_useMsLinks = false; // Insert links in Extension:MsLinks style? +$wgMSU_confirmReplace = true; // Show the "Replace file?" checkbox +$wgMSU_imgParams = 'thumb|none'; // Any image parameter separated by a semicolon. Examples are: {width}px, left, right, center, none, border, frameless, frame, thumb etc etc + ###### Extensiones propias ## ImportarPerfil diff --git a/www/wiki/extensions/MsUpload/.gitignore b/www/wiki/extensions/MsUpload/.gitignore new file mode 100644 index 00000000..bb262bec --- /dev/null +++ b/www/wiki/extensions/MsUpload/.gitignore @@ -0,0 +1,7 @@ +*~ +*.kate-swp +.*.swp +.DS_Store +/composer.lock +/node_modules/ +/vendor/ diff --git a/www/wiki/extensions/MsUpload/.gitreview b/www/wiki/extensions/MsUpload/.gitreview new file mode 100644 index 00000000..9a08d4bd --- /dev/null +++ b/www/wiki/extensions/MsUpload/.gitreview @@ -0,0 +1,6 @@ +[gerrit] +host=gerrit.wikimedia.org +port=29418 +project=mediawiki/extensions/MsUpload.git +track=1 +defaultrebase=0 diff --git a/www/wiki/extensions/MsUpload/.jscsrc b/www/wiki/extensions/MsUpload/.jscsrc new file mode 100644 index 00000000..5e5db932 --- /dev/null +++ b/www/wiki/extensions/MsUpload/.jscsrc @@ -0,0 +1,7 @@ +{ + "preset": "wikimedia", + "requireVarDeclFirst": null, + "requireMultipleVarDecl": null, + "requireCamelCaseOrUpperCaseIdentifiers": null, + "disallowEmptyBlocks": null +} diff --git a/www/wiki/extensions/MsUpload/.jshintrc b/www/wiki/extensions/MsUpload/.jshintrc new file mode 100644 index 00000000..df102628 --- /dev/null +++ b/www/wiki/extensions/MsUpload/.jshintrc @@ -0,0 +1,25 @@ +{ + // Enforcing + "bitwise": true, + "eqeqeq": true, + "freeze": true, + "latedef": true, + "noarg": true, + "nonew": true, + "undef": true, + "unused": true, + "strict": false, + + // Relaxing + "es5": false, + + // Environment + "browser": true, + "jquery": true, + + "globals": { + "mediaWiki": false, + "o": false, + "plupload": false + } +} diff --git a/www/wiki/extensions/MsUpload/.phpcs.xml b/www/wiki/extensions/MsUpload/.phpcs.xml new file mode 100644 index 00000000..b00fdb8f --- /dev/null +++ b/www/wiki/extensions/MsUpload/.phpcs.xml @@ -0,0 +1,13 @@ + + + + + + + + + . + + + vendor + diff --git a/www/wiki/extensions/MsUpload/CODE_OF_CONDUCT.md b/www/wiki/extensions/MsUpload/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..d8e5d087 --- /dev/null +++ b/www/wiki/extensions/MsUpload/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/MsUpload/COPYING b/www/wiki/extensions/MsUpload/COPYING new file mode 100644 index 00000000..d159169d --- /dev/null +++ b/www/wiki/extensions/MsUpload/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/www/wiki/extensions/MsUpload/Gruntfile.js b/www/wiki/extensions/MsUpload/Gruntfile.js new file mode 100644 index 00000000..c12e6120 --- /dev/null +++ b/www/wiki/extensions/MsUpload/Gruntfile.js @@ -0,0 +1,37 @@ +/*jshint node:true */ +module.exports = function ( grunt ) { + grunt.loadNpmTasks( 'grunt-contrib-jshint' ); + grunt.loadNpmTasks( 'grunt-jsonlint' ); + grunt.loadNpmTasks( 'grunt-banana-checker' ); + grunt.loadNpmTasks( 'grunt-jscs' ); + + grunt.initConfig( { + jshint: { + options: { + jshintrc: true + }, + all: [ + '**/*.js', + '!node_modules/**', + '!vendor/**', + '!plupload/**' + ] + }, + jscs: { + src: '<%= jshint.all %>' + }, + banana: { + all: 'i18n/' + }, + jsonlint: { + all: [ + '**/*.json', + '!node_modules/**', + '!vendor/**' + ] + } + } ); + + grunt.registerTask( 'test', [ 'jshint', 'jscs', 'jsonlint', 'banana' ] ); + grunt.registerTask( 'default', 'test' ); +}; diff --git a/www/wiki/extensions/MsUpload/MsUpload.body.php b/www/wiki/extensions/MsUpload/MsUpload.body.php new file mode 100644 index 00000000..8536729c --- /dev/null +++ b/www/wiki/extensions/MsUpload/MsUpload.body.php @@ -0,0 +1,74 @@ +addJsConfigVars( [ + 'wgFileExtensions' => array_values( array_unique( $wgFileExtensions ) ), + ] ); + + if ( $wgMSU_imgParams ) { + $wgMSU_imgParams = '|' . $wgMSU_imgParams; + } + + $msuVars = [ + 'scriptPath' => $wgScriptPath, + 'flash_swf_url' => $wgMSU_flash_swf_url, + 'silverlight_xap_url' => $wgMSU_silverlight_xap_url, + 'useDragDrop' => $wgMSU_useDragDrop, + 'showAutoCat' => $wgMSU_showAutoCat, + 'checkAutoCat' => $wgMSU_checkAutoCat, + 'useMsLinks' => $wgMSU_useMsLinks, + 'confirmReplace' => $wgMSU_confirmReplace, + 'imgParams' => $wgMSU_imgParams, + 'uploadsize' => $wgMSU_uploadsize, + ]; + + $wgOut->addJsConfigVars( 'msuVars', $msuVars ); + $wgOut->addModules( 'ext.MsUpload' ); + + return true; + } + + static function saveCat( $filename, $category ) { + global $wgContLang, $wgUser; + $mediaString = strtolower( $wgContLang->getNsText( NS_FILE ) ); + $title = $mediaString . ':' . $filename; + $text = "\n[[" . $category . "]]"; + $wgEnableWriteAPI = true; + $params = new FauxRequest( [ + 'action' => 'edit', + 'section' => 'new', + 'title' => $title, + 'text' => $text, + 'token' => $wgUser->editToken(), // $token."%2B%5C", + ], true, $_SESSION ); + $enableWrite = true; + $api = new ApiMain( $params, $enableWrite ); + $api->execute(); + $data = $api->getResult()->getResultData(); + return $mediaString; + + /* The code below does the same and is better, + but for some reason it doesn't update the categorylinks table, so it's no good + global $wgContLang, $wgUser; + $title = Title::newFromText( $filename, NS_FILE ); + $page = new WikiPage( $title ); + $text = $page->getText(); + $text .= "\n\n[[" . $category . "]]"; + $summary = wfMessage( 'msu-comment' ); + $status = $page->doEditContent( $text, $summary, EDIT_UPDATE, false, $wgUser ); + $value = $status->value; + $revision = $value['revision']; + $page->doEditUpdates( $revision, $wgUser ); + return true; + */ + } +} diff --git a/www/wiki/extensions/MsUpload/MsUpload.css b/www/wiki/extensions/MsUpload/MsUpload.css new file mode 100644 index 00000000..49120121 --- /dev/null +++ b/www/wiki/extensions/MsUpload/MsUpload.css @@ -0,0 +1,250 @@ +#msupload-container { + display: inline-block; + padding: 3px; + line-height: normal; + vertical-align: middle; +} + +#msupload-container.start-loading { + background: url(images/msu-loading.png) no-repeat 5px 5px; +} + +#msupload-select { + background: url(images/msu-upload-button.png) no-repeat 0; + width: 20px; + height: 20px; + cursor: pointer; +} + +#msupload-select:hover { + opacity: 0.7; + zoom: 1; +} + +#msupload-div { + padding: 0; + background: #657d91; + border: 1px solid #aaa; + z-index: 0; +} + +#msupload-div a { + cursor: pointer; +} + +#msupload-div.nodragdrop { + border: none; +} + +#msupload-dropzone { + margin: 3px; + padding: 5px; + border: 1px dashed #ddd; + text-align: center; + height: 20px; + color: #fff; +} + +.drop-over { + background: #7092ad; + border: 3px dashed #aaa; +} + +#msupload-list { + list-style: none; + margin: 0; + padding: 0; +} + +#msupload-list .file { + background: #dee9e9; + border-top: 1px solid #657d91; + margin: 0; + padding: 10px; + position: relative; +} + +#msupload-list .green { + background: #a8dba8; +} + +#msupload-list .yellow { + background: #f9cdad; +} + +#msupload-list .red { + background: #f9cdad; +} + +#msupload-list .file .file-type { + padding: 10px; + background: url(images/msu-globe.png) no-repeat 0 0; + overflow: hidden; + position: absolute; +} + +#msupload-list .file .image { + background: url(images/msu-thumb-image.png) no-repeat 0 0; +} + +#msupload-list .file .video { + background: url(images/msu-thumb-video.png) no-repeat 0 0; +} + +#msupload-list .file .pdf { + background: url(images/msu-thumb-pdf.png) no-repeat 0 0; +} + +#msupload-list .file .document { + background: url(images/msu-thumb-document.png) no-repeat 0 0; +} + +#msupload-list .file .ok { + background: url(images/msu-ok.png) no-repeat 0 0; +} + +#msupload-list .file .error { + background: url(images/msu-error.png) no-repeat 0 0; +} + +#msupload-list .file .file-load { + background: none; + cursor: pointer; + display: block; + margin: 0; + padding: 0; + top: 5px; left: 5px; +} + +#msupload-list .file .file-load canvas { + display: block; + max-width: 30px; + min-height: 30px; +} + +#msupload-list .file .file-name { + font-weight: bold; + margin-left: 35px; + padding: 3px; +} + +#msupload-list .file .file-name:hover { + padding: 3px; + background-color: white; +} + +#msupload-list .file .file-size { + color: #666; + margin: 0 10px; +} + + +#msupload-list .file-progress-state { + float: right; +} + +#msupload-list .file .file-cancel { + background: url(images/msu-close.png) no-repeat 0 0; + cursor: pointer; + float: right; + height: 20px; + margin-left: 5px; + padding: 5px 10px; +} + +#msupload-list .file .file-cancel:hover { + opacity: 0.7; +} + +#msupload-list .file .file-loading { + background: url(images/msu-loading.png) no-repeat 0 0; + margin: 0 5px; + padding: 1px 8px; +} + +#msupload-list .file .file-warning { + color: #514721; + font-size: 80%; + padding: 2px 5px; + font-style: italic; +} + +#msupload-list .file .file-warning p { + display: inline; +} + +#msupload-list .file .file-warning div.thumb { + display: none; + position: absolute; + right: 10px; +} +#msupload-list .file .file-warning div.thumbinner { + background: none; + border: none; + overflow: visible; + padding: 0; +} + +#msupload-list .file .file-name-input { + background: white; + border: none; + display: inline; + font: inherit; + font-weight: bold; + line-height: normal; + margin-left: 35px; + outline: none; + padding: 3px; +} + +#msupload-list .file .file-extension { + font-weight: bold; +} + +#msupload-list .file .file-size { + color: #666; +} + +#msupload-list .file .file-error { + color: #8a1f11; +} + +.msupload-check-index { + float: right; + margin-top: 7px; +} + +.msupload-check-span { + float: right; + color: #444; +} + +#msupload-bottom { + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + padding: 8px; + height: 22px; +} + +#msupload-bottom a { + color: white; + font-weight: bold; + margin-right: 20px; +} + +#msupload-bottom #msupload-files { + padding: 3px 0 3px 25px; + background: url(images/msu-upload-icon.png) no-repeat 0 0; + height: 12px; +} + +#msupload-bottom .spacer { + border-left: 1px solid #ccc; + margin: 0 8px; + width: 1px; + background-color: #ccc; +} + +#wikiEditor-section-advanced .options { + z-index: 1; +} + diff --git a/www/wiki/extensions/MsUpload/MsUpload.js b/www/wiki/extensions/MsUpload/MsUpload.js new file mode 100644 index 00000000..7836e22d --- /dev/null +++ b/www/wiki/extensions/MsUpload/MsUpload.js @@ -0,0 +1,510 @@ +( function ( $, mw ) { + var msuVars = mw.config.get( 'msuVars' ); + var MsUpload = { + + fileError: function ( uploader, file, errorText ) { + file.li.warning.text( errorText ); + file.li.addClass( 'yellow' ); + file.li.type.addClass( 'error' ); + file.li.click( function () { // Remove li at click + file.li.fadeOut( 'fast', function () { + $( this ).remove(); + uploader.trigger( 'CheckFiles' ); + } ); + } ); + }, + + galleryArray: [], + insertGallery: function () { + var galleryText = 'File:' + MsUpload.galleryArray.join( '\nFile:' ); + MsUpload.insertText( '\n' + galleryText + '\n\n' ); + }, + + filesArray: [], + insertFiles: function () { + MsUpload.insertText( '[[File:' + MsUpload.filesArray.join( ']]\n[[File:' ) + ']]\n' ); + }, + + insertLinks: function () { + if ( msuVars.useMsLinks === true ) { + MsUpload.insertText( '*{{#l:' + MsUpload.filesArray.join( '}}\n*{{#l:' ) + '}}\n' ); + } else { + MsUpload.insertText( '*[[:File:' + MsUpload.filesArray.join( ']]\n*[[:File:' ) + ']]\n' ); + } + }, + + /** + * Add text to selection in the main textarea. + * + * @param {string} text + */ + insertText: function ( text ) { + $( '#wpTextbox1' ).textSelection( 'encapsulateSelection', { pre: text } ); + }, + + unconfirmedReplacements: 0, + warningText: function ( fileItem, warning, uploader ) { + switch ( warning ) { + case '': + case ' ': + case ' ': + $( fileItem.warning ).empty() + .siblings( '.file-name' ).show() + .siblings( '.file-name-input' ).hide() + .siblings( '.file-extension' ).hide(); + break; + + case 'Error: Unknown result from API': + case 'Error: Request failed': + $( fileItem.warning ).text( warning ); + break; + + default: + // IMPORTANT! The code below assumes that every warning not captured by the code above is about a file being replaced + $( fileItem.warning ).html( warning ); + + // We break when the particula warning when a file name starts with IMG + if ( warning.indexOf( 'The name of the file you are uploading begins with' ) === 0 ) { + break; // When the file name starts with "IMG", MediaWiki issues this warning. Display it and continue. + } + if ( warning.indexOf( 'Der Dateiname beginnt mit' ) === 0 ) { + break; // Make it work for German too. Must be done this way because the error response doesn't include an error code. + } + + // When hovering over the link to the file about to be replaced, show the thumbnail + $( fileItem.warning ).find( 'a' ).mouseover( function () { + $( fileItem.warning ).find( 'div.thumb' ).show(); + } ).mouseout( function () { + $( fileItem.warning ).find( 'div.thumb' ).hide(); + } ); + + /** + * If a file with the same name already exists, add a checkbox to confirm the replacement + * This checkbox will also appear when the file name differs only in the file extension + * so the confirmation message must be kept generic enough + */ + if ( msuVars.confirmReplace ) { + + MsUpload.unconfirmedReplacements++; + + var title = $( fileItem.warning ).siblings( '.file-name' ); + + var checkbox = $( '' ).attr( 'type', 'checkbox' ).click( function () { + if ( $( this ).is( ':checked' ) ) { + title.show().next().hide(); + MsUpload.unconfirmedReplacements--; + } else { + title.hide().next().show().select(); + MsUpload.unconfirmedReplacements++; + } + uploader.trigger( 'CheckFiles' ); + } ); + $( '