Commit graph

94 commits

Author SHA1 Message Date
Umherirrender
a9007e8baf Add missing & to @param documentation to match functon call
Change-Id: I81e68310abcbc59964b22e0e74842d509f6b1fb9
2017-08-11 18:47:46 +02:00
jenkins-bot
64b83bdb3a Merge "Added a separate error message for mkdir failures" 2017-08-09 23:24:13 +00:00
Lee Bousfield
b892e4691d Added a separate error message for mkdir failures
Bug: T125595
Change-Id: Id2daaad45c594d6f6265120039ca30742472987e
2017-06-13 15:05:18 +00:00
Brad Jorsch
645266fe3e Fix MediaTransformError message handling
Give access to the raw Message instead of only to the HTML or text in
the RequestContext language.

Pass Message objects instead of strings from calling ->text() as the
parameters of Messages so if the outer Message's language is changed
things get parsed sensibly.

Change-Id: Ibd6c1217b6fed839c888b66e02900f8e21ed3e6b
2016-11-30 10:56:03 -05:00
Kunal Mehta
61adc1e146 Use namespaced ScopedCallback
The un-namespaced \ScopedCallback is deprecated.

Change-Id: Ie014d5a775ead66335a24acac9d339915884d1a4
2016-10-17 15:46:05 -07:00
Aaron Schulz
ff5abb66b4 Migrate callers to new MWFileProps::getPropsFromPath() method
* FSFile should not be responsible for handling this much logic.
* Make more MediaHandler classes aware of the fact that an object
  other than File might be passed in. Use the FSFile instead of a
  useless empty stdClass object.
* Also added more fields to FSFile::placeholderProps to make it
  more complete.

Change-Id: I9fe764b2a7261af507c6555e6a57273cf7d00d36
2016-09-22 00:33:46 +00:00
Reedy
b5656b6953 Many more function case mismatches
Change-Id: I5d3a5eb8adea1ecbf136415bb9fd7a162633ccca
2016-03-19 00:20:58 +00:00
Ricordisamoa
7972c460ed Add missing 'public' keywords to some MediaHandler methods
* getParamMap
* validateParam
* makeParamString
* parseParamString
* canRender
* mustRender
* isMultiPage

Change-Id: I0c00a61abf9be400dca5407370ca2c232d57ae17
2016-02-24 00:47:02 +01:00
Kunal Mehta
6e9b4f0e9c Convert all array() syntax to []
Per wikitech-l consensus:
 https://lists.wikimedia.org/pipermail/wikitech-l/2016-February/084821.html

Notes:
* Disabled CallTimePassByReference due to false positives (T127163)

Change-Id: I2c8ce713ce6600a0bb7bf67537c87044c7a45c4b
2016-02-17 01:33:00 -08:00
Aaron Schulz
84c4e7597e Ignore some ScopedCallback IDE warnings
Change-Id: Iefe24ee5dae90d70c2acaaae9dc5d44c1758d53a
2015-07-15 14:13:42 -07:00
Kunal Mehta
f6e5079a69 Use mediawiki/at-ease library for suppressing warnings
wfSuppressWarnings() and wfRestoreWarnings() were split out into a
separate library. All usages in core were replaced with the new
functions, and the wf* global functions are marked as deprecated.

Additionally, some uses of @ were replaced due to composer's autoloader
being loaded even earlier.

Ie1234f8c12693408de9b94bf6f84480a90bd4f8e adds the library to
mediawiki/vendor.

Bug: T100923
Change-Id: I5c35079a0a656180852be0ae6b1262d40f6534c4
2015-06-11 18:49:29 +00:00
Kevin Israel
bffd2cca64 Change case of class names to match declarations
Found by running a script that uses PHP's tokenizer extension to
extract class declarations and uses, then compare them:

* AllMessagesTablePager
* SVGReader
* XML

Change-Id: I960aa05b2127722ecc5ae8b165549f9e1077d3c1
2015-04-29 19:01:07 +00:00
Tony Thomas
1f1cdeebbf Corrected typos in function name unpackMetaData and getMetaData
Bug: T95873
Change-Id: I71dffaaed24c983ce07bc02f806294337ca086e2
2015-04-13 10:13:36 +05:30
Niklas Laxström
82e9fbc174 Replace mb_strtolower with strtolower
Function mb_strtolower is not guaranteed to be present. In this case
we are dealing with language codes, which are ASCII, for which there
is no need to use multibyte version in the first place.

Bug: T55912
Change-Id: I009bab2ff03b22142d35c8be60711266ca3683c1
2015-03-25 09:53:40 +01:00
umherirrender
dc1b084079 Pass context to FormatMetadata class on ImagePage
This avoids on image page:
ContextSource::getContext (FormatMetadata): called and $context is null.
Using RequestContext::getMain() for sanity

