<?xml version='1.0' encoding='utf-8' ?>
<!--  If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/  -->
<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/'>
<channel>
  <title>LiveJournal ChangeLog</title>
  <link>http://community.livejournal.com/changelog/</link>
  <description>LiveJournal ChangeLog - LiveJournal.com</description>
  <lastBuildDate>Fri, 09 May 2008 00:27:39 GMT</lastBuildDate>
  <generator>LiveJournal / LiveJournal.com</generator>
  <lj:journal>changelog</lj:journal>
  <lj:journaltype>community</lj:journaltype>
  <image>
    <url>http://p-userpic.livejournal.com/32044/29488</url>
    <title>LiveJournal ChangeLog</title>
    <link>http://community.livejournal.com/changelog/</link>
    <width>96</width>
    <height>96</height>
  </image>

<item>
  <guid isPermaLink='true'>http://community.livejournal.com/changelog/6397543.html</guid>
  <pubDate>Fri, 09 May 2008 00:27:39 GMT</pubDate>
  <title>[ljcom] r6277: LJSUP-2184</title>
  <link>http://community.livejournal.com/changelog/6397543.html</link>
  <description>&lt;div style=&quot;font-size: 9pt; margin-bottom: 1em&quot;&gt;Committer: janine&lt;/div&gt;LJSUP-2184&lt;br /&gt;&lt;br /&gt;* Don&apos;t allow OpenID users to view/use these pages.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;U   trunk/htdocs/create/step2a.bml
U   trunk/htdocs/create/step2b.bml
U   trunk/htdocs/create/step3.bml
U   trunk/htdocs/create/thanks.bml
&lt;/pre&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;pre&gt;Modified: trunk/htdocs/create/step2a.bml
===================================================================
--- trunk/htdocs/create/step2a.bml	2008-05-08 19:23:21 UTC (rev 6276)
+++ trunk/htdocs/create/step2a.bml	2008-05-09 00:27:38 UTC (rev 6277)
@@ -13,6 +13,8 @@
     my $u = LJ::get_remote()
         or return &quot;&amp;lt;?needlogin?&amp;gt;&quot;;
 
+    return BML::redirect(&quot;$LJ::SITEROOT/&quot;) if $u-&amp;gt;is_identity;
+
     return BML::redirect(&quot;$LJ::SITEROOT/create/step2b.bml&quot;) if LJ::ab_testing_value() != 0;
 
     my %from_post;

Modified: trunk/htdocs/create/step2b.bml
===================================================================
--- trunk/htdocs/create/step2b.bml	2008-05-08 19:23:21 UTC (rev 6276)
+++ trunk/htdocs/create/step2b.bml	2008-05-09 00:27:38 UTC (rev 6277)
@@ -13,6 +13,8 @@
     my $u = LJ::get_remote()
         or return &quot;&amp;lt;?needlogin?&amp;gt;&quot;;
 
+    return BML::redirect(&quot;$LJ::SITEROOT/&quot;) if $u-&amp;gt;is_identity;
+
     return BML::redirect(&quot;$LJ::SITEROOT/create/step2a.bml&quot;) if LJ::ab_testing_value() == 0;
 
     my %from_post;

Modified: trunk/htdocs/create/step3.bml
===================================================================
--- trunk/htdocs/create/step3.bml	2008-05-08 19:23:21 UTC (rev 6276)
+++ trunk/htdocs/create/step3.bml	2008-05-09 00:27:38 UTC (rev 6277)
@@ -12,6 +12,8 @@
     my $u = LJ::get_remote()
         or return &quot;&amp;lt;?needlogin?&amp;gt;&quot;;
 
