css complete

This commit is contained in:
io 2005-01-29 04:21:38 +00:00
parent bee8264b16
commit f57e6ef896
3 changed files with 391 additions and 141 deletions

View file

@ -19,30 +19,6 @@ a:visited {
color: #8888ff;
}
#warning {
text-decoration: blink;
color: #ff0000;
float: left;
}
table.error {
width: 99%;
}
table.error td {
padding: 5px;
text-align: center;
background-color: #e0e0ff;
}
table.error h2 {
color: #ff0000;
}
table.error p.msg {
font-weight: bold;
}
strong.big {
font-size: large;
}
@ -77,3 +53,164 @@ table.big-pad td {
table.small-pad td {
padding: 5px;
}
/*********************** general **************************/
used classes for containers:
title - heading of most pages (except main)
list - list of subscribers/mailinglists/moderators/...
add_remove - buttons and fields to manipulate such lists
info - explanations
question - buttons to answer a question
options - various possibilities (buttons)
input - group of form fields
container - includes all other containers on a page
low-level classes (for "span"):
button
formfield
checkbox
help
and a special div:
error
************************************************************/
div.container {
margin-left: auto;
margin-right: auto;
}
div.add_remove span.button {
width: auto;
margin-top: 0px;
}
div.add_remove span.formfield {
width: auto;
margin: 0px;
padding: 0px;
}
div.list {
padding: 10px;
text-align: center;
float: left;
}
p.warning {
text-decoration: blink;
color: #ff0000;
text-align: center;
}
span.help {
font-size: -1;
}
/************************ main page ***********************
name of container: main
available classes: list info add_remove
**********************************************************/
/******************* confirm delete page *******************
name of container: delete
available classes: title button
***********************************************************/
/************************* edit page ***********************
name of container: edit
availbale classes: title list add_remove options
***********************************************************/
/********* allow/deny/moderators/digests page **************
name of container: parts
available classes: title info list add_remove
***********************************************************/
/******************* create list page **********************
name of container: create
available classes: title input question
***********************************************************/
#create div.input span.formfield {
text-weight: bold;
text-size: large;
margin-left: 0px;
margin-right: auto;
}
/********************* config page *************************
name of container: config
available classes: title info input question
***********************************************************/
#config div.info {
text-size: large;
text-weight: bold;
}
#config div.input span.formfield {
text-weight: bold;
margin-left: 0px;
margin-right: auto;
}
/******************** textfiles ****************************
name of container: textfiles
available classes: list info question
***********************************************************/
/******************** edittext *****************************
name of container: edittext
available classes: title input info question
***********************************************************/
#edittext div.input {
float:left;
}
/**************** error messages **************************/
div.error {
width: 99%;
padding: 5px;
text-align: center;
background-color: #e0e0ff;
}
div.error h2 {
color: #ff0000;
}
div.error p.msg {
font-weight: bold;
}

View file