Change-Id: I92774e1a88f03d44967d1797c6c2b8a31c1b10fc
2015-01-30 20:31:54 +01:00
Aaron Schulz
6921770414 Updated some try-catch statements: MWException -> Exception
Change-Id: I76601a86e30f4984e3b1a8c8ec5ef5a0f652433a
2015-01-09 17:20:22 -08:00
Aaron Schulz
4ff8136807 Removed remaining profile calls
Change-Id: I31c81c78715048004fc8fca0f27d09c1fa71c118
2015-01-08 02:49:33 -08:00
umherirrender
c2de24efcd Add missing @param to function docs
Change-Id: Ib7ac94d05a04490f25dfd40b46b27973cbab582c
2014-08-14 19:38:57 +00:00
umherirrender
861617ca24 Fixed spacing
- Removed spaces around array index
- Changed else if to elseif
- Added space after foreach/if/function
- include_once is not a function

Change-Id: I7745ae791d1b7e60cfebec6d268513a9cc071bdd
2014-08-04 11:51:22 +02:00
jenkins-bot
d9ec6b146b Merge "Have SvgHandler create a directory for its RSVG input files" 2014-07-29 16:49:43 +00:00
umherirrender
dd8921c9d9 Cleanup some docs (includes/[m-r])
- Swap "$variable type" to "type $variable"
- Added missing types
- Fixed spacing inside docs
- Makes beginning of @param/@return/@var/@throws in capital
- Changed some types to match the more common spelling

Change-Id: I8ebfbcea0e2ae2670553822acedde49c1aa7e98d
2014-07-24 19:43:25 +02:00
Aaron Schulz
1bde7bdd49 Have SvgHandler create a directory for its RSVG input files
* This avoids needing to patch rsvg on 14.04

bug: 67402
Change-Id: I81ac0c6c62003ed5a8e33694751484498e6e7277
2014-07-14 09:38:36 -07:00
Brian Wolff
3a4bfb597e Fix misnamed SVGHandler::canAnimateThumb()
Caused the animation warning to not be present on
image description pages

Also add unit tests. Since I'm adding an animated svg file for
this unit test, also add a metadata extraction test for animated
svgs, since we're missing one.