+    return BML::redirect(&quot;$LJ::SITEROOT/&quot;) if $u-&amp;gt;is_identity;
+
     return BML::redirect(&quot;$LJ::SITEROOT/create/step2a.bml&quot;) if LJ::ab_testing_value() == 0;
 
     if (LJ::did_post()) {

Modified: trunk/htdocs/create/thanks.bml
===================================================================
--- trunk/htdocs/create/thanks.bml	2008-05-08 19:23:21 UTC (rev 6276)
+++ trunk/htdocs/create/thanks.bml	2008-05-09 00:27:38 UTC (rev 6277)
@@ -12,6 +12,8 @@
     my $u = LJ::get_remote()
         or return &quot;&amp;lt;?needlogin?&amp;gt;&quot;;
 
+    return BML::redirect(&quot;$LJ::SITEROOT/&quot;) if $u-&amp;gt;is_identity;
+
     my $ret;
 
     $ret .= &quot;&amp;lt;div id=&apos;create-page&apos;&amp;gt;&quot;;

&lt;/pre&gt;</description>
  <comments>http://community.livejournal.com/changelog/6397543.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>janinedog</lj:poster>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/changelog/6397401.html</guid>
  <pubDate>Fri, 09 May 2008 00:24:04 GMT</pubDate>
  <title>[livejournal] r13863: LJSUP-2184</title>
  <link>http://community.livejournal.com/changelog/6397401.html</link>
  <description>&lt;div style=&quot;font-size: 9pt; margin-bottom: 1em&quot;&gt;Committer: janine&lt;/div&gt;LJSUP-2184&lt;br /&gt;&lt;br /&gt;* Update old postreg links.&lt;br /&gt;* Don&apos;t show the &quot;Post an Entry&quot; nudge to OpenID users.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;U   trunk/cgi-bin/LJ/Widget/GettingStarted.pm
&lt;/pre&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;pre&gt;Modified: trunk/cgi-bin/LJ/Widget/GettingStarted.pm
===================================================================
--- trunk/cgi-bin/LJ/Widget/GettingStarted.pm	2008-05-08 19:36:33 UTC (rev 13862)
+++ trunk/cgi-bin/LJ/Widget/GettingStarted.pm	2008-05-09 00:24:03 UTC (rev 13863)
@@ -30,15 +30,17 @@
 
     unless ($remote-&amp;gt;postreg_completed) {
         $ret .= &quot;&amp;lt;p&amp;gt;&quot; . $class-&amp;gt;ml(&apos;.widget.gettingstarted.profile.note2&apos;) . &quot;&amp;lt;br /&amp;gt;&quot;;
-        $ret .= &quot;&amp;lt;a href=&apos;$LJ::SITEROOT/postreg/&apos; class=&apos;arrow-link&apos;&amp;gt;&quot; . $class-&amp;gt;ml(&apos;.widget.gettingstarted.profile.link&apos;) . &quot;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&quot;;
+        $ret .= &quot;&amp;lt;a href=&apos;$LJ::SITEROOT/manage/profile/&apos; class=&apos;arrow-link&apos;&amp;gt;&quot; . $class-&amp;gt;ml(&apos;.widget.gettingstarted.profile.link&apos;) . &quot;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&quot;;
     }
 
     unless ($class-&amp;gt;has_enough_friends($remote)) {
+        my $url = LJ::run_hook(&quot;remote_should_see_vertical_nav&quot;) ? &quot;$LJ::SITEROOT/explore/&quot; : &quot;$LJ::SITEROOT/site/search.bml&quot;;
+
         $ret .= &quot;&amp;lt;p&amp;gt;&quot; . $class-&amp;gt;ml(&apos;.widget.gettingstarted.friends.note&apos;, {&apos;num&apos; =&amp;gt; $remote-&amp;gt;friends_added_count}) . &quot;&amp;lt;br /&amp;gt;&quot;;
-        $ret .= &quot;&amp;lt;a href=&apos;$LJ::SITEROOT/postreg/find.bml&apos; class=&apos;arrow-link&apos;&amp;gt;&quot; . $class-&amp;gt;ml(&apos;.widget.gettingstarted.friends.link&apos;) . &quot;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&quot;;
+        $ret .= &quot;&amp;lt;a href=&apos;$url&apos; class=&apos;arrow-link&apos;&amp;gt;&quot; . $class-&amp;gt;ml(&apos;.widget.gettingstarted.friends.link&apos;) . &quot;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&quot;;
     }
 
-    if ($remote-&amp;gt;number_of_posted_posts &amp;lt; 1) {
+    if ($remote-&amp;gt;number_of_posted_posts &amp;lt; 1 &amp;&amp; !$remote-&amp;gt;is_identity) {
         $ret .= &quot;&amp;lt;p&amp;gt;&quot; . $class-&amp;gt;ml(&apos;.widget.gettingstarted.entry.note&apos;) . &quot;&amp;lt;br /&amp;gt;&quot;;
         $ret .= &quot;&amp;lt;a href=&apos;$LJ::SITEROOT/update.bml&apos; class=&apos;arrow-link&apos;&amp;gt;&quot; . $class-&amp;gt;ml(&apos;.widget.gettingstarted.entry.link&apos;) . &quot;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&quot;;
     }
@@ -86,7 +88,7 @@
     return 0 unless $u-&amp;gt;postreg_completed;
     return 0 unless $class-&amp;gt;has_enough_friends($u);
 
-    return 0 unless $u-&amp;gt;number_of_posted_posts &amp;gt; 0;
+    return 0 unless $u-&amp;gt;number_of_posted_posts &amp;gt; 0 || $u-&amp;gt;is_identity;
     return 0 unless $u-&amp;gt;get_userpic_count &amp;gt; 0;
 
     return 1;

&lt;/pre&gt;</description>
  <comments>http://community.livejournal.com/changelog/6397401.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>janinedog</lj:poster>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/changelog/6397106.html</guid>
  <pubDate>Thu, 08 May 2008 19:36:34 GMT</pubDate>
  <title>[livejournal] r13862: LJSUP-2183</title>
  <link>http://community.livejournal.com/changelog/6397106.html</link>
  <description>&lt;div style=&quot;font-size: 9pt; margin-bottom: 1em&quot;&gt;Committer: janine&lt;/div&gt;LJSUP-2183&lt;br /&gt;&lt;br /&gt;Remove extra slash.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;U   trunk/htdocs/customize/advanced/layers.bml
&lt;/pre&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;pre&gt;Modified: trunk/htdocs/customize/advanced/layers.bml
===================================================================
--- trunk/htdocs/customize/advanced/layers.bml	2008-05-08 12:59:20 UTC (rev 13861)
+++ trunk/htdocs/customize/advanced/layers.bml	2008-05-08 19:36:33 UTC (rev 13862)
@@ -1,4 +1,4 @@
-/&amp;lt;?_code # -*-bml-*-
+&amp;lt;?_code # -*-bml-*-
 {
     use strict;
     use vars qw(%GET %POST $title $body);

&lt;/pre&gt;</description>
  <comments>http://community.livejournal.com/changelog/6397106.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>janinedog</lj:poster>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/changelog/6396915.html</guid>
  <pubDate>Thu, 08 May 2008 19:23:22 GMT</pubDate>
  <title>[ljcom] r6276: LJSUP-2182</title>
  <link>http://community.livejournal.com/changelog/6396915.html</link>
  <description>&lt;div style=&quot;font-size: 9pt; margin-bottom: 1em&quot;&gt;Committer: janine&lt;/div&gt;LJSUP-2182&lt;br /&gt;&lt;br /&gt;Fix Spreadshirt shop links.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;U   trunk/htdocs/shop/index.bml
&lt;/pre&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;pre&gt;Modified: trunk/htdocs/shop/index.bml
===================================================================
--- trunk/htdocs/shop/index.bml	2008-05-08 01:00:14 UTC (rev 6275)
+++ trunk/htdocs/shop/index.bml	2008-05-08 19:23:21 UTC (rev 6276)
@@ -144,16 +144,15 @@
     return &amp;lt;&amp;lt;&quot;END&quot;;
 &amp;lt;?storefront
 id=&amp;gt;merchandise
-url=&amp;gt;/shop/view.bml?item=hoodie
+url=&amp;gt;https://www.spreadshirt.com/shop.php?sid=121380&amp;op=articles&amp;p=1
 title=&amp;gt;&amp;lt;?_ml .storefront.merchandise.header _ml?&amp;gt; &amp;lt;span class=&apos;super notice&apos;&amp;gt;&amp;lt;?_ml .storefront.new _ml?&amp;gt;&amp;lt;/span&amp;gt;
 desc&amp;lt;= 
  $desc
  &amp;lt;?_ml .storefront.merchandise.intro _ml?&amp;gt;
 &amp;lt;ul style=&quot;margin-top: 0px;&quot;&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href=&apos;http://www.spreadshirt.com/shop.php?op=article&amp;article_id=2317961&amp;p=1&apos;&amp;gt;&amp;lt;?_ml .storefront.merchandise.hoodie _ml?&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href=&apos;http://www.spreadshirt.com/shop.php?op=article&amp;article_id=2306462&amp;_producttype_category_id=1&amp;_producttype_id=109&amp;p=1&apos;&amp;gt;&amp;lt;?_ml .storefront.merchandise.tshirt _ml?&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href=&apos;http://www.spreadshirt.com/shop.php?op=article&amp;article_id=2306548&amp;_producttype_category_id=2&amp;_producttype_id=221&amp;p=1&apos;&amp;gt;&amp;lt;?_ml .storefront.merchandise.item3 _ml?&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href=&apos;http://www.spreadshirt.com/shop.php?op=article&amp;article_id=2306655&amp;_producttype_category_id=17&amp;p=1&apos;&amp;gt;&amp;lt;?_ml .storefront.merchandise.item4 _ml?&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href=&apos;http://ljmerchandise.spreadshirt.com/us/US/Shop/Article/Index/article/2317961&apos;&amp;gt;&amp;lt;?_ml .storefront.merchandise.hoodie _ml?&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href=&apos;http://ljmerchandise.spreadshirt.com/us/US/Shop/Article/Index/article/2306427&apos;&amp;gt;&amp;lt;?_ml .storefront.merchandise.tshirt _ml?&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href=&apos;http://ljmerchandise.spreadshirt.com/us/US/Shop/Article/Index/article/2306514&apos;&amp;gt;&amp;lt;?_ml .storefront.merchandise.item3 _ml?&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
 &amp;lt;/ul&amp;gt;
 
 &amp;lt;=desc

&lt;/pre&gt;</description>
  <comments>http://community.livejournal.com/changelog/6396915.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>janinedog</lj:poster>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/changelog/6396167.html</guid>
  <pubDate>Thu, 08 May 2008 12:59:23 GMT</pubDate>
  <title>[livejournal] r13861: Some of our dev servers have old version...</title>
  <link>http://community.livejournal.com/changelog/6396167.html</link>
  <description>&lt;div style=&quot;font-size: 9pt; margin-bottom: 1em&quot;&gt;Committer: sup&lt;/div&gt;Some of our dev servers have old version of table &apos;content_flag&apos; without column &apos;reporteruniq&apos;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;U   trunk/bin/upgrading/update-db-general.pl
&lt;/pre&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;pre&gt;Modified: trunk/bin/upgrading/update-db-general.pl
===================================================================
--- trunk/bin/upgrading/update-db-general.pl	2008-05-08 11:37:00 UTC (rev 13860)
+++ trunk/bin/upgrading/update-db-general.pl	2008-05-08 12:59:20 UTC (rev 13861)
@@ -3060,6 +3060,12 @@
     my $dbh = shift;
     my $runsql = shift;
 
+    if (column_type(&quot;content_flag&quot;, &quot;reporteruniq&quot;) eq &quot;&quot;)
+    {
+        do_alter(&quot;content_flag&quot;,
+                 &quot;ALTER TABLE content_flag ADD reporteruniq VARCHAR(15) AFTER reporterid&quot;);
+
+    }
     if (column_type(&quot;supportcat&quot;, &quot;is_selectable&quot;) eq &quot;&quot;)
     {
         do_alter(&quot;supportcat&quot;,

&lt;/pre&gt;</description>
  <comments>http://community.livejournal.com/changelog/6396167.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>changelog_bot</lj:poster>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/changelog/6395891.html</guid>
  <pubDate>Thu, 08 May 2008 11:37:04 GMT</pubDate>
  <title>[livejournal] r13860: LJSUP-2131: Calendar view was fixed for ...</title>
  <link>http://community.livejournal.com/changelog/6395891.html</link>
  <description>&lt;div style=&quot;font-size: 9pt; margin-bottom: 1em&quot;&gt;Committer: sup&lt;/div&gt;LJSUP-2131: Calendar view was fixed for user with admin rights&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;U   trunk/cgi-bin/LJ/User.pm
&lt;/pre&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;pre&gt;Modified: trunk/cgi-bin/LJ/User.pm
===================================================================
--- trunk/cgi-bin/LJ/User.pm	2008-05-08 00:58:42 UTC (rev 13859)
+++ trunk/cgi-bin/LJ/User.pm	2008-05-08 11:37:00 UTC (rev 13860)
@@ -6146,8 +6146,10 @@
     my $viewall = 0;
     if ($remote) {
         # do they have the viewall priv?
-        if (LJ::check_priv($remote, &quot;canview&quot;, &quot;suspended&quot;)) {
-            $viewall = LJ::check_priv($remote, &apos;canview&apos;, &apos;*&apos;);
+        my $r = eval { Apache-&amp;gt;request; }; # web context
+        my %getargs = $r-&amp;gt;args if $r;
+        if (defined $getargs{&apos;viewall&apos;} and $getargs{&apos;viewall&apos;} eq &apos;1&apos; and LJ::check_priv($remote, &apos;canview&apos;, &apos;*&apos;)) {
+            $viewall = 1;
         }
 
         if ($remote-&amp;gt;{&apos;userid&apos;} == $uid || $viewall) {

&lt;/pre&gt;</description>
  <comments>http://community.livejournal.com/changelog/6395891.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>changelog_bot</lj:poster>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/changelog/6395203.html</guid>
  <pubDate>Thu, 08 May 2008 01:00:15 GMT</pubDate>
  <title>[ljcom] r6275: LJSUP-2071</title>
  <link>http://community.livejournal.com/changelog/6395203.html</link>
  <description>&lt;div style=&quot;font-size: 9pt; margin-bottom: 1em&quot;&gt;Committer: janine&lt;/div&gt;LJSUP-2071&lt;br /&gt;&lt;br /&gt;* Add copy to the members page.&lt;br /&gt;* Remove ad layout option from the ad settings page for communities, since it&apos;s on /customize/ now.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;U   trunk/htdocs/community/members.bml.text.local
U   trunk/htdocs/community/promotions.bml
&lt;/pre&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;pre&gt;Modified: trunk/htdocs/community/members.bml.text.local
===================================================================
--- trunk/htdocs/community/members.bml.text.local	2008-05-08 00:16:06 UTC (rev 6274)
+++ trunk/htdocs/community/members.bml.text.local	2008-05-08 01:00:14 UTC (rev 6275)
@@ -1 +1,3 @@
 ;; -*- coding: utf-8 -*-
+
+.intro=You can define the roles of each of your members here.  To learn what the different roles entail, read &amp;lt;a [[aopts1]]&amp;gt;this FAQ&amp;lt;/a&amp;gt; and &amp;lt;a [[aopts2]]&amp;gt;this FAQ&amp;lt;/a&amp;gt;.

Modified: trunk/htdocs/community/promotions.bml
===================================================================
--- trunk/htdocs/community/promotions.bml	2008-05-08 00:16:06 UTC (rev 6274)
+++ trunk/htdocs/community/promotions.bml	2008-05-08 01:00:14 UTC (rev 6275)
@@ -72,7 +72,6 @@
 
     my $body;
 
-    # Don&apos;t display or validate the ad layout options if in the signup process
     my $signup = 0;
     $signup = 1 if ($GET{&apos;signup&apos;} || $POST{&apos;signup&apos;});
 
@@ -96,15 +95,6 @@
     if (LJ::did_post()) {
         return LJ::bad_input($ML{&apos;error.invalidform&apos;})  unless LJ::check_form_auth();
 
-        unless ($signup) {
-            # ad layout
-            if ($u-&amp;gt;prop(&apos;stylesys&apos;) == 2) {
-                unless ($POST{&apos;ad_placement&apos;} eq &apos;v&apos; || $POST{&apos;ad_placement&apos;} eq &apos;h&apos; || ($u-&amp;gt;can_use_ebox_ui &amp;&amp; $POST{&apos;ad_placement&apos;} eq &apos;e&apos;)) {
-                    $POST{&apos;ad_placement&apos;} = &apos;v&apos;;
-                }
-            }
-        }
-
         # Ad category or No Thanks must be selected
         if (! $POST{&apos;cat&apos;} &amp;&amp; ! $u-&amp;gt;in_class(&apos;paid&apos;) ) {
             push @errors, &quot;Please choose your ad category so that we can deliver ads that interest your community. If you don&apos;t want to choose any ad categories, please select the \&quot;No thanks\&quot; option.&quot;;
@@ -112,16 +102,6 @@
 
         # If there are no errors save the options and proceed
         unless(@errors) {
-            # Set ad layout options
-            if ($u-&amp;gt;prop(&apos;stylesys&apos;) == 2 &amp;&amp; !$signup) {
-                if ($POST{&apos;ad_placement&apos;} eq &apos;e&apos;) {
-                    $u-&amp;gt;set_prop(&quot;journal_box_entries&quot;, 1) if $u-&amp;gt;can_use_ebox_ui;
-                } else {
-                    $u-&amp;gt;set_prop(&quot;journal_box_placement&quot;, $POST{&apos;ad_placement&apos;});
-                    $u-&amp;gt;set_prop(&quot;journal_box_entries&quot;, 0) if $u-&amp;gt;can_use_ebox_ui;
-                }
-            }
-
             LJ::set_userprop($u, &quot;ad_categories&quot;, $POST{&apos;cat&apos;});
 
             return BML::redirect(&quot;$LJ::SITEROOT/newuser.bml?authas=$authas&quot;)
@@ -193,34 +173,6 @@
     $body .= LJ::form_auth();
     $body .= &quot;&amp;lt;br /&amp;gt;$ML{&apos;.intro_signup&apos;}&amp;lt;br /&amp;gt;&quot; if $GET{&apos;signup&apos;};
 
-    unless ($signup) {
-        my $ad_placement_selected = $u-&amp;gt;prop(&apos;journal_box_placement&apos;) eq &apos;h&apos; ? &apos;h&apos; : &apos;v&apos;;
-        $ad_placement_selected = &apos;e&apos; if $u-&amp;gt;can_use_ebox_ui &amp;&amp; $u-&amp;gt;prop(&apos;journal_box_entries&apos;);
-
-        $body .= &quot;&amp;lt;?h1 $ML{&apos;.sub.adlayout&apos;} h1?&amp;gt;&quot;;
-        if ($u-&amp;gt;prop(&apos;stylesys&apos;) == 2) {
-            $body .= &quot;&amp;lt;table width=&apos;100%&apos;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;\n&quot;;
-            if ($u-&amp;gt;can_use_ebox_ui) {
-                $body .= &quot;&amp;lt;?p Choose the orientation of ads on your community&apos;s journal. Select \&quot;Horizontal Placement\&quot; for display at the top and bottom, \&quot;Vertical Placement\&quot; for display on the left or right side, or \&quot;Placement Between Entries\&quot; for display between entries. Be sure to click \&quot;Save\&quot; at the bottom of the page to save your preferences. p?&amp;gt;&quot;;
-                $body .= LJ::html_select({ &apos;name&apos; =&amp;gt; &apos;ad_placement&apos;, &apos;selected&apos; =&amp;gt; $ad_placement_selected },
-                                           &apos;v&apos; =&amp;gt; $ML{&apos;.adlayout.select.vertical&apos;},
-                                           &apos;h&apos; =&amp;gt; $ML{&apos;.adlayout.select.horizontal&apos;},
-                                           &apos;e&apos; =&amp;gt; &quot;$ML{&apos;.adlayout.select.entries&apos;}*&quot; );
-                $body .= &quot;&amp;lt;div class=&apos;small-note&apos;&amp;gt;*Placement between entries is only possible on recent, friends, and day views. Other pages will use your previous setting of horizontal or vertical placement.&amp;lt;/div&amp;gt;&quot;
-            } else {
-                $body .= &quot;&amp;lt;?p Choose the orientation of ads on your community&apos;s journal. Select \&quot;Horizontal Placement\&quot; for display at the top and bottom or \&quot;Vertical Placement\&quot; for display on the left or right side. Be sure to click \&quot;Save\&quot; at the bottom of the page to save your preferences. p?&amp;gt;&quot;;
-                $body .= LJ::html_select({ &apos;name&apos; =&amp;gt; &apos;ad_placement&apos;, &apos;selected&apos; =&amp;gt; $ad_placement_selected },
-                                           &apos;v&apos; =&amp;gt; $ML{&apos;.adlayout.select.vertical&apos;},
-                                           &apos;h&apos; =&amp;gt; $ML{&apos;.adlayout.select.horizontal&apos;});
-            }
-            $body .= &quot;&amp;lt;/td&amp;gt;&amp;lt;td valign=&apos;top&apos; width=&apos;260&apos;&amp;gt;&quot;;
-            $body .= &quot;&amp;nbsp;&quot;;
-            $body .= &quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&quot;;
-        } else {
-            $body .= &quot;&amp;lt;?p The option to change the orientation of ads is only available if your community is using the &amp;lt;a href=\&quot;$LJ::HELPURL{&apos;style_systems&apos;}\&quot;&amp;gt;S2 style system&amp;lt;/a&amp;gt;. p?&amp;gt;&quot;;
-        }
-    }
-
     # Paid communities don&apos;t choose an ad category
     unless ( $u-&amp;gt;in_class(&apos;paid&apos;) ) {
         $body .= &quot;&amp;lt;?p &amp;lt;span class=&apos;hilite&apos;&amp;gt;Ad Categories&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&quot;;

&lt;/pre&gt;</description>
  <comments>http://community.livejournal.com/changelog/6395203.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>janinedog</lj:poster>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/changelog/6395130.html</guid>
  <pubDate>Thu, 08 May 2008 00:58:43 GMT</pubDate>
  <title>[livejournal] r13859: LJSUP-2071</title>
  <link>http://community.livejournal.com/changelog/6395130.html</link>
  <description>&lt;div style=&quot;font-size: 9pt; margin-bottom: 1em&quot;&gt;Committer: janine&lt;/div&gt;LJSUP-2071&lt;br /&gt;&lt;br /&gt;* Add copy to this page.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;U   trunk/htdocs/community/members.bml
U   trunk/htdocs/community/members.bml.text
&lt;/pre&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;pre&gt;Modified: trunk/htdocs/community/members.bml
===================================================================
--- trunk/htdocs/community/members.bml	2008-05-08 00:04:38 UTC (rev 13858)
+++ trunk/htdocs/community/members.bml	2008-05-08 00:58:42 UTC (rev 13859)
@@ -533,6 +533,9 @@
     @users = @{$items{&apos;items&apos;}};
 
     # output starts here
+    $ret .= BML::ml(&apos;.intro&apos;, { aopts1 =&amp;gt; &quot;href=&apos;$LJ::HELPURL{maintainership}&apos;&quot;, aopts2 =&amp;gt; &quot;href=&apos;$LJ::HELPURL{add_to_comm}&apos;&quot; }) . &quot;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&quot;;
+    $ret .= $ML{&apos;.intro.invite&apos;};
+
     $ret .= &quot;&amp;lt;form method=&apos;post&apos; action=&apos;members.bml?authas=$cname&apos;&amp;gt;&quot;;
     $ret .= LJ::form_auth();
 

Modified: trunk/htdocs/community/members.bml.text
===================================================================
--- trunk/htdocs/community/members.bml.text	2008-05-08 00:04:38 UTC (rev 13858)
+++ trunk/htdocs/community/members.bml.text	2008-05-08 00:58:42 UTC (rev 13859)
@@ -27,6 +27,10 @@
 
 .error.unknown=Error inviting [[user]].  Please make sure they&apos;re not already a member and try again.
 
+.intro=You can define the roles of each of your members here.
+
+.intro.invite=To invite a user to your community, enter their username in one of the empty boxes below and select the checkboxes that correspond to the roles you which the user to have.
+
 .key.admin=&amp;lt;b&amp;gt;Maintainer&amp;lt;/b&amp;gt;
 
 .key.member=&amp;lt;b&amp;gt;Member&amp;lt;/b&amp;gt;

&lt;/pre&gt;</description>
  <comments>http://community.livejournal.com/changelog/6395130.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>janinedog</lj:poster>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/changelog/6394653.html</guid>
  <pubDate>Thu, 08 May 2008 00:16:07 GMT</pubDate>
  <title>[ljcom] r6274: LJSUP-2071</title>
  <link>http://community.livejournal.com/changelog/6394653.html</link>
  <description>&lt;div style=&quot;font-size: 9pt; margin-bottom: 1em&quot;&gt;Committer: janine&lt;/div&gt;LJSUP-2071&lt;br /&gt;&lt;br /&gt;* Add &quot;Work as user&quot; drop-down menus to these pages.&lt;br /&gt;* Create and use a common linkbar that helps people go between the different pages easily.&lt;br /&gt;* Move hook.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;U   trunk/cgi-bin/LJ/Hooks/CommunityManagement.pm
U   trunk/cgi-bin/ljcom.pl
U   trunk/htdocs/community/account.bml
U   trunk/htdocs/community/manage.bml.text.local
&lt;/pre&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;pre&gt;Modified: trunk/cgi-bin/LJ/Hooks/CommunityManagement.pm
===================================================================
--- trunk/cgi-bin/LJ/Hooks/CommunityManagement.pm	2008-05-07 21:14:48 UTC (rev 6273)
+++ trunk/cgi-bin/LJ/Hooks/CommunityManagement.pm	2008-05-08 00:16:06 UTC (rev 6274)
@@ -6,4 +6,17 @@
     return $remote &amp;&amp; $remote-&amp;gt;is_in_beta(&apos;customize2007&apos;) ? 1 : 0;
 });
 
+LJ::register_hook(&apos;community_manage_actionlink&apos;, sub {
+    my $user = shift;
+    my $ret = BML::ml(&apos;Actionlink&apos;, {
+                      &apos;link&apos;=&amp;gt;&quot;&amp;lt;a href=&apos;account.bml?authas=$user&apos;&amp;gt;Account&amp;lt;/a&amp;gt;&quot;});
+    $ret .= &quot;&amp;nbsp;&amp;nbsp;&quot;;
+    return $ret;
+});
+
+LJ::register_hook(&apos;community_manage_link_info&apos;, sub {
+    my $user = shift;
+    return ( url =&amp;gt; &quot;$LJ::SITEROOT/community/account.bml?authas=$user&quot;, text =&amp;gt; LJ::Lang::ml(&apos;/community/manage.bml.commlist.account&apos;) );
+});
+
 1;

Modified: trunk/cgi-bin/ljcom.pl
===================================================================
--- trunk/cgi-bin/ljcom.pl	2008-05-07 21:14:48 UTC (rev 6273)
+++ trunk/cgi-bin/ljcom.pl	2008-05-08 00:16:06 UTC (rev 6274)
@@ -1849,14 +1849,6 @@
     return undef;
 });
 
-LJ::register_hook(&apos;community_manage_actionlink&apos;,  sub {
-    my $user = shift;
-    my $ret = BML::ml(&apos;Actionlink&apos;, {
-                      &apos;link&apos;=&amp;gt;&quot;&amp;lt;a href=&apos;account.bml?authas=$user&apos;&amp;gt;Account&amp;lt;/a&amp;gt;&quot;});
-    $ret .= &quot;&amp;nbsp;&amp;nbsp;&quot;;
-    return $ret;
-});
-
 # args: $u
 # extra status information for subscriptions
 LJ::register_hook(&apos;sub_status_extra&apos;, sub {

Modified: trunk/htdocs/community/account.bml
===================================================================
--- trunk/htdocs/community/account.bml	2008-05-07 21:14:48 UTC (rev 6273)
+++ trunk/htdocs/community/account.bml	2008-05-08 00:16:06 UTC (rev 6274)
@@ -16,21 +16,23 @@
         return $body;
     }
 
+    $body .= &quot;&amp;lt;form action=&apos;account.bml&apos; method=&apos;GET&apos;&amp;gt;\n&quot;;
+    $body .= LJ::make_authas_select($remote, { &apos;authas&apos; =&amp;gt; $GET{&apos;authas&apos;}, &apos;type&apos; =&amp;gt; &apos;C&apos; });
+    $body .= &quot;&amp;lt;/form&amp;gt;\n\n&quot;;
+
     my $authas = $GET{&apos;authas&apos;} || $remote-&amp;gt;{&apos;user&apos;};
     my $u = LJ::get_authas_user($authas);
     return LJ::bad_input($ML{&apos;error.invalidauth&apos;})
         unless $u;
 
-    $body .= &quot;&amp;lt;form action=&apos;account.bml&apos; method=&apos;GET&apos;&amp;gt;\n&quot;;
-    $body .= LJ::make_authas_select($remote, { &apos;authas&apos; =&amp;gt; $GET{&apos;authas&apos;}, &apos;type&apos; =&amp;gt; &apos;C&apos; });
-    $body .= &quot;&amp;lt;/form&amp;gt;&amp;lt;br /&amp;gt;\n\n&quot;;
-
     # Must be working with a community
     unless ($u-&amp;gt;{journaltype} eq &apos;C&apos;) {
-        $body .= $ML{&apos;.choose&apos;};
+        $body .= &quot;&amp;lt;br /&amp;gt;$ML{&apos;.choose&apos;}&quot;;
         return $body;
     }
 
+    $body .= LJ::maintainer_linkbar($u, &quot;account&quot;);
+
     my $warning;
     if (LJ::did_post()) {
         return LJ::bad_input($ML{&apos;error.invalidform&apos;})  unless LJ::check_form_auth();

Modified: trunk/htdocs/community/manage.bml.text.local
===================================================================
--- trunk/htdocs/community/manage.bml.text.local	2008-05-07 21:14:48 UTC (rev 6273)
+++ trunk/htdocs/community/manage.bml.text.local	2008-05-08 00:16:06 UTC (rev 6274)
@@ -1 +1,3 @@
 ;; -*- coding: utf-8 -*-
+
+.commlist.account=Account

&lt;/pre&gt;</description>
  <comments>http://community.livejournal.com/changelog/6394653.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>janinedog</lj:poster>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/changelog/6394611.html</guid>
  <pubDate>Thu, 08 May 2008 00:04:39 GMT</pubDate>
  <title>[livejournal] r13858: LJSUP-2071</title>
  <link>http://community.livejournal.com/changelog/6394611.html</link>
  <description>&lt;div style=&quot;font-size: 9pt; margin-bottom: 1em&quot;&gt;Committer: janine&lt;/div&gt;LJSUP-2071&lt;br /&gt;&lt;br /&gt;* Add &quot;Work as user&quot; drop-down menus to these pages.&lt;br /&gt;* Create and use a common linkbar that helps people go between the different pages easily.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;U   trunk/cgi-bin/communitylib.pl
U   trunk/htdocs/community/manage.bml
U   trunk/htdocs/community/manage.bml.text
U   trunk/htdocs/community/members.bml
U   trunk/htdocs/community/moderate.bml
U   trunk/htdocs/community/pending.bml
U   trunk/htdocs/community/sentinvites.bml
U   trunk/htdocs/community/settings.bml
&lt;/pre&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;pre&gt;Modified: trunk/cgi-bin/communitylib.pl
===================================================================
--- trunk/cgi-bin/communitylib.pl	2008-05-07 22:10:08 UTC (rev 13857)
+++ trunk/cgi-bin/communitylib.pl	2008-05-08 00:04:38 UTC (rev 13858)
@@ -512,5 +512,43 @@
     return $aa;
 }
 
+sub maintainer_linkbar {
+    my $comm = shift;
+    my $page = shift;
+
+    my $username = $comm-&amp;gt;user;
+    my @links;
+
+    my %manage_link_info = LJ::run_hook(&apos;community_manage_link_info&apos;, $username);
+    if (keys %manage_link_info) {
+        push @links, $page eq &quot;account&quot; ?
+            &quot;&amp;lt;strong&amp;gt;$manage_link_info{text}&amp;lt;/strong&amp;gt;&quot; :
+            &quot;&amp;lt;a href=&apos;$manage_link_info{url}&apos;&amp;gt;$manage_link_info{text}&amp;lt;/a&amp;gt;&quot;;
+    }
+
+    push @links, (
+        $page eq &quot;profile&quot; ?
+            &quot;&amp;lt;strong&amp;gt;&quot; . LJ::Lang::ml(&apos;/community/manage.bml.commlist.actinfo2&apos;) . &quot;&amp;lt;/strong&amp;gt;&quot; :
+            &quot;&amp;lt;a href=&apos;$LJ::SITEROOT/manage/profile/?authas=$username&apos;&amp;gt;&quot; . LJ::Lang::ml(&apos;/community/manage.bml.commlist.actinfo2&apos;) . &quot;&amp;lt;/a&amp;gt;&quot;,
+        $page eq &quot;customize&quot; ?
+            &quot;&amp;lt;strong&amp;gt;&quot; . LJ::Lang::ml(&apos;/community/manage.bml.commlist.customize2&apos;) . &quot;&amp;lt;/strong&amp;gt;&quot; :
+            &quot;&amp;lt;a href=&apos;$LJ::SITEROOT/customize/?authas=$username&apos;&amp;gt;&quot; . LJ::Lang::ml(&apos;/community/manage.bml.commlist.customize2&apos;) . &quot;&amp;lt;/a&amp;gt;&quot;,
+        $page eq &quot;settings&quot; ?
+            &quot;&amp;lt;strong&amp;gt;&quot; . LJ::Lang::ml(&apos;/community/manage.bml.commlist.actsettings2&apos;) . &quot;&amp;lt;/strong&amp;gt;&quot; :
+            &quot;&amp;lt;a href=&apos;$LJ::SITEROOT/community/settings.bml?authas=$username&apos;&amp;gt;&quot; . LJ::Lang::ml(&apos;/community/manage.bml.commlist.actsettings2&apos;) . &quot;&amp;lt;/a&amp;gt;&quot;,
+        $page eq &quot;invites&quot; ?
+            &quot;&amp;lt;strong&amp;gt;&quot; . LJ::Lang::ml(&apos;/community/manage.bml.commlist.actinvites&apos;) . &quot;&amp;lt;/strong&amp;gt;&quot; :
+            &quot;&amp;lt;a href=&apos;$LJ::SITEROOT/community/sentinvites.bml?authas=$username&apos;&amp;gt;&quot; . LJ::Lang::ml(&apos;/community/manage.bml.commlist.actinvites&apos;) . &quot;&amp;lt;/a&amp;gt;&quot;,
+        $page eq &quot;members&quot; ?
+            &quot;&amp;lt;strong&amp;gt;&quot; . LJ::Lang::ml(&apos;/community/manage.bml.commlist.actmembers2&apos;) . &quot;&amp;lt;/strong&amp;gt;&quot; :
+            &quot;&amp;lt;a href=&apos;$LJ::SITEROOT/community/members.bml?authas=$username&apos;&amp;gt;&quot; . LJ::Lang::ml(&apos;/community/manage.bml.commlist.actmembers2&apos;) . &quot;&amp;lt;/a&amp;gt;&quot;,
+    );
+
+    my $ret .= &quot;&amp;lt;strong&amp;gt;&quot; . LJ::Lang::ml(&apos;/community/manage.bml.managelinks&apos;, { user =&amp;gt; $comm-&amp;gt;ljuser_display }) . &quot;&amp;lt;/strong&amp;gt; &quot;;
+    $ret .= join(&quot; | &quot;, @links);
+
+    return &quot;&amp;lt;p style=&apos;margin-bottom: 20px;&apos;&amp;gt;$ret&amp;lt;/p&amp;gt;&quot;;
+}
+
 1;
 

Modified: trunk/htdocs/community/manage.bml
===================================================================
--- trunk/htdocs/community/manage.bml	2008-05-07 22:10:08 UTC (rev 13857)
+++ trunk/htdocs/community/manage.bml	2008-05-08 00:04:38 UTC (rev 13858)
@@ -105,9 +105,9 @@
         if ($admin{$id}) {
             $ret .= LJ::run_hook(&apos;community_manage_actionlink&apos;, $user);
             $ret .= BML::ml(&apos;Actionlink&apos;, {
-                &apos;link&apos;=&amp;gt;&quot;&amp;lt;a href=&apos;/manage/profile/?authas=$user&apos;&amp;gt;$ML{&apos;.commlist.actinfo&apos;}&amp;lt;/a&amp;gt;&quot;}) . &quot;&amp;nbsp;&amp;nbsp;&quot;;
+                &apos;link&apos;=&amp;gt;&quot;&amp;lt;a href=&apos;/manage/profile/?authas=$user&apos;&amp;gt;$ML{&apos;.commlist.actinfo2&apos;}&amp;lt;/a&amp;gt;&quot;}) . &quot;&amp;nbsp;&amp;nbsp;&quot;;
             $ret .= BML::ml(&apos;Actionlink&apos;, {
-                &apos;link&apos;=&amp;gt;&quot;&amp;lt;a href=&apos;$LJ::SITEROOT/customize/?authas=$user&apos;&amp;gt;$ML{&apos;.commlist.customize&apos;}&amp;lt;/a&amp;gt;&quot;}) . &quot;&amp;nbsp;&amp;nbsp;&quot;;
+                &apos;link&apos;=&amp;gt;&quot;&amp;lt;a href=&apos;$LJ::SITEROOT/customize/?authas=$user&apos;&amp;gt;$ML{&apos;.commlist.customize2&apos;}&amp;lt;/a&amp;gt;&quot;}) . &quot;&amp;nbsp;&amp;nbsp;&quot;;
             $ret .= BML::ml(&apos;Actionlink&apos;, {
                 &apos;link&apos;=&amp;gt;&quot;&amp;lt;a href=&apos;/community/settings.bml?authas=$user&apos;&amp;gt;$ML{&apos;.commlist.actsettings2&apos;}&amp;lt;/a&amp;gt;&quot;}) . &quot;&amp;nbsp;&amp;nbsp;&quot;;
             $ret .= BML::ml(&apos;Actionlink&apos;, {

Modified: trunk/htdocs/community/manage.bml.text
===================================================================
--- trunk/htdocs/community/manage.bml.text	2008-05-07 22:10:08 UTC (rev 13857)
+++ trunk/htdocs/community/manage.bml.text	2008-05-08 00:04:38 UTC (rev 13858)
@@ -1,6 +1,8 @@
 ;; -*- coding: utf-8 -*-
 .commlist.actinfo=Info
 
+.commlist.actinfo2=Profile
+
 .commlist.actinvites=Invitations
 
 .commlist.actions=&amp;lt;b&amp;gt;Actions&amp;lt;/b&amp;gt;
@@ -14,6 +16,8 @@
 
 .commlist.customize=Customize
 
+.commlist.customize2=Journal Style
+
 .commlist.header=Your communities
 
 .commlist.moderation=Awaiting Moderation
@@ -46,6 +50,8 @@
 
 .joinmail.title=Administrative options
 
+.managelinks=Manage [[user]]&apos;s:
+
 .modemail.body=For moderated communities, you can choose whether to send emails or not:
 
 .modemail.no=No email, I will manage the moderation queue manually

Modified: trunk/htdocs/community/members.bml
===================================================================
--- trunk/htdocs/community/members.bml	2008-05-07 22:10:08 UTC (rev 13857)
+++ trunk/htdocs/community/members.bml	2008-05-08 00:04:38 UTC (rev 13858)
@@ -34,6 +34,10 @@
     my $cname = $GET{authas};
     return BML::redirect(&quot;$LJ::SITEROOT/community/manage.bml&quot;) unless $cname;
 
+    $ret .= &quot;&amp;lt;form action=&apos;members.bml&apos; method=&apos;GET&apos;&amp;gt;\n&quot;;
+    $ret .= LJ::make_authas_select($remote, { authas =&amp;gt; $GET{authas}, type =&amp;gt; &apos;C&apos; });
+    $ret .= &quot;&amp;lt;/form&amp;gt;\n\n&quot;;
+
     # get $c object
     my $c = LJ::load_user($cname);
     unless ($c) {
@@ -59,6 +63,8 @@
         return $print_with_ad-&amp;gt;($ret);
     }
 
+    $ret .= LJ::maintainer_linkbar($c, &quot;members&quot;);
+
     my @allattribs = (&apos;member&apos;, &apos;post&apos;, &apos;preapprove&apos;, &apos;moderate&apos;, &apos;admin&apos;);
     my %attrshort = ( X =&amp;gt; &apos;member&apos;, P =&amp;gt; &apos;post&apos;, N =&amp;gt; &apos;preapprove&apos;, M =&amp;gt; &apos;moderate&apos;, A =&amp;gt; &apos;admin&apos;);
     my %attrshort_r = ( map { $attrshort{$_} =&amp;gt; $_ } keys %attrshort ); # reversed
@@ -527,9 +533,6 @@
     @users = @{$items{&apos;items&apos;}};
 
     # output starts here
-    $ret .= &quot;&amp;lt;?p &quot; . BML::ml(&apos;.name&apos;, { &apos;name&apos; =&amp;gt; LJ::ljuser($cname, { &apos;type&apos; =&amp;gt; &apos;C&apos; }) });
-    $ret .= &quot; &quot; . BML::ml(&apos;Actionlink&apos;, {&apos;link&apos; =&amp;gt; &quot;&amp;lt;a href=&apos;$LJ::SITEROOT/community/settings.bml?authas=$cname&apos;&amp;gt;$ML{&apos;.settings2&apos;}&amp;lt;/a&amp;gt;&quot;}) . &quot; p?&amp;gt;&quot;;
-
     $ret .= &quot;&amp;lt;form method=&apos;post&apos; action=&apos;members.bml?authas=$cname&apos;&amp;gt;&quot;;
     $ret .= LJ::form_auth();
 

Modified: trunk/htdocs/community/moderate.bml
===================================================================
--- trunk/htdocs/community/moderate.bml	2008-05-07 22:10:08 UTC (rev 13857)
+++ trunk/htdocs/community/moderate.bml	2008-05-08 00:04:38 UTC (rev 13858)
@@ -23,6 +23,10 @@
         return BML::redirect(&quot;$LJ::SITEROOT/community/moderate.bml?authas=$GET{comm}&quot;);
     }
 
+    $ret .= &quot;&amp;lt;form action=&apos;moderate.bml&apos; method=&apos;GET&apos;&amp;gt;\n&quot;;
+    $ret .= LJ::make_authas_select($remote, { authas =&amp;gt; $GET{authas}, type =&amp;gt; &apos;C&apos; });
+    $ret .= &quot;&amp;lt;/form&amp;gt;\n\n&quot;;
+
     my $mode = $POST{&apos;mode&apos;};
     my ($saved_comm, $saved_modid) = (&quot;&quot;, 0);
 
@@ -46,6 +50,9 @@
                 BML::ml(&apos;.error.noaccess&apos;, {&apos;comm&apos;=&amp;gt;&quot;&amp;lt;?ljcomm $c-&amp;gt;{&apos;user&apos;} ljcomm?&amp;gt;&quot;}) . &quot; p?&amp;gt;&quot;;
             return $ret;
         }
+
+        $ret .= LJ::maintainer_linkbar($c);
+
         # use dbcm to read to minimize collisions between moderators due to replication lag
         my $entry = $dbcm-&amp;gt;selectrow_hashref(&quot;SELECT * FROM modlog WHERE journalid=? AND modid=?&quot;,
                                              undef, $c-&amp;gt;{&apos;userid&apos;}, $modid);
@@ -190,6 +197,8 @@
         return $ret;
     }
 
+    $ret .= LJ::maintainer_linkbar($c) unless LJ::did_post() &amp;&amp; ($mode eq &apos;approve_do&apos; || $mode eq &apos;reject_do&apos;);
+
     my $formauth = LJ::form_auth();
 
     if ($mode eq &apos;action&apos; &amp;&amp; $POST{&apos;action:approve&apos;}) {

Modified: trunk/htdocs/community/pending.bml
===================================================================
--- trunk/htdocs/community/pending.bml	2008-05-07 22:10:08 UTC (rev 13857)
+++ trunk/htdocs/community/pending.bml	2008-05-08 00:04:38 UTC (rev 13858)
@@ -10,12 +10,6 @@
 
     return LJ::server_down_html() if $LJ::SERVER_DOWN;
 
-    # always have links at top
-    my $ret = BML::ml(&apos;Backlink&apos;, {
-        &apos;link&apos; =&amp;gt; &apos;/community/manage.bml&apos;,
-        &apos;text&apos; =&amp;gt; $ML{&apos;/community/members.bml.manage2&apos;},
-    });
-
     # get remote
     my $remote = LJ::get_remote();
     return &quot;&amp;lt;?needlogin?&amp;gt;&quot; unless $remote;
@@ -28,9 +22,14 @@
     my $cname = $GET{authas};
     return BML::redirect(&quot;$LJ::SITEROOT/community/manage.bml&quot;) unless $cname;
 
+    my $ret;
+    $ret .= &quot;&amp;lt;form action=&apos;pending.bml&apos; method=&apos;GET&apos;&amp;gt;\n&quot;;
+    $ret .= LJ::make_authas_select($remote, { authas =&amp;gt; $GET{authas}, type =&amp;gt; &apos;C&apos; });
+    $ret .= &quot;&amp;lt;/form&amp;gt;\n\n&quot;;
+
     # get $c object
     my $c = LJ::load_user($cname);
-    return &quot;&amp;lt;?h1 $ML{&apos;Error&apos;} h1?&amp;gt;&amp;lt;?p $ML{&apos;/community/members.bml.error.nocomm&apos;} p?&amp;gt;&quot;
+    return $ret . &quot;&amp;lt;?h1 $ML{&apos;Error&apos;} h1?&amp;gt;&amp;lt;?p $ML{&apos;/community/members.bml.error.nocomm&apos;} p?&amp;gt;&quot;
         unless $c;
     my $cid = $c-&amp;gt;{&apos;userid&apos;};
 
@@ -43,12 +42,14 @@
         return $ret;
     }
 
+    $ret .= LJ::maintainer_linkbar($c);
+
     # hit up the database to find pending members
     my $pendids = LJ::get_pending_members($c) || [];
     my $us = LJ::load_userids(@$pendids);
 
     # nothing pending?
-    return &quot;&amp;lt;?h1 $ML{&apos;.nopending.title&apos;} h1?&amp;gt;&amp;lt;?p $ML{&apos;.nopending.body&apos;} p?&amp;gt;&quot;
+    return $ret . &quot;&amp;lt;?h1 $ML{&apos;.nopending.title&apos;} h1?&amp;gt;&amp;lt;?p $ML{&apos;.nopending.body&apos;} p?&amp;gt;&quot;
         unless @$pendids || LJ::did_post();
 
     # saving a form submission
@@ -104,9 +105,6 @@
     @users = @{$items{items}};
 
     # output starts here
-    $ret .= &quot;&amp;lt;?p &quot; . BML::ml(&apos;/community/members.bml.name&apos;, { name =&amp;gt; LJ::ljuser($cname, { type =&amp;gt; &apos;C&apos; }) });
-    $ret .= &quot; &quot; . BML::ml(&apos;/community/members.bml.settings&apos;, { &apos;link&apos; =&amp;gt; &quot;settings.bml?authas=$cname&quot;}) . &quot; p?&amp;gt;&quot;;
-
     $ret .= &quot;&amp;lt;form method=&apos;post&apos; action=&apos;pending.bml?authas=$cname&apos;&amp;gt;&quot;;
     $ret .= LJ::form_auth();
 
@@ -135,6 +133,11 @@
 
     $ret .= $navbar;
 
+    $ret .= BML::ml(&apos;Backlink&apos;, {
+        &apos;link&apos; =&amp;gt; &apos;/community/manage.bml&apos;,
+        &apos;text&apos; =&amp;gt; $ML{&apos;/community/members.bml.manage2&apos;},
+    });
+
     return $ret;
 
 }

Modified: trunk/htdocs/community/sentinvites.bml
===================================================================
--- trunk/htdocs/community/sentinvites.bml	2008-05-07 22:10:08 UTC (rev 13857)
+++ trunk/htdocs/community/sentinvites.bml	2008-05-08 00:04:38 UTC (rev 13858)
@@ -28,6 +28,10 @@
     my $cname = $GET{authas};
     return BML::redirect(&quot;$LJ::SITEROOT/community/manage.bml&quot;) unless $cname;
 
+    $ret .= &quot;&amp;lt;form action=&apos;sentinvites.bml&apos; method=&apos;GET&apos;&amp;gt;\n&quot;;
+    $ret .= LJ::make_authas_select($remote, { authas =&amp;gt; $GET{authas}, type =&amp;gt; &apos;C&apos; });
+    $ret .= &quot;&amp;lt;/form&amp;gt;\n\n&quot;;
+
     # get $c object
     my $c = LJ::load_user($cname);
     unless ($c) {
@@ -53,6 +57,8 @@
         return $ret;
     }
 
+    $ret .= LJ::maintainer_linkbar($c, &quot;invites&quot;);
+
     # columns of our table, excluding username
     my @attribs = (&apos;post&apos;);
     my @titleattribs = (&apos;P&apos;);
@@ -135,8 +141,6 @@
     @users = @{$items{&apos;items&apos;}};
 
     # output starts here
-    $ret .= &quot;&amp;lt;?p &quot; . BML::ml(&apos;/community/members.bml.name&apos;, { &apos;name&apos; =&amp;gt; LJ::ljuser($cname, { &apos;type&apos; =&amp;gt; &apos;C&apos; }) });
-    $ret .= &quot; &quot; . BML::ml(&apos;/community/members.bml.settings&apos;, { &apos;link&apos; =&amp;gt; &quot;settings.bml?authas=$cname&quot;}) . &quot; p?&amp;gt;&quot;;
 
     # jump to user
     if ($items{&apos;pages&apos;} &amp;gt; 1) {

Modified: trunk/htdocs/community/settings.bml
===================================================================
--- trunk/htdocs/community/settings.bml	2008-05-07 22:10:08 UTC (rev 13857)
+++ trunk/htdocs/community/settings.bml	2008-05-08 00:04:38 UTC (rev 13858)
@@ -55,6 +55,10 @@
     my $mode = &quot;modify&quot;;
     $mode = &quot;create&quot; if $GET{&apos;mode&apos;} eq &apos;create&apos;;
 
+    $ret .= &quot;&amp;lt;form action=&apos;$LJ::SITEROOT/community/settings.bml&apos; method=&apos;get&apos;&amp;gt;&quot;;
+    $ret .= LJ::make_authas_select($remote, { authas =&amp;gt; $GET{authas}, type =&amp;gt; &quot;C&quot; });
+    $ret .= &quot;&amp;lt;/form&amp;gt;&quot;;
+
     if (LJ::did_post())
     {
         return $print_with_ad-&amp;gt;(&quot;&amp;lt;?h1 $ML{&apos;Error&apos;} h1?&amp;gt;&amp;lt;?p $ML{&apos;error.invalidform&apos;} p?&amp;gt;&quot;)
@@ -166,6 +170,7 @@
             # since journaltype changed
             $cu-&amp;gt;invalidate_directory_record;
 
+            $ret .= LJ::maintainer_linkbar($cu, &quot;settings&quot;);
             $ret .= LJ::ad_display( type =&amp;gt; &apos;app&apos;, orient =&amp;gt; &apos;BML-App-Confirm&apos;, below_ad =&amp;gt; LJ::CProd-&amp;gt;full_box_for($remote, width =&amp;gt; 300) );
             $ret .= &quot;&amp;lt;?h1 $ML{&apos;.success&apos;} h1?&amp;gt;&quot;;
             if ($mode eq &apos;create&apos;) {
@@ -211,10 +216,6 @@
             return BML::redirect(&quot;$LJ::SITEROOT/community/manage.bml&quot;);
         }
 
-        $ret .= &quot;&amp;lt;form action=&apos;$LJ::SITEROOT/community/settings.bml&apos; method=&apos;get&apos;&amp;gt;&quot;;
-        $ret .= LJ::make_authas_select($remote, { authas =&amp;gt; $GET{authas} });
-        $ret .= &quot;&amp;lt;/form&amp;gt;&quot;;
-
         unless ($c-&amp;gt;{&apos;journaltype&apos;} eq &apos;C&apos;) {
             $ret .= &quot;&amp;lt;?h1 $ML{&apos;Error&apos;} h1?&amp;gt;&amp;lt;?p $ML{&apos;.error.notcomm&apos;} p?&amp;gt;&quot;;
             return $print_with_ad-&amp;gt;($ret);
@@ -244,8 +245,7 @@
       } else {
           LJ::set_active_crumb(&apos;commsettings&apos;);
             $ret .= LJ::html_hidden(&apos;cuser&apos;, $cname);
-            $ret .= &quot;&amp;lt;?p &quot; . BML::ml(&apos;.name&apos;,{&apos;name&apos;=&amp;gt;&quot;&amp;lt;?ljcomm $cname ljcomm?&amp;gt;&quot;});
-            $ret .= &quot; &quot; . BML::ml(&apos;Actionlink&apos;, {&apos;link&apos; =&amp;gt; &quot;&amp;lt;a href=&apos;$LJ::SITEROOT/community/members.bml?authas=$cname&apos;&amp;gt;$ML{&apos;.members2&apos;}&amp;lt;/a&amp;gt;&quot;}) . &quot; p?&amp;gt;&quot;;
+            $ret .= LJ::maintainer_linkbar($c, &quot;settings&quot;);
         }
 
     $ret .= &quot;&amp;lt;div id=&apos;left-column&apos;&amp;gt;&quot;;

&lt;/pre&gt;</description>
  <comments>http://community.livejournal.com/changelog/6394611.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>janinedog</lj:poster>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/changelog/6394312.html</guid>
  <pubDate>Wed, 07 May 2008 22:10:09 GMT</pubDate>
  <title>[livejournal] r13857: Don&apos;t put all the keywords of all userpi...</title>
  <link>http://community.livejournal.com/changelog/6394312.html</link>
  <description>&lt;div style=&quot;font-size: 9pt; margin-bottom: 1em&quot;&gt;Committer: henrylyne&lt;/div&gt;Don&apos;t put all the keywords of all userpics in the ALT attribute.&lt;br /&gt;Thanks to &lt;span class=&apos;ljuser&apos; lj:user=&apos;pauamma&apos; style=&apos;white-space: nowrap;&apos;&gt;&lt;a href=&apos;http://pauamma.livejournal.com/profile&apos;&gt;&lt;img src=&apos;http://p-stat.livejournal.com/img/userinfo.gif&apos; alt=&apos;[info]&apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;http://pauamma.livejournal.com/&apos;&gt;&lt;b&gt;pauamma&lt;/b&gt;&lt;/a&gt;&lt;/span&gt; for pointing out the fix.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;U   trunk/cgi-bin/LJ/S2.pm
&lt;/pre&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;pre&gt;Modified: trunk/cgi-bin/LJ/S2.pm
===================================================================
--- trunk/cgi-bin/LJ/S2.pm	2008-05-07 21:12:54 UTC (rev 13856)
+++ trunk/cgi-bin/LJ/S2.pm	2008-05-07 22:10:08 UTC (rev 13857)
@@ -2077,7 +2077,7 @@
     my $pi = LJ::get_userpic_info($u, {load_comments =&amp;gt; 1});
     my $p = $pi-&amp;gt;{&apos;pic&apos;}-&amp;gt;{$picid};
     my $k = $pi-&amp;gt;{&apos;kw&apos;};
-    my $kwstr = join(&apos;, &apos;, (keys %$k));
+    my $kwstr = join(&apos;, &apos;, ( grep { $k-&amp;gt;{$_}{&apos;picid&apos;} eq $picid } (keys %$k) ) );
     my $alttext = $kwstr;
 
     return Null(&quot;Image&quot;) unless $p;

&lt;/pre&gt;</description>
  <comments>http://community.livejournal.com/changelog/6394312.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>henrylyne</lj:poster>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/changelog/6393867.html</guid>
  <pubDate>Wed, 07 May 2008 21:14:48 GMT</pubDate>
  <title>[ljcom] r6273: LJSUP-2071</title>
  <link>http://community.livejournal.com/changelog/6393867.html</link>
  <description>&lt;div style=&quot;font-size: 9pt; margin-bottom: 1em&quot;&gt;Committer: janine&lt;/div&gt;LJSUP-2071&lt;br /&gt;&lt;br /&gt;Make the administrative /community/ pages that use ?comm= as the GET arg use ?authas= instead, in preparation for a &quot;Work as user&quot; drop-down.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;U   trunk/htdocs/manage/horizon.bml
&lt;/pre&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;pre&gt;Modified: trunk/htdocs/manage/horizon.bml
===================================================================
--- trunk/htdocs/manage/horizon.bml	2008-05-07 15:47:02 UTC (rev 6272)
+++ trunk/htdocs/manage/horizon.bml	2008-05-07 21:14:48 UTC (rev 6273)
@@ -90,8 +90,8 @@
     }
     $ret .= &quot;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;$ML{&apos;.community&apos;}&amp;lt;/b&amp;gt;&amp;lt;ul class=&apos;settings&apos;&amp;gt;&quot; if $comm;
     $ret .= &quot;&amp;lt;li&amp;gt;&amp;raquo; &amp;lt;a href=&apos;$LJ::SITEROOT/community/settings.bml?authas=$authas&apos;&amp;gt;$ML{&apos;.options&apos;}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&quot; if $comm;
-    $ret .= &quot;&amp;lt;li&amp;gt;&amp;raquo; &amp;lt;a href=&apos;$LJ::SITEROOT/community/members.bml?comm=$authas&apos;&amp;gt;$ML{&apos;.members&apos;}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&quot; if $comm;
-    $ret .= &quot;&amp;lt;li&amp;gt;&amp;raquo; &amp;lt;a href=&apos;$LJ::SITEROOT/community/sentinvites.bml?comm=$authas&apos;&amp;gt;$ML{&apos;.sent.invitations&apos;}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&quot; if $comm;
+    $ret .= &quot;&amp;lt;li&amp;gt;&amp;raquo; &amp;lt;a href=&apos;$LJ::SITEROOT/community/members.bml?authas=$authas&apos;&amp;gt;$ML{&apos;.members&apos;}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&quot; if $comm;
+    $ret .= &quot;&amp;lt;li&amp;gt;&amp;raquo; &amp;lt;a href=&apos;$LJ::SITEROOT/community/sentinvites.bml?authas=$authas&apos;&amp;gt;$ML{&apos;.sent.invitations&apos;}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&quot; if $comm;
     $ret .= &quot;&amp;lt;li&amp;gt;&amp;raquo; &amp;lt;a href=&apos;$LJ::SITEROOT/manage/comments/?authas=$authas&apos;&amp;gt;$ML{&apos;.comment.settings&apos;}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&quot;;
     $ret .= $upgraded ? &quot;&amp;lt;li&amp;gt;&amp;raquo; &amp;lt;a href=&apos;$LJ::SITEROOT/manage/domain.bml?authas=$authas&apos;&amp;gt;$ML{&apos;.domain.mapping&apos;}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&quot; :
                         &quot;&amp;lt;li&amp;gt;&amp;raquo; &amp;lt;a href=&apos;$LJ::SITEROOT/didyouknow/domainmapping.bml&apos;&amp;gt;$ML{&apos;.edit.domain.mapping&apos;}&amp;lt;/a&amp;gt; $upgradeicon&amp;lt;/li&amp;gt;&quot;;

&lt;/pre&gt;</description>
  <comments>http://community.livejournal.com/changelog/6393867.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>janinedog</lj:poster>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/changelog/6393836.html</guid>
  <pubDate>Wed, 07 May 2008 21:12:56 GMT</pubDate>
  <title>[livejournal] r13856: LJSUP-2071</title>
  <link>http://community.livejournal.com/changelog/6393836.html</link>
  <description>&lt;div style=&quot;font-size: 9pt; margin-bottom: 1em&quot;&gt;Committer: janine&lt;/div&gt;LJSUP-2071&lt;br /&gt;&lt;br /&gt;Make the administrative /community/ pages that use ?comm= as the GET arg use ?authas= instead, in preparation for a &quot;Work as user&quot; drop-down.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;U   trunk/bin/maint/generic.pl
U   trunk/cgi-bin/LJ/Event/CommunityJoinRequest.pm
U   trunk/cgi-bin/ljprotocol.pl
U   trunk/cgi-bin/weblib.pl
U   trunk/htdocs/approve.bml
U   trunk/htdocs/community/manage.bml
U   trunk/htdocs/community/members.bml
U   trunk/htdocs/community/moderate.bml
U   trunk/htdocs/community/pending.bml
U   trunk/htdocs/community/sentinvites.bml
U   trunk/htdocs/community/settings.bml
U   trunk/htdocs/friends/edit.bml
&lt;/pre&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;pre&gt;Modified: trunk/bin/maint/generic.pl
===================================================================
--- trunk/bin/maint/generic.pl	2008-05-07 15:53:05 UTC (rev 13855)
+++ trunk/bin/maint/generic.pl	2008-05-07 21:12:54 UTC (rev 13856)
@@ -46,7 +46,7 @@
                        &quot;Over the past day or so, $row-&amp;gt;[1] request(s) to join the \&quot;$cuser\&quot; community have &quot; .
                        &quot;been received.  To look at the currently pending membership requests, please visit the pending &quot; .
                        &quot;membership page:\n\n&quot; .
-                       &quot;\t$LJ::SITEROOT/community/pending.bml?comm=$cuser\n\n&quot; .
+                       &quot;\t$LJ::SITEROOT/community/pending.bml?authas=$cuser\n\n&quot; .
                        &quot;You may also ignore this email.  Outstanding requests to join will expire after a period of 30 days.\n\n&quot; .
                        &quot;If you wish to no longer receive these emails, visit the community management page and &quot; .
                        &quot;set the relevant options:\n\n\t$LJ::SITEROOT/community/manage.bml\n\n&quot; .

Modified: trunk/cgi-bin/LJ/Event/CommunityJoinRequest.pm
===================================================================
--- trunk/cgi-bin/LJ/Event/CommunityJoinRequest.pm	2008-05-07 15:53:05 UTC (rev 13855)
+++ trunk/cgi-bin/LJ/Event/CommunityJoinRequest.pm	2008-05-07 21:12:54 UTC (rev 13856)
@@ -41,7 +41,7 @@
 
 sub as_html {
     my $self = shift;
-    return sprintf(&quot;The user %s has &amp;lt;a href=\&quot;$LJ::SITEROOT/community/pending.bml?comm=%s\&quot;&amp;gt;requested to join&amp;lt;/a&amp;gt; the community %s.&quot;,
+    return sprintf(&quot;The user %s has &amp;lt;a href=\&quot;$LJ::SITEROOT/community/pending.bml?authas=%s\&quot;&amp;gt;requested to join&amp;lt;/a&amp;gt; the community %s.&quot;,
                    $self-&amp;gt;requestor-&amp;gt;ljuser_display, $self-&amp;gt;comm-&amp;gt;user,
                    $self-&amp;gt;comm-&amp;gt;ljuser_display);
 }
@@ -51,7 +51,7 @@
 
     my $ret .= &quot;&amp;lt;div class=&apos;actions&apos;&amp;gt;&quot;;
     $ret .= &quot; &amp;lt;a href=&apos;&quot; . $self-&amp;gt;requestor-&amp;gt;profile_url . &quot;&apos;&amp;gt;View Profile&amp;lt;/a&amp;gt;&quot;;
-    $ret .= &quot; &amp;lt;a href=&apos;$LJ::SITEROOT/community/pending.bml?comm=&quot; . $self-&amp;gt;comm-&amp;gt;user . &quot;&apos;&amp;gt;Manage Members&amp;lt;/a&amp;gt;&quot;;
+    $ret .= &quot; &amp;lt;a href=&apos;$LJ::SITEROOT/community/pending.bml?authas=&quot; . $self-&amp;gt;comm-&amp;gt;user . &quot;&apos;&amp;gt;Manage Members&amp;lt;/a&amp;gt;&quot;;
     $ret .= &quot;&amp;lt;/div&amp;gt;&quot;;
 
     return $ret;
@@ -115,7 +115,7 @@
         $self-&amp;gt;format_options($is_html, $lang, $vars,
         {
             &apos;esn.approve_join_request&apos;    =&amp;gt; [ 1, $authurl ],
-            &apos;esn.manage_membership_reqs&apos;  =&amp;gt; [ 2, &quot;$LJ::SITEROOT/community/pending.bml?comm=$communityname&quot; ],
+            &apos;esn.manage_membership_reqs&apos;  =&amp;gt; [ 2, &quot;$LJ::SITEROOT/community/pending.bml?authas=$communityname&quot; ],
             &apos;esn.manage_community&apos;        =&amp;gt; [ 3, &quot;$LJ::SITEROOT/community/manage.bml&quot; ],
         }
     );

Modified: trunk/cgi-bin/ljprotocol.pl
===================================================================
--- trunk/cgi-bin/ljprotocol.pl	2008-05-07 15:53:05 UTC (rev 13855)
+++ trunk/cgi-bin/ljprotocol.pl	2008-05-07 21:12:54 UTC (rev 13856)
@@ -954,9 +954,9 @@
                             &quot;   Subject: $req-&amp;gt;{&apos;subject&apos;}\n\n&quot; .
                             &quot;Options:\n\n&quot; .
                             &quot;  - Accept or reject this submission\n&quot; .
-                            &quot;    $LJ::SITEROOT/community/moderate.bml?comm=$uowner-&amp;gt;{&apos;user&apos;}&amp;modid=$modid\n&quot; .
+                            &quot;    $LJ::SITEROOT/community/moderate.bml?authas=$uowner-&amp;gt;{&apos;user&apos;}&amp;modid=$modid\n&quot; .
                             &quot;  - View the entire moderation queue\n&quot;.
-                            &quot;    $LJ::SITEROOT/community/moderate.bml?comm=$uowner-&amp;gt;{&apos;user&apos;}\n\n&quot; .
+                            &quot;    $LJ::SITEROOT/community/moderate.bml?authas=$uowner-&amp;gt;{&apos;user&apos;}\n\n&quot; .
                             &quot;--\n$LJ::SITENAME Team\n$LJ::SITEROOT/\n&quot;;
 
                 my $ct;

Modified: trunk/cgi-bin/weblib.pl
===================================================================
--- trunk/cgi-bin/weblib.pl	2008-05-07 15:53:05 UTC (rev 13855)
+++ trunk/cgi-bin/weblib.pl	2008-05-07 21:12:54 UTC (rev 13856)
@@ -2780,8 +2780,8 @@
             $links{&apos;unwatch_community&apos;}   = &quot;&amp;lt;a href=&apos;$LJ::SITEROOT/community/leave.bml?comm=$journal-&amp;gt;{user}&apos;&amp;gt;$BML::ML{&apos;web.controlstrip.links.removecomm&apos;}&amp;lt;/a&amp;gt;&quot;;
             $links{&apos;post_to_community&apos;}   = &quot;&amp;lt;a href=&apos;$LJ::SITEROOT/update.bml?usejournal=$journal-&amp;gt;{user}&apos;&amp;gt;$BML::ML{&apos;web.controlstrip.links.postcomm&apos;}&amp;lt;/a&amp;gt;&quot;;
             $links{&apos;edit_community_profile&apos;} = &quot;&amp;lt;a href=&apos;$LJ::SITEROOT/manage/profile/?authas=$journal-&amp;gt;{user}&apos;&amp;gt;$BML::ML{&apos;web.controlstrip.links.editcommprofile&apos;}&amp;lt;/a&amp;gt;&quot;;
-            $links{&apos;edit_community_invites&apos;} = &quot;&amp;lt;a href=&apos;$LJ::SITEROOT/community/sentinvites.bml?comm=$journal-&amp;gt;{user}&apos;&amp;gt;$BML::ML{&apos;web.controlstrip.links.managecomminvites&apos;}&amp;lt;/a&amp;gt;&quot;;
-            $links{&apos;edit_community_members&apos;} = &quot;&amp;lt;a href=&apos;$LJ::SITEROOT/community/members.bml?comm=$journal-&amp;gt;{user}&apos;&amp;gt;$BML::ML{&apos;web.controlstrip.links.editcommmembers&apos;}&amp;lt;/a&amp;gt;&quot;;
+            $links{&apos;edit_community_invites&apos;} = &quot;&amp;lt;a href=&apos;$LJ::SITEROOT/community/sentinvites.bml?authas=$journal-&amp;gt;{user}&apos;&amp;gt;$BML::ML{&apos;web.controlstrip.links.managecomminvites&apos;}&amp;lt;/a&amp;gt;&quot;;
+            $links{&apos;edit_community_members&apos;} = &quot;&amp;lt;a href=&apos;$LJ::SITEROOT/community/members.bml?authas=$journal-&amp;gt;{user}&apos;&amp;gt;$BML::ML{&apos;web.controlstrip.links.editcommmembers&apos;}&amp;lt;/a&amp;gt;&quot;;
         }
     }
     my $journal_display = LJ::ljuser($journal);

Modified: trunk/htdocs/approve.bml
===================================================================
--- trunk/htdocs/approve.bml	2008-05-07 15:53:05 UTC (rev 13855)
+++ trunk/htdocs/approve.bml	2008-05-07 21:12:54 UTC (rev 13856)
@@ -99,7 +99,7 @@
                &apos;&amp;lt;?p &apos; . BML::ml(&apos;.commjoin.text&apos;, {
                            user =&amp;gt; LJ::ljuser($username),
                            comm =&amp;gt; LJ::ljuser($commname),
-                           aopts =&amp;gt; &quot;href=\&quot;$LJ::SITEROOT/community/members.bml?comm=$commname\&quot;&quot;,
+                           aopts =&amp;gt; &quot;href=\&quot;$LJ::SITEROOT/community/members.bml?authas=$commname\&quot;&quot;,
                         }) . &apos; p?&amp;gt;&apos;;
     }
 

Modified: trunk/htdocs/community/manage.bml
===================================================================
--- trunk/htdocs/community/manage.bml	2008-05-07 15:53:05 UTC (rev 13855)
+++ trunk/htdocs/community/manage.bml	2008-05-07 21:12:54 UTC (rev 13856)
@@ -111,16 +111,16 @@
             $ret .= BML::ml(&apos;Actionlink&apos;, {
                 &apos;link&apos;=&amp;gt;&quot;&amp;lt;a href=&apos;/community/settings.bml?authas=$user&apos;&amp;gt;$ML{&apos;.commlist.actsettings2&apos;}&amp;lt;/a&amp;gt;&quot;}) . &quot;&amp;nbsp;&amp;nbsp;&quot;;
             $ret .= BML::ml(&apos;Actionlink&apos;, {
-                &apos;link&apos;=&amp;gt;&quot;&amp;lt;a href=&apos;/community/sentinvites.bml?comm=$user&apos;&amp;gt;$ML{&apos;.commlist.actinvites&apos;}&amp;lt;/a&amp;gt;&quot;}) . &quot;&amp;nbsp;&amp;nbsp;&quot;;
+                &apos;link&apos;=&amp;gt;&quot;&amp;lt;a href=&apos;/community/sentinvites.bml?authas=$user&apos;&amp;gt;$ML{&apos;.commlist.actinvites&apos;}&amp;lt;/a&amp;gt;&quot;}) . &quot;&amp;nbsp;&amp;nbsp;&quot;;
             my $pend = $pending{$id} ? BML::ml(&apos;.commlist.actpending&apos;, { num =&amp;gt; $pending{$id},
-                                               aopts =&amp;gt; &quot;href=\&quot;/community/pending.bml?comm=$user\&quot;&quot; }) : &apos;&apos;;
+                                               aopts =&amp;gt; &quot;href=\&quot;/community/pending.bml?authas=$user\&quot;&quot; }) : &apos;&apos;;
             $ret .= BML::ml(&apos;Actionlink&apos;, {
-                &apos;link&apos;=&amp;gt;&quot;&amp;lt;a href=&apos;/community/members.bml?comm=$user&apos;&amp;gt;$ML{&apos;.commlist.actmembers2&apos;}&amp;lt;/a&amp;gt;$pend&quot;}) . &quot;&amp;nbsp;&amp;nbsp;&quot;;
+                &apos;link&apos;=&amp;gt;&quot;&amp;lt;a href=&apos;/community/members.bml?authas=$user&apos;&amp;gt;$ML{&apos;.commlist.actmembers2&apos;}&amp;lt;/a&amp;gt;$pend&quot;}) . &quot;&amp;nbsp;&amp;nbsp;&quot;;
         }
         $ret .= &quot;&amp;lt;/td&amp;gt;&amp;lt;td align=&apos;center&apos;&amp;gt;&quot;;
         if ($mods{$id}) {
             my $num = $modcount{$id} || &quot;0&quot;; # relying on this to be &amp;lt;b&amp;gt;-wrapped
-            $ret .= BML::ml(&apos;.commlist.moderation.num2&apos;, {&apos;aopts&apos; =&amp;gt; &quot;href=&apos;$LJ::SITEROOT/community/moderate.bml?comm=$user&apos;&quot;, &apos;num&apos; =&amp;gt; $num});
+            $ret .= BML::ml(&apos;.commlist.moderation.num2&apos;, {&apos;aopts&apos; =&amp;gt; &quot;href=&apos;$LJ::SITEROOT/community/moderate.bml?authas=$user&apos;&quot;, &apos;num&apos; =&amp;gt; $num});
         } else {
             $ret .= &quot;&amp;nbsp&quot;;
         }

