From e8bab4e22bf6c1ca350998a0c8ad0c3fa80f44c9 Mon Sep 17 00:00:00 2001 From: JT Smith Date: Sun, 10 Nov 2002 20:53:03 +0000 Subject: [PATCH] Cleaning up the admin interface. --- lib/WebGUI/Operation/Help.pm | 6 +- lib/WebGUI/Operation/International.pm | 305 ++++++++++++-------------- sbin/preload.perl | 3 +- 3 files changed, 148 insertions(+), 166 deletions(-) diff --git a/lib/WebGUI/Operation/Help.pm b/lib/WebGUI/Operation/Help.pm index c0f8350bb..361d69215 100644 --- a/lib/WebGUI/Operation/Help.pm +++ b/lib/WebGUI/Operation/Help.pm @@ -55,8 +55,8 @@ sub _submenu { tie %menu, 'Tie::IxHash'; %menu = %{$_[1]}; if (($session{form}{op} eq "editHelp" && $session{form}{hid} ne "new") || $session{form}{op} eq "deleteHelp") { - $menu(WebGUI::URL::page('op=editHelpIndex&hid='.$session{form}{hid}) = "Edit this help."; - $menu(WebGUI::URL::page('op=deleteHelpIndex&hid='.$session{form}{hid}) = "Delete this help."; + $menu{WebGUI::URL::page('op=editHelpIndex&hid='.$session{form}{hid})} = "Edit this help."; + $menu{WebGUI::URL::page('op=deleteHelpIndex&hid='.$session{form}{hid})} = "Delete this help."; } $menu{WebGUI::URL::page('op=viewHelpIndex')} = WebGUI::International::get(13); return menuWrapper($_[0],\%menu); @@ -189,7 +189,7 @@ sub www_exportHelp { #------------------------------------------------------------------- sub www_manageHelp { my ($sth, @help, $output); - return "" unless (WebGUI::Privilege::isInGroup(3)) { + return "" unless (WebGUI::Privilege::isInGroup(3)); $output = '

Manage Help

'; $output .= 'This interface is for WebGUI developers only. If you\'re not a developer, leave this alone. Also, this interface works ONLY under MySQL and is not supported by Plain Black under any diff --git a/lib/WebGUI/Operation/International.pm b/lib/WebGUI/Operation/International.pm index aa785f2d8..76732d557 100644 --- a/lib/WebGUI/Operation/International.pm +++ b/lib/WebGUI/Operation/International.pm @@ -18,6 +18,7 @@ use WebGUI::HTMLForm; use WebGUI::Icon; use WebGUI::International; use WebGUI::Mail; +use WebGUI::Operation::Shared; use WebGUI::Paginator; use WebGUI::Session; use WebGUI::SQL; @@ -55,21 +56,20 @@ sub _export { #------------------------------------------------------------------- sub _submenu { - my ($output); - $output = ''; - $output .= ''; - $output .= '
'.$_[0].''; + my (%menu); + tie %menu, 'Tie::IxHash'; if ($session{form}{lid} == 1) { - $output .= '
  • Add new message.'; + $menu{WebGUI::URL::page('op=addInternationalMessage&lid=1')} = "Add new message."; } - $output .= '
  • '.WebGUI::International::get(594).''; - $output .= '
  • '.WebGUI::International::get(598).''; - $output .= '
  • '.WebGUI::International::get(718).''; - $output .= '
  • '.WebGUI::International::get(593).''; - $output .= '
  • '.WebGUI::International::get(585).''; - $output .= '
  • '.WebGUI::International::get(493).''; - $output .= '
  • '; - return $output; + if ($session{form}{lid} ne "") { + $menu{WebGUI::URL::page('op=listInternationalMessages&lid='.$session{form}{lid})} = + WebGUI::International::get(594); + $menu{WebGUI::URL::page('op=editLanguage&lid='.$session{form}{lid})} = WebGUI::International::get(598); + $menu{WebGUI::URL::page('op=exportTranslation&lid='.$session{form}{lid})} = WebGUI::International::get(718); + $menu{WebGUI::URL::page('op=submitTranslation&lid='.$session{form}{lid})} = WebGUI::International::get(593); + } + $menu{WebGUI::URL::page('op=listLanguages')} = WebGUI::International::get(585); + return menuWrapper($_[0],\%menu); } #------------------------------------------------------------------- @@ -121,63 +121,53 @@ sub www_deleteLanguage { #------------------------------------------------------------------- sub www_deleteLanguageConfirm { - if ($session{form}{lid} < 1000 && $session{form}{lid} > 0) { - return WebGUI::Privilege::vitalComponent(); - } elsif (WebGUI::Privilege::isInGroup(3)) { - WebGUI::SQL->write("delete from language where languageId=".$session{form}{lid}); - WebGUI::SQL->write("delete from international where languageId=".$session{form}{lid}); - WebGUI::SQL->write("delete from help where languageId=".$session{form}{lid}); - WebGUI::SQL->write("delete from userProfileData where fieldName='language' and fieldData=".$session{form}{lid}); - return www_listLanguages(); - } else { - return WebGUI::Privilege::adminOnly(); - } + return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3)); + return WebGUI::Privilege::vitalComponent() if ($session{form}{lid} < 1000 && $session{form}{lid} > 0); + WebGUI::SQL->write("delete from language where languageId=".$session{form}{lid}); + WebGUI::SQL->write("delete from international where languageId=".$session{form}{lid}); + WebGUI::SQL->write("delete from help where languageId=".$session{form}{lid}); + WebGUI::SQL->write("delete from userProfileData where fieldName='language' and fieldData=".$session{form}{lid}); + return www_listLanguages(); } #------------------------------------------------------------------- sub www_editInternationalMessage { my ($output, $message, $f, $language); - if (WebGUI::Privilege::isInGroup(3)) { - ($language) = WebGUI::SQL->quickArray("select language from language where languageId=".$session{form}{lid}); - $output = '

    '.WebGUI::International::get(597).'

    '; - $f = WebGUI::HTMLForm->new; - $f->readOnly($session{form}{iid},WebGUI::International::get(601)); - $f->hidden("lid",$session{form}{lid}); - $f->hidden("status",$session{form}{status}); - $f->hidden("iid",$session{form}{iid}); - $f->hidden("pn",$session{form}{pn}); - $f->hidden("namespace",$session{form}{namespace}); - $f->hidden("op","editInternationalMessageSave"); - ($message) = WebGUI::SQL->quickArray("select message from international where internationalId=".$session{form}{iid}." - and namespace='".$session{form}{namespace}."' and languageId=".$session{form}{lid}); - $f->textarea("message",$language,$message); - $f->submit; - ($message) = WebGUI::SQL->quickArray("select message from international where internationalId=".$session{form}{iid}." - and namespace='".$session{form}{namespace}."' and languageId=1"); - $f->readOnly($message,"English"); - $output .= $f->print; - return _submenu($output); - } else { - return WebGUI::Privilege::adminOnly(); - } + return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3)); + ($language) = WebGUI::SQL->quickArray("select language from language where languageId=".$session{form}{lid}); + $output = '

    '.WebGUI::International::get(597).'

    '; + $f = WebGUI::HTMLForm->new; + $f->readOnly($session{form}{iid},WebGUI::International::get(601)); + $f->hidden("lid",$session{form}{lid}); + $f->hidden("status",$session{form}{status}); + $f->hidden("iid",$session{form}{iid}); + $f->hidden("pn",$session{form}{pn}); + $f->hidden("namespace",$session{form}{namespace}); + $f->hidden("op","editInternationalMessageSave"); + ($message) = WebGUI::SQL->quickArray("select message from international where internationalId=".$session{form}{iid}." + and namespace='".$session{form}{namespace}."' and languageId=".$session{form}{lid}); + $f->textarea("message",$language,$message); + $f->submit; + ($message) = WebGUI::SQL->quickArray("select message from international where internationalId=".$session{form}{iid}." + and namespace='".$session{form}{namespace}."' and languageId=1"); + $f->readOnly($message,"English"); + $output .= $f->print; + return _submenu($output); } #------------------------------------------------------------------- sub www_editInternationalMessageSave { - if (WebGUI::Privilege::isInGroup(3)) { - if ($session{form}{status} eq "missing") { - WebGUI::SQL->write("insert into international (message,namespace,languageId,internationalId,lastUpdated) - values (".quote($session{form}{message}).",".quote($session{form}{namespace}) - .",".$session{form}{lid}.",".$session{form}{iid}.", ".time().")"); - } else { - WebGUI::SQL->write("update international set message=".quote($session{form}{message}).", lastUpdated=" - .time()." where namespace=".quote($session{form}{namespace})." - and languageId=".$session{form}{lid}." and internationalId=".$session{form}{iid}); - } - return www_listInternationalMessages(); - } else { - return WebGUI::Privilege::adminOnly(); - } + return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3)); + if ($session{form}{status} eq "missing") { + WebGUI::SQL->write("insert into international (message,namespace,languageId,internationalId,lastUpdated) + values (".quote($session{form}{message}).",".quote($session{form}{namespace}) + .",".$session{form}{lid}.",".$session{form}{iid}.", ".time().")"); + } else { + WebGUI::SQL->write("update international set message=".quote($session{form}{message}).", lastUpdated=" + .time()." where namespace=".quote($session{form}{namespace})." + and languageId=".$session{form}{lid}." and internationalId=".$session{form}{iid}); + } + return www_listInternationalMessages(); } #------------------------------------------------------------------- @@ -216,18 +206,15 @@ sub www_editLanguage { #------------------------------------------------------------------- sub www_editLanguageSave { - if (WebGUI::Privilege::isInGroup(3)) { - if ($session{form}{lid} eq "new") { - $session{form}{lid} = getNextId("languageId"); - WebGUI::SQL->write("insert into language (languageId) values ($session{form}{lid})"); - } - WebGUI::SQL->write("update language set language=".quote($session{form}{language}).", - characterSet=".quote($session{form}{characterSet}).", toolbar=".quote($session{form}{toolbar})." - where languageId=".$session{form}{lid}); - return www_editLanguage(); - } else { - return WebGUI::Privilege::adminOnly(); + return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3)); + if ($session{form}{lid} eq "new") { + $session{form}{lid} = getNextId("languageId"); + WebGUI::SQL->write("insert into language (languageId) values ($session{form}{lid})"); } + WebGUI::SQL->write("update language set language=".quote($session{form}{language}).", + characterSet=".quote($session{form}{characterSet}).", toolbar=".quote($session{form}{toolbar})." + where languageId=".$session{form}{lid}); + return www_editLanguage(); } #------------------------------------------------------------------- @@ -238,105 +225,99 @@ sub www_exportTranslation { #------------------------------------------------------------------- sub www_listInternationalMessages { + return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3)); my ($output, $sth, $key, $p, $search, $status,%data, %list, $deprecated, $i, $missing, @row, $f, $outOfDate, $ok); tie %data, 'Tie::CPHash'; - if (WebGUI::Privilege::isInGroup(3)) { - %data = WebGUI::SQL->quickHash("select language from language where languageId=".$session{form}{lid}); - $missing = ''.WebGUI::International::get(596).''; - $outOfDate = ''.WebGUI::International::get(719).''; - $ok = WebGUI::International::get(720); - $deprecated = WebGUI::International::get(723); - $output = '

    '.WebGUI::International::get(595).' ('.$data{language}.')

    '; - $f = WebGUI::HTMLForm->new(1); - $f->hidden("op","listInternationalMessages"); - $f->hidden("lid",$session{form}{lid}); - $f->text("search","",$session{form}{search}); - $f->submit("search"); - $output .= $f->print; - if ($session{form}{search} ne "") { - $search = " and message like ".quote("%".$session{form}{search}."%"); - } - $sth = WebGUI::SQL->read("select * from international where languageId=".$session{form}{lid}.$search); - while (%data = $sth->hash) { - $list{"z-".$data{namespace}."-".$data{internationalId}}{id} = $data{internationalId}; - $list{"z-".$data{namespace}."-".$data{internationalId}}{namespace} = $data{namespace}; - $list{"z-".$data{namespace}."-".$data{internationalId}}{message} = $data{message}; - $list{"z-".$data{namespace}."-".$data{internationalId}}{lastUpdated} = $data{lastUpdated}; - $list{"z-".$data{namespace}."-".$data{internationalId}}{status} = "deleted"; - } - $sth->finish; - $sth = WebGUI::SQL->read("select * from international where languageId=1".$search); - while (%data = $sth->hash) { - $key = $data{namespace}."-".$data{internationalId}; - unless ($list{"z-".$key}) { - $list{"a-".$key}{namespace} = $data{namespace}; - $list{"a-".$key}{id} = $data{internationalId}; - $list{"a-".$key}{status} = "missing"; - } else { - if ($list{"z-".$key}{lastUpdated} < $data{lastUpdated}) { - $list{"o-".$key} = $list{"z-".$key}; - delete($list{"z-".$key}); - $list{"o-".$key}{status} = "updated"; - } else { - $list{"q-".$key} = $list{"z-".$key}; - delete($list{"z-".$key}); - $list{"q-".$key}{status} = "ok"; - } - } - } - $sth->finish; - foreach $key (sort {$a cmp $b} keys %list) { - if ($list{$key}{status} eq "updated") { - $status = $outOfDate; - } elsif ($list{$key}{status} eq "missing") { - $status = $missing; - } elsif ($list{$key}{status} eq "deleted") { - $status = $deprecated; - } else { - $status = $ok; - } - $row[$i] = ''.$status."" - .editIcon('op=editInternationalMessage&lid='.$session{form}{lid} - .'&iid='.$list{$key}{id}.'&namespace='.$list{$key}{namespace}.'&pn='.$session{form}{pn} - ."&status=".$list{$key}{status})."".$list{$key}{namespace}."" - .$list{$key}{id}."".$list{$key}{message}."\n"; - $i++; - } - $p = WebGUI::Paginator->new(WebGUI::URL::page('op=listInternationalMessages&lid='.$session{form}{lid}),\@row,100); - $output .= $p->getBarTraditional($session{form}{pn}); - $output .= ''; - $output .= ''; - $output .= $p->getPage($session{form}{pn}); - $output .= '
    '.WebGUI::International::get(434).''. - WebGUI::International::get(575).''.WebGUI::International::get(721) - .''.WebGUI::International::get(722) - .''.WebGUI::International::get(230).'
    '; - $output .= $p->getBarTraditional($session{form}{pn}); - return _submenu($output); - } else { - return WebGUI::Privilege::adminOnly(); + %data = WebGUI::SQL->quickHash("select language from language where languageId=".$session{form}{lid}); + $missing = ''.WebGUI::International::get(596).''; + $outOfDate = ''.WebGUI::International::get(719).''; + $ok = WebGUI::International::get(720); + $deprecated = WebGUI::International::get(723); + $output = '

    '.WebGUI::International::get(595).' ('.$data{language}.')

    '; + $f = WebGUI::HTMLForm->new(1); + $f->hidden("op","listInternationalMessages"); + $f->hidden("lid",$session{form}{lid}); + $f->text("search","",$session{form}{search}); + $f->submit("search"); + $output .= $f->print; + if ($session{form}{search} ne "") { + $search = " and message like ".quote("%".$session{form}{search}."%"); + } + $sth = WebGUI::SQL->read("select * from international where languageId=".$session{form}{lid}.$search); + while (%data = $sth->hash) { + $list{"z-".$data{namespace}."-".$data{internationalId}}{id} = $data{internationalId}; + $list{"z-".$data{namespace}."-".$data{internationalId}}{namespace} = $data{namespace}; + $list{"z-".$data{namespace}."-".$data{internationalId}}{message} = $data{message}; + $list{"z-".$data{namespace}."-".$data{internationalId}}{lastUpdated} = $data{lastUpdated}; + $list{"z-".$data{namespace}."-".$data{internationalId}}{status} = "deleted"; } + $sth->finish; + $sth = WebGUI::SQL->read("select * from international where languageId=1".$search); + while (%data = $sth->hash) { + $key = $data{namespace}."-".$data{internationalId}; + unless ($list{"z-".$key}) { + $list{"a-".$key}{namespace} = $data{namespace}; + $list{"a-".$key}{id} = $data{internationalId}; + $list{"a-".$key}{status} = "missing"; + } else { + if ($list{"z-".$key}{lastUpdated} < $data{lastUpdated}) { + $list{"o-".$key} = $list{"z-".$key}; + delete($list{"z-".$key}); + $list{"o-".$key}{status} = "updated"; + } else { + $list{"q-".$key} = $list{"z-".$key}; + delete($list{"z-".$key}); + $list{"q-".$key}{status} = "ok"; + } + } + } + $sth->finish; + foreach $key (sort {$a cmp $b} keys %list) { + if ($list{$key}{status} eq "updated") { + $status = $outOfDate; + } elsif ($list{$key}{status} eq "missing") { + $status = $missing; + } elsif ($list{$key}{status} eq "deleted") { + $status = $deprecated; + } else { + $status = $ok; + } + $row[$i] = ''.$status."" + .editIcon('op=editInternationalMessage&lid='.$session{form}{lid} + .'&iid='.$list{$key}{id}.'&namespace='.$list{$key}{namespace}.'&pn='.$session{form}{pn} + ."&status=".$list{$key}{status})."".$list{$key}{namespace}."" + .$list{$key}{id}."".$list{$key}{message}."\n"; + $i++; + } + $p = WebGUI::Paginator->new(WebGUI::URL::page('op=listInternationalMessages&lid='.$session{form}{lid}),\@row,100); + $output .= $p->getBarTraditional($session{form}{pn}); + $output .= ''; + $output .= ''; + $output .= $p->getPage($session{form}{pn}); + $output .= '
    '.WebGUI::International::get(434).''. + WebGUI::International::get(575).''.WebGUI::International::get(721) + .''.WebGUI::International::get(722) + .''.WebGUI::International::get(230).'
    '; + $output .= $p->getBarTraditional($session{form}{pn}); + return _submenu($output); } #------------------------------------------------------------------- sub www_listLanguages { my ($output, $sth, %data); tie %data, 'Tie::CPHash'; - if (WebGUI::Privilege::isInGroup(3)) { - $output = '

    '.WebGUI::International::get(586).'

    '; - $output .= ''.WebGUI::International::get(584).''; - $output .= '

    '; - $sth = WebGUI::SQL->read("select languageId,language from language where languageId<>1 order by language"); - while (%data = $sth->hash) { - $output .= deleteIcon("op=deleteLanguage&lid=".$data{languageId}) - .editIcon("op=editLanguage&lid=".$data{languageId}) - .' '.$data{language}.'
    '; - } - $sth->finish; - return $output; - } else { - return WebGUI::Privilege::adminOnly(); - } + return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3)); + $output = '

    '.WebGUI::International::get(586).'

    '; + $output .= ''.WebGUI::International::get(584).''; + $output .= '

    '; + $sth = WebGUI::SQL->read("select languageId,language from language where languageId<>1 order by language"); + while (%data = $sth->hash) { + $output .= deleteIcon("op=deleteLanguage&lid=".$data{languageId}) + .editIcon("op=editLanguage&lid=".$data{languageId}) + .' '.$data{language}.'
    '; + } + $sth->finish; + return _submenu($output); } #------------------------------------------------------------------- diff --git a/sbin/preload.perl b/sbin/preload.perl index 9b6058e7a..386a5cd9d 100644 --- a/sbin/preload.perl +++ b/sbin/preload.perl @@ -64,9 +64,9 @@ use WebGUI::Node (); use WebGUI::Operation (); use WebGUI::Operation::Account (); use WebGUI::Operation::Admin (); +use WebGUI::Operation::Collateral (); use WebGUI::Operation::Group (); use WebGUI::Operation::Help (); -use WebGUI::Operation::Image (); use WebGUI::Operation::International (); use WebGUI::Operation::Package (); use WebGUI::Operation::Page (); @@ -74,6 +74,7 @@ use WebGUI::Operation::ProfileSettings (); use WebGUI::Operation::Root (); use WebGUI::Operation::Search (); use WebGUI::Operation::Settings (); +use WebGUI::Operation::Shared (); use WebGUI::Operation::Statistics (); use WebGUI::Operation::Style (); use WebGUI::Operation::Template ();