diff --git a/lib/WebGUI/Operation/Help.pm b/lib/WebGUI/Operation/Help.pm
index 10a12bce8..c0f8350bb 100644
--- a/lib/WebGUI/Operation/Help.pm
+++ b/lib/WebGUI/Operation/Help.pm
@@ -17,6 +17,7 @@ use Tie::CPHash;
use WebGUI::HTMLForm;
use WebGUI::Icon;
use WebGUI::International;
+use WebGUI::Operation::Shared;
use WebGUI::Session;
use WebGUI::SQL;
use WebGUI::URL;
@@ -48,112 +49,125 @@ sub _seeAlso {
return $output;
}
+#-------------------------------------------------------------------
+sub _submenu {
+ my (%menu);
+ 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=viewHelpIndex')} = WebGUI::International::get(13);
+ return menuWrapper($_[0],\%menu);
+}
+
#-------------------------------------------------------------------
sub www_deleteHelp {
return "" unless (WebGUI::Privilege::isInGroup(3));
- my $output = '
Confirm
Are you sure? Deleting help is never a good idea. Yes / No';
- return $output;
+ my $output = '
Confirm
Are you sure? Deleting help is never a good idea. Yes / No';
+ return _submen($output);
}
#-------------------------------------------------------------------
sub www_deleteHelpConfirm {
return "" unless (WebGUI::Privilege::isInGroup(3));
- my ($titleId, $bodyId) = WebGUI::SQL->quickArray("select titleId,bodyId from help where helpId=".$session{form}{hid}."
- and namespace=".quote($session{form}{namespace}));
- WebGUI::SQL->write("delete from international where internationalId=$titleId
- and namespace=".quote($session{form}{namespace}));
- WebGUI::SQL->write("delete from international where internationalId=$bodyId
- and namespace=".quote($session{form}{namespace}));
- WebGUI::SQL->write("delete from help where helpId=".$session{form}{hid}."
- and namespace=".quote($session{form}{namespace}));
- return www_manageHelp();
+ my ($titleId, $bodyId) = WebGUI::SQL->quickArray("select titleId,bodyId from help where helpId=".$session{form}{hid}."
+ and namespace=".quote($session{form}{namespace}));
+ WebGUI::SQL->write("delete from international where internationalId=$titleId
+ and namespace=".quote($session{form}{namespace}));
+ WebGUI::SQL->write("delete from international where internationalId=$bodyId
+ and namespace=".quote($session{form}{namespace}));
+ WebGUI::SQL->write("delete from help where helpId=".$session{form}{hid}."
+ and namespace=".quote($session{form}{namespace}));
+ return www_manageHelp();
}
#-------------------------------------------------------------------
sub www_editHelp {
return "" unless (WebGUI::Privilege::isInGroup(3));
- my ($output, $f, %data, %help, @seeAlso);
- tie %data, 'Tie::IxHash';
- tie %help, 'Tie::CPHash';
- if ($session{form}{hid} ne "new") {
- %help = WebGUI::SQL->quickHash("select * from help where
- helpId=$session{form}{hid} and namespace=".quote($session{form}{namespace}));
- $help{title} = WebGUI::International::get($help{titleId},$help{namespace});
- $help{body} = WebGUI::International::get($help{bodyId},$help{namespace});
- $help{seeAlso} =~ s/\n//g;
- $help{seeAlso} =~ s/\r//g;
- $help{seeAlso} =~ s/ //g;
- @seeAlso = split(/;/,$help{seeAlso});
- } else {
- $help{titleId} = "new";
- $help{bodyId} = "new";
- $help{namespace} = "WebGUI";
- }
- $output = '
Edit Help
';
- $f = WebGUI::HTMLForm->new();
- $f->hidden("op","editHelpSave");
- $f->hidden("hid",$session{form}{hid});
- $f->readOnly($session{form}{hid},"Help ID");
- if ($session{form}{hid} eq "new") {
- %data = WebGUI::SQL->buildHash("select namespace,namespace from help order by namespace");
- $f->combo("namespace",\%data,"Namespace",[$help{namespace}]);
- } else {
- $f->hidden("namespace",$session{form}{namespace});
- $f->readOnly($session{form}{namespace},"Namespace");
- }
- $f->hidden("titleId",$help{titleId});
- $f->readOnly($help{titleId},"Title ID");
- $f->text("title","Title",$help{title});
- $f->hidden("bodyId",$help{bodyId});
- $f->readOnly($help{bodyId},"Body ID");
- $f->HTMLArea("body","Body",$help{body},'','','',20,60);
- %data = WebGUI::SQL->buildHash("select concat(help.helpId,',',help.namespace),
- concat(international.message,' (',help.helpId,'/',help.namespace,')')
- from help,international where help.titleId=international.internationalId
- and help.namespace=international.namespace and international.languageId=1 order by international.message");
- $f->select("seeAlso",\%data,"See Also",\@seeAlso,8,1);
- $f->submit;
- $output .= $f->print;
- return $output;
+ my ($output, $f, %data, %help, @seeAlso);
+ tie %data, 'Tie::IxHash';
+ tie %help, 'Tie::CPHash';
+ if ($session{form}{hid} ne "new") {
+ %help = WebGUI::SQL->quickHash("select * from help where
+ helpId=$session{form}{hid} and namespace=".quote($session{form}{namespace}));
+ $help{title} = WebGUI::International::get($help{titleId},$help{namespace});
+ $help{body} = WebGUI::International::get($help{bodyId},$help{namespace});
+ $help{seeAlso} =~ s/\n//g;
+ $help{seeAlso} =~ s/\r//g;
+ $help{seeAlso} =~ s/ //g;
+ @seeAlso = split(/;/,$help{seeAlso});
+ } else {
+ $help{titleId} = "new";
+ $help{bodyId} = "new";
+ $help{namespace} = "WebGUI";
+ }
+ $output = 'Edit Help
';
+ $f = WebGUI::HTMLForm->new();
+ $f->hidden("op","editHelpSave");
+ $f->hidden("hid",$session{form}{hid});
+ $f->readOnly($session{form}{hid},"Help ID");
+ if ($session{form}{hid} eq "new") {
+ %data = WebGUI::SQL->buildHash("select namespace,namespace from help order by namespace");
+ $f->combo("namespace",\%data,"Namespace",[$help{namespace}]);
+ } else {
+ $f->hidden("namespace",$session{form}{namespace});
+ $f->readOnly($session{form}{namespace},"Namespace");
+ }
+ $f->hidden("titleId",$help{titleId});
+ $f->readOnly($help{titleId},"Title ID");
+ $f->text("title","Title",$help{title});
+ $f->hidden("bodyId",$help{bodyId});
+ $f->readOnly($help{bodyId},"Body ID");
+ $f->HTMLArea("body","Body",$help{body},'','','',20,60);
+ %data = WebGUI::SQL->buildHash("select concat(help.helpId,',',help.namespace),
+ concat(international.message,' (',help.helpId,'/',help.namespace,')')
+ from help,international where help.titleId=international.internationalId
+ and help.namespace=international.namespace and international.languageId=1 order by international.message");
+ $f->select("seeAlso",\%data,"See Also",\@seeAlso,8,1);
+ $f->submit;
+ $output .= $f->print;
+ return _submenu($output);
}
#-------------------------------------------------------------------
sub www_editHelpSave {
return "" unless (WebGUI::Privilege::isInGroup(3));
- my (@seeAlso);
- if ($session{form}{hid} eq "new") {
- if ($session{form}{namespace_new} ne "") {
- $session{form}{namespace} = $session{form}{namespace_new};
- }
- ($session{form}{titleId}) = WebGUI::SQL->quickArray("select max(internationalId) from international
- where namespace=".quote($session{form}{namespace}));
- $session{form}{titleId}++;
- $session{form}{bodyId} = $session{form}{titleId}+1;
- ($session{form}{hid}) = WebGUI::SQL->quickArray("select max(helpId) from help
- where namespace=".quote($session{form}{namespace}));
- $session{form}{hid}++;
- WebGUI::SQL->write("insert into international (internationalId,languageId,namespace) values
- ($session{form}{titleId},1,".quote($session{form}{namespace}).")");
- WebGUI::SQL->write("insert into international (internationalId,languageId,namespace) values
- ($session{form}{bodyId},1,".quote($session{form}{namespace}).")");
- WebGUI::SQL->write("insert into help (helpId,namespace,titleId,bodyId) values
- ($session{form}{hid},".quote($session{form}{namespace}).",$session{form}{titleId},
- $session{form}{bodyId})");
+ my (@seeAlso);
+ if ($session{form}{hid} eq "new") {
+ if ($session{form}{namespace_new} ne "") {
+ $session{form}{namespace} = $session{form}{namespace_new};
}
- @seeAlso = $session{cgi}->param('seeAlso');
- if ($seeAlso[0] ne "") {
- $session{form}{seeAlso} = join(";",@seeAlso);
- $session{form}{seeAlso} .= ';';
- }
- WebGUI::SQL->write("update international set message=".quote($session{form}{title}).", lastUpdated=".time()."
- where internationalId=$session{form}{titleId} and languageId=1 and namespace=".quote($session{form}{namespace}));
- WebGUI::SQL->write("update international set message=".quote($session{form}{body}).", lastUpdated=".time()."
- where internationalId=$session{form}{bodyId} and languageId=1 and namespace=".quote($session{form}{namespace}));
- WebGUI::SQL->write("update help set seeAlso=".quote($session{form}{seeAlso})."
- where helpId=$session{form}{hid} and namespace=".quote($session{form}{namespace}));
- return www_manageHelp();
+ ($session{form}{titleId}) = WebGUI::SQL->quickArray("select max(internationalId) from international
+ where namespace=".quote($session{form}{namespace}));
+ $session{form}{titleId}++;
+ $session{form}{bodyId} = $session{form}{titleId}+1;
+ ($session{form}{hid}) = WebGUI::SQL->quickArray("select max(helpId) from help
+ where namespace=".quote($session{form}{namespace}));
+ $session{form}{hid}++;
+ WebGUI::SQL->write("insert into international (internationalId,languageId,namespace) values
+ ($session{form}{titleId},1,".quote($session{form}{namespace}).")");
+ WebGUI::SQL->write("insert into international (internationalId,languageId,namespace) values
+ ($session{form}{bodyId},1,".quote($session{form}{namespace}).")");
+ WebGUI::SQL->write("insert into help (helpId,namespace,titleId,bodyId) values
+ ($session{form}{hid},".quote($session{form}{namespace}).",$session{form}{titleId},
+ $session{form}{bodyId})");
+ }
+ @seeAlso = $session{cgi}->param('seeAlso');
+ if ($seeAlso[0] ne "") {
+ $session{form}{seeAlso} = join(";",@seeAlso);
+ $session{form}{seeAlso} .= ';';
+ }
+ WebGUI::SQL->write("update international set message=".quote($session{form}{title}).", lastUpdated=".time()."
+ where internationalId=$session{form}{titleId} and languageId=1 and namespace=".quote($session{form}{namespace}));
+ WebGUI::SQL->write("update international set message=".quote($session{form}{body}).", lastUpdated=".time()."
+ where internationalId=$session{form}{bodyId} and languageId=1 and namespace=".quote($session{form}{namespace}));
+ WebGUI::SQL->write("update help set seeAlso=".quote($session{form}{seeAlso})."
+ where helpId=$session{form}{hid} and namespace=".quote($session{form}{namespace}));
+ return www_manageHelp();
}
#-------------------------------------------------------------------
@@ -175,33 +189,30 @@ sub www_exportHelp {
#-------------------------------------------------------------------
sub www_manageHelp {
my ($sth, @help, $output);
- unless (WebGUI::Privilege::isInGroup(3)) {
- return "";
- } else {
- $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
- circumstances.';
- $output .= 'Add new help.';
- $output .= ' · ';
- $output .= 'Export help.';
- $output .= '
';
- $sth = WebGUI::SQL->read("select help.helpId,help.namespace,international.message from help,international
- where help.titleId=international.internationalId and help.namespace=international.namespace
- and international.languageId=1 order by international.message");
- while (@help = $sth->array) {
- $output .= '| '
- .deleteIcon("op=deleteHelp&hid=".$help[0]."&namespace=".$help[1])
- .editIcon("op=editHelp&hid=".$help[0]."&namespace=".$help[1])
- .' | '
- .''._helpLink($help[0],$help[1],$help[2]).' | '
- .''.$help[0].'/'.$help[1].' | '
- .'
';
- }
- $sth->finish;
- $output .= '
';
- return $output;
+ 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
+ circumstances.';
+ $output .= 'Add new help.';
+ $output .= ' · ';
+ $output .= 'Export help.';
+ $output .= '
';
+ $sth = WebGUI::SQL->read("select help.helpId,help.namespace,international.message from help,international
+ where help.titleId=international.internationalId and help.namespace=international.namespace
+ and international.languageId=1 order by international.message");
+ while (@help = $sth->array) {
+ $output .= '| '
+ .deleteIcon("op=deleteHelp&hid=".$help[0]."&namespace=".$help[1])
+ .editIcon("op=editHelp&hid=".$help[0]."&namespace=".$help[1])
+ .' | '
+ .''._helpLink($help[0],$help[1],$help[2]).' | '
+ .''.$help[0].'/'.$help[1].' | '
+ .'
';
}
+ $sth->finish;
+ $output .= '
';
+ return _submenu($output);
}
#-------------------------------------------------------------------
@@ -210,8 +221,7 @@ sub www_viewHelp {
$namespace = $session{form}{namespace} || "WebGUI";
tie %help, 'Tie::CPHash';
%help = WebGUI::SQL->quickHash("select * from help where helpId=$session{form}{hid} and namespace='$namespace'");
- $output = ''.WebGUI::International::get(93).': '.
- WebGUI::International::get($help{titleId},$help{namespace}).'
';
+ $output = ''.WebGUI::International::get(93).': '.WebGUI::International::get($help{titleId},$help{namespace}).'
';
$output .= WebGUI::International::get($help{bodyId},$help{namespace});
$output .= ''.WebGUI::International::get(94).':';
$output .= _seeAlso($help{seeAlso});