[dw-free] remove gratuitous shifts from Entry.pm
[commit: http://hg.dwscoalition.org/dw-free/rev/cac843759a21]
http://bugs.dwscoalition.org/show_bug.cgi?id=3324
Remove gratuitous shifts, leave in non-gratuitous shifts.
Patch by
kareila.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=3324
Remove gratuitous shifts, leave in non-gratuitous shifts.
Patch by
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Files modified:
- cgi-bin/LJ/Entry.pm
-------------------------------------------------------------------------------- diff -r 18a19f24b6a8 -r cac843759a21 cgi-bin/LJ/Entry.pm --- a/cgi-bin/LJ/Entry.pm Fri Dec 10 15:16:55 2010 +0800 +++ b/cgi-bin/LJ/Entry.pm Fri Dec 10 15:18:32 2010 +0800 @@ -137,9 +137,8 @@ sub new # in those cases call as ($u, $item) and the $u will # be used sub new_from_item_hash { - my $class = shift; - my $arg1 = shift; - my $item = shift; + my ( $class, $arg1, $item ) = @_; + if (LJ::isu($arg1)) { $item->{journalid} ||= $arg1->id; } else { @@ -185,8 +184,7 @@ sub new_from_url { } sub new_from_row { - my $class = shift; - my %row = @_; + my ( $class, %row ) = @_; my $journalu = LJ::load_userid($row{journalid}); my $self = $class->new($journalu, jitemid => $row{jitemid}); @@ -204,30 +202,29 @@ sub new_from_row { # object, even though that jitemid hasn't been created yet, or was # previously deleted) sub valid { - my $self = shift; + my $self = $_[0]; __PACKAGE__->preload_rows([ $self ]) unless $self->{_loaded_row}; return $self->{_loaded_row}; } sub jitemid { - my $self = shift; + my $self = $_[0]; return $self->{jitemid}; } sub ditemid { - my $self = shift; + my $self = $_[0]; return $self->{ditemid} ||= (($self->{jitemid} << 8) + $self->anum); } sub reply_url { - my $self = shift; + my $self = $_[0]; return $self->url(mode => 'reply'); } # returns permalink url sub url { - my $self = shift; - my %opts = @_; + my ( $self, %opts ) = @_; my %args = %opts; # used later my $u = $self->{u}; my $view = delete $opts{view}; @@ -253,7 +250,7 @@ sub url { # returns a url that will display the number of comments on the entry # as an image sub comment_image_url { - my $self = shift; + my $self = $_[0]; my $u = $self->{u}; return "$LJ::SITEROOT/tools/commentcount?user=" . $self->journal->user . "&ditemid=" . $self->ditemid; @@ -261,7 +258,7 @@ sub comment_image_url { # returns a pre-generated comment img tag using the comment_image_url sub comment_imgtag { - my $self = shift; + my $self = $_[0]; my $alttext = LJ::Lang::ml('setting.xpost.option.footer.vars.comment_image.alttext'); @@ -269,7 +266,7 @@ sub comment_imgtag { } sub anum { - my $self = shift; + my $self = $_[0]; return $self->{anum} if defined $self->{anum}; __PACKAGE__->preload_rows([ $self ]) unless $self->{_loaded_row}; return $self->{anum} if defined $self->{anum}; @@ -281,8 +278,8 @@ sub anum { # $entry->correct_anum($given_anum) # if no given anum, gets it from the provided ditemid to constructor sub correct_anum { - my $self = shift; - my $given = defined $_[0] ? int(shift) : $self->{anum}; + my ( $self, $given ) = @_; + $given = defined $given ? int( $given ) : $self->{anum}; return 0 unless $self->valid; return 0 unless defined $self->{anum} && defined $given; return $self->{anum} == $given; @@ -290,46 +287,46 @@ sub correct_anum { # returns LJ::User object for the poster of this entry sub poster { - my $self = shift; + my $self = $_[0]; return LJ::load_userid($self->posterid); } sub posterid { - my $self = shift; + my $self = $_[0]; __PACKAGE__->preload_rows([ $self ]) unless $self->{_loaded_row}; return $self->{posterid}; } sub journalid { - my $self = shift; + my $self = $_[0]; return $self->{u}{userid}; } sub journal { - my $self = shift; + my $self = $_[0]; return $self->{u}; } sub eventtime_mysql { - my $self = shift; + my $self = $_[0]; __PACKAGE__->preload_rows([ $self ]) unless $self->{_loaded_row}; return $self->{eventtime}; } sub logtime_mysql { - my $self = shift; + my $self = $_[0]; __PACKAGE__->preload_rows([ $self ]) unless $self->{_loaded_row}; return $self->{logtime}; } sub logtime_unix { - my $self = shift; + my $self = $_[0]; __PACKAGE__->preload_rows([ $self ]) unless $self->{_loaded_row}; return LJ::mysqldate_to_time($self->{logtime}, 1); } sub modtime_unix { - my $self = shift; + my $self = $_[0]; __PACKAGE__->preload_rows ([ $self ]) unless $self->{_loaded_row}; __PACKAGE__->preload_props([ $self ]) unless $self->{_loaded_props}; @@ -337,13 +334,13 @@ sub modtime_unix { } sub security { - my $self = shift; + my $self = $_[0]; __PACKAGE__->preload_rows([ $self ]) unless $self->{_loaded_row}; return $self->{security}; } sub allowmask { - my $self = shift; + my $self = $_[0]; __PACKAGE__->preload_rows([ $self ]) unless $self->{_loaded_row}; return $self->{allowmask}; } @@ -387,7 +384,7 @@ sub preload_props { # returns array of tags for this post sub tags { - my $self = shift; + my $self = $_[0]; my $taginfo = LJ::Tags::get_logtags($self->journal, $self->jitemid); return () unless $taginfo; @@ -401,7 +398,7 @@ sub tags { # returns true if loaded, zero if not. # also sets _loaded_text and subject and event. sub _load_text { - my $self = shift; + my $self = $_[0]; return 1 if $self->{_loaded_text}; my $ret = LJ::get_logtext2($self->{'u'}, $self->{'jitemid'}); @@ -437,7 +434,7 @@ sub props { } sub _load_props { - my $self = shift; + my $self = $_[0]; return 1 if $self->{_loaded_props}; my $props = {}; @@ -449,9 +446,7 @@ sub _load_props { } sub set_prop { - my $self = shift; - my $prop = shift; - my $val = shift; + my ( $self, $prop, $val ) = @_; LJ::set_logprop($self->journal, $self->jitemid, { $prop => $val }); $self->{props}{$prop} = $val; @@ -462,9 +457,8 @@ sub set_prop { # called automatically on $event->comments # returns the same data as LJ::get_talk_data, with the addition # of 'subject' and 'event' keys. -sub _load_comments -{ - my $self = shift; +sub _load_comments { + my $self = $_[0]; return 1 if $self->{_loaded_comments}; # need to load using talklib API @@ -484,22 +478,22 @@ sub _load_comments } sub comment_list { - my $self = shift; + my $self = $_[0]; $self->_load_comments unless $self->{_loaded_comments}; return @{$self->{comments} || []}; } sub set_comment_list { - my $self = shift; + my ( $self, @args ) = @_; - $self->{comments} = \@_; + $self->{comments} = \@args; $self->{_loaded_comments} = 1; return 1; } sub reply_count { - my $self = shift; + my $self = $_[0]; my $rc = $self->prop('replycount'); return $rc if defined $rc; return LJ::Talk::get_replycount($self->journal, $self->jitemid); @@ -507,8 +501,7 @@ sub reply_count { # returns "Leave a comment", "1 comment", "2 comments" etc sub comment_text { - my $self = shift; - + my $self = $_[0]; my $comments; my $comment_count = $self->reply_count; @@ -563,12 +556,12 @@ sub comment_info { # used in comment notification email headers sub email_messageid { - my $self = shift; + my $self = $_[0]; return "<" . join("-", "entry", $self->journal->id, $self->ditemid) . "\@$LJ::DOMAIN>"; } sub atom_id { - my $self = shift; + my $self = $_[0]; my $u = $self->{u}; my $ditemid = $self->ditemid; @@ -578,8 +571,8 @@ sub atom_id { # returns an XML::Atom::Entry object for a feed sub atom_entry { - my $self = shift; - my $opts = shift || {}; # synlevel ("full"), apilinks (bool) + my ( $self, $opts ) = @_; + $opts ||= {}; # synlevel ("full"), apilinks (bool) my $entry = XML::Atom::Entry->new(); my $entry_xml = $entry->{doc}; @@ -663,9 +656,8 @@ sub atom_entry { } # returns the entry as an XML Atom string, without the XML prologue -sub as_atom -{ - my $self = shift; +sub as_atom { + my $self = $_[0]; my $entry = $self->atom_entry; my $xml = $entry->as_xml; $xml =~ s!^<\?xml.+?>\s*!!s; @@ -674,44 +666,42 @@ sub as_atom # raw utf8 text, with no HTML cleaning sub subject_raw { - my $self = shift; + my $self = $_[0]; $self->_load_text unless $self->{_loaded_text}; return $self->{subject}; } # raw text as user sent us, without transcoding while correcting for unknown8bit sub subject_orig { - my $self = shift; + my $self = $_[0]; $self->_load_text unless $self->{_loaded_text}; return $self->{subject_orig} || $self->{subject}; } # raw utf8 text, with no HTML cleaning sub event_raw { - my $self = shift; + my $self = $_[0]; $self->_load_text unless $self->{_loaded_text}; return $self->{event}; } # raw text as user sent us, without transcoding while correcting for unknown8bit sub event_orig { - my $self = shift; + my $self = $_[0]; $self->_load_text unless $self->{_loaded_text}; return $self->{event_orig} || $self->{event}; } -sub subject_html -{ - my $self = shift; +sub subject_html { + my $self = $_[0]; $self->_load_text unless $self->{_loaded_text}; my $subject = $self->{subject}; LJ::CleanHTML::clean_subject( \$subject ) if $subject; return $subject; } -sub subject_text -{ - my $self = shift; +sub subject_text { + my $self = $_[0]; $self->_load_text unless $self->{_loaded_text}; my $subject = $self->{subject}; LJ::CleanHTML::clean_subject_all( \$subject ) if $subject; @@ -754,9 +744,8 @@ sub event_html_summary { return LJ::html_trim($self->event_html($opts), $char_max, $trunc_ref); } -sub event_text -{ - my $self = shift; +sub event_text { + my $self = $_[0]; my $event = $self->event_raw; LJ::CleanHTML::clean_event( \$event, { textonly => 1} ) if $event; return $event; @@ -764,7 +753,7 @@ sub event_text # like event_html, but truncated for summary mode in rss/atom sub event_summary { - my $self = shift; + my $self = $_[0]; my $url = $self->url; my $readmore = "<b>(<a href=\"$url\">Read more ...</a>)</b>"; @@ -866,7 +855,7 @@ sub visible_to # returns hashref of (kwid => tag) for tags on the entry sub tag_map { - my $self = shift; + my $self = $_[0]; my $tags = LJ::Tags::get_logtags($self->{u}, $self->jitemid); return {} unless $tags; return $tags->{$self->jitemid} || {}; @@ -938,14 +927,14 @@ sub can_tellafriend { # defined by the entry poster sub adult_content { - my $self = shift; + my $self = $_[0]; return $self->prop('adult_content'); } # defined by a community maintainer sub adult_content_maintainer { - my $self = shift; + my $self = $_[0]; my $userLevel = $self->adult_content; my $maintLevel = $self->prop( 'adult_content_maintainer' ); @@ -959,21 +948,21 @@ sub adult_content_maintainer { # defined by a community maintainer sub adult_content_maintainer_reason { - my $self = shift; + my $self = $_[0]; return $self->prop('adult_content_maintainer_reason'); } # defined by the entry poster sub adult_content_reason { - my $self = shift; + my $self = $_[0]; return $self->prop('adult_content_reason'); } # uses both poster- and maintainer-defined props to figure out the adult content level sub adult_content_calculated { - my $self = shift; + my $self = $_[0]; return $self->adult_content_maintainer if $self->adult_content_maintainer; return $self->adult_content; @@ -981,7 +970,7 @@ sub adult_content_calculated { # returns who marked the entry as the 'adult_content_calculated' adult content level sub adult_content_marker { - my $self = shift; + my $self = $_[0]; return "community" if $self->adult_content_maintainer; return "poster" if $self->adult_content; @@ -1008,7 +997,7 @@ sub comments_disabled_maintainer { } sub should_block_robots { - my $self = shift; + my $self = $_[0]; return 1 if $self->journal->prop('opt_blockrobots'); @@ -1021,7 +1010,7 @@ sub should_block_robots { } sub syn_link { - my $self = shift; + my $self = $_[0]; return $self->prop('syn_link'); } @@ -1031,7 +1020,7 @@ sub syn_link { # returns names as links to the /security/ URLs if the user can use those URLs # returns names as plaintext otherwise sub group_names { - my $self = shift; + my $self = $_[0]; my $remote = LJ::get_remote(); my $poster = $self->poster; @@ -1047,31 +1036,32 @@ sub statusvis { } sub is_visible { - my $self = shift; + my $self = $_[0]; return $self->statusvis eq "V" ? 1 : 0; } sub is_suspended { - my $self = shift; + my $self = $_[0]; return $self->statusvis eq "S" ? 1 : 0; } # same as is_suspended, except that it returns 0 if the given user can see the suspended entry sub is_suspended_for { - my $self = shift; - my $u = shift; + my ( $self, $u ) = @_; return 0 unless $self->is_suspended; - return 0 if LJ::isu($u) && $u->has_priv( 'canview', 'suspended' ); - return 0 if LJ::isu($u) && $u->equals($self->poster); + return 1 unless LJ::isu( $u ); + + # see if $u has access + return 0 if $u->has_priv( 'canview', 'suspended' ); + return 0 if $u->equals( $self->poster ); return 1; } sub should_show_suspend_msg_to { - my $self = shift; - my $u = shift; + my ( $self, $u ) = @_; return $self->is_suspended && !$self->is_suspended_for($u) ? 1 : 0; } @@ -1214,7 +1204,7 @@ sub get_posts_raw # now load from each cluster. my $fetchtext = sub { - my $db = shift; + my $db = $_[0]; return unless %$cneedtext; my $in = $make_in->(keys %$cneedtext); $sth = $db->prepare("SELECT journalid, jitemid, subject, event ". @@ -1231,7 +1221,7 @@ sub get_posts_raw }; my $fetchprop = sub { - my $db = shift; + my $db = $_[0]; return unless %$cneedprop; my $in = $make_in->(keys %$cneedprop); $sth = $db->prepare("SELECT journalid, jitemid, propid, value ". @@ -1252,7 +1242,7 @@ sub get_posts_raw }; my $fetchrc = sub { - my $db = shift; + my $db = $_[0]; return unless %$cneedrc; my $in = $make_in->(keys %$cneedrc); $sth = $db->prepare("SELECT journalid, jitemid, replycount FROM log2 WHERE $in"); @@ -1567,9 +1557,8 @@ sub get_log2_recent_log } # get recent entries for a user -sub get_log2_recent_user -{ - my $opts = shift; +sub get_log2_recent_user { + my $opts = $_[0]; my $ret = []; my $log = LJ::get_log2_recent_log($opts->{'userid'}, $opts->{'clusterid'}, @@ -1643,11 +1632,8 @@ sub get_log2_recent_user ## ## see subs 'get_itemid_after2' and 'get_itemid_before2' ## -sub get_itemid_near2 -{ - my $u = shift; - my $jitemid = shift; - my $after_before = shift; +sub get_itemid_near2 { + my ( $u, $jitemid, $after_before ) = @_; $jitemid += 0; @@ -2194,7 +2180,7 @@ sub item_toutf8 $props ||= {}; my $convert = sub { - my $rtext = shift; + my $rtext = $_[0]; my $error = 0; return unless defined $$rtext; --------------------------------------------------------------------------------