jenkins-bot has submitted this change and it was merged.

Change subject: Add more file_* variables for file metadata
......................................................................


Add more file_* variables for file metadata

* file_mime
  The MIME type of the file, e.g. 'image/png'.

* file_mediatype
  The media type of the file, one of 'UNKNOWN', 'BITMAP', 'DRAWING',
  'AUDIO', 'VIDEO', 'MULTIMEDIA', 'OFFICE', 'TEXT', 'EXECUTABLE', 'ARCHIVE'.

* file_width
  Width of the image in pixels, or 0 if it's inapplicable (e.g. for
  audio files).

* file_height
  Height of the image in pixels, or 0 if it's inapplicable (e.g. for
  audio files).

* file_bits_per_channel
  Bits per color channel of the image, or 0 if it's inapplicable (e.g.
  for audio files). The most common value is 8.

Bug: T131643
Change-Id: Id355515a18d3674393332c0f4094e34f9f522623
---
M AbuseFilter.class.php
M AbuseFilter.hooks.php
M i18n/en.json
M i18n/qqq.json
4 files changed, 23 insertions(+), 0 deletions(-)

Approvals:
  Aaron Schulz: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/AbuseFilter.class.php b/AbuseFilter.class.php
index 727e8d0..077be0d 100755
--- a/AbuseFilter.class.php
+++ b/AbuseFilter.class.php
@@ -130,6 +130,11 @@
                        'minor_edit' => 'minor-edit',
                        'file_sha1' => 'file-sha1',
                        'file_size' => 'file-size',
+                       'file_mime' => 'file-mime',
+                       'file_mediatype' => 'file-mediatype',
+                       'file_width' => 'file-width',
+                       'file_height' => 'file-height',
+                       'file_bits_per_channel' => 'file-bits-per-channel',
                ),
        );
 
diff --git a/AbuseFilter.hooks.php b/AbuseFilter.hooks.php
index 859ad86..e987618 100755
--- a/AbuseFilter.hooks.php
+++ b/AbuseFilter.hooks.php
@@ -688,6 +688,14 @@
                $vars->setVar( 'file_sha1', $sha1 );
                $vars->setVar( 'file_size', $upload->getFileSize() );
 
+               // UploadBase makes it absolutely impossible to get these out 
of it, even though it knows them.
+               $props = FSFile::getPropsFromPath( $upload->getTempPath() );
+               $vars->setVar( 'file_mime', $props['mime'] );
+               $vars->setVar( 'file_mediatype', 
MimeMagic::singleton()->getMediaType( null, $props['mime'] ) );
+               $vars->setVar( 'file_width', $props['width'] );
+               $vars->setVar( 'file_height', $props['height'] );
+               $vars->setVar( 'file_bits_per_channel', $props['bits'] );
+
                $filter_result = AbuseFilter::filterAction( $vars, $title );
 
                if ( !$filter_result->isOK() ) {
diff --git a/i18n/en.json b/i18n/en.json
index f10ddde..9017b71 100755
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -286,6 +286,11 @@
        "abusefilter-edit-builder-vars-minor-edit": "Whether or not the edit is 
marked as minor",
        "abusefilter-edit-builder-vars-file-sha1": "SHA1 hash of file contents",
        "abusefilter-edit-builder-vars-file-size": "Size of the file in bytes",
+       "abusefilter-edit-builder-vars-file-mime": "MIME type of the file",
+       "abusefilter-edit-builder-vars-file-mediatype": "Media type of the 
file",
+       "abusefilter-edit-builder-vars-file-width": "Width of the file in 
pixels",
+       "abusefilter-edit-builder-vars-file-height": "Height of the file in 
pixels",
+       "abusefilter-edit-builder-vars-file-bits-per-channel": "Bits per color 
channel of the file",
        "abusefilter-filter-log": "Recent filter changes",
        "abusefilter-history": "Change history for Abuse Filter #$1",
        "abusefilter-history-foruser": "Changes by $1",
diff --git a/i18n/qqq.json b/i18n/qqq.json
index 233014b..d5c70f7 100755
--- a/i18n/qqq.json
+++ b/i18n/qqq.json
@@ -297,6 +297,11 @@
        "abusefilter-edit-builder-vars-restrictions-create": "This variable 
contains the level of protection required to create the page. (\"Create\" here 
is not a verb, but an adjective, like \"Create-related protection level\"). 
Abuse filter syntax option in a dropdown from the group 
{{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nSee also 
{{msg-mw|Abusefilter-edit-builder-vars-restrictions-edit}}, 
{{msg-mw|Abusefilter-edit-builder-vars-restrictions-move}}, 
{{msg-mw|Abusefilter-edit-builder-vars-restrictions-upload}}.",
        "abusefilter-edit-builder-vars-restrictions-upload": "This variable 
contains the level of protection required to upload a file. (\"Upload\" here is 
not a verb, but an adjective, like \"Upload-related protection level\"). Abuse 
filter syntax option in a dropdown from the group 
{{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nSee also 
{{msg-mw|Abusefilter-edit-builder-vars-restrictions-edit}}, 
{{msg-mw|Abusefilter-edit-builder-vars-restrictions-move}}, 
{{msg-mw|Abusefilter-edit-builder-vars-restrictions-create}}.",
        "abusefilter-edit-builder-vars-file-size": "This variable contains the 
size of the uploaded file.",
+       "abusefilter-edit-builder-vars-file-mime": "This variable contains the 
MIME type of the file",
+       "abusefilter-edit-builder-vars-file-mediatype": "This variable contains 
the media type of the file",
+       "abusefilter-edit-builder-vars-file-width": "This variable contains the 
width of the file in pixels",
+       "abusefilter-edit-builder-vars-file-height": "This variable contains 
the height of the file in pixels",
+       "abusefilter-edit-builder-vars-file-bits-per-channel": "This variable 
contains the number of bits per color channel of the file",
        "abusefilter-filter-log": "Used as page title.",
        "abusefilter-history": "Used as page title.\n\n\"Change history\" is 
the \"history of changes\"\n\nParameters:\n* $1 - filter ID\n\nIf the filter ID 
is not specified, {{msg-mw|Abusefilter-filter-log}} will be used.",
        "abusefilter-history-foruser": "Parameters:\n* $1 - a link to the 
changing user's page\n* $2 - (Optional) the plain text username",

-- 
To view, visit https://gerrit.wikimedia.org/r/281503
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Id355515a18d3674393332c0f4094e34f9f522623
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/AbuseFilter
Gerrit-Branch: master
Gerrit-Owner: Bartosz DziewoƄski <[email protected]>
Gerrit-Reviewer: Aaron Schulz <[email protected]>
Gerrit-Reviewer: Brian Wolff <[email protected]>
Gerrit-Reviewer: Jackmcbarn <[email protected]>
Gerrit-Reviewer: Legoktm <[email protected]>
Gerrit-Reviewer: Se4598 <[email protected]>
Gerrit-Reviewer: Siebrand <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to