package WebGUI::Operation::Style; #------------------------------------------------------------------- # WebGUI is Copyright 2001-2002 Plain Black LLC. #------------------------------------------------------------------- # Please read the legal notices (docs/legal.txt) and the license # (docs/license.txt) that came with this distribution before using # this software. #------------------------------------------------------------------- # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- use Exporter; use strict; use Tie::CPHash; use WebGUI::HTMLForm; use WebGUI::Icon; use WebGUI::International; use WebGUI::Paginator; use WebGUI::Privilege; use WebGUI::Session; use WebGUI::SQL; use WebGUI::URL; use WebGUI::Utility; our @ISA = qw(Exporter); our @EXPORT = qw(&www_copyStyle &www_deleteStyle &www_deleteStyleConfirm &www_editStyle &www_editStyleSave &www_listStyles); #------------------------------------------------------------------- sub www_copyStyle { 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(); } } #------------------------------------------------------------------- sub www_deleteStyle { 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 .= '
'; $output .= '
'; return $output; } else { return WebGUI::Privilege::adminOnly(); } } #------------------------------------------------------------------- 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(); } } #------------------------------------------------------------------- sub www_editStyle { 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 .= '