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-05-08 01:05 pm

[dw-free] Negatives, multiform select checkbox out of place

[commit: http://hg.dwscoalition.org/dw-free/rev/9744cbe5ad6a]

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

Let's be positive! Let's don't not avoid double negatives! Part 1

Patch by [personal profile] kareila.

Files modified:
  • bin/ljmaint.pl
  • bin/maint/stats.pl
  • bin/qbufferd.pl
  • cgi-bin/Apache/LiveJournal.pm
  • cgi-bin/DW/Logic/UserLinkBar.pm
  • cgi-bin/DW/User/Edges/WatchTrust.pm
  • cgi-bin/LJ/Console/Command/TagDisplay.pm
  • cgi-bin/LJ/Console/Command/TagPermissions.pm
  • cgi-bin/LJ/EmbedModule.pm
  • cgi-bin/LJ/Event.pm
  • cgi-bin/LJ/EventLogRecord.pm
  • cgi-bin/LJ/Hooks/PingBack.pm
  • cgi-bin/LJ/NotificationMethod.pm
  • cgi-bin/LJ/Portal/Box/PopWithFriends.pm
  • cgi-bin/LJ/S2.pm
  • cgi-bin/LJ/S2/EntryPage.pm
  • cgi-bin/LJ/S2/ReplyPage.pm
  • cgi-bin/LJ/SMS/Message.pm
  • cgi-bin/LJ/SMS/MessageHandler.pm
  • cgi-bin/LJ/Subscription.pm
  • cgi-bin/LJ/User.pm
  • cgi-bin/LJ/Widget/InboxFolderNav.pm
  • cgi-bin/LJ/Widget/UserpicDisplay.pm
  • cgi-bin/cleanhtml.pl
  • cgi-bin/communitylib.pl
  • cgi-bin/ljfeed.pl
  • cgi-bin/ljmemories.pl
  • cgi-bin/ljprotocol.pl
  • cgi-bin/ljrelation.pl
  • cgi-bin/modperl_subs.pl
  • cgi-bin/taglib.pl
  • cgi-bin/talklib.pl
  • cgi-bin/weblib.pl
  • htdocs/admin/schools/edit.bml
  • htdocs/admin/schools/merge.bml
  • htdocs/admin/schools/pending.bml
  • htdocs/admin/schools/rename.bml
  • htdocs/changepassword.bml
  • htdocs/editjournal.bml
  • htdocs/editpics.bml
  • htdocs/editprivacy.bml
  • htdocs/edittags.bml
  • htdocs/inbox/compose.bml
  • htdocs/inbox/index.bml
  • htdocs/interests.bml
  • htdocs/login.bml
  • htdocs/lostinfo.bml
  • htdocs/manage/emailpost.bml
  • htdocs/manage/profile/index.bml
  • htdocs/manage/subscriptions/comments.bml
  • htdocs/manage/subscriptions/entry.bml
  • htdocs/manage/subscriptions/user.bml
  • htdocs/manage/tags.bml
  • htdocs/schools/index.bml
  • htdocs/schools/manage.bml
  • htdocs/stats.bml
  • htdocs/support/faqbrowse.bml
  • htdocs/tools/tellafriend.bml
  • htdocs/update.bml
  • t/esn-end2end.t
--------------------------------------------------------------------------------
diff -r 8a1365af63d4 -r 9744cbe5ad6a bin/ljmaint.pl
--- a/bin/ljmaint.pl	Thu May 07 16:33:04 2009 +0000
+++ b/bin/ljmaint.pl	Fri May 08 13:04:45 2009 +0000
@@ -14,7 +14,7 @@ unless (-d $ENV{'LJHOME'}) {
 
 require "$ENV{'LJHOME'}/cgi-bin/ljlib.pl";
 
-if ($LJ::DISABLED{ljmaint_tasks}) {
+unless ( LJ::is_enabled('ljmaint_tasks') ) {
     print "ljmaint.pl tasks disabled, exiting\n";
     exit 0;
 }
diff -r 8a1365af63d4 -r 9744cbe5ad6a bin/maint/stats.pl
--- a/bin/maint/stats.pl	Thu May 07 16:33:04 2009 +0000
+++ b/bin/maint/stats.pl	Fri May 08 13:04:45 2009 +0000
@@ -55,7 +55,7 @@ require "$ENV{'LJHOME'}/cgi-bin/statslib
                    my $db = $db_getter->();
                    return undef unless $db;
 
-                   return {} if $LJ::DISABLED{'interests-popular'};
+                   return {} unless LJ::is_enabled('interests-popular');
 
                    # see what the previous min was, then subtract 20% of max from it
                    my ($prev_min, $prev_max) = $db->selectrow_array("SELECT MIN(statval), MAX(statval) " .
@@ -90,7 +90,7 @@ require "$ENV{'LJHOME'}/cgi-bin/statslib
                    my $db = $db_getter->();
                    return undef unless $db;
 
-                   return {} if $LJ::DISABLED{'clientversionlog'};
+                   return {} unless LJ::is_enabled('clientversionlog');
 
                    my $usertotal = $db->selectrow_array("SELECT MAX(userid) FROM user");
                    my $blocks = LJ::Stats::num_blocks($usertotal);
diff -r 8a1365af63d4 -r 9744cbe5ad6a bin/qbufferd.pl
--- a/bin/qbufferd.pl	Thu May 07 16:33:04 2009 +0000
+++ b/bin/qbufferd.pl	Fri May 08 13:04:45 2009 +0000
@@ -18,7 +18,7 @@ exit 1 unless GetOptions('foreground' =>
                          'stop' => \$opt_stop,
                          );
 
-if ($LJ::DISABLED{qbufferd_jobs}) {
+unless ( LJ::is_enabled('qbufferd_jobs') ) {
     print "qbufferd.pl jobs disabled, exiting\n";
     exit 0;
 }
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/Apache/LiveJournal.pm
--- a/cgi-bin/Apache/LiveJournal.pm	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/Apache/LiveJournal.pm	Fri May 08 13:04:45 2009 +0000
@@ -129,7 +129,7 @@ sub handler
         }
 
         # reload libraries that might've changed
-        if ($LJ::IS_DEV_SERVER && !$LJ::DISABLED{'module_reload'}) {
+        if ( $LJ::IS_DEV_SERVER && LJ::is_enabled('module_reload') ) {
             my %to_reload;
             while (my ($file, $mod) = each %LJ::LIB_MOD_TIME) {
                 my $cur_mod = (stat($file))[9];
@@ -675,9 +675,9 @@ sub trans
                 or return 404;
 
             my ($type, $nodeid) =
-                $LJ::DISABLED{'named_permalinks'} ? () :
+                LJ::is_enabled('named_permalinks') ?
                 $u->selectrow_array("SELECT nodetype, nodeid FROM urimap WHERE journalid=? AND uri=?",
-                                    undef, $u->{userid}, $key);
+                                    undef, $u->{userid}, $key) : ();
             if ($type eq "L") {
                 $ljentry = LJ::Entry->new($u, ditemid => $nodeid);
                 if ($GET{'mode'} eq "reply" || $GET{'replyto'} || $GET{'edit'}) {
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/DW/Logic/UserLinkBar.pm
--- a/cgi-bin/DW/Logic/UserLinkBar.pm	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/DW/Logic/UserLinkBar.pm	Fri May 08 13:04:45 2009 +0000
@@ -393,7 +393,7 @@ sub tellafriend {
     my $remote = $self->{remote};
     my $user = $u->user;
 
-    if ( $remote && $u->{journaltype} ne 'I' && ! $LJ::DISABLED{tellafriend} )
+    if ( $remote && $u->{journaltype} ne 'I' && LJ::is_enabled('tellafriend') )
     {
         my $link = {
             url => "tools/tellafriend.bml?user=$user",
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/DW/User/Edges/WatchTrust.pm
--- a/cgi-bin/DW/User/Edges/WatchTrust.pm	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/DW/User/Edges/WatchTrust.pm	Fri May 08 13:04:45 2009 +0000
@@ -138,7 +138,7 @@ sub _add_wt_edge {
 
     # fire notifications if we have theschwartz
     if ( my $sclient = LJ::theschwartz() ) {
-        my $notify = !$LJ::DISABLED{esn} &&
+        my $notify = LJ::is_enabled('esn') &&
             !$from_u->equals( $to_u ) &&
             $from_u->is_visible &&
             ( $from_u->is_personal || $from_u->is_identity ) &&
@@ -217,7 +217,7 @@ sub _del_wt_edge {
 
     # fire notifications if we have theschwartz
     if ( my $sclient = LJ::theschwartz() ) {
-        my $notify = !$LJ::DISABLED{esn} &&
+        my $notify = LJ::is_enabled('esn') &&
             !$from_u->equals( $to_u ) &&
             $from_u->is_visible &&
             ( $from_u->is_personal || $from_u->is_identity ) &&
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/LJ/Console/Command/TagDisplay.pm
--- a/cgi-bin/LJ/Console/Command/TagDisplay.pm	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/LJ/Console/Command/TagDisplay.pm	Fri May 08 13:04:45 2009 +0000
@@ -22,7 +22,7 @@ sub execute {
     my ($self, @args) = @_;
 
     return $self->error("Sorry, the tag system is currently disabled.")
-        if $LJ::DISABLED{tags};
+        unless LJ::is_enabled('tags');
 
     return $self->error("This command takes either two or four arguments. Consult the reference.")
         unless scalar(@args) == 2 || scalar(@args) == 4;
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/LJ/Console/Command/TagPermissions.pm
--- a/cgi-bin/LJ/Console/Command/TagPermissions.pm	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/LJ/Console/Command/TagPermissions.pm	Fri May 08 13:04:45 2009 +0000
@@ -22,7 +22,7 @@ sub execute {
     my ($self, @args) = @_;
 
     return $self->error("Sorry, the tag system is currently disabled.")
-        if $LJ::DISABLED{tags};
+        unless LJ::is_enabled('tags');
 
     return $self->error("This command takes either two or four arguments. Consult the reference.")
         unless scalar(@args) == 2 || scalar(@args) == 4;
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/LJ/EmbedModule.pm
--- a/cgi-bin/LJ/EmbedModule.pm	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/LJ/EmbedModule.pm	Fri May 08 13:04:45 2009 +0000
@@ -220,7 +220,7 @@ sub module_iframe_tag {
 sub module_iframe_tag {
     my ($class, $u, $moduleid, %opts) = @_;
 
-    return '' if $LJ::DISABLED{embed_module};
+    return '' unless LJ::is_enabled('embed_module');
 
     my $journalid = $u->userid;
     $moduleid += 0;
@@ -372,7 +372,7 @@ sub module_content {
     LJ::text_uncompress(\$content) if $content =~ s/^C-//;
 
     # clean js out of content
-    unless ($LJ::DISABLED{'embedmodule-cleancontent'}) {
+    if ( LJ::is_enabled('embedmodule-cleancontent') ) {
         LJ::CleanHTML::clean(\$content, {
             addbreaks => 0,
             tablecheck => 0,
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/LJ/Event.pm
--- a/cgi-bin/LJ/Event.pm	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/LJ/Event.pm	Fri May 08 13:04:45 2009 +0000
@@ -234,7 +234,7 @@ sub process_fired_events {
 # are no subscriptions for the event.
 sub fire {
     my $self = shift;
-    return 0 if $LJ::DISABLED{'esn'};
+    return 0 unless LJ::is_enabled('esn');
 
     my $sclient = LJ::theschwartz( { role => $self->schwartz_role } );
     return 0 unless $sclient;
@@ -251,7 +251,7 @@ sub fire {
 # return undef.
 sub fire_job {
     my $self = shift;
-    return if $LJ::DISABLED{'esn'};
+    return unless LJ::is_enabled('esn');
 
     if (my $val = $LJ::DEBUG{'firings'}) {
         if (ref $val eq "CODE") {
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/LJ/EventLogRecord.pm
--- a/cgi-bin/LJ/EventLogRecord.pm	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/LJ/EventLogRecord.pm	Fri May 08 13:04:45 2009 +0000
@@ -40,7 +40,7 @@ sub params {
 # creates a job to insert into the schwartz to process this firing
 sub fire_job {
     my $self = shift;
-    return if $LJ::DISABLED{'eventlogrecord'};
+    return unless LJ::is_enabled('eventlogrecord');
 
     my $params = $self->params;
     $params->{_event_type} = $self->event_type;
@@ -53,7 +53,7 @@ sub fire_job {
 # inserts a job into the schwartz to process this event
 sub fire {
     my $self = shift;
-    return if $LJ::DISABLED{'eventlogrecord'};
+    return unless LJ::is_enabled('eventlogrecord');
 
     my $sclient = LJ::theschwartz()
         or die "Could not get TheSchwartz client";
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/LJ/Hooks/PingBack.pm
--- a/cgi-bin/LJ/Hooks/PingBack.pm	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/LJ/Hooks/PingBack.pm	Fri May 08 13:04:45 2009 +0000
@@ -4,8 +4,8 @@ use LJ::PingBack;
 
 sub has_pingback {
     my $u = shift;
-    return 0 if $LJ::DISABLED{'pingback'};
-    return 0 unless $u->is_in_beta("pingback");
+    return 0 unless LJ::is_enabled('pingback');
+    return 0 unless $u->is_in_beta('pingback');
     return 1;
 }
 
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/LJ/NotificationMethod.pm
--- a/cgi-bin/LJ/NotificationMethod.pm	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/LJ/NotificationMethod.pm	Fri May 08 13:04:45 2009 +0000
@@ -108,7 +108,7 @@ sub all_available_methods {
     croak "all_classes is a class method" unless $class;
 
     return grep {
-        ! $LJ::DISABLED{$_} &&
+        LJ::is_enabled($_) &&
         $_->configured
     } @LJ::NOTIFY_TYPES;
 }
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/LJ/Portal/Box/PopWithFriends.pm
--- a/cgi-bin/LJ/Portal/Box/PopWithFriends.pm	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/LJ/Portal/Box/PopWithFriends.pm	Fri May 08 13:04:45 2009 +0000
@@ -57,9 +57,7 @@ sub generate_content {
 
     my $LIMIT=300;
 
-    if ($LJ::DISABLED{'friendspopwithfriends'}) {
-        return 'Sorry, this feature is disabled.';
-    }
+    return 'Sorry, this feature is disabled.' unless LJ::is_enabled('friendspopwithfriends');
 
     unless (LJ::get_cap($u, "friendspopwithfriends")) {
         return BML::ml("portal.popwithfriends.accttype");
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/LJ/S2.pm
--- a/cgi-bin/LJ/S2.pm	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/LJ/S2.pm	Fri May 08 13:04:45 2009 +0000
@@ -1856,10 +1856,10 @@ sub Entry
     $e->{'depth'} = 0;  # Entries are always depth 0.  Comments are 1+.
 
     my $link_keyseq = $e->{'link_keyseq'};
-    push @$link_keyseq, 'mem_add' unless $LJ::DISABLED{'memories'};
-    push @$link_keyseq, 'tell_friend' unless $LJ::DISABLED{'tellafriend'};
-    push @$link_keyseq, 'watch_comments' unless $LJ::DISABLED{'esn'};
-    push @$link_keyseq, 'unwatch_comments' unless $LJ::DISABLED{'esn'};
+    push @$link_keyseq, 'mem_add' if LJ::is_enabled('memories');
+    push @$link_keyseq, 'tell_friend' if LJ::is_enabled('tellafriend');
+    push @$link_keyseq, 'watch_comments' if LJ::is_enabled('esn');
+    push @$link_keyseq, 'unwatch_comments' if LJ::is_enabled('esn');
 
     # Note: nav_prev and nav_next are not included in the keyseq anticipating
     #      that their placement relative to the others will vary depending on
@@ -2232,7 +2232,7 @@ sub UserLite
     };
     my $lks = $o->{link_keyseq};
     push @$lks, qw(manage_membership trust watch post_entry track message);
-    push @$lks, 'tell_friend' unless $LJ::DISABLED{tellafriend};
+    push @$lks, 'tell_friend' if LJ::is_enabled('tellafriend');
 
     # TODO: Figure out some way to use the userinfo_linkele hook here?
 
@@ -2923,7 +2923,7 @@ sub _Comment__get_link
 
     
     if ($key eq "watch_thread" || $key eq "unwatch_thread" || $key eq "watching_parent") {
-        return $null_link if $LJ::DISABLED{'esn'};
+        return $null_link unless LJ::is_enabled('esn');
         return $null_link unless $remote && $remote->can_use_esn;
 
         if ($key eq "unwatch_thread") {
@@ -3123,7 +3123,7 @@ sub _print_quickreply_link
     }
 
     $onclick = "" unless $page->{'_type'} eq 'EntryPage';
-    $onclick = "" if $LJ::DISABLED{'s2quickreply'};
+    $onclick = "" unless LJ::is_enabled('s2quickreply');
 
     # See if we want to force them to change their password
     my $bp = LJ::bad_password_redirect({ 'returl' => 1 });
@@ -3498,7 +3498,7 @@ sub _Entry__get_link
                             LJ::S2::Image("$LJ::IMGPREFIX/silk/entry/tag_edit.png", 16, 16));
     }
     if ($key eq "tell_friend") {
-        return $null_link if $LJ::DISABLED{'tellafriend'};
+        return $null_link unless LJ::is_enabled('tellafriend');
         my $entry = LJ::Entry->new($journalu->{'userid'}, ditemid => $this->{'itemid'});
         return $null_link unless $entry->can_tellafriend($remote);
         return LJ::S2::Link("$LJ::SITEROOT/tools/tellafriend.bml?journal=$journal&itemid=$this->{'itemid'}",
@@ -3506,7 +3506,7 @@ sub _Entry__get_link
                             LJ::S2::Image("$LJ::IMGPREFIX/silk/entry/tellafriend.png", 16, 16));
     }
     if ($key eq "mem_add") {
-        return $null_link if $LJ::DISABLED{'memories'};
+        return $null_link unless LJ::is_enabled('memories');
         return LJ::S2::Link("$LJ::SITEROOT/tools/memadd.bml?journal=$journal&itemid=$this->{'itemid'}",
                             $ctx->[S2::PROPS]->{"text_mem_add"},
                             LJ::S2::Image("$LJ::IMGPREFIX/silk/entry/memories_add.png", 16, 16));
@@ -3547,7 +3547,7 @@ sub _Entry__get_link
     }
 
     if ($key eq "watch_comments") {
-        return $null_link if $LJ::DISABLED{'esn'};
+        return $null_link unless LJ::is_enabled('esn');
         return $null_link unless $remote && $remote->can_use_esn;
         return $null_link if $remote->has_subscription(
                                                        journal => LJ::load_user($journal),
@@ -3578,7 +3578,7 @@ sub _Entry__get_link
                                           'class'               => 'TrackButton'));
     }
     if ($key eq "unwatch_comments") {
-        return $null_link if $LJ::DISABLED{'esn'};
+        return $null_link unless LJ::is_enabled('esn');
         return $null_link unless $remote && $remote->can_use_esn;
         my @subs = $remote->has_subscription(
                                              journal => LJ::load_user($journal),
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/LJ/S2/EntryPage.pm
--- a/cgi-bin/LJ/S2/EntryPage.pm	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/LJ/S2/EntryPage.pm	Fri May 08 13:04:45 2009 +0000
@@ -71,7 +71,7 @@ sub EntryPage
                     stc/lj_base.css
                     js/datasource.js
                     js/selectable_table.js
-                    )) if ! $LJ::DISABLED{userpicselect} && $remote && $remote->get_cap('userpicselect');
+                    )) if LJ::is_enabled('userpicselect') && $remote && $remote->get_cap('userpicselect');
 
     LJ::need_res(qw(
                     js/x_core.js
@@ -263,10 +263,10 @@ sub EntryPage
             my $link_keyseq = $s2com->{'link_keyseq'};
             push @$link_keyseq, $s2com->{'screened'} ? 'unscreen_comment' : 'screen_comment';
             push @$link_keyseq, $s2com->{'frozen'} ? 'unfreeze_thread' : 'freeze_thread';
-            push @$link_keyseq, "watch_thread" unless $LJ::DISABLED{'esn'};
-            push @$link_keyseq, "unwatch_thread" unless $LJ::DISABLED{'esn'};
-            push @$link_keyseq, "watching_parent" unless $LJ::DISABLED{'esn'};
-            unshift @$link_keyseq, "edit_comment" if LJ::is_enabled("edit_comments");
+            push @$link_keyseq, "watch_thread" if LJ::is_enabled('esn');
+            push @$link_keyseq, "unwatch_thread" if LJ::is_enabled('esn');
+            push @$link_keyseq, "watching_parent" if LJ::is_enabled('esn');
+            unshift @$link_keyseq, "edit_comment" if LJ::is_enabled('edit_comments');
 
             $s2com->{'thread_url'} = LJ::Talk::talkargs($permalink, "thread=$dtalkid", $style_arg) . "#t$dtalkid";
 
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/LJ/S2/ReplyPage.pm
--- a/cgi-bin/LJ/S2/ReplyPage.pm	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/LJ/S2/ReplyPage.pm	Fri May 08 13:04:45 2009 +0000
@@ -194,10 +194,10 @@ sub ReplyPage
         my $link_keyseq = $replyto->{'link_keyseq'};
         push @$link_keyseq, $replyto->{'screened'} ? 'unscreen_comment' : 'screen_comment';
         push @$link_keyseq, $replyto->{'frozen'} ? 'unfreeze_thread' : 'freeze_thread';
-        push @$link_keyseq, "watch_thread" unless $LJ::DISABLED{'esn'};
-        push @$link_keyseq, "unwatch_thread" unless $LJ::DISABLED{'esn'};
-        push @$link_keyseq, "watching_parent" unless $LJ::DISABLED{'esn'};
-        unshift @$link_keyseq, "edit_comment" if LJ::is_enabled("edit_comments");
+        push @$link_keyseq, "watch_thread" if LJ::is_enabled('esn');
+        push @$link_keyseq, "unwatch_thread" if LJ::is_enabled('esn');
+        push @$link_keyseq, "watching_parent" if LJ::is_enabled('esn');
+        unshift @$link_keyseq, "edit_comment" if LJ::is_enabled('edit_comments');
     }
 
     $p->{'replyto'} = $replyto;
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/LJ/SMS/Message.pm
--- a/cgi-bin/LJ/SMS/Message.pm	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/LJ/SMS/Message.pm	Fri May 08 13:04:45 2009 +0000
@@ -851,7 +851,7 @@ sub send {
     };
 
     # is SMS disabled?
-    return $err->("SMS is disabled") if $LJ::DISABLED{sms};
+    return $err->("SMS is disabled") unless LJ::is_enabled('sms');
 
     # verify type of this message
     $self->type('outgoing');
@@ -863,7 +863,7 @@ sub send {
 
     # do not send a message to a user with no quota remaining
     return $err->("no quota remaining")
-        unless $LJ::DISABLED{sms_quota_check} || $opts{no_quota} || $to_u->sms_quota_remaining || $LJ::_T_NO_SMS_QUOTA;
+        unless ! LJ::is_enabled('sms_quota_check') || $opts{no_quota} || $to_u->sms_quota_remaining || $LJ::_T_NO_SMS_QUOTA;
 
     # do not send message to this user unless they are confirmed and active
     return $err->("sms not active for user: $to_u->{user}")
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/LJ/SMS/MessageHandler.pm
--- a/cgi-bin/LJ/SMS/MessageHandler.pm	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/LJ/SMS/MessageHandler.pm	Fri May 08 13:04:45 2009 +0000
@@ -22,9 +22,7 @@ sub handle {
 
     # this is the master switch, not a code ref... if it's set we
     # won't even attempt to save/process SMS messages
-    if ($LJ::DISABLED{sms}) {
-        die "SMS globally disabled\n";
-    }
+    die "SMS globally disabled\n" unless LJ::is_enabled('sms');
 
     # save msg to the db
     $msg->save_to_db
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/LJ/Subscription.pm
--- a/cgi-bin/LJ/Subscription.pm	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/LJ/Subscription.pm	Fri May 08 13:04:45 2009 +0000
@@ -546,7 +546,7 @@ sub process {
     # pass along debugging information from the schwartz job
     $note->{_debug_headers} = $self->{_debug_headers} if $LJ::DEBUG{esn_email_headers};
 
-    return 1 if $self->etypeid == LJ::Event::OfficialPost->etypeid && $LJ::DISABLED{"officialpost_esn"};
+    return 1 if $self->etypeid == LJ::Event::OfficialPost->etypeid && ! LJ::is_enabled('officialpost_esn');
 
     # significant events (such as SecurityAttributeChanged) must be processed even for inactive users.
     return 1
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/LJ/User.pm
--- a/cgi-bin/LJ/User.pm	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/LJ/User.pm	Fri May 08 13:04:45 2009 +0000
@@ -995,7 +995,7 @@ sub note_activity {
     return undef unless @LJ::MEMCACHE_SERVERS;
 
     # Also disable via config flag
-    return undef if $LJ::DISABLED{active_user_tracking};
+    return undef unless LJ::is_enabled('active_user_tracking');
 
     my $now    = time();
     my $uid    = $u->{userid}; # yep, lazy typist w/ rsi
@@ -1276,7 +1276,7 @@ sub note_transition {
     my ($u, $what, $from, $to) = @_;
     croak "invalid user object" unless LJ::isu($u);
 
-    return 1 if $LJ::DISABLED{user_transitions};
+    return 1 unless LJ::is_enabled('user_transitions');
 
     # we don't want to insert if the requested transition is already
     # the last noted one for this user... in that case there has been
@@ -1575,7 +1575,7 @@ sub can_use_stylealwaysmine {
     my $u = shift;
     my $ret = 0;
 
-    return 0 if $LJ::DISABLED{stylealwaysmine};
+    return 0 unless LJ::is_enabled('stylealwaysmine');
     $ret = LJ::run_hook("can_use_stylealwaysmine", $u);
     return $ret;
 }
@@ -2187,7 +2187,7 @@ sub show_thread_expander {
 
 sub _lazy_migrate_infoshow {
     my ($u) = @_;
-    return 1 if $LJ::DISABLED{infoshow_migrate};
+    return 1 unless LJ::is_enabled('infoshow_migrate');
 
     # 1) column exists, but value is migrated
     # 2) column has died from 'user')
@@ -4537,7 +4537,7 @@ sub can_use_ebox_ui {
     my $u = shift;
     my $allow_ebox = 1;
 
-    if ($LJ::DISABLED{ebox_option}) {
+    unless ( LJ::is_enabled('ebox_option') ) {
         $allow_ebox = $u->prop('journal_box_entries');
     }
 
@@ -4668,7 +4668,7 @@ sub show_control_strip {
 sub show_control_strip {
     my $u = shift;
 
-    LJ::run_hook('control_strip_propcheck', $u, 'show_control_strip') unless $LJ::DISABLED{control_strip_propcheck};
+    LJ::run_hook('control_strip_propcheck', $u, 'show_control_strip') if LJ::is_enabled('control_strip_propcheck');
 
     my $prop = $u->raw_prop('show_control_strip');
     return 0 if $prop =~ /^off/;
@@ -4682,7 +4682,7 @@ sub view_control_strip {
 sub view_control_strip {
     my $u = shift;
 
-    LJ::run_hook('control_strip_propcheck', $u, 'view_control_strip') unless $LJ::DISABLED{control_strip_propcheck};
+    LJ::run_hook('control_strip_propcheck', $u, 'view_control_strip') if LJ::is_enabled('control_strip_propcheck');
 
     my $prop = $u->raw_prop('view_control_strip');
     return 0 if $prop =~ /^off/;
@@ -4854,7 +4854,7 @@ sub message_url {
     my $u = shift;
     croak "invalid user object passed" unless LJ::isu($u);
 
-    return undef if $LJ::DISABLED{user_messaging};
+    return undef unless LJ::is_enabled('user_messaging');
     return "$LJ::SITEROOT/inbox/compose.bml?user=$u->{'user'}";
 }
 
@@ -6019,7 +6019,7 @@ sub get_remote
     # keep track of activity for the user we just loaded from db/memcache
     # - if necessary, this code will actually run in Apache's cleanup handler
     #   so latency won't affect the user
-    if (@LJ::MEMCACHE_SERVERS && ! $LJ::DISABLED{active_user_tracking}) {
+    if ( @LJ::MEMCACHE_SERVERS && LJ::is_enabled('active_user_tracking') ) {
         push @LJ::CLEANUP_HANDLERS, sub { $u->note_activity('A') };
     }
 
@@ -7935,7 +7935,7 @@ sub bad_password_redirect {
     my $remote = LJ::get_remote();
     return undef unless $remote;
 
-    return undef if $LJ::DISABLED{'force_pass_change'};
+    return undef unless LJ::is_enabled('force_pass_change');
 
     return undef unless $remote->prop('badpassword');
 
@@ -8497,7 +8497,7 @@ sub make_journal
 
         # error if disabled
         return $error->("Sorry, the tag system is currently disabled.", "404 Not Found")
-            if $LJ::DISABLED{tags};
+            unless LJ::is_enabled('tags');
 
         # throw an error if we're rendering in S1, but not for renamed accounts
         return $error->("Sorry, tag filtering is not supported within S1 styles.", "404 Not Found")
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/LJ/Widget/InboxFolderNav.pm
--- a/cgi-bin/LJ/Widget/InboxFolderNav.pm	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/LJ/Widget/InboxFolderNav.pm	Fri May 08 13:04:45 2009 +0000
@@ -47,21 +47,21 @@ sub render_body {
     $message_button = qq{
         <form action="./compose.bml" method="GET">
         <input type="submit" value="<?_ml inbox.menu.new_message.btn _ml?>" style="width: 100%">
-        </form>} unless $LJ::DISABLED{user_messaging};
+        </form>} if LJ::is_enabled('user_messaging');
 
 
     $body .= qq{
             $message_button
             <div class="folders"><p>
             <a href="." id="esn_folder_all"><?_ml inbox.menu.all _ml?>$unread_all</a>};
-    $body .= qq{<a href=".?view=usermsg_recvd" class="subs" id="esn_folder_usermsg_recvd"><?_ml inbox.menu.messages _ml?>$unread_usermsg_recvd</a>} unless $LJ::DISABLED{user_messaging};
+    $body .= qq{<a href=".?view=usermsg_recvd" class="subs" id="esn_folder_usermsg_recvd"><?_ml inbox.menu.messages _ml?>$unread_usermsg_recvd</a>} if LJ::is_enabled('user_messaging');
     $body .= qq{<a href=".?view=friendplus" class="subs" id="esn_folder_friendplus"><?_ml inbox.menu.friend_updates _ml?>$unread_friend</a>
             <a href=".?view=birthday" class="subsubs" id="esn_folder_birthday"><?_ml inbox.menu.birthdays _ml?></a>
             <a href=".?view=befriended" class="subsubs" id="esn_folder_befriended"><?_ml inbox.menu.new_friends _ml?></a><a href=".?view=entrycomment" class="subs" id="esn_folder_entrycomment"><?_ml inbox.menu.entries_and_comments _ml?>$unread_entrycomment</a>
             <span class="subs">---</span>
             <a href=".?view=bookmark" class="subs" id="esn_folder_bookmark"><?_ml inbox.menu.bookmarks _ml?> <img src="$LJ::IMGPREFIX/flag_on.gif" width="12" height="14" border="0" /></a>};
-    $body .= qq{<a href=".?view=usermsg_sent" class="subs" id="esn_folder_usermsg_sent"><?_ml inbox.menu.sent _ml?>$unread_usermsg_sent</a>\n} unless $LJ::DISABLED{user_messaging};
-    $body .= qq{<a href=".?view=archived" class="subs" id="esn_folder_archived"><?_ml inbox.menu.archive _ml?></a>\n} unless $LJ::DISABLED{esn_archive};
+    $body .= qq{<a href=".?view=usermsg_sent" class="subs" id="esn_folder_usermsg_sent"><?_ml inbox.menu.sent _ml?>$unread_usermsg_sent</a>\n} if LJ::is_enabled('user_messaging');
+    $body .= qq{<a href=".?view=archived" class="subs" id="esn_folder_archived"><?_ml inbox.menu.archive _ml?></a>\n} if LJ::is_enabled('esn_archive');
     $body .= qq{
             </p></div>&nbsp;<br />
     };
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/LJ/Widget/UserpicDisplay.pm
--- a/cgi-bin/LJ/Widget/UserpicDisplay.pm	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/LJ/Widget/UserpicDisplay.pm	Fri May 08 13:04:45 2009 +0000
@@ -201,7 +201,7 @@ sub render_body {
                        userpic_preview();
                  };
         $$picform .= "insertViewThumbs()"
-            if (!$LJ::DISABLED{userpicselect} && $u->get_cap('userpicselect'));
+            if LJ::is_enabled('userpicselect') && $u->get_cap('userpicselect');
         $$picform .= "</script>\n";
 
     } elsif (!$u)  {
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/cleanhtml.pl
--- a/cgi-bin/cleanhtml.pl	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/cleanhtml.pl	Fri May 08 13:04:45 2009 +0000
@@ -470,7 +470,7 @@ sub clean
             elsif ($tag eq "style") {
                 my $style = $p->get_text("/style");
                 $p->get_tag("/style");
-                unless ($LJ::DISABLED{'css_cleaner'}) {
+                if ( LJ::is_enabled('css_cleaner') ) {
                     my $cleaner = LJ::CSS::Cleaner->new;
                     $style = $cleaner->clean($style);
                     LJ::run_hook('css_cleaner_transform', \$style);
@@ -648,7 +648,7 @@ sub clean
                             }
                         }
 
-                        if ($opts->{'clean_js_css'} && ! $LJ::DISABLED{'css_cleaner'}) {
+                        if ( $opts->{'clean_js_css'} && LJ::is_enabled('css_cleaner') ) {
                             # and then run it through a harder CSS cleaner that does a full parse
                             my $css = LJ::CSS::Cleaner->new;
                             $hash->{style} = $css->clean_property($hash->{style});
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/communitylib.pl
--- a/cgi-bin/communitylib.pl	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/communitylib.pl	Fri May 08 13:04:45 2009 +0000
@@ -119,7 +119,7 @@ sub send_comm_invite {
     }
 
     # Fire community invite event
-    LJ::Event::CommunityInvite->new($u, $mu, $cu)->fire unless $LJ::DISABLED{esn};
+    LJ::Event::CommunityInvite->new($u, $mu, $cu)->fire if LJ::is_enabled('esn');
 
     # step 7: error check database work
     return LJ::error('db') if $u->err || $cu->err;
@@ -414,7 +414,7 @@ sub approve_pending_member {
     unless ($u->has_subscription(%params)) {
         $u->subscribe(%params, method => 'Email');
     }
-    LJ::Event::CommunityJoinApprove->new($u, $cu)->fire unless $LJ::DISABLED{esn};
+    LJ::Event::CommunityJoinApprove->new($u, $cu)->fire if LJ::is_enabled('esn');
 
     return 1;
 }
@@ -445,7 +445,7 @@ sub reject_pending_member {
     unless ($u->has_subscription(%params)) {
         $u->subscribe(%params, method => 'Email');
     }
-    LJ::Event::CommunityJoinReject->new($u, $cu)->fire unless $LJ::DISABLED{esn};
+    LJ::Event::CommunityJoinReject->new($u, $cu)->fire if LJ::is_enabled('esn');
 
     return 1;
 }
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/ljfeed.pl
--- a/cgi-bin/ljfeed.pl	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/ljfeed.pl	Fri May 08 13:04:45 2009 +0000
@@ -712,7 +712,7 @@ sub create_view_foaf {
 
     # user schools
     if ($u->{'journaltype'} ne 'Y' &&
-        !$LJ::DISABLED{'schools'}  &&
+        LJ::is_enabled('schools')  &&
         ($u->{'opt_showschools'} eq '' || $u->{'opt_showschools'} eq 'Y')) {
 
         my $schools = LJ::Schools::get_attended($u);
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/ljmemories.pl
--- a/cgi-bin/ljmemories.pl	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/ljmemories.pl	Fri May 08 13:04:45 2009 +0000
@@ -316,7 +316,7 @@ sub _get_memcache_keyword_counts {
 
     # Loop over our memcache results, get counts and total them as we go
     my (%output_counts, @missing_keys);
-    my $memcache_counts = $LJ::DISABLED{'memkwcnt_memcaching'} ? {} : LJ::MemCache::get_multi(map { [$userid, $_] } @memcache_keys);
+    my $memcache_counts = LJ::is_enabled('memkwcnt_memcaching') ? LJ::MemCache::get_multi(map { [$userid, $_] } @memcache_keys) : {};
     foreach my $memcache_key (@memcache_keys) {
         my $counts = $memcache_counts->{$memcache_key};
         if ($counts) { # Add these memcache counts to totals
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/ljprotocol.pl
--- a/cgi-bin/ljprotocol.pl	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/ljprotocol.pl	Fri May 08 13:04:45 2009 +0000
@@ -460,7 +460,7 @@ sub sendmessage
 {
     my ($req, $err, $flags) = @_;
 
-    return fail($err, 315) if $LJ::DISABLED{user_messaging};
+    return fail($err, 315) unless LJ::is_enabled('user_messaging');
 
     return undef unless authenticate($req, $err, $flags);
     my $u = $flags->{'u'};
@@ -625,7 +625,7 @@ sub login
 
     ## update or add to clientusage table
     if ($req->{'clientversion'} =~ /^\S+\/\S+$/ &&
-        ! $LJ::DISABLED{'clientversionlog'})
+        LJ::is_enabled('clientversionlog'))
     {
         my $client = $req->{'clientversion'};
 
@@ -1500,8 +1500,8 @@ sub postevent
     my @jobs;  # jobs to add into TheSchwartz
 
     # notify weblogs.com of post if necessary
-    if (!$LJ::DISABLED{'weblogs_com'} && $u->{'opt_weblogscom'} && LJ::get_cap($u, "weblogscom") &&
-        $security eq "public" && !$req->{'props'}->{'opt_backdated'}) {
+    if ( LJ::is_enabled('weblogs_com') && $u->{'opt_weblogscom'} && LJ::get_cap($u, "weblogscom") &&
+        ($security eq "public") && !$req->{'props'}->{'opt_backdated'} ) {
         push @jobs, TheSchwartz::Job->new_from_array("LJ::Worker::Ping::WeblogsCom", {
             'user' => $u->{'user'},
             'title' => $u->{'journaltitle'} || $u->{'name'},
@@ -1539,7 +1539,7 @@ sub postevent
     # but still fire the logging events
     unless ( $flags->{nonotify} ) {
         push @jobs, LJ::Event::JournalNewEntry->new($entry)->fire_job;
-        push @jobs, LJ::Event::UserNewEntry->new($entry)->fire_job if (!$LJ::DISABLED{'esn-userevents'} || $LJ::_T_FIRE_USERNEWENTRY);
+        push @jobs, LJ::Event::UserNewEntry->new($entry)->fire_job if ( LJ::is_enabled('esn-userevents') || $LJ::_T_FIRE_USERNEWENTRY );
         push @jobs, LJ::Event::OfficialPost->new($entry)->fire_job if $uowner->is_official;        
     }
     push @jobs, LJ::EventLogRecord::NewEntry->new($entry)->fire_job;
@@ -2000,7 +2000,7 @@ sub getevents
     }
     elsif ($req->{'selecttype'} eq "syncitems")
     {
-        return fail($err,506) if $LJ::DISABLED{'syncitems'};
+        return fail($err,506) unless LJ::is_enabled('syncitems');
         my $date = $req->{'lastsync'} || "0000-00-00 00:00:00";
         return fail($err,203,"Invalid syncitems date format")
             unless ($date =~ /^\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d/);
@@ -2386,7 +2386,7 @@ sub syncitems
     my ($req, $err, $flags) = @_;
     return undef unless authenticate($req, $err, $flags);
     return undef unless check_altusage($req, $err, $flags);
-    return fail($err,506) if $LJ::DISABLED{'syncitems'};
+    return fail($err,506) unless LJ::is_enabled('syncitems');
 
     my $ownerid = $flags->{'ownerid'};
     my $uowner = $flags->{'u_owner'} || $flags->{'u'};
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/ljrelation.pl
--- a/cgi-bin/ljrelation.pl	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/ljrelation.pl	Fri May 08 13:04:45 2009 +0000
@@ -189,7 +189,7 @@ sub load_rel_target_cache
 # </LJFUNC>
 sub _get_rel_memcache {
     return undef unless @LJ::MEMCACHE_SERVERS;
-    return undef if $LJ::DISABLED{memcache_reluser};
+    return undef unless LJ::is_enabled('memcache_reluser');
 
     my ($userid, $targetid, $type) = @_;
     return undef unless $userid && $targetid && defined $type;
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/modperl_subs.pl
--- a/cgi-bin/modperl_subs.pl	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/modperl_subs.pl	Fri May 08 13:04:45 2009 +0000
@@ -178,7 +178,7 @@ DirectoryIndex index.html index.bml
 });
     }
 
-    unless ($LJ::DISABLED{ignore_htaccess}) {
+    if ( LJ::is_enabled('ignore_htaccess') ) {
         LJ::ModPerl::add_httpd_config(qq{
 
 <Directory />
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/taglib.pl
--- a/cgi-bin/taglib.pl	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/taglib.pl	Fri May 08 13:04:45 2009 +0000
@@ -18,7 +18,7 @@ use strict;
 #          return value of LJ::Tags::get_usertags -- undef on failure
 # </LJFUNC>
 sub get_usertagsmulti {
-    return {} if $LJ::DISABLED{tags};
+    return {} unless LJ::is_enabled('tags');
 
     # options if provided
     my $opts = {};
@@ -263,7 +263,7 @@ sub _get_usertagsmulti {
 # returns: Hashref; key being tag id, value being a large hashref (FIXME: document)
 # </LJFUNC>
 sub get_usertags {
-    return {} if $LJ::DISABLED{tags};
+    return {} unless LJ::is_enabled('tags');
 
     my $u = LJ::want_user(shift)
         or return undef;
@@ -319,7 +319,7 @@ TAG:    foreach my $tagid (keys %$res) {
 # returns: Hashref; { jitemid => { tagid => tagname, tagid => tagname, ... }, ... }
 # </LJFUNC>
 sub get_logtags {
-    return {} if $LJ::DISABLED{tags};
+    return {} unless LJ::is_enabled('tags');
 
     my $u = LJ::want_user(shift);
     return undef unless $u;
@@ -350,7 +350,7 @@ sub get_logtags {
 #          { tagid => tagname, ... }
 # </LJFUNC>
 sub get_logtagsmulti {
-    return {} if $LJ::DISABLED{tags};
+    return {} unless LJ::is_enabled('tags');
 
     # get parameter (only one!)
     my $idsbycluster = shift;
@@ -456,7 +456,7 @@ sub get_logtagsmulti {
 # returns: 1 if allowed, 0 if not, undef on error
 # </LJFUNC>
 sub can_add_tags {
-    return undef if $LJ::DISABLED{tags};
+    return undef unless LJ::is_enabled('tags');
 
     my $u = LJ::want_user(shift);
     my $remote = LJ::want_user(shift);
@@ -481,7 +481,7 @@ sub can_add_tags {
 # returns: 1 if allowed, 0 if not, undef on error
 # </LJFUNC>
 sub can_control_tags {
-    return undef if $LJ::DISABLED{tags};
+    return undef unless LJ::is_enabled('tags');
 
     my $u = LJ::want_user(shift);
     my $remote = LJ::want_user(shift);
@@ -535,7 +535,7 @@ sub _remote_satisfies_permission {
 # </LJFUNC>
 sub get_permission_levels {
     return { add => 'none', control => 'none' }
-        if $LJ::DISABLED{tags};
+        unless LJ::is_enabled('tags');
 
     my $u = LJ::want_user(shift);
     return undef unless $u;
@@ -673,7 +673,7 @@ sub get_security_breakdown {
 # returns: 1 on success, undef on error
 # </LJFUNC>
 sub update_logtags {
-    return undef if $LJ::DISABLED{tags};
+    return undef unless LJ::is_enabled('tags');
 
     my $u = LJ::want_user(shift);
     my $jitemid = shift() + 0;
@@ -970,7 +970,7 @@ sub update_logtags {
 # returns: undef on error; 1 on success
 # </LJFUNC>
 sub delete_logtags {
-    return undef if $LJ::DISABLED{tags};
+    return undef unless LJ::is_enabled('tags');
 
     my $u = LJ::want_user(shift);
     my $jitemid = shift() + 0;
@@ -993,7 +993,7 @@ sub delete_logtags {
 # returns: undef on error; 1 on success
 # </LJFUNC>
 sub reset_cache {
-    return undef if $LJ::DISABLED{tags};
+    return undef unless LJ::is_enabled('tags');
 
     while (my ($u, $jitemid) = splice(@_, 0, 2)) {
         next unless
@@ -1031,7 +1031,7 @@ sub reset_cache {
 # returns: undef on error, else a hashref of { keyword => tagid } for each keyword defined
 # </LJFUNC>
 sub create_usertag {
-    return undef if $LJ::DISABLED{tags};
+    return undef unless LJ::is_enabled('tags');
 
     my $u = LJ::want_user(shift);
     my $kw = shift;
@@ -1111,7 +1111,7 @@ sub validate_tag {
 # returns: undef on error, 1 for success, 0 for tag not found
 # </LJFUNC>
 sub delete_usertag {
-    return undef if $LJ::DISABLED{tags};
+    return undef unless LJ::is_enabled('tags');
 
     my $u = LJ::want_user(shift);
     return undef unless $u;
@@ -1181,7 +1181,7 @@ sub delete_usertag {
 # returns: undef on error, 1 for success, 0 for tag not found
 # </LJFUNC>
 sub rename_usertag {
-    return undef if $LJ::DISABLED{tags};
+    return undef unless LJ::is_enabled('tags');
 
     # FIXME/TODO: make this function do merging?
 
@@ -1266,7 +1266,7 @@ sub rename_usertag {
 # returns: 1 on success, undef on error
 # </LJFUNC>
 sub set_usertag_display {
-    return undef if $LJ::DISABLED{tags};
+    return undef unless LJ::is_enabled('tags');
 
     my $u = LJ::want_user(shift);
     my ($type, $var, $val) = @_;
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/talklib.pl
--- a/cgi-bin/talklib.pl	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/talklib.pl	Fri May 08 13:04:45 2009 +0000
@@ -130,7 +130,7 @@ sub link_bar
     $$headref .= "<link href='$LJ::SITEROOT/go.bml?${jargent}itemid=$itemid&amp;dir=prev' rel='Previous' />\n";
 
     # memories
-    unless ($LJ::DISABLED{'memories'}) {
+    if ( LJ::is_enabled('memories') ) {
         push @linkele, $mlink->("$LJ::SITEROOT/tools/memadd.bml?${jargent}itemid=$itemid", "memadd");
     }
 
@@ -144,13 +144,13 @@ sub link_bar
     }
 
     # edit tags
-    unless ($LJ::DISABLED{tags}) {
+    if ( LJ::is_enabled('tags') ) {
         if (defined $remote && LJ::Tags::can_add_tags($u, $remote)) {
             push @linkele, $mlink->("$LJ::SITEROOT/edittags.bml?${jargent}itemid=$itemid", "edittags");
         }
     }
 
-    unless ($LJ::DISABLED{'tellafriend'}) {
+    if ( LJ::is_enabled('tellafriend') ) {
         push @linkele, $mlink->("$LJ::SITEROOT/tools/tellafriend.bml?${jargent}itemid=$itemid", "tellfriend")
             if ($entry->can_tellafriend($remote));
     }
@@ -2658,13 +2658,13 @@ sub enter_comment {
     LJ::Talk::update_commentalter($journalu, $itemid);
 
     # fire events
-    unless ($LJ::DISABLED{esn}) {
+    if ( LJ::is_enabled('esn') ) {
         my $cmtobj = LJ::Comment->new($journalu, jtalkid => $jtalkid);
         my @jobs;
 
         push @jobs, LJ::Event::JournalNewComment->new($cmtobj)->fire_job;
         push @jobs, LJ::Event::UserNewComment->new($cmtobj)->fire_job
-            if $cmtobj->poster && ! $LJ::DISABLED{'esn-userevents'};
+            if $cmtobj->poster && LJ::is_enabled('esn-userevents');
         push @jobs, LJ::EventLogRecord::NewComment->new($cmtobj)->fire_job;
 
         my $sclient = LJ::theschwartz();
@@ -3458,12 +3458,12 @@ sub edit_comment {
     LJ::mark_user_active($comment_obj->poster, 'comment');
 
     # fire events
-    unless ($LJ::DISABLED{esn}) {
+    if ( LJ::is_enabled('esn') ) {
         my @jobs;
 
         push @jobs, LJ::Event::JournalNewComment->new($comment_obj)->fire_job;
         push @jobs, LJ::Event::UserNewComment->new($comment_obj)->fire_job
-            if $comment_obj->poster && ! $LJ::DISABLED{'esn-userevents'};
+            if $comment_obj->poster && LJ::is_enabled('esn-userevents');
         push @jobs, LJ::EventLogRecord::NewComment->new($comment_obj)->fire_job;
 
         my $sclient = LJ::theschwartz();
diff -r 8a1365af63d4 -r 9744cbe5ad6a cgi-bin/weblib.pl
--- a/cgi-bin/weblib.pl	Thu May 07 16:33:04 2009 +0000
+++ b/cgi-bin/weblib.pl	Fri May 08 13:04:45 2009 +0000
@@ -133,7 +133,7 @@ sub valid_stylesheet_url {
 
     my $cleanit = sub {
         # allow tag, if we're doing no css cleaning
-        return 1 if $LJ::DISABLED{'css_cleaner'};
+        return 1 unless LJ::is_enabled('css_cleaner');
 
         # remove tag, if we have no CSSPROXY configured
         return 0 unless $LJ::CSSPROXY;
@@ -1152,7 +1152,7 @@ sub entry_form {
                                 stc/ups.css
                                 js/datasource.js
                                 js/selectable_table.js
-                                )) if ! $LJ::DISABLED{userpicselect} && $remote->get_cap('userpicselect');
+                                )) if LJ::is_enabled('userpicselect') && $remote->get_cap('userpicselect');
 
                 $out .= "<div id='userpic' style='display: none;'><p id='userpic_preview'><a href='javascript:void(0);' id='lj_userpicselect_img'><img src='' alt='selected userpic' id='userpic_preview_image' /><span id='lj_userpicselect_img_txt'>$userpic_link_text</span></a></p></div>";
                 $out .= "\n";
@@ -1247,7 +1247,7 @@ sub entry_form {
                                         @pickws) . "\n";
                 $out .= "<a href='javascript:void(0);' id='lj_userpicselect'> </a>";
                 # userpic browse button
-                $$onload .= " insertViewThumbs();" if ! $LJ::DISABLED{userpicselect} && $remote->get_cap('userpicselect');
+                $$onload .= " insertViewThumbs();" if LJ::is_enabled('userpicselect') && $remote->get_cap('userpicselect');
                 $out .= LJ::help_icon_html("userpics", "", " ") . "\n";
                 $out .= "</p>\n\n";
 
@@ -1301,7 +1301,7 @@ sub entry_form {
     $out .= "<li class='image'><a href='javascript:void(0);' onclick='InOb.handleInsertImage();' title='"
         . BML::ml('fckland.ljimage') . "'>" . BML::ml('entryform.insert.image2') . "</a></li>\n";
     $out .= "<li class='media'><a href='javascript:void(0);' onclick='InOb.handleInsertEmbed();' title='Embed Media'>"
-        . "Embed Media</a></li>\n" unless $LJ::DISABLED{embed_module};
+        . "Embed Media</a></li>\n" if LJ::is_enabled('embed_module');
     $out .= "</ul>\n";
     my $format_selected = $opts->{'prop_opt_preformatted'} || $opts->{'event_format'} ? "checked='checked'" : "";
     $out .= "<span id='linebreaks'><input type='checkbox' class='check' value='preformatted' name='event_format' id='event_format' $format_selected  />
@@ -1376,7 +1376,7 @@ RTE
         ### Options
 
             # Tag labeling
-            unless ($LJ::DISABLED{tags}) {
+            if ( LJ::is_enabled('tags') ) {
                 $out .= "<p class='pkg'>";
                 $out .= "<label for='prop_taglist' class='left options'>" . BML::ml('entryform.tags') . "</label>";
                 $out .= LJ::html_text(
@@ -1943,7 +1943,7 @@ sub entry_form_tags_widget {
 sub entry_form_tags_widget {
     my $ret = '';
 
-    return '' if $LJ::DISABLED{tags};
+    return '' unless LJ::is_enabled('tags');
 
     $ret .= LJ::html_text({
                               'name'      => 'prop_taglist',
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/admin/schools/edit.bml
--- a/htdocs/admin/schools/edit.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/admin/schools/edit.bml	Fri May 08 13:04:45 2009 +0000
@@ -10,7 +10,7 @@ body<=
     my $err = sub { return "<?h1 Error h1?><?p $_[0] p?>"; };
 
     return $err->('The Schools Directory is currently disabled due to maintenance.')
-        if $LJ::DISABLED{'schools'};
+        unless LJ::is_enabled('schools');
 
     my %ierr;
     my $bogus = sub {
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/admin/schools/merge.bml
--- a/htdocs/admin/schools/merge.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/admin/schools/merge.bml	Fri May 08 13:04:45 2009 +0000
@@ -12,7 +12,7 @@ body<=
     };
 
     return $err->('The Schools Directory is currently disabled due to maintenance.')
-        if $LJ::DISABLED{'schools'};
+        unless LJ::is_enabled('schools');
 
     my $remote = LJ::get_remote();
     return "<?needlogin?>" unless $remote;
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/admin/schools/pending.bml
--- a/htdocs/admin/schools/pending.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/admin/schools/pending.bml	Fri May 08 13:04:45 2009 +0000
@@ -10,7 +10,7 @@ body<=
     my $err = sub { return "<?h1 Error h1?><?p $_[0] p?>"; };
 
     return $err->('The Schools Directory is currently disabled due to maintenance.')
-        if $LJ::DISABLED{'schools'};
+        unless LJ::is_enabled('schools');
 
     my %ierr;
     my $bogus = sub {
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/admin/schools/rename.bml
--- a/htdocs/admin/schools/rename.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/admin/schools/rename.bml	Fri May 08 13:04:45 2009 +0000
@@ -10,7 +10,7 @@ body<=
     my $err = sub { return "<?errorbar $_[0] errorbar?>"; };
 
     return $err->('The Schools Directory is currently disabled due to maintenance.')
-        if $LJ::DISABLED{'schools'};
+        unless LJ::is_enabled('schools');
 
     my $remote = LJ::get_remote();
     return "<?needlogin?>" unless $remote;
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/changepassword.bml
--- a/htdocs/changepassword.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/changepassword.bml	Fri May 08 13:04:45 2009 +0000
@@ -169,9 +169,7 @@ body<=
      LJ::mark_authaction_used($aa) if $authu;
 
      # If we forced them to change their password, mark them as now being good
-     unless ($LJ::DISABLED{'force_pass_change'}) {
-         $u->set_prop('badpassword', 0);
-     }
+     $u->set_prop('badpassword', 0) if LJ::is_enabled('force_pass_change');
 
      # Kill all sessions, forcing user to relogin
      $u->kill_all_sessions;
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/editjournal.bml
--- a/htdocs/editjournal.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/editjournal.bml	Fri May 08 13:04:45 2009 +0000
@@ -391,7 +391,7 @@ body<=
                 'auth' => $auth,
                 'remote' => $remote,
                 'spellcheck_html' => $spellcheck_html,
-                'richtext' => $LJ::DISABLED{'richtext'} ? 0 : 1,
+                'richtext' => LJ::is_enabled('richtext'),
                 'mood' => $res{'events_1_'},
                 'disabled_save' => $disabled_save,
                 'disabled_delete' => $disabled_delete,
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/editpics.bml
--- a/htdocs/editpics.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/editpics.bml	Fri May 08 13:04:45 2009 +0000
@@ -105,7 +105,7 @@ use strict;
             my $error;
 
             # act like the factory is disabled if no mogile
-            my $factory_disabled = $LJ::DISABLED{'userpicfactory'} || !LJ::mogclient();
+            my $factory_disabled = !LJ::is_enabled('userpicfactory') || !LJ::mogclient();
             my $mogcli = LJ::mogclient();
 
             # just return an error immediately if there's no mogile and the upload
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/editprivacy.bml
--- a/htdocs/editprivacy.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/editprivacy.bml	Fri May 08 13:04:45 2009 +0000
@@ -14,7 +14,7 @@ body<=
     my $u = LJ::load_user($remote->{'user'});
 
     return "This feature is currently disabled."
-        if $LJ::DISABLED{mass_privacy};
+        unless LJ::is_enabled('mass_privacy');
 
     unless ($u->get_cap('mass_privacy')) {
         return "<?standout $ML{'.unable'} standout?>";
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/edittags.bml
--- a/htdocs/edittags.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/edittags.bml	Fri May 08 13:04:45 2009 +0000
@@ -10,8 +10,7 @@ body<=
     return "<?needlogin?>" unless $remote;
 
     my $err = sub { return "<?h1 $ML{'Error'} h1?><?p $_[0] p?>"; };
-    return $err->($ML{'.disabled'})
-        if $LJ::DISABLED{tags};
+    return $err->($ML{'.disabled'}) unless LJ::is_enabled('tags');
 
     LJ::need_res("stc/tags.css", "js/tags.js");
 
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/inbox/compose.bml
--- a/htdocs/inbox/compose.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/inbox/compose.bml	Fri May 08 13:04:45 2009 +0000
@@ -11,7 +11,7 @@ body<=
                           LJ::JSUtil
                           );
 
-    return "User messaging is currently disabled" if $LJ::DISABLED{user_messaging};
+    return "User messaging is currently disabled" unless LJ::is_enabled('user_messaging');
 
     my $remote = LJ::get_remote() or return "<?needlogin?>";
     my $remote_id = $remote->{'userid'};
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/inbox/index.bml
--- a/htdocs/inbox/index.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/inbox/index.bml	Fri May 08 13:04:45 2009 +0000
@@ -51,7 +51,7 @@ body<=
 
     # Take a supplied filter but default it to undef unless it is valid
     my $view = $POST{view} || $GET{view} || undef;
-    $view = undef if ($view eq 'archive' && $LJ::DISABLED{esn_archive});
+    $view = undef if ($view eq 'archive' && ! LJ::is_enabled('esn_archive'));
     $view = undef if ($view && !LJ::NotificationInbox->can("${view}_items"));
 
     # Bolds the selected View/Folder
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/interests.bml
--- a/htdocs/interests.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/interests.bml	Fri May 08 13:04:45 2009 +0000
@@ -29,7 +29,7 @@ body<=
     my $table = sub { $_[0]->{'journaltype'} eq 'C' ? 'comminterests' : 'userinterests' };
 
     if (!$did_post && $GET{'view'} eq "popular") {
-        return $ML{'.popular.disabled'} if $LJ::DISABLED{'interests-popular'};
+        return $ML{'.popular.disabled'} unless LJ::is_enabled('interests-popular');
         my $ret = '';
         $ret .= "<?h1 $ML{'.popular.head'} h1?><?p $ML{'.popular.text'} ";
 
@@ -127,7 +127,7 @@ body<=
     }
 
     if (!$did_post && $GET{'mode'} eq "findsim_do") {
-        return $ML{'error.tempdisabled'} if $LJ::DISABLED{'interests-findsim'};
+        return $ML{'error.tempdisabled'} unless LJ::is_enabled('interests-findsim');
 
         return $ML{'.findsim_do.account.notallowed'} unless LJ::get_cap($remote, "findsim");
 
@@ -519,7 +519,7 @@ body<=
     $ret .= "<?p $ML{'.interests.text'} p?>";
     $ret .= "<table cellspacing='5' style='margin-top: 10px; margin-left: 30px; margin-bottom: 10px;'>";
 
-    unless ($LJ::DISABLED{'interests-popular'}) {
+    if ( LJ::is_enabled('interests-popular') ) {
         $ret .= "<tr valign='top'><td colspan='2'>";
         $ret .= "<a href=\"interests.bml?view=popular\">$ML{'.interests.viewpop'}</a></td></tr>";
     }
@@ -530,7 +530,7 @@ body<=
     $ret .= LJ::html_submit(undef, $ML{'.interested.btn.find'});
     $ret .= "</form></td></tr>";
 
-    if (!$LJ::DISABLED{'interests-findsim'} && $remote && LJ::get_cap($remote, "findsim")) {
+    if ( LJ::is_enabled('interests-findsim') && $remote && LJ::get_cap($remote, 'findsim') ) {
         $ret .= "<tr valign='top'><td>$ML{'.interests.findsim'}</td><td><form method='get' action='interests.bml'>";
         $ret .= LJ::html_hidden('mode', 'findsim_do');
         $ret .= LJ::html_text({name => 'user', value => $remote->{'user'}, size => 20}) . "&nbsp;";
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/login.bml
--- a/htdocs/login.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/login.bml	Fri May 08 13:04:45 2009 +0000
@@ -294,7 +294,7 @@
             } else {
                 push @errors, [ purged_user => "$ML{'error.purged.text'}" ] if $u->is_expunged;
                 push @errors, [ community_disabled_login => "$ML{'error.nocommlogin'}" ]
-                    if $u->{'journaltype'} eq 'C' && $LJ::DISABLED{'community-logins'};
+                    if $u->{'journaltype'} eq 'C' && ! LJ::is_enabled('community-logins');
             }
 
             if (LJ::get_cap($u, "readonly")) {
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/lostinfo.bml
--- a/htdocs/lostinfo.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/lostinfo.bml	Fri May 08 13:04:45 2009 +0000
@@ -170,7 +170,7 @@ body<=
 
         my $add_message = '';
 
-        unless ($LJ::DISABLED{'secret_question'}) {
+        if ( LJ::is_enabled('secret_question') ) {
             my ($redir, $ml_key, $param) = LJ::run_hook('use_secret', $u);
             return BML::redirect($redir) if $redir ne '';
 
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/manage/emailpost.bml
--- a/htdocs/manage/emailpost.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/manage/emailpost.bml	Fri May 08 13:04:45 2009 +0000
@@ -226,7 +226,7 @@ body<=
             },
         );
 
-        if ($LJ::FB_SITEROOT && %LJ::FOTOBILDER_IP && ! $LJ::DISABLED{fb_email_docs}) {
+        if ( $LJ::FB_SITEROOT && %LJ::FOTOBILDER_IP && LJ::is_enabled('fb_email_docs') ) {
             $subject = "$ML{'.help.subject_images'}<br /><br />";
             $body    = $ML{'.help.body_images'};
             splice @topics, -1, 0,
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/manage/profile/index.bml
--- a/htdocs/manage/profile/index.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/manage/profile/index.bml	Fri May 08 13:04:45 2009 +0000
@@ -30,8 +30,8 @@ body<=
 
     # The settings used on this page
     my @settings = ();
-    push @settings, "LJ::Setting::UserMessaging" unless $LJ::DISABLED{'user_messaging'};
-    push @settings, "LJ::Setting::FindByEmail" unless $LJ::DISABLED{'opt_findbyemail'};
+    push @settings, "LJ::Setting::UserMessaging" if LJ::is_enabled('user_messaging');
+    push @settings, "LJ::Setting::FindByEmail" if LJ::is_enabled('opt_findbyemail');
 
     my $dbr = LJ::get_db_reader();
     my $sth;
@@ -191,7 +191,7 @@ body<=
         $ret .= "</td></tr>\n";
 
         # schools
-        unless ( $LJ::DISABLED{schools} ) {
+        if ( LJ::is_enabled('schools') ) {
             $ret .= "<tr><td class='field_name'>$ML{'.fn.schools'}</td><td>";
 
             $ret .= "$ML{'.schools'}:  ";
@@ -336,7 +336,7 @@ body<=
         if ($u->is_person) {
 
         # opt_findbyemail
-        unless ($LJ::DISABLED{'opt_findbyemail'}) {
+        if ( LJ::is_enabled('opt_findbyemail') ) {
             $ret .= "<tr><td class='field_name'>" .
                     LJ::Setting::FindByEmail->label . "</td><td>";
             $ret .= LJ::Setting::FindByEmail->as_html($u);
@@ -344,7 +344,7 @@ body<=
         }
 
         # opt_usermsg
-        unless ($LJ::DISABLED{'user_messaging'}) {
+        if ( LJ::is_enabled('user_messaging') ) {
             $ret .= "<tr><td class='field_name'>" . BML::ml('.section.usermessaging', { siteabbrev => $LJ::SITENAMEABBREV } ) ."</td><td>";
             $ret .= LJ::Setting::UserMessaging->as_html($u);
             $ret .= "</td></tr>\n";
@@ -371,7 +371,7 @@ body<=
 )
 
         {
-            next if $p->[0] eq "ljtalk" && $LJ::DISABLED{ljtalk};
+            next if $p->[0] eq "ljtalk" && ! LJ::is_enabled('ljtalk');
 
             $ret .= "<tr><td class='field_name'>$p->[1]</td><td>";
             unless ($p->[0] eq "ljtalk") {
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/manage/subscriptions/comments.bml
--- a/htdocs/manage/subscriptions/comments.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/manage/subscriptions/comments.bml	Fri May 08 13:04:45 2009 +0000
@@ -9,7 +9,7 @@ body<=
 
     $title = 'Manage Message Settings';
 
-    return "Not ready" if $LJ::DISABLED{'esn'};
+    return "Not ready" unless LJ::is_enabled('esn');
 
     use Class::Autouse qw(
                           LJ::NotificationMethod
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/manage/subscriptions/entry.bml
--- a/htdocs/manage/subscriptions/entry.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/manage/subscriptions/entry.bml	Fri May 08 13:04:45 2009 +0000
@@ -8,7 +8,7 @@ body<=
 
     $title = 'Manage Message Settings';
 
-    return "Not ready" if $LJ::DISABLED{'esn'};
+    return "Not ready" unless LJ::is_enabled('esn');
 
     use Class::Autouse qw(LJ::NotificationMethod LJ::Event);
 
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/manage/subscriptions/user.bml
--- a/htdocs/manage/subscriptions/user.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/manage/subscriptions/user.bml	Fri May 08 13:04:45 2009 +0000
@@ -8,7 +8,7 @@ body<=
 
     $title = 'Manage Message Settings';
 
-    return "Not ready" if $LJ::DISABLED{'esn'};
+    return "Not ready" unless LJ::is_enabled('esn');
 
     use Class::Autouse qw(LJ::NotificationMethod LJ::Event);
 
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/manage/tags.bml
--- a/htdocs/manage/tags.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/manage/tags.bml	Fri May 08 13:04:45 2009 +0000
@@ -9,7 +9,7 @@ body<=
     LJ::set_active_crumb('managetags');
 
     return "<?h1 $ML{'Error'} h1?><?p $ML{'/edittags.bml.disabled'} p?>"
-        if $LJ::DISABLED{tags};
+        unless LJ::is_enabled('tags');
 
     my $remote = LJ::get_remote();
     return "<?needlogin?>" unless $remote;
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/schools/index.bml
--- a/htdocs/schools/index.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/schools/index.bml	Fri May 08 13:04:45 2009 +0000
@@ -13,7 +13,7 @@ body<=
     my $err = sub { return "<?h1 $ML{'Error'} h1?><?p $_[0] p?>"; };
 
     return $err->($ML{'.error.disabled'})
-        if $LJ::DISABLED{'schools'};
+        unless LJ::is_enabled('schools');
 
     my ($ctc, $sc, $cc, $sid) = ($GET{ctc}, $GET{sc}, $GET{cc}, $GET{sid}+0);
     my $ectc = LJ::eurl($ctc);
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/schools/manage.bml
--- a/htdocs/schools/manage.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/schools/manage.bml	Fri May 08 13:04:45 2009 +0000
@@ -16,7 +16,7 @@ body<=
     my $err = sub { return "<?h1 $ML{'Error'} h1?><?p $_[0] p?>"; };
 
     return $err->($ML{'.error.disabled'})
-        if $LJ::DISABLED{'schools'};
+        unless LJ::is_enabled('schools');
 
     my %ierr;
     my $bogus = sub {
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/stats.bml
--- a/htdocs/stats.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/stats.bml	Fri May 08 13:04:45 2009 +0000
@@ -78,7 +78,7 @@ body<=
      ret => \$ret,
  });
 
- unless ($LJ::DISABLED{'stats-recentupdates'}) 
+ if ( LJ::is_enabled('stats-recentupdates') ) 
  { 
      $ret .= "<h1>$ML{'.recent.header'}</h1>";
      $ret .= "<p>$ML{'.recent.desc'}</p><ul>";
@@ -93,7 +93,7 @@ body<=
      $ret .= "</ul> \n";
  }
 
- unless ($LJ::DISABLED{'stats-newjournals'}) 
+ if ( LJ::is_enabled('stats-newjournals') ) 
  {
      $ret .= "<h1>$ML{'.new.header'}</h1>";
      $ret .= "<p>$ML{'.new.desc'}</p><ul>";
@@ -156,7 +156,7 @@ body<=
  }
 
  # clients (if enabled)
- unless ($LJ::DISABLED{'clientversionlog'}) {
+ if ( LJ::is_enabled('clientversionlog') ) {
 
      ### sum up clients over different versions
      foreach my $c (keys %{$stat{'client'}}) {
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/support/faqbrowse.bml
--- a/htdocs/support/faqbrowse.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/support/faqbrowse.bml	Fri May 08 13:04:45 2009 +0000
@@ -105,7 +105,7 @@ body<=
         $dbh ||= LJ::get_db_writer();
 
         # log this faq view
-        if ($remote && ! $LJ::DISABLED{faquses}) {
+        if ( $remote && LJ::is_enabled('faquses') ) {
             $dbh->do("REPLACE INTO faquses (faqid, userid, dateview) ".
                      "VALUES (?, ?, NOW())", undef, $faqid,
                      $remote->{'userid'});
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/tools/tellafriend.bml
--- a/htdocs/tools/tellafriend.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/tools/tellafriend.bml	Fri May 08 13:04:45 2009 +0000
@@ -25,7 +25,7 @@
 
  my $sth;
 
- if ($LJ::DISABLED{'tellafriend'}) {
+ unless ( LJ::is_enabled('tellafriend') ) {
      $body .= BML::ml( ".error.disabled" );
      return;
  }
diff -r 8a1365af63d4 -r 9744cbe5ad6a htdocs/update.bml
--- a/htdocs/update.bml	Thu May 07 16:33:04 2009 +0000
+++ b/htdocs/update.bml	Fri May 08 13:04:45 2009 +0000
@@ -203,7 +203,7 @@
             'remote' => $remote,
             'spellcheck_html' => $spellcheck_html,
             'clientversion' => "WebUpdate/2.0.0",
-            'richtext' => $LJ::DISABLED{'richtext'} ? 0 : 1,
+            'richtext' => LJ::is_enabled('richtext'),
             'richtext_default' => $remote ? $remote->new_entry_editor eq 'rich' ? 1 : 0  # User setting
                                           : $LJ::DEFAULT_EDITOR       eq 'rich' ? 1 : 0, # Site default
             'include_insert_object' => $GET{'insobj'},
@@ -554,7 +554,7 @@ head<=
     # Setup draft saving and try to restore from a draft
     # unless we did a post action
     my $initDraft = '';
-    if ($remote && !$LJ::DISABLED{'update_draft'}) {
+    if ( $remote && LJ::is_enabled('update_draft') ) {
         # While transforms aren't considered posts, we don't want to
         # prompt the user to restore from a draft on a transform
         if (!LJ::did_post()) {
diff -r 8a1365af63d4 -r 9744cbe5ad6a t/esn-end2end.t
--- a/t/esn-end2end.t	Thu May 07 16:33:04 2009 +0000
+++ b/t/esn-end2end.t	Fri May 08 13:04:45 2009 +0000
@@ -10,7 +10,7 @@ use LJ::Test qw(memcache_stress temp_use
 use LJ::Test qw(memcache_stress temp_user);
 use FindBin qw($Bin);
 
-if ($LJ::DISABLED{esn}) {
+unless ( LJ::is_enabled('esn') ) {
     plan skip_all => "ESN is disabled: set $LJ::DISABLED{esn}=0 to run this test.";
     exit 0;
 }
--------------------------------------------------------------------------------

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