Committer: skomarov
LJSUP-9421: New colors of ipad styleU trunk/bin/upgrading/s2layers/sup/layout.s2 U trunk/bin/upgrading/s2layers/sup/themes.s2 U trunk/cgi-bin/LJ/S2Theme/sup.pm
Modified: trunk/bin/upgrading/s2layers/sup/layout.s2 =================================================================== --- trunk/bin/upgrading/s2layers/sup/layout.s2 2011-08-10 06:35:54 UTC (rev 10833) +++ trunk/bin/upgrading/s2layers/sup/layout.s2 2011-08-10 08:22:32 UTC (rev 10834) @@ -64,7 +64,7 @@ property use page_year_sortorder; property use use_shared_pic; property use view_entry_disabled; - + } propgroup colors { property use control_strip_bgcolor; Modified: trunk/bin/upgrading/s2layers/sup/themes.s2 =================================================================== --- trunk/bin/upgrading/s2layers/sup/themes.s2 2011-08-10 06:35:54 UTC (rev 10833) +++ trunk/bin/upgrading/s2layers/sup/themes.s2 2011-08-10 08:22:32 UTC (rev 10834) @@ -507,10 +507,10 @@ } -#NEWLAYER: sup/ipad +#NEWLAYER: sup/ipad-blue layerinfo "type" = "theme"; -layerinfo "name" = "iPad Beaverton gray"; -layerinfo "redist_uniq" = "sup/ipad"; +layerinfo "name" = "iPad Beaverton blue"; +layerinfo "redist_uniq" = "sup/ipad-blue"; set theme_css = "ipad.css"; set active_theme = "ipad1"; set recent_show_date = true; @@ -527,21 +527,368 @@ $p->need_res({"args" => "media=\"print\"" }, ["stc/sup/s/print.css"]); if ($*use_theme_stylesheet) { - if ($*active_theme == "x0") { - $p->need_res({"args" => "media=\"screen\"" }, ["stc/sup/s/x-0.css"]); - } elseif ($*active_theme == "x1") { - $p->need_res({"args" => "media=\"screen\"" }, ["stc/sup/s/x-0.css"]); - $p->need_res({"args" => "media=\"screen\"" }, ["stc/sup/s/x-1.css"]); - } elseif ($*active_theme == "x2") { - $p->need_res({"args" => "media=\"screen\"" }, ["stc/sup/s/x-2.css"]); - } elseif ($*active_theme == "x3") { - $p->need_res({"args" => "media=\"screen\"" }, ["stc/sup/s/x-3.css"]); - } elseif ($*active_theme == "x4") { - $p->need_res({"args" => "media=\"screen\"" }, ["stc/sup/s/x-4.css"]); - } elseif ($*active_theme == "x5") { - $p->need_res({"args" => "media=\"screen\"" }, ["stc/sup/s/x-4.css"]); - $p->need_res({"args" => "media=\"screen\"" }, ["stc/sup/s/x-5.css"]); + if ($*theme_css) { + $p->need_res({"args" => "media=\"screen, handheld\"" }, ["stc/sup/s/$*theme_css"]); + } + $p->need_res({"condition" => "IE","args" => "media=\"screen\"" }, ["stc/sup/s/ie.css"]); + } + } +} + +function Page::print() { + if ($.view == "recent") {$*_RecentPage = $this as RecentPage;} elseif ($.view == "friends") {$*_FriendsPage = $this as FriendsPage;} elseif ($.view == "day") {$*_DayPage = $this as DayPage;} elseif ($.view == "month") {$*_MonthPage = $this as MonthPage;} elseif ($.view == "archive") {$*_YearPage = $this as YearPage;} + _global_init_(); + var string _upic = $.journal.default_pic?"""<div class="userpic"><div class="userpic-in"><img alt="${.journal.default_pic.alttext}" width="${.journal.default_pic.width}" height="${.journal.default_pic.height}" """+ ($*active_theme == "x2" or $*active_theme == "x4"?"style=\"margin-top:"+ (100-${.journal.default_pic.height})/2 +"px;\"":"") +"""src="${.journal.default_pic.url}" /></div></div>""":""; + var string _h1 = "<h1>" + _user_print($.journal, "microformatted") + "</h1>"; + var string _nav = """ <li class="item item-recent""" + (($.view == "recent")?" item-selected":"") + """"><a""" + (($*exact_view != "recent_first")?" rel=\"home\" href=\"$*base_url\"":"") + """>$*text_view_recent</a></li> <li class="item item-friends""" + (($.view == "friends")?" item-selected":"") + """"><a""" + (($*exact_view != "friends_first")?" href=\"$*base_url/friends\"":"") + """>$*text_view_friends</a></li> <li class="item item-archive""" + (($.view == "archive" or $.view == "month" or $.view == "day")?" item-selected":"") + """"><a""" + (($*exact_view != "archive_first")?" href=\"$*base_url/calendar\"":"") + """>$*text_view_archive</a></li> <li class="item item-profile"><a href="$*base_url/profile">$*text_view_userinfo</a></li> <li class="item item-tag""" + (($.view == "tags")?" item-selected":"") + """"><a href="$*base_url/tag">$*text_tags_page_header</a></li> """; + var string rsslink = ($.data_link{"rss"})?($.data_link{"rss"}.url):"$*base_url/data/rss"; + var Link addlink = $.journal -> get_link("add_friend"); + var string addfriend = (not viewer_is_owner() and $addlink.url != "") ? $addlink.url : ""; + var string _nav_sub = ($addfriend ? """ <li class="item item-addfriend"><a class="btn btn-add" href="$addfriend"><span><span><span>$*text_friend_add</span></span></span></a></li> """ : "") + """ <li class="item item-rss"><a class="btn btn-rss" href="$rsslink"><span><span><span>RSS</span></span></span></a></li>"""; + if ($*active_theme == "x3") { $_nav_sub = ($addfriend ? """ <li class="item item-addfriend"><a href="$addfriend">$*text_friend_add</a></li> """ : "") + """ <li class="item item-rss"><a href="$rsslink">RSS</a></li> """; } + var string _h2 = """<h2><span>$.global_title</span></h2>"""; + var string _h3 = ""; + if ($.view == "friends" and $*_FriendsPage.friends_title != "") { + $_h3 = "<h3><span>$*_FriendsPage.friends_title</span></h3>"; + } elseif ($.global_subtitle != "") { + $_h3 = "<h3><span>$.global_subtitle</span></h3>"; + } + var string _hfeed = ($.view=="recent" or $.view=="friends" or $.view=="day")?" hfeed":""; + _Header(); +""" +<div id="page"> + <div class="layout $*active_theme"> + <div class="layout-inner"> + <div class="content$_hfeed"> + <div class="content-inner"> + <div class="header"> + <div class="nav-wrapper""" + ($addfriend ? " nav-addfriend" : "") + """\"> + <ul class="nav"> + $_nav + $_nav_sub + </ul> + </div> + $_upic + <div class="header-heads"> + $_h1 + $_h2 + $_h3 + </div> + </div> + <div class="hr hr-afterhead"><hr /></div> + """;$this->print_body();""" + </div> + </div> +"""; + if ($.view == "recent") { + _Sidebar(); + } +""" + </div> + </div> + </div> +"""; + _Footer(); +} + +function _Sidebar { + var Page p=get_page(); +""" + <div class="sidebar"> + <div class="sidebar-inner"> +"""; + if ($*layout_show_calendar) { +""" + <dl class="sidebar-block sidebar-cal"> + <dt>$*text_view_archive</dt> + <dd class="calendar-wrap">"""; _calendar($p->get_latest_month(), "sidebar"); """</dd> + </dl> +"""; + } + + if (size($p->visible_tag_list()) > 0 and $*layout_show_tags and $p.view!="tags") { + if ($*layout_show_calendar or (size($p.linklist) > 0 and $*layout_show_links)) {"""<div class="hr"><hr /></div>""";} +""" + <dl class="sidebar-block sidebar-tags"> + <dt>$*text_tags_section_header</dt> + <dd class="tags">"""; +if ($*tag_limit) { + _taglist($*tag_cloud_max,108); +} else { + _taglist(108); +} """</dd> + </dl> +"""; + } + """ + </div> + </div> + """; + + +} + +function RecentPage::print_body { + var Page p = get_page(); + if ($*sticky_post!="" and $*exact_view == "recent_first") { +""" + <div class="entry-wrap disabledcomments"> + <dl class="entry" id="post-sticky"> + <dt class="entry-title">""" + ($*sticky_subject!="" ? $*sticky_subject : "Sticky post") +"""</dt> + <dd class="entry-text"> + <div class="entry-content">$*sticky_post</div> + </dd> + </dl> + </div> + <div class="hr"><hr /></div> +"""; + } + foreach var Entry e ($.entries) { + _print_entry($e); + """ + <!-- $e.itemid --> + """; + } + if (size $.entries > 0 and ($.nav.backward_url != "" or $.nav.forward_url != "" or ($p.view == "recent" and $*page_recent_items != 1) or ($p.view == "friends" and $*page_friends_items != 1))) { +""" + <ul class="page-nav"> +"""; + if ($.nav.backward_url != "") { +""" + <li class="prev"><a href="$.nav.backward_url" class="item">"""+get_plural_phrase($.nav.backward_count, "text_skiplinks_back")+"""</a></li> +"""; + } + if (($p.view == "recent" and $*page_recent_items != 1) or ($p.view == "friends" and $*page_friends_items != 1)) { +""" + <li class="ontop"><a href="#" onclick="jQuery('body,html').animate({scrollTop:0},500);return false;" class="item">$*text_totop</a></li> +"""; + } + if ($.nav.forward_url != "") { +""" + <li class="next"><a href="$.nav.forward_url" class="item">"""+get_plural_phrase($.nav.forward_count, "text_skiplinks_forward")+"""</a></li> +"""; + } +""" + </ul> +"""; + } +} + +function DayPage::print_body() { + var string corners1 = ""; + var string corners1_2 = ""; + var string corners2 = ""; + if ($*active_theme == "x4") { + $corners1 = """<i class="cornerz cornerz-top"><b></b></i>"""; + $corners2 = """<i class="cornerz cornerz-bot"><b></b></i>"""; + } elseif ($*active_theme == "x5") { + $corners1_2 = """<i class="cornerz cornerz-top"><b></b></i>"""; + $corners2 = """<i class="cornerz cornerz-bot"><b></b></i>"""; + } + if ($.has_entries) { + foreach var Entry e ($.entries) { + _print_entry($e); + } + } else { +""" + <div class="entry-wrap">$corners1$corners1_2<div class="entry"><div class="entry-text"><p>$*text_noentries_day</p></div></div>$corners2</div> +"""; + } +""" + <ul class="page-nav"> + <li class="prev"><a class="item" href="$.prev_url">$*text_day_prev</a></li> +"""; + if (size $.entries > 1) { +""" + <li class="ontop"><a href="#" onclick="jQuery('body,html').animate({scrollTop:0},500);return false;" class="item">$*text_totop</a></li> +"""; + } +""" + <li class="next"><a class="item" href="$.next_url">$*text_day_next</a></li> + </ul> +"""; +} + +function ItemRange::print() { + if ($.all_subitems_displayed) { return; } + + """<ul class="comments-pages">"""; + + var string url_prev = $this->url_of($.current - 1); + if ($.current != 1) { + """<li class="comments-pages-prev"><a href="$url_prev#comments"><img src="$*IMGDIR/spacer.gif" width="7" height="13" alt="«" class="comments-pages-arr" /></a></li>"""; + } else { + """<li class="comments-pages-prev comments-pages-prev-dis"><img src="$*IMGDIR/spacer.gif" width="7" height="13" alt="«" class="comments-pages-arr" /></li>"""; + } + + foreach var int i (1..$.total) { + var string class_first = ($i == 1 ? " comments-pages-first" : ""); + if ($i == $.current) { + """<li class="comments-pages-item comments-pages-current$class_first">$i</li>"""; + } + else { + var string url_of = $this->url_of($i); + """<li class="comments-pages-item$class_first"><a href="$url_of#comments">$i</a></li>"""; + } + } + + var string url_next = $this->url_of($.current + 1); + if ($.current != $.total) { + """<li class="comments-pages-next"><a href="$url_next#comments"><img src="$*IMGDIR/spacer.gif" width="7" height="13" alt="»" class="comments-pages-arr" /></a></li>"""; + } else { + """<li class="comments-pages-next comments-pages-next-dis"><img src="$*IMGDIR/spacer.gif" width="7" height="13" alt="»" class="comments-pages-arr" /></li>"""; + } + + """</ul>"""; +} + + +function EntryPage::print_body { + var Page p = get_page(); + var Entry e = $.entry; + + _print_entry($e); + + if ($.entry.comments.enabled) { +""" + <div class="entry-wrap entry-comments" id="comments"> + <div class="entry"> + <div class="entry-text"><div class="entry-comments-text"> +"""; + var string comments_count = string($e.comments.count); + if ($.viewing_thread or $p.showspam) { + var string toplink = (($.comment_pages.total > 1) ? ($.comment_pages->url_of($.comment_pages.current)) : $e.permalink_url) + "#comments"; + $comments_count = """<a href="$toplink">"""+ get_plural_phrase($e.comments.count, "text_read_all_comments") +"""</a>"""; + } else { + $comments_count = get_plural_phrase($e.comments.count, "text_read_comments"); + } + if (not $.entry.comments.locked) { + $comments_count = """<span class="comments-count">$comments_count</span>"""; + } else { + $comments_count = ""; + } + var string comments_showspam = ""; + if ($e.comments.spam_counter > 0 and $e.comments.read_spam_url != "") { + if ($p.showspam) { + $comments_showspam = """<br /><span class="comments-hidespam">""" + get_plural_phrase($e.comments.spam_counter, "text_read_spam_comments") + """</span>"""; + } else { + $comments_showspam = """<br /><span class="comments-showspam"><a href=\"$e.comments.read_spam_url\">""" + get_plural_phrase($e.comments.spam_counter, "text_read_all_spam_comments") + """</a></span>"""; } + } else { + $comments_showspam = ""; + } + """<div class="comments-links">$comments_count$comments_showspam</div>"""; + + if ($.comment_pages.total_subitems > 0) { + $.comment_pages->print(); + } + + if (not $.entry.comments.locked) { + """ + <div class="comments-reply"> + <p class="replylink">"""; $this->print_reply_link({ "linktext" => $*text_post_comment, "target" => "topcomment" });"""</p> + """; + """ + </div> + """; + $this->print_reply_container({ "target" => "topcomment" }); + } + + if ($.comment_pages.total_subitems > 0) { + $this->print_multiform_start(); + + $this->print_comments($.comments); + + $this->print_multiform_actionline(); + $this->print_multiform_end(); + + if (not $.entry.comments.locked) { + """ + <div class="comments-reply"> + <p class="replylink">"""; $this->print_reply_link({ "linktext" => $*text_post_comment, "target" => "bottomcomment" });"""</p> + """; + """ + </div> + """; + $this->print_reply_container({ "target" => "bottomcomment" }); + } + + $.comment_pages->print(); + } + +""" + </div></div> + </div> + </div> +"""; + } +} + +function EntryPage::print_comment_full (Comment c) { + var Page p = get_page(); + var string poster = defined $c.poster ? _user_print($c.poster, "microformatted") : "<em>$*text_poster_anonymous</em>"; + var string evenodd = $c.depth % 2 ? "odd" : "even"; + if (defined $c.userpic and $*comment_userpic_style != "off") { + var int w = $c.userpic.width; + var int h = $c.userpic.height; + """<div class="comment-head $evenodd"><div class="comment-upic"><img src="$c.userpic.url" width="$w" height="$h" alt="$c.userpic.alttext" /></div>"""; + } else { + """<div class="comment-head $evenodd cwoup">"""; + } + """<div class="comment-head-in">"""; + if (defined $c.subject_icon or $c.subject != "") { + """<h3>$c.subject_icon $c.subject</h3>"""; + } + """<p>$poster <a class="comment-permalink" href="$c.permalink_url">""" + $c->time_display() + "</a>"; + if ($this.multiform_on) { + print safe """ <label for="ljcomsel_$c.talkid">$*text_multiform_check</label>"""; + $c->print_multiform_check(); + } + $c->print_linkbar(); + if ($c.metadata{"poster_ip"}) { " (" + $c.metadata{"poster_ip"} + ")"; } + "</p>"; + "</div></div>"; + + """<div class="comment-text""" + (defined $c.userpic and $*comment_userpic_style != "off" ? "" : " comment-text-cwoup") + """\">"""; $c->print_text(); "</div>"; + """<div class="comment-menu">"""; + """<ul>"""; + if ($c.frozen) { + print safe "<li>$*text_comment_frozen</li>"; + } elseif($c.screened) { + var Link link = $c->get_link("unscreen_to_reply"); + """<li><a class="unscreen-to-reply" href="$link.url" title="$link.caption">$link.caption</a></li>"""; + } elseif ((not $c.spam) or ($p.showspam)) { + """<li>"""; $c->print_reply_link({"linktext" => $*text_comment_reply}); """</li>"""; + } + if ($c.parent_url != "") { print safe """<li><a href="$c.parent_url">$*text_comment_parent</a></li>"""; } + if (($c.thread_url != "") and (not $c.spam)) { + print safe """<li><a href="$c.thread_url">$*text_comment_thread</a></li>"""; + """<li>"""; $c->print_expand_collapse_links(); """</li>"""; + } + """</ul>"""; + """</div><div class="hr"><hr /></div>"""; +} + +#NEWLAYER: sup/ipad-green +layerinfo "type" = "theme"; +layerinfo "name" = "iPad Beaverton green"; +layerinfo "redist_uniq" = "sup/ipad-green"; +set theme_css = "ipad.css"; +set active_theme = "green-skin"; +set recent_show_date = true; +set friends_show_date = true; +set recent_show_upic = false; +set friends_show_upic = false; +set theme_designer = "Mars"; + +function _print_CSS { + var Page p = get_page(); + + if ($*use_stylesheets) { + $p->need_res({"args" => "media=\"screen\"" }, ["stc/sup/s/style.css"]); + $p->need_res({"args" => "media=\"print\"" }, ["stc/sup/s/print.css"]); + + if ($*use_theme_stylesheet) { if ($*theme_css) { $p->need_res({"args" => "media=\"screen, handheld\"" }, ["stc/sup/s/$*theme_css"]); } @@ -572,7 +919,7 @@ _Header(); """ <div id="page"> - <div class="layout"> + <div class="layout $*active_theme"> <div class="layout-inner"> <div class="content$_hfeed"> <div class="content-inner"> @@ -884,6 +1231,730 @@ """</div><div class="hr"><hr /></div>"""; } +#NEWLAYER: sup/ipad-orange +layerinfo "type" = "theme"; +layerinfo "name" = "iPad Beaverton orange"; +layerinfo "redist_uniq" = "sup/ipad-orange"; +set theme_css = "ipad.css"; +set active_theme = "orange-skin"; +set recent_show_date = true; +set friends_show_date = true; +set recent_show_upic = false; +set friends_show_upic = false; +set theme_designer = "Mars"; + +function _print_CSS { + var Page p = get_page(); + + if ($*use_stylesheets) { + $p->need_res({"args" => "media=\"screen\"" }, ["stc/sup/s/style.css"]); + $p->need_res({"args" => "media=\"print\"" }, ["stc/sup/s/print.css"]); + + if ($*use_theme_stylesheet) { + if ($*theme_css) { + $p->need_res({"args" => "media=\"screen, handheld\"" }, ["stc/sup/s/$*theme_css"]); + } + $p->need_res({"condition" => "IE","args" => "media=\"screen\"" }, ["stc/sup/s/ie.css"]); + } + } +} + +function Page::print() { + if ($.view == "recent") {$*_RecentPage = $this as RecentPage;} elseif ($.view == "friends") {$*_FriendsPage = $this as FriendsPage;} elseif ($.view == "day") {$*_DayPage = $this as DayPage;} elseif ($.view == "month") {$*_MonthPage = $this as MonthPage;} elseif ($.view == "archive") {$*_YearPage = $this as YearPage;} + _global_init_(); + var string _upic = $.journal.default_pic?"""<div class="userpic"><div class="userpic-in"><img alt="${.journal.default_pic.alttext}" width="${.journal.default_pic.width}" height="${.journal.default_pic.height}" """+ ($*active_theme == "x2" or $*active_theme == "x4"?"style=\"margin-top:"+ (100-${.journal.default_pic.height})/2 +"px;\"":"") +"""src="${.journal.default_pic.url}" /></div></div>""":""; + var string _h1 = "<h1>" + _user_print($.journal, "microformatted") + "</h1>"; + var string _nav = """ <li class="item item-recent""" + (($.view == "recent")?" item-selected":"") + """"><a""" + (($*exact_view != "recent_first")?" rel=\"home\" href=\"$*base_url\"":"") + """>$*text_view_recent</a></li> <li class="item item-friends""" + (($.view == "friends")?" item-selected":"") + """"><a""" + (($*exact_view != "friends_first")?" href=\"$*base_url/friends\"":"") + """>$*text_view_friends</a></li> <li class="item item-archive""" + (($.view == "archive" or $.view == "month" or $.view == "day")?" item-selected":"") + """"><a""" + (($*exact_view != "archive_first")?" href=\"$*base_url/calendar\"":"") + """>$*text_view_archive</a></li> <li class="item item-profile"><a href="$*base_url/profile">$*text_view_userinfo</a></li> <li class="item item-tag""" + (($.view == "tags")?" item-selected":"") + """"><a href="$*base_url/tag">$*text_tags_page_header</a></li> """; + var string rsslink = ($.data_link{"rss"})?($.data_link{"rss"}.url):"$*base_url/data/rss"; + var Link addlink = $.journal -> get_link("add_friend"); + var string addfriend = (not viewer_is_owner() and $addlink.url != "") ? $addlink.url : ""; + var string _nav_sub = ($addfriend ? """ <li class="item item-addfriend"><a class="btn btn-add" href="$addfriend"><span><span><span>$*text_friend_add</span></span></span></a></li> """ : "") + """ <li class="item item-rss"><a class="btn btn-rss" href="$rsslink"><span><span><span>RSS</span></span></span></a></li>"""; + if ($*active_theme == "x3") { $_nav_sub = ($addfriend ? """ <li class="item item-addfriend"><a href="$addfriend">$*text_friend_add</a></li> """ : "") + """ <li class="item item-rss"><a href="$rsslink">RSS</a></li> """; } + var string _h2 = """<h2><span>$.global_title</span></h2>"""; + var string _h3 = ""; + if ($.view == "friends" and $*_FriendsPage.friends_title != "") { + $_h3 = "<h3><span>$*_FriendsPage.friends_title</span></h3>"; + } elseif ($.global_subtitle != "") { + $_h3 = "<h3><span>$.global_subtitle</span></h3>"; + } + var string _hfeed = ($.view=="recent" or $.view=="friends" or $.view=="day")?" hfeed":""; + _Header(); +""" +<div id="page"> + <div class="layout $*active_theme"> + <div class="layout-inner"> + <div class="content$_hfeed"> + <div class="content-inner"> + <div class="header"> + <div class="nav-wrapper""" + ($addfriend ? " nav-addfriend" : "") + """\"> + <ul class="nav"> + $_nav + $_nav_sub + </ul> + </div> + $_upic + <div class="header-heads"> + $_h1 + $_h2 + $_h3 + </div> + </div> + <div class="hr hr-afterhead"><hr /></div> + """;$this->print_body();""" + </div> + </div> +"""; + if ($.view == "recent") { + _Sidebar(); + } +""" + </div> + </div> + </div> +"""; + _Footer(); +} + +function _Sidebar { + var Page p=get_page(); +""" + <div class="sidebar"> + <div class="sidebar-inner"> +"""; + if ($*layout_show_calendar) { +""" + <dl class="sidebar-block sidebar-cal"> + <dt>$*text_view_archive</dt> + <dd class="calendar-wrap">"""; _calendar($p->get_latest_month(), "sidebar"); """</dd> + </dl> +"""; + } + + if (size($p->visible_tag_list()) > 0 and $*layout_show_tags and $p.view!="tags") { + if ($*layout_show_calendar or (size($p.linklist) > 0 and $*layout_show_links)) {"""<div class="hr"><hr /></div>""";} +""" + <dl class="sidebar-block sidebar-tags"> + <dt>$*text_tags_section_header</dt> + <dd class="tags">"""; +if ($*tag_limit) { + _taglist($*tag_cloud_max,108); +} else { + _taglist(108); +} """</dd> + </dl> +"""; + } + """ + </div> + </div> + """; + + +} + +function RecentPage::print_body { + var Page p = get_page(); + if ($*sticky_post!="" and $*exact_view == "recent_first") { +""" + <div class="entry-wrap disabledcomments"> + <dl class="entry" id="post-sticky"> + <dt class="entry-title">""" + ($*sticky_subject!="" ? $*sticky_subject : "Sticky post") +"""</dt> + <dd class="entry-text"> + <div class="entry-content">$*sticky_post</div> + </dd> + </dl> + </div> + <div class="hr"><hr /></div> +"""; + } + foreach var Entry e ($.entries) { + _print_entry($e); + """ + <!-- $e.itemid --> + """; + } + if (size $.entries > 0 and ($.nav.backward_url != "" or $.nav.forward_url != "" or ($p.view == "recent" and $*page_recent_items != 1) or ($p.view == "friends" and $*page_friends_items != 1))) { +""" + <ul class="page-nav"> +"""; + if ($.nav.backward_url != "") { +""" + <li class="prev"><a href="$.nav.backward_url" class="item">"""+get_plural_phrase($.nav.backward_count, "text_skiplinks_back")+"""</a></li> +"""; + } + if (($p.view == "recent" and $*page_recent_items != 1) or ($p.view == "friends" and $*page_friends_items != 1)) { +""" + <li class="ontop"><a href="#" onclick="jQuery('body,html').animate({scrollTop:0},500);return false;" class="item">$*text_totop</a></li> +"""; + } + if ($.nav.forward_url != "") { +""" + <li class="next"><a href="$.nav.forward_url" class="item">"""+get_plural_phrase($.nav.forward_count, "text_skiplinks_forward")+"""</a></li> +"""; + } +""" + </ul> +"""; + } +} + +function DayPage::print_body() { + var string corners1 = ""; + var string corners1_2 = ""; + var string corners2 = ""; + if ($*active_theme == "x4") { + $corners1 = """<i class="cornerz cornerz-top"><b></b></i>"""; + $corners2 = """<i class="cornerz cornerz-bot"><b></b></i>"""; + } elseif ($*active_theme == "x5") { + $corners1_2 = """<i class="cornerz cornerz-top"><b></b></i>"""; + $corners2 = """<i class="cornerz cornerz-bot"><b></b></i>"""; + } + if ($.has_entries) { + foreach var Entry e ($.entries) { + _print_entry($e); + } + } else { +""" + <div class="entry-wrap">$corners1$corners1_2<div class="entry"><div class="entry-text"><p>$*text_noentries_day</p></div></div>$corners2</div> +"""; + } +""" + <ul class="page-nav"> + <li class="prev"><a class="item" href="$.prev_url">$*text_day_prev</a></li> +"""; + if (size $.entries > 1) { +""" + <li class="ontop"><a href="#" onclick="jQuery('body,html').animate({scrollTop:0},500);return false;" class="item">$*text_totop</a></li> +"""; + } +""" + <li class="next"><a class="item" href="$.next_url">$*text_day_next</a></li> + </ul> +"""; +} + +function ItemRange::print() { + if ($.all_subitems_displayed) { return; } + + """<ul class="comments-pages">"""; + + var string url_prev = $this->url_of($.current - 1); + if ($.current != 1) { + """<li class="comments-pages-prev"><a href="$url_prev#comments"><img src="$*IMGDIR/spacer.gif" width="7" height="13" alt="«" class="comments-pages-arr" /></a></li>"""; + } else { + """<li class="comments-pages-prev comments-pages-prev-dis"><img src="$*IMGDIR/spacer.gif" width="7" height="13" alt="«" class="comments-pages-arr" /></li>"""; + } + + foreach var int i (1..$.total) { + var string class_first = ($i == 1 ? " comments-pages-first" : ""); + if ($i == $.current) { + """<li class="comments-pages-item comments-pages-current$class_first">$i</li>"""; + } + else { + var string url_of = $this->url_of($i); + """<li class="comments-pages-item$class_first"><a href="$url_of#comments">$i</a></li>"""; + } + } + + var string url_next = $this->url_of($.current + 1); + if ($.current != $.total) { + """<li class="comments-pages-next"><a href="$url_next#comments"><img src="$*IMGDIR/spacer.gif" width="7" height="13" alt="»" class="comments-pages-arr" /></a></li>"""; + } else { + """<li class="comments-pages-next comments-pages-next-dis"><img src="$*IMGDIR/spacer.gif" width="7" height="13" alt="»" class="comments-pages-arr" /></li>"""; + } + + """</ul>"""; +} + + +function EntryPage::print_body { + var Page p = get_page(); + var Entry e = $.entry; + + _print_entry($e); + + if ($.entry.comments.enabled) { +""" + <div class="entry-wrap entry-comments" id="comments"> + <div class="entry"> + <div class="entry-text"><div class="entry-comments-text"> +"""; + var string comments_count = string($e.comments.count); + if ($.viewing_thread or $p.showspam) { + var string toplink = (($.comment_pages.total > 1) ? ($.comment_pages->url_of($.comment_pages.current)) : $e.permalink_url) + "#comments"; + $comments_count = """<a href="$toplink">"""+ get_plural_phrase($e.comments.count, "text_read_all_comments") +"""</a>"""; + } else { + $comments_count = get_plural_phrase($e.comments.count, "text_read_comments"); + } + if (not $.entry.comments.locked) { + $comments_count = """<span class="comments-count">$comments_count</span>"""; + } else { + $comments_count = ""; + } + var string comments_showspam = ""; + if ($e.comments.spam_counter > 0 and $e.comments.read_spam_url != "") { + if ($p.showspam) { + $comments_showspam = """<br /><span class="comments-hidespam">""" + get_plural_phrase($e.comments.spam_counter, "text_read_spam_comments") + """</span>"""; + } else { + $comments_showspam = """<br /><span class="comments-showspam"><a href=\"$e.comments.read_spam_url\">""" + get_plural_phrase($e.comments.spam_counter, "text_read_all_spam_comments") + """</a></span>"""; + } + } else { + $comments_showspam = ""; + } + """<div class="comments-links">$comments_count$comments_showspam</div>"""; + + if ($.comment_pages.total_subitems > 0) { + $.comment_pages->print(); + } + + if (not $.entry.comments.locked) { + """ + <div class="comments-reply"> + <p class="replylink">"""; $this->print_reply_link({ "linktext" => $*text_post_comment, "target" => "topcomment" });"""</p> + """; + """ + </div> + """; + $this->print_reply_container({ "target" => "topcomment" }); + } + + if ($.comment_pages.total_subitems > 0) { + $this->print_multiform_start(); + + $this->print_comments($.comments); + + $this->print_multiform_actionline(); + $this->print_multiform_end(); + + if (not $.entry.comments.locked) { + """ + <div class="comments-reply"> + <p class="replylink">"""; $this->print_reply_link({ "linktext" => $*text_post_comment, "target" => "bottomcomment" });"""</p> + """; + """ + </div> + """; + $this->print_reply_container({ "target" => "bottomcomment" }); + } + + $.comment_pages->print(); + } + +""" + </div></div> + </div> + </div> +"""; + } +} + +function EntryPage::print_comment_full (Comment c) { + var Page p = get_page(); + var string poster = defined $c.poster ? _user_print($c.poster, "microformatted") : "<em>$*text_poster_anonymous</em>"; + var string evenodd = $c.depth % 2 ? "odd" : "even"; + if (defined $c.userpic and $*comment_userpic_style != "off") { + var int w = $c.userpic.width; + var int h = $c.userpic.height; + """<div class="comment-head $evenodd"><div class="comment-upic"><img src="$c.userpic.url" width="$w" height="$h" alt="$c.userpic.alttext" /></div>"""; + } else { + """<div class="comment-head $evenodd cwoup">"""; + } + """<div class="comment-head-in">"""; + if (defined $c.subject_icon or $c.subject != "") { + """<h3>$c.subject_icon $c.subject</h3>"""; + } + """<p>$poster <a class="comment-permalink" href="$c.permalink_url">""" + $c->time_display() + "</a>"; + if ($this.multiform_on) { + print safe """ <label for="ljcomsel_$c.talkid">$*text_multiform_check</label>"""; + $c->print_multiform_check(); + } + $c->print_linkbar(); + if ($c.metadata{"poster_ip"}) { " (" + $c.metadata{"poster_ip"} + ")"; } + "</p>"; + "</div></div>"; + + """<div class="comment-text""" + (defined $c.userpic and $*comment_userpic_style != "off" ? "" : " comment-text-cwoup") + """\">"""; $c->print_text(); "</div>"; + """<div class="comment-menu">"""; + """<ul>"""; + if ($c.frozen) { + print safe "<li>$*text_comment_frozen</li>"; + } elseif($c.screened) { + var Link link = $c->get_link("unscreen_to_reply"); + """<li><a class="unscreen-to-reply" href="$link.url" title="$link.caption">$link.caption</a></li>"""; + } elseif ((not $c.spam) or ($p.showspam)) { + """<li>"""; $c->print_reply_link({"linktext" => $*text_comment_reply}); """</li>"""; + } + if ($c.parent_url != "") { print safe """<li><a href="$c.parent_url">$*text_comment_parent</a></li>"""; } + if (($c.thread_url != "") and (not $c.spam)) { + print safe """<li><a href="$c.thread_url">$*text_comment_thread</a></li>"""; + """<li>"""; $c->print_expand_collapse_links(); """</li>"""; + } + """</ul>"""; + """</div><div class="hr"><hr /></div>"""; +} + +#NEWLAYER: sup/ipad-pink +layerinfo "type" = "theme"; +layerinfo "name" = "iPad Beaverton pink"; +layerinfo "redist_uniq" = "sup/ipad-pink"; +set theme_css = "ipad.css"; +set active_theme = "pink-skin"; +set recent_show_date = true; +set friends_show_date = true; +set recent_show_upic = false; +set friends_show_upic = false; +set theme_designer = "Mars"; + +function _print_CSS { + var Page p = get_page(); + + if ($*use_stylesheets) { + $p->need_res({"args" => "media=\"screen\"" }, ["stc/sup/s/style.css"]); + $p->need_res({"args" => "media=\"print\"" }, ["stc/sup/s/print.css"]); + + if ($*use_theme_stylesheet) { + if ($*theme_css) { + $p->need_res({"args" => "media=\"screen, handheld\"" }, ["stc/sup/s/$*theme_css"]); + } + $p->need_res({"condition" => "IE","args" => "media=\"screen\"" }, ["stc/sup/s/ie.css"]); + } + } +} + +function Page::print() { + if ($.view == "recent") {$*_RecentPage = $this as RecentPage;} elseif ($.view == "friends") {$*_FriendsPage = $this as FriendsPage;} elseif ($.view == "day") {$*_DayPage = $this as DayPage;} elseif ($.view == "month") {$*_MonthPage = $this as MonthPage;} elseif ($.view == "archive") {$*_YearPage = $this as YearPage;} + _global_init_(); + var string _upic = $.journal.default_pic?"""<div class="userpic"><div class="userpic-in"><img alt="${.journal.default_pic.alttext}" width="${.journal.default_pic.width}" height="${.journal.default_pic.height}" """+ ($*active_theme == "x2" or $*active_theme == "x4"?"style=\"margin-top:"+ (100-${.journal.default_pic.height})/2 +"px;\"":"") +"""src="${.journal.default_pic.url}" /></div></div>""":""; + var string _h1 = "<h1>" + _user_print($.journal, "microformatted") + "</h1>"; + var string _nav = """ <li class="item item-recent""" + (($.view == "recent")?" item-selected":"") + """"><a""" + (($*exact_view != "recent_first")?" rel=\"home\" href=\"$*base_url\"":"") + """>$*text_view_recent</a></li> <li class="item item-friends""" + (($.view == "friends")?" item-selected":"") + """"><a""" + (($*exact_view != "friends_first")?" href=\"$*base_url/friends\"":"") + """>$*text_view_friends</a></li> <li class="item item-archive""" + (($.view == "archive" or $.view == "month" or $.view == "day")?" item-selected":"") + """"><a""" + (($*exact_view != "archive_first")?" href=\"$*base_url/calendar\"":"") + """>$*text_view_archive</a></li> <li class="item item-profile"><a href="$*base_url/profile">$*text_view_userinfo</a></li> <li class="item item-tag""" + (($.view == "tags")?" item-selected":"") + """"><a href="$*base_url/tag">$*text_tags_page_header</a></li> """; + var string rsslink = ($.data_link{"rss"})?($.data_link{"rss"}.url):"$*base_url/data/rss"; + var Link addlink = $.journal -> get_link("add_friend"); + var string addfriend = (not viewer_is_owner() and $addlink.url != "") ? $addlink.url : ""; + var string _nav_sub = ($addfriend ? """ <li class="item item-addfriend"><a class="btn btn-add" href="$addfriend"><span><span><span>$*text_friend_add</span></span></span></a></li> """ : "") + """ <li class="item item-rss"><a class="btn btn-rss" href="$rsslink"><span><span><span>RSS</span></span></span></a></li>"""; + if ($*active_theme == "x3") { $_nav_sub = ($addfriend ? """ <li class="item item-addfriend"><a href="$addfriend">$*text_friend_add</a></li> """ : "") + """ <li class="item item-rss"><a href="$rsslink">RSS</a></li> """; } + var string _h2 = """<h2><span>$.global_title</span></h2>"""; + var string _h3 = ""; + if ($.view == "friends" and $*_FriendsPage.friends_title != "") { + $_h3 = "<h3><span>$*_FriendsPage.friends_title</span></h3>"; + } elseif ($.global_subtitle != "") { + $_h3 = "<h3><span>$.global_subtitle</span></h3>"; + } + var string _hfeed = ($.view=="recent" or $.view=="friends" or $.view=="day")?" hfeed":""; + _Header(); +""" +<div id="page"> + <div class="layout $*active_theme"> + <div class="layout-inner"> + <div class="content$_hfeed"> + <div class="content-inner"> + <div class="header"> + <div class="nav-wrapper""" + ($addfriend ? " nav-addfriend" : "") + """\"> + <ul class="nav"> + $_nav + $_nav_sub + </ul> + </div> + $_upic + <div class="header-heads"> + $_h1 + $_h2 + $_h3 + </div> + </div> + <div class="hr hr-afterhead"><hr /></div> + """;$this->print_body();""" + </div> + </div> +"""; + if ($.view == "recent") { + _Sidebar(); + } +""" + </div> + </div> + </div> +"""; + _Footer(); +} + +function _Sidebar { + var Page p=get_page(); +""" + <div class="sidebar"> + <div class="sidebar-inner"> +"""; + if ($*layout_show_calendar) { +""" + <dl class="sidebar-block sidebar-cal"> + <dt>$*text_view_archive</dt> + <dd class="calendar-wrap">"""; _calendar($p->get_latest_month(), "sidebar"); """</dd> + </dl> +"""; + } + + if (size($p->visible_tag_list()) > 0 and $*layout_show_tags and $p.view!="tags") { + if ($*layout_show_calendar or (size($p.linklist) > 0 and $*layout_show_links)) {"""<div class="hr"><hr /></div>""";} +""" + <dl class="sidebar-block sidebar-tags"> + <dt>$*text_tags_section_header</dt> + <dd class="tags">"""; +if ($*tag_limit) { + _taglist($*tag_cloud_max,108); +} else { + _taglist(108); +} """</dd> + </dl> +"""; + } + """ + </div> + </div> + """; + + +} + +function RecentPage::print_body { + var Page p = get_page(); + if ($*sticky_post!="" and $*exact_view == "recent_first") { +""" + <div class="entry-wrap disabledcomments"> + <dl class="entry" id="post-sticky"> + <dt class="entry-title">""" + ($*sticky_subject!="" ? $*sticky_subject : "Sticky post") +"""</dt> + <dd class="entry-text"> + <div class="entry-content">$*sticky_post</div> + </dd> + </dl> + </div> + <div class="hr"><hr /></div> +"""; + } + foreach var Entry e ($.entries) { + _print_entry($e); + """ + <!-- $e.itemid --> + """; + } + if (size $.entries > 0 and ($.nav.backward_url != "" or $.nav.forward_url != "" or ($p.view == "recent" and $*page_recent_items != 1) or ($p.view == "friends" and $*page_friends_items != 1))) { +""" + <ul class="page-nav"> +"""; + if ($.nav.backward_url != "") { +""" + <li class="prev"><a href="$.nav.backward_url" class="item">"""+get_plural_phrase($.nav.backward_count, "text_skiplinks_back")+"""</a></li> +"""; + } + if (($p.view == "recent" and $*page_recent_items != 1) or ($p.view == "friends" and $*page_friends_items != 1)) { +""" + <li class="ontop"><a href="#" onclick="jQuery('body,html').animate({scrollTop:0},500);return false;" class="item">$*text_totop</a></li> +"""; + } + if ($.nav.forward_url != "") { +""" + <li class="next"><a href="$.nav.forward_url" class="item">"""+get_plural_phrase($.nav.forward_count, "text_skiplinks_forward")+"""</a></li> +"""; + } +""" + </ul> +"""; + } +} + +function DayPage::print_body() { + var string corners1 = ""; + var string corners1_2 = ""; + var string corners2 = ""; + if ($*active_theme == "x4") { + $corners1 = """<i class="cornerz cornerz-top"><b></b></i>"""; + $corners2 = """<i class="cornerz cornerz-bot"><b></b></i>"""; + } elseif ($*active_theme == "x5") { + $corners1_2 = """<i class="cornerz cornerz-top"><b></b></i>"""; + $corners2 = """<i class="cornerz cornerz-bot"><b></b></i>"""; + } + if ($.has_entries) { + foreach var Entry e ($.entries) { + _print_entry($e); + } + } else { +""" + <div class="entry-wrap">$corners1$corners1_2<div class="entry"><div class="entry-text"><p>$*text_noentries_day</p></div></div>$corners2</div> +"""; + } +""" + <ul class="page-nav"> + <li class="prev"><a class="item" href="$.prev_url">$*text_day_prev</a></li> +"""; + if (size $.entries > 1) { +""" + <li class="ontop"><a href="#" onclick="jQuery('body,html').animate({scrollTop:0},500);return false;" class="item">$*text_totop</a></li> +"""; + } +""" + <li class="next"><a class="item" href="$.next_url">$*text_day_next</a></li> + </ul> +"""; +} + +function ItemRange::print() { + if ($.all_subitems_displayed) { return; } + + """<ul class="comments-pages">"""; + + var string url_prev = $this->url_of($.current - 1); + if ($.current != 1) { + """<li class="comments-pages-prev"><a href="$url_prev#comments"><img src="$*IMGDIR/spacer.gif" width="7" height="13" alt="«" class="comments-pages-arr" /></a></li>"""; + } else { + """<li class="comments-pages-prev comments-pages-prev-dis"><img src="$*IMGDIR/spacer.gif" width="7" height="13" alt="«" class="comments-pages-arr" /></li>"""; + } + + foreach var int i (1..$.total) { + var string class_first = ($i == 1 ? " comments-pages-first" : ""); + if ($i == $.current) { + """<li class="comments-pages-item comments-pages-current$class_first">$i</li>"""; + } + else { + var string url_of = $this->url_of($i); + """<li class="comments-pages-item$class_first"><a href="$url_of#comments">$i</a></li>"""; + } + } + + var string url_next = $this->url_of($.current + 1); + if ($.current != $.total) { + """<li class="comments-pages-next"><a href="$url_next#comments"><img src="$*IMGDIR/spacer.gif" width="7" height="13" alt="»" class="comments-pages-arr" /></a></li>"""; + } else { + """<li class="comments-pages-next comments-pages-next-dis"><img src="$*IMGDIR/spacer.gif" width="7" height="13" alt="»" class="comments-pages-arr" /></li>"""; + } + + """</ul>"""; +} + + +function EntryPage::print_body { + var Page p = get_page(); + var Entry e = $.entry; + + _print_entry($e); + + if ($.entry.comments.enabled) { +""" + <div class="entry-wrap entry-comments" id="comments"> + <div class="entry"> + <div class="entry-text"><div class="entry-comments-text"> +"""; + var string comments_count = string($e.comments.count); + if ($.viewing_thread or $p.showspam) { + var string toplink = (($.comment_pages.total > 1) ? ($.comment_pages->url_of($.comment_pages.current)) : $e.permalink_url) + "#comments"; + $comments_count = """<a href="$toplink">"""+ get_plural_phrase($e.comments.count, "text_read_all_comments") +"""</a>"""; + } else { + $comments_count = get_plural_phrase($e.comments.count, "text_read_comments"); + } + if (not $.entry.comments.locked) { + $comments_count = """<span class="comments-count">$comments_count</span>"""; + } else { + $comments_count = ""; + } + var string comments_showspam = ""; + if ($e.comments.spam_counter > 0 and $e.comments.read_spam_url != "") { + if ($p.showspam) { + $comments_showspam = """<br /><span class="comments-hidespam">""" + get_plural_phrase($e.comments.spam_counter, "text_read_spam_comments") + """</span>"""; + } else { + $comments_showspam = """<br /><span class="comments-showspam"><a href=\"$e.comments.read_spam_url\">""" + get_plural_phrase($e.comments.spam_counter, "text_read_all_spam_comments") + """</a></span>"""; + } + } else { + $comments_showspam = ""; + } + """<div class="comments-links">$comments_count$comments_showspam</div>"""; + + if ($.comment_pages.total_subitems > 0) { + $.comment_pages->print(); + } + + if (not $.entry.comments.locked) { + """ + <div class="comments-reply"> + <p class="replylink">"""; $this->print_reply_link({ "linktext" => $*text_post_comment, "target" => "topcomment" });"""</p> + """; + """ + </div> + """; + $this->print_reply_container({ "target" => "topcomment" }); + } + + if ($.comment_pages.total_subitems > 0) { + $this->print_multiform_start(); + + $this->print_comments($.comments); + + $this->print_multiform_actionline(); + $this->print_multiform_end(); + + if (not $.entry.comments.locked) { + """ + <div class="comments-reply"> + <p class="replylink">"""; $this->print_reply_link({ "linktext" => $*text_post_comment, "target" => "bottomcomment" });"""</p> + """; + """ + </div> + """; + $this->print_reply_container({ "target" => "bottomcomment" }); + } + + $.comment_pages->print(); + } + +""" + </div></div> + </div> + </div> +"""; + } +} + +function EntryPage::print_comment_full (Comment c) { + var Page p = get_page(); + var string poster = defined $c.poster ? _user_print($c.poster, "microformatted") : "<em>$*text_poster_anonymous</em>"; + var string evenodd = $c.depth % 2 ? "odd" : "even"; + if (defined $c.userpic and $*comment_userpic_style != "off") { + var int w = $c.userpic.width; + var int h = $c.userpic.height; + """<div class="comment-head $evenodd"><div class="comment-upic"><img src="$c.userpic.url" width="$w" height="$h" alt="$c.userpic.alttext" /></div>"""; + } else { + """<div class="comment-head $evenodd cwoup">"""; + } + """<div class="comment-head-in">"""; + if (defined $c.subject_icon or $c.subject != "") { + """<h3>$c.subject_icon $c.subject</h3>"""; + } + """<p>$poster <a class="comment-permalink" href="$c.permalink_url">""" + $c->time_display() + "</a>"; + if ($this.multiform_on) { + print safe """ <label for="ljcomsel_$c.talkid">$*text_multiform_check</label>"""; + $c->print_multiform_check(); + } + $c->print_linkbar(); + if ($c.metadata{"poster_ip"}) { " (" + $c.metadata{"poster_ip"} + ")"; } + "</p>"; + "</div></div>"; + + """<div class="comment-text""" + (defined $c.userpic and $*comment_userpic_style != "off" ? "" : " comment-text-cwoup") + """\">"""; $c->print_text(); "</div>"; + """<div class="comment-menu">"""; + """<ul>"""; + if ($c.frozen) { + print safe "<li>$*text_comment_frozen</li>"; + } elseif($c.screened) { + var Link link = $c->get_link("unscreen_to_reply"); + """<li><a class="unscreen-to-reply" href="$link.url" title="$link.caption">$link.caption</a></li>"""; + } elseif ((not $c.spam) or ($p.showspam)) { + """<li>"""; $c->print_reply_link({"linktext" => $*text_comment_reply}); """</li>"""; + } + if ($c.parent_url != "") { print safe """<li><a href="$c.parent_url">$*text_comment_parent</a></li>"""; } + if (($c.thread_url != "") and (not $c.spam)) { + print safe """<li><a href="$c.thread_url">$*text_comment_thread</a></li>"""; + """<li>"""; $c->print_expand_collapse_links(); """</li>"""; + } + """</ul>"""; + """</div><div class="hr"><hr /></div>"""; +} + #NEWLAYER: sup/spring-daze layerinfo "type" = "theme"; layerinfo "name" = "Spring Daze"; Modified: trunk/cgi-bin/LJ/S2Theme/sup.pm =================================================================== --- trunk/cgi-bin/LJ/S2Theme/sup.pm 2011-08-10 06:35:54 UTC (rev 10833) +++ trunk/cgi-bin/LJ/S2Theme/sup.pm 2011-08-10 08:22:32 UTC (rev 10834) @@ -135,11 +135,26 @@ sub cats { qw( sup anniversary ) } sub designer { "matt_uza" } -package LJ::S2Theme::sup::ipad; +package LJ::S2Theme::sup::ipad_blue; use base qw(LJ::S2Theme::sup); -sub cats { qw( sup premium ipad ) } +sub cats { qw( sup premium ipad blue ) } sub designer { "mars" } +package LJ::S2Theme::sup::ipad_green; +use base qw(LJ::S2Theme::sup); +sub cats { qw( sup premium ipad green ) } +sub designer { "mars" } + +package LJ::S2Theme::sup::ipad_orange; +use base qw(LJ::S2Theme::sup); +sub cats { qw( sup premium ipad orange ) } +sub designer { "mars" } + +package LJ::S2Theme::sup::ipad_pink; +use base qw(LJ::S2Theme::sup); +sub cats { qw( sup premium ipad pink ) } +sub designer { "mars" } + package LJ::S2Theme::sup::spring_daze; use base qw(LJ::S2Theme::sup); sub cats { qw( sup spring daze minimalism cute natural ) }