layerinfo "type" = "layout"; layerinfo "name" = "3 column"; layerinfo author_name = "Louise (unfloopy)"; layerinfo author_email = "unfloopy@gmail.com"; layerinfo des = "3 column layout by Louise (/~unfloopy)."; layerinfo redist_uniq = "3column/layout"; layerinfo previews = "3column/layout.jpg"; layerinfo source_viewable = "1"; ################################## PROPERTIES #################################### propgroup presentation { property bool show_entry_userpic { des = "Display your userpic on your journal"; } property use use_shared_pic; property use view_entry_disabled; property use page_recent_items; set page_recent_items = 10; property use page_friends_items; set page_friends_items = 20; set show_entry_userpic = true; property use linklist_support; property use custom_control_strip_colors; } propgroup colors { property Color color_bg { des = "Background Color"; } set color_bg = "#E6CABE"; property Color font_color { des = "Overall: Font Color"; } set font_color = "#4B3730"; property Color link_color { des = "Overall: Link Color"; } set link_color = "#78534B"; property Color link_hover { des = "Overall: Link Hover Color"; } set link_hover = "#78534B"; property Color link_side { des = "Sidebar: Link color"; } set link_side = "#4B3730"; property Color link_side_h { des = "Sidebar: Link hover color"; } set link_side_h = "#4B3730"; property Color side_bg { des = "Sidebar: Background color"; } set side_bg = "#E6CABE"; property Color side_t_color { des = "Sidebar: Text color"; } set side_t_color = "#4B3730"; property Color side_border { des = "Sidebar: Borders"; } set side_border = "#DAB5AC"; property Color side_h_color { des = "Sidebar: Header Color"; } set side_h_color = "#333333"; property Color side_h_border { des = "Sidebar: Header Border"; } set side_h_border = "#333333"; property Color side_h_bg { des = "Sidebar: Header Background"; } set side_h_bg = "#DAB5AC"; property Color entries_bg { des = "Entries: Background color"; } set entries_bg = "#E6CABE"; property Color entries_border { des = "Entries: Border color"; } set entries_border = "#DAB5AC"; property Color button_bg { des = "Entries: Buttons background"; } set button_bg = "#E6CABE"; property Color button_bg_h { des = "Entries: Buttons Background hover"; } set button_bg_h = "#ECD7C7"; property Color entries_font_color { des = "Entries: Font Color"; } set entries_font_color = "#4B3730"; property Color sub_color { des = "Entries: Subject Color"; } set sub_color = "#78534B"; property Color c_sub_color { des = "Comments: Subject Text Color"; } set c_sub_color = "#4B3730"; property Color c_sub_bg { des = "Comments: Subject Background"; } set c_sub_bg = "#DAB5AC"; property use control_strip_bgcolor; property use control_strip_fgcolor; property use control_strip_bordercolor; property use control_strip_linkcolor; } propgroup fonts { property string font_size { des = "Overall: Text Size"; } set font_size = "8pt"; property string font_family { des = "Overall: Font Family"; } set font_family = "Arial"; property string link_weight { des = "Overall: Link Weight"; values = "normal|Normal|bold|Bold"; } set link_weight = "normal"; property string link_side_w { des = "Sidebar: Link weight"; values = "normal|Normal|bold|Bold"; } set link_side_w = "normal"; property string side_h_size { des = "Sidebar: Header Font Size"; } set side_h_size = "13px"; property string entries_size { des = "Entries: Text Size"; } set entries_size = "9pt"; property string entries_font { des = "Entries: Font Family"; } set entries_font = "Arial"; property string sub_size { des = "Entries: Subject Text Size"; } set sub_size = "15pt"; property string c_sub_size { des = "Comments: Subject Text Size"; } set c_sub_size = "10pt"; } propgroup images { property string bg_image { des = "Background: Image URL"; } set bg_image = ""; property string bg_repeat { des = "Background: Repeat"; values = "repeat|Tile image|no-repeat|Do not tile image"; } set bg_repeat = "repeat"; property string header_image { des = "Header: Image URL"; note = "If you set this, you must also enter the height of your image below."; } set header_image = ""; property string header_height { des = "Header: Height"; note = "You must set this if you've entered a header image URL above."; } set header_height = "0px"; property string i_comment { des = "Icon: Comments"; note = "If you don't set this, a default image will be used."; } set i_comment = ""; property string i_perma { des = "Icon: PermaLink"; note = "If you don't set this, a default image will be used."; } set i_perma = ""; property string i_mem { des = "Icon: Add To Memories"; note = "If you don't set this, a default image will be used."; } set i_mem = ""; property string i_leave { des = "Icon: Leave A Comment"; note = "If you don't set this, a default image will be used."; } set i_leave = ""; property string i_edit { des = "Icon: Edit Entry"; note = "If you don't set this, a default image will be used."; } set i_edit = ""; property string i_tags { des = "Icon: Edit Tags"; note = "If you don't set this, a default image will be used."; } set i_tags = ""; property string i_tellafriend { des = "Icon: Tell a Friend"; note = "If you don't set this, a default image will be used."; } set i_tellafriend = ""; property string i_flag { des = "Icon: Flag"; note = "If you don't set this, a default image will be used."; } set i_flag = ""; property string i_tracknew { des = "Icon: Track New Comments"; note = "If you don't set this, a default image will be used."; } set i_tracknew = ""; property string i_untracknew { des = "Icon: Untrack New Comments"; note = "If you don't set this, a default image will be used."; } set i_untracknew = ""; property string i_editcomm { des = "Icon: Edit Comment"; note = "If you don't set this, a default image will be used."; } set i_editcomm = ""; property string i_delcomm { des = "Icon: Delete Comment"; note = "If you don't set this, a default image will be used."; } set i_delcomm = ""; property string i_screencomm { des = "Icon: Screen Comment"; note = "If you don't set this, a default image will be used."; } set i_screencomm = ""; property string i_unscreencomm { des = "Icon: Unscreen Comment"; note = "If you don't set this, a default image will be used."; } set i_unscreencomm = ""; property string i_freezethread { des = "Icon: Freeze Thread"; note = "If you don't set this, a default image will be used."; } set i_freezethread = ""; property string i_unfreezethread { des = "Icon: Unfreeze Thread"; note = "If you don't set this, a default image will be used."; } set i_unfreezethread = ""; property string i_trackthread { des = "Icon: Track Thread"; note = "If you don't set this, a default image will be used."; } set i_trackthread = ""; property string i_untrackthread { des = "Icon: Untrack Thread"; note = "If you don't set this, a default image will be used."; } set i_untrackthread = ""; property string i_trackingparent { des = "Icon: Parent Tracked"; note = "If you don't set this, a default image will be used."; } set i_trackingparent = ""; } propgroup text { property string t_forward { des = "Entries Navigation: Forward link"; } set t_forward = " forward >"; property string t_back { des = "Entries Navigation: Back link"; } set t_back = "< back "; property string t_post_comment{ des = "Entries Navigation: Post Comment text"; } set t_post_comment= "reply"; property string t_reply_back{ des = "Entries Navigation: Read Comments text"; } set t_reply_back= "comments"; property string t_perma{ des = "Entries Navigation: Permalink text"; } set t_perma= "link"; property string t_divider { des = "Entries Navigation: Links divider"; } set t_divider = " "; property string t_comment_reply{ des = "Comments Navigation: Reply text"; } set t_comment_reply= "reply"; property string t_read_comments{ des = "Comments Navigation: Read Comments text"; } set t_read_comments= "#"; property string t_view_recent{ des = "Navigation Bar: Recent Entries text"; } set t_view_recent = "recent"; property string t_view_archive{ des = "Navigation Bar: Archive text"; } set t_view_archive= "archive"; property string t_view_userinfo { des = "Navigation Bar: Userinfo text"; } set t_view_userinfo = "userinfo"; property string t_view_friends{ des = "Navigation Bar: Friends text"; } set t_view_friends= "friends"; property string t_nosubject{ des = "\"No Subject\" text"; } set t_nosubject= "(no subject)"; property string t_noentries_day{ des = "Text for a day without posts"; } set t_noentries_day= "I didn't post on this day. Sorry!"; property string t_meta_music{ des = "Text for 'Current Music'"; } set t_meta_music= "current song"; property string t_meta_mood { des = "Text for 'Current Mood'"; } set t_meta_mood= "current mood"; property string t_meta_groups { des = "Text for 'Custom Friends Groups'"; } set t_meta_groups= "custom friends groups"; property string t_meta_location { des = "Text for 'Current Location'"; } set t_meta_location= "current location"; property string t_view_month{ des = "Archive Navigation: View Subjects link text"; } set t_view_month= "view all"; property string t_read_comments_friends{ des = "Friends Page Navigation: Read Comments text"; } set t_read_comments_friends= "#"; property string links_header { des = "Links header"; } set links_header = "links"; property string about_title { des = "About box title"; } set about_title= "about"; property string nav_title { des = "Navigation title"; } set nav_title= "navigate"; property string blurb_title { des = "Blurb Title"; note = "Only used if you enter some blurb text below."; } set blurb_title= "blurb"; property string blurb_text { des = "Blurb Text"; note = "You can write here about anything you want. It'll be displayed in a box on your journal pages."; rows = 10; cols = 25; string_mode = "html"; } set blurb_text= ""; } propgroup customcss { property use include_default_stylesheet; property use linked_stylesheet; property use custom_css; } set tags_aware = true; ####################################### STYLESHEET ####################################### function print_stylesheet () { """ body { background: $*color_bg; font: $*font_size $*font_family; color: $*font_color; """; if (clean_url($*bg_image) != "") { """ background-image: url('$*bg_image'); background-repeat: $*bg_repeat; """; } """ } a { color: $*link_color; font-weight: $*link_weight; } a:hover { color: $*link_hover; font-weight: $*link_weight; } h1{ color: $*sub_color; font-size: $*sub_size; text-align:left; padding:5px; margin:0px; border-bottom: 1px dashed $*entries_border; } h2{ border: 1px solid $*side_h_border; font-size: $*side_h_size; text-align:center; margin:3px 0px; padding:0px; background-color: $*side_h_bg; color: $*side_h_color; } h3{ color: $*sub_color; text-align:left; font: bold $*font_family; padding:5px; margin:0px; border-top: solid 1px $*entries_border;} ul.links{ margin: 1px 0px; padding: 3px; color: $*side_t_color; list-style-type:none; } li.links { margin-left: 5px; } li.links a{ text-decoration:none; } li.links_header{ font: 11px; border-bottom: 1px solid $*side_t_color; padding-top:7px; } #container{position:absolute; top: $*header_height;"""; if (viewer_sees_control_strip()) { "margin-top: 45px;"; } """ width: 97%;} #leftbar{ position:absolute; top: 10px; left: 10px; """; if (viewer_sees_vbox()) { "width: 195px;"; } else { "width: 170px;"; } """} #rightbar{ position:absolute; top: 10px; right: 0px; """; if (viewer_sees_vbox()) { "width: 195px;"; } else { "width: 170px;"; } """} #leftbar a, #rightbar a {color: $*link_side; font-weight: $*link_side_w;} #leftbar a:hover, #rightbar a:hover {color: $*link_side_h; } #entries{ position:relative; """; if (viewer_sees_vbox()) { "margin: 10px 195px 10px 205px;"; } else { "margin: 10px 170px 10px 180px;"; } """ text-align:center; background: $*entries_bg; border: 3px double $*entries_border; padding: 10px; } #readme { text-align:justify; padding: 2px; } #header { position:absolute; width: 100%; top: """; if (viewer_sees_control_strip()) { "55px;"; } else { "0px;"; } """ left: 0px; height: $*header_height; """; if (clean_url($*header_image) != "") { """ background-image: url('$*header_image'); background-repeat: no-repeat; background-position: center; """; } """ } div.entrylinks { font: 8pt Verdana; text-align:right; padding:2px 10px 2px 10px; line-height:20px; margin-bottom:0px; margin-top:5px; border-top: 1px dashed $*entries_border; } div.entrylinks a { background-color: $*button_bg; text-decoration:none; margin:2px; padding:2px; } div.entrylinks a:hover {background-color: $*button_bg_h;} div.entrylinks img { border:0px; text-decoration:none; } div.commentlinks { font: 8pt Verdana; padding:2px 10px 2px 10px; line-height:20px; } div.commentlinks a { background-color: $*button_bg; text-decoration:none; margin:2px; padding:2px; } div.commentlinks a:hover {background-color: $*button_bg_h;} div.commentlinks img { border:0px; text-decoration:none; } div.entry{ margin-bottom:35px;} div.entrytext img {position: relative;} div.entrytext table img {position: static;} .entrytext{ font: $*entries_size $*entries_font; text-align:justify; color: $*entries_font_color; } .aboutentry{ text-align: left; margin-right:10px; height: 1%; } .userpic{ margin:5px; } .sidebox{ border: 3px double $*side_border; background: $*side_bg; margin: 10px; padding:5px; } .userpic2{ position:relative; float:left; padding: 5px; margin:0px 0px 0px 0px;} .userpic_reply{ position:relative; float:left; padding: 5px;} .moodpic{ float: right; } .calendarActive{ font-weight:bold; } .blurb { color: $*side_t_color; } .nosubject { font-style:italic; } .replyform { text-align:left; clear: both; } .replyform textarea { width: 100% ! important; } .comment_postedby { text-align:left; font-weight:bold; } .comment_date{ text-align:left; } .comment_subject { color: $*c_sub_color; background: $*c_sub_bg; font: $*c_sub_size; font-weight:bold; letter-spacing:1.5px; text-align:left; padding:3px; margin-right: 0;} .comment_wrapper{ border: 1px solid $*entries_border; background: $*entries_bg; padding:5px; margin: 0px 0px 5px 0px; } .comment_info { width:95%; } .comment_links { text-align:right; padding:3px; margin:0px; border-top: 1px dashed $*entries_border; } .comment_links a { padding:2px; text-decoration:none; } .comment_child { margin: 0px 0px 0px 20px; } .minicomment {padding: 4px; border: 1px solid $*entries_border; } .minicommentholder { border: 1px solid $*entries_border; } """; print_custom_control_strip_css(); } ############################# FUNCTIONS ######################################## function prop_init() { if ($*i_comment == "") { $*i_comment = "$*IMGDIR/style/3column/comments.gif"; } else { $*i_comment = clean_url($*i_comment); } if ($*i_perma == "") { $*i_perma = "$*IMGDIR/style/3column/permalink.gif"; } else { $*i_perma = clean_url($*i_perma); } if ($*i_mem == "") { $*i_mem = "$*IMGDIR/style/3column/memories.gif"; } else { $*i_mem = clean_url($*i_mem); } if ($*i_leave == "") { $*i_leave = "$*IMGDIR/style/3column/leavecomment.gif"; } else { $*i_leave = clean_url($*i_leave); } if ($*i_edit == "") { $*i_edit = "$*IMGDIR/style/3column/editentry.gif"; } else { $*i_edit = clean_url($*i_edit); } if ($*i_tags == "") { $*i_tags = "$*IMGDIR/style/3column/edittags.gif"; } else { $*i_tags = clean_url($*i_tags); } if ($*i_tellafriend == ""){ $*i_tellafriend= "$*IMGDIR/style/3column/tellafriend.gif"; } else { $*i_tellafriend = clean_url($*i_tellafriend); } if ($*i_flag == "") { $*i_flag = "$*IMGDIR/style/3column/flag.gif"; } else { $*i_flag = clean_url($*i_flag); } if ($*i_tracknew == "") { $*i_tracknew = "$*IMGDIR/style/3column/trackcomments.gif"; } else { $*i_tracknew = clean_url($*i_tracknew); } if ($*i_untracknew == "") { $*i_untracknew = "$*IMGDIR/style/3column/untrackcomments.gif"; } else { $*i_untracknew = clean_url($*i_untracknew); } if ($*i_editcomm == "") { $*i_editcomm = "$*IMGDIR/style/3column/editentry.gif"; } else { $*i_editcomm = clean_url($*i_editcomm); } if ($*i_delcomm == "") { $*i_delcomm = "$*IMGDIR/style/3column/deletecomment.gif"; } else { $*i_delcomm = clean_url($*i_delcomm); } if ($*i_screencomm == "") { $*i_screencomm = "$*IMGDIR/style/3column/screencomment.gif"; } else { $*i_screencomm = clean_url($*i_screencomm); } if ($*i_unscreencomm == "") { $*i_unscreencomm = "$*IMGDIR/style/3column/unscreencomment.gif"; } else { $*i_unscreencomm = clean_url($*i_unscreencomm); } if ($*i_freezethread == "") { $*i_freezethread = "$*IMGDIR/style/3column/freezethread.gif"; } else { $*i_freezethread = clean_url($*i_freezethread); } if ($*i_unfreezethread == "") { $*i_unfreezethread = "$*IMGDIR/style/3column/unfreezethread.gif"; } else { $*i_unfreezethread = clean_url($*i_unfreezethread); } if ($*i_trackthread == "") { $*i_trackthread = "$*IMGDIR/style/3column/trackcomments.gif"; } else { $*i_trackthread = clean_url($*i_trackthread); } if ($*i_untrackthread == "") { $*i_untrackthread = "$*IMGDIR/style/3column/untrackcomments.gif"; } else { $*i_untrackthread = clean_url($*i_untrackthread); } if ($*i_trackingparent == "") { $*i_trackingparent = "$*IMGDIR/style/3column/trackingparent.gif"; } else { $*i_trackingparent = clean_url($*i_trackingparent); } if ($*control_strip_bgcolor.as_string == "") { $*control_strip_bgcolor = $*entries_bg; } if ($*control_strip_fgcolor.as_string == "") { $*control_strip_fgcolor = $*entries_font_color; } if ($*control_strip_bordercolor.as_string == "") { $*control_strip_bordercolor = $*entries_border; } if ($*control_strip_linkcolor.as_string == "") { $*control_strip_linkcolor = $*link_color; } $*theme_bgcolor = $*entries_bg; $*theme_fgcolor = $*entries_font_color; $*theme_bordercolor = $*entries_border; $*theme_linkcolor = $*link_color; } function generateDots (string un) : string { var string dots; if($un != "") { foreach var string s ($un) { if($s == "a" or $s == "c" or $s == "e" or $s == "f" or $s == "h" or $s == "k" or $s == "m" or $s == "n" or $s == "p" or $s == "r" or $s == "t" or $s == "v" or $s == "x" or $s == "z") { $dots = $dots + ":"; } elseif($s == " ") { $dots = $dots + " "; } else { $dots = $dots + "."; } } } return $dots; } function print_linkbox (string header, string text) { """ """; } function box_item (string text) : string { return """$text\n"""; } function print_box (string header, string text) { """ """; } function num_comments_in_thread (Comment[] comments) : int { var int total = 0; foreach var Comment c ($comments) { $total = $total + 1; if (size $c.replies > 0) { $total = $total + num_comments_in_thread($c.replies); } } return $total; } function Page::lay_print_userpic() { if(defined $.journal.default_pic) { """
$.journal.name
"""; } } function Page::print_linklist() { if (size $.linklist <= 0 or not $*linklist_support) { return; } var string links; foreach var UserLink l ($.linklist) { if ($l.title) { if ($l.is_heading) { $links = $links + """"""; } else { $links = $links + box_item(""""""); } } } print_linkbox($*links_header, $links); } function Page::lay_print_calendar () { var YearMonth m = $this->get_latest_month(); var string mon = $m->month_format(); var string text; $text = """ """; foreach var YearWeek w ($m.weeks) { $text = $text + """ """; if($w.pre_empty > 0) { foreach var int empty (1..$w.pre_empty) { $text = $text + """ """; } } foreach var YearDay d ($w.days) { if($d.num_entries > 0) { $text = $text + """ """; } else { $text = $text + """ """; } } $text = $text + "\n"; } $text = $text + "
 $d.day$d.day
"; print_box($mon, $text); } function Page::lay_print_subnav () { } function RecentPage::lay_print_subnav () { var string back; if($.nav.backward_url != "") { $back = """$*t_back"""; } else { $back = " "; } var string forward; if($.nav.forward_url != "") { $forward = """$*t_forward"""; } else { $forward = " "; } var int start = $.nav.skip; var int end = $.nav.skip + size $.entries; var string text = "$start - $end"; print safe """
$back | $text | $forward
"""; } function FriendsPage::lay_make_username (Entry e) { var Friend f = $.friends{$e.journal.username}; var string url = $e.poster->base_url(); """ $e.poster.username """; if($e.poster.username != $e.journal.username) { """ $e.journal"""; } } function print_ebox (Entry e) { if ($e->viewer_sees_ebox()) { """
"""; $e->print_ebox(); "
"; } } function EntryPage::print_body() { """ """; $this->print_entry($.entry); print_ebox($.entry); if ($this.multiform_on) { $this->print_multiform_start(); } if ($.entry.comments.count > 0) { """