Change-Id: Id03e1a0e1c151d3c575a695a42c54b709187d10a
follow-up: 876128f8c9
2014-06-10 21:15:53 -03:00
umherirrender
8ad1c92441 Fixed some @params documentation (includes/*)
Swapped some "$var type" to "type $var" or added missing types
before the $var. Changed some other types to match the more common
spelling. Makes beginning of some text in captial.
Also added some missing @param.

Change-Id: I7f605aa9e117b5fd80d9b1440864fe526d2b14a5
2014-04-20 21:16:57 +02:00
Brian Wolff
acb83faa0a Make SVG language selector "use default lang" actually work
Also have ImagePage check that the given language is actually
valid, before trying to transform with that language.

Change-Id: I62b8035b70f5cb3388f4c2a844f3bc1c7c92d01e
2013-12-17 23:57:26 +00:00
Siebrand Mazeland
a521ef001e Make visibleMetadataField protected
Related patch sets:
* https://gerrit.wikimedia.org/r/#/c/99429/ Extension PagedTiffHandler

Change-Id: I0441fdf1ce1e06688f16c62e1993bb05911b45bc
2013-12-14 05:33:33 +00:00
umherirrender
661c5c3f01 Fixed spacing
- Added space after foreach
- Added/Removed spaces inside arrays

Change-Id: Ia8775824fa33976b1a4dab43e07f1bff0c57479c
2013-12-08 20:31:47 +01:00
jenkins-bot
4e2754c456 Merge "Add UI to discover translated SVG files." 2013-12-06 23:34:48 +00:00
Brian Wolff
d0c0bad56d Add UI to discover translated SVG files.
Currently we support rendering SVGs in multiple languages,
but there is no mechanism for users to discover what languages
a file is available in. Show this information on the image page.

At the moment, if unspecified we always default the language to
english (I believe to avoid mass cache splitting, especially
if most languages wouldn't have a translation of the file in
their language). This code was written in such a way so that
this assumption should be changable in the future if we so
desire.

Long term, Jarry has a super cool svg translation extension
which would take over some of this. However I still believe
we should have an interface for this in core, since we do
support the different language renderings in core.

Change-Id: I84506436514e09d71200aa2db3932aa001b55c71
2013-12-06 20:30:31 -04:00
Brian Wolff
1b17b124e1 Fix SvgHandler::getScriptParams to not give warnings.
Change-Id: I664e4667bdcff89c1c5ee01a11b723a36212a57f
2013-12-06 19:45:51 -04:00
Siebrand Mazeland
37bc4ec3dd Update documentation for media related classes
Change-Id: I7a9c8d59f88c68dc3835cb8a18f22a77cd7890fc
2013-12-06 23:03:06 +01:00
Antoine Musso
96ddd951fb generalize BitmapHandler::logErrorForExternalProcess
BitmapHandler::logErrorForExternalProcess is a wrapper around
wfDebugLog( 'thumbnail' ). It got copy pasted from some other class at
one point.

This patch move the method up to general class MediaHandler and makes
other child class uses it.  The method will thus be available to
extensions such as TimedMediaHandler.

The reason I am doing that is that trim($err) generates a copy of $err
which causes a memory allocation fatal error whenever $err is larger
than the remaining memory allocatable.  The patch will let us fix the
bug by only altering one part of the code.

bug: 57985
Change-Id: I5657f07d6e2cca05d53f2a5c30ec23622c171343
2013-12-06 18:21:58 +01:00
Siebrand Mazeland
c7dbaa0f58 Update formatting for media related classes
Change-Id: Iaa81af5b65a650222fa65bf8c368e4f1ec3ce9c0
2013-12-05 11:05:05 +01:00
Brian Wolff
2cbd926e34 Add an interface for getting "standard" file metadata.
Currently file metadata is handler dependant. However they usually
end up extracting the same type of data (author, date, etc) plus
one or two handler specific things. This adds a handler independent
interface for getting metadata that is likely to be common for all
types of file (At the moment, this is the exif/iptc/xmp information)

This commit used to also contain stuff adding parser functions,
which is now split to its own commit. This commit is needed
by a bunch of other commits, in particular I0d957891e0.

Change-Id: I43d9252f69dc5b8ba0b848cf40aa1b97329c85ae
2013-10-29 16:12:07 +00:00
Brian Wolff
37e32abb0e Add way of including all stderr output when executing command
This adds an option to wfShellExec (and convenience function
wfShellExecWithStderr), to make sure all stderr is duplicated
to stdout. The previous method of doing this was to include
2>&1 on the command line. However this did not redirect errors
from limit.sh (For example cgroups not set up, or if a command
reached the file size limit set by ulimit).

Not sure if this is the best approach, but it seems to work well,
and compared to most other approaches I considered, actually gets
the ulimit errors redirected too.

Currently some files fail to render with no error whatsoever,
hopefully this patch will make what went wrong more obvious.

Also fix a comment in wfShellExec that was incorrect (trailing \n),
and make the initial value of the return value variable be 200, so
if there's ever a bug in php where its not being set properly, it
would be immediately obvious what is happening.

Bug: 53824
Change-Id: I833aeb3ab9da726ecb97331369ea187daad7e795
2013-09-28 17:48:37 -03:00
umherirrender
4d4716ce66 Do not show empty metadata section on svgs
The SvgHandler does not output all metadata, that means the returned
array can be empty. In this case return false to indicate that the
metadata section should not be added on the image description page.

Change-Id: I989154dbaaaafb2e924838c990e30a9ffe6842a9
2013-08-24 19:51:07 +02:00
umherirrender
24bfde2710 Fix spacing and break some lines
Change-Id: Ia57685d8858e02e399ad5c75ce64d12609d340ac
2013-08-24 17:06:25 +02:00
jarry1250
3f5d41d413 The language used to render SVGs should be definable
See bug for context.

The implementation is slightly untidy because I've written it so
as to avoid invalidating the existing SVG thumbs -- there will be
no immediate difference (visual/performance/other) as a result of
this.

Tested by me in both...
* [[File:Example.svg|thumb|lang=fr]] AND
* http://example.org/w/index.php?title=File:Example.svg&lang=fr
...modes. Example file on
https://commons.wikimedia.org/wiki/File:Gerrit_patchset_25838_test.svg

Added parser tests.

Bug: 32987
Change-Id: I4cadf96ecd5e169a88ad468a0478d355db980103
2013-06-05 19:28:03 +00:00
Timo Tijhof
4bd5471ca3 docs: Remove odd colons after @todo
Most were this way already:
https://doc.wikimedia.org/mediawiki-core/master/php/html/todo.html

Ran a find/replace on the odd ones. Also made them all
lower case.

Change-Id: I70c6a69344ddebc603e9a1c1d87e3cc4f4f4c560
2013-05-15 06:23:40 +00:00
umherirrender
6f79eef473 Fixed spacing around parenthesis in includes
Change-Id: Ie8adc00f4ee8ecec4554e584c18d5d2073415397
2013-04-28 15:50:07 +00:00
umherirrender
ee31d37821 Fixed spacing in context/installer/media/templates/upload folder
Added spaces before if, foreach
Added some braces for one line statements

Change-Id: I9761be9fa47adc3554852a97b19792b4648466ad
2013-04-21 06:22:06 +00:00
umherirrender
570dda0455 fix some spacing
Change-Id: I88e73d47a552918880514d88a876296a6cb80d88
2013-02-04 20:09:18 +00:00
Aaron Schulz
502b0a22eb Store "bad metadata" placeholder metadata for SVGs.
* This prevents excessive download (getLocalReference()) and metadata
  extraction operations to keep reloading metadata again and again.
* This also avoids DB load and lock timeouts due to constants UPDATEs.

Change-Id: I9d35467d3a5e23a07e880dbdf59fccda4b598faf
2012-11-28 09:01:53 +00:00
umherirrender
e5f5e95137 Fix indentation whitespace errors
Change-Id: Ie268bee2098c589c050e1b5b0e93fe1b3feca86f
2012-10-26 17:42:13 +02:00
Siebrand Mazeland
d4b046a893 Update docs for return and exception info
* Removed some inline tabs in the process.
* IDE fixed some incorrect leading spaces, too.

Change-Id: Ic9303eff6db4424ac3f1fa2816839692b43e6190
2012-10-09 09:41:58 +00:00
jarry1250
2ae2c36154 Convert core to use new ThumbnailImage() constructor
See change #21321 for the introduction of that new constructor
and the reasoning behind it.

Change-Id: I15843fab4217333077e16ae187e7c09f76d47e58
2012-09-01 17:12:48 +01:00
Brian Wolff
3c286bde96 Make the width/height in the SVG metadata box be in the SVG's units
This was suggested by a user at commons. The width/height in px is really
a MediaWiki thingy needed for rendering the image, from a metadata prespective
its the original units (aka the image should be 10cm, etc) that is
the information associated with the file.

The dimensions in pixels is still specified in the long description
of the image (the subtitle directly under the image).

Note: After gerrit change Ic58efbf2 is merged, this will cause no width or height
to be displayed for svg images with cached metadata, until they
get purged. I think that's perfectly ok as the width is
available elsewhere on the page.

p.s. I added one semi-unrelated code comment in SVGMetadataExtractor.

patchset 2,3: Fix test (hopefully, how come getting an up to date
version of PHPUnit is so difficult)
patchset 4: rebase
patchset 5: fix my accidental remove of a comment

Change-Id: I312fbd1c935a0095644c3b63c4929632c6f6e387
2012-08-23 16:19:28 -03:00
Brian Wolff
876128f8c9 (bug 39297) Show a warning if thumbnails won't be animated
This shows a warning on the image description page if the image
is animated, but thumbnails won't be. This includes
gif images that are too big, but also svg images that are animated,
and APNG files.

The message used is file-no-thumb-animation, but will also
check for file-no-thumb-animation-<image extension> so that
admins can do per image type explanations. Gif files have a built-in
explanation that is slightly different (Since its do to resolution).
Ideally one would pass the resolution limit to the gif message,
but I couldn't think of a clean way of doing that. (Also might be
complex to explain to user. They aren't used to resolution as a single
number but as a width x height type thing).

Moves isAnimatedImage from ImageHandler to MediaHandler, so I could
safely use it from any handler class.

Change-Id: I42ee11d889e0c41de53d0951f55a4338ca55311d
2012-08-21 18:31:51 -07:00
Brian Wolff
9ceb38a9fb (bug 39431) Fix how SVG metadata is displayed (esp. animated status)
(Quite a few of these issues are my fault from 65c27ddeb1)
*All fields were starting as collapsed, which was not the intent of the code
*Animated field used non-existent messages, and displayed a value of "1" instead
   of something meaningful to the user. Both (A)PNG and GIF handlers put
   the animated status in the long description which feels more natural to me
   so move the animated status to the long desc (long desc = subtitle under
   the image on the description page).
*Use human readable file sizes in the long description instead of
   total number of bytes. This bring it in line with the implementation
   in the parent class.
*Correctly mark scripted SVG's as animated. Mostly a moot point
   since we do not allow animated svgs past the upload checks
   but for completeness and for people who totally
   disable all upload verification.
   (Note: This would miss event attributes (onclick, etc)
   I didn't see much point in adding that since almost
   always there will be a script tag)

Patchset 3: trailing whitespace (d'oh)
patchset 4: rebasing so jenkins is happy

Change-Id: Ic58efbf2bf1e4b14e3129e5bce9ea920d9804111
2012-08-21 17:45:53 -07:00
Siebrand Mazeland
4e1ccf0267 Replace deprecated wfMsg* calls with Message class calls.
Doing this in steps of roughly 100 changes per commit, so that it remains reviewable.

Change-Id: I4950fdf8be669b52446290768ece0b8df8399d5d
2012-08-20 22:52:17 +02:00