Added the ability to set set scratch variables from the web interface.
This commit is contained in:
parent
126680a1dc
commit
13e1a253dd
3 changed files with 56 additions and 2 deletions
|
|
@ -21,6 +21,7 @@ use WebGUI::Operation::Package;
|
||||||
use WebGUI::Operation::Page;
|
use WebGUI::Operation::Page;
|
||||||
use WebGUI::Operation::ProfileSettings;
|
use WebGUI::Operation::ProfileSettings;
|
||||||
use WebGUI::Operation::Root;
|
use WebGUI::Operation::Root;
|
||||||
|
use WebGUI::Operation::Scratch;
|
||||||
use WebGUI::Operation::Search;
|
use WebGUI::Operation::Search;
|
||||||
use WebGUI::Operation::Settings;
|
use WebGUI::Operation::Settings;
|
||||||
use WebGUI::Operation::Statistics;
|
use WebGUI::Operation::Statistics;
|
||||||
|
|
|
||||||
31
lib/WebGUI/Operation/Scratch.pm
Normal file
31
lib/WebGUI/Operation/Scratch.pm
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
package WebGUI::Operation::Scratch;
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
# WebGUI is Copyright 2001-2003 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 WebGUI::Session;
|
||||||
|
|
||||||
|
our @ISA = qw(Exporter);
|
||||||
|
our @EXPORT = qw(&www_setScratch &www_deleteScratch);
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
sub www_deleteScratch {
|
||||||
|
WebGUI::Session::deleteScratch("www_".$session{user}{scratchName});
|
||||||
|
}
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
sub www_setScratch {
|
||||||
|
WebGUI::Session::setScratch("www_".$session{form}{scratchName},$session{form}{scratchValue});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
1;
|
||||||
|
|
@ -237,6 +237,29 @@ sub convertVisitorToUser {
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
|
=head2 deleteScratch ( name )
|
||||||
|
|
||||||
|
Deletes a scratch variable.
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item name
|
||||||
|
|
||||||
|
The name of the scratch variable.
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
sub deleteScratch {
|
||||||
|
my ($name) = @_;
|
||||||
|
return "" unless ($session{var}{sessionId} ne "" && $name ne "");
|
||||||
|
WebGUI::SQL->write("delete from userSessionScratch where sessionId=".quote($session{var}{sessionId})." and name=".quote($name));
|
||||||
|
$session{scratch}{$name} = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
=head2 end ( sessionId )
|
=head2 end ( sessionId )
|
||||||
|
|
||||||
Removes the specified user session from memory and database.
|
Removes the specified user session from memory and database.
|
||||||
|
|
@ -550,8 +573,7 @@ sub setScratch {
|
||||||
my ($name, $value) = @_;
|
my ($name, $value) = @_;
|
||||||
return "" unless ($session{var}{sessionId} ne "" && $name ne "" && defined $value);
|
return "" unless ($session{var}{sessionId} ne "" && $name ne "" && defined $value);
|
||||||
if ($value eq "-delete-" || (defined $value && $value eq "")) {
|
if ($value eq "-delete-" || (defined $value && $value eq "")) {
|
||||||
WebGUI::SQL->write("delete from userSessionScratch where sessionId=".quote($session{var}{sessionId})
|
deleteScratch($name);
|
||||||
." and name=".quote($name));
|
|
||||||
$value = "";
|
$value = "";
|
||||||
} elsif ($session{scratch}{$name} ne "") {
|
} elsif ($session{scratch}{$name} ne "") {
|
||||||
WebGUI::SQL->write("update userSessionScratch set value=".quote($value)."
|
WebGUI::SQL->write("update userSessionScratch set value=".quote($value)."
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue