From a06ad50cac43f41e0a167566c25120562eb459bf Mon Sep 17 00:00:00 2001 From: JT Smith Date: Tue, 12 Nov 2002 04:47:56 +0000 Subject: [PATCH] Cleaning up the admin interface. --- docs/upgrades/upgrade_4.7.0-4.8.0.sql | 3 + lib/WebGUI/Operation/Root.pm | 60 +++++---- lib/WebGUI/Operation/Style.pm | 172 ++++++++++++-------------- 3 files changed, 114 insertions(+), 121 deletions(-) diff --git a/docs/upgrades/upgrade_4.7.0-4.8.0.sql b/docs/upgrades/upgrade_4.7.0-4.8.0.sql index b9b256a30..714554a06 100644 --- a/docs/upgrades/upgrade_4.7.0-4.8.0.sql +++ b/docs/upgrades/upgrade_4.7.0-4.8.0.sql @@ -131,6 +131,9 @@ insert into international (internationalId,languageId,namespace,message,lastUpda insert into international (internationalId,languageId,namespace,message,lastUpdated) values (794,1,'WebGUI','Packages', 1036971944); insert into international (internationalId,languageId,namespace,message,lastUpdated) values (793,1,'WebGUI','Pieces of Collateral', 1036971785); insert into international (internationalId,languageId,namespace,message,lastUpdated) values (792,1,'WebGUI','Templates', 1036971696); +insert into international (internationalId,languageId,namespace,message,lastUpdated) values (805,1,'WebGUI','Delete this style.', 1037075787); +insert into international (internationalId,languageId,namespace,message,lastUpdated) values (804,1,'WebGUI','Copy this style.', 1037075775); +insert into international (internationalId,languageId,namespace,message,lastUpdated) values (803,1,'WebGUI','Edit this style.', 1037075751); diff --git a/lib/WebGUI/Operation/Root.pm b/lib/WebGUI/Operation/Root.pm index d5e29c5aa..42462c28d 100644 --- a/lib/WebGUI/Operation/Root.pm +++ b/lib/WebGUI/Operation/Root.pm @@ -15,6 +15,7 @@ use strict; use Tie::CPHash; use WebGUI::Icon; use WebGUI::International; +use WebGUI::Operation::Shared; use WebGUI::Paginator; use WebGUI::Privilege; use WebGUI::Session; @@ -24,41 +25,38 @@ use WebGUI::URL; our @ISA = qw(Exporter); our @EXPORT = qw(&www_listRoots); +#------------------------------------------------------------------- +sub _submenu { + my (%menu); + tie %menu, 'Tie::IxHash'; + $menu{WebGUI::URL::page('op=editPage&npp=0')} = WebGUI::International::get(409); + return menuWrapper($_[0],\%menu); +} + #------------------------------------------------------------------- sub www_listRoots { + return WebGUI::Privilege::adminOnly() unless(WebGUI::Privilege::isInGroup(3)); my ($output, $p, $sth, %data, @row, $i); - if (WebGUI::Privilege::isInGroup(3)) { - $output = helpIcon(28); - $output .= '

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

'; - $output .= '
'.WebGUI::International::get(409).'
'; - $output .= ''; - $sth = WebGUI::SQL->read("select * from page where title<>'Reserved' and parentId=0 order by title"); - while (%data = $sth->hash) { - $row[$i] = ''; - $row[$i] .= ''; - $row[$i] .= ''; - $i++; - } - $sth->finish; - $p = WebGUI::Paginator->new(WebGUI::URL::page('op=listRoots'),\@row); - $output .= '
'. - ''. - ''. - ''. - ''. - ''. - ''. - ''. - ''. - ''.$data{title}.''.$data{urlizedTitle}.'
'; - $output .= $p->getPage($session{form}{pn}); - $output .= '
'; - $output .= $p->getBarTraditional($session{form}{pn}); - return $output; - } else { - return WebGUI::Privilege::adminOnly(); + $output = helpIcon(28); + $output .= '

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

'; + $sth = WebGUI::SQL->read("select * from page where title<>'Reserved' and parentId=0 order by title"); + while (%data = $sth->hash) { + $row[$i] = '' + .deleteIcon('op=deletePage',$data{urlizedTitle}) + .editIcon('op=editPage',$data{urlizedTitle}) + .cutIcon('op=cutPage',$data{urlizedTitle}) + .''; + $row[$i] .= ''.$data{title}.''; + $row[$i] .= ''.$data{urlizedTitle}.''; + $i++; } + $sth->finish; + $p = WebGUI::Paginator->new(WebGUI::URL::page('op=listRoots'),\@row); + $output .= ''; + $output .= $p->getPage; + $output .= '
'; + $output .= $p->getBarTraditional; + return _submenu($output); } diff --git a/lib/WebGUI/Operation/Style.pm b/lib/WebGUI/Operation/Style.pm index 9844c2e9c..ab3255c3c 100644 --- a/lib/WebGUI/Operation/Style.pm +++ b/lib/WebGUI/Operation/Style.pm @@ -16,6 +16,7 @@ use Tie::CPHash; use WebGUI::HTMLForm; use WebGUI::Icon; use WebGUI::International; +use WebGUI::Operation::Shared; use WebGUI::Paginator; use WebGUI::Privilege; use WebGUI::Session; @@ -26,124 +27,115 @@ use WebGUI::Utility; our @ISA = qw(Exporter); our @EXPORT = qw(&www_copyStyle &www_deleteStyle &www_deleteStyleConfirm &www_editStyle &www_editStyleSave &www_listStyles); +#------------------------------------------------------------------- +sub _submenu { + my (%menu); + tie %menu, 'Tie::IxHash'; + $menu{WebGUI::URL::page('op=editStyle&sid=new')} = WebGUI::International::get(158); + if (($session{form}{op} eq "editStyle" && $session{form}{sid} ne "new") || $session{form}{op} eq "deleteStyle") { + $menu{WebGUI::URL::page('op=editStyle&sid='.$session{form}{sid})} = WebGUI::International::get(803); + $menu{WebGUI::URL::page('op=copyStyle&sid='.$session{form}{sid})} = WebGUI::International::get(804); + $menu{WebGUI::URL::page('op=deleteStyle&sid='.$session{form}{sid})} = WebGUI::International::get(805); + } + return menuWrapper($_[0],\%menu); +} + #------------------------------------------------------------------- sub www_copyStyle { + return WebGUI::Privilege::insufficient unless (WebGUI::Privilege::isInGroup($session{setting}{styleManagersGroup})); my (%style); - if (WebGUI::Privilege::isInGroup($session{setting}{styleManagersGroup})) { - %style = WebGUI::SQL->quickHash("select * from style where styleId=$session{form}{sid}"); - WebGUI::SQL->write("insert into style (styleId,name,body,styleSheet) values (".getNextId("styleId").", - ".quote('Copy of '.$style{name}).", ".quote($style{body}).", ".quote($style{styleSheet}).")"); - return www_listStyles(); - } else { - return WebGUI::Privilege::adminOnly(); - } + %style = WebGUI::SQL->quickHash("select * from style where styleId=$session{form}{sid}"); + WebGUI::SQL->write("insert into style (styleId,name,body,styleSheet) values (".getNextId("styleId").", + ".quote('Copy of '.$style{name}).", ".quote($style{body}).", ".quote($style{styleSheet}).")"); + return _submenu(www_listStyles()); } #------------------------------------------------------------------- sub www_deleteStyle { + return WebGUI::Privilege::insufficient unless (WebGUI::Privilege::isInGroup($session{setting}{styleManagersGroup})); + return WebGUI::Privilege::vitalComponent() if ($session{form}{sid} < 1000 && $session{form}{sid} > 0); my ($output); - if ($session{form}{sid} < 26 && $session{form}{sid} > 0) { - return WebGUI::Privilege::vitalComponent(); - } elsif (WebGUI::Privilege::isInGroup($session{setting}{styleManagersGroup})) { - $output .= helpIcon(4); - $output .= '

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

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

'; - $output .= '

'.WebGUI::International::get(44).''; - $output .= '    '.WebGUI::International::get(45).'
'; - return $output; - } else { - return WebGUI::Privilege::adminOnly(); - } + $output .= helpIcon(4); + $output .= '

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

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

'; + $output .= '

'.WebGUI::International::get(44).''; + $output .= '    '.WebGUI::International::get(45).'
'; + return _submenu($output); } #------------------------------------------------------------------- sub www_deleteStyleConfirm { - if ($session{form}{sid} < 26 && $session{form}{sid} > 0) { - return WebGUI::Privilege::vitalComponent(); - } elsif (WebGUI::Privilege::isInGroup($session{setting}{styleManagersGroup})) { - WebGUI::SQL->write("delete from style where styleId=".$session{form}{sid}); - WebGUI::SQL->write("update page set styleId=2 where styleId=".$session{form}{sid}); - return www_listStyles(); - } else { - return WebGUI::Privilege::adminOnly(); - } + return WebGUI::Privilege::insufficient unless (WebGUI::Privilege::isInGroup($session{setting}{styleManagersGroup})); + return WebGUI::Privilege::vitalComponent() if ($session{form}{sid} < 1000 && $session{form}{sid} > 0); + WebGUI::SQL->write("delete from style where styleId=".$session{form}{sid}); + WebGUI::SQL->write("update page set styleId=2 where styleId=".$session{form}{sid}); + return www_listStyles(); } #------------------------------------------------------------------- sub www_editStyle { + return WebGUI::Privilege::insufficient unless (WebGUI::Privilege::isInGroup($session{setting}{styleManagersGroup})); my ($output, %style, $f); tie %style, 'Tie::CPHash'; - if (WebGUI::Privilege::isInGroup($session{setting}{styleManagersGroup})) { - if ($session{form}{sid} eq "new") { - $style{body} = "^AdminBar;\n\n\n\n^-;\n\n"; - $style{styleSheet} = ""; - } else { - %style = WebGUI::SQL->quickHash("select * from style where styleId=$session{form}{sid}"); - } - $output .= helpIcon(16); - $output .= '

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

'; - $f = WebGUI::HTMLForm->new; - $f->hidden("op","editStyleSave"); - $f->hidden("sid",$session{form}{sid}); - $f->readOnly($session{form}{sid},WebGUI::International::get(380)); - $f->text("name",WebGUI::International::get(151),$style{name}); - $f->HTMLArea("body",WebGUI::International::get(501),$style{body},'','','',(5+$session{setting}{textAreaRows})); - $f->textarea("styleSheet",WebGUI::International::get(154),$style{styleSheet},'','','',(5+$session{setting}{textAreaRows})); - $f->submit; - $output .= $f->print; - } else { - $output = WebGUI::Privilege::adminOnly(); - } - return $output; + if ($session{form}{sid} eq "new") { + $style{body} = "^AdminBar;\n\n\n\n^-;\n\n"; + $style{styleSheet} = ""; + } else { + %style = WebGUI::SQL->quickHash("select * from style where styleId=$session{form}{sid}"); + } + $output .= helpIcon(16); + $output .= '

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

'; + $f = WebGUI::HTMLForm->new; + $f->hidden("op","editStyleSave"); + $f->hidden("sid",$session{form}{sid}); + $f->readOnly($session{form}{sid},WebGUI::International::get(380)); + $f->text("name",WebGUI::International::get(151),$style{name}); + $f->HTMLArea("body",WebGUI::International::get(501),$style{body},'','','',(5+$session{setting}{textAreaRows})); + $f->textarea("styleSheet",WebGUI::International::get(154),$style{styleSheet},'','','',(5+$session{setting}{textAreaRows})); + $f->submit; + $output .= $f->print; + return _submenu($output); } #------------------------------------------------------------------- sub www_editStyleSave { - if (WebGUI::Privilege::isInGroup($session{setting}{styleManagersGroup})) { - if ($session{form}{sid} eq "new") { - $session{form}{sid} = getNextId("styleId"); - WebGUI::SQL->write("insert into style (styleId) values ($session{form}{sid})"); - } - $session{form}{body} = "^AdminBar;\n\n\n\n^-;\n\n" if ($session{form}{body} eq ""); - WebGUI::SQL->write("update style set name=".quote($session{form}{name}).", body=".quote($session{form}{body}).", - styleSheet=".quote($session{form}{styleSheet})." where styleId=".$session{form}{sid}); - return www_listStyles(); - } else { - return WebGUI::Privilege::adminOnly(); - } + return WebGUI::Privilege::insufficient unless (WebGUI::Privilege::isInGroup($session{setting}{styleManagersGroup})); + if ($session{form}{sid} eq "new") { + $session{form}{sid} = getNextId("styleId"); + WebGUI::SQL->write("insert into style (styleId) values ($session{form}{sid})"); + } + $session{form}{body} = "^AdminBar;\n\n\n\n^-;\n\n" if ($session{form}{body} eq ""); + WebGUI::SQL->write("update style set name=".quote($session{form}{name}).", body=".quote($session{form}{body}).", + styleSheet=".quote($session{form}{styleSheet})." where styleId=".$session{form}{sid}); + return www_listStyles(); } #------------------------------------------------------------------- sub www_listStyles { + return WebGUI::Privilege::insufficient unless (WebGUI::Privilege::isInGroup($session{setting}{styleManagersGroup})); my ($output, $sth, @data, @row, $i, $p); - if (WebGUI::Privilege::isInGroup($session{setting}{styleManagersGroup})) { - $output = helpIcon(9); - $output .= '

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

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

'; - $sth = WebGUI::SQL->read("select styleId,name from style order by name"); - while (@data = $sth->array) { - $row[$i] = '' - .deleteIcon('op=deleteStyle&sid='.$data[0]) - .editIcon('op=editStyle&sid='.$data[0]) - .copyIcon('op=copyStyle&sid='.$data[0]) - .''; - $row[$i] .= ''.$data[1].''; - $i++; - } - $sth->finish; - $p = WebGUI::Paginator->new(WebGUI::URL::page('op=listStyles'),\@row); - $output .= ''; - $output .= $p->getPage($session{form}{pn}); - $output .= '
'; - $output .= $p->getBarTraditional($session{form}{pn}); - return $output; - } else { - return WebGUI::Privilege::adminOnly(); + $output = helpIcon(9); + $output .= '

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

'; + $sth = WebGUI::SQL->read("select styleId,name from style order by name"); + while (@data = $sth->array) { + $row[$i] = '' + .deleteIcon('op=deleteStyle&sid='.$data[0]) + .editIcon('op=editStyle&sid='.$data[0]) + .copyIcon('op=copyStyle&sid='.$data[0]) + .''; + $row[$i] .= ''.$data[1].''; + $i++; } + $sth->finish; + $p = WebGUI::Paginator->new(WebGUI::URL::page('op=listStyles'),\@row); + $output .= ''; + $output .= $p->getPage($session{form}{pn}); + $output .= '
'; + $output .= $p->getBarTraditional($session{form}{pn}); + return $output; }