Comments

"""; } if ($.comment_pages.total_subitems > 0) { $.comment_pages->print(); } if ($.entry.comments.enabled) { $this->print_comments($.comments); } if ($.entry.comments.count > 0) { """
"""; $.entry.comments->print(); $this->print_reply_container({"target" => "bottomcomment"}); """
"""; } if ($.comment_pages.total_subitems > 0) { $.comment_pages->print(); } if ($this.multiform_on and ($.entry.comments.count > 0)) { """
"""; $this->print_multiform_actionline(); """
"""; $this->print_multiform_end(); } """ """; } function EntryPage::print_comments(Comment[] cs) { if (size $cs == 0) { return; } foreach var Comment c ($cs) { if ($c.full) { $this->print_comment($c); } else { $this->print_comment_partial($c); } } } function EntryPage::print_comment(Comment c) { var string datetime; $datetime = $c->time_display("long", ""); var string picword; if (defined $c.userpic and $*comment_userpic_style !="off") { $picword = $c.metadata{"picture_keyword"}; } var string parent; var string thread; var string expand; if ($c.parent_url != "") { $parent = """$*text_comment_parent$*t_divider"""; } if ($c.thread_url != "") { $thread = """$*text_comment_thread$*t_divider"""; var Link expand_link = $c->get_link("expand_comments"); if (defined $expand_link) { } } var string subjecticon; if (defined $c.subject_icon) { $subjecticon = """"""; } var string ip; if ($c.metadata{"poster_ip"}) { $ip = """   """ + $c.metadata{"poster_ip"}; } var string poster = defined $c.poster ? $c.poster->as_string() : "$*text_poster_anonymous"; var string poster_name; $poster_name= $c.poster.name; var string pic; if (defined $c.userpic and $*comment_userpic_style != "off") { $pic = """ $picword"""; } var string indent = ($c.depth - 1) * 25 + "px"; """
Posted by: $poster_name ($poster) $ip
Posted at: $subjecticon $datetime
"""; """"; """
$c.subject
$pic

