afuna: Cat under a blanket. Text: "Cats are just little people with Fur and Fangs" (Default)
afuna ([personal profile] afuna) wrote in [site community profile] changelog2009-07-08 04:22 pm

[dw-free] Migrate /settings settings to an Advanced Settings tab

[commit: http://hg.dwscoalition.org/dw-free/rev/2053cd34e3c2]

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

Remove some unused Settings modules, which aren't used in /manage/settings/
(some of these have the implementation in ljcom; some have an alternate
interface).

Patch by [staff profile] denise.

Files modified:
  • cgi-bin/LJ/Setting/Email.pm
  • cgi-bin/LJ/Setting/GraphicPreviews.pm
  • cgi-bin/LJ/Setting/MangleEmail.pm
  • cgi-bin/LJ/Setting/SMS.pm
  • cgi-bin/LJ/Setting/SMSPostNotify.pm
  • cgi-bin/LJ/Setting/WebpageURL.pm
--------------------------------------------------------------------------------
diff -r c03ef3bb3c46 -r 2053cd34e3c2 cgi-bin/LJ/Setting/Email.pm
--- a/cgi-bin/LJ/Setting/Email.pm	Thu Jul 09 00:10:10 2009 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-package LJ::Setting::Email;
-use base 'LJ::Setting';
-use strict;
-use warnings;
-
-sub tags { qw(email mail address) }
-
-sub save {
-    my ($class, $u, $args) = @_;
-    my $email = $args->email_raw;
-    return 1 if $email eq $u->email_raw;
-
-    my @errors;
-    local $BML::ML_SCOPE = "/editinfo.bml";
-
-    if ($LJ::EMAIL_CHANGE_REQUIRES_PASSWORD) {
-        push @errors, "You cannot change your email address here.";
-    } else {
-        push @errors, $BML::ML{'.error.email.none'}
-           unless $email;
-
-        push @errors, BML::ml(".error.email.lj_domain", { 'user' => $u->{'user'}, 'domain' => $LJ::USER_DOMAIN, })
-            if ($LJ::USER_EMAIL and $email =~ /\@\Q$LJ::USER_DOMAIN\E$/i);
-
-        push @errors, $BML::ML{'.error.email.no_space'}
-            if $email =~ /\s/;
-    }
-
-    LJ::check_email($email, \@errors) unless @errors;
-
-    return 1 unless @errors;
-    $class->errors(email => join(", ", @errors));
-}
-
-sub as_html {
-    my ($class, $u, $errs) = @_;
-    $errs ||= {};
-
-    my $disabled = 0;
-    if ($LJ::EMAIL_CHANGE_REQUIRES_PASSWORD) {
-        $disabled = 1;
-    }
-
-    my $key = $class->pkgkey;
-    my $ret = "What's your email address? " .
-        LJ::html_text({
-            name  => "${key}email",
-            value => $u->email_raw,
-            size  => 40,
-            disabled => $disabled,
-        });
-
-    if ($LJ::EMAIL_CHANGE_REQUIRES_PASSWORD) {
-        $ret .= "<p>$LJ::SITENAME requires that you change your email address over a secure connection, here: <a href='$LJ::SITEROOT/changeemail.bml'>change email</a>.</p>";
-    }
-
-    $ret .= $class->errdiv($errs, "email");
-    return $ret;
-}
-
-1;
diff -r c03ef3bb3c46 -r 2053cd34e3c2 cgi-bin/LJ/Setting/GraphicPreviews.pm
--- a/cgi-bin/LJ/Setting/GraphicPreviews.pm	Thu Jul 09 00:10:10 2009 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-package LJ::Setting::GraphicPreviews;
-use base 'LJ::Setting';
-use strict;
-use warnings;
-
-sub should_render {
-    my ($class, $u) = @_;
-
-    my $graphicpreviews_obj = LJ::graphicpreviews_obj();
-    return $u && $graphicpreviews_obj->is_enabled($u) ? 1 : 0;
-}
-
-sub helpurl {
-    my ($class, $u) = @_;
-
-    return "graphic_previews";
-}
-
-sub label {
-    my $class = shift;
-
-    return $class->ml('setting.graphicpreviews.label');
-}
-
-sub option {
-    my ($class, $u, $errs, $args) = @_;
-    my $key = $class->pkgkey;
-
-    my $graphicpreviews_obj = LJ::graphicpreviews_obj();
-
-    my $ret = LJ::html_check({
-        name => "${key}graphicpreviews",
-        id => "${key}graphicpreviews",
-        value => 1,
-        selected => $class->get_arg($args, "graphicpreviews") || $graphicpreviews_obj->should_render($u) ? 1 : 0,
-    });
-    $ret .= " <label for='${key}graphicpreviews'>";
-    $ret .= $u->is_community ? $class->ml('setting.graphicpreviews.option.comm') : $class->ml('setting.graphicpreviews.option.self');
-    $ret .= "</label>";
-
-    return $ret;
-}
-
-sub save {
-    my ($class, $u, $args) = @_;
-
-    my $post_val = $class->get_arg($args, "graphicpreviews") ? "on" : "off";
-    my $prop_val = $u->show_graphic_previews;
-    if ($post_val ne $prop_val) {
-        my $new_val = "explicit_$post_val";
-        $u->set_prop('show_graphic_previews', $new_val);
-    }
-
-    return 1;
-}
-
-1;
diff -r c03ef3bb3c46 -r 2053cd34e3c2 cgi-bin/LJ/Setting/MangleEmail.pm
--- a/cgi-bin/LJ/Setting/MangleEmail.pm	Thu Jul 09 00:10:10 2009 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-package LJ::Setting::MangleEmail;
-use base 'LJ::Setting::BoolSetting';
-use strict;
-use warnings;
-
-sub tags { qw(email hide obscure mangle spam) }
-
-sub label {
-    local $BML::ML_SCOPE = "/editinfo.bml";
-    return $BML::ML{'.mangleaddress.header'};
-}
-
-sub des {
-    local $BML::ML_SCOPE = "/editinfo.bml";
-    return $BML::ML{'.mangleaddress.about'};
-}
-
-sub user_field { "opt_mangleemail" }
-sub checked_value { "Y" }
-sub unchecked_value { "N" }
-
-1;
-
-
-
diff -r c03ef3bb3c46 -r 2053cd34e3c2 cgi-bin/LJ/Setting/SMS.pm
--- a/cgi-bin/LJ/Setting/SMS.pm	Thu Jul 09 00:10:10 2009 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-package LJ::Setting::SMS;
-use base 'LJ::Setting';
-use strict;
-use warnings;
-
-sub should_render {
-    my ($class, $u) = @_;
-
-    return $u && !$u->is_community && $u->can_use_sms ? 1 : 0;
-}
-
-sub helpurl {
-    my ($class, $u) = @_;
-
-    return "sms_about";
-}
-
-sub label {
-    my $class = shift;
-
-    return $LJ::SMS_TITLE;
-}
-
-sub option {
-    my ($class, $u, $errs, $args) = @_;
-    my $key = $class->pkgkey;
-
-    my $current_msisdn = $class->get_arg($args, "sms_phone") || $u->sms_mapped_number;
-    my ($area, $prefix, $num) = $current_msisdn =~ /\+1(\d{3})(\d{3})(\d{4})/ if $current_msisdn;
-    $current_msisdn = "$area-$prefix-$num" if $area && $prefix && $num;
-
-    my $carrier = $class->get_arg($args, "sms_carrier") || $u->prop("sms_carrier");
-    my @carriers;
-    if (%LJ::SMS_CARRIERS) {
-        my @keys = @LJ::SMS_CARRIER_ORDER ? @LJ::SMS_CARRIER_ORDER : keys %LJ::SMS_CARRIERS;
-
-        foreach my $k (@keys) {
-            my $v = $LJ::SMS_CARRIERS{$k} or next;
-            $v .= '<super>&reg;</super>' unless $k eq 'other';
-            push @carriers, ($k, $v);
-        }
-    }    
-
-    my $ret .= "<p>" . $class->ml('setting.sms.option', { sitename => $LJ::SITENAMESHORT, aopts => "href='$LJ::SITEROOT/manage/sms/textcommands.bml'" }) . "</p>";
-
-    $ret .= "<table class='setting_table' cellspacing='5' cellpadding='0'>";
-
-    $ret .= "<tr><td class='setting_label'><label for='${key}sms_phone'>" . $class->ml('setting.sms.option.phone') . "</label></td>";
-    $ret .= "<td>" . LJ::html_text({
-        name => "${key}sms_phone",
-        id => "${key}sms_phone",
-        value => $current_msisdn || "",
-    });
-    my $phone_errdiv = $class->errdiv($errs, "sms_phone");
-    $ret .= "<br />$phone_errdiv" if $phone_errdiv;
-    $ret .= "</td></tr>";
-
-    $ret .= "<tr><td class='setting_label'><label for='${key}sms_carrier'>" . $class->ml('setting.sms.option.carrier') . "</label></td>";
-    $ret .= "<td>" . LJ::html_select({
-        name => "${key}sms_carrier",
-        id => "${key}sms_carrier",
-        selected => $carrier || "",
-        noescape => 1,
-    }, ("", $class->ml('setting.sms.option.carrier.selectone')), @carriers);
-    my $carrier_errdiv = $class->errdiv($errs, "sms_carrier");
-    $ret .= "<br />$carrier_errdiv" if $carrier_errdiv;
-    $ret .= "</td></tr>";
-
-    $ret .= "<tr><td>&nbsp;</td>";
-    $ret .= "<td><a href='$LJ::SITEROOT/manage/sms/'>" . $class->ml('setting.sms.option.advanced') . "</a></td></tr>";
-
-    $ret .= "</table>";
-
-    return $ret;
-}
-
-sub save {
-    my ($class, $u, $args) = @_;
-
-    my $phone_val = $class->get_arg($args, "sms_phone");
-    my $carrier_val = $class->get_arg($args, "sms_carrier");
-
-    # set carrier
-    {
-        if (%LJ::SMS_CARRIERS && $carrier_val && grep { $_ eq $carrier_val } keys %LJ::SMS_CARRIERS) {
-            $u->set_prop( sms_carrier => $carrier_val );
-
-        # invalid carrier
-        } elsif ($carrier_val) {
-            $class->errors( sms_carrier => $class->ml('setting.sms.error.carrier.invalid') );
-
-        # clear carrier
-        } elsif (!$carrier_val && !$phone_val) {
-            $u->set_prop( sms_carrier => undef );
-        }
-    }
-
-    my $new_msisdn = $phone_val;
-
-    # user posted but with blank msisdn, clear it if it's mapped
-    unless ($new_msisdn) {
-        $u->delete_sms_number;
-        $u->set_prop( sms_carrier => undef );
-    }
-
-    # strip out invalid characters
-    $new_msisdn =~ s/[^\+\d]//g if $new_msisdn;
-
-    # normalize given number to actual msisdn for storage in db
-    if ($new_msisdn =~ /^\+?1?(\d{10})$/ && $1 !~ /^555/ && $u->prop("sms_carrier")) {
-        # strip off leading + and leading 1, then re-add to normalize
-        $new_msisdn =~ s/^\+//;
-        $new_msisdn =~ s/^1//;
-
-        # keep around a stripped version of the new msisdn, but also
-        # make $new_msisdn a canonicalized version with +1
-        my $new_msisdn_stripped = $new_msisdn;
-        $new_msisdn = "+1$new_msisdn";
-
-        # check for sysban on this msisdn
-        if (LJ::sysban_check("msisdn", $new_msisdn_stripped)) {
-            LJ::sysban_note($u->id, "Tried to register a banned MSISDN", { msisdn => $new_msisdn });
-            $class->errors( sms_phone => $class->ml('setting.sms.error.phone.failed', { number => $new_msisdn }) );
-        }
-
-        # if user entered a number which doesn't match their current mapping...
-        if ($u->sms_mapped_number ne $new_msisdn) {
-            # in this instance we're looking to see if someone already has this
-            # number verified in order to check for number stealing below
-            my $existing_num_uid = LJ::SMS->num_to_uid($new_msisdn, verified_only => 1);
-
-            # don't let them steal a number!
-            if ($existing_num_uid && $existing_num_uid != $u->id) {
-                $class->errors( sms_phone => $class->ml('setting.sms.error.phone.inuse') );
-
-            # check rate limiting
-            } elsif (!$u->rate_log("sms_register", 1)) {
-                $class->errors( sms_phone => $class->ml('setting.sms.error.phone.ratelimit') );
-
-            } else {
-                # map the number
-                $u->set_sms_number($new_msisdn, verified => 'N'); # not verified
-
-                # run the post-reg hook
-                my @errors;
-                LJ::run_hook('sms_post_register', u => $u, errors => \@errors);
-                foreach my $err (@errors) {
-                    $class->errors( sms_phone => $err );
-                }
-            }
-        }
-    } elsif (!$u->prop("sms_carrier") && $phone_val) {
-        # tried to set number but no carrier set
-        $class->errors( sms_carrier => $class->ml('setting.sms.error.carrier.none') );
-    } elsif ($phone_val) {
-        # user has not entered a valid number for registration
-        $class->errors( sms_phone => $class->ml('setting.sms.error.phone.invalid') );
-    }
-
-    LJ::run_hook('sms_bml_post', u => $u, POST => {});
-
-    return 1;
-}
-
-1;
diff -r c03ef3bb3c46 -r 2053cd34e3c2 cgi-bin/LJ/Setting/SMSPostNotify.pm
--- a/cgi-bin/LJ/Setting/SMSPostNotify.pm	Thu Jul 09 00:10:10 2009 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-package LJ::Setting::SMSPostNotify;
-use base 'LJ::Setting::BoolSetting';
-use strict;
-use warnings;
-no warnings 'redefine';
-
-sub tags { qw(sms post notify notification) }
-
-sub label {
-    return "Subscribe to SMS posts";
-}
-
-sub des {
-    return "When posting with SMS, automatically subscribe to comments via SMS";
-}
-
-sub is_selected {
-    my ($class, $u) = @_;
-    return $u->prop('sms_post_notify');
-}
-
-sub prop_name { "sms_post_notify" }
-sub checked_value { "SMS" }
-sub unchecked_value { "N" }
-
-1;
diff -r c03ef3bb3c46 -r 2053cd34e3c2 cgi-bin/LJ/Setting/WebpageURL.pm
--- a/cgi-bin/LJ/Setting/WebpageURL.pm	Thu Jul 09 00:10:10 2009 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-package LJ::Setting::WebpageURL;
-use base 'LJ::Setting::TextSetting';
-use strict;
-use warnings;
-
-sub tags { qw(webpage homepage url) }
-
-sub prop_name { "url" }
-sub text_size { 40 }
-sub question  { "Webpage URL:" }
-
-1;
-
-
-
--------------------------------------------------------------------------------

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
No Subject Icon Selected
More info about formatting

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