Modified: trunk/htdocs/community/members.bml
===================================================================
--- trunk/htdocs/community/members.bml	2008-05-07 15:53:05 UTC (rev 13855)
+++ trunk/htdocs/community/members.bml	2008-05-07 21:12:54 UTC (rev 13856)
@@ -26,7 +26,12 @@
         return $print_with_ad-&amp;gt;($ret);
     }
 
-    my $cname = $GET{&apos;comm&apos;};
+    # old GET arg
+    if ($GET{comm}) {
+        return BML::redirect(&quot;$LJ::SITEROOT/community/members.bml?authas=$GET{comm}&quot;);
+    }
+
+    my $cname = $GET{authas};
     return BML::redirect(&quot;$LJ::SITEROOT/community/manage.bml&quot;) unless $cname;
 
     # get $c object
@@ -225,7 +230,7 @@
              $ret .= &quot;&amp;lt;?h1 $ML{&apos;Error&apos;} h1?&amp;gt;&amp;lt;?p Your community, &quot; .
                      LJ::ljuser($cname, { &apos;type&apos; =&amp;gt; &apos;C&apos; }) .
                      &quot;, must have at least one maintainer. &quot; .
-                     &quot;Please &amp;lt;a href=&apos;&quot; . BML::get_uri() . &quot;?comm=$cname&apos;&amp;gt;&quot; .
+                     &quot;Please &amp;lt;a href=&apos;&quot; . BML::get_uri() . &quot;?authas=$cname&apos;&amp;gt;&quot; .
                      &quot;go back&amp;lt;/a&amp;gt; and add a maintainer. p?&amp;gt;&quot;;
              return $print_with_ad-&amp;gt;($ret);
         }
@@ -432,7 +437,7 @@
             $ret .= &quot;&amp;lt;/ul&amp;gt;&quot;;
         }
         $ret .= &quot;&amp;lt;?p $ML{&apos;.success.nochanges&apos;} p?&amp;gt;&quot; unless @msgs || @invited;
-        $ret .= &quot;&amp;lt;?p &quot; . BML::ml(&apos;.success.return2&apos;, {&apos;aopts&apos; =&amp;gt; &quot;href=&apos;&quot; . BML::get_uri() . &quot;?comm=$cname&apos;&quot;}) . &quot; p?&amp;gt;&quot;;
+        $ret .= &quot;&amp;lt;?p &quot; . BML::ml(&apos;.success.return2&apos;, {&apos;aopts&apos; =&amp;gt; &quot;href=&apos;&quot; . BML::get_uri() . &quot;?authas=$cname&apos;&quot;}) . &quot; p?&amp;gt;&quot;;
         $ret .= LJ::Widget::GettingStarted-&amp;gt;render;
 
         return $ret;
@@ -513,7 +518,7 @@
     # how to make links back to this page
     my $self_link = sub {
         my $sort = &quot;&amp;sort=$GET{&apos;sort&apos;}&quot; if $GET{&apos;sort&apos;};
-        return &quot;members.bml?comm=$cname&amp;page=$_[0]$sort&quot;;
+        return &quot;members.bml?authas=$cname&amp;page=$_[0]$sort&quot;;
     };
 
     my %items = BML::paging(\@users, $jumppage || $GET{&apos;page&apos;}, $page_size);
@@ -525,7 +530,7 @@
     $ret .= &quot;&amp;lt;?p &quot; . BML::ml(&apos;.name&apos;, { &apos;name&apos; =&amp;gt; LJ::ljuser($cname, { &apos;type&apos; =&amp;gt; &apos;C&apos; }) });
     $ret .= &quot; &quot; . BML::ml(&apos;Actionlink&apos;, {&apos;link&apos; =&amp;gt; &quot;&amp;lt;a href=&apos;$LJ::SITEROOT/community/settings.bml?authas=$cname&apos;&amp;gt;$ML{&apos;.settings2&apos;}&amp;lt;/a&amp;gt;&quot;}) . &quot; p?&amp;gt;&quot;;
 
-    $ret .= &quot;&amp;lt;form method=&apos;post&apos; action=&apos;members.bml?comm=$cname&apos;&amp;gt;&quot;;
+    $ret .= &quot;&amp;lt;form method=&apos;post&apos; action=&apos;members.bml?authas=$cname&apos;&amp;gt;&quot;;
     $ret .= LJ::form_auth();
 
     # jump to user
@@ -538,7 +543,7 @@
         $ret .= $navbar;
     }
 
-    my $sortlink = BML::get_uri() . &quot;?comm=$cname&amp;sort=&quot;;
+    my $sortlink = BML::get_uri() . &quot;?authas=$cname&amp;sort=&quot;;
     $ret .= &quot;&amp;lt;br /&amp;gt;&amp;lt;div align=&apos;center&apos;&amp;gt;&amp;lt;table class=&apos;alternating-rows&apos; cellpadding=&apos;0&apos; cellspacing=&apos;0&apos;&amp;gt;\n&amp;lt;tr&amp;gt;&quot; .
             &quot;&amp;lt;th&amp;gt;&amp;lt;a href=&apos;${sortlink}name&apos;&amp;gt;$ML{&apos;.key.user&apos;}&amp;lt;/a&amp;gt;&amp;lt;/th&amp;gt;&quot;;
     $ret .= &quot;&amp;lt;th&amp;gt;&amp;lt;a href=&apos;${sortlink}$_&apos;&amp;gt;&quot;.$ML{&quot;.key.$_&quot;}.&quot;&amp;lt;/a&amp;gt;&amp;lt;/th&amp;gt;&quot; for (@attribs);

Modified: trunk/htdocs/community/moderate.bml
===================================================================
--- trunk/htdocs/community/moderate.bml	2008-05-07 15:53:05 UTC (rev 13855)
+++ trunk/htdocs/community/moderate.bml	2008-05-07 21:12:54 UTC (rev 13856)
@@ -18,6 +18,11 @@
         return $ret;
     }
 