"""; $c->print_text(); print safe """

"""; $c->print_reply_container({"class" => "quickreply"}); """
"""; if ((size $c.replies) > 0 and $c.replies[0].full == false) { ##"""
\n"""; $this->print_comments($c.replies); ##"
\n"; } if ((size $c.replies) > 0 and $c.replies[0].full == true) { ##"""
"""; $this->print_comments($c.replies); ##"""
"""; } } function Comment::print_linkbar() { var string{} my_captions = {"edit_comment" => "$*i_editcomm", "delete_comment" => "$*i_delcomm", "screen_comment" => "$*i_screencomm", "unscreen_comment" => "$*i_unscreencomm", "freeze_thread" => "$*i_freezethread", "unfreeze_thread" => "$*i_unfreezethread", "watch_thread" => "$*i_trackthread", "unwatch_thread" => "$*i_untrackthread", "watching_parent" => "$*i_trackingparent"}; var Link link; foreach var string key ($.link_keyseq) { $link = $this->get_link($key); if (defined $link) { var string img_url = $my_captions{$key} != "" ? $my_captions{$key} : $link.icon.url; """$link.caption"""; } } } function EntryPage::print_comment_partial(Comment c) { var string poster = defined $c.poster ? $c.poster->as_string() : "$*text_poster_anonymous"; var string subj = $c.subject != "" ? $c.subject : """$*t_nosubject"""; var string indent = ($c.depth - 1) * 25 + "px"; print safe """
$poster - $subj"""; var Link expand_link = $c->get_link("expand_comments"); if ($c.thread_url != "" and defined $expand_link) { } print """
"""; $this->print_comments($c.replies); } function ItemRange::print() { if ($.all_subitems_displayed) { return; } """
"""; print lang_page_of_pages($.current, $.total); " — "; foreach var int i (1..$.total) { if ($i == $.current) { """[$i]"""; } else { var string url_of = $this->url_of($i); "[$i]"; } } """
"""; } function Page::print_entry (Entry e) { # Print an anchor print """"""; # Get the right time and date of the post var string time = $e.time->time_format(); var string date = $e.time->date_format("long"); # Get the Locked or Private icon, if needed. var string security; if ($e.security != "") { $security = """"""; } var UserLite name; var string pname; var string poster_name; $poster_name= $e.poster.name; var string poster = defined $e.poster ? $e.poster->as_string() : "$*text_poster_anonymous"; var bool show_name = ($.view == "friends" or $e.poster.username != $.journal.username or $.view == "entry") ? true : false; var bool show_pic = (defined $e.userpic and ($.view == "friends" or $*show_entry_userpic or $e.poster.username != $e.journal.username or $.view == "entry")) ? true : false; if ($.view == "friends" or not $e.poster->equals($e.journal)){ """
"""; if($show_pic) { """
$e.poster.name [userpic]
"""; } """
$security $e.subject
"""; if($e.poster.username != $e.journal.username and not ($e.journal.username == $.journal.username and $.view != "friends")) { """ in $e.journal
"""; } """ by $poster_name ($poster)
at $date ($time)"""; if(defined $e.mood_icon) { var Image i = $e.mood_icon; var string alttext = $e.metadata{"mood"}; """
$alttext
"""; } $e->print_metadata(); """

