package STIMG; use strict; use WWW::Mechanize; use HTML::Entities; use URI::Escape; use XML::Simple; use Carp; use STWP; use Perlwikipedia; our @ISA = ('STWP', 'Perlwikipedia'); sub notag { my ($self, $image, $user, $imagetext, $more)=@_; my $usertalk=$user; $usertalk=~s/User:/User talk:/i; if ($imagetext=~/\{\{di/i) {return} $self->edit($image, "{{subst:nld}}\n\n" . $imagetext, "This image has no licensing information"); $image=~s/Image://i; $self->edit($usertalk, $self->get_text($usertalk) . "\n\n{{subst:Di-no license-notice|$image}} NOTE: once you correct this, please remove the tag from the image's page. $more~~~~", "$image may be deleted!"); } sub norat { my ($self, $image, $user, $imagetext, $more)=@_; my $usertalk=$user; $usertalk=~s/User:/User talk:/i; if ($imagetext=~/\{\{di/i) {return} $self->edit($image, "{{subst:nrd}}\n\n" . $imagetext, "This image has no rationale"); $image=~s/Image://i; $self->edit($usertalk, $self->get_text($usertalk) . "\n\n{{subst:Di-no fair use rationale-notice|$image}} NOTE: once you correct this, please remove the tag from the image's page. $more~~~~", "$image may be deleted!"); } sub nfcc10c { my ($self, $image, $user, $imagetext, $more)=@_; my $usertalk=$user; $usertalk=~s/User:/User talk:/i; if ($imagetext=~/\{\{di/i) {return} $self->edit($image, "{{di-disputed fair use rationale|concern=invalid rationale per[[WP:NFCC#10c]]: ''The name of each article in which fair use is claimed for the item, and a separate fair-use rationale for each use of the item, as explained at [[Wikipedia:Non-free use rationale guideline]]. The rationale is presented in clear, plain language, and is relevant to each use''|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTDAY}} {{subst:CURRENTYEAR}}}}\n\n" . $imagetext, "This image has no valid rationale"); $image=~s/Image://i; $self->edit($usertalk, $self->get_text($usertalk) . "\n\n{{subst:Di-no fair use rationale-notice|$image}} NOTE: once you correct this, please remove the tag from the image's page. $more~~~~", "$image may be deleted!"); } sub nosrc { my ($self, $image, $user, $imagetext, $more)=@_; return; #FUNCTION DISABLED. my $usertalk=$user; $usertalk=~s/User:/User talk:/i; if ($imagetext=~/\{\{di/i) {return} $self->edit($image, "{{subst:nsd}}\n\n" . $imagetext, "This image has no source"); $image=~s/Image://i; $self->edit($usertalk, $self->get_text($usertalk) . "\n\n{{subst:Di-no source-notice|$image}} NOTE: once you correct this, please remove the tag from the image's page. $more~~~~", "$image may be deleted!"); } sub toobig { my ($self, $image, $user, $imagetext)=@_; if ($imagetext=~/non-free reduce/i) {return;} $self->edit($image, "{{non-free reduce}}\n\n" . $imagetext, "This image is too big"); } sub duplicate { my ($self, $image, $oldimage)=@_; my $imagetext=$self->get_text($image); if ($imagetext=~/\{\{deleted/i) {return} $self->edit($image, $imagetext . "\n\n{{deletedimage|$oldimage}}", "This image is a duplicate"); } sub badusercheck { my ($self, $user, %badusers, $kernel)=@_; $badusers{$user}++; if ($badusers{$user}/5 == int($badusers{$user}/5)) { my $num=$badusers{$user}/5; $kernel->post('irc.freenode.net'=>privmsg=>'#wikipedia-en-admins'=>"!imageabuse [[$user]] has been warned many times for uploading bad images, please check his uploads. (Report number $num)"); return ("Additionally, if you continue uploading bad images, you may be [[WP:BLOCK|blocked from uploading]]. ", %badusers); } elsif ($badusers{$user}==3) { return ("Additionally, if you continue uploading bad images, you may be [[WP:BLOCK|blocked from uploading]]. ", %badusers); } }