@ -279,20 +279,28 @@ sub select_list {
# Keep selection box a resonable size - suggested by Sebastian Andersson
$scrollsize = 25 if(($scrollsize = $#lists + 1) > 25);
# Begin of content
print '<div id="main" class="container">';
# Print a form
$q->delete_all;
print $q->startform;
print $q->hidden(-name=>'state', -default=>'select');
print '<table class="big-pad"><tr><td align="center" valign="top" rowspan="2">';
print $q->scrolling_list(-name=>'list', -size=>$scrollsize, -values=>\@lists) if defined(@lists);
print '</td><td align="left" valign="top">', $LANGUAGE{'chooselistinfo'};
print $q->submit(-name=>'action', -value=>"[$BUTTON{'create'}]"), ' ' if ((&webauth_create_allowed == 0) || (!defined($opt_c)));
print $q->submit(-name=>'action', -value=>"[$BUTTON{'edit'}]"), ' ' if(defined(@lists));
print $q->submit(-name=>'action', -value=>"[$BUTTON{'delete'}]") if(defined(@lists));
print '</td></tr><tr><td> </td></tr></table></div>';
print '<div class="list">';
print $q->scrolling_list(-name=>'list', -size=>$scrollsize, -values=>\@lists) if defined(@lists);
print '</div>'; # end of main_mainlinglists_list
print '<div class="info">', $LANGUAGE{'chooselistinfo'}, '</div>'; # explanation of options
print '<div class="add_remove">';
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'create'}]"), '</span>' if ((&webauth_create_allowed == 0) || (!defined($opt_c)));
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'edit'}]"), '</span>' if(defined(@lists));
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'delete'}]"), '</span>' if(defined(@lists));
print '</div>'; # end of main_buttons
print $q->endform;
print '</div>'; # end of content
}
# ------------------------------------------------------------------------
@ -300,14 +308,25 @@ sub select_list {
sub confirm_delete {
# Make sure that the user really does want to delete the list!
# Begin of content
print '<div id="delete" class="container">';
# Print a form ...
$q->delete('state');
print $q->startform;
print $q->hidden(-name=>'state', -default=>'confirm_delete');
print $q->hidden(-name=>'list', -default=>$q->param('list'));
print '<h2>', $LANGUAGE{'confirmdelete'}, ' ', $q->param('list'), '</h2><br><div class="center">';
print $q->submit(-name=>'confirm', -value=>"[$BUTTON{'no'}]"), ' ';
print $q->submit(-name=>'confirm', -value=>"[$BUTTON{'yes'}]"), '</div>';
print '<div class="title">";
print '<h2>', $LANGUAGE{'confirmdelete'}, ' ', $q->param('list'), '</h2>';
print '</div>'; # end of delete->title
print '<div class="question">';
print '<span class="button">', $q->submit(-name=>'confirm', -value=>"[$BUTTON{'no'}]"), '</span>';
print '<span class="button">', $q->submit(-name=>'confirm', -value=>"[$BUTTON{'yes'}]"), '</span>';
print '</div>'; # end of delete->question
print '</div>'; # enf of delete
}
# ------------------------------------------------------------------------
@ -330,30 +349,49 @@ sub display_list {
# Print out a form of options ...
$q->delete('state');
print "<h2>$LANGUAGE{'subscribersto'} $Q::list ($listaddress)</h2><hr>";
# Begin of content
print '<div id="edit" class="container">';
print '<div class="title">';
print "<h2>$LANGUAGE{'subscribersto'} $Q::list</h2>";
print "<h3>($listaddress)</h3>";
print '<hr>';
print '</div>'; # end of edit->title
print $q->start_multipart_form;
print '<table class="big-pad"><tr><td rowspan="2" valign="top" align="center">';
print $q->hidden(-name=>'state', -default=>'edit');
print $q->hidden(-name=>'list', -default=>$Q::list);
print '<div class="list">';
print $q->scrolling_list(-name=>'delsubscriber', -size=>$scrollsize, -values=>\@subscribers, -labels=>&pretty_names, -multiple=>'true') if defined(@subscribers);
print '</td><td valign="top" align="left">';
print ' ', ($#subscribers + 1), ' ', $LANGUAGE{'subscribers'}, '<BR>' if defined(@subscribers);
print $q->submit(-name=>'action', -value=>"[$BUTTON{'deleteaddress'}]"), '<p>' if defined(@subscribers);
print $q->textfield(-name=>'addsubscriber', -size=>'40'), ' <img src="', $HELP_ICON_URL, '" title="', $HELPER{'addaddress'}, '"><BR>';
print $q->filefield(-name=>'addfile', -size=>20, -maxlength=>100), ' <img src="', $HELP_ICON_URL, '" title="', $HELPER{'addaddressfile'}, '"><br>' if ($FILE_UPLOAD);
print $q->submit(-name=>'action', -value=>"[$BUTTON{'addaddress'}]"), '<p>';
print '<strong>', $LANGUAGE{'additionalparts'}, ':</strong><br>' if($list->ismodpost || $list->ismodsub || $list->isremote || $list->isdeny || $list->isallow || $list->isdigest);
print $q->submit(-name=>'action', -value=>"[$BUTTON{'moderators'}]"), '<img src="', $HELP_ICON_URL, '" title="', $HELPER{'moderator'}, '"> ' if ($list->ismodpost || $list->ismodsub || $list->isremote);
print $q->submit(-name=>'action', -value=>"[$BUTTON{'denylist'}]"), '<img src="', $HELP_ICON_URL, '" title="', $HELPER{'deny'}, '"> ' if ($list->isdeny);
print $q->submit(-name=>'action', -value=>"[$BUTTON{'allowlist'}]"), '<img src="', $HELP_ICON_URL, '" title="', $HELPER{'allow'}, '"> ' if ($list->isallow);
print $q->submit(-name=>'action', -value=>"[$BUTTON{'digestsubscribers'}]"), '<img src="', $HELP_ICON_URL, '" title="', $HELPER{'digest'}, '"> ' if ($list->isdigest);
print '</div>'; # end of edit->list
print '<div class="add_remove">';
print ($#subscribers + 1), ' ', $LANGUAGE{'subscribers'} if defined(@subscribers);
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'deleteaddress'}]"), '</span>' if defined(@subscribers);
print '<span class="button">', $q->textfield(-name=>'addsubscriber', -size=>'40'), ' <img src="', $HELP_ICON_URL, '" title="', $HELPER{'addaddress'}, '"></span>';
print '<span class="button">', $q->filefield(-name=>'addfile', -size=>20, -maxlength=>100), ' <img src="', $HELP_ICON_URL, '" title="', $HELPER{'addaddressfile'}, '"></span>' if ($FILE_UPLOAD);
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'addaddress'}]"), '</span>';
print '</div>'; # end of edit->add_remove
print '<div class="options">';
print '<h3>', $LANGUAGE{'additionalparts'}, ':</h3>' if($list->ismodpost || $list->ismodsub || $list->isremote || $list->isdeny || $list->isallow || $list->isdigest);
print '<p>';
print $q->submit(-name=>'action', -value=>"[$BUTTON{'webarchive'}]"), '<img src="', $HELP_ICON_URL, '" title="', $HELPER{'webarch'}, '"> ' if(&ezmlmcgirc);
print $q->submit(-name=>'action', -value=>"[$BUTTON{'configuration'}]"), '<img src="', $HELP_ICON_URL, '" title="', $HELPER{'config'}, '">&nbsp;&nbsp;&nbsp;';
print $q->submit(-name=>'action', -value=>"[$BUTTON{'selectlist'}]");
print '</td></tr><tr><td> </td></tr></table></div>';
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'moderators'}]"), '<img src="', $HELP_ICON_URL, '" title="', $HELPER{'moderator'}, '"> </span>' if ($list->ismodpost || $list->ismodsub || $list->isremote);
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'denylist'}]"), '<img src="', $HELP_ICON_URL, '" title="', $HELPER{'deny'}, '"> </span>' if ($list->isdeny);
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'allowlist'}]"), '<img src="', $HELP_ICON_URL, '" title="', $HELPER{'allow'}, '"> </span>' if ($list->isallow);
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'digestsubscribers'}]"), '<img src="', $HELP_ICON_URL, '" title="', $HELPER{'digest'}, '"> </span>' if ($list->isdigest);
print '</p><p>';
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'webarchive'}]"), '<img src="', $HELP_ICON_URL, '" title="', $HELPER{'webarch'}, '"> </span>' if(&ezmlmcgirc);
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'configuration'}]"), '<img src="', $HELP_ICON_URL, '" title="', $HELPER{'config'}, '"> </span>';
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'selectlist'}]"), '</span>';
print '</p>';
print '</div>'; # end of edit->options
print $q->endform;
print '</div>'; # end of edit
}
# ------------------------------------------------------------------------
@ -556,15 +594,22 @@ sub part_subscribers {
my($subpath) = $config =~ m{8\s*'([^']+)'};
my($remotepath) = $config =~ m{9\s*'([^']+)'};
$moderated = '<div class="warning">' if ($postpath);
$moderated .= "[$LANGUAGE{'posting'}]" if ($list->ismodpost);
$moderated .= '<img src="' . $HELP_ICON_URL . '" title="Posting Moderators are stored in a non-standard location (' . $postpath . '). You will have to edit them manually."></div>' if ($postpath);
$moderated .= '<div class="warning">' if ($subpath);
$moderated .= " [$LANGUAGE{'subscription'}]" if($list->ismodsub);
$moderated .= '<img src="' . $HELP_ICON_URL . '" title="Subscriber Moderators are stored in a non-standard location (' . $subpath . '). You will have to edit them manually"></div>' if ($subpath);
$moderated .= '<div class="warning">' if ($remotepath);
$moderated .= " [$LANGUAGE{'remoteadmin'}]" if($list->isremote);
$moderated .= '<img src="' . $HELP_ICON_URL . '" title="Remote Administrators are stored in a non-standard location (' . $remotepath . '). You will have to edit them manually"></div>' if ($remotepath);
my($divclass);
$divclass = ($postpath)? 'warning' : 'ok';
$moderated .= "<p class=\"$divclass\">[$LANGUAGE{'posting'}]" if ($list->ismodpost);
$moderated .= '<img src="' . $HELP_ICON_URL . '" title="Posting Moderators are stored in a non-standard location (' . $postpath . '). You will have to edit them manually.">' if ($postpath);
$moderated .= '</p>' if ($list->ismodpost);
$divclass = ($subpath)? 'warning' : 'ok';
$moderated .= "<p class=\"$divclass\">[$LANGUAGE{'subscription'}]" if($list->ismodsub);
$moderated .= '<img src="' . $HELP_ICON_URL . '" title="Subscriber Moderators are stored in a non-standard location (' . $subpath . '). You will have to edit them manually">' if ($subpath);
$moderated .= '</p>' if ($list->ismodsub);
$divclass = ($remotepath)? 'warning' : 'ok';
$moderated .= "<p class=\"$divclass\">[$LANGUAGE{'remoteadmin'}]" if($list->isremote);
$moderated .= '<img src="' . $HELP_ICON_URL . '" title="Remote Administrators are stored in a non-standard location (' . $remotepath . '). You will have to edit them manually">' if ($remotepath);
$moderated .= '</p> if ($list->isremote);
}
@ -576,25 +621,38 @@ sub part_subscribers {
# Keep selection box a resonable size - suggested by Sebastian Andersson
$scrollsize = 25 if(($scrollsize = $#subscribers + 1) > 25);
# container for the content
print '<div id="parts" class="container">';
# Print out a form of options ...
$q->delete('state');
print "<h2>$type $LANGUAGE{'for'} $listaddress</h2><hr>";
print "<p class=\"center\">$moderated</p>" if(defined($moderated));
print '<div class="title">';
print "<h2>$type $LANGUAGE{'for'} $listaddress</h2>";
print '<hr>':
print '</div>'; # end of parts_title
print '<div class="info">', "$moderated", '</div>' if(defined($moderated));
print $q->start_multipart_form;
print '<table class="big-pad"><tr><td rowspan="2" valign="top" align="center">';
print $q->hidden(-name=>'state', -default=>$part);
print $q->hidden(-name=>'list', -default=>$Q::list), "\n";
print $q->scrolling_list(-name=>'delsubscriber', -size=>$scrollsize, -values=>\@subscribers, -multiple=>'true', -labels=>&pretty_names) if defined(@subscribers);
print '</td></tr><tr><td valign="top" align="left">';
print $q->submit(-name=>'action', -value=>"[$BUTTON{'deleteaddress'}]"), '<p>' if defined(@subscribers);
print $q->textfield(-name=>'addsubscriber', -size=>'40'), ' <img src="', $HELP_ICON_URL, '" title="', $HELPER{'addaddress'}, '"><br>';
print $q->filefield(-name=>'addfile', -size=>20, -maxlength=>100), ' <img src="', $HELP_ICON_URL, '" title="', $HELPER{'addaddressfile'}, '"><br>' if ($FILE_UPLOAD);
print $q->submit(-name=>'action', -value=>"[$BUTTON{'addaddress'}]"), '<p>';
print $q->submit(-name=>'action', -value=>"[$BUTTON{'subscribers'}]");
print '</td></tr><tr><td> </td></tr></table></div>';
print '<div class="list">', $q->scrolling_list(-name=>'delsubscriber', -size=>$scrollsize, -values=>\@subscribers, -multiple=>'true', -labels=>&pretty_names), '</div>' if defined(@subscribers);
print '<div class="add_remove">':
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'deleteaddress'}]"), '</span>' if defined(@subscribers);
print '<span class="formfield">', $q->textfield(-name=>'addsubscriber', -size=>'40'), ' <img src="', $HELP_ICON_URL, '" title="', $HELPER{'addaddress'}, '"></span>';
print '<span class="formfield">', $q->filefield(-name=>'addfile', -size=>20, -maxlength=>100), ' <img src="', $HELP_ICON_URL, '" title="', $HELPER{'addaddressfile'}, '"></span>' if ($FILE_UPLOAD);
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'addaddress'}]"), '</span>';
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'subscribers'}]"), '</span>';
print '</div>'; # end of parts_subscribers_actions
print $q->endform;
print '</div>'; # end of parts
}
# ------------------------------------------------------------------------
@ -617,37 +675,50 @@ sub allow_create_list {
$username = "$USER-" if ($USER ne $ALIAS_USER);
$hostname = $DEFAULT_HOST;
}
print '<div id="create" class="container">';
# Print a form of options ...
$q->delete_all;
print '<h2>', $LANGUAGE{'createnew'}, '</h2><hr>';
print '<div class="title">';
print '<h2>', $LANGUAGE{'createnew'}, '</h2>';
print '<hr'>;
print '</div>'; # end of create->title
print $q->startform;
print $q->hidden(-name=>'state', -value=>'create');
print '<strong class="big">', $LANGUAGE{'listname'}, ': </strong>', $q->textfield(-name=>'list', -size=>'20'), ' <img src="', $HELP_ICON_URL, '" title="', $HELPER{'listname'}, '"><p>';
print '<strong class="big">', $LANGUAGE{'listaddress'}, ': </strong>';
print $q->textfield(-name=>'inlocal', -default=>$username, -size=>'10');
print ' <strong class="big">@</strong> ', $q->textfield(-name=>'inhost', -default=>$hostname, -size=>'30'), ' <img src="', $HELP_ICON_URL, '" title="', $HELPER{'listadd'}, '">';
print '<div class="input">';
print '<span class="formfield">', $LANGUAGE{'listname'}, ': ', $q->textfield(-name=>'list', -size=>'20'), ' <img src="', $HELP_ICON_URL, '" title="', $HELPER{'listname'}, '"></span>';
print '<span class="formfield">', $LANGUAGE{'listaddress'}, ': ', $q->textfield(-name=>'inlocal', -default=>$username, -size=>'10')';
print ' @ ', $q->textfield(-name=>'inhost', -default=>$hostname, -size=>'30'), ' <img src="', $HELP_ICON_URL, '" title="', $HELPER{'listadd'}, '"></span>';
print '<p><strong class="big">', $LANGUAGE{'listoptions'}, ':</strong>';
print '<span class="formfield">', $LANGUAGE{'listoptions'}, ':</span>';
&display_options($DEFAULT_OPTIONS);
print '</p>';
# Allow creation of mysql table if the module allows it
if($Mail::Ezmlm::MYSQL_BASE) {
print '<p> ', $q->checkbox(-name=>'sql', -label=>$LANGUAGE{'mysqlcreate'}, -on=>1);
print ' <img src="', $HELP_ICON_URL, '" title="', $HELPER{'mysqlcreate'}, '"></p>';
print '<span class="formfield">', $q->checkbox(-name=>'sql', -label=>$LANGUAGE{'mysqlcreate'}, -on=>1);
print ' <img src="', $HELP_ICON_URL, '" title="', $HELPER{'mysqlcreate'}, '"></span>';
}
print '<p><strong class="big">', $LANGUAGE{'allowedtoedit'}, ': </strong>',
$q->textfield(-name=>'webusers', -value=>$ENV{'REMOTE_USER'}||'ALL', -size=>'30'), ' <img src="', $HELP_ICON_URL, '" title="', $HELPER{'webusers'}, '">',
'<br><font class="helper">', $HELPER{'allowedit'}, '</font></p>'
if(-e "$WEBUSERS_FILE");
if(-e "$WEBUSERS_FILE") {
print '<span class="formfield">', $LANGUAGE{'allowedtoedit'}, ': ';
print $q->textfield(-name=>'webusers', -value=>$ENV{'REMOTE_USER'}||'ALL', -size=>'30');
print ' <img src="', $HELP_ICON_URL, '" title="', $HELPER{'webusers'}, '"></span>';
print '<span class="help">', $HELPER{'allowedit'}, '</span>';
}
print '</div>'; # end of create->input
print '<p>', $q->submit(-name=>'action', -value=>"[$BUTTON{'createlist'}]"), ' ';
print $q->reset(-value=>"[$BUTTON{'resetform'}]"), ' ';
print $q->submit(-name=>'action', -value=>"[$BUTTON{'cancel'}]");
print '</p>';
print '<div class="question">';
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'createlist'}]"), '</span>';
print '<span class="button">', $q->reset(-value=>"[$BUTTON{'resetform'}]"), '</span>';
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'cancel'}]"), '</span>';
print '</div>'; # end of create->question
print $q->endform;
print '</div>'; # end of create
}
@ -670,7 +741,7 @@ sub create_list {
# Sanity Checks ...
return 1 if ($listname eq '' || $qmail eq '');
if(-e ("$LIST_DIR/$listname/lock") || -e ("$HOME_DIR/.qmail-$qmail")) {
print "<h1>List '$listname' already exists :(</h1>";
print "<h1 class="warning">List '$listname' already exists :(</h1>";
return 1;
}
@ -725,16 +796,29 @@ sub list_config {
$list = new Mail::Ezmlm("$LIST_DIR/$Q::list");
$listname = $q->param('list');
$listaddress = &this_listaddress;
# Begin of content
print '<div id="config">';
# Print a form of options ...
$q->delete_all;
print '<h2>', $LANGUAGE{'editconfiguration'}, '</h2><hr>';
print '<div class="title">';
print '<h2>', $LANGUAGE{'editconfiguration'}, '</h2>';
print '<hr>';
print '</div>'; # end of config->title
print $q->startform;
print $q->hidden(-name=>'state', -value=>'configuration');
print $q->hidden(-name=>'list', -value=>$listname);
print '<big><strong>', $LANGUAGE{'listname'}, ": <em>$listname</em><br>";
print "$LANGUAGE{'listaddress'}: <em>$listaddress</em></strong></big><p>";
print '<big><strong>', $LANGUAGE{'listoptions'}, ':</big></strong><br>';
print '<div class="info">';
print '<p>', $LANGUAGE{'listname'}, ": <em>$listname</em></p>";
print '<p>', "$LANGUAGE{'listaddress'}: <em>$listaddress</em></p>";
print '</div>'; # end of config->info
print '<div class="input">';
print '<h2>', $LANGUAGE{'listoptions'}, ':</h2>';
# Print a list of options, selecting the ones that apply to this list ...
&display_options($list->getconfig);
@ -745,10 +829,10 @@ sub list_config {
$mimeremove = $list->getpart('mimeremove');
$prefix = $list->getpart('prefix');
print '<p><big><strong>', $LANGUAGE{'prefix'}, ': </strong></big>', $q->textfield(-name=>'prefix', -default=>$prefix, -size=>12), ' <img src="', $HELP_ICON_URL, '" title="', $HELPER{'prefix'}, '">' if defined($prefix);
print '<p><big><strong>', $LANGUAGE{'headerremove'}, ':</big></strong> <img src="', $HELP_ICON_URL, '" title="', $HELPER{'headerremove'}, '"><br>', $q->textarea(-name=>'headerremove', -default=>$headerremove, -rows=>5, -columns=>70);
print '<p><big><strong>', $LANGUAGE{'headeradd'}, ':</big></strong> <img src="', $HELP_ICON_URL, '" title="', $HELPER{'headeradd'}, '"><br>', $q->textarea(-name=>'headeradd', -default=>$headeradd, -rows=>5, -columns=>70);
print '<p><big><strong>', $LANGUAGE{'mimeremove'}, ':</big></strong> <img src="', $HELP_ICON_URL, '" title="', $HELPER{'mimeremove'}, '"><br>', $q->textarea(-name=>'mimeremove', -default=>$mimeremove, -rows=>5, -columns=>70) if defined($mimeremove);
print '<span class="formfield">', $LANGUAGE{'prefix'}, ': ', $q->textfield(-name=>'prefix', -default=>$prefix, -size=>12), ' <img src="', $HELP_ICON_URL, '" title="', $HELPER{'prefix'}, '"></span>' if defined($prefix);
print '<p class="formfield">', $LANGUAGE{'headerremove'}, ': <img src="', $HELP_ICON_URL, '" title="', $HELPER{'headerremove'}, '"><br>', $q->textarea(-name=>'headerremove', -default=>$headerremove, -rows=>5, -columns=>70), '</span>';
print '<span class="formfield">', $LANGUAGE{'headeradd'}, ': <img src="', $HELP_ICON_URL, '" title="', $HELPER{'headeradd'}, '"><br>', $q->textarea(-name=>'headeradd', -default=>$headeradd, -rows=>5, -columns=>70), '</div>';
print '<span class="formfield">', $LANGUAGE{'mimeremove'}, ': <img src="', $HELP_ICON_URL, '" title="', $HELPER{'mimeremove'}, '"><br>', $q->textarea(-name=>'mimeremove', -default=>$mimeremove, -rows=>5, -columns=>70), '</span>' if defined($mimeremove);
if(open(WEBUSER, "<$WEBUSERS_FILE")) {
my($webusers);
@ -758,18 +842,24 @@ sub list_config {
close WEBUSER;
$webusers ||= $ENV{'REMOTE_USER'} || 'ALL';
print '<p><big><strong>', $LANGUAGE{'allowedtoedit'}, ': </strong></big>',
$q->textfield(-name=>'webusers', -value=>$webusers, -size=>'30'), ' <img src="', $HELP_ICON_URL, '" title="', $HELPER{'webusers'}, '">',
'<br><font size="-1">', $HELPER{'allowedit'}, '</font>';
print '<span class="formfield">', $LANGUAGE{'allowedtoedit'}, ': ';
print $q->textfield(-name=>'webusers', -value=>$webusers, -size=>'30');
print ' <img src="', $HELP_ICON_URL, '" title="', $HELPER{'webusers'}, '"></span>',
print '<span class="help">', $HELPER{'allowedit'}, '</span>';
}
print '</div>'; # end of config->input
print '<div class="question">';
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'updateconfiguration'}]"), '</span>';
print '<span class="button">', $q->reset(-value=>"[$BUTTON{'resetform'}]"), '</span>';
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'cancel'}]"), '</span>';
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'edittexts'}]"), '</span>';
print '</div>'; # end of config->question
print '<p>', $q->submit(-name=>'action', -value=>"[$BUTTON{'updateconfiguration'}]"), ' ';
print $q->reset(-value=>"[$BUTTON{'resetform'}]"), ' ';
print $q->submit(-name=>'action', -value=>"[$BUTTON{'cancel'}]"), ' ';
print $q->submit(-name=>'action', -value=>"[$BUTTON{'edittexts'}]");
print $q->endform;
print '</div>'; # end of config
}
# ------------------------------------------------------------------------
@ -862,18 +952,31 @@ sub list_text {
@files = grep !/^\./, readdir DIR;
closedir DIR;
# Begin of content
print '<div id="textfiles">';
# Print a form ...
$q->delete('state');
print $q->startform;
print $q->hidden(-name=>'state', -default=>'list_text');
print $q->hidden(-name=>'list', -default=>$q->param('list'));
print '<table class="big-pad"><tr><td align="center" valign="top" rowspan="2">';
print '<div class="list">;
print $q->scrolling_list(-name=>'file', -values=>\@files);
print '</td><td align="center" valign="top">';
print $q->submit(-name=>'action', -value=>"[$BUTTON{'editfile'}]"), ' ';
print $q->submit(-name=>'action', -value=>"[$BUTTON{'cancel'}]");
print '<p>', $LANGUAGE{'edittextinfo'}, '</td></tr><tr><td> </td></tr></table></div>';
print '</div>'; # end of textfiles->list
print '<div class="info">';
print $LANGUAGE{'edittextinfo'};
print '</div>'; # end of textfiles->info
print '<div class="question">';
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'editfile'}]"), '</span>';
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'cancel'}]"), '</span>';
print '</div>'; # end of textfiles->question
print $q->endform;
print '</div>';
}
@ -886,23 +989,38 @@ sub edit_text {
my($list) = new Mail::Ezmlm("$LIST_DIR/$Q::list");
$content = $list->getpart("text/$Q::file");
# Begin of content
print '<div id="edittext">';
# Print a form ...
$q->delete('state');
print '<div class="title">';
print '<h2>', $LANGUAGE{'editingfile'}, ': ', $Q::file, '</h2>';
print '<table class="small-pad"><tr><td valign="top" rowspan="2">';
print '</div>'; # end of edittext->title
print $q->startform;
print $q->hidden(-name=>'state', -default=>'edit_text');
print $q->hidden(-name=>'list', -default=>$q->param('list'));
print $q->hidden(-name=>'file', -default=>$q->param('file'));
print $q->textarea(-name=>'content', -default=>$content, -rows=>'25', -columns=>'72');
print '</td><td valign="top" align="left">';
print $q->submit(-name=>'action', -value=>"[$BUTTON{'savefile'}]"), ' ';
print $q->reset(-value=>"[$BUTTON{'resetform'}]"), ' ';
print $q->submit(-name=>'action', -value=>"[$BUTTON{'cancel'}]");
print '<p>', $LANGUAGE{'editfileinfo'};
print $q->endform;
print '</td></tr><tr><td> <td></tr></table>'
print '<div class="input">';
print '<span class="formfield">', $q->textarea(-name=>'content', -default=>$content, -rows=>'25', -columns=>'72'), '</span>';
print '</div>'; # end of edittext->input
print '<id class="info">';
print $LANGUAGE{'editfileinfo'};
print '</div>'; # end of edittext->info
print '<div class="question">';
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'savefile'}]"), '</span>';
print '<span class="button">', $q->reset(-value=>"[$BUTTON{'resetform'}]"), '</span>';
print '<span class="button">', $q->submit(-name=>'action', -value=>"[$BUTTON{'cancel'}]"), '</span>';
print '</div>'; # end of edittext->question
print $q->endform;
print '</div>'; # end of edittext
}
# ------------------------------------------------------------------------
@ -965,37 +1083,32 @@ sub display_options {
my($i, $j);
print "<!-- $opts -->";
print '<table class="small-pad" class="left"><tr><td>';
print '<p>';
foreach $i (grep {/\D/} keys %EZMLM_LABELS) {
if ($opts =~ /^\w*$i\w*\s*/) {
print $q->checkbox(-name=>$i, -value=>$i, -label=>$EZMLM_LABELS{$i}[0], -on=>'1');
print '<span class="checkbox">', $q->checkbox(-name=>$i, -value=>$i, -label=>$EZMLM_LABELS{$i}[0], -on=>'1')';
} else {
print $q->checkbox(-name=>$i, -value=>$i, -label=>$EZMLM_LABELS{$i}[0]);
print '<span class="checkbox">', $q->checkbox(-name=>$i, -value=>$i, -label=>$EZMLM_LABELS{$i}[0]);
}
print '<img src="', $HELP_ICON_URL, '" border="0" title="', $EZMLM_LABELS{$i}[1] , '">';
print '<img src="', $HELP_ICON_URL, '" border="0" title="', $EZMLM_LABELS{$i}[1] , '"></span>';
print '</td>'; $j++;
if ($j >= 3) {
$j = 0; print '</tr><tr>';
$j = 0; print '</p><p>';
}
print '<td>';
}
print '</td></tr></table>';
print '</p>';
print '<table class="small-pad" class="left">';
foreach $i (grep {/\d/} keys %EZMLM_LABELS) {
print '<tr><td>';
print '<p>';
if ($opts =~ /$i (?:'(.+?)')/) {
print $q->checkbox(-name=>$i, -value=>$i, -label=>$EZMLM_LABELS{$i}[0], -on=>'1');
print '<span class="checkbox">', $q->checkbox(-name=>$i, -value=>$i, -label=>$EZMLM_LABELS{$i}[0], -on=>'1');
} else {
print $q->checkbox(-name=>$i, -value=>$i, -label=>$EZMLM_LABELS{$i}[0]);
print '<span class="checkbox">', $q->checkbox(-name=>$i, -value=>$i, -label=>$EZMLM_LABELS{$i}[0]);
}
print '<img src="', $HELP_ICON_URL, '" border="0" title="', $EZMLM_LABELS{$i}[1] , '">';
print '</td><td>';
print $q->textfield(-name=>"$i-value", -value=>$1||$EZMLM_LABELS{$i}[2], -size=>30);
print '</td></tr>';
print '<img src="', $HELP_ICON_URL, '" border="0" title="', $EZMLM_LABELS{$i}[1] , '"></span>';
print '<span class="formfield">', $q->textfield(-name=>"$i-value", -value=>$1||$EZMLM_LABELS{$i}[2], -size=>30), '</span>';
print '</p>';
}
print '</table>';
}
@ -1050,7 +1163,7 @@ BEGIN {
sub handle_errors {
my $msg = shift;
print << "EOM";
</table><table class="error"><tr><td>
</div><div class="error">
<h2>A fatal error has occoured</h2>
<p>Something you did caused this script to bail out. The error
message we got was</p>
@ -1059,7 +1172,7 @@ BEGIN {
If you still find yourself getting this error, please
contact the <a href="mailto:webmaster\@$DEFAULT_HOST">site administrator</a>
quoting the error message above.</p>
</td></tr></table></div>
</</div>
EOM
}

View file

@ -162,7 +162,7 @@
confirmdelete => 'Bestätige die Löschung von ', # list name
subscribersto => 'Abonnenten von', # list name
subscribers => 'Abonnenten',
additionalparts => 'Weitere Listen-Bestandteile',
additionalparts => 'Weitere Optionen',
posting => 'Einsendungen',
subscription => 'Einschreibung',
remoteadmin => 'Entfernte AdministratorIn',