"""; $e->print_text(); """

"""; $this->print_reply_container({"target" => "topcomment"}); } else { if($show_pic) { """
$e.poster.name [userpic]
"""; } """

$e.subject

$security $date ($time) """; if(defined $e.mood_icon) { var Image i = $e.mood_icon; var string alttext = $e.metadata{"mood"}; """
$alttext
"""; } $e->print_metadata(); """

"""; $e->print_text(); """

"""; $this->print_reply_container({"target" => "topcomment"}); } } function CommentInfo::print() { if ($.enabled) { if ($.count > 0 or $.screened) { $this->print_readlink(); } $this->print_postlink(); } } function CommentInfo::print_postlink() { var Page p = get_page(); if ($p.view == "entry") { $p->print_reply_link({"target" => "topcomment", "img_url" => $*i_leave}); } else { print safe """$*t_post_comment $*t_divider """; } } function CommentInfo::print_readlink { var Page p = get_page(); print safe ""+ get_plural_phrase($.count, $p.view == "friends" ? "t_read_comments_friends" : "t_read_comments")+ "\"$*t_divider"; } function DayPage::lay_print_subnav () { var string back; if($.prev_url != "") { $back = """$*t_back"""; } else { $back = " "; } var string forward; if($.next_url != "") { $forward = """$*t_forward"""; } else { $forward = " "; } var string text = $.date->date_format("long"); print safe """
$back | $text | $forward
"""; } ############################# REPLY PAGE ######################################### function ReplyPage::print_body() { var EntryLite e = $.replyto; var string poster = defined $e.poster ? $e.poster->as_string() : "$*text_poster_anonymous"; var string datetime; var string time = $e.time->time_format(); var string date = $e.time->date_format("long"); if ($e isa Entry) { var Entry en = $e as Entry; $this->print_entry($en); } else { var UserLite name; """

