mark: A photo of Mark kneeling on top of the Taal Volcano in the Philippines. It was a long hike. (Default)
Mark Smith ([staff profile] mark) wrote in [site community profile] changelog2009-04-06 05:46 am

[dw-free] Enable safe search filtering

[commit: http://hg.dwscoalition.org/dw-free/rev/954ea3fed647]

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

Enable safe search filtering.

Patch by [personal profile] janinedog.

Files modified:
  • etc/config.pl
  • etc/config.pl.orig
--------------------------------------------------------------------------------
diff -r 223133988313 -r 954ea3fed647 etc/config.pl
--- a/etc/config.pl	Mon Apr 06 05:16:34 2009 +0000
+++ b/etc/config.pl	Mon Apr 06 05:46:13 2009 +0000
@@ -837,6 +837,23 @@
             'DW::PageStats::GoogleAnalytics',
         ],
     );
+
+    # remote's safe_search prop value must be greater than or equal to the defined
+    # safe_search_level value in order for users with that level's content flag to be
+    # filtered out of remote's search results
+    #
+    # e.g. remote must have a safe_search prop value of 11 or more in order to not
+    # see any search results that contain adult concepts
+    #
+    # a safe_search value of 0 means that it shouldn't ever be filtered
+    %CONTENT_FLAGS = (
+        explicit => {
+            safe_search_level => 1,
+        },
+        concepts => {
+            safe_search_level => 11,
+        },
+    );
 }
 
 1;
