[dw-free] Remove "Only show themes available to me" from interface
[commit: http://hg.dwscoalition.org/dw-free/rev/f83ad558778f]
http://bugs.dwscoalition.org/show_bug.cgi?id=2109
Remove 'show only available styles' option. All styles are available to all
users.
Patch by
gchick.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=2109
Remove 'show only available styles' option. All styles are available to all
users.
Patch by
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Files modified:
- cgi-bin/LJ/Customize.pm
- cgi-bin/LJ/S2Theme.pm
- cgi-bin/LJ/Widget/CurrentTheme.pm
- cgi-bin/LJ/Widget/ThemeChooser.pm
- cgi-bin/LJ/Widget/ThemeNav.pm
- htdocs/customize/index.bml
- htdocs/js/customize.js
-------------------------------------------------------------------------------- diff -r d40fdf239212 -r f83ad558778f cgi-bin/LJ/Customize.pm --- a/cgi-bin/LJ/Customize.pm Mon Dec 07 05:08:32 2009 +0000 +++ b/cgi-bin/LJ/Customize.pm Mon Dec 07 05:10:29 2009 +0000 @@ -234,11 +234,11 @@ sub get_layouts_for_dropdown { my @layouts = map { my $text = $pub->{$_}->{'name'}; my $can_use_layer = LJ::S2::can_use_layer($u, $pub->{$_}->{'uniq'}); - $text = "$text*" if $opts{filter_available} && !$can_use_layer; # for browsers that don't support disabled or colored options + $text = "$text*" if !$can_use_layer; # for browsers that don't support disabled or colored options { value => $_, text => $text, - disabled => $opts{filter_available} && !$can_use_layer, + disabled => !$can_use_layer, } } sort { $pub->{$a}->{'name'} cmp $pub->{$b}->{'name'} } @@ -252,7 +252,7 @@ sub get_layouts_for_dropdown { } keys %$pub; # add custom layouts - push @layouts, $class->get_custom_layouts_for_dropdown($u, filter_available => $opts{filter_available}); + push @layouts, $class->get_custom_layouts_for_dropdown($u); LJ::run_hook("modify_layout_list", \@layouts, user => $u, add_seps => 1); unshift @layouts, 0, LJ::Lang::ml('customize.layouts_for_dropdown.choose'); @@ -273,11 +273,11 @@ sub get_custom_layouts_for_dropdown { my @user = map { my $text = $userlay->{$_}->{'name'} ? $userlay->{$_}->{'name'} : LJ::Lang::ml('customize.layoutname.default', {'layoutid' => "\#$_"}); - $text = "$text*" if $opts{filter_available} && !$has_cap; # for browsers that don't support disabled or colored options + $text = "$text*" if !$has_cap; # for browsers that don't support disabled or colored options { value => $_, text => $text, - disabled => $opts{filter_available} && !$has_cap, + disabled => !$has_cap, } } sort { $userlay->{$a}->{'name'} cmp $userlay->{$b}->{'name'} || $a <=> $b } diff -r d40fdf239212 -r f83ad558778f cgi-bin/LJ/S2Theme.pm --- a/cgi-bin/LJ/S2Theme.pm Mon Dec 07 05:08:32 2009 +0000 +++ b/cgi-bin/LJ/S2Theme.pm Mon Dec 07 05:10:29 2009 +0000 @@ -295,22 +295,6 @@ sub load_all { return @themes; } -# given an array of themes, return an array of only those themes available to the given user -sub filter_available { - my $class = shift; - my $u = shift; - my @themes = @_; - - die "Invalid user object." unless LJ::isu($u); - - my @themes_ret; - foreach my $theme (@themes) { - push @themes_ret, $theme if $theme->available_to($u); - } - - return @themes_ret; -} - # custom layouts without themes need special treatment when creating an S2Theme object sub new_custom_layout { my $class = shift; diff -r d40fdf239212 -r f83ad558778f cgi-bin/LJ/Widget/CurrentTheme.pm --- a/cgi-bin/LJ/Widget/CurrentTheme.pm Mon Dec 07 05:08:32 2009 +0000 +++ b/cgi-bin/LJ/Widget/CurrentTheme.pm Mon Dec 07 05:10:29 2009 +0000 @@ -20,7 +20,6 @@ sub render_body { my $getextra = $u->user ne $remote->user ? "?authas=" . $u->user : ""; my $getsep = $getextra ? "&" : "?"; - my $filterarg = $opts{filter_available} ? "&filter_available=1" : ""; my $showarg = $opts{show} != 12 ? "&show=$opts{show}" : ""; my $no_theme_chooser = defined $opts{no_theme_chooser} ? $opts{no_theme_chooser} : 0; my $no_layer_edit = LJ::run_hook("no_theme_or_layer_edit", $u); @@ -36,11 +35,11 @@ sub render_body { $ret .= "<img src='" . $theme->preview_imgurl . "' class='theme-current-image' />"; $ret .= "<h3>" . $theme->name . "</h3>"; - my $layout_link = "<a href='$LJ::SITEROOT/customize/$getextra${getsep}layoutid=" . $theme->layoutid . "$filterarg$showarg' class='theme-current-layout'><em>$layout_name</em></a>"; - my $special_link_opts = "href='$LJ::SITEROOT/customize/$getextra${getsep}cat=special$filterarg$showarg' class='theme-current-cat'"; + my $layout_link = "<a href='$LJ::SITEROOT/customize/$getextra${getsep}layoutid=" . $theme->layoutid . "$showarg' class='theme-current-layout'><em>$layout_name</em></a>"; + my $special_link_opts = "href='$LJ::SITEROOT/customize/$getextra${getsep}cat=special$showarg' class='theme-current-cat'"; $ret .= "<p class='theme-current-desc'>"; if ($designer) { - my $designer_link = "<a href='$LJ::SITEROOT/customize/$getextra${getsep}designer=" . LJ::eurl($designer) . "$filterarg$showarg' class='theme-current-designer'>$designer</a>"; + my $designer_link = "<a href='$LJ::SITEROOT/customize/$getextra${getsep}designer=" . LJ::eurl($designer) . "$showarg' class='theme-current-designer'>$designer</a>"; if (LJ::run_hook("layer_is_special", $theme->uniq)) { $ret .= $class->ml('widget.currenttheme.specialdesc', {'aopts' => $special_link_opts, 'designer' => $designer_link}); } else { @@ -93,7 +92,7 @@ sub js { var getArgs = LiveJournal.parseGetArgs(filter_link.href); for (var arg in getArgs) { if (!getArgs.hasOwnProperty(arg)) continue; - if (arg == "authas" || arg == "filter_available" || arg == "show") continue; + if (arg == "authas" || arg == "show") continue; DOM.addEventListener(filter_link, "click", function (evt) { Customize.ThemeNav.filterThemes(evt, arg, getArgs[arg]) }); break; } diff -r d40fdf239212 -r f83ad558778f cgi-bin/LJ/Widget/ThemeChooser.pm --- a/cgi-bin/LJ/Widget/ThemeChooser.pm Mon Dec 07 05:08:32 2009 +0000 +++ b/cgi-bin/LJ/Widget/ThemeChooser.pm Mon Dec 07 05:10:29 2009 +0000 @@ -26,11 +26,9 @@ sub render_body { my $layoutid = defined $opts{layoutid} ? $opts{layoutid} : 0; my $designer = defined $opts{designer} ? $opts{designer} : ""; my $search = defined $opts{search} ? $opts{search} : ""; - my $filter_available = defined $opts{filter_available} ? $opts{filter_available} : 0; my $page = $opts{page} || 1; my $show = $opts{show} || 12; - my $filterarg = $filter_available ? "&filter_available=1" : ""; my $showarg = $show != 12 ? "&show=$opts{show}" : ""; my $viewing_featured = !$cat && !$layoutid && !$designer; @@ -61,11 +59,6 @@ sub render_body { @themes = LJ::S2Theme->load_by_search($search, $u); } else { # category is "featured" @themes = LJ::S2Theme->load_by_cat("featured"); - } - - if ($filter_available) { - push @getargs, "filter_available=$filter_available"; - @themes = LJ::S2Theme->filter_available($u, @themes); } if ($show != 12) { @@ -144,7 +137,7 @@ sub render_body { } elsif (!$theme->themeid && !$current_theme->themeid) { $theme_types{current} = 1 if $theme->layoutid == $current_theme->layoutid; } - $theme_types{upgrade} = 1 if !$filter_available && !$theme->available_to($u); + $theme_types{upgrade} = 1 if !$theme->available_to($u); $theme_types{special} = 1 if LJ::run_hook("layer_is_special", $theme->uniq); @@ -195,11 +188,11 @@ sub render_body { $ret .= "<img src='$LJ::IMGPREFIX/customize/preview-theme.gif' class='theme-preview-image' /></a>"; $ret .= $theme_icons; - my $layout_link = "<a href='$LJ::SITEROOT/customize/$getextra${getsep}layoutid=" . $theme->layoutid . "$filterarg$showarg' class='theme-layout'><em>$theme_layout_name</em></a>"; - my $special_link_opts = "href='$LJ::SITEROOT/customize/$getextra${getsep}cat=special$filterarg$showarg' class='theme-cat'"; + my $layout_link = "<a href='$LJ::SITEROOT/customize/$getextra${getsep}layoutid=" . $theme->layoutid . "$showarg' class='theme-layout'><em>$theme_layout_name</em></a>"; + my $special_link_opts = "href='$LJ::SITEROOT/customize/$getextra${getsep}cat=special$showarg' class='theme-cat'"; $ret .= "<div class='theme-action'><p class='theme-desc'>"; if ($theme_designer) { - my $designer_link = "<a href='$LJ::SITEROOT/customize/$getextra${getsep}designer=" . LJ::eurl($theme_designer) . "$filterarg$showarg' class='theme-designer'>$theme_designer</a>"; + my $designer_link = "<a href='$LJ::SITEROOT/customize/$getextra${getsep}designer=" . LJ::eurl($theme_designer) . "$showarg' class='theme-designer'>$theme_designer</a>"; if ($theme_types{special}) { $ret .= $class->ml('widget.themechooser.theme.specialdesc', {'aopts' => $special_link_opts, 'designer' => $designer_link}); } else { @@ -370,7 +363,7 @@ sub js { } else { for (var arg in getArgs) { if (!getArgs.hasOwnProperty(arg)) continue; - if (arg == "authas" || arg == "filter_available" || arg == "show") continue; + if (arg == "authas" || arg == "show") continue; DOM.addEventListener(filter_link, "click", function (evt) { Customize.ThemeNav.filterThemes(evt, arg, getArgs[arg]) }); break; } @@ -415,14 +408,9 @@ sub js { layoutid: Customize.layoutid, designer: Customize.designer, search: Customize.search, - filter_available: Customize.filter_available, page: Customize.page, show: Customize.show, theme_chooser_id: $('theme_chooser_id').value - }); - Customize.CurrentTheme.updateContent({ - filter_available: Customize.filter_available, - show: Customize.show }); Customize.LayoutChooser.updateContent({ ad_layout_id: $('ad_layout_id').value diff -r d40fdf239212 -r f83ad558778f cgi-bin/LJ/Widget/ThemeNav.pm --- a/cgi-bin/LJ/Widget/ThemeNav.pm Mon Dec 07 05:08:32 2009 +0000 +++ b/cgi-bin/LJ/Widget/ThemeNav.pm Mon Dec 07 05:10:29 2009 +0000 @@ -29,11 +29,8 @@ sub render_body { my $layoutid = defined $opts{layoutid} ? $opts{layoutid} : 0; my $designer = defined $opts{designer} ? $opts{designer} : ""; my $search = defined $opts{search} ? $opts{search} : ""; - my $filter_available = defined $opts{filter_available} ? $opts{filter_available} : 0; my $page = defined $opts{page} ? $opts{page} : 1; my $show = defined $opts{show} ? $opts{show} : 12; - - my $filterarg = $filter_available ? "filter_available=1" : ""; my $showarg = $show != 12 ? "show=$opts{show}" : ""; # we want to have "All" selected if we're filtering by layout or designer, or if we're searching @@ -62,13 +59,7 @@ sub render_body { } my $ret; - $ret .= "<h2 class='widget-header'>" . $class->ml('widget.themenav.title'); - $ret .= $class->start_form; - $ret .= "<span>" . $class->html_check( name => "filter_available", id => "filter_available", selected => $filter_available ); - $ret .= " <label for='filter_available'>" . $class->ml('widget.themenav.filteravailable') . "</label>"; - $ret .= " " . $class->html_submit( "filter" => $class->ml('widget.themenav.btn.filteravailable'), { id => "filter_btn" }) . "</span>"; - $ret .= $class->end_form; - $ret .= "</h2>"; + $ret .= "<h2 class='widget-header'>" . $class->ml('widget.themenav.title') . "</h2>"; my @keywords = LJ::Customize->get_search_keywords_for_js($u); my $keywords_string = join(",", @keywords); @@ -91,7 +82,6 @@ sub render_body { viewing_all => $viewing_all, cat_list => \@main_cats_sorted, getextra => $getextra, - filterarg => $filterarg, showarg => $showarg, ); $ret .= "</ul>"; @@ -106,7 +96,6 @@ sub render_body { viewing_all => $viewing_all, cat_list => \@cats_sorted, getextra => $getextra, - filterarg => $filterarg, showarg => $showarg, ); $ret .= "</ul>"; @@ -128,7 +117,6 @@ sub render_body { layoutid => $layoutid, designer => $designer, search => $search, - filter_available => $filter_available, page => $page, show => $show, ); @@ -181,13 +169,10 @@ sub print_cat_list { my $arg = ""; $arg = "cat=$c" unless $c eq "featured"; - if ($arg || $opts{filterarg} || $opts{showarg}) { + if ($arg || $opts{showarg}) { my $allargs = $arg; - $allargs .= "&" if $allargs && $opts{filterarg}; - $allargs .= $opts{filterarg}; $allargs .= "&" if $allargs && $opts{showarg}; $allargs .= $opts{showarg}; - $arg = $opts{getextra} ? "&$allargs" : "?$allargs"; } @@ -207,15 +192,10 @@ sub handle_post { my $url = "$LJ::SITEROOT/customize/"; if ($post->{filter}) { - $q_string =~ s/&?filter_available=\d//g; $q_string = "?$q_string" if $q_string; my $q_sep = $q_string ? "&" : "?"; + $url .= $q_string; - if ($post->{filter_available}) { - $url .= "$q_string${q_sep}filter_available=1"; - } else { - $url .= $q_string; - } } elsif ($post->{page}) { $q_string = "?$q_string" if $q_string; my $q_sep = $q_string ? "&" : "?"; @@ -238,13 +218,12 @@ sub handle_post { $url .= $q_string; } } elsif ($post->{search}) { - my $filter = ($q_string =~ /&?filter_available=\d/) ? "&filter_available=1" : ""; my $show = ($q_string =~ /&?show=(\w+)/) ? "&show=$1" : ""; my $authas = ($q_string =~ /&?authas=(\w+)/) ? "&authas=$1" : ""; $q_string = ""; $post->{search} = LJ::eurl($post->{search}); - $url .= "?search=$post->{search}$authas$filter$show"; + $url .= "?search=$post->{search}$authas$show"; } return BML::redirect($url); @@ -277,9 +256,6 @@ sub js { }); } - $('filter_btn').style.display = "none"; - DOM.addEventListener($('filter_available'), "click", function (evt) { self.filterThemes(evt, "filter_available", $('filter_available').checked) }); - // add event listener to the search form DOM.addEventListener($('search_form'), "submit", function (evt) { self.filterThemes(evt, "search", $('search_box').value) }); @@ -291,7 +267,7 @@ sub js { var getArgs = LiveJournal.parseGetArgs(filter_link.href); for (var arg in getArgs) { if (!getArgs.hasOwnProperty(arg)) continue; - if (arg == "authas" || arg == "filter_available" || arg == "show") continue; + if (arg == "authas" || arg == "show") continue; DOM.addEventListener(filter_link, "click", function (evt) { self.filterThemes(evt, arg, getArgs[arg]) }); evt_listener_added = 1; break; @@ -304,18 +280,7 @@ sub js { }); }, filterThemes: function (evt, key, value) { - // filtering by availability, page, and show use the values of the other filters, so do not reset them in that case - if (key == "filter_available") { - if (value) { - Customize.filter_available = 1; - } else { - Customize.filter_available = 0; - } - - // need to go back to page 1 if the filter was switched because - // the current page may no longer have any themes to show on it - Customize.page = 1; - } else if (key == "show") { + if (key == "show") { // need to go back to page 1 if the show amount was switched because // the current page may no longer have any themes to show on it Customize.page = 1; @@ -342,7 +307,6 @@ sub js { layoutid: Customize.layoutid, designer: Customize.designer, search: Customize.search, - filter_available: Customize.filter_available, page: Customize.page, show: Customize.show, theme_chooser_id: $('theme_chooser_id').value @@ -361,7 +325,6 @@ sub js { }, onData: function (data) { Customize.CurrentTheme.updateContent({ - filter_available: Customize.filter_available, show: Customize.show }); Customize.hideHourglass(); diff -r d40fdf239212 -r f83ad558778f htdocs/customize/index.bml --- a/htdocs/customize/index.bml Mon Dec 07 05:08:32 2009 +0000 +++ b/htdocs/customize/index.bml Mon Dec 07 05:10:29 2009 +0000 @@ -34,7 +34,6 @@ body<= my $layoutid = defined $GET{layoutid} ? $GET{layoutid} : 0; my $designer = defined $GET{designer} ? $GET{designer} : ""; my $search = defined $GET{search} ? $GET{search} : ""; - my $filter_available = defined $GET{filter_available} ? $GET{filter_available} : 0; my $page = defined $GET{page} ? $GET{page} : 1; my $show = defined $GET{show} ? $GET{show} : 12; @@ -63,7 +62,7 @@ body<= my $current_theme = LJ::Widget::CurrentTheme->new; $headextra .= $current_theme->wrapped_js( page_js_obj => "Customize" ); $ret .= "<div class='theme-current pkg'>"; - $ret .= $current_theme->render( filter_available => $filter_available, show => $show ); + $ret .= $current_theme->render( show => $show ); $ret .= "</div><!-- end .theme-current -->"; my $journal_titles = LJ::Widget::JournalTitles->new; @@ -81,7 +80,6 @@ body<= layoutid => $layoutid, designer => $designer, search => $search, - filter_available => $filter_available, page => $page, show => $show, headextra => \$headextra, diff -r d40fdf239212 -r f83ad558778f htdocs/js/customize.js --- a/htdocs/js/customize.js Mon Dec 07 05:08:32 2009 +0000 +++ b/htdocs/js/customize.js Mon Dec 07 05:10:29 2009 +0000 @@ -5,7 +5,6 @@ Customize.init = function () { Customize.layoutid = 0; Customize.designer = ""; Customize.search = ""; - Customize.filter_available = 0; Customize.page = 1; Customize.show = 12; Customize.hourglass = null; @@ -26,10 +25,6 @@ Customize.init = function () { if (pageGetArgs["search"]) { Customize.search = pageGetArgs["search"]; - } - - if (pageGetArgs["filter_available"]) { - Customize.filter_available = pageGetArgs["filter_available"]; } if (pageGetArgs["page"]) { --------------------------------------------------------------------------------