+    # old GET arg
+    if ($GET{comm}) {
+        return BML::redirect(&quot;$LJ::SITEROOT/community/moderate.bml?authas=$GET{comm}&quot;);
+    }
+
     my $mode = $POST{&apos;mode&apos;};
     my ($saved_comm, $saved_modid) = (&quot;&quot;, 0);
 
@@ -157,7 +162,7 @@
                 &apos;text&apos;=&amp;gt;$ML{&apos;.manage&apos;},
                 }) . &quot;&amp;lt;br /&amp;gt;&quot;;
             $ret .= BML::ml(&apos;Backlink&apos;, {
-                &apos;link&apos;=&amp;gt;&quot;/community/moderate.bml?comm=$c-&amp;gt;{&apos;user&apos;}&quot;,
+                &apos;link&apos;=&amp;gt;&quot;/community/moderate.bml?authas=$c-&amp;gt;{&apos;user&apos;}&quot;,
                 &apos;text&apos;=&amp;gt;$ML{&apos;.moderate&apos;},
                 }) . &quot;&amp;lt;br /&amp;gt;&quot;;
             $ret .= &quot;&amp;lt;/p&amp;gt;&quot;;
@@ -165,7 +170,7 @@
         }
     }
 
-    my $comm = $saved_comm || ($mode eq &apos;action&apos; ? $POST{&apos;comm&apos;} : $GET{&apos;comm&apos;});
+    my $comm = $saved_comm || ($mode eq &apos;action&apos; ? $POST{&apos;comm&apos;} : $GET{authas});
     my $modid = $saved_modid || ($mode eq &apos;action&apos; ? $POST{&apos;modid&apos;} : $GET{&apos;modid&apos;});
     $modid += 0;
 
@@ -269,7 +274,7 @@
             my %users;
             LJ::load_userids_multiple([ map { $_-&amp;gt;{&apos;posterid&apos;}, \$users{$_-&amp;gt;{&apos;posterid&apos;}} } @entries ]);
             foreach (sort { $a-&amp;gt;{&apos;logtime&apos;} lt $b-&amp;gt;{&apos;logtime&apos;} } @entries) {
-                my $link = &quot;/community/moderate.bml?comm=$comm&amp;amp;modid=&quot; . $_-&amp;gt;{&apos;modid&apos;};
+                my $link = &quot;/community/moderate.bml?authas=$comm&amp;amp;modid=&quot; . $_-&amp;gt;{&apos;modid&apos;};
                 my $subject = $_-&amp;gt;{&apos;subject&apos;} ? LJ::eall($_-&amp;gt;{&apos;subject&apos;}) : &quot;&amp;lt;i&amp;gt;[No Subject]&amp;lt;/i&amp;gt;&quot;;
                 $ret .= &quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$_-&amp;gt;{&apos;logtime&apos;}&amp;lt;/td&amp;gt;&quot; .
                     &quot;&amp;lt;td&amp;gt;&amp;lt;?ljuser &quot; . $users{$_-&amp;gt;{&apos;posterid&apos;}}-&amp;gt;{&apos;user&apos;} . &quot; ljuser?&amp;gt;&amp;lt;/td&amp;gt;&quot; .
@@ -345,7 +350,7 @@
             &apos;text&apos;=&amp;gt;$ML{&apos;.manage&apos;},
         }) . &quot;&amp;lt;br /&amp;gt;&quot;;
         $ret .= BML::ml(&apos;Backlink&apos;, {
-            &apos;link&apos;=&amp;gt;&quot;/community/moderate.bml?comm=$comm&quot;,
+            &apos;link&apos;=&amp;gt;&quot;/community/moderate.bml?authas=$comm&quot;,
             &apos;text&apos;=&amp;gt;$ML{&apos;.moderate&apos;},
         }) . &quot;&amp;lt;br /&amp;gt;&quot;;
         $ret .= &quot;&amp;lt;/p&amp;gt;&quot;;

Modified: trunk/htdocs/community/pending.bml
===================================================================
--- trunk/htdocs/community/pending.bml	2008-05-07 15:53:05 UTC (rev 13855)
+++ trunk/htdocs/community/pending.bml	2008-05-07 21:12:54 UTC (rev 13856)
@@ -20,7 +20,12 @@
     my $remote = LJ::get_remote();
     return &quot;&amp;lt;?needlogin?&amp;gt;&quot; unless $remote;
 
-    my $cname = $GET{&apos;comm&apos;};
+    # old GET arg
+    if ($GET{comm}) {
+        return BML::redirect(&quot;$LJ::SITEROOT/community/pending.bml?authas=$GET{comm}&quot;);
+    }
+
+    my $cname = $GET{authas};
     return BML::redirect(&quot;$LJ::SITEROOT/community/manage.bml&quot;) unless $cname;
 
     # get $c object
@@ -80,7 +85,7 @@
         $ret .= &quot;&amp;lt;?p &quot; . BML::ml(&apos;.success.rejected&apos;, { num =&amp;gt; $rejected }) . &quot; p?&amp;gt;&quot; if $rejected;
         $ret .= &quot;&amp;lt;?p &quot; . BML::ml(&apos;.success.ignored&apos;, { num =&amp;gt; $ignored }) . &quot; p?&amp;gt;&quot; if $ignored;
         $ret .= &quot;&amp;lt;?p &quot; . BML::ml(&apos;.success.previous&apos;, { num =&amp;gt; $previous }) . &quot; p?&amp;gt;&quot; if $previous;
-        $ret .= &quot;&amp;lt;?p &quot; . BML::ml(&quot;/community/members.bml.success.return&quot;, { &apos;link&apos; =&amp;gt; BML::get_uri() . &quot;?comm=$cname&quot; }) . &quot; p?&amp;gt;&quot;;
+        $ret .= &quot;&amp;lt;?p &quot; . BML::ml(&quot;/community/members.bml.success.return&quot;, { &apos;link&apos; =&amp;gt; BML::get_uri() . &quot;?authas=$cname&quot; }) . &quot; p?&amp;gt;&quot;;
 
         return $ret;
     }
@@ -90,7 +95,7 @@
 
     # how to make links back to this page
     my $self_link = sub {
-        return &quot;pending.bml?comm=$cname&amp;page=$_[0]&quot;;
+        return &quot;pending.bml?authas=$cname&amp;page=$_[0]&quot;;
     };
 
     my %items = BML::paging(\@users, $GET{page}, $page_size);
@@ -100,9 +105,9 @@
 
     # output starts here
     $ret .= &quot;&amp;lt;?p &quot; . BML::ml(&apos;/community/members.bml.name&apos;, { name =&amp;gt; LJ::ljuser($cname, { type =&amp;gt; &apos;C&apos; }) });
-    $ret .= &quot; &quot; . BML::ml(&apos;/community/members.bml.settings&apos;, { &apos;link&apos; =&amp;gt; &quot;settings.bml?comm=$cname&quot;}) . &quot; p?&amp;gt;&quot;;
+    $ret .= &quot; &quot; . BML::ml(&apos;/community/members.bml.settings&apos;, { &apos;link&apos; =&amp;gt; &quot;settings.bml?authas=$cname&quot;}) . &quot; p?&amp;gt;&quot;;
 
-    $ret .= &quot;&amp;lt;form method=&apos;post&apos; action=&apos;pending.bml?comm=$cname&apos;&amp;gt;&quot;;
+    $ret .= &quot;&amp;lt;form method=&apos;post&apos; action=&apos;pending.bml?authas=$cname&apos;&amp;gt;&quot;;
     $ret .= LJ::form_auth();
 
     # table headers

Modified: trunk/htdocs/community/sentinvites.bml
===================================================================
--- trunk/htdocs/community/sentinvites.bml	2008-05-07 15:53:05 UTC (rev 13855)
+++ trunk/htdocs/community/sentinvites.bml	2008-05-07 21:12:54 UTC (rev 13856)
@@ -20,7 +20,12 @@
         return $ret;
     }
 
-    my $cname = $GET{comm};
+    # old GET arg
+    if ($GET{comm}) {
+        return BML::redirect(&quot;$LJ::SITEROOT/community/sentinvites.bml?authas=$GET{comm}&quot;);
+    }
+
+    my $cname = $GET{authas};
     return BML::redirect(&quot;$LJ::SITEROOT/community/manage.bml&quot;) unless $cname;
 
     # get $c object
@@ -82,7 +87,7 @@
     # hop out if there were no invites
     unless (%users) {
         return &quot;$ret&amp;lt;?h1 $ML{&apos;.none.title&apos;} h1?&amp;gt;&amp;lt;?p &quot; .
-               BML::ml(&apos;.none.body&apos;, { aopts =&amp;gt; &quot;href=&apos;/community/members.bml?comm=$c-&amp;gt;{user}&apos;&quot; }) .
+               BML::ml(&apos;.none.body&apos;, { aopts =&amp;gt; &quot;href=&apos;/community/members.bml?authas=$c-&amp;gt;{user}&apos;&quot; }) .
                &quot; p?&amp;gt;&quot;;
     }
     
@@ -121,7 +126,7 @@
     my $self_link = sub {
         my $sort = &quot;&amp;sort=$GET{&apos;sort&apos;}&quot; if $GET{&apos;sort&apos;};
         my $filter = &quot;&amp;show=$GET{&apos;show&apos;}&quot; if $GET{&apos;show&apos;};
-        return &quot;sentinvites.bml?comm=$cname&amp;page=$_[0]$sort$filter&quot;;
+        return &quot;sentinvites.bml?authas=$cname&amp;page=$_[0]$sort$filter&quot;;
     };
 
     my %items = BML::paging(\@users, $jumppage || $GET{&apos;page&apos;}, $page_size);
@@ -131,11 +136,11 @@
 
     # output starts here
     $ret .= &quot;&amp;lt;?p &quot; . BML::ml(&apos;/community/members.bml.name&apos;, { &apos;name&apos; =&amp;gt; LJ::ljuser($cname, { &apos;type&apos; =&amp;gt; &apos;C&apos; }) });
-    $ret .= &quot; &quot; . BML::ml(&apos;/community/members.bml.settings&apos;, { &apos;link&apos; =&amp;gt; &quot;settings.bml?comm=$cname&quot;}) . &quot; p?&amp;gt;&quot;;
+    $ret .= &quot; &quot; . BML::ml(&apos;/community/members.bml.settings&apos;, { &apos;link&apos; =&amp;gt; &quot;settings.bml?authas=$cname&quot;}) . &quot; p?&amp;gt;&quot;;
 
     # jump to user
     if ($items{&apos;pages&apos;} &amp;gt; 1) {
-        $ret .= &quot;&amp;lt;form method=&apos;post&apos; action=&apos;sentinvites.bml?comm=$cname&apos;&amp;gt;&quot;;
+        $ret .= &quot;&amp;lt;form method=&apos;post&apos; action=&apos;sentinvites.bml?authas=$cname&apos;&amp;gt;&quot;;
         $ret .= &quot;&amp;lt;div style=&apos;margin-left: 30px;&apos;&amp;gt;Jump to user: &quot;;
         $ret .= LJ::html_text({ &apos;name&apos; =&amp;gt; &apos;jumpto&apos;, &apos;value&apos; =&amp;gt; $POST{&apos;jumpto&apos;},
                                 &apos;size&apos; =&amp;gt; &apos;10&apos;, &apos;maxlength&apos; =&amp;gt; &apos;15&apos; }) . &quot; &quot;;
@@ -146,14 +151,14 @@
 
     # setup showlinks
     my $showlinks = &quot;&amp;lt;form method=&apos;get&apos; action=&apos;/community/sentinvites.bml&apos;&amp;gt;&quot;;
-    $showlinks .= LJ::html_hidden(&apos;comm&apos;, $c-&amp;gt;{user});
+    $showlinks .= LJ::html_hidden(&apos;authas&apos;, $c-&amp;gt;{user});
     $showlinks .= &quot;Filter to: &quot;;
     $showlinks .= LJ::html_select({ name =&amp;gt; &apos;show&apos;, selected =&amp;gt; $GET{show} }, map { $_, $_ } qw(all accepted outstanding rejected));
     $showlinks .= LJ::html_submit(undef, &apos;Refresh&apos;);
     $showlinks .= &quot;&amp;lt;/form&amp;gt;&quot;;
 
     my $filter = &quot;&amp;show=$GET{show}&quot; if $GET{show};
-    my $sortlink = BML::get_uri() . &quot;?comm=$cname$filter&amp;sort=&quot;;
+    my $sortlink = BML::get_uri() . &quot;?authas=$cname$filter&amp;sort=&quot;;
     $ret .= &quot;&amp;lt;br /&amp;gt;&amp;lt;div align=&apos;center&apos;&amp;gt;$showlinks&quot;;
     $ret .= &amp;lt;&amp;lt;END; 
 &amp;lt;table class=&apos;borderedtable&apos; cellpadding=&apos;2&apos; cellspacing=&apos;0&apos;&amp;gt;
@@ -201,7 +206,7 @@
     }
 
     $ret .= &quot;&amp;lt;/table&amp;gt;\n&quot;;
-    $ret .= &quot;&amp;lt;br /&amp;gt;&amp;lt;a href=&apos;/community/members.bml?comm=$c-&amp;gt;{user}&apos;&amp;gt;$ML{&apos;.send&apos;}&amp;lt;/a&amp;gt;&quot;;
+    $ret .= &quot;&amp;lt;br /&amp;gt;&amp;lt;a href=&apos;/community/members.bml?authas=$c-&amp;gt;{user}&apos;&amp;gt;$ML{&apos;.send&apos;}&amp;lt;/a&amp;gt;&quot;;
     $ret .= &quot;&amp;lt;/div&amp;gt;\n\n&quot;;
     $ret .= $navbar;
     return $ret;

Modified: trunk/htdocs/community/settings.bml
===================================================================
--- trunk/htdocs/community/settings.bml	2008-05-07 15:53:05 UTC (rev 13855)
+++ trunk/htdocs/community/settings.bml	2008-05-07 21:12:54 UTC (rev 13856)
@@ -245,7 +245,7 @@
           LJ::set_active_crumb(&apos;commsettings&apos;);
             $ret .= LJ::html_hidden(&apos;cuser&apos;, $cname);
             $ret .= &quot;&amp;lt;?p &quot; . BML::ml(&apos;.name&apos;,{&apos;name&apos;=&amp;gt;&quot;&amp;lt;?ljcomm $cname ljcomm?&amp;gt;&quot;});
-            $ret .= &quot; &quot; . BML::ml(&apos;Actionlink&apos;, {&apos;link&apos; =&amp;gt; &quot;&amp;lt;a href=&apos;$LJ::SITEROOT/community/members.bml?comm=$cname&apos;&amp;gt;$ML{&apos;.members2&apos;}&amp;lt;/a&amp;gt;&quot;}) . &quot; p?&amp;gt;&quot;;
+            $ret .= &quot; &quot; . BML::ml(&apos;Actionlink&apos;, {&apos;link&apos; =&amp;gt; &quot;&amp;lt;a href=&apos;$LJ::SITEROOT/community/members.bml?authas=$cname&apos;&amp;gt;$ML{&apos;.members2&apos;}&amp;lt;/a&amp;gt;&quot;}) . &quot; p?&amp;gt;&quot;;
         }
 
     $ret .= &quot;&amp;lt;div id=&apos;left-column&apos;&amp;gt;&quot;;

Modified: trunk/htdocs/friends/edit.bml
===================================================================
--- trunk/htdocs/friends/edit.bml	2008-05-07 15:53:05 UTC (rev 13855)
+++ trunk/htdocs/friends/edit.bml	2008-05-07 21:12:54 UTC (rev 13856)
@@ -31,7 +31,7 @@
     my $u = LJ::get_authas_user($authas);
     return $print_with_ad-&amp;gt;(LJ::bad_input($ML{&apos;error.invalidauth&apos;}))
         unless $u;
-    return BML::redirect(&quot;$LJ::SITEROOT/community/members.bml?comm=$u-&amp;gt;{&apos;user&apos;}&quot;)
+    return BML::redirect(&quot;$LJ::SITEROOT/community/members.bml?authas=$u-&amp;gt;{&apos;user&apos;}&quot;)
         if $u-&amp;gt;is_community;
     return $print_with_ad-&amp;gt;(LJ::bad_input($ML{&apos;.error.badjournaltype&apos;}))
         unless $u-&amp;gt;is_person || $u-&amp;gt;is_shared || $u-&amp;gt;is_identity;

&lt;/pre&gt;</description>
  <comments>http://community.livejournal.com/changelog/6393836.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>janinedog</lj:poster>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/changelog/6392094.html</guid>
  <pubDate>Wed, 07 May 2008 15:47:05 GMT</pubDate>
  <title>[ljcom] r6272: Extra release r29.1</title>
  <link>http://community.livejournal.com/changelog/6392094.html</link>
  <description>&lt;div style=&quot;font-size: 9pt; margin-bottom: 1em&quot;&gt;Committer: sup&lt;/div&gt;Extra release r29.1&lt;br /&gt;&lt;pre&gt;A   branches/r29.1/
&lt;/pre&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;pre&gt;Copied: branches/r29.1 (from rev 6271, branches/r29)

&lt;/pre&gt;</description>
  <comments>http://community.livejournal.com/changelog/6392094.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>changelog_bot</lj:poster>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/changelog/6391991.html</guid>
  <pubDate>Wed, 07 May 2008 15:46:57 GMT</pubDate>
  <title>[livejournal] r13853: Extra release r29.1</title>
  <link>http://community.livejournal.com/changelog/6391991.html</link>
  <description>&lt;div style=&quot;font-size: 9pt; margin-bottom: 1em&quot;&gt;Committer: sup&lt;/div&gt;Extra release r29.1&lt;br /&gt;&lt;pre&gt;A   branches/r29.1/
&lt;/pre&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;pre&gt;Copied: branches/r29.1 (from rev 13852, branches/r29)

&lt;/pre&gt;</description>
  <comments>http://community.livejournal.com/changelog/6391991.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>changelog_bot</lj:poster>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/changelog/6391662.html</guid>
  <pubDate>Wed, 07 May 2008 14:58:37 GMT</pubDate>
  <title>[livejournal] r13852: Load MIME::Words module without Autouse ...</title>
  <link>http://community.livejournal.com/changelog/6391662.html</link>
  <description>&lt;div style=&quot;font-size: 9pt; margin-bottom: 1em&quot;&gt;Committer: sup&lt;/div&gt;Load MIME::Words module without Autouse magic.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;U   trunk/cgi-bin/talklib.pl
&lt;/pre&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;pre&gt;Modified: trunk/cgi-bin/talklib.pl
===================================================================
--- trunk/cgi-bin/talklib.pl	2008-05-07 14:47:27 UTC (rev 13851)
+++ trunk/cgi-bin/talklib.pl	2008-05-07 14:58:34 UTC (rev 13852)
@@ -16,9 +16,9 @@
                       LJ::Event::UserNewComment
                       LJ::Comment
                       LJ::EventLogRecord::NewComment
-                      MIME::Words
                       Captcha::reCAPTCHA
                       );
+use MIME::Words;
 use Carp qw(croak);
 
 # dataversion for rate limit logging

&lt;/pre&gt;</description>
  <comments>http://community.livejournal.com/changelog/6391662.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>changelog_bot</lj:poster>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/changelog/6391545.html</guid>
  <pubDate>Wed, 07 May 2008 14:47:30 GMT</pubDate>
  <title>[livejournal] r13851: Bug fixed with encodings in From field. ...</title>
  <link>http://community.livejournal.com/changelog/6391545.html</link>
  <description>&lt;div style=&quot;font-size: 9pt; margin-bottom: 1em&quot;&gt;Committer: sup&lt;/div&gt;Bug fixed with encodings in From field. Use &apos;LJ::User-&amp;gt;mailencoding&apos; method for detection of users&apos; encodings.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;U   trunk/cgi-bin/ljmail.pl
U   trunk/cgi-bin/talklib.pl
&lt;/pre&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;pre&gt;Modified: trunk/cgi-bin/ljmail.pl
===================================================================
--- trunk/cgi-bin/ljmail.pl	2008-05-07 14:15:39 UTC (rev 13850)
+++ trunk/cgi-bin/ljmail.pl	2008-05-07 14:47:27 UTC (rev 13851)
@@ -68,21 +68,24 @@
 
         my $body = $opt-&amp;gt;{&apos;wrap&apos;} ? Text::Wrap::wrap(&apos;&apos;,&apos;&apos;,$opt-&amp;gt;{&apos;body&apos;}) : $opt-&amp;gt;{&apos;body&apos;};
         my $subject = $opt-&amp;gt;{&apos;subject&apos;};