$date

"""; if(defined $e.userpic and $*comment_userpic_style != "off") { $name = $e.poster; """
"""; if (defined $e.userpic or (defined $e.userpic and $.view == "entry" and $*show_entry_userpic)) { """"""; } """
"""; } """

$e.subject

"""; $e->print_text(); print safe """

"""; "
"; } print_ebox($.entry); """
"""; $.form->print(); """
"""; } function Entry::print_metadata() { var string caption; var string val; print $this->get_tags_text(); if (size $.metadata == 0) { return; } foreach var string k ($.metadata) { $caption = $k; $val = $.metadata{$k}; if ($k == "music") { $caption = $*t_meta_music; } elseif ($k == "location") { $caption = $*t_meta_location; } elseif ($k == "mood") { $caption = $*t_meta_mood; } elseif ($k == "groups") { $caption = $*t_meta_groups; } println safe """
$caption: $val"""; } } ################################ VIEWS ######################################### function RecentPage::print_body () { """
"""; foreach var Entry e ($.entries) { $this->print_entry($e); if ($e->viewer_sees_ebox()) { if ($.view == "friends") { """
"""; } else { """
"""; } $e->print_ebox(); "
"; } } """
"""; } function DayPage::print_body() { """
"""; if ($.has_entries) { foreach var Entry e ($.entries) { $this->print_entry($e); print_ebox($e); } } else { print safe "

$*t_noentries_day

"; } """
"""; } function MonthPage::view_title : string { return $.date->date_format($*lang_fmt_month_long); } function MonthPage::print_body { "
"; $.redir->print_hiddens(); var string back; var string forward; if ($.prev_url != "") { $back = """$*t_back"""; } if ($.next_url != "") { $forward = """$*t_forward"""; } var string select; if (size $.months > 1) { $select = "\n"; } print safe """
$back $select $forward
"""; "
"; foreach var MonthDay d ($.days) { if ($d.has_entries) { """
"""; $d->print_subjectlist(); """
"""; } } } function MonthDay::print_subjectlist() { foreach var Entry e ($.entries) { print $e.time->time_format("short") + ": "; if ($e.poster.username != $e.journal.username) { $e.poster->print(); " "; } "$e.security_icon"; if ($e.subject != "") { " $e.subject"; } else { print safe """ $*t_nosubject"""; } if ($e.comments.count > 0) { print safe " - " + get_plural_phrase($e.comments.count, "t_read_comments"); } if ($e.comments.screened) { " $*text_month_screened_comments"; } "
\n"; } } function YearPage::print_body { $this->print_year_links(); """
"""; foreach var YearMonth m ($.months) { $this->print_month($m); } """
"""; } function YearPage::print_year_links() { """
"""; foreach var YearYear y ($.years) { if ($y.displayed) { """$y.year"""; } else { print safe """$*t_divider$y.year$*t_divider"""; } } """
"""; } function YearPage::print_month(YearMonth m) { if (not $m.has_entries) { return; } """
"""; foreach var int d (weekdays()) { """ """; } """ """; foreach var YearWeek w ($m.weeks) { $w->print(); } """
$*lang_dayname_short[$d]
"""; } function YearWeek::print() { """ """; if ($.pre_empty > 0) { """ """; } foreach var YearDay d ($.days) { var string day = zeropad($d.day, 2); """
$day
"""; if ($d.num_entries > 0) { var string num = $d.num_entries < 10 ? " " + string($d.num_entries) : string($d.num_entries); """
$num
"""; } else { """
-
"""; } """ """; } """ """; } # Override the view names to be all short and lowercase-like function lang_viewname(string viewid) [notags] : string "Get some words representing a view" { if ($viewid == "recent") { return $*t_view_recent; } if ($viewid == "archive") { return $*t_view_archive; } if ($viewid == "friends") { return $*t_view_friends; } if ($viewid == "day") { return "day"; } if ($viewid == "month") { return "month"; } if ($viewid == "userinfo") { return $*t_view_userinfo; } if ($viewid == "entry") { return "read comments"; } if ($viewid == "reply") { return "post comment"; } return "Unknown View"; } ############################## COMMON HTML ############################################ function Page::print () { var string title = $this->title(); """ """; $this->print_head(); $this->print_stylesheets(); println safe "$title"; """ """; $this->print_control_strip(); """
"""; if (viewer_sees_hbox_top()) { """"; } """
"""; $this->lay_print_subnav(); $this->print_body(); $this->lay_print_subnav(); print safe """
"""; $this->print_linklist(); if (viewer_sees_vbox()) { """"; } print safe """
"""; $this->lay_print_calendar(); """
"""; if (viewer_sees_hbox_bottom()) { """"; } """
"""; } function print_theme_preview () { """

Lorem ipsum dolor sit amet

July 5th, 2006 (02:41 am)
"""; var string[] my_imgs = ["$*i_comment", "$*i_leave", "$*i_perma", "$*i_edit", "$*i_tags", "$*i_mem", "$*i_tracknew", "$*i_tellafriend", "$*i_flag"]; foreach var string img ($my_imgs) { """Icon$*t_divider"""; } """

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc tincidunt sollicitudin orci. Vivamus sollicitudin arcu non mi lobortis lacinia. Sed quis orci. Vestibulum in risus sit amet lectus gravida pellentesque. Curabitur faucibus risus eu pede hendrerit eleifend. Nunc vitae odio. Praesent turpis velit, venenatis vitae, accumsan quis, aliquam scelerisque, diam. Nulla fringilla dapibus nulla. Sed in sapien sit amet odio eleifend venenatis. Nunc neque ipsum, convallis id, volutpat eget, bibendum placerat, magna. Integer commodo, nunc eu faucibus tincidunt, est lectus sodales purus, pulvinar pretium purus diam sollicitudin justo. Nulla facilisi. Vivamus eleifend. Fusce sodales dui sit amet dolor.

"""; }