fu: Close-up of Fu, bringing a scoop of water to her mouth (Default)
fu ([personal profile] fu) wrote in [site community profile] changelog2011-09-29 04:21 pm

[dw-free] move cgi-bin/lj*.pl files into proper modules (in cgi-bin/LJ)

[commit: http://hg.dwscoalition.org/dw-free/rev/019aba8303dc]

http://bugs.dwscoalition.org/show_bug.cgi?id=1726

Move ljemailgateway-web.pl to LJ/Emailpost/Web.pm. Update package and
require statements.

Patch by [personal profile] kareila.

Files modified:
  • cgi-bin/LJ/Emailpost/Web.pm
  • cgi-bin/LJ/Setting/EmailPosting.pm
  • cgi-bin/ljemailgateway-web.pl
  • cgi-bin/ljemailgateway.pl
  • cgi-bin/modperl_subs.pl
  • htdocs/manage/emailpost.bml
  • t/emailpost.t
--------------------------------------------------------------------------------
diff -r 1859f7e73c3f -r 019aba8303dc cgi-bin/LJ/Emailpost/Web.pm
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cgi-bin/LJ/Emailpost/Web.pm	Fri Sep 30 00:20:57 2011 +0800
@@ -0,0 +1,72 @@
+# This code was forked from the LiveJournal project owned and operated
+# by Live Journal, Inc. The code has been modified and expanded by
+# Dreamwidth Studios, LLC. These files were originally licensed under
+# the terms of the license supplied by Live Journal, Inc, which can
+# currently be found at:
+#
+# http://code.livejournal.org/trac/livejournal/browser/trunk/LICENSE-LiveJournal.txt
+#
+# In accordance with the original license, this code and all its
+# modifications are provided under the GNU General Public License.
+# A copy of that license can be found in the LICENSE file included as
+# part of this distribution.
+
+# these are the email gateway functions needed from web land.  they're
+# also available from ljemailgateway.pl (which contains the full
+# libraries)
+
+package LJ::Emailpost::Web;
+use strict;
+
+# Retrieves an allowed email addr list for a given user object.
+# Returns a hashref with addresses / flags.
+# Used for ljemailgateway and manage/emailpost.bml
+sub get_allowed_senders {
+    my $u = shift;
+    return undef unless LJ::isu( $u );
+    my (%addr, @address);
+
+    @address = split( /\s*,\s*/, $u->prop( 'emailpost_allowfrom' ) );
+    return undef unless scalar(@address) > 0;
+
+    my %flag_english = ( 'E' => 'get_errors' );
+
+    foreach my $add (@address) {
+        my $flags;
+        $flags = $1 if $add =~ s/\((.+)\)$//;
+        $addr{$add} = {};
+        if ($flags) {
+            $addr{$add}->{$flag_english{$_}} = 1 foreach split(//, $flags);
+        }
+    }
+
+    return \%addr;
+}
+
+# Inserts email addresses into the database.
+# Adds flags if needed.
+# Used in manage/emailpost.bml
+#  $addr is hashref of { $email_address -> {$flag -> 1} } where possible values of $flag
+#  currently include only 'get_errors', to receive errors at that email address
+sub set_allowed_senders {
+    my ($u, $addr) = @_;
+    my %flag_letters = ( 'get_errors' => 'E' );
+
+    my @addresses;
+    foreach (keys %$addr) {
+        my $email = $_;
+        my $flags = $addr->{$_};
+        if (%$flags) {
+            $email .= '(';
+            foreach my $flag (keys %$flags) {
+                $email .= $flag_letters{$flag};
+            }
+            $email .= ')';
+        }
+        push(@addresses, $email);
+    }
+    $u->set_prop("emailpost_allowfrom", join(", ", @addresses));
+}
+
+1;
+
diff -r 1859f7e73c3f -r 019aba8303dc cgi-bin/LJ/Setting/EmailPosting.pm
--- a/cgi-bin/LJ/Setting/EmailPosting.pm	Fri Sep 30 00:17:34 2011 +0800
+++ b/cgi-bin/LJ/Setting/EmailPosting.pm	Fri Sep 30 00:20:57 2011 +0800
@@ -41,7 +41,7 @@
     my $can_emailpost = $u->can_emailpost;
     my $upgrade_link = $can_emailpost ? "" : LJ::Hooks::run_hook("upgrade_link", $u, "plus");
 
-    my $addrlist = LJ::Emailpost::get_allowed_senders($u);
+    my $addrlist = LJ::Emailpost::Web::get_allowed_senders( $u );
     my @addresses = sort keys %$addrlist;
 
     my $pin = $class->get_arg($args, "emailposting_pin") || $u->prop("emailpost_pin");
@@ -146,7 +146,7 @@
         $addrcount++;
     }
 
-    LJ::Emailpost::set_allowed_senders($u, \%allowed);
+    LJ::Emailpost::Web::set_allowed_senders( $u, \%allowed );
     $class->email_helpmessage( $u, $_ ) foreach @send_helpmessage;
 
     $pin_val =~ s/\s+//g;
diff -r 1859f7e73c3f -r 019aba8303dc cgi-bin/ljemailgateway-web.pl
--- a/cgi-bin/ljemailgateway-web.pl	Fri Sep 30 00:17:34 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-# This code was forked from the LiveJournal project owned and operated
-# by Live Journal, Inc. The code has been modified and expanded by
-# Dreamwidth Studios, LLC. These files were originally licensed under
-# the terms of the license supplied by Live Journal, Inc, which can
-# currently be found at:
-#
-# http://code.livejournal.org/trac/livejournal/browser/trunk/LICENSE-LiveJournal.txt
-#
-# In accordance with the original license, this code and all its
-# modifications are provided under the GNU General Public License.
-# A copy of that license can be found in the LICENSE file included as
-# part of this distribution.
-
-# these are the email gateway functions needed from web land.  they're
-# also available from ljemailgateway.pl (which contains the full
-# libraries)
-
-package LJ::Emailpost;
-use strict;
-
-# Retreives an allowed email addr list for a given user object.
-# Returns a hashref with addresses / flags.
-# Used for ljemailgateway and manage/emailpost.bml
-sub get_allowed_senders {
-    my $u = shift;
-    return undef unless LJ::isu( $u );
-    my (%addr, @address);
-
-    @address = split( /\s*,\s*/, $u->prop( 'emailpost_allowfrom' ) );
-    return undef unless scalar(@address) > 0;
-
-    my %flag_english = ( 'E' => 'get_errors' );
-
-    foreach my $add (@address) {
-        my $flags;
-        $flags = $1 if $add =~ s/\((.+)\)$//;
-        $addr{$add} = {};
-        if ($flags) {
-            $addr{$add}->{$flag_english{$_}} = 1 foreach split(//, $flags);
-        }
-    }
-
-    return \%addr;
-}
-
-# Inserts email addresses into the database.
-# Adds flags if needed.
-# Used in manage/emailpost.bml
-#  $addr is hashref of { $email_address -> {$flag -> 1} } where possible values of $flag
-#  currently include only 'get_errors', to receive errors at that email address
-sub set_allowed_senders {
-    my ($u, $addr) = @_;
-    my %flag_letters = ( 'get_errors' => 'E' );
-
-    my @addresses;
-    foreach (keys %$addr) {
-        my $email = $_;
-        my $flags = $addr->{$_};
-        if (%$flags) {
-            $email .= '(';
-            foreach my $flag (keys %$flags) {
-                $email .= $flag_letters{$flag};
-            }
-            $email .= ')';
-        }
-        push(@addresses, $email);
-    }
-    $u->set_prop("emailpost_allowfrom", join(", ", @addresses));
-}
-
-1;
-
diff -r 1859f7e73c3f -r 019aba8303dc cgi-bin/ljemailgateway.pl
--- a/cgi-bin/ljemailgateway.pl	Fri Sep 30 00:17:34 2011 +0800
+++ b/cgi-bin/ljemailgateway.pl	Fri Sep 30 00:20:57 2011 +0800
@@ -29,7 +29,7 @@
 }
 
 require 'ljlib.pl';
-require 'ljemailgateway-web.pl';
+use LJ::Emailpost::Web;
 require 'ljprotocol.pl';
 use Date::Parse;
 use HTML::Entities;
@@ -73,7 +73,7 @@
     return unless $u && $u->is_visible;
 
     # Pick what address to send potential errors to.
-    $addrlist = LJ::Emailpost::get_allowed_senders($u);
+    $addrlist = LJ::Emailpost::Web::get_allowed_senders( $u );
     $from = ${(Mail::Address->parse( $head->get('From:') ))[0] || []}[1];
     return unless $from;
     my $err_addr;
diff -r 1859f7e73c3f -r 019aba8303dc cgi-bin/modperl_subs.pl
--- a/cgi-bin/modperl_subs.pl	Fri Sep 30 00:17:34 2011 +0800
+++ b/cgi-bin/modperl_subs.pl	Fri Sep 30 00:20:57 2011 +0800
@@ -92,7 +92,7 @@
 use LJ::Sysban;
 use LJ::Community;
 use LJ::Tags;
-require "ljemailgateway-web.pl";
+use LJ::Emailpost::Web;
 use LJ::Customize;
 
 use DW::Captcha;
diff -r 1859f7e73c3f -r 019aba8303dc htdocs/manage/emailpost.bml
--- a/htdocs/manage/emailpost.bml	Fri Sep 30 00:17:34 2011 +0800
+++ b/htdocs/manage/emailpost.bml	Fri Sep 30 00:20:57 2011 +0800
@@ -333,7 +333,7 @@
 
         return LJ::bad_input(@errors) if @errors;
 
-        LJ::Emailpost::set_allowed_senders($u, \%allowed);
+        LJ::Emailpost::Web::set_allowed_senders( $u, \%allowed );
         foreach my $prop (@props) {
             next if $prop =~ /emailpost_(allowfrom|pin)/;
             next if $u->{'prop'} eq $POST{$prop};
@@ -364,7 +364,7 @@
 #--------------------------------------------------------------------------
 
     # Initial page
-    my $addrlist = LJ::Emailpost::get_allowed_senders($u);
+    my $addrlist = LJ::Emailpost::Web::get_allowed_senders( $u );
     my (@address, $res, $ret);
     push @address, $_ foreach sort keys %$addrlist;
 
diff -r 1859f7e73c3f -r 019aba8303dc t/emailpost.t
--- a/t/emailpost.t	Fri Sep 30 00:17:34 2011 +0800
+++ b/t/emailpost.t	Fri Sep 30 00:20:57 2011 +0800
@@ -4,7 +4,7 @@
 use Test::More tests => 13;
 use lib "$ENV{LJHOME}/cgi-bin";
 require 'ljlib.pl';
-require 'ljemailgateway-web.pl';
+use LJ::Emailpost::Web;
 require 'ljemailgateway.pl';
 use LJ::Test;
 use FindBin qw($Bin);
@@ -32,7 +32,7 @@
 like($msg, qr/No allowed senders have been saved for your account/, "rejected due to no allowed senders");
 is($dequeue, 1, "and it's deqeueued");
 
-LJ::Emailpost::set_allowed_senders($u, { 'foo@example.com' => { get_errors => 1 } });
+LJ::Emailpost::Web::set_allowed_senders( $u, { 'foo@example.com' => { get_errors => 1 } } );
 
 is($u->prop("emailpost_allowfrom"), "foo\@example.com(E)", "allowed sender set correctly");
 
--------------------------------------------------------------------------------

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org