+        my $fromname = $opt-&amp;gt;{&apos;fromname&apos;};
 
         # if it&apos;s not ascii, add a charset header to either what we were explictly told
         # it is (for instance, if the caller transcoded it), or else we assume it&apos;s utf-8.
         # Note: explicit us-ascii default charset suggested by RFC2854 sec 6.
         $opt-&amp;gt;{&apos;charset&apos;} ||= &quot;utf-8&quot;;
         my $charset;
-        if (!LJ::is_ascii($subject) || !LJ::is_ascii($body) || ($opt-&amp;gt;{html} &amp;&amp; !LJ::is_ascii($opt-&amp;gt;{html}))) {
+        if (!LJ::is_ascii($subject)
+         || !LJ::is_ascii($body) 
+         || ($opt-&amp;gt;{html} &amp;&amp; !LJ::is_ascii($opt-&amp;gt;{html}))
+         || !LJ::is_ascii($fromname)) {
             $charset = $opt-&amp;gt;{&apos;charset&apos;};
-        }
-        else {
+        } else {
             $charset = &apos;us-ascii&apos;;
         }
 
         # Don&apos;t convert from us-ascii and utf-8 charsets.
-        unless (($charset eq &apos;us-ascii&apos;) || ($charset =~ m/^utf-8$/i)) {
+        unless (($charset =~ m/us-ascii/i) || ($charset =~ m/^utf-8$/i)) {
             from_to($body,              &quot;utf-8&quot;, $charset);
             # Convert also html-part if we has it.
             if ($opt-&amp;gt;{html}) {
@@ -91,12 +94,20 @@
         }
 
         from_to($subject, &quot;utf-8&quot;, $charset) unless $charset =~ m/^utf-8$/i;
-        $subject = MIME::Words::encode_mimeword($subject, &apos;B&apos;, $charset);
+        if (!LJ::is_ascii($subject)) {
+            $subject = MIME::Words::encode_mimeword($subject, &apos;B&apos;, $charset);
+        }
 
+        from_to($fromname, &quot;utf-8&quot;, $charset) unless $charset =~ m/^utf-8$/i;
+        if (!LJ::is_ascii($fromname)) {
+            $fromname = MIME::Words::encode_mimeword($fromname, &apos;B&apos;, $charset);
+        }
+        $fromname = $clean_name-&amp;gt;($fromname, $opt-&amp;gt;{&apos;from&apos;});
+
         if ($opt-&amp;gt;{html}) {
             # do multipart, with plain and HTML parts
 
-            $msg = new MIME::Lite (&apos;From&apos;    =&amp;gt; $clean_name-&amp;gt;($opt-&amp;gt;{&apos;fromname&apos;}, $opt-&amp;gt;{&apos;from&apos;}),
+            $msg = new MIME::Lite (&apos;From&apos;    =&amp;gt; $fromname,
                                    &apos;To&apos;      =&amp;gt; $clean_name-&amp;gt;($opt-&amp;gt;{&apos;toname&apos;},   $opt-&amp;gt;{&apos;to&apos;}),
                                    &apos;Cc&apos;      =&amp;gt; $opt-&amp;gt;{&apos;cc&apos;},
                                    &apos;Bcc&apos;     =&amp;gt; $opt-&amp;gt;{&apos;bcc&apos;},
@@ -121,7 +132,7 @@
 
         } else {
             # no html version, do simple email
-            $msg = new MIME::Lite (&apos;From&apos;    =&amp;gt; $clean_name-&amp;gt;($opt-&amp;gt;{&apos;fromname&apos;}, $opt-&amp;gt;{&apos;from&apos;}),
+            $msg = new MIME::Lite (&apos;From&apos;    =&amp;gt; $fromname,
                                    &apos;To&apos;      =&amp;gt; $clean_name-&amp;gt;($opt-&amp;gt;{&apos;toname&apos;},   $opt-&amp;gt;{&apos;to&apos;}),
                                    &apos;Cc&apos;      =&amp;gt; $opt-&amp;gt;{&apos;cc&apos;},
                                    &apos;Bcc&apos;     =&amp;gt; $opt-&amp;gt;{&apos;bcc&apos;},
@@ -137,7 +148,6 @@
                 $msg-&amp;gt;add($tag, $value);
             }
         }
-
     }
 
     # at this point $msg is a MIME::Lite

Modified: trunk/cgi-bin/talklib.pl
===================================================================
--- trunk/cgi-bin/talklib.pl	2008-05-07 14:15:39 UTC (rev 13850)
+++ trunk/cgi-bin/talklib.pl	2008-05-07 14:47:27 UTC (rev 13851)
@@ -2143,15 +2143,6 @@
         $headersubject = LJ::Lang::get_text($lang, $key, undef, $vars);
     }
 
-    if ($LJ::UNICODE &amp;&amp; $encoding ne &quot;UTF-8&quot;) {
-        $headersubject = Unicode::MapUTF8::from_utf8({-string=&amp;gt;$headersubject, -charset=&amp;gt;$encoding});
-    }
-
-    if (!LJ::is_ascii($headersubject)) {
-        eval { MIME::Words-&amp;gt;can(&quot;autouse&quot;); };
-        $headersubject = MIME::Words::encode_mimeword($headersubject, &apos;B&apos;, $encoding);
-    }
-
     if ($comment-&amp;gt;{u}) {
         # external users has lj-logins as &apos;ext_*&apos;, so
         # we call external user by name, our user - by login.
@@ -2161,6 +2152,19 @@
         $fromname = LJ::Lang::get_text($lang, &apos;esn.mail_comments.fromname.anonymous&apos;, undef, $vars);
     }
 
+    if ($LJ::UNICODE &amp;&amp; $encoding ne &quot;UTF-8&quot;) {
+        $fromname = Unicode::MapUTF8::from_utf8({-string=&amp;gt;$fromname, -charset=&amp;gt;$encoding});
+        $headersubject = Unicode::MapUTF8::from_utf8({-string=&amp;gt;$headersubject, -charset=&amp;gt;$encoding});
+    }
+
+    if (!LJ::is_ascii($fromname)) {
+        $fromname = MIME::Words::encode_mimeword($fromname, &apos;B&apos;, $encoding);
+    }
+
+    if (!LJ::is_ascii($headersubject)) {
+        $headersubject = MIME::Words::encode_mimeword($headersubject, &apos;B&apos;, $encoding);
+    }
+
     return ( $headersubject, $fromname );
 }
 
@@ -2234,9 +2238,6 @@
 
         if ($paruserid) {
             $paru = LJ::load_userid($paruserid);
-            LJ::load_user_props($paru, &apos;mailencoding&apos;);
-            LJ::load_codes({ &quot;encoding&quot; =&amp;gt; \%LJ::CACHE_ENCODINGS } )
-                unless %LJ::CACHE_ENCODINGS;
 
             # we don&apos;t want to send email to a parent if the email address on the
             # parent&apos;s user is the same as the email address on this comment&apos;s user
@@ -2259,7 +2260,7 @@
                 )
             {
                 $parentmailed = $paru-&amp;gt;email_raw;
-                $encoding = $paru-&amp;gt;{&apos;mailencoding&apos;} ? $LJ::CACHE_ENCODINGS{$paru-&amp;gt;{&apos;mailencoding&apos;}} : &quot;UTF-8&quot;;
+                $encoding = $paru-&amp;gt;mailencoding || &quot;UTF-8&quot;;
                 my $part;
 
                 # Now we going to send email to &apos;$paru&apos;.
@@ -2327,7 +2328,7 @@
 
         # Now we going to send email to &apos;$entryu&apos;.
         $lang = $entryu-&amp;gt;prop(&apos;browselang&apos;);
-        $encoding = $entryu-&amp;gt;{&apos;mailencoding&apos;} ? $LJ::CACHE_ENCODINGS{$entryu-&amp;gt;{&apos;mailencoding&apos;}} : &quot;UTF-8&quot;;
+        $encoding = $entryu-&amp;gt;mailencoding || &quot;UTF-8&quot;;
         ($headersubject, $fromname) = _format_headers($lang, $encoding, $comment, $entryu, $edited, $parent, $paru);
 
         my $msg =  new MIME::Lite (&apos;From&apos; =&amp;gt; &quot;\&quot;$fromname\&quot; &amp;lt;$LJ::BOGUS_EMAIL&amp;gt;&quot;,
@@ -2391,14 +2392,14 @@
     # they couldn&apos;t have posted if they were.  (and if they did somehow, we&apos;re just emailing
     # them, so it shouldn&apos;t matter.)
     my $u = $comment-&amp;gt;{u};
-    LJ::load_user_props($u, &apos;opt_getselfemail&apos;, &apos;mailencoding&apos;) if $u;
+    LJ::load_user_props($u, &apos;opt_getselfemail&apos;) if $u;
     if ($u &amp;&amp; $u-&amp;gt;{&apos;opt_getselfemail&apos;} &amp;&amp; LJ::get_cap($u, &apos;getselfemail&apos;)
         &amp;&amp; !$u-&amp;gt;gets_notified(journal =&amp;gt; $journalu, arg1 =&amp;gt; $ditemid, arg2 =&amp;gt; $comment-&amp;gt;{talkid})) {
         my $part;
 
         # Now we going to send email to &apos;$u&apos;.
         $lang = $u-&amp;gt;prop(&apos;browselang&apos;);
-        $encoding = $entryu-&amp;gt;{&apos;mailencoding&apos;} ? $LJ::CACHE_ENCODINGS{$entryu-&amp;gt;{&apos;mailencoding&apos;}} : &quot;UTF-8&quot;;
+        $encoding = $u-&amp;gt;mailencoding || &quot;UTF-8&quot;;
         ($headersubject, $fromname) = _format_headers($lang, $encoding, $comment, $u, $edited, $parent, $paru);
 
         my $msg = new MIME::Lite (&apos;From&apos; =&amp;gt; &quot;\&quot;$fromname\&quot; &amp;lt;$LJ::BOGUS_EMAIL&amp;gt;&quot;,

&lt;/pre&gt;</description>
  <comments>http://community.livejournal.com/changelog/6391545.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>changelog_bot</lj:poster>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/changelog/6391167.html</guid>
  <pubDate>Wed, 07 May 2008 14:15:42 GMT</pubDate>
  <title>[livejournal] r13850: LJSUP-2131 </title>
  <link>http://community.livejournal.com/changelog/6391167.html</link>
  <description>&lt;div style=&quot;font-size: 9pt; margin-bottom: 1em&quot;&gt;Committer: sup&lt;/div&gt;LJSUP-2131 &lt;br /&gt;Remote user in calendar view will see the number of post accessible to him (security permissions are respected now)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;U   trunk/cgi-bin/LJ/User.pm
&lt;/pre&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;pre&gt;Modified: trunk/cgi-bin/LJ/User.pm
===================================================================
--- trunk/cgi-bin/LJ/User.pm	2008-05-07 14:00:22 UTC (rev 13849)
+++ trunk/cgi-bin/LJ/User.pm	2008-05-07 14:15:39 UTC (rev 13850)
@@ -6141,8 +6141,29 @@
 
     my $uid = LJ::want_userid($u) or return undef;
 
+    my $memkind = &apos;p&apos;; # public only, changed below
+    my $secwhere = &quot;AND security=&apos;public&apos;&quot;;
+    my $viewall = 0;
+    if ($remote) {
+        # do they have the viewall priv?
+        if (LJ::check_priv($remote, &quot;canview&quot;, &quot;suspended&quot;)) {
+            $viewall = LJ::check_priv($remote, &apos;canview&apos;, &apos;*&apos;);
+        }
+
+        if ($remote-&amp;gt;{&apos;userid&apos;} == $uid || $viewall) {
+            $secwhere = &quot;&quot;;   # see everything
+            $memkind = &apos;a&apos;; # all
+        } elsif ($remote-&amp;gt;{&apos;journaltype&apos;} eq &apos;P&apos;) {
+            my $gmask = LJ::get_groupmask($u, $remote);
+            if ($gmask) {
+                $secwhere = &quot;AND (security=&apos;public&apos; OR (security=&apos;usemask&apos; AND allowmask &amp; $gmask))&quot;;
+                $memkind = &apos;g&apos; . $gmask; # friends case: allowmask == gmask == 1
+            }
+        }
+    }
+
     my @days;
-    my $memkey = [$uid,&quot;dayct:$uid&quot;];
+    my $memkey = [$uid, &quot;dayct:$uid:$memkind&quot;];
     unless ($not_memcache) {
         my $list = LJ::MemCache::get($memkey);
         return $list if $list;
@@ -6150,14 +6171,14 @@
 
     my $dbcr = LJ::get_cluster_def_reader($u) or return undef;
     my $sth = $dbcr-&amp;gt;prepare(&quot;SELECT year, month, day, COUNT(*) &quot;.
-                             &quot;FROM log2 WHERE journalid=? GROUP BY 1, 2, 3&quot;);
+                             &quot;FROM log2 WHERE journalid=? $secwhere GROUP BY 1, 2, 3&quot;);
     $sth-&amp;gt;execute($uid);
     while (my ($y, $m, $d, $c) = $sth-&amp;gt;fetchrow_array) {
         # we force each number from string scalars (from DBI) to int scalars,
         # so they store smaller in memcache
         push @days, [ int($y), int($m), int($d), int($c) ];
     }
-    LJ::MemCache::add($memkey, \@days);
+    LJ::MemCache::add($memkey, \@days, 3600);
     return \@days;
 }
 

&lt;/pre&gt;</description>
  <comments>http://community.livejournal.com/changelog/6391167.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>changelog_bot</lj:poster>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/changelog/6390983.html</guid>
  <pubDate>Wed, 07 May 2008 14:01:03 GMT</pubDate>
  <title>[ljcom] r6271: LJSUP-2095</title>
  <link>http://community.livejournal.com/changelog/6390983.html</link>
  <description>&lt;div style=&quot;font-size: 9pt; margin-bottom: 1em&quot;&gt;Committer: sup&lt;/div&gt;LJSUP-2095&lt;br /&gt;Links &quot;next day&quot;, &quot;previous day&quot; will lead to days with journal entries.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;U   trunk/bin/upgrading/s2layers/anovelconundrum/layout.s2
U   trunk/bin/upgrading/s2layers/cuteness/layout.s2
U   trunk/bin/upgrading/s2layers/flexiblesquares/layout.s2
U   trunk/bin/upgrading/s2layers/nebula/layout.s2
U   trunk/bin/upgrading/s2layers/tranquilityii/layout.s2
U   trunk/bin/upgrading/s2layers/unearthed/layout.s2
U   trunk/bin/upgrading/s2layers/voxhtml/layout.s2
&lt;/pre&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;pre&gt;Modified: trunk/bin/upgrading/s2layers/anovelconundrum/layout.s2
===================================================================
--- trunk/bin/upgrading/s2layers/anovelconundrum/layout.s2	2008-05-06 21:26:44 UTC (rev 6270)
+++ trunk/bin/upgrading/s2layers/anovelconundrum/layout.s2	2008-05-07 14:00:54 UTC (rev 6271)
@@ -900,8 +900,17 @@
     &amp;lt;/div&amp;gt;&quot;&quot;&quot;;
     var string tprev = ehtml($*text_day_prev);
     var string tnext = ehtml($*text_day_next);
-    &quot;&quot;&quot;&amp;lt;center&amp;gt;&amp;lt;h2&amp;gt;&amp;lt;a href=&quot;$.prev_url&quot;&amp;gt;$tprev&amp;lt;/a&amp;gt; &amp;middot; &amp;lt;a href=&quot;$.next_url&quot;&amp;gt;$tnext&amp;lt;/a&amp;gt;&amp;lt;/h2&amp;gt;&amp;lt;/center&amp;gt;&quot;&quot;&quot;;
-
+    &quot;&quot;&quot;&amp;lt;center&amp;gt;&amp;lt;h2&amp;gt;&quot;&quot;&quot;;
+    if ($.prev_url != &quot;&quot;) {
+        &quot;&quot;&quot;&amp;lt;a href=&quot;$.prev_url&quot;&amp;gt;$tprev&amp;lt;/a&amp;gt;&quot;&quot;&quot;;
+    }
+    if ($.prev_url != &quot;&quot; and $.next_url != &quot;&quot;) {
+        &quot;&quot;&quot; &amp;middot; &quot;&quot;&quot;;
+    }
+    if ($.next_url != &quot;&quot;) {
+        &quot;&quot;&quot;&amp;lt;a href=&quot;$.next_url&quot;&amp;gt;$tnext&amp;lt;/a&amp;gt;&quot;&quot;&quot;;
+    }
+    &quot;&quot;&quot;&amp;lt;/h2&amp;gt;&amp;lt;/center&amp;gt;&quot;&quot;&quot;;
 }
 
 function MonthPage::print_body() {

Modified: trunk/bin/upgrading/s2layers/cuteness/layout.s2
===================================================================
--- trunk/bin/upgrading/s2layers/cuteness/layout.s2	2008-05-06 21:26:44 UTC (rev 6270)
+++ trunk/bin/upgrading/s2layers/cuteness/layout.s2	2008-05-07 14:00:54 UTC (rev 6271)
@@ -1219,7 +1219,15 @@
         var string tnext = ehtml($*text_day_next);
 
         print &quot;&amp;lt;div id=\&quot;footer\&quot;&amp;gt;&amp;lt;p&amp;gt;&quot;;
-        print &quot;&amp;lt;a href=\&quot;$.prev_url\&quot; title=\&quot;laquo; $tprev\&quot;&amp;gt;&amp;laquo; $*text_day_prev&amp;lt;/a&amp;gt; | &amp;lt;a href=\&quot;$.next_url\&quot; title=\&quot;$tnext &amp;raquo;\&quot;&amp;gt;$*text_day_next &amp;raquo;&amp;lt;/a&amp;gt;&quot;;
+        if ($.prev_url != &quot;&quot;) {
+            print &quot;&amp;lt;a href=\&quot;$.prev_url\&quot; title=\&quot;&amp;laquo; $tprev\&quot;&amp;gt;&amp;laquo; $*text_day_prev&amp;lt;/a&amp;gt;&quot;;
+        }
+        if ($.prev_url != &quot;&quot; and $.next_url != &quot;&quot;) {
+            print &quot; | &quot;;
+        }
+        if ($.next_url != &quot;&quot;) {
+            print &quot;&amp;lt;a href=\&quot;$.next_url\&quot; title=\&quot;$tnext &amp;raquo;\&quot;&amp;gt;$*text_day_next &amp;raquo;&amp;lt;/a&amp;gt;&quot;;
+        }
         print &quot;&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&quot;;
 }
 

Modified: trunk/bin/upgrading/s2layers/flexiblesquares/layout.s2
===================================================================
--- trunk/bin/upgrading/s2layers/flexiblesquares/layout.s2	2008-05-06 21:26:44 UTC (rev 6270)
+++ trunk/bin/upgrading/s2layers/flexiblesquares/layout.s2	2008-05-07 14:00:54 UTC (rev 6271)
@@ -2228,13 +2228,24 @@
 # -----------------------------------
 
 
+function DayPage_near_days(DayPage p) { 
+    if ($p.prev_url != &quot;&quot;) {
+        &quot;&quot;&quot;&amp;lt;a href=&quot;$p.prev_url&quot;&amp;gt;$*text_day_prev&amp;lt;/a&amp;gt;&quot;&quot;&quot;;
+    }
+    if ($p.prev_url != &quot;&quot; and $p.next_url != &quot;&quot;) {
+        &quot;&quot;&quot; | &quot;&quot;&quot;;
+    }
+    if ($p.next_url != &quot;&quot;) {
+        &quot;&quot;&quot;&amp;lt;a href=&quot;$p.next_url&quot;&amp;gt;$*text_day_next&amp;lt;/a&amp;gt;&quot;&quot;&quot;;
+    }
+}
+
 function DayPage::print_body() {
      &quot;&quot;&quot;
      &amp;lt;div class=&quot;clear&quot;&amp;gt;&amp;nbsp;&amp;lt;/div&amp;gt;
-       &amp;lt;div class=&quot;skiplinks&quot;&amp;gt;
-        &amp;lt;a href=&quot;$.prev_url&quot;&amp;gt;$*text_day_prev&amp;lt;/a&amp;gt; |
-        &amp;lt;a href=&quot;$.next_url&quot;&amp;gt;$*text_day_next&amp;lt;/a&amp;gt;
-    &amp;lt;/div&amp;gt;
+       &amp;lt;div class=&quot;skiplinks&quot;&amp;gt;&quot;&quot;&quot;;
+    DayPage_near_days($this);
+    &quot;&quot;&quot;&amp;lt;/div&amp;gt;
     &amp;lt;div class=&quot;clear&quot;&amp;gt;&amp;nbsp;&amp;lt;/div&amp;gt;&quot;&quot;&quot;;
     if ($.has_entries)
     {
@@ -2257,10 +2268,9 @@
     }
     &quot;&quot;&quot;
        &amp;lt;div class=&quot;clear&quot;&amp;gt;&amp;nbsp;&amp;lt;/div&amp;gt;
-       &amp;lt;div class=&quot;skiplinks&quot;&amp;gt;
-        &amp;lt;a href=&quot;$.prev_url&quot;&amp;gt;$*text_day_prev&amp;lt;/a&amp;gt; |
-        &amp;lt;a href=&quot;$.next_url&quot;&amp;gt;$*text_day_next&amp;lt;/a&amp;gt;\n
-    &amp;lt;/div&amp;gt;
+       &amp;lt;div class=&quot;skiplinks&quot;&amp;gt;&quot;&quot;&quot;;
+    DayPage_near_days($this);
+    &quot;&quot;&quot;\n&amp;lt;/div&amp;gt;
     &amp;lt;div class=&quot;clear&quot;&amp;gt;&amp;nbsp;&amp;lt;/div&amp;gt;
     &quot;&quot;&quot;;
 }

Modified: trunk/bin/upgrading/s2layers/nebula/layout.s2
===================================================================
--- trunk/bin/upgrading/s2layers/nebula/layout.s2	2008-05-06 21:26:44 UTC (rev 6270)
+++ trunk/bin/upgrading/s2layers/nebula/layout.s2	2008-05-07 14:00:54 UTC (rev 6271)
@@ -1107,9 +1107,9 @@
 }
 
 function DayPage::lay_nav_links() : string[] {
-    var string[] ret = [];
-    $ret[0] = &quot;&quot;&quot;&amp;lt;a href=&quot;$.prev_url&quot;&amp;gt;$*text_day_prev&amp;lt;/a&amp;gt;&quot;&quot;&quot;;
-    $ret[1] = &quot;&quot;&quot;&amp;lt;a href=&quot;$.next_url&quot;&amp;gt;$*text_day_next&amp;lt;/a&amp;gt;&quot;&quot;&quot;;
+    var string[] ret = []; var int i;
+    if ($.prev_url != &quot;&quot;) { $ret[$i] = &quot;&quot;&quot;&amp;lt;a href=&quot;$.prev_url&quot;&amp;gt;$*text_day_prev&amp;lt;/a&amp;gt;&quot;&quot;&quot;; $i++; }
+    if ($.next_url != &quot;&quot;) { $ret[$i] = &quot;&quot;&quot;&amp;lt;a href=&quot;$.next_url&quot;&amp;gt;$*text_day_next&amp;lt;/a&amp;gt;&quot;&quot;&quot;; $i++; }
     return $ret;
 }
 

Modified: trunk/bin/upgrading/s2layers/tranquilityii/layout.s2
===================================================================
--- trunk/bin/upgrading/s2layers/tranquilityii/layout.s2	2008-05-06 21:26:44 UTC (rev 6270)
+++ trunk/bin/upgrading/s2layers/tranquilityii/layout.s2	2008-05-07 14:00:54 UTC (rev 6271)
@@ -972,7 +972,15 @@
     var string tnext = ehtml($*text_day_next);
 
     print &quot;&amp;lt;div id=\&quot;footer\&quot;&amp;gt;&amp;lt;p&amp;gt;&quot;;
-    print &quot;&amp;lt;a href=\&quot;$.prev_url\&quot; title=\&quot;laquo; $tprev\&quot;&amp;gt;&amp;laquo; $*text_day_prev&amp;lt;/a&amp;gt; | &amp;lt;a href=\&quot;$.next_url\&quot; title=\&quot;$tnext &amp;raquo;\&quot;&amp;gt;$*text_day_next &amp;raquo;&amp;lt;/a&amp;gt;&quot;;
+    if ($.prev_url != &quot;&quot;) {
+        print &quot;&amp;lt;a href=\&quot;$.prev_url\&quot; title=\&quot;&amp;laquo; $tprev\&quot;&amp;gt;&amp;laquo; $*text_day_prev&amp;lt;/a&amp;gt;&quot;;
+    }
+    if ($.prev_url != &quot;&quot; and $.next_url != &quot;&quot;) {
+        print &quot; | &quot;;
+    }
+    if ($.next_url != &quot;&quot;) {
+        print &quot;&amp;lt;a href=\&quot;$.next_url\&quot; title=\&quot;$tnext &amp;raquo;\&quot;&amp;gt;$*text_day_next &amp;raquo;&amp;lt;/a&amp;gt;&quot;;
+    }
     print &quot;&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&quot;;
 }
 

Modified: trunk/bin/upgrading/s2layers/unearthed/layout.s2
===================================================================
--- trunk/bin/upgrading/s2layers/unearthed/layout.s2	2008-05-06 21:26:44 UTC (rev 6270)
+++ trunk/bin/upgrading/s2layers/unearthed/layout.s2	2008-05-07 14:00:54 UTC (rev 6271)
@@ -1635,16 +1635,16 @@
 #
 
 function DayPage::lay_sub_menu() : string[] {
-    var string[] ret = [];
-    $ret[0] = &quot;&quot;&quot;&amp;lt;a href=&quot;$.prev_url&quot;&amp;gt;$*text_day_prev&amp;lt;/a&amp;gt;&quot;&quot;&quot;;
-    $ret[1] = &quot;&quot;&quot;&amp;lt;a href=&quot;$.next_url&quot;&amp;gt;$*text_day_next&amp;lt;/a&amp;gt;&quot;&quot;&quot;;
+    var string[] ret = []; var int i;
+    if ($.prev_url != &quot;&quot;) { $ret[$i] = &quot;&quot;&quot;&amp;lt;a href=&quot;$.prev_url&quot;&amp;gt;$*text_day_prev&amp;lt;/a&amp;gt;&quot;&quot;&quot;; $i++; }
+    if ($.next_url != &quot;&quot;) { $ret[$i] = &quot;&quot;&quot;&amp;lt;a href=&quot;$.next_url&quot;&amp;gt;$*text_day_next&amp;lt;/a&amp;gt;&quot;&quot;&quot;; $i++; }
     return $ret;
 }
 
 function DayPage::lay_footer_menu() : string[] {
-    var string[] ret = [];
-    $ret[0] = &quot;&quot;&quot;&amp;lt;a href=&quot;$.prev_url&quot;&amp;gt;$*text_day_prev&amp;lt;/a&amp;gt;&quot;&quot;&quot;;
-    $ret[1] = &quot;&quot;&quot;&amp;lt;a href=&quot;$.next_url&quot;&amp;gt;$*text_day_next&amp;lt;/a&amp;gt;&quot;&quot;&quot;;
+    var string[] ret = []; var int i;
+    if ($.prev_url != &quot;&quot;) { $ret[$i] = &quot;&quot;&quot;&amp;lt;a href=&quot;$.prev_url&quot;&amp;gt;$*text_day_prev&amp;lt;/a&amp;gt;&quot;&quot;&quot;; $i++; }
+    if ($.next_url != &quot;&quot;) { $ret[$i] = &quot;&quot;&quot;&amp;lt;a href=&quot;$.next_url&quot;&amp;gt;$*text_day_next&amp;lt;/a&amp;gt;&quot;&quot;&quot;; $i++; }
     return $ret;
 }
 

Modified: trunk/bin/upgrading/s2layers/voxhtml/layout.s2
===================================================================
--- trunk/bin/upgrading/s2layers/voxhtml/layout.s2	2008-05-06 21:26:44 UTC (rev 6270)
+++ trunk/bin/upgrading/s2layers/voxhtml/layout.s2	2008-05-07 14:00:54 UTC (rev 6271)
@@ -2334,8 +2334,16 @@
     }
 
     &quot;&amp;lt;div class=\&quot;skiplinks\&quot;&amp;gt;\n&quot;;
-    &quot;&amp;lt;a href=\&quot;$.prev_url\&quot;&amp;gt;$*text_day_prev&amp;lt;/a&amp;gt; | &quot;;
-    &quot;&amp;lt;a href=\&quot;$.next_url\&quot;&amp;gt;$*text_day_next&amp;lt;/a&amp;gt;\n&amp;lt;/div&amp;gt;&quot;;
+    if ($.prev_url != &quot;&quot;) {
+        &quot;&amp;lt;a href=\&quot;$.prev_url\&quot;&amp;gt;$*text_day_prev&amp;lt;/a&amp;gt;&quot;;
+    }
+    if ($.prev_url != &quot;&quot; and $.next_url != &quot;&quot;) {
+        &quot; | &quot;;
+    }
+    if ($.next_url != &quot;&quot;) {
+        &quot;&amp;lt;a href=\&quot;$.next_url\&quot;&amp;gt;$*text_day_next&amp;lt;/a&amp;gt;&quot;;
+    }
+    &quot;\n&amp;lt;/div&amp;gt;&quot;;
 
 }
 

&lt;/pre&gt;</description>
  <comments>http://community.livejournal.com/changelog/6390983.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>changelog_bot</lj:poster>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/changelog/6390756.html</guid>
  <pubDate>Wed, 07 May 2008 14:00:38 GMT</pubDate>
  <title>[livejournal] r13849: LJSUP-2095</title>
  <link>http://community.livejournal.com/changelog/6390756.html</link>
  <description>&lt;div style=&quot;font-size: 9pt; margin-bottom: 1em&quot;&gt;Committer: sup&lt;/div&gt;LJSUP-2095&lt;br /&gt;Links &quot;next day&quot;, &quot;previous day&quot; will lead to days with journal entries.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;U   trunk/bin/upgrading/s1styles.dat
U   trunk/bin/upgrading/s2layers/classic/layout.s2
U   trunk/bin/upgrading/s2layers/cleansimple/layout.s2
U   trunk/bin/upgrading/s2layers/digitalmultiplex/layout.s2
U   trunk/bin/upgrading/s2layers/generator/layout.s2
U   trunk/bin/upgrading/s2layers/magazine/layout.s2
U   trunk/bin/upgrading/s2layers/notepad/layout.s2
U   trunk/bin/upgrading/s2layers/punquin/layout.s2
U   trunk/bin/upgrading/s2layers/sixhtml/layout.s2
U   trunk/bin/upgrading/s2layers/sturdygesture/layout.s2
U   trunk/bin/upgrading/s2layers/tabularindent/layout.s2
U   trunk/bin/upgrading/s2layers/variableflow/layout.s2
U   trunk/cgi-bin/LJ/S2/DayPage.pm
U   trunk/cgi-bin/ljviews.pl
&lt;/pre&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;pre&gt;Modified: trunk/bin/upgrading/s1styles.dat
===================================================================
--- trunk/bin/upgrading/s1styles.dat	2008-05-06 21:45:42 UTC (rev 13848)
+++ trunk/bin/upgrading/s1styles.dat	2008-05-07 14:00:22 UTC (rev 13849)
@@ -1866,8 +1866,8 @@
 &amp;lt;/ul&amp;gt;
 
 &amp;lt;ul id=&quot;skiplinks&quot;&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href=&quot;%%prevday_url%%&quot;&amp;gt;Previous Day&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href=&quot;%%nextday_url%%&quot;&amp;gt;Next Day&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+%%prevday_link%%
+%%nextday_link%%
 &amp;lt;/ul&amp;gt;
 
 &amp;lt;/td&amp;gt;
@@ -2001,14 +2001,14 @@
 &amp;lt;P&amp;gt;&amp;lt;TABLE&amp;gt;
 &amp;lt;TR ALIGN=MIDDLE&amp;gt;
 &amp;lt;TD WIDTH=33% ALIGN=LEFT&amp;gt;
-&amp;lt;A HREF=&quot;%%prevday_url%%&quot;&amp;gt;&amp;lt;&amp;lt; Previous Day&amp;lt;/A&amp;gt;
+%%prevday_2link%%
 &amp;lt;/TD&amp;gt;
 &amp;lt;TD ALIGN=CENTER WIDTH=33%&amp;gt;
 &amp;lt;B&amp;gt;%%yyyy%%/%%mm%%/%%dd%%&amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;
 [&amp;lt;A HREF=&quot;%%urlcalendar%%&quot;&amp;gt;Calendar&amp;lt;/A&amp;gt;]
 &amp;lt;/TD&amp;gt;
 &amp;lt;TD WIDTH=33% ALIGN=RIGHT&amp;gt;
-&amp;lt;A HREF=&quot;%%nextday_url%%&quot;&amp;gt;Next Day &amp;gt;&amp;gt;&amp;lt;/A&amp;gt;
+%%nextday_2link%%
 &amp;lt;/TD&amp;gt;
 &amp;lt;/TR&amp;gt;
 &amp;lt;/TABLE&amp;gt;
@@ -2321,7 +2321,7 @@
  &amp;lt;/tr&amp;gt;
  &amp;lt;tr&amp;gt;
   &amp;lt;td class=&quot;swcorn&quot; width=&quot;40%&quot;&amp;gt;&amp;nbsp;&amp;lt;/td&amp;gt;
-  &amp;lt;td class=&quot;metabox&quot; id=&quot;daylink&quot; colspan=&quot;2&quot; rowspan=&quot;2&quot;&amp;gt;&amp;lt;a href=&quot;%%prevday_url%%&quot;&amp;gt;Previous&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&quot;%%nextday_url%%&quot;&amp;gt;Next&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;
+  &amp;lt;td class=&quot;metabox&quot; id=&quot;daylink&quot; colspan=&quot;2&quot; rowspan=&quot;2&quot;&amp;gt;%%prevday_3link%%&amp;lt;br&amp;gt;%%nextday_3link%%&amp;lt;/td&amp;gt;
  &amp;lt;/tr&amp;gt;
  &amp;lt;tr&amp;gt;
   &amp;lt;td&amp;gt;&amp;nbsp;&amp;lt;/td&amp;gt;
@@ -2631,7 +2631,7 @@
 &amp;lt;td class=&quot;meta&quot;&amp;gt;[&amp;lt;/td&amp;gt;
 &amp;lt;td class=&quot;meta&quot; align=&quot;right&quot;&amp;gt;&amp;lt;b&amp;gt;go&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;
 &amp;lt;td class=&quot;meta&quot; align=&quot;center&quot;&amp;gt;|&amp;lt;/td&amp;gt;
-&amp;lt;td class=&quot;meta&quot;&amp;gt;&amp;lt;a href=&quot;%%prevday_url%%&quot;&amp;gt;previous day&amp;lt;/a&amp;gt;|&amp;lt;a href=&quot;%%nextday_url%%&quot;&amp;gt;next day&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;
+&amp;lt;td class=&quot;meta&quot;&amp;gt;%%prevnextday_link%%&amp;lt;/td&amp;gt;
 &amp;lt;td class=&quot;meta&quot;&amp;gt;]&amp;lt;/td&amp;gt;
 &amp;lt;/tr&amp;gt;
 &amp;lt;/table&amp;gt;
@@ -2754,15 +2754,15 @@
   &amp;lt;div id=&quot;content&quot;&amp;gt;
 %%open_skyscraper_ad%%
   &amp;lt;h1&amp;gt;%%title%% - Day&amp;lt;/h1&amp;gt;
-  &amp;lt;p class=&quot;Navigation&quot;&amp;gt;(&amp;lt;a href=&quot;%%urllastn%%&quot;&amp;gt;Latest&amp;nbsp;entries&amp;lt;/a&amp;gt;) (&amp;lt;a href=&quot;%%urlcalendar%%&quot;&amp;gt;Calendar&amp;lt;/a&amp;gt;) (&amp;lt;a href=&quot;%%urlfriends%%&quot;&amp;gt;Friends&amp;lt;/a&amp;gt;) %%website%% (&amp;lt;a href=&quot;%%urllastn%%info&quot;&amp;gt;User&amp;nbsp;info&amp;lt;/a&amp;gt;)&amp;lt;br&amp;gt;Navigate: (&amp;lt;a href=&quot;%%prevday_url%%&quot;&amp;gt;Previous&amp;nbsp;day&amp;lt;/a&amp;gt;&amp;nbsp;|&amp;nbsp;&amp;lt;a href=&quot;%%nextday_url%%&quot;&amp;gt;Next&amp;nbsp;day&amp;lt;/a&amp;gt;)&amp;lt;/p&amp;gt;
+  &amp;lt;p class=&quot;Navigation&quot;&amp;gt;(&amp;lt;a href=&quot;%%urllastn%%&quot;&amp;gt;Latest&amp;nbsp;entries&amp;lt;/a&amp;gt;) (&amp;lt;a href=&quot;%%urlcalendar%%&quot;&amp;gt;Calendar&amp;lt;/a&amp;gt;) (&amp;lt;a href=&quot;%%urlfriends%%&quot;&amp;gt;Friends&amp;lt;/a&amp;gt;) %%website%% (&amp;lt;a href=&quot;%%urllastn%%info&quot;&amp;gt;User&amp;nbsp;info&amp;lt;/a&amp;gt;)&amp;lt;br&amp;gt;Navigate: (%%prevnextday_2link%%)&amp;lt;/p&amp;gt;
 
   &amp;lt;h2&amp;gt;%%daylong%%, %%monlong%% %%d%%, %%yyyy%%&amp;lt;/h2&amp;gt;
 %%events%%
   &amp;lt;table style=&quot;border-top: thin solid %%color:weak_back%%;&quot; width=&quot;100%&quot;&amp;gt;
    &amp;lt;tr&amp;gt;
-    &amp;lt;td width=&quot;33%&quot;&amp;gt;&amp;larr; &amp;lt;a href=&quot;%%prevday_url%%&quot;&amp;gt;Previous day&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;
+    &amp;lt;td width=&quot;33%&quot;&amp;gt;%%prevday_4link%%&amp;lt;/td&amp;gt;
     &amp;lt;td width=&quot;34%&quot; align=&quot;center&quot;&amp;gt;(&amp;lt;a href=&quot;%%urlcalendar%%&quot;&amp;gt;Calendar&amp;lt;/a&amp;gt;)&amp;lt;/td&amp;gt;
-    &amp;lt;td width=&quot;33%&quot; align=&quot;right&quot;&amp;gt;&amp;lt;a href=&quot;%%nextday_url%%&quot;&amp;gt;Next day&amp;lt;/a&amp;gt; &amp;rarr;&amp;lt;/td&amp;gt;
+    &amp;lt;td width=&quot;33%&quot; align=&quot;right&quot;&amp;gt;%%nextday_4link%%&amp;lt;/td&amp;gt;
    &amp;lt;/tr&amp;gt;
   &amp;lt;/table&amp;gt;
 %%skyscraper_ad%%
@@ -2881,7 +2881,7 @@
      &amp;lt;P&amp;gt;&amp;lt;FONT SIZE=&quot;+2&quot;&amp;gt;%%title%%&amp;lt;/FONT&amp;gt;&amp;lt;/P&amp;gt;
      &amp;lt;P&amp;gt;&amp;lt;CENTER&amp;gt;&amp;lt;IMG SRC=&quot;%%cons:img%%/style/notepad/hr.gif&quot; WIDTH=&quot;345&quot; HEIGHT=&quot;23&quot;&amp;gt;&amp;lt;/CENTER&amp;gt;&amp;lt;/P&amp;gt;
 %%events%%
-     &amp;lt;P&amp;gt;&amp;lt;CENTER&amp;gt;&amp;lt;FONT SIZE=&quot;+1&quot;&amp;gt;&amp;lt;A HREF=&quot;%%prevday_url%%&quot;&amp;gt;Back A Day&amp;lt;/A&amp;gt; - &amp;lt;A HREF=&quot;%%nextday_url%%&quot;&amp;gt;Forward A Day&amp;lt;/A&amp;gt;&amp;lt;/FONT&amp;gt;&amp;lt;/CENTER&amp;gt;&amp;lt;/P&amp;gt;
+     &amp;lt;P&amp;gt;&amp;lt;CENTER&amp;gt;&amp;lt;FONT SIZE=&quot;+1&quot;&amp;gt;%%prevnextday_3link%%&amp;lt;/FONT&amp;gt;&amp;lt;/CENTER&amp;gt;&amp;lt;/P&amp;gt;
     &amp;lt;/TD&amp;gt;
     &amp;lt;TD WIDTH=&quot;8&quot; HEIGHT=&quot;38&quot; BACKGROUND=&quot;%%cons:img%%/style/notepad/side-right.jpg&quot;&amp;gt;
      &amp;nbsp;
@@ -3037,13 +3037,13 @@
 &amp;lt;TABLE WIDTH=&quot;100%&quot;&amp;gt;
 &amp;lt;TR ALIGN=MIDDLE&amp;gt;
 &amp;lt;TD WIDTH=33% ALIGN=LEFT&amp;gt;&amp;lt;FONT FACE=&quot;Verdana,Arial,Helvetica&quot; SIZE=&quot;1&quot;&amp;gt;
-&amp;lt;A HREF=&quot;%%prevday_url%%&quot;&amp;gt;&amp;lt;&amp;lt; previous day&amp;lt;/A&amp;gt;
+%%prevday_5link%%
 &amp;lt;/FONT&amp;gt;&amp;lt;/TD&amp;gt;
 &amp;lt;TD ALIGN=CENTER WIDTH=33%&amp;gt;&amp;lt;FONT FACE=&quot;Verdana,Arial,Helvetica&quot; SIZE=&quot;1&quot;&amp;gt;
 [&amp;lt;A HREF=&quot;%%urlcalendar%%&quot;&amp;gt;calendar&amp;lt;/A&amp;gt;]
 &amp;lt;/FONT&amp;gt;&amp;lt;/TD&amp;gt;
 &amp;lt;TD WIDTH=33% ALIGN=RIGHT&amp;gt;&amp;lt;FONT FACE=&quot;Verdana,Arial,Helvetica&quot; SIZE=&quot;1&quot;&amp;gt;
-&amp;lt;A HREF=&quot;%%nextday_url%%&quot;&amp;gt;next day &amp;gt;&amp;gt;&amp;lt;/A&amp;gt;
+%%nextday_5link%%
 &amp;lt;/FONT&amp;gt;
 &amp;lt;/TD&amp;gt;
 &amp;lt;/TR&amp;gt;
@@ -3267,8 +3267,8 @@
 
 	&amp;lt;tr&amp;gt;
 	&amp;lt;td class=&quot;links&quot;&amp;gt;
-	&amp;lt;a href=&quot;%%prevday_url%%&quot;&amp;gt;previous day&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;
-	&amp;lt;a href=&quot;%%nextday_url%%&quot;&amp;gt;next day&amp;lt;/a&amp;gt;
+	%%prevday_6link%%&amp;lt;br&amp;gt;
+	%%nextday_6link%%
 	&amp;lt;/td&amp;gt;
 	&amp;lt;/tr&amp;gt;
 	
@@ -3488,7 +3488,7 @@
       &amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;View:&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;&amp;lt;A HREF=&quot;%%urllastn%%&quot;&amp;gt;Personal Journal&amp;lt;/A&amp;gt;.&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;
       &amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;View:&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;&amp;lt;A HREF=&quot;%%urlfriends%%&quot;&amp;gt;Friends&amp;lt;/A&amp;gt;.&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;
       &amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;View:&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;&amp;lt;A HREF=&quot;%%urlcalendar%%&quot;&amp;gt;Calendar&amp;lt;/A&amp;gt;.&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;
-      &amp;lt;TR&amp;gt;&amp;lt;TD COLSPAN=&quot;2&quot;&amp;gt;Missed some entries?  Then simply jump to the &amp;lt;A HREF=&quot;%%prevday_url%%&quot;&amp;gt;previous day&amp;lt;/A&amp;gt; or the &amp;lt;A HREF=&quot;%%nextday_url%%&quot;&amp;gt;next day&amp;lt;/A&amp;gt;.&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;
+      &amp;lt;TR&amp;gt;&amp;lt;TD COLSPAN=&quot;2&quot;&amp;gt;Missed some entries?  Then simply jump to the %%prevnextday_4link%%.&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;
      &amp;lt;/TABLE&amp;gt;
     &amp;lt;/TD&amp;gt;
    &amp;lt;/TR&amp;gt;
@@ -3522,7 +3522,7 @@
        &amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;View:&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;&amp;lt;A HREF=&quot;%%urlcalendar%%&quot;&amp;gt;Calendar&amp;lt;/A&amp;gt;.&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;
        %%website%%&amp;lt;BR&amp;gt;
        &amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;View:&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;&amp;lt;A HREF=&quot;%%cons:siteroot%%/memories.bml?user=%%username%%&quot;&amp;gt;Memories&amp;lt;/A&amp;gt;.&amp;lt;BR&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;
-       &amp;lt;TR&amp;gt;&amp;lt;TD COLSPAN=&quot;2&quot;&amp;gt;Missed some entries?  Then simply jump to the &amp;lt;A HREF=&quot;%%prevday_url%%&quot;&amp;gt;previous day&amp;lt;/A&amp;gt; or the &amp;lt;A HREF=&quot;%%nextday_url%%&quot;&amp;gt;next day&amp;lt;/A&amp;gt;.&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;
+       &amp;lt;TR&amp;gt;&amp;lt;TD COLSPAN=&quot;2&quot;&amp;gt;Missed some entries?  Then simply jump to the %%prevnextday_4link%%.&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;
       &amp;lt;/TABLE&amp;gt;
      &amp;lt;/TD&amp;gt;
     &amp;lt;/TR&amp;gt;

Modified: trunk/bin/upgrading/s2layers/classic/layout.s2
===================================================================
--- trunk/bin/upgrading/s2layers/classic/layout.s2	2008-05-06 21:45:42 UTC (rev 13848)
+++ trunk/bin/upgrading/s2layers/classic/layout.s2	2008-05-07 14:00:22 UTC (rev 13849)
@@ -835,12 +835,23 @@
 
     &quot;&amp;lt;table align=&apos;center&apos;&amp;gt;&amp;lt;tr align=&apos;middle&apos;&amp;gt;\n&quot;;
 
-    &quot;&amp;lt;td width=&apos;33%&apos; align=&apos;left&apos;&amp;gt;&amp;lt;a href=&apos;$.prev_url&apos;&amp;gt;$tprev&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;\n&quot;;
+    &quot;&amp;lt;td width=&apos;33%&apos; align=&apos;left&apos;&amp;gt;&quot;;
+    if ($.prev_url != &quot;&quot;) {
+        &quot;&amp;lt;a href=&apos;$.prev_url&apos;&amp;gt;$tprev&amp;lt;/a&amp;gt;&quot;;
+    } else {
+        &quot;&amp;nbsp;&quot;;
+    }
+    &quot;&amp;lt;/td&amp;gt;\n&quot;;
     &quot;&amp;lt;td align=&apos;center&apos; width=&apos;33%&apos;&amp;gt;&quot;;
       &quot;&amp;lt;strong&amp;gt;&quot;; print $.date-&amp;gt;date_format($*date_daypage_skip_format); &quot;&amp;lt;/strong&amp;gt;&amp;lt;br /&amp;gt;&quot;;
       &quot;[&amp;lt;a href=&apos;&quot;; print $this.journal-&amp;gt;base_url(); &quot;/calendar&apos;&amp;gt;$*text_view_archive&amp;lt;/a&amp;gt;]&amp;lt;/td&amp;gt;\n&quot;;
-    &quot;&amp;lt;td width=&apos;33%&apos; align=&apos;right&apos;&amp;gt;&amp;lt;a href=&apos;$.next_url&apos;&amp;gt;$tnext&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;\n&quot;;
-
+    &quot;&amp;lt;td width=&apos;33%&apos; align=&apos;right&apos;&amp;gt;&quot;;
+    if ($.next_url != &quot;&quot;) {    
+        &quot;&amp;lt;a href=&apos;$.next_url&apos;&amp;gt;$tnext&amp;lt;/a&amp;gt;&quot;;
+    } else {
+        &quot;&amp;nbsp;&quot;;
+    }
+    &quot;&amp;lt;/td&amp;gt;\n&quot;;
     &quot;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&quot;;
 
 }

Modified: trunk/bin/upgrading/s2layers/cleansimple/layout.s2
===================================================================
--- trunk/bin/upgrading/s2layers/cleansimple/layout.s2	2008-05-06 21:45:42 UTC (rev 13848)
+++ trunk/bin/upgrading/s2layers/cleansimple/layout.s2	2008-05-07 14:00:22 UTC (rev 13849)
@@ -971,8 +971,14 @@
 function DayPage::lay_viewspec_nav() {
 &quot;&quot;&quot;
 &amp;lt;ul id=&quot;skiplinks&quot;&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href=&quot;$.prev_url&quot;&amp;gt;$*text_day_prev&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href=&quot;$.next_url&quot;&amp;gt;$*text_day_next&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&quot;&quot;&quot;;
+if ($.prev_url != &quot;&quot;) {
+    &quot;&quot;&quot;&amp;lt;li&amp;gt;&amp;lt;a href=&quot;$.prev_url&quot;&amp;gt;$*text_day_prev&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&quot;&quot;&quot;;
+}
+if ($.next_url != &quot;&quot;) {
+    &quot;&quot;&quot;&amp;lt;li&amp;gt;&amp;lt;a href=&quot;$.next_url&quot;&amp;gt;$*text_day_next&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&quot;&quot;&quot;;
+}
+&quot;&quot;&quot;
 &amp;lt;/ul&amp;gt;
 &quot;&quot;&quot;;
 }

