Remove the nonfunctional PingBack code we inherited from LJ.
Patch by denise.
diffs (435 lines):
diff -r 27534a10aa6a -r 40c8b868936d bin/upgrading/en.dat
--- a/bin/upgrading/en.dat Tue Nov 10 04:01:14 2009 +0000
+++ b/bin/upgrading/en.dat Tue Nov 10 04:08:22 2009 +0000
@@ -2287,20 +2287,6 @@ optional=(optional)
password=Password
-pingback.ljping.comment.text=User <lj user="[[poster]]"> referenced to your
post from <a href="[[sourceURI]]">[[subject]]</a> saying: [...] [[context]]
[...]
-
-pingback.option.disabled=Disabled
-
-pingback.option.journal_default=Journal default
-
-pingback.option.lj_only=LJ only
-
-pingback.option.open=Open
-
-pingback.public.comment.text=Pingback from <a
href="[[sourceURI]]">[[title]]</a>: [...] [[context]] [...]
-
-pingback.sourceuri.default_title=No title
-
poll.changevote=Change Your Vote
poll.dberror=Database error: [[errmsg]]
diff -r 27534a10aa6a -r 40c8b868936d bin/upgrading/proplists.dat
--- a/bin/upgrading/proplists.dat Tue Nov 10 04:01:14 2009 +0000
+++ b/bin/upgrading/proplists.dat Tue Nov 10 04:08:22 2009 +0000
@@ -1364,18 +1364,3 @@ pollproplist2.unique:
pollproplist2.createdate:
des: The voter must have created their account by the date specified
(Pacific time) in order to vote. Must be in format YYYY-MM-DD, otherwise there
will be no restriction.
-
-userproplist.pingback:
- cldversion: 0
- datatype: char
- des: (O)pen - all links from post should be processed with PingBack.
(L)iveJournal - only leading to/from livejournal.com. (D)isabled - pingbacks
disabled.
- indexed: 0
- multihomed: 0
- prettyname: PingBack options
-
-logproplist.pingback:
- datatype: char
- des: (J)ournal default, (O)pen - all links from post should be processed
with PingBack. (L)iveJournal - only leading to/from livejournal.com. (D)isabled
- pingbacks disabled.
- prettyname: PingBack options
- sortorder: 105
- ownership: user
diff -r 27534a10aa6a -r 40c8b868936d bin/worker/notify_pingback
--- a/bin/worker/notify_pingback Tue Nov 10 04:01:14 2009 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-#!/usr/bin/perl
-use strict;
-use lib "$ENV{LJHOME}/cgi-bin";
-require 'ljlib.pl';
-use LJ::Worker::TheSchwartz;
-use TheSchwartz::Worker::NotifyPingbackServer;
-
-schwartz_decl('TheSchwartz::Worker::NotifyPingbackServer');
-schwartz_work();
-
diff -r 27534a10aa6a -r 40c8b868936d cgi-bin/LJ/Hooks/PingBack.pm
--- a/cgi-bin/LJ/Hooks/PingBack.pm Tue Nov 10 04:01:14 2009 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-package LJ::Hooks::PingBack;
-use strict;
-use LJ::PingBack;
-
-sub has_pingback {
- my $u = shift;
- return 0 unless LJ::is_enabled('pingback');
- return 0 unless $u->is_in_beta('pingback');
- return 1;
-}
-
-
-#
-LJ::register_hook("add_extra_options_to_manage_comments", sub {
- my $u = shift;
-
- return unless has_pingback($u);
-
- # PingBack options
- my $ret = '';
- $ret .= "<tr><td class='field_name'>" . BML::ml('.pingback') .
"</td>\n<td>";
- $ret .= BML::ml('.pingback.process') . " ";
- $ret .= LJ::html_select({ 'name' => 'pingback', 'selected' =>
$u->{'pingback'} },
- "O" => BML::ml(".pingback.option.open"),
- "L" => BML::ml(".pingback.option.lj_only"),
- "D" => BML::ml(".pingback.option.disabled"),
- );
- $ret .= "</td></tr>\n";
- return $ret;
-
-});
-
-#
-LJ::register_hook("process_extra_options_for_manage_comments", sub {
- my $u = shift;
- my $POST = shift;
-
- return unless has_pingback($u);
-
- $POST->{'pingback'} = "D" unless $POST->{'pingback'} =~ /^[OLD]$/;
- return 'pingback';
-
-});
-
-
-
-# Draw widget with event's pingback option selector
-LJ::register_hook("add_extra_entryform_fields", sub {
- my $args = shift;
- my $tabindex = $args->{tabindex};
- my $opts = $args->{opts};
-
- return if $opts->{remote} and
- not has_pingback($opts->{remote});
-
- # PINGBACK widget
- return "
- <p class='pkg'>
- <span class='inputgroup-right'>
- <label for='prop_pingback' class='left options'>" .
BML::ml('entryform.pingback') . "</label>
- " . LJ::html_select({ 'name' => 'prop_pingback',
- 'id' => 'prop_pingback',
- 'class' => 'select',
- 'selected' => $opts->{'prop_pingback'},
- 'tabindex' => $tabindex->(),
- },
- { value => "J", text =>
BML::ml("pingback.option.journal_default") },
- { value => "O", text =>
BML::ml("pingback.option.open") },
- { value => "L", text =>
BML::ml("pingback.option.lj_only") },
- { value => "D", text =>
BML::ml("pingback.option.disabled") },
- ) . "
- " . LJ::help_icon_html("pingback", "", " ") . "
- </span>
- </p>
- ";
-});
-
-# Fetch pingback's option from POST data
-LJ::register_hook("decode_entry_form", sub {
- my ($POST, $req) = @_;
- $req->{prop_pingback} = $POST->{prop_pingback};
-
-});
-
-# Process event's pingback option for new entry
-LJ::register_hook("postpost", sub {
- my $args = shift;
- my $security = $args->{security};
- my $entry = $args->{entry};
- my $journal = $args->{journal};
-
- return unless has_pingback($journal);
-
- # check security
- return if $security ne 'public';
-
- # define pingback prop value
- my $prop_pingback = $args->{props}->{pingback};
- if ($prop_pingback eq 'J'){
- # use journal's default
- $args->{entry}->set_prop('pingback' => undef); # do not populate db
with "(J)ournal default" value.
- $prop_pingback = $journal->prop('pingback');
- }
-
- return if $prop_pingback eq 'D' # pingback is strictly disabled
- or not $prop_pingback; # or not enabled.
-
- #
- LJ::PingBack->notify(
- uri => $entry->url,
- text => $args->{event},
- mode => $prop_pingback,
- );
-
-});
-
-# Process event's pingback option for updated entry
-LJ::register_hook("editpost", sub {
- my $entry = shift;
-
- return unless has_pingback($entry->journal);
-
- # check security
- return if $entry->security ne 'public';
-
- # define pingback prop value
- my $prop_pingback = $entry->prop("pingback");
- if ($prop_pingback eq 'J'){
- # use journal's default
- $entry->set_prop('pingback' => undef); # do not populate db with
"(J)ournal default" value.
- $prop_pingback = $entry->journal->prop('pingback');
- }
-
- return if $prop_pingback eq 'D' # pingback is strictly disabled
- or not $prop_pingback; # or not enabled.
-
-
- #
- LJ::PingBack->notify(
- uri => $entry->url,
- text => $entry->event_raw,
- mode => $entry->prop('pingback'),
- );
-
-});
-
-
-#
-LJ::register_hook("after_journal_content_created", sub {
- my $opts = shift;
- my $html_ref = shift;
-
- my $entry = $opts->{ljentry};
- my $r = $opts->{r};
-
- return unless $r;
- return unless $entry;
- return unless $r->notes->{view} eq 'entry';
- return unless has_pingback($entry->journal);
-
-
- if (LJ::PingBack->should_entry_recieve_pingback($entry)){
- $r->header_out('X-Pingback', $LJ::PINGBACK->{uri});
- }
-
-
-});
-
-
-1;
diff -r 27534a10aa6a -r 40c8b868936d cgi-bin/LJ/PingBack.pm
--- a/cgi-bin/LJ/PingBack.pm Tue Nov 10 04:01:14 2009 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +0,0 @@
-package LJ::PingBack;
-use strict;
-use LJ::Entry;
-
-# Add comment to pinged post, if allowed.
-# returns comment object in success,
-# error string otherwise.
-sub ping_post {
- my $class = shift;
- my %args = @_;
- my $targetURI = $args{targetURI};
- my $sourceURI = $args{sourceURI};
- my $context = $args{context};
- my $title = $args{title};
-
- #
- my $target_entry = LJ::Entry->new_from_url($targetURI);
- unless ($target_entry){
- warn "Unknown entry";
- return "Unknown entry";
- }
-
- # empty object means, that sourceURI is not LJ.com's page.
- # it's an usual case.
- my $source_entry = LJ::Entry->new_from_url($sourceURI);
-
- # can we add pingback comment to post?
- return "pingbacks are forbidden for the target."
- unless $class->should_entry_recieve_pingback($target_entry,
$source_entry);
-
- # bot: pingback_bot
- # pass: test4test
- my $poster_u = LJ::load_user($LJ::PINGBACK->{comments_bot_username});
- unless ($poster_u){
- warn "Pingback bot user does not exists";
- return "Pingback bot user does not exists";
- }
-
-
- #
- my $subject = $source_entry
- ? ($source_entry->subject_raw ||
BML::ml("pingback.sourceURI.default_title"))
- : ($title || BML::ml("pingback.sourceURI.default_title"));
-
- my $comment = LJ::Comment->create(
- journal => $target_entry->journal,
- ditemid => $target_entry->ditemid,
- poster => $poster_u,
-
- body => ($source_entry
- ?
BML::ml("pingback.ljping.comment.text",
- { context => $context,
- subject => $subject,
- sourceURI => $sourceURI,
- poster =>
$source_entry->poster->username,
- })
- :
BML::ml("pingback.public.comment.text",
- { sourceURI => $sourceURI,
- title => $subject,
- context => $context
- })
- ),
- subject => $subject,
-
- );
-
- return $comment;
-
-}
-
-sub should_entry_recieve_pingback {
- my $class = shift;
- my $target_entry = shift;
- my $source_entry = shift;
-
- return 0 unless $target_entry->journal->is_in_beta("pingback");
- return 0 if $target_entry->is_suspended;
-
- return 0 unless $target_entry->journal->get_cap('pingback');
-
- # not RO?
- return 0 if $target_entry->journal->readonly; # Check "is_readonly".
-
- # are comments allowed?
- return 0 if $target_entry->prop('opt_nocomments');
-
- # did user allow to add pingbacks?
- # journal's default. We do not store "J" value in DB.
- my $entry_pb_prop = $target_entry->prop("pingback") || 'J';
- return 0 if $entry_pb_prop eq 'D'; # disabled
-
- return 0 if $entry_pb_prop eq 'L' # author allowed PingBacks only from LJ
- and not $source_entry; # and sourceURI is not LJ.com's post
-
- if ($entry_pb_prop eq 'J'){
- my $journal_pb_prop = $target_entry->journal->prop("pingback") || 'D';
- return 0 if $journal_pb_prop eq 'D' # pingback disabled
- or ($journal_pb_prop eq 'L' # or allowed from LJ only
- and not $source_entry # but sourceURI is not LJ
page
- );
- }
-
- return 1;
-
-}
-
-
-# Send notification to PingBack server
-sub notify {
- my $class = shift;
- my %args = @_;
-
- my $uri = $args{uri};
- my $text = $args{text};
- my $mode = $args{mode};
-
- return unless $mode =~ m!^[LO]$!; # (L)ivejournal only, (O)pen.
- my $sclient = LJ::theschwartz();
- unless ($sclient){
- warn "LJ::PingBack: Could not get TheSchwartz client";
- return;
- }
-
- #
- my $job = TheSchwartz::Job->new(
- funcname => "TheSchwartz::Worker::NotifyPingbackServer",
- arg => { uri => $uri, text => $text, mode => $mode },
- );
- $sclient->insert($job);
-
-}
-
-
-1;
diff -r 27534a10aa6a -r 40c8b868936d
cgi-bin/TheSchwartz/Worker/NotifyPingbackServer.pm
--- a/cgi-bin/TheSchwartz/Worker/NotifyPingbackServer.pm Tue Nov 10
04:01:14 2009 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-package TheSchwartz::Worker::NotifyPingbackServer;
-use strict;
-use base 'TheSchwartz::Worker';
-use LWP::UserAgent qw();
-use HTTP::Request qw();
-use JSON;
-
-
-sub work {
- my ($class, $job) = @_;
- my $args = $job->arg;
- my $client = $job->handle->client;
- my $res = eval {
- send_ping(uri => $args->{uri},
- text => $args->{text},
- mode => $args->{mode},
- );
- };
- $job->completed if $res;
-
-}
-
-sub send_ping {
- my %args = @_;
-
- my $uri = $args{uri};
- my $text = $args{text};
- my $mode = $args{mode};
-
- my $pb_server_uri = $LJ::PINGBACK->{uri};
- my $content = JSON::objToJson({ uri => $uri, text => $text, mode => $mode
}) . "\r\n";
-
- my $headers = HTTP::Headers->new;
- $headers->header('Content-Length' => length $content);
-
- my $req = HTTP::Request->new('POST', $pb_server_uri, $headers, $content );
- my $ua = LWP::UserAgent->new;
- my $res = $ua->request($req);
-
- return 1 if $res->content eq 'OK';
- return 0;
-
-}
-
-
-
-
-1;
diff -r 27534a10aa6a -r 40c8b868936d t/00-compile.t
--- a/t/00-compile.t Tue Nov 10 04:01:14 2009 +0000
+++ b/t/00-compile.t Tue Nov 10 04:08:22 2009 +0000
@@ -26,7 +26,6 @@ my %SKIP = (
'DW/Hooks/NavStrip.pm' => 'Undefined subroutine &LJ::register_hook',
'DW/Hooks/SiteScheme.pm' => 'Undefined subroutine &LJ::register_hook',
- 'LJ/Hooks/PingBack.pm' => 'Undefined subroutine &LJ::register_hook',
'DW/Hooks/SSL.pm' => 'Undefined subroutine &LJ::register_hook',
'DW/Hooks/Display.pm' => 'Undefined subroutine &LJ::register_hook',
'DW/Hooks/Changelog.pm' => 'Undefined subroutine &LJ::register_hook',
_______________________________________________
dw-changelog mailing list
[email protected]
http://lists.dwscoalition.org/mailman/listinfo/dw-changelog