diff -r 223133988313 -r 954ea3fed647 etc/config.pl.orig
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/config.pl.orig	Mon Apr 06 05:46:13 2009 +0000
@@ -0,0 +1,842 @@
+#!/usr/bin/perl
+# -*-perl-*-
+
+# LiveJournal configuration file.
+
+{
+    package LJ;
+
+    ###
+    ### Site Information
+    ###
+
+    $HTDOCS = "$HOME/htdocs";
+    $BIN = "$HOME/bin";
+    $TEMP = "$HOME/temp";
+    $VAR = "$HOME/var";
+
+    $DOMAIN_WEB = "www.$DOMAIN"; # necessary
+
+    # this is what gets prepended to all URLs
+    $SITEROOT = "http://$DOMAIN_WEB";
+
+    # prefix for images
+    $IMGPREFIX = "$SITEROOT/img";
+
+    # set this if you're running an FTP server that mirrors your htdocs/files
+    #$FTPPREFIX = "ftp://ftp.$DOMAIN";
+
+    # where we set the cookies (note the period before the domain)
+    # can be one value or an array ref (to accomodate certain old
+    # broken browsers)
+    $COOKIE_DOMAIN = ".$DOMAIN";
+    $COOKIE_PATH   = "/";
+
+    # email addresses
+    $ADMIN_EMAIL = "webmaster\@$DOMAIN";
+    $SUPPORT_EMAIL = "support\@$DOMAIN";
+    $COMMUNITY_EMAIL = "community_invitation\@$DOMAIN";
+    $BOGUS_EMAIL = "dw_null\@$DOMAIN";
+    $COPPA_EMAIL = "coppa\@$DOMAIN";
+    $PRIVACY_EMAIL = "privacy\@$DOMAIN";
+    $ACCOUNTS_EMAIL = "accounts\@$DOMAIN";
+
+    # news site support. if set, that journal loads on the main page.
+    #$FRONTPAGE_JOURNAL = "news";
+
+    # css proxy
+    $CSSPROXY = "http://cssproxy.$DOMAIN/";
+
+    # setup subdomains that work
+    %SUBDOMAIN_FUNCTION = (
+            community => 'journal',
+            users => 'journal',
+            syndicated => 'journal',
+            cssproxy => 'cssproxy',
+        );
+
+
+
+    ###
+    ### Policy Options
+    ###
+
+    $TOS_CHECK = 0;     # require users to agree to TOS
+    $UNIQ_COOKIES = 1;  # give users uniq cookies to help fight abuse
+
+    %REQUIRED_TOS =
+        (
+         # revision must be found in first line of your htdocs/inc/legal-tos include file:
+         # <!-- $Revision: 12440 $ -->
+
+         # set required version to enable tos version requirement mechanism
+         #rev   => '1.0',
+
+         # these are the defaults and are used if no "domain"-specific
+         # values are defined below
+         title => 'Configurable Title for TOS requirement',
+         html  => 'Configurable HTML for TOS requirement',
+         text  => 'Configurable text error message for TOS requirement',
+
+         # text/html to use when message displayed for a login action
+         login => {
+             html => "Before logging in, you must update your TOS agreement",
+         },
+
+         # ... an update action
+         update => {
+             html => "HTML to use in update.bml",
+         },
+
+         # ... posting a comment (this will just use the defaults above)
+         comment => {
+         },
+
+         # ... protocol actions
+         protocol => {
+             text => "Please visit $LJ::SITEROOT/legal/tos.bml to update your TOS agreement",
+         },
+
+         # ... support requests
+         support => {
+             html => "Text to use when viewing a support request",
+         },
+
+         );
+
+    # filter comments for spam using this list of regular expressions:
+    #@TALKSPAM = (
+    #             "morphese",
+    #             );
+
+    # require new free acounts to be referred by an existing user?
+    # NOTE: mostly ljcom-specific.  some features unimplemented in
+    # the livejournal-only tree.
+    $USE_ACCT_CODES = 1;
+
+    #$EVERYONE_VALID = 1; # are all users validated by default?
+
+    ###
+    ### System Information
+    ###
+
+    # on a larger installation, it's useful to have multiple qbufferd.pl
+    # processes, one for each command type.  this is unecessary on a
+    # small installation.  you can also specify a delay between runs.
+    #@QBUFFERD_ISOLATE = ('weblogscom', 'ljcom_newpost');
+    #$QBUFFERD_DELAY   = 10;
+
+    # path to sendmail and any necessary options
+    $SENDMAIL = "/usr/sbin/sendmail -t";
+
+    # command-line to spell checker, or undefined if you don't want spell checking
+    #$SPELLER = "/usr/local/bin/ispell -a";
+    #$SPELLER = "/usr/bin/aspell pipe --mode=html --sug-mode=fast --ignore-case";
+
+    # to save bandwidth, should we compress pages before they go out?
+    # require Compress::Zlib to be installed
+    #$DO_GZIP = 1;
+
+    # Support signed PGP email for email posting?
+    # Requires GnuPG::Interface and Mail::GnuPG to be installed.
+    #$USE_PGP = 1;
+
+    # HINTS:
+    #   how far you can scroll back on lastn and friends pages.
+    #   big performance implications if you make these too high.
+    #   also, once you lower them, increasing them won't change anything
+    #   until there are new posts numbering the difference you increased
+    #   it by.
+    $MAX_HINTS_LASTN = 800;
+    $MAX_SCROLLBACK_LASTN = 750;
+
+    # do paid users get email addresses?  username@$USER_DOMAIN ?
+    # (requires additional mail system configuration)
+    $USER_EMAIL  = 1;
+
+    # Support URLs of the form http://username.yoursite.com/ ?
+    # If so, what's the part after "username." ?
+    $USER_VHOSTS = 1;
+    $USER_DOMAIN = $DOMAIN;
+
+    # If you ONLY want USER_VHOSTS to work and not the typical /users/USER and /community/USER
+    # then set this option:
+    $ONLY_USER_VHOSTS = 1;
+
+    # Support updating of journals via email?
+    # Users can post to user@$EMAIL_POST_DOMAIN.
+    $EMAIL_POST_DOMAIN = "post.$DOMAIN";
+
+    # This should be a path to a Maildir, matching the delivery
+    # location of your MTA.
+    # If you are using sendmail, you should deliver with procmail
+    # (versions 3.14 and above) for Maildir support.
+    #$MAILSPOOL = '/home/livejournal/mail';
+
+    # Allow users to point their own domains here?
+    #OTHER_VHOSTS = 1;
+
+    # turns these from 0 to 1 to disable parts of the site that are
+    # CPU & database intensive or that you simply don't want to use
+    %DISABLED = (
+                 adult_content => 0,
+                 blockwatch => 1,
+                 'community-logins' => 0,
+                 directory => 0,
+                 eventlogrecord => 1,
+                 feedster_search => 0,
+                 free_create => 1,
+                 'interests-findsim' => 0,
+                 memories => 0,
+                 opt_findbyemail => 1,
+                 schools => 1,
+                 'show-talkleft' => 0,
+                 'stats-recentupdates' => 0,
+                 'stats-newjournals' => 0,
+                 'stats-postsbyday' => 1,
+                 tellafriend => 0,
+                 );
+
+    # turn $SERVER_DOWN on while you do any maintenance
+    $SERVER_TOTALLY_DOWN = 0;
+    $SERVER_DOWN = 0;
+    $SERVER_DOWN_SUBJECT = "Maintenance";
+    $SERVER_DOWN_MESSAGE = "$SITENAME is down right now while we upgrade.  It should be up in a few minutes.";
+    $MSG_READONLY_USER   = "This journal is in read-only mode right now while database maintenance is performed " .
+                           "on the server where the journal is located.  Try again in several minutes.";
+    $MSG_NO_POST    = "Due to hardware maintenance, you cannot post at this time.  Watch the news page for updates.";
+    $MSG_NO_COMMENT = "Due to hardware maintenance, you cannot leave comments at this time.  Watch the news " .
+                      "page for updates.";
+    #$MSG_DB_UNAVAILABLE = "Sorry, database temporarily unavailable.  Please see <a href='...'>...</a> for status updates.";
+
+    # can also disable media uploads/modifications, if for some reason you need to
+    # turn off your MogileFS install, for example.
+    $DISABLE_MEDIA_UPLOADS = 0;
+
+    ###
+    ### Language / Scheme support
+    ###
+
+    # schemes available to users.
+    # schemes will be displayed according to their order in the array,
+    # but the first item in the array is the default scheme
+    # 'title' is the printed name, while 'scheme' is the scheme name.
+    @SCHEMES = (
+                { scheme => 'bluewhite', title => 'Blue White' },
+               );
+
+    # supported languages (defaults to qw(en) if none given)
+    # First element is default language for user interface, untranslated text
+    @LANGS = qw( en_DW );
+
+    # support unicode (posts in multiple languages)?  leave enabled.
+    $UNICODE = 1;
+
+
+    ###
+    ### Database Configuration
+    ###
+
+    # if database logging is enabled above, should we log images or just page requests?
+    #$DONT_LOG_IMAGES = 1;
+
+    # Turn on memory/cpu usage statistics generation for database logs (requires the
+    # GTop module to be installed)
+    #$LOG_GTOP = 1;
+
+    # directory optimizations
+    $DIR_DB_HOST = "master";  # DB role to use when connecting to directory DB
+    $DIR_DB = "";             # by default, hit the main database (bad for big sites!)
+    #$DIRECTORY_SEPARATE = 1; # don't let the directory use master databases
+
+    # list of all clusters - each one needs a 'cluster$i' role in %DBINFO
+    @CLUSTERS = (1);    # eg: (1, 2, 3) (for scalability)
+
+    # can users choose which cluster they're assigned to?  leave this off.
+    $ALLOW_CLUSTER_SELECT = 0;
+
+    # which cluster(s) get new users?
+    # if it's an arrayref, choose one of the listed clusters at random.  you can weight
+    # new users by repeating cluster numbers, e.g. [ 1, 1, 1, 2 ] puts 75% of people on
+    # cluster 1, 25% of people on cluster 2.  clusters are checked for validity before
+    # being used.
+    $DEFAULT_CLUSTER = [ 1 ];
+
+    # which cluster should syndication accounts live on?
+    $SYND_CLUSTER = 1;
+
+    ###
+    ### Account Information
+    ###
+
+    # initial friends for new accounts.
+    # leave undefined if you don't want to use it.
+    @INITIAL_FRIENDS = qw(news);
+
+    # initial optional friends
+    #@LJ::INITIAL_OPTIONAL_FRIENDS = qw(news);
+
+    # initial friends checked by default on create.bml
+    #@LJ::INITIAL_OPTOUT_FRIENDS = qw(news);
+
+    # some system accounts have so many friends it is harmful to display
+    # them.  list these accounts here.
+    #%FORCE_EMPTY_FRIENDS = (
+    #                        '81752' => 'paidmembers'
+    #                        );
+
+    # list of regular expressions matching usernames that people can't have.
+    @PROTECTED_USERNAMES = ('^ex_', '^ext_', '^dw_', '^_', '_$', '__', '_feed$');
+
+    # test accounts are special
+    @TESTACCTS = qw(test);
+
+    # props users should have by default
+    %USERPROP_DEF = ();
+
+    ### User Capabilities Classes:
+
+    # default capability limits, used only when no other
+    # class-specific limit below matches.
+    %CAP_DEF = (
+            'getselfemail' => 0,
+            'checkfriends' => 0,
+            'checkfriends_interval' => 300,
+            'friendsviewupdate' => 30,
+            'makepoll' => 0,
+            'maxfriends' => 500,
+            'moodthemecreate' => 0,
+            'directorysearch' => 0,
+            'styles' => 0,
+            's2styles' => 1,
+            's2viewentry' => 1,
+            's2viewreply' => 1,
+            's2stylesmax' => 10,
+            's2layersmax' => 50,
+            'textmessage' => 0,
+            'userdomain' => 1,
+            'useremail' => 1,
+            'userpics' => 5,
+            'findsim' => 0,
+            'full_rss' => 1,
+            'can_post' => 1,
+            'get_comments' => 1,
+            'leave_comments' => 1,
+            'mod_queue' => 50,
+            'mod_queue_per_poster' => 5,
+            'weblogscom' => 1,
+            'hide_email_after' => 60,
+            'userlinks' => 10,
+            'maxcomments' => 5000,
+            'rateperiod-lostinfo' => 60*60*24, # 24 hours
+            'rateallowed-lostinfo' => 3,
+            'rateperiod-failed_login' => 60*5, # 5 minutes
+            'rateallowed-failed_login' => 3,
+            'staff_headicon' => 0,
+            thread_expander => 0,
+            );
+
+    # capability class limits.
+    # keys are bit numbers, from 0 .. 15.  values are hashrefs
+    # with limit names and values (see doc/capabilities.txt)
+    # NOTE: you don't even need to have different capability classes!
+    #       all users can be the same if you want, just delete all
+    #       this.  the important part then is %CAP_DEF, above.
+    %CAP = (
+        '0' => {  # 0x01
+            '_name' => 'UNUSED',
+            '_key' => 'UNUSED',
+        },
+        '1' => {  # 0x02
+            '_name' => 'Free',
+            '_visible_name' => 'Free Account',
+            '_key' => 'free_user',
+            '_account_type' => 'free',
+            '_account_default' => 1,    # default account for payment system
+            'bookmark_max' => 25,
+            'checkfriends' => 0,
+            'checkfriends_interval' => 0,
+            'directory' => 1,
+            'domainmap' => 0,
+            'edit_comments' => 0,
+            'emailpost' => 0,
+            'findsim' => 0,
+            'friendsfriendsview' => 0,
+            'friendspopwithfriends' => 0,
+            'friendsviewupdate' => 0,
+            'full_rss' => 1,
+            'getselfemail' => 0,
+            google_analytics => 0,
+            'inbox_max' => 2000,
+            'makepoll' => 0,
+            'mass_privacy' => 0,
+            'maxfriends' => 1000,
+            'mod_queue' => 50,
+            'mod_queue_per_poster' => 3,
+            'moodthemecreate' => 0,
+            's2layersmax' => 100,
+            's2props' => 0,
+            's2styles' => 1,
+            's2stylesmax' => 100,
+            'security_filter' => 0,
+            'subscriptions' => 25,
+            'synd_create' => 1,
+            'tags_max' => 1000,
+            'textmessaging' => 0,
+            thread_expander => 0,            
+            'tools_recent_comments_display' => 10,            
+            'track_defriended' => 0,
+            'track_pollvotes' => 0,
+            'track_thread' => 0,
+            'track_user_newuserpic' => 0,
+            'useremail' => 0,
+            'userlinks' => 10,
+            'usermessage_length' => 5000,
+            'userpics' => 6,
+            'userpicselect' => 0,
+            'viewmailqueue' => 0,
+            'weblogscom' => 0,
+        },
+        '2' => {  # 0x04
+            '_name' => 'UNUSED2',
+            '_key' => 'UNUSED2',
+        },
+        '3' => {  # 0x08
+            '_name' => 'Paid',
+            '_key' => 'paid_user', # Some things expect that key name
+            '_visible_name' => 'Paid Account',
+            '_account_type' => 'paid',
+            'bookmark_max' => 500,
+            'checkfriends' => 1,
+            'checkfriends_interval' => 600,
+            'directory' => 1,
+            'domainmap' => 1,
+            'edit_comments' => 1,
+            'emailpost' => 1,
+            'findsim' => 1,
+            'friendsfriendsview' => 1,
+            'friendspopwithfriends' => 1,
+            'friendsviewupdate' => 1,
+            'full_rss' => 1,
+            'getselfemail' => 1,
+            google_analytics => 1,
+            'inbox_max' => 4000,
+            'makepoll' => 1,
+            'mass_privacy' => 1,
+            'maxfriends' => 1500,
+            'mod_queue' => 100,
+            'mod_queue_per_poster' => 5,
+            'moodthemecreate' => 1,
+            's2layersmax' => 200,
+            's2props' => 1,
+            's2styles' => 1,
+            's2stylesmax' => 200,
+            'security_filter' => 1,
+            'subscriptions' => 500,
+            'synd_create' => 1,
+            'tags_max' => 1500,
+            'textmessaging' => 1,
+            thread_expander => 1,            
+            'tools_recent_comments_display' => 100,
+            'track_defriended' => 1,
+            'track_pollvotes' => 1,
+            'track_thread' => 1,
+            'track_user_newuserpic' => 1,
+            'useremail' => 1,
+            'userlinks' => 50,
+            'usermessage_length' => 10000,
+            'userpics' => 75,
+            'userpicselect' => 1,
+            'viewmailqueue' => 1,
+            'weblogscom' => 1,
+            'paid' => 1,
+            'fastserver' => 1,
+        },
+        '4' => {  # 0x10
+            '_name' => 'Premium Paid',
+            '_key' => 'premium_user',
+            '_visible_name' => 'Premium Paid Account',
+            '_account_type' => 'premium',
+            'bookmark_max' => 1000,
+            'checkfriends' => 1,
+            'checkfriends_interval' => 600,
+            'directory' => 1,
+            'domainmap' => 1,
+            'edit_comments' => 1,
+            'emailpost' => 1,
+            'findsim' => 1,
+            'friendsfriendsview' => 1,
+            'friendspopwithfriends' => 1,
+            'friendsviewupdate' => 1,
+            'full_rss' => 1,
+            'getselfemail' => 1,
+            google_analytics => 1,
+            'inbox_max' => 6000,
+            'makepoll' => 1,
+            'mass_privacy' => 1,
+            'maxfriends' => 2000,
+            'mod_queue' => 100,
+            'mod_queue_per_poster' => 5,
+            'moodthemecreate' => 1,
+            's2layersmax' => 200,
+            's2props' => 1,
+            's2styles' => 1,
+            's2stylesmax' => 200,
+            'security_filter' => 1,
+            'subscriptions' => 1000,
+            'synd_create' => 1,
+            'tags_max' => 2000,
+            'textmessaging' => 1,
+            thread_expander => 1,            
+            'tools_recent_comments_display' => 150,
+            'track_defriended' => 1,
+            'track_pollvotes' => 1,
+            'track_thread' => 1,
+            'track_user_newuserpic' => 1,
+            'useremail' => 1,
+            'userlinks' => 50,
+            'usermessage_length' => 10000,
+            'userpics' => 150,
+            'userpicselect' => 1,
+            'viewmailqueue' => 1,
+            'weblogscom' => 1,
+            'paid' => 1,
+            'fastserver' => 1,
+        },
+        # a capability class with a name of "_moveinprogress" is required
+        # if you want to be able to move users between clusters with the
+        # provided tool.  further, this class must define 'readonly' => 1
+        '5' => {  # 0x20
+            '_name' => '_moveinprogress',
+            'readonly' => 1,
+        },
+        '6' => {  # 0x40
+            '_name' => 'Permanent',
+            '_key' => 'permanent_user',
+            '_visible_name' => 'Seed Account',
+            '_account_type' => 'seed',
+            'bookmark_max' => 1000,
+            'checkfriends' => 1,
+            'checkfriends_interval' => 600,
+            'directory' => 1,
+            'domainmap' => 1,
+            'edit_comments' => 1,
+            'emailpost' => 1,
+            'findsim' => 1,
+            'friendsfriendsview' => 1,
+            'friendspopwithfriends' => 1,
+            'friendsviewupdate' => 1,
+            'full_rss' => 1,
+            'getselfemail' => 1,
+            google_analytics => 1,
+            'inbox_max' => 6000,
+            'makepoll' => 1,
+            'mass_privacy' => 1,
+            'maxfriends' => 2000,
+            'mod_queue' => 100,
+            'mod_queue_per_poster' => 5,
+            'moodthemecreate' => 1,
+            's2layersmax' => 200,
+            's2props' => 1,
+            's2styles' => 1,
+            's2stylesmax' => 200,
+            'security_filter' => 1,
+            'subscriptions' => 1000,
+            'synd_create' => 1,
+            'tags_max' => 2000,
+            'textmessaging' => 1,
+            thread_expander => 1,            
+            'tools_recent_comments_display' => 150,
+            'track_defriended' => 1,
+            'track_pollvotes' => 1,
+            'track_thread' => 1,
+            'track_user_newuserpic' => 1,
+            'useremail' => 1,
+            'userlinks' => 50,
+            'usermessage_length' => 10000,
+            'userpics' => 150,
+            'userpicselect' => 1,
+            'viewmailqueue' => 1,
+            'weblogscom' => 1,
+            'paid' => 1,
+            'fastserver' => 1,
+        },
+        '7' => {  # 0x80
+            '_name' => 'Staff',
+            '_key' => 'staff',
+            '_visible_name' => 'Staff Account',
+            'bookmark_max' => 1000,
+            'checkfriends' => 1,
+            'checkfriends_interval' => 600,
+            'directory' => 1,
+            'domainmap' => 1,
+            'edit_comments' => 1,
+            'emailpost' => 1,
+            'findsim' => 1,
+            'friendsfriendsview' => 1,
+            'friendspopwithfriends' => 1,
+            'friendsviewupdate' => 1,
+            'full_rss' => 1,
+            'getselfemail' => 1,
+            google_analytics => 1,
+            'inbox_max' => 6000,
+            'makepoll' => 1,
+            'mass_privacy' => 1,
+            'maxfriends' => 2000,
+            'mod_queue' => 100,
+            'mod_queue_per_poster' => 5,
+            'moodthemecreate' => 1,
+            's2layersmax' => 200,
+            's2props' => 1,
+            's2styles' => 1,
+            's2stylesmax' => 200,
+            'security_filter' => 1,
+            'subscriptions' => 1000,
+            'synd_create' => 1,
+            'tags_max' => 2000,
+            'textmessaging' => 1,
+            thread_expander => 1,            
+            'tools_recent_comments_display' => 150,
+            'track_defriended' => 1,
+            'track_pollvotes' => 1,
+            'track_thread' => 1,
+            'track_user_newuserpic' => 1,
+            'useremail' => 1,
+            'userlinks' => 50,
+            'usermessage_length' => 10000,
+            'userpics' => 150,
+            'userpicselect' => 1,
+            'viewmailqueue' => 1,
+            'weblogscom' => 1,
+            'paid' => 1,
+            'fastserver' => 1,
+            'staff_headicon' => 1,
+        },
+        8 => { _name => 'beta', _key => 'betafeatures' }, # 0x100
+    );
+
+    # default capability class mask for new users:
+    # (16 bit unsigned int ... each bit is capability class flag)
+    $NEWUSER_CAPS = 2;
+
+    # by default, give users a style
+    $DEFAULT_STYLE = {
+        'core' => 'core2',
+        'layout' => 'negatives/layout',
+        'theme' => 'negatives/black',
+    };
+
+    ### /admin/fileedit setup
+    # If you are using the files in htdocs/inc and are frequently editing
+    # those, you may wish to put all of these files into the database.
+    # You can instruct BML to treat all <?_include?> statements as being
+    # pulled from memcached (failover to the database) by uncommenting:
+    # $FILEEDIT_VIA_DB = 1;
+    # Alternately, you can specify that only particular files should be
+    # kept in memcache and the database by doing:
+    # %FILEEDIT_VIA_DB = ( 'support_links' => 1, );
+
+    ### S2 Style Options
+
+    # which users' s2 layers should always run trusted un-cleaned?
+    #%S2_TRUSTED = ( '2' => 'whitaker' ); # userid => username
+
+
+    ###
+    ### Portal Options
+    ###
+
+    @PORTAL_BOXES = (
+                     'Birthdays',
+                     'UpdateJournal',
+                     'TextMessage',
+                     'PopWithFriends',
+                     'Friends',
+                     'Manage',
+                     'RecentComments',
+                     'NewUser',
+                     'FriendsPage',
+                     'FAQ',
+                     'Debug',
+                     'Note',
+                     'RandomUser',
+                     );
+
+    @PORTAL_BOXES_HIDDEN = (
+                            'Debug',
+                            );
+
+    %PORTAL_DEFAULTBOXSTATES = (
+                         'Birthdays' => {
+                             'added' => 1,
+                             'sort'  => 4,
+                             'col'   => 'R',
+                         },
+                         'FriendsPage' => {
+                             'added' => 1,
+                             'sort'  => 6,
+                             'col'   => 'L',
+                         },
+                         'FAQ' => {
+                             'added' => 1,
+                             'sort'  => 8,
+                             'col'   => 'R',
+                         },
+                         'Friends' => {
+                             'added' => 1,
+                             'sort'  => 10,
+                             'col'   => 'R',
+                         },
+                         'Manage' => {
+                             'added' => 1,
+                             'sort'  => 12,
+                             'col'   => 'L',
+                         },
+                         'PopWithFriends' => {
+                             'added' => 0,
+                             'col'   => 'R',
+                         },
+                         'RecentComments' => {
+                             'added' => 1,
+                             'sort'  => 10,
+                             'col'   => 'L',
+                         },
+                         'UpdateJournal' => {
+                             'added' => 1,
+                             'sort'  => 4,
+                             'col'   => 'L',
+                         },
+                         'NewUser' => {
+                             'added' => 1,
+                             'sort'  => 2,
+                             'col'   => 'L',
+                         },
+                         'TextMessage' => {
+                             'added'  => 1,
+                             'sort'   => 12,
+                             'col'    => 'R',
+                         },
+                         );
+
+    # Setup support email address to not accept new emails.  Basically if an
+    # address is specified below, any user who emails it out of the blue will
+    # be sent back a copy of the specified file along with their email.  Users
+    # will still be allowed to respond to emails from the support system, but
+    # they can't open a request by emailing the address.  The value part of
+    # the hash is the name of an include file.  It will be loaded out of
+    # LJHOME/htdocs/inc.  See %FILEEDIT_VIA_DB for how to make it read
+    # from memcache/DB.
+    #%DENY_REQUEST_FROM_EMAIL = (
+    #    "abuse\@$DOMAIN" => "bounce-abuse",
+    #);
+
+    # Support diagnostics can be helpful if you are trying to track down a
+    # bug that has been occurring.  You can turn on and off various tracking
+    # features here.  Just uncomment any/all of the following lines.  The
+    # gathered information will be appended to requests that the user opens
+    # through the web interface.
+    %SUPPORT_DIAGNOSTICS = (
+    #    'track_useragent' => 1,
+    );
+
+    # If you want to change the limit on how many bans a user can make, uncomment
+    # the following line.  Default is 5000.
+    #$MAX_BANS = 5000;
+
+    # If you are using MogileFS on your site for userpics or other purposes, you
+    # will need to define the following hash and complete the information in it.
+    #%MOGILEFS_CONFIG = (
+    #    hosts => [ '10.0.0.1:6001' ],
+    #    root => '/mnt/mogdata',
+    #    classes => {
+    #        'your_class' => 3,  # define any special MogileFS classes you need
+    #    },
+    #);
+
+    # If you have multiple internal networks and would like the MogileFS libraries
+    # to pick one network over the other, you can set the preferred IP list...
+    #%MOGILEFS_PREF_IP = (
+    #    10.0.0.1 => 10.10.0.1,
+    #);
+    #That says "if we try to connect to 10.0.0.1, instead try 10.10.0.1 first and
+    #then fall back to 10.0.0.1".
+
+    # In addition to setting up MogileFS above, you need to enable some options
+    # if you want to use MogileFS.
+    #$CAPTCHA_MOGILEFS = 1; # turn this on to put captchas in MogileFS
+    #$USERPIC_MOGILEFS = 1; # uncomment to put new userpics in MogileFS
+
+    # if you are using Perlbal to balance your web site, by default it uses
+    # reproxying to distribute the files itself.  however, in some situations
+    # you may not want to do that.  use this option to disable that on an
+    # item by item basis.
+    #%REPROXY_DISABLE = (
+    #    userpics => 1,
+    #    captchas => 1,
+    #);
+
+    # Some people on portable devices may have troubles viewing the nice site
+    # scheme you've setup, so you can specify that some user-agent prefixes
+    # should instead use fallback presentation information.
+    %MINIMAL_USERAGENT = (
+        #'Foo' => 1, # if the user-agent field starts with "Foo" ...
+                     # note you can only put text here; no numbers, spaces, or symbols.
+    );
+    $MINIMAL_BML_SCHEME = 'lynx';
+    %MINIMAL_STYLE = (
+        'core' => 'core1', # default, but you can add more layers and styles... note
+                           # that they must be public styles
+    );
+
+    # this is on in the default file here because most of the time you
+    # want this flag to be on.  if you have an existing site and you're
+    # copying this file, make sure to only turn this flag on if you've
+    # actually migrated everything.
+    $S2COMPILED_MIGRATION_DONE = 1;
+
+    # optional LDAP support
+    # required:
+    #    $LJ::LDAP_HOST = "ldap.example.com";  # anything that the Net::LDAP constructor takes
+    #    $LJ::LDAP_BASE = "ou=People,dc=exampleorg,dc=com";
+    # optional:
+    #    $LJ::LDAP_UID = "uid";  # field containing the username.  defaults to "uid".
+
+    # if you know that your installation is behind a proxy or other fence that inserts
+    # X-Forwarded-For headers that you can trust (eg Perlbal), enable this.  otherwise, don't!
+    # $TRUST_X_HEADERS = 1;
+
+    # the following values allow you to control enabling your OpenID server and consumer
+    # support.
+    $OPENID_SERVER = 1;
+    $OPENID_CONSUMER = 1;
+
+    # how many days to store random users for; after this many days they fall out of the table.
+    # high traffic sites probably want a reasonably low number, whereas lower traffic sites might
+    # want to set this higher to give a larger sample of users to select from.
+    $RANDOM_USER_PERIOD = 7;
+
+    # turn on control/nav strip
+    $USE_CONTROL_STRIP = 1;
+
+    # 404 page
+    $PAGE_404 = "404-error-local.bml";
+
+    # Pagination for allpics.bml page.  -1 means unlimited.
+    # $ALLPICS_PAGESIZE = 20;
+
+    # initial settings for new users
+    %USER_INIT = (
+        opt_whocanreply => 'reg',
+        opt_mangleemail => 'Y',
+        moodthemeid => 7,
+    );
+
+    # Stats
+    %PAGESTATS_PLUGIN_CONF = (
+        '_active' => [
+            'DW::PageStats::GoogleAnalytics',
+        ],
+    );
+}
+
+1;
--------------------------------------------------------------------------------

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