fu: Close-up of Fu, bringing a scoop of water to her mouth (Default)
fu ([personal profile] fu) wrote in [site community profile] changelog2011-11-30 11:28 am

[dw-free] Revamp /update

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

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

Reorganize .tt files. Everything that was views/entry-* is now
views/entry/*; the modules that were in views/entry/* are now
/views/entry/module-* (easier to find everytihng now)

Patch by [personal profile] fu.

Files modified:
  • cgi-bin/DW/Controller/Entry.pm
  • views/entry-preview.tt
  • views/entry-preview.tt.text
  • views/entry-success.tt
  • views/entry.tt
  • views/entry.tt.text
  • views/entry/access.tt
  • views/entry/access.tt.text
  • views/entry/age_restriction.tt
  • views/entry/age_restriction.tt.text
  • views/entry/comments-new.tt
  • views/entry/comments.tt
  • views/entry/comments.tt.text
  • views/entry/crosspost.tt
  • views/entry/crosspost.tt.text
  • views/entry/currents.tt
  • views/entry/currents.tt.text
  • views/entry/displaydate.tt
  • views/entry/displaydate.tt.text
  • views/entry/form.tt
  • views/entry/form.tt.text
  • views/entry/icons.tt
  • views/entry/icons.tt.text
  • views/entry/journal.tt
  • views/entry/journal.tt.text
  • views/entry/module-access.tt
  • views/entry/module-access.tt.text
  • views/entry/module-age_restriction.tt
  • views/entry/module-age_restriction.tt.text
  • views/entry/module-comments-new.tt
  • views/entry/module-comments.tt
  • views/entry/module-comments.tt.text
  • views/entry/module-crosspost.tt
  • views/entry/module-crosspost.tt.text
  • views/entry/module-currents.tt
  • views/entry/module-currents.tt.text
  • views/entry/module-displaydate.tt
  • views/entry/module-displaydate.tt.text
  • views/entry/module-icons.tt
  • views/entry/module-icons.tt.text
  • views/entry/module-journal.tt
  • views/entry/module-journal.tt.text
  • views/entry/module-scheduled.tt
  • views/entry/module-status.tt
  • views/entry/module-tags.tt
  • views/entry/module-tags.tt.text
  • views/entry/preview.tt
  • views/entry/preview.tt.text
  • views/entry/scheduled.tt
  • views/entry/status.tt
  • views/entry/success.tt
  • views/entry/tags.tt
  • views/entry/tags.tt.text
--------------------------------------------------------------------------------
diff -r 7f6e577ec7c3 -r e57184490bfb cgi-bin/DW/Controller/Entry.pm
--- a/cgi-bin/DW/Controller/Entry.pm	Tue Nov 29 22:02:20 2011 +0800
+++ b/cgi-bin/DW/Controller/Entry.pm	Wed Nov 30 19:27:46 2011 +0800
@@ -59,7 +59,7 @@
     my $r = DW::Request->get;
     my $remote = LJ::get_remote();
 
-    return error_ml( "/entry.tt.beta.off", { aopts => "href='$LJ::SITEROOT/betafeatures'" } )
+    return error_ml( "/entry/form.tt.beta.off", { aopts => "href='$LJ::SITEROOT/betafeatures'" } )
         unless $remote && LJ::BetaFeatures->user_in_beta( $remote => "updatepage" );
 
     my @error_list;
@@ -204,7 +204,7 @@
 
     $vars->{show_unimplemented} = $get->{highlight} ? 1 : 0;
     $vars->{betacommunity} = LJ::load_user( "dw_beta" );
-    return DW::Template->render_template( 'entry.tt', $vars );
+    return DW::Template->render_template( 'entry/form.tt', $vars );
 }
 
 
@@ -643,7 +643,7 @@
     if ( ! defined $res->{itemid} && $res->{message} ) {
         $ret .= qq{<div class="message-box info-box"><p>$res->{message}</p></div>};
         $render_ret = DW::Template->render_template(
-            'entry-success.tt', {
+            'entry/success.tt', {
                 poststatus  => $ret,
             }
         );
@@ -737,7 +737,7 @@
         }
 
         $render_ret = DW::Template->render_template(
-            'entry-success.tt', {
+            'entry/success.tt', {
                 poststatus  => $ret,        # did the update succeed or fail?
                 warnings    => \@warnings,   # warnings about the entry or your account
                 crossposts  => \@crossposts,# crosspost status list
@@ -923,7 +923,7 @@
         }
         $vars->{security} = $security;
 
-        return DW::Template->render_template( 'entry-preview.tt', $vars );
+        return DW::Template->render_template( 'entry/preview.tt', $vars );
     } else {
         my $ret = "";
         my $opts = {};
@@ -1006,7 +1006,7 @@
 
         $p->{entry} = $s2entry;
         $p->{comments} = [];
-        $p->{preview_warn_text} = LJ::Lang::ml( '/entry-preview.tt.entry.preview_warn_text' );
+        $p->{preview_warn_text} = LJ::Lang::ml( '/entry/preview.tt.entry.preview_warn_text' );
 
         $p->{viewing_thread} = 0;
         $p->{multiform_on} = 0;
@@ -1100,7 +1100,7 @@
     foreach ( qw( access comments age_restriction journal crosspost
                     icons tags currents displaydate ) ) {
         push @panel_options, {
-            label_ml    => "/entry/$_.tt.header",
+            label_ml    => "/entry/module-$_.tt.header",
             panel_name  => $_,
             id          => "panel_$_",
             name        =>  $panel_element_name,
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry-preview.tt
--- a/views/entry-preview.tt	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-[%# post-preview.tt
-
-Page to preview entries in site skin
-
-Authors:
-    Afuna <coder.dw@afunamatata.com>
-
-This program is free software; you may redistribute it and/or modify it under
-the same terms as Perl itself.  For a copy of the license, please reference
-'perldoc perlartistic' or 'perldoc perlgpl'.
-%]
-
-[%- dw.need_res( "stc/talkpage.css" ) -%]
-
-[%- sections.windowtitle = '.title' | ml( sitenameshort = site.nameshort ) -%]
-
-[%- IF journal -%]
-    <table summary=''><tr valign='middle'>
-    [%- IF icon -%]
-        <td>[% icon %]</td>
-    [%- END -%]
-
-    <td>
-        [%- postername = poster.name | html -%]
-
-        [%- IF journal.is_community -%]
-            [%- "talk.somebodywrote_comm" | ml( realname = postername
-                                                userlink = poster.ljuser_display
-                                                commlink = journal.ljuser_display )
-            -%]
-        [%- ELSE -%]
-            [%- "talk.somebodywrote" | ml(  realname = postername
-                                            userlink = poster.ljuser_display )
-            -%]
-        [%- END -%]
-
-        <br /><span class='time'>@ [% displaydate %]</span>
-    </td>
-
-    </tr></table>
-[%- END -%]
-
-<div id='entry' class='usercontent' style='margin-left: 30px'>
-    [%- currents -%]
-
-    [%- IF security -%]
-        <img src="[% site.imgroot %][% security.src %]" alt="[% security.alt%]" width="[% security.width %]" height="[% security.height %]" align="absmiddle" />
-    [%- END -%]
-
-    <div id='entrysubj'>[% subject %]</div>
-    [%- IF security OR subject -%]<br />[%- END -%]
-
-    [%- event -%]
-</div>
-
-<br clear='all' /><hr width='100%' size='2' align='center' />
-
-<div class='highlight-box'><p>[% '.entry.preview_warn_text' | ml %]</p></div>
-
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry-preview.tt.text
--- a/views/entry-preview.tt.text	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-;; -*- coding: utf-8 -*-
-.entry.preview_warn_text=This is a preview only. To save this entry, close this popup and return to your main browser window.
-
-.title=[[sitenameshort]]: Entry Preview (Unsaved)
-
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry-success.tt
--- a/views/entry-success.tt	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-[%- sections.title = 'success' | ml -%]
-
-[%- IF warnings.size > 0 -%]
-    [%- FOREACH warning IN warnings -%]
-        <div class="message-box [% warning.type %]-box">[%- warning.message -%]</div>
-    [%- END -%]
-[%- END -%]
-
-<p>[% poststatus %]</p>
-
-[%- IF crossposts.size > 0 -%]
-<ul>
-    [%- FOREACH crosspost IN crossposts -%]
-        <li [% IF crosspost.status == "error" -%] class="error-box" [%- END -%]>
-            [%- crosspost.text -%]
-        </li>
-    [%- END -%]
-</ul>
-[%- END -%]
-
-[%- IF links.size > 0 -%]
-<p>[%- "/update.bml.success.links" | ml -%]</p>
-<ul>
-    [%- FOREACH link IN links -%]
-        <li><a href="[% link.url %]">[% link.text %]</a></li>
-    [%- END -%]
-</ul>
-[%- END -%]
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry.tt
--- a/views/entry.tt	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,283 +0,0 @@
-[%# entry.tt
-
-Page to post and edit entries
-
-Authors:
-    Afuna <coder.dw@afunamatata.com>
-
-This program is free software; you may redistribute it and/or modify it under
-the same terms as Perl itself.  For a copy of the license, please reference
-'perldoc perlartistic' or 'perldoc perlgpl'.
-%]
-
-[%- CALL dw.active_resource_group( "jquery" ) -%]
-
-[% dw.need_res(
-    "stc/postform.css",
-    "stc/postform-resize.css"
-) %]
-
-[% dw.need_res( { group => "jquery" },
-    # jquery ui
-    "js/jquery/jquery.ui.core.js"
-    "js/jquery/jquery.ui.widget.js"
-
-    "js/jquery/jquery.ui.datepicker.js"
-    "js/jquery/jquery.ui.dialog.js"
-
-    "stc/jquery/jquery.ui.core.css"
-    "stc/jquery/jquery.ui.datepicker.css"
-    "stc/jquery/jquery.ui.dialog.css"
-
-
-    # jquery utility plugins
-    #"js/jquery.ultrafocus.js"
-    "js/jquery.radioreveal.js"
-
-    # icons
-    "js/jquery.iconrandom.js"
-
-    # tags
-    "js/jquery.vertigro.js"
-    "js/jquery.tagselector.js"
-    "js/jquery/jquery.ui.autocomplete.js"
-    "js/jquery.autocompletewithunknown.js"
-    "stc/jquery.tagselector.css"
-    "stc/jquery/jquery.ui.autocomplete.css"
-    "stc/jquery.autocompletewithunknown.css"
-
-    # crosspost
-    "js/md5.js"
-    "js/jquery.crosspost.js"
-
-    # page-specific
-    "js/jquery.postform.js"
-) %]
-
-[% IF remote && remote.can_use_userpic_select;
-dw.need_res( { group => "jquery" },
-    "js/jquery.iconselector.js"
-    "stc/jquery.iconselector.css"
-); END %]
-
-[% sections.title = '.title' | ml %]
-[% sections.contentopts = '' %]
-
-[% sections.head = BLOCK %]
-<meta name="viewport" content="width=device-width" />
-
-[% IF show_unimplemented %]
-<style type="text/css">
-.unimplemented {
-  outline: 2px orange solid;
-  opacity: 0.6;
-}
-</style>
-[% ELSE %]
-<style type="text/css">
-.unimplemented {
-    opacity: 0.2;
-    display: none;
-}
-.unimplemented:hover {
-    opacity: 1;
-}
-</style>
-[% END %]
-
-[%- chalresp_js -%]
-
-<script type="text/javascript">
-var postFormInitData = new Object();
-postFormInitData.icons = [
-    [%- FOREACH icon = icons %]
-        { 'src': '[% icon.userpic.url %]', 'alt': [% icon.userpic.description | js %] }
-        [%- UNLESS loop.last %],[% END -%]
-    [% END %]
-];
-
-postFormInitData.moodpics = {
-    [%- FOREACH mood = moodtheme.pics.pairs %]
-        [% mood.key | js %] : [ [% mood.value.name | js %], [% mood.value.pic | js %], [% mood.value.width | js %], [% mood.value.height | js %] ]
-        [%- UNLESS loop.last %],[% END -%]
-    [% END %]
-};
-
-postFormInitData.panels = {
-    "show" : {
-        [%- FOREACH panel = panels.show.pairs -%]
-            [%- panel.key | js -%] : [%- panel.value ? "true" : "false" -%]
-            [%- UNLESS loop.last %],[% END -%]
-        [%- END -%]
-    }
-};
-
-postFormInitData.minAnimation = [% min_animation ? "true" : "false" %];
-</script>
-[% END %]
-
-<div class="message-box ui-state-highlight">[% ".beta.on" | ml( aopts = "href='$site.root/betafeatures'", user = betacommunity.ljuser_display ) %]</div>
-
-[%- IF warnings.size > 0 -%]
-    [%- FOREACH warning IN warnings -%]
-        <div class="message-box [% warning.type %]-box">[%- warning.message -%]</div>
-    [%- END -%]
-[%- END -%]
-
-[% IF error_list %]
-<div class='error-box message-box'>
-<div class='title'>[% '.error.header' | ml %]</div>
-<ul class='error-list'>
-    [% FOREACH error = error_list %]
-        <li>[% error %] </li>
-    [% END %]
-</ul>
-</div>
-[% END %]
-
-[%- IF spellcheck.did_spellcheck -%]
-    <h2>[% 'entryform.spellchecked' | ml %]</h2>
-    [%-
-    IF spellcheck.results;
-         spellcheck.results;
-    ELSE;
-        'entryform.spellcheck.noerrors' | ml;
-    END -%]
-
-    [%# indicate where the spellcheck bit ends, and the entry form begins #%]
-    <h2>[% 'entryform.form' | ml %]</h2>
-[%- END -%]
-
-<form method="POST" id="post_entry" action="" class="
-        [%- formwidth == "narrow" ? "entry-partial-width" : "entry-full-width" -%]">
-    <input type="hidden" id="nojs" value="1" name="nojs" />
-
-    [% IF login_chal %]
-        <input type="hidden" id="login_chal" name="chal" value="[%login_chal%]" />
-        <input type="hidden" id="login_response" name="response" value="" />
-    [% END %]
-
-    [%- dw.form_auth -%]
-
-    <div id="primary"><!-- Start main column sub & entry -->
-        <div id="current_entry">
-            <fieldset>
-                <legend></legend>
-
-                <!-- FIXME: TODO
-                <div class="permalink unimplemented">permalink: <span class="url">http://long-username-is-long.dreamwidth.org/12345.html</span></div>
-                -->
-
-                <!-- TODO make this only take up one tab area? -->
-                <div class="toolbar">
-                    <div id="main-tools" class='subtoolbar'>
-                        <a href="[%site.root%]/poll/create">Create Poll</a>
-                        [%- preview_label = 'talk.btn.preview' | ml;
-                            form.submit( value = preview_label
-                                         name = "action:preview"
-                                         id = "preview_button" )
-                        %]
-
-                        [%- IF can_spellcheck;
-                            spellcheck_label = 'entryform.spellcheck' | ml;
-                            form.submit( value = spellcheck_label
-                                         name = "action:spellcheck"
-                                         id = "spellcheck_button" );
-                        END -%]
-
-                        <a href="#" class="unimplemented"><img src="[% site.imgroot%]/silk/site/help.png" alt="Help for valid HTML tags" title="Help for valid HTML tags" width="16" height="16"></a>
-                        <a href="[%site.root%]/entry/options" id="post_options"><img src="[% site.imgroot%]/silk/site/cog.png" alt="Edit entry form settings" title="Edit entry form settings" width="16" height="16"></a>
-                    </div>
-
-                    <div id="settings-tools" class='subtoolbar' aria-live="polite">
-                    <!-- TODO:
-                    autoformat
-                    supported html...
-                    -->
-                    </div>
-
-                    <div id="plaintext-tools" class='subtoolbar'>
-                        <!-- TODO: needs to be JS only -->
-                        <input type='button' value='Insert image' class='unimplemented' />
-                        <input type='button' value='Embed media' class='unimplemented' />
-                        <input type="button" value="Use Rich Text Mode" class='unimplemented' />
-                    </div>
-                </div>
-
-                <div class='subject-container'>
-                    [%- placeholder = ".subject.placeholder" | ml;
-                        title = ".subject.label" | ml;
-                        form.textbox( label = title
-                            id = "subject"
-                            name = "subject"
-
-                            maxlength = "255"
-                            size = "50"
-
-                            labelclass = "invisible"
-
-                            placeholder = placeholder
-                            title = title
-                    ) -%]
-                </div>
-
-                <div class='event-container'>
-                    [%- placeholder = ".event.placeholder" | ml -%]
-                    [%- title = ".event.label" | ml -%]
-                    [%- form.textarea( label = title
-                        id = "event"
-                        name = "event"
-
-                        cols = "50"
-                        rows = "20"
-                        wrap = "soft"
-
-                        labelclass = "invisible"
-
-                        placeholder = placeholder
-                        title = title
-                    ) -%]
-                </div>
-            </fieldset>
-        </div>
-
-    </div> <!-- End main column sub & entry -->
-
-    [%- BLOCK column %]
-        [% FOREACH component = components %]
-        <div class='component [% UNLESS panels.show.$component -%] inactive_component [%- END -%]' id='[% component %]_component'>
-        [%- CALL dw.ml_scope( "/entry/${component}.tt" );
-            INCLUDE "entry/${component}.tt";
-            CALL dw.ml_scope( "/entry.tt" )
-         %]
-        </div>
-        [%- END -%]
-    [% END -%]
-
-    <div id="secondary" class='column'> <!-- Start column of components -->
-        [% PROCESS column components = panels.order.shift %]
-    </div> <!-- end second column of components -->
-
-    <div id="tertiary"> <!-- Start components below entry field -->
-        <div class="column">
-            [% PROCESS column components = panels.order.shift %]
-        </div>
-
-        <div class="column tertiary-right">
-            [% PROCESS column components = panels.order.shift %]
-        </div>
-    </div>
-
-    <div class="submit action-bar">
-        <span id="actions">
-            <input type="submit" name="action:post" id="submit_entry" value="Post Entry" />
-        </span>
-
-<!--    TODO:
-        <span class="otheractions unimplemented">
-            <input type='submit' name="action:delete" value='Delete' />
-        </span>
--->
-    </div>
-</form>
-
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry.tt.text
--- a/views/entry.tt.text	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-;; -*- coding: utf-8 -*-
-.beta.on=You are beta-testing the new Create Entries page. If you notice any problems, please report them in [[user]]. To turn off beta testing, visit the <a [[aopts]]>beta features</a> page.
-
-.beta.off=You need to enable beta testing to use the new Create Entries page. <a [[aopts]]>Enable beta testing?</a>.
-
-.error.header=Error
-
-.event.label=Entry
-
-.event.placeholder=Your entry text...
-
-.subject.label=Subject
-
-.subject.placeholder=Subject
-
-.title=Create Entries
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/access.tt
--- a/views/entry/access.tt	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-    <fieldset>
-        <h3>[% ".header" | ml %]</h3>
-        <div class="inner">
-        <div id="security_group">
-            [%- securitylist = [];
-                FOREACH level IN security;
-                    securitylist.push( level.value, level.label );
-                END;
-            -%]
-            [%- label = ".label" | ml;
-            form.select( label = "$label:"
-                name = "security"
-                id = "security"
-
-                class = "select"
-
-                items = securitylist
-            ) -%]
-        </div>
-
-        [% IF customgroups.size > 0 %]
-        <div id="custom_access_groups">
-          <h4>[% ".header.custom" | ml %]</h4>
-          <ul>
-            [% FOREACH group IN customgroups %]
-                <li>[%- form.checkbox( label = group.label
-                            name = "custom_bit"
-                            id = "custom_bit_$group.value"
-
-                            labelclass = "checkboxlabel"
-
-                            value = group.value
-                ) -%]</li>
-            [% END %]
-          </ul>
-        </div>
-        [% END %]
-        </div>
-    </fieldset>
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/access.tt.text
--- a/views/entry/access.tt.text	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-;; -*- coding: utf-8 -*-
-.header=Security Settings
-
-.header.custom=Custom Access Groups
-
-.label=Level
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/age_restriction.tt
--- a/views/entry/age_restriction.tt	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-  <fieldset>
-    <h3>[% ".header" | ml %]</h3>
-  <div class='inner'>
-  <div class="age_level_reason">
-    <p>
-        [%- levelselect = [];
-            FOREACH opt IN [
-                ""              ".option.adultcontent.default"
-                "none"          ".option.adultcontent.none"
-                "discretion"    ".option.adultcontent.discretion"
-                "restricted"    ".option.adultcontent.restricted" ];
-
-                IF loop.count % 2 == 0;
-                    opt = opt | ml;
-                END;
-
-                levelselect.push( opt );
-            END
-        -%]
-        [%- label = ".label.age_restriction" | ml;
-        form.select( label = "$label:"
-            name = "age_restriction"
-            id = "age_restriction"
-
-            class = "select"
-
-            items = levelselect
-        ) -%]
-    </p>
-    <p>
-        [%- label = ".label.age_restriction_reason" | ml;
-        form.textbox( label = "$label:"
-            name = "age_restriction_reason"
-            id = "age_restriction_reason"
-
-            size = "30"
-            maxlength = "255"
-        ) -%]
-    </p>
-  </div>
-  </div>
-  </fieldset>
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/age_restriction.tt.text
--- a/views/entry/age_restriction.tt.text	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-;; -*- coding: utf-8 -*-
-.header=Age Restriction
-
-.label.age_restriction=Level
-
-.label.age_restriction_reason=Reason
-
-.option.adultcontent.default=Journal Default
-
-.option.adultcontent.discretion=Viewer Discretion Advised
-
-.option.adultcontent.none=No Age Restriction
-
-.option.adultcontent.restricted=Age 18+
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/comments-new.tt
--- a/views/entry/comments-new.tt	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-  <fieldset class="comments_settings">
-    <h3>Comment Settings</h3>
-  <div class='inner'>
-  <p>
-    <label class='unimplemented' for="comment_email">Email Comments:</label>
-    <select class='unimplemented select' name="comment_email" id="comment_email" class="select">
-      <option value="" selected="selected">Journal Default</option>
-      <option value="yes">Yes</option>
-      <option value="no">No</option>
-    </select>
-  </p>
-  <p>
-    <!-- TODO: also tweak "Enable comments" under the privacy tab: remove no one, rename to "Commenting Security" -->
-    <label class='unimplemented' for="comment_permissions">Allow from:</label>
-    <select class='unimplemented select' name="comment_permissions" id="comment_permissions" class="select">
-      <option value="" selected="selected">Journal Default</option>
-      <option value="anyone">Anyone</option>
-      <option value="registered">Registered Users</option>
-      <option value="access">Access List Only</option>
-    </select>
-  </p>
-  <p>
-    <label class='unimplemented' for="comment_enabled">Commenting is:</label>
-    <select class='unimplemented select' name="comment_enabled" id="comment_enabled" class="select">
-      <option value="" selected="selected">Journal Default</option>
-      <option value="enabled">Enabled</option>
-      <option value="closed">Closed</option>
-      <option value="hidden">Hidden</option>
-    </select>
-  </p>
-  <p>
-    <label class='unimplemented' for="comment_screening">Screen from:</label>
-    <select class='unimplemented select' name="comment_screening" id="comment_screening" class="select">
-      <option value="" selected="selected">Journal Default</option>
-      <option value="none">No Screening</option>
-      <option value="anonymous">Anonymous Only</option>
-      <option value="nonaccess">Non-Access List</option>
-      <option value="all">All Comments</option>
-    </select>
-  </p>
-  </div>
-  </fieldset>
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/comments.tt
--- a/views/entry/comments.tt	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-[%# old implementation for comments just to show people where things are
-; will be phased out for new implementation %]
-  <fieldset class="comments_settings">
-    <h3>[% ".header" | ml %]</h3>
-  <div class='inner'>
-  <p>
-    [%- form.select( label = "Comments:"
-        name = "comment_settings"
-        id = "comment_settings"
-
-        class ="select"
-
-        items = [
-            ""              "Journal Default"
-            "nocomments"    "Disabled"
-            "noemail"       "Don't Email"
-        ]
-    ) -%]
-  </p>
-  <p>
-    [%- form.select( label = "Screening:"
-        name = "opt_screening"
-        id = "opt_screening"
-
-        class = "select"
-
-        items = [
-            ""      "Journal Default"
-            "N"     "Disabled"
-            "R"     "Anonymous Only"
-            "F"     "Non-access List"
-            "A"     "All Comments"
-        ]
-    ) -%]
-  </p>
-  </div>
-  </fieldset>
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/comments.tt.text
--- a/views/entry/comments.tt.text	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-.header=Comment Settings
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/crosspost.tt
--- a/views/entry/crosspost.tt	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-[% IF remote %]
-  <fieldset>
-    <h3>[% ".header" | ml %]</h3>
-    <div class="inner">
-
-    <span class="crosspost-settings">
-        <a href="[% crosspost_url %]">[% ".settings.link" | ml %]</a>
-    </span>
-
-    [% IF crosspostlist.size > 0 %]
-
-        [%- crosspost_entry_label = ".label.crosspost_entry" | ml;
-        form.checkbox( label = crosspost_entry_label
-            name ="crosspost_entry"
-            id = "crosspost_entry"
-
-            labelclass = "checkboxlabel"
-
-            value = 1
-            default = crosspost_entry
-        ) -%]
-
-        <h4>[% ".header.accounts" | ml %]</h4>
-        <input type="text" name="autocompletefix" value="chrome autocomplete fix; ignore" style="display: none"/>
-        <ul id="crosspost_accounts">
-            [% crosspost_password_label = ".label.password" | ml %]
-
-            [% FOREACH account IN crosspostlist %]
-                <li>
-                [%- form.checkbox( label = account.name
-                    name = "crosspost"
-                    id = "crosspost_$account.id"
-
-                    labelclass = "checkboxlabel"
-
-                    value = account.id
-                    default = account.selected
-                ) -%]
-
-                [% IF account.need_password %]
-                    <div class="crosspost_password_container" id="crosspost_password_container_[% account.id %]">
-                    [%- form.password( label = "$crosspost_password_label:"
-                            name = "crosspost_password_$account.id"
-                            id = "crosspost_password_$account.id"
-
-                            class = "crosspost_password"
-                            labelclass="checkboxlabel"
-                    ) -%]
-
-                        <div class="crosspost_password_status" aria-live="imperative"></div>
-                        [%# we don't want these to be carried over between posts %]
-                        <input type="hidden" name="crosspost_chal_[%account.id%]" id="crosspost_chal_[%account.id%]" class="crosspost_chal" />
-                        <input type="hidden" name="crosspost_resp_[%account.id%]" id="crosspost_resp_[%account.id%]" class="crosspost_resp" />
-                    </div>
-                [% END %]
-                </li>
-              [% END %]
-        </ul>
-      [% END %]
-      </div>
-    </fieldset>
-[% END %]
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/crosspost.tt.text
--- a/views/entry/crosspost.tt.text	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-;; -*- coding: utf-8 -*-
-.header=Crosspost
-
-.header.accounts=Crosspost Accounts
-
-.label.crosspost_entry=Crosspost this entry
-
-.label.password=Password
-
-.settings.link=go to settings
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/currents.tt
--- a/views/entry/currents.tt	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-  <fieldset>
-    <h3>[% ".header" | ml %]</h3>
-    <div class='inner'>
-      <p>
-        [%- moodselect = [];
-            FOREACH mood IN moods;
-                moodselect.push( mood.id, mood.name );
-            END
-        -%]
-        [%- label = ".label.current_mood" | ml;
-        form.select( label = "$label:"
-            name = "current_mood"
-            id = "current_mood"
-
-            class = "select"
-
-            items = moodselect
-        ) -%]
-      </p>
-      <p>
-        [%- label = ".label.current_mood_other" | ml;
-        form.textbox( label = "$label:"
-            name = "current_mood_other"
-            id = "current_mood_other"
-
-            size = "20"
-            maxlength = "30"
-         ) %]
-      </p>
-      <p>
-        [%- label = ".label.current_music" | ml;
-        form.textbox( label = "$label:"
-            name = "current_music"
-            id = "current_music"
-
-            size="20"
-            maxlength="80"
-        ) %]
-      </p>
-      <p>
-        [%- label = ".label.current_location" | ml;
-        form.textbox( label = "$label:"
-            name = "current_location"
-            id = "current_location"
-
-            size = "20"
-            maxlength = "60"
-        ) %]
-      </p>
-    </div>
-  </fieldset>
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/currents.tt.text
--- a/views/entry/currents.tt.text	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-;; -*- coding: utf-8 -*-
-.header=Currents
-
-.label.current_location=Location
-
-.label.current_mood=Mood
-
-.label.current_mood_other=Custom Mood
-
-.label.current_music=Music
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/displaydate.tt
--- a/views/entry/displaydate.tt	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-
-  <fieldset>
-    <h3>[% ".header" | ml %]</h3>
-    <div class='inner'>
-      <div class='time_container' id="entrytime_container">
-        [%- form.hidden(
-            name  = "trust_datetime"
-            id    = "trust_datetime"
-            value = displaydate.trust_initial   # FIXME: do this in the controller, rather than here?
-        ) -%]
-
-        [%- entrytime_title = ".title.entrytime" | ml( example = "$displaydate.year-01-30" );
-        form.textbox(
-            name = "entrytime"
-            id = "entrytime"
-
-            maxlength = "10"
-            size = "10"
-
-            title = entrytime_title
-            default = "$displaydate.year-$displaydate.month-$displaydate.day"
-        ) -%]
-
-        [%- entrytime_title = ".title.entrytime_hr" | ml;
-        form.textbox(
-            name = "entrytime_hr"
-            id = "entrytime_hr"
-
-            maxlength = "2"
-            size = "2"
-            class = "time_hr"
-
-            title = entrytime_title
-            default = displaydate.hour
-        ) ~%]
-        :
-        [%- entrytime_title = ".title.entrytime_min" | ml;
-        form.textbox(
-            name = "entrytime_min"
-            id = "entrytime_min"
-
-            maxlength = "2"
-            size = "2"
-            class = "time_min"
-
-            title = entrytime_title
-            default = displaydate.minute
-        ) -%]
-
-        [% # update year so it doesn't look dated
-           # keep the month/hours, etc static because the example was chosen to avoid ambiguity %]
-        <div class="dateformat">(e.g. [% displaydate.year %]-01-30 23:59)</div>
-      </div>
-
-      <div class="displaydate_options">
-        <p>
-        [%- autoupdate_label = ".label.autoupdate" | ml;
-        form.checkbox( label = autoupdate_label
-            name ="update_displaydate"
-            id = "entrytime_auto_update"
-
-            labelclass = "radiolabel"
-
-            value = "1"
-        ) -%]
-        </p>
-        <p>
-        [%- stickyentry_label = ".label.sticky" | ml;
-        form.checkbox( label = stickyentry_label
-            name ="sticky_entry"
-            id = "sticky_entry"
-
-            class = "unimplemented"
-            labelclass = "unimplemented radiolabel"
-
-            value = "1"
-        ) -%]
-        </p>
-        <p>
-        [%- dateoutoforder_label = ".label.dateoutoforder" | ml;
-        form.checkbox( label = dateoutoforder_label
-            name ="entrytime_outoforder"
-            id = "entrytime_outoforder"
-
-            labelclass = "radiolabel"
-
-            value = "1"
-        ) -%]
-        </p>
-      </div>
-
-    </div>
-  </fieldset>
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/displaydate.tt.text
--- a/views/entry/displaydate.tt.text	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-;; -*- coding: utf-8 -*-
-.header=Display Date
-
-.label.autoupdate=Use the time when entry is posted
-
-.label.dateoutoforder=Don't show on Reading Pages (allows dating out of order)
-
-.label.sticky=Make sticky (future option?)
-
-.title.entrytime=displayed entry date; example [[example]]
-
-.title.entrytime_hr=hours; 24-hour time
-
-.title.entrytime_min=minutes
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/form.tt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/form.tt	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,283 @@
+[%# entry.tt
+
+Page to post and edit entries
+
+Authors:
+    Afuna <coder.dw@afunamatata.com>
+
+This program is free software; you may redistribute it and/or modify it under
+the same terms as Perl itself.  For a copy of the license, please reference
+'perldoc perlartistic' or 'perldoc perlgpl'.
+%]
+
+[%- CALL dw.active_resource_group( "jquery" ) -%]
+
+[% dw.need_res(
+    "stc/postform.css",
+    "stc/postform-resize.css"
+) %]
+
+[% dw.need_res( { group => "jquery" },
+    # jquery ui
+    "js/jquery/jquery.ui.core.js"
+    "js/jquery/jquery.ui.widget.js"
+
+    "js/jquery/jquery.ui.datepicker.js"
+    "js/jquery/jquery.ui.dialog.js"
+
+    "stc/jquery/jquery.ui.core.css"
+    "stc/jquery/jquery.ui.datepicker.css"
+    "stc/jquery/jquery.ui.dialog.css"
+
+
+    # jquery utility plugins
+    #"js/jquery.ultrafocus.js"
+    "js/jquery.radioreveal.js"
+
+    # icons
+    "js/jquery.iconrandom.js"
+
+    # tags
+    "js/jquery.vertigro.js"
+    "js/jquery.tagselector.js"
+    "js/jquery/jquery.ui.autocomplete.js"
+    "js/jquery.autocompletewithunknown.js"
+    "stc/jquery.tagselector.css"
+    "stc/jquery/jquery.ui.autocomplete.css"
+    "stc/jquery.autocompletewithunknown.css"
+
+    # crosspost
+    "js/md5.js"
+    "js/jquery.crosspost.js"
+
+    # page-specific
+    "js/jquery.postform.js"
+) %]
+
+[% IF remote && remote.can_use_userpic_select;
+dw.need_res( { group => "jquery" },
+    "js/jquery.iconselector.js"
+    "stc/jquery.iconselector.css"
+); END %]
+
+[% sections.title = '.title' | ml %]
+[% sections.contentopts = '' %]
+
+[% sections.head = BLOCK %]
+<meta name="viewport" content="width=device-width" />
+
+[% IF show_unimplemented %]
+<style type="text/css">
+.unimplemented {
+  outline: 2px orange solid;
+  opacity: 0.6;
+}
+</style>
+[% ELSE %]
+<style type="text/css">
+.unimplemented {
+    opacity: 0.2;
+    display: none;
+}
+.unimplemented:hover {
+    opacity: 1;
+}
+</style>
+[% END %]
+
+[%- chalresp_js -%]
+
+<script type="text/javascript">
+var postFormInitData = new Object();
+postFormInitData.icons = [
+    [%- FOREACH icon = icons %]
+        { 'src': '[% icon.userpic.url %]', 'alt': [% icon.userpic.description | js %] }
+        [%- UNLESS loop.last %],[% END -%]
+    [% END %]
+];
+
+postFormInitData.moodpics = {
+    [%- FOREACH mood = moodtheme.pics.pairs %]
+        [% mood.key | js %] : [ [% mood.value.name | js %], [% mood.value.pic | js %], [% mood.value.width | js %], [% mood.value.height | js %] ]
+        [%- UNLESS loop.last %],[% END -%]
+    [% END %]
+};
+
+postFormInitData.panels = {
+    "show" : {
+        [%- FOREACH panel = panels.show.pairs -%]
+            [%- panel.key | js -%] : [%- panel.value ? "true" : "false" -%]
+            [%- UNLESS loop.last %],[% END -%]
+        [%- END -%]
+    }
+};
+
+postFormInitData.minAnimation = [% min_animation ? "true" : "false" %];
+</script>
+[% END %]
+
+<div class="message-box ui-state-highlight">[% ".beta.on" | ml( aopts = "href='$site.root/betafeatures'", user = betacommunity.ljuser_display ) %]</div>
+
+[%- IF warnings.size > 0 -%]
+    [%- FOREACH warning IN warnings -%]
+        <div class="message-box [% warning.type %]-box">[%- warning.message -%]</div>
+    [%- END -%]
+[%- END -%]
+
+[% IF error_list %]
+<div class='error-box message-box'>
+<div class='title'>[% '.error.header' | ml %]</div>
+<ul class='error-list'>
+    [% FOREACH error = error_list %]
+        <li>[% error %] </li>
+    [% END %]
+</ul>
+</div>
+[% END %]
+
+[%- IF spellcheck.did_spellcheck -%]
+    <h2>[% 'entryform.spellchecked' | ml %]</h2>
+    [%-
+    IF spellcheck.results;
+         spellcheck.results;
+    ELSE;
+        'entryform.spellcheck.noerrors' | ml;
+    END -%]
+
+    [%# indicate where the spellcheck bit ends, and the entry form begins #%]
+    <h2>[% 'entryform.form' | ml %]</h2>
+[%- END -%]
+
+<form method="POST" id="post_entry" action="" class="
+        [%- formwidth == "narrow" ? "entry-partial-width" : "entry-full-width" -%]">
+    <input type="hidden" id="nojs" value="1" name="nojs" />
+
+    [% IF login_chal %]
+        <input type="hidden" id="login_chal" name="chal" value="[%login_chal%]" />
+        <input type="hidden" id="login_response" name="response" value="" />
+    [% END %]
+
+    [%- dw.form_auth -%]
+
+    <div id="primary"><!-- Start main column sub & entry -->
+        <div id="current_entry">
+            <fieldset>
+                <legend></legend>
+
+                <!-- FIXME: TODO
+                <div class="permalink unimplemented">permalink: <span class="url">http://long-username-is-long.dreamwidth.org/12345.html</span></div>
+                -->
+
+                <!-- TODO make this only take up one tab area? -->
+                <div class="toolbar">
+                    <div id="main-tools" class='subtoolbar'>
+                        <a href="[%site.root%]/poll/create">Create Poll</a>
+                        [%- preview_label = 'talk.btn.preview' | ml;
+                            form.submit( value = preview_label
+                                         name = "action:preview"
+                                         id = "preview_button" )
+                        %]
+
+                        [%- IF can_spellcheck;
+                            spellcheck_label = 'entryform.spellcheck' | ml;
+                            form.submit( value = spellcheck_label
+                                         name = "action:spellcheck"
+                                         id = "spellcheck_button" );
+                        END -%]
+
+                        <a href="#" class="unimplemented"><img src="[% site.imgroot%]/silk/site/help.png" alt="Help for valid HTML tags" title="Help for valid HTML tags" width="16" height="16"></a>
+                        <a href="[%site.root%]/entry/options" id="post_options"><img src="[% site.imgroot%]/silk/site/cog.png" alt="Edit entry form settings" title="Edit entry form settings" width="16" height="16"></a>
+                    </div>
+
+                    <div id="settings-tools" class='subtoolbar' aria-live="polite">
+                    <!-- TODO:
+                    autoformat
+                    supported html...
+                    -->
+                    </div>
+
+                    <div id="plaintext-tools" class='subtoolbar'>
+                        <!-- TODO: needs to be JS only -->
+                        <input type='button' value='Insert image' class='unimplemented' />
+                        <input type='button' value='Embed media' class='unimplemented' />
+                        <input type="button" value="Use Rich Text Mode" class='unimplemented' />
+                    </div>
+                </div>
+
+                <div class='subject-container'>
+                    [%- placeholder = ".subject.placeholder" | ml;
+                        title = ".subject.label" | ml;
+                        form.textbox( label = title
+                            id = "subject"
+                            name = "subject"
+
+                            maxlength = "255"
+                            size = "50"
+
+                            labelclass = "invisible"
+
+                            placeholder = placeholder
+                            title = title
+                    ) -%]
+                </div>
+
+                <div class='event-container'>
+                    [%- placeholder = ".event.placeholder" | ml -%]
+                    [%- title = ".event.label" | ml -%]
+                    [%- form.textarea( label = title
+                        id = "event"
+                        name = "event"
+
+                        cols = "50"
+                        rows = "20"
+                        wrap = "soft"
+
+                        labelclass = "invisible"
+
+                        placeholder = placeholder
+                        title = title
+                    ) -%]
+                </div>
+            </fieldset>
+        </div>
+
+    </div> <!-- End main column sub & entry -->
+
+    [%- BLOCK column %]
+        [% FOREACH component = components %]
+        <div class='component [% UNLESS panels.show.$component -%] inactive_component [%- END -%]' id='[% component %]_component'>
+        [%- CALL dw.ml_scope( "/entry/module-${component}.tt" );
+            INCLUDE "entry/module-${component}.tt";
+            CALL dw.ml_scope( "/entry/form.tt" )
+         %]
+        </div>
+        [%- END -%]
+    [% END -%]
+
+    <div id="secondary" class='column'> <!-- Start column of components -->
+        [% PROCESS column components = panels.order.shift %]
+    </div> <!-- end second column of components -->
+
+    <div id="tertiary"> <!-- Start components below entry field -->
+        <div class="column">
+            [% PROCESS column components = panels.order.shift %]
+        </div>
+
+        <div class="column tertiary-right">
+            [% PROCESS column components = panels.order.shift %]
+        </div>
+    </div>
+
+    <div class="submit action-bar">
+        <span id="actions">
+            <input type="submit" name="action:post" id="submit_entry" value="Post Entry" />
+        </span>
+
+<!--    TODO:
+        <span class="otheractions unimplemented">
+            <input type='submit' name="action:delete" value='Delete' />
+        </span>
+-->
+    </div>
+</form>
+
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/form.tt.text
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/form.tt.text	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,16 @@
+;; -*- coding: utf-8 -*-
+.beta.on=You are beta-testing the new Create Entries page. If you notice any problems, please report them in [[user]]. To turn off beta testing, visit the <a [[aopts]]>beta features</a> page.
+
+.beta.off=You need to enable beta testing to use the new Create Entries page. <a [[aopts]]>Enable beta testing?</a>.
+
+.error.header=Error
+
+.event.label=Entry
+
+.event.placeholder=Your entry text...
+
+.subject.label=Subject
+
+.subject.placeholder=Subject
+
+.title=Create Entries
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/icons.tt
--- a/views/entry/icons.tt	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-[% IF remote %]
-<fieldset>
-  <h3>[% ".header" | ml %]</h3>
-
-  <div class='inner'>
-    <div id='icon_preview'>
-      <div class="icon [% IF icons.size==0 %] noicon [% END %]">
-        [% IF icons.size > 0 %]
-            [% IF defaulticon %]
-                <img id="icon_preview_image" src="[% defaulticon.url | url %]" alt="[% defaulticon.description | html %]" />
-            [% END %]
-        [% ELSE %]
-            <a href='[% site.root %]/editicons'>[% 'entryform.userpic.upload' | ml %]</a>
-        [% END %]
-        </div>
-    </div>
-
-    [%- IF icons.size > 0 -%]
-        [%- iconselect = [] -%]
-        [%- FOREACH icon IN icons -%]
-            [%- IF icon.keyword.defined -%]
-                [%- iconselect.push( icon.keyword, icon.keyword ) -%]
-            [%- ELSE -%]
-                [%- defaulttext = ".keyword.default" | ml -%]
-                [%- iconselect.push( "", defaulttext ) -%]
-            [% END %]
-        [% END %]
-
-        [%- form.select(
-            name = "icon"
-            id = "iconselect"
-
-            class = "select"
-
-            items = iconselect
-        ) -%]
-    [% END %]
-  </div>
-</fieldset>
-[% END %]
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/icons.tt.text
--- a/views/entry/icons.tt.text	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-;; -*- coding: utf-8 -*-
-.header=Icon
-
-.keyword.default=(default)
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/journal.tt
--- a/views/entry/journal.tt	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
- <fieldset>
-   <h3>[% ".header" | ml %]</h3>
-   <div class="inner">
-
-   <div id="post_as">
-   [% IF remote %]
-    <fieldset>
-    <legend><span>[% ".label.post_as" | ml %]:</span></legend>
-        [%-
-        form.radio( label = remote.user
-            name = "post_as"
-            id = "post_as_remote"
-
-            labelclass = "radiolabel"
-
-            value = "remote"
-            default = ( post_as == "remote" )
-        ) -%]
-        [%- post_as_other_label = ".label.post_as_other" | ml;
-        form.radio( label = post_as_other_label
-            name = "post_as"
-            id = "post_as_other"
-
-            labelclass = "radiolabel"
-
-            value = "other"
-            default = ( post_as == "other" )
-        ) -%]
-    </fieldset>
-   [% ELSE %]
-        [%- form.hidden(
-            name = "post_as"
-            id = "post_as_other"
-
-            value = "other"
-        ) -%]
-   [% END %]
-   </div>
-
-   [% IF remote %]
-   <div id="post_to"  class="posting_settings">
-       <label for="usejournal">[%- ".label.post_to" | ml %]:</label>
-        [%- IF journallist.size > 1 %]
-            [%-
-                journalselect = [];
-                FOREACH journal IN journallist;
-                    IF journal.equals( remote );
-                        journalselect.push( "", journal.user );
-                    ELSE;
-                        journalselect.push( journal.user, journal.user );
-                    END;
-                END
-            -%]
-
-            [% form.select(
-                name = "usejournal"
-                id = "usejournal"
-
-                class = "select"
-
-                items = journalselect
-            ) -%]
-        [% ELSE %]
-            [% journallist.first.ljuser_display%]</span>
-            [% form.hidden( name = "usejournal", id = "usejournal", value = journallist.first.user ) %]
-        [% END %]
-   </div>
-   [% END %]
-
-   <fieldset id="post_login" class="posting_settings">
-    <legend>[% ".header.post_as" | ml %]</legend>
-       <ul>
-       <li>
-        [%- postas_username_label = ".label.post_as_username" | ml;
-        form.textbox( label = "$postas_username_label:"
-            name = "username"
-            id = "post_username"
-        ) -%]
-       </li>
-       <li>
-        [%- postas_password_label = ".label.post_as_password" | ml;
-        form.password( label = "$postas_password_label:"
-            name = "password"
-            id = "password"
-        ) -%]
-       </li>
-       <li>
-            <label for="postas_usejournal">[% ".label.post_to" | ml %]:</label>
-            [% IF usejournal %]
-                [% usejournal.ljuser_display %]
-            [% ELSE %]
-                [% form.textbox( name = "postas_usejournal", id = "postas_usejournal" ) %]
-            [% END %]
-       </li>
-       </ul>
-   </fieldset>
-
-   </div>
- </fieldset>
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/journal.tt.text
--- a/views/entry/journal.tt.text	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-;; -*- coding: utf-8 -*-
-.header=Journal
-
-.header.post_as=Posting as User
-
-.label.post_as=Post as
-
-.label.post_as_other=another user
-
-.label.post_as_password=Password
-
-.label.post_as_username=Username
-
-.label.post_to= Post to
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/module-access.tt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/module-access.tt	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,39 @@
+    <fieldset>
+        <h3>[% ".header" | ml %]</h3>
+        <div class="inner">
+        <div id="security_group">
+            [%- securitylist = [];
+                FOREACH level IN security;
+                    securitylist.push( level.value, level.label );
+                END;
+            -%]
+            [%- label = ".label" | ml;
+            form.select( label = "$label:"
+                name = "security"
+                id = "security"
+
+                class = "select"
+
+                items = securitylist
+            ) -%]
+        </div>
+
+        [% IF customgroups.size > 0 %]
+        <div id="custom_access_groups">
+          <h4>[% ".header.custom" | ml %]</h4>
+          <ul>
+            [% FOREACH group IN customgroups %]
+                <li>[%- form.checkbox( label = group.label
+                            name = "custom_bit"
+                            id = "custom_bit_$group.value"
+
+                            labelclass = "checkboxlabel"
+
+                            value = group.value
+                ) -%]</li>
+            [% END %]
+          </ul>
+        </div>
+        [% END %]
+        </div>
+    </fieldset>
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/module-access.tt.text
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/module-access.tt.text	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,6 @@
+;; -*- coding: utf-8 -*-
+.header=Security Settings
+
+.header.custom=Custom Access Groups
+
+.label=Level
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/module-age_restriction.tt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/module-age_restriction.tt	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,42 @@
+  <fieldset>
+    <h3>[% ".header" | ml %]</h3>
+  <div class='inner'>
+  <div class="age_level_reason">
+    <p>
+        [%- levelselect = [];
+            FOREACH opt IN [
+                ""              ".option.adultcontent.default"
+                "none"          ".option.adultcontent.none"
+                "discretion"    ".option.adultcontent.discretion"
+                "restricted"    ".option.adultcontent.restricted" ];
+
+                IF loop.count % 2 == 0;
+                    opt = opt | ml;
+                END;
+
+                levelselect.push( opt );
+            END
+        -%]
+        [%- label = ".label.age_restriction" | ml;
+        form.select( label = "$label:"
+            name = "age_restriction"
+            id = "age_restriction"
+
+            class = "select"
+
+            items = levelselect
+        ) -%]
+    </p>
+    <p>
+        [%- label = ".label.age_restriction_reason" | ml;
+        form.textbox( label = "$label:"
+            name = "age_restriction_reason"
+            id = "age_restriction_reason"
+
+            size = "30"
+            maxlength = "255"
+        ) -%]
+    </p>
+  </div>
+  </div>
+  </fieldset>
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/module-age_restriction.tt.text
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/module-age_restriction.tt.text	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,14 @@
+;; -*- coding: utf-8 -*-
+.header=Age Restriction
+
+.label.age_restriction=Level
+
+.label.age_restriction_reason=Reason
+
+.option.adultcontent.default=Journal Default
+
+.option.adultcontent.discretion=Viewer Discretion Advised
+
+.option.adultcontent.none=No Age Restriction
+
+.option.adultcontent.restricted=Age 18+
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/module-comments-new.tt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/module-comments-new.tt	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,42 @@
+  <fieldset class="comments_settings">
+    <h3>Comment Settings</h3>
+  <div class='inner'>
+  <p>
+    <label class='unimplemented' for="comment_email">Email Comments:</label>
+    <select class='unimplemented select' name="comment_email" id="comment_email" class="select">
+      <option value="" selected="selected">Journal Default</option>
+      <option value="yes">Yes</option>
+      <option value="no">No</option>
+    </select>
+  </p>
+  <p>
+    <!-- TODO: also tweak "Enable comments" under the privacy tab: remove no one, rename to "Commenting Security" -->
+    <label class='unimplemented' for="comment_permissions">Allow from:</label>
+    <select class='unimplemented select' name="comment_permissions" id="comment_permissions" class="select">
+      <option value="" selected="selected">Journal Default</option>
+      <option value="anyone">Anyone</option>
+      <option value="registered">Registered Users</option>
+      <option value="access">Access List Only</option>
+    </select>
+  </p>
+  <p>
+    <label class='unimplemented' for="comment_enabled">Commenting is:</label>
+    <select class='unimplemented select' name="comment_enabled" id="comment_enabled" class="select">
+      <option value="" selected="selected">Journal Default</option>
+      <option value="enabled">Enabled</option>
+      <option value="closed">Closed</option>
+      <option value="hidden">Hidden</option>
+    </select>
+  </p>
+  <p>
+    <label class='unimplemented' for="comment_screening">Screen from:</label>
+    <select class='unimplemented select' name="comment_screening" id="comment_screening" class="select">
+      <option value="" selected="selected">Journal Default</option>
+      <option value="none">No Screening</option>
+      <option value="anonymous">Anonymous Only</option>
+      <option value="nonaccess">Non-Access List</option>
+      <option value="all">All Comments</option>
+    </select>
+  </p>
+  </div>
+  </fieldset>
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/module-comments.tt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/module-comments.tt	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,37 @@
+[%# old implementation for comments just to show people where things are
+; will be phased out for new implementation %]
+  <fieldset class="comments_settings">
+    <h3>[% ".header" | ml %]</h3>
+  <div class='inner'>
+  <p>
+    [%- form.select( label = "Comments:"
+        name = "comment_settings"
+        id = "comment_settings"
+
+        class ="select"
+
+        items = [
+            ""              "Journal Default"
+            "nocomments"    "Disabled"
+            "noemail"       "Don't Email"
+        ]
+    ) -%]
+  </p>
+  <p>
+    [%- form.select( label = "Screening:"
+        name = "opt_screening"
+        id = "opt_screening"
+
+        class = "select"
+
+        items = [
+            ""      "Journal Default"
+            "N"     "Disabled"
+            "R"     "Anonymous Only"
+            "F"     "Non-access List"
+            "A"     "All Comments"
+        ]
+    ) -%]
+  </p>
+  </div>
+  </fieldset>
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/module-comments.tt.text
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/module-comments.tt.text	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,1 @@
+.header=Comment Settings
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/module-crosspost.tt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/module-crosspost.tt	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,62 @@
+[% IF remote %]
+  <fieldset>
+    <h3>[% ".header" | ml %]</h3>
+    <div class="inner">
+
+    <span class="crosspost-settings">
+        <a href="[% crosspost_url %]">[% ".settings.link" | ml %]</a>
+    </span>
+
+    [% IF crosspostlist.size > 0 %]
+
+        [%- crosspost_entry_label = ".label.crosspost_entry" | ml;
+        form.checkbox( label = crosspost_entry_label
+            name ="crosspost_entry"
+            id = "crosspost_entry"
+
+            labelclass = "checkboxlabel"
+
+            value = 1
+            default = crosspost_entry
+        ) -%]
+
+        <h4>[% ".header.accounts" | ml %]</h4>
+        <input type="text" name="autocompletefix" value="chrome autocomplete fix; ignore" style="display: none"/>
+        <ul id="crosspost_accounts">
+            [% crosspost_password_label = ".label.password" | ml %]
+
+            [% FOREACH account IN crosspostlist %]
+                <li>
+                [%- form.checkbox( label = account.name
+                    name = "crosspost"
+                    id = "crosspost_$account.id"
+
+                    labelclass = "checkboxlabel"
+
+                    value = account.id
+                    default = account.selected
+                ) -%]
+
+                [% IF account.need_password %]
+                    <div class="crosspost_password_container" id="crosspost_password_container_[% account.id %]">
+                    [%- form.password( label = "$crosspost_password_label:"
+                            name = "crosspost_password_$account.id"
+                            id = "crosspost_password_$account.id"
+
+                            class = "crosspost_password"
+                            labelclass="checkboxlabel"
+                    ) -%]
+
+                        <div class="crosspost_password_status" aria-live="imperative"></div>
+                        [%# we don't want these to be carried over between posts %]
+                        <input type="hidden" name="crosspost_chal_[%account.id%]" id="crosspost_chal_[%account.id%]" class="crosspost_chal" />
+                        <input type="hidden" name="crosspost_resp_[%account.id%]" id="crosspost_resp_[%account.id%]" class="crosspost_resp" />
+                    </div>
+                [% END %]
+                </li>
+              [% END %]
+        </ul>
+      [% END %]
+      </div>
+    </fieldset>
+[% END %]
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/module-crosspost.tt.text
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/module-crosspost.tt.text	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,10 @@
+;; -*- coding: utf-8 -*-
+.header=Crosspost
+
+.header.accounts=Crosspost Accounts
+
+.label.crosspost_entry=Crosspost this entry
+
+.label.password=Password
+
+.settings.link=go to settings
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/module-currents.tt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/module-currents.tt	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,51 @@
+  <fieldset>
+    <h3>[% ".header" | ml %]</h3>
+    <div class='inner'>
+      <p>
+        [%- moodselect = [];
+            FOREACH mood IN moods;
+                moodselect.push( mood.id, mood.name );
+            END
+        -%]
+        [%- label = ".label.current_mood" | ml;
+        form.select( label = "$label:"
+            name = "current_mood"
+            id = "current_mood"
+
+            class = "select"
+
+            items = moodselect
+        ) -%]
+      </p>
+      <p>
+        [%- label = ".label.current_mood_other" | ml;
+        form.textbox( label = "$label:"
+            name = "current_mood_other"
+            id = "current_mood_other"
+
+            size = "20"
+            maxlength = "30"
+         ) %]
+      </p>
+      <p>
+        [%- label = ".label.current_music" | ml;
+        form.textbox( label = "$label:"
+            name = "current_music"
+            id = "current_music"
+
+            size="20"
+            maxlength="80"
+        ) %]
+      </p>
+      <p>
+        [%- label = ".label.current_location" | ml;
+        form.textbox( label = "$label:"
+            name = "current_location"
+            id = "current_location"
+
+            size = "20"
+            maxlength = "60"
+        ) %]
+      </p>
+    </div>
+  </fieldset>
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/module-currents.tt.text
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/module-currents.tt.text	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,10 @@
+;; -*- coding: utf-8 -*-
+.header=Currents
+
+.label.current_location=Location
+
+.label.current_mood=Mood
+
+.label.current_mood_other=Custom Mood
+
+.label.current_music=Music
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/module-displaydate.tt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/module-displaydate.tt	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,93 @@
+
+  <fieldset>
+    <h3>[% ".header" | ml %]</h3>
+    <div class='inner'>
+      <div class='time_container' id="entrytime_container">
+        [%- form.hidden(
+            name  = "trust_datetime"
+            id    = "trust_datetime"
+            value = displaydate.trust_initial   # FIXME: do this in the controller, rather than here?
+        ) -%]
+
+        [%- entrytime_title = ".title.entrytime" | ml( example = "$displaydate.year-01-30" );
+        form.textbox(
+            name = "entrytime"
+            id = "entrytime"
+
+            maxlength = "10"
+            size = "10"
+
+            title = entrytime_title
+            default = "$displaydate.year-$displaydate.month-$displaydate.day"
+        ) -%]
+
+        [%- entrytime_title = ".title.entrytime_hr" | ml;
+        form.textbox(
+            name = "entrytime_hr"
+            id = "entrytime_hr"
+
+            maxlength = "2"
+            size = "2"
+            class = "time_hr"
+
+            title = entrytime_title
+            default = displaydate.hour
+        ) ~%]
+        :
+        [%- entrytime_title = ".title.entrytime_min" | ml;
+        form.textbox(
+            name = "entrytime_min"
+            id = "entrytime_min"
+
+            maxlength = "2"
+            size = "2"
+            class = "time_min"
+
+            title = entrytime_title
+            default = displaydate.minute
+        ) -%]
+
+        [% # update year so it doesn't look dated
+           # keep the month/hours, etc static because the example was chosen to avoid ambiguity %]
+        <div class="dateformat">(e.g. [% displaydate.year %]-01-30 23:59)</div>
+      </div>
+
+      <div class="displaydate_options">
+        <p>
+        [%- autoupdate_label = ".label.autoupdate" | ml;
+        form.checkbox( label = autoupdate_label
+            name ="update_displaydate"
+            id = "entrytime_auto_update"
+
+            labelclass = "radiolabel"
+
+            value = "1"
+        ) -%]
+        </p>
+        <p>
+        [%- stickyentry_label = ".label.sticky" | ml;
+        form.checkbox( label = stickyentry_label
+            name ="sticky_entry"
+            id = "sticky_entry"
+
+            class = "unimplemented"
+            labelclass = "unimplemented radiolabel"
+
+            value = "1"
+        ) -%]
+        </p>
+        <p>
+        [%- dateoutoforder_label = ".label.dateoutoforder" | ml;
+        form.checkbox( label = dateoutoforder_label
+            name ="entrytime_outoforder"
+            id = "entrytime_outoforder"
+
+            labelclass = "radiolabel"
+
+            value = "1"
+        ) -%]
+        </p>
+      </div>
+
+    </div>
+  </fieldset>
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/module-displaydate.tt.text
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/module-displaydate.tt.text	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,14 @@
+;; -*- coding: utf-8 -*-
+.header=Display Date
+
+.label.autoupdate=Use the time when entry is posted
+
+.label.dateoutoforder=Don't show on Reading Pages (allows dating out of order)
+
+.label.sticky=Make sticky (future option?)
+
+.title.entrytime=displayed entry date; example [[example]]
+
+.title.entrytime_hr=hours; 24-hour time
+
+.title.entrytime_min=minutes
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/module-icons.tt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/module-icons.tt	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,40 @@
+[% IF remote %]
+<fieldset>
+  <h3>[% ".header" | ml %]</h3>
+
+  <div class='inner'>
+    <div id='icon_preview'>
+      <div class="icon [% IF icons.size==0 %] noicon [% END %]">
+        [% IF icons.size > 0 %]
+            [% IF defaulticon %]
+                <img id="icon_preview_image" src="[% defaulticon.url | url %]" alt="[% defaulticon.description | html %]" />
+            [% END %]
+        [% ELSE %]
+            <a href='[% site.root %]/editicons'>[% 'entryform.userpic.upload' | ml %]</a>
+        [% END %]
+        </div>
+    </div>
+
+    [%- IF icons.size > 0 -%]
+        [%- iconselect = [] -%]
+        [%- FOREACH icon IN icons -%]
+            [%- IF icon.keyword.defined -%]
+                [%- iconselect.push( icon.keyword, icon.keyword ) -%]
+            [%- ELSE -%]
+                [%- defaulttext = ".keyword.default" | ml -%]
+                [%- iconselect.push( "", defaulttext ) -%]
+            [% END %]
+        [% END %]
+
+        [%- form.select(
+            name = "icon"
+            id = "iconselect"
+
+            class = "select"
+
+            items = iconselect
+        ) -%]
+    [% END %]
+  </div>
+</fieldset>
+[% END %]
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/module-icons.tt.text
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/module-icons.tt.text	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,4 @@
+;; -*- coding: utf-8 -*-
+.header=Icon
+
+.keyword.default=(default)
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/module-journal.tt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/module-journal.tt	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,99 @@
+ <fieldset>
+   <h3>[% ".header" | ml %]</h3>
+   <div class="inner">
+
+   <div id="post_as">
+   [% IF remote %]
+    <fieldset>
+    <legend><span>[% ".label.post_as" | ml %]:</span></legend>
+        [%-
+        form.radio( label = remote.user
+            name = "post_as"
+            id = "post_as_remote"
+
+            labelclass = "radiolabel"
+
+            value = "remote"
+            default = ( post_as == "remote" )
+        ) -%]
+        [%- post_as_other_label = ".label.post_as_other" | ml;
+        form.radio( label = post_as_other_label
+            name = "post_as"
+            id = "post_as_other"
+
+            labelclass = "radiolabel"
+
+            value = "other"
+            default = ( post_as == "other" )
+        ) -%]
+    </fieldset>
+   [% ELSE %]
+        [%- form.hidden(
+            name = "post_as"
+            id = "post_as_other"
+
+            value = "other"
+        ) -%]
+   [% END %]
+   </div>
+
+   [% IF remote %]
+   <div id="post_to"  class="posting_settings">
+       <label for="usejournal">[%- ".label.post_to" | ml %]:</label>
+        [%- IF journallist.size > 1 %]
+            [%-
+                journalselect = [];
+                FOREACH journal IN journallist;
+                    IF journal.equals( remote );
+                        journalselect.push( "", journal.user );
+                    ELSE;
+                        journalselect.push( journal.user, journal.user );
+                    END;
+                END
+            -%]
+
+            [% form.select(
+                name = "usejournal"
+                id = "usejournal"
+
+                class = "select"
+
+                items = journalselect
+            ) -%]
+        [% ELSE %]
+            [% journallist.first.ljuser_display%]</span>
+            [% form.hidden( name = "usejournal", id = "usejournal", value = journallist.first.user ) %]
+        [% END %]
+   </div>
+   [% END %]
+
+   <fieldset id="post_login" class="posting_settings">
+    <legend>[% ".header.post_as" | ml %]</legend>
+       <ul>
+       <li>
+        [%- postas_username_label = ".label.post_as_username" | ml;
+        form.textbox( label = "$postas_username_label:"
+            name = "username"
+            id = "post_username"
+        ) -%]
+       </li>
+       <li>
+        [%- postas_password_label = ".label.post_as_password" | ml;
+        form.password( label = "$postas_password_label:"
+            name = "password"
+            id = "password"
+        ) -%]
+       </li>
+       <li>
+            <label for="postas_usejournal">[% ".label.post_to" | ml %]:</label>
+            [% IF usejournal %]
+                [% usejournal.ljuser_display %]
+            [% ELSE %]
+                [% form.textbox( name = "postas_usejournal", id = "postas_usejournal" ) %]
+            [% END %]
+       </li>
+       </ul>
+   </fieldset>
+
+   </div>
+ </fieldset>
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/module-journal.tt.text
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/module-journal.tt.text	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,14 @@
+;; -*- coding: utf-8 -*-
+.header=Journal
+
+.header.post_as=Posting as User
+
+.label.post_as=Post as
+
+.label.post_as_other=another user
+
+.label.post_as_password=Password
+
+.label.post_as_username=Username
+
+.label.post_to= Post to
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/module-scheduled.tt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/module-scheduled.tt	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,20 @@
+<fieldset>
+  <h3>Scheduled Publishing</h3>
+    <div class="inner">
+    <div class='time_container' id="publishingtime_container">
+      <input type="text" name="publishingtime" id="publishingtime" value="2010-04-10" maxlength="10" size="10" />
+      <input type="text" name="publishingtime_hr" id="publishingtime_hr" value="03" maxlength="2" size="2" class='time_hr' />:<input type="text" name="publishingtime_min" id="publishingtime_min" value="15" maxlength="2" size="2" class='time_min' />
+      <div class="dateformat">(e.g. 2010-01-30 23:45)</div>
+    </div>
+
+    <div class="recurring_container">
+      <label for="recurring_period">Recurring:</label>
+      <select name="recurring_period" class="select" id="recurring_period">
+        <option value="never">never</option>
+        <option value="day">every day</option>
+        <option value="week">every week</option>
+        <option value="month">every month</option>
+      </select>
+    </div>
+  </div>
+</fieldset>
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/module-status.tt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/module-status.tt	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,17 @@
+  <fieldset>
+    <h3>Status</h3>
+
+    <div class='inner'>
+      <div class="status-notice">
+        <span class="status-label">Status:</span> Published
+         <div class="revert"><a href="#">Revert to draft</a></div>
+      </div>
+      <div class="savedraft">
+       <input type='submit' name="action:save" value='Save' class="save" />
+       <input type='submit' name="action:preview" value='Preview' class="preview"/>
+      </div>
+
+
+    </div>
+
+  </fieldset>
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/module-tags.tt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/module-tags.tt	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,17 @@
+  <fieldset>
+    <h3>[% ".header" | ml %]</h3>
+    <div class="inner">
+        [%- label = ".label.tags" | ml;
+        form.textarea( label = "$label:"
+            id = "taglist"
+            name = "taglist"
+
+            cols = "20"
+            rows = "1"
+        ) -%]
+
+      [% IF journalu %]
+          <a id="taglist_link" href="[% journalu.journal_base %]/tag/">[% ".link.tagspage" | ml %] </a>
+      [% END %]
+    </div>
+  </fieldset>
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/module-tags.tt.text
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/module-tags.tt.text	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,6 @@
+;; -*- coding: utf-8 -*-
+.header=Tags
+
+.label.tags=Tags (comma separated)
+
+.link.tagspage=go to journal tags
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/preview.tt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/preview.tt	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,59 @@
+[%# post-preview.tt
+
+Page to preview entries in site skin
+
+Authors:
+    Afuna <coder.dw@afunamatata.com>
+
+This program is free software; you may redistribute it and/or modify it under
+the same terms as Perl itself.  For a copy of the license, please reference
+'perldoc perlartistic' or 'perldoc perlgpl'.
+%]
+
+[%- dw.need_res( "stc/talkpage.css" ) -%]
+
+[%- sections.windowtitle = '.title' | ml( sitenameshort = site.nameshort ) -%]
+
+[%- IF journal -%]
+    <table summary=''><tr valign='middle'>
+    [%- IF icon -%]
+        <td>[% icon %]</td>
+    [%- END -%]
+
+    <td>
+        [%- postername = poster.name | html -%]
+
+        [%- IF journal.is_community -%]
+            [%- "talk.somebodywrote_comm" | ml( realname = postername
+                                                userlink = poster.ljuser_display
+                                                commlink = journal.ljuser_display )
+            -%]
+        [%- ELSE -%]
+            [%- "talk.somebodywrote" | ml(  realname = postername
+                                            userlink = poster.ljuser_display )
+            -%]
+        [%- END -%]
+
+        <br /><span class='time'>@ [% displaydate %]</span>
+    </td>
+
+    </tr></table>
+[%- END -%]
+
+<div id='entry' class='usercontent' style='margin-left: 30px'>
+    [%- currents -%]
+
+    [%- IF security -%]
+        <img src="[% site.imgroot %][% security.src %]" alt="[% security.alt%]" width="[% security.width %]" height="[% security.height %]" align="absmiddle" />
+    [%- END -%]
+
+    <div id='entrysubj'>[% subject %]</div>
+    [%- IF security OR subject -%]<br />[%- END -%]
+
+    [%- event -%]
+</div>
+
+<br clear='all' /><hr width='100%' size='2' align='center' />
+
+<div class='highlight-box'><p>[% '.entry.preview_warn_text' | ml %]</p></div>
+
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/preview.tt.text
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/preview.tt.text	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,5 @@
+;; -*- coding: utf-8 -*-
+.entry.preview_warn_text=This is a preview only. To save this entry, close this popup and return to your main browser window.
+
+.title=[[sitenameshort]]: Entry Preview (Unsaved)
+
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/scheduled.tt
--- a/views/entry/scheduled.tt	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<fieldset>
-  <h3>Scheduled Publishing</h3>
-    <div class="inner">
-    <div class='time_container' id="publishingtime_container">
-      <input type="text" name="publishingtime" id="publishingtime" value="2010-04-10" maxlength="10" size="10" />
-      <input type="text" name="publishingtime_hr" id="publishingtime_hr" value="03" maxlength="2" size="2" class='time_hr' />:<input type="text" name="publishingtime_min" id="publishingtime_min" value="15" maxlength="2" size="2" class='time_min' />
-      <div class="dateformat">(e.g. 2010-01-30 23:45)</div>
-    </div>
-
-    <div class="recurring_container">
-      <label for="recurring_period">Recurring:</label>
-      <select name="recurring_period" class="select" id="recurring_period">
-        <option value="never">never</option>
-        <option value="day">every day</option>
-        <option value="week">every week</option>
-        <option value="month">every month</option>
-      </select>
-    </div>
-  </div>
-</fieldset>
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/status.tt
--- a/views/entry/status.tt	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-  <fieldset>
-    <h3>Status</h3>
-
-    <div class='inner'>
-      <div class="status-notice">
-        <span class="status-label">Status:</span> Published
-         <div class="revert"><a href="#">Revert to draft</a></div>
-      </div>
-      <div class="savedraft">
-       <input type='submit' name="action:save" value='Save' class="save" />
-       <input type='submit' name="action:preview" value='Preview' class="preview"/>
-      </div>
-
-
-    </div>
-
-  </fieldset>
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/success.tt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/views/entry/success.tt	Wed Nov 30 19:27:46 2011 +0800
@@ -0,0 +1,28 @@
+[%- sections.title = 'success' | ml -%]
+
+[%- IF warnings.size > 0 -%]
+    [%- FOREACH warning IN warnings -%]
+        <div class="message-box [% warning.type %]-box">[%- warning.message -%]</div>
+    [%- END -%]
+[%- END -%]
+
+<p>[% poststatus %]</p>
+
+[%- IF crossposts.size > 0 -%]
+<ul>
+    [%- FOREACH crosspost IN crossposts -%]
+        <li [% IF crosspost.status == "error" -%] class="error-box" [%- END -%]>
+            [%- crosspost.text -%]
+        </li>
+    [%- END -%]
+</ul>
+[%- END -%]
+
+[%- IF links.size > 0 -%]
+<p>[%- "/update.bml.success.links" | ml -%]</p>
+<ul>
+    [%- FOREACH link IN links -%]
+        <li><a href="[% link.url %]">[% link.text %]</a></li>
+    [%- END -%]
+</ul>
+[%- END -%]
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/tags.tt
--- a/views/entry/tags.tt	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-  <fieldset>
-    <h3>[% ".header" | ml %]</h3>
-    <div class="inner">
-        [%- label = ".label.tags" | ml;
-        form.textarea( label = "$label:"
-            id = "taglist"
-            name = "taglist"
-
-            cols = "20"
-            rows = "1"
-        ) -%]
-
-      [% IF journalu %]
-          <a id="taglist_link" href="[% journalu.journal_base %]/tag/">[% ".link.tagspage" | ml %] </a>
-      [% END %]
-    </div>
-  </fieldset>
diff -r 7f6e577ec7c3 -r e57184490bfb views/entry/tags.tt.text
--- a/views/entry/tags.tt.text	Tue Nov 29 22:02:20 2011 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-;; -*- coding: utf-8 -*-
-.header=Tags
-
-.label.tags=Tags (comma separated)
-
-.link.tagspage=go to journal tags
--------------------------------------------------------------------------------

Post a comment in response:

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

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