Modified: trunk/bin/upgrading/s2layers/digitalmultiplex/layout.s2
===================================================================
--- trunk/bin/upgrading/s2layers/digitalmultiplex/layout.s2	2008-05-06 21:45:42 UTC (rev 13848)
+++ trunk/bin/upgrading/s2layers/digitalmultiplex/layout.s2	2008-05-07 14:00:22 UTC (rev 13849)
@@ -1448,8 +1448,12 @@
 
 function DayPage::lay_sidebar_view_navigation() : string {
     var string return;
-    $return = &quot;&quot;&quot;$return&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$*text_sidebar_link_separator&amp;lt;a href=&quot;$.prev_url&quot;&amp;gt;$*text_day_prev&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot;&quot;&quot;;
-    $return = &quot;&quot;&quot;$return&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$*text_sidebar_link_separator&amp;lt;a href=&quot;$.next_url&quot;&amp;gt;$*text_day_next&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot;&quot;&quot;;
+    if ($.prev_url != &quot;&quot;) {
+        $return = &quot;&quot;&quot;$return&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$*text_sidebar_link_separator&amp;lt;a href=&quot;$.prev_url&quot;&amp;gt;$*text_day_prev&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot;&quot;&quot;;
+    }
+    if ($.next_url != &quot;&quot;) {
+        $return = &quot;&quot;&quot;$return&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;$*text_sidebar_link_separator&amp;lt;a href=&quot;$.next_url&quot;&amp;gt;$*text_day_next&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot;&quot;&quot;;
+    }
     return $return;
 }
 

Modified: trunk/bin/upgrading/s2layers/generator/layout.s2
===================================================================
--- trunk/bin/upgrading/s2layers/generator/layout.s2	2008-05-06 21:45:42 UTC (rev 13848)
+++ trunk/bin/upgrading/s2layers/generator/layout.s2	2008-05-07 14:00:22 UTC (rev 13849)
@@ -1139,7 +1139,17 @@
 &amp;lt;td class=&quot;meta&quot;&amp;gt;[&amp;lt;/td&amp;gt;
 &amp;lt;td class=&quot;meta&quot; align=&quot;right&quot;&amp;gt;&amp;lt;b&amp;gt;go&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;
 &amp;lt;td class=&quot;meta&quot; align=&quot;center&quot;&amp;gt;|&amp;lt;/td&amp;gt;
-&amp;lt;td class=&quot;meta&quot;&amp;gt;&amp;lt;a href=&quot;$.prev_url&quot;&amp;gt;$tprev&amp;lt;/a&amp;gt;|&amp;lt;a href=&quot;$.next_url&quot;&amp;gt;$tnext&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;
+&amp;lt;td class=&quot;meta&quot;&amp;gt;&quot;&quot;&quot;;
+if ($.prev_url != &quot;&quot;) {
+    &quot;&quot;&quot;&amp;lt;a href=&quot;$.prev_url&quot;&amp;gt;$tprev&amp;lt;/a&amp;gt;&quot;&quot;&quot;;
+}
+if ($.prev_url != &quot;&quot; and $.next_url != &quot;&quot;) {
+    &quot;&quot;&quot;|&quot;&quot;&quot;;
+}
+if ($.next_url != &quot;&quot;) {
+    &quot;&quot;&quot;&amp;lt;a href=&quot;$.next_url&quot;&amp;gt;$tnext&amp;lt;/a&amp;gt;&quot;&quot;&quot;;
+}
+&quot;&quot;&quot;&amp;lt;/td&amp;gt;
 &amp;lt;td class=&quot;meta&quot;&amp;gt;]&amp;lt;/td&amp;gt;
 &amp;lt;/tr&amp;gt;
 &amp;lt;/table&amp;gt;

Modified: trunk/bin/upgrading/s2layers/magazine/layout.s2
===================================================================
--- trunk/bin/upgrading/s2layers/magazine/layout.s2	2008-05-06 21:45:42 UTC (rev 13848)
+++ trunk/bin/upgrading/s2layers/magazine/layout.s2	2008-05-07 14:00:22 UTC (rev 13849)
@@ -790,7 +790,17 @@
 
 function DayPage::lay_skip_navigation()
 {
-    &quot;Navigate: (&amp;lt;a href=&apos;$.prev_url&apos;&amp;gt;Previous Day&amp;lt;/a&amp;gt;&amp;nbsp;|&amp;nbsp;&amp;lt;a href=&apos;$.next_url&apos;&amp;gt;Next Day&amp;lt;/a&amp;gt;)&quot;;
+    &quot;Navigate: (&quot;;
+    if ($.prev_url != &quot;&quot;) {
+        &quot;&amp;lt;a href=&apos;$.prev_url&apos;&amp;gt;Previous Day&amp;lt;/a&amp;gt;&amp;nbsp;&quot;;
+    }
+    if ($.prev_url != &quot;&quot; and $.next_url != &quot;&quot;) {
+        &quot;|&quot;;
+    }
+    if ($.next_url != &quot;&quot;) {
+        &quot;&amp;nbsp;&amp;lt;a href=&apos;$.next_url&apos;&amp;gt;Next Day&amp;lt;/a&amp;gt;&quot;;
+    }
+    &quot;)&quot;;
 }
 
 function DayPage::lay_bottom_navigation()
@@ -798,9 +808,17 @@
     &quot;&quot;&quot;
 &amp;lt;table style=&quot;border-top: thin solid $*headerbar_bevel_color;&quot; width=&quot;100%&quot;&amp;gt;
   &amp;lt;tr&amp;gt;
-    &amp;lt;td width=&quot;33%&quot;&amp;gt;&amp;larr; &amp;lt;a href=&quot;$.prev_url&quot;&amp;gt;Previous day&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;
+    &amp;lt;td width=&quot;33%&quot;&amp;gt;&quot;&quot;&quot;;
+if ($.prev_url != &quot;&quot;) {
+    &quot;&quot;&quot;&amp;larr; &amp;lt;a href=&quot;$.prev_url&quot;&amp;gt;Previous day&amp;lt;/a&amp;gt;&quot;&quot;&quot;;
+}
+&quot;&quot;&quot;&amp;lt;/td&amp;gt;
     &amp;lt;td width=&quot;34%&quot; align=&quot;center&quot;&amp;gt;(&amp;lt;a href=&quot;$.base_url/calendar&quot;&amp;gt;Calendar&amp;lt;/a&amp;gt;)&amp;lt;/td&amp;gt;
-    &amp;lt;td width=&quot;33%&quot; align=&quot;right&quot;&amp;gt;&amp;lt;a href=&quot;$.next_url&quot;&amp;gt;Next day&amp;lt;/a&amp;gt; &amp;rarr;&amp;lt;/td&amp;gt;
+    &amp;lt;td width=&quot;33%&quot; align=&quot;right&quot;&amp;gt;&quot;&quot;&quot;;
+if ($.next_url != &quot;&quot;) {
+    &quot;&quot;&quot;&amp;lt;a href=&quot;$.next_url&quot;&amp;gt;Next day&amp;lt;/a&amp;gt; &amp;rarr;&quot;&quot;&quot;;
+}
+&quot;&quot;&quot;&amp;lt;/td&amp;gt;
   &amp;lt;/tr&amp;gt;
 &amp;lt;/table&amp;gt;
     &quot;&quot;&quot;;

Modified: trunk/bin/upgrading/s2layers/notepad/layout.s2
===================================================================
--- trunk/bin/upgrading/s2layers/notepad/layout.s2	2008-05-06 21:45:42 UTC (rev 13848)
+++ trunk/bin/upgrading/s2layers/notepad/layout.s2	2008-05-07 14:00:22 UTC (rev 13849)
@@ -668,7 +668,15 @@
 function DayPage::lay_bottom_navigation()
 {
     if (not $.has_entries) { &quot;&amp;lt;img src=&apos;$*imguri/hr.gif&apos; alt=&apos;&apos; /&amp;gt;&amp;lt;br /&amp;gt;&quot;; }
-    print &quot;&amp;lt;a href=&apos;$.prev_url&apos;&amp;gt;Back a Day&amp;lt;/a&amp;gt; - &amp;lt;a href=&apos;$.next_url&apos;&amp;gt;Forward a Day&amp;lt;/a&amp;gt;&quot;;
+    if ($.prev_url != &quot;&quot;) {
+        print &quot;&amp;lt;a href=&apos;$.prev_url&apos;&amp;gt;Back a Day&amp;lt;/a&amp;gt;&quot;;
+    }
+    if ($.prev_url != &quot;&quot; and $.next_url != &quot;&quot;) {
+        print &quot; - &quot;;
+    }
+    if ($.next_url != &quot;&quot;) {
+        print &quot;&amp;lt;a href=&apos;$.next_url&apos;&amp;gt;Forward a Day&amp;lt;/a&amp;gt;&quot;;
+    }
 }
 
 function DayPage::print_body()

Modified: trunk/bin/upgrading/s2layers/punquin/layout.s2
===================================================================
--- trunk/bin/upgrading/s2layers/punquin/layout.s2	2008-05-06 21:45:42 UTC (rev 13848)
+++ trunk/bin/upgrading/s2layers/punquin/layout.s2	2008-05-07 14:00:22 UTC (rev 13849)
@@ -763,9 +763,17 @@
     &quot;&amp;lt;hr class=&apos;separator&apos; width=&apos;100%&apos; /&amp;gt;\n&quot;;
     &quot;&amp;lt;table width=&apos;100%&apos;&amp;gt;&amp;lt;tr align=&apos;center&apos;&amp;gt;\n&quot;;
 
-    &quot;&amp;lt;td width=&apos;33%&apos; align=&apos;left&apos;&amp;gt;&amp;lt;a href=&apos;$.prev_url&apos;&amp;gt;$tprev&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;\n&quot;;
+    &quot;&amp;lt;td width=&apos;33%&apos; align=&apos;left&apos;&amp;gt;&quot;;
+    if ($.prev_url != &quot;&quot;) {
+        &quot;&amp;lt;a href=&apos;$.prev_url&apos;&amp;gt;$tprev&amp;lt;/a&amp;gt;&quot;;
+    }
+    &quot;&amp;lt;/td&amp;gt;\n&quot;;
     &quot;&amp;lt;td align=&apos;center&apos; width=&apos;33%&apos;&amp;gt;[&amp;lt;a href=&apos;&quot;; print $this.journal-&amp;gt;base_url(); &quot;/calendar&apos;&amp;gt;$*text_view_archive&amp;lt;/a&amp;gt;]&amp;lt;/td&amp;gt;\n&quot;;
-    &quot;&amp;lt;td width=&apos;33%&apos; align=&apos;right&apos;&amp;gt;&amp;lt;a href=&apos;$.next_url&apos;&amp;gt;$tnext&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;\n&quot;;
+    &quot;&amp;lt;td width=&apos;33%&apos; align=&apos;right&apos;&amp;gt;&quot;;
+    if ($.next_url != &quot;&quot;) {
+        &quot;&amp;lt;a href=&apos;$.next_url&apos;&amp;gt;$tnext&amp;lt;/a&amp;gt;&quot;;
+    }
+    &quot;&amp;lt;/td&amp;gt;\n&quot;;
 
     &quot;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&quot;;
 }

Modified: trunk/bin/upgrading/s2layers/sixhtml/layout.s2
===================================================================
--- trunk/bin/upgrading/s2layers/sixhtml/layout.s2	2008-05-06 21:45:42 UTC (rev 13848)
+++ trunk/bin/upgrading/s2layers/sixhtml/layout.s2	2008-05-07 14:00:22 UTC (rev 13849)
@@ -866,8 +866,16 @@
     }
 
     &quot;&amp;lt;div class=\&quot;skiplinks\&quot;&amp;gt;\n&quot;;
-    &quot;&amp;lt;a href=\&quot;$.prev_url\&quot;&amp;gt;$*text_day_prev&amp;lt;/a&amp;gt; | &quot;;
-    &quot;&amp;lt;a href=\&quot;$.next_url\&quot;&amp;gt;$*text_day_next&amp;lt;/a&amp;gt;\n&amp;lt;/div&amp;gt;&quot;;
+    if ($.prev_url != &quot;&quot;) {
+        &quot;&amp;lt;a href=\&quot;$.prev_url\&quot;&amp;gt;$*text_day_prev&amp;lt;/a&amp;gt;&quot;;
+    }
+    if ($.prev_url != &quot;&quot; and $.next_url != &quot;&quot;) {
+        &quot; | &quot;;
+    }
+    if ($.next_url != &quot;&quot;) {
+        &quot;&amp;lt;a href=\&quot;$.next_url\&quot;&amp;gt;$*text_day_next&amp;lt;/a&amp;gt;&quot;;
+    