Never been to TextSnippets before?

Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world (or not, you can keep them private!)

Improved admin_tools for Scoop (See related posts)

If you've ever built a site with Scoop, you know that all that messy hard-coded table-based HTML can be a pain. In the course of building several Scoop sites I've been reworking some of the common boxes to use cleaner, easily-styled, semantic markup, and this seems as good a place as any to post the code.

Here's a reworked admin_tools which outputs as an unordered list (and puts the "edit user" form in a definition list):

my $content;
my @tools = sort { $a->{pos} <=> $b->{pos} } values %{ $S->{ADMIN_TOOLS} };
foreach my $t (@tools) {
        if ( $S->have_perm($t->{perm}) ) {
                $content .= qq\|
        <LI><A href="|rootdir|/admin/$t->{tool}">$t->{menuname}</A></LI>\|;
        }
}
if ($S->have_perm('edit_user')) {
 $content .= qq{<LI>
 <FORM NAME="uedit" METHOD="GET" ACTION="|rootdir|/">
 <DL>
 <DT>Edit User:</DT>
 <DD>
 <INPUT TYPE="hidden" NAME="op" VALUE="user">
 <INPUT TYPE="text" NAME="nick" VALUE="" SIZE=10>
 <INPUT TYPE="SUBMIT" NAME="tool" VALUE="prefs">
 <INPUT TYPE="SUBMIT" NAME="tool" VALUE="info">
 </DD>
 </DL>
 </FORM>
 </LI>};
}
return '' unless $content;
return{content=>qq{<UL>$content</UL>}};

You need to create an account or log in to post comments to this site.


Related Posts