Added session scratch variable system for developers.

This commit is contained in:
JT Smith 2002-11-08 04:28:27 +00:00
parent f14a0c707b
commit 0b5d1ccc74
3 changed files with 30 additions and 0 deletions

View file

@ -14,6 +14,7 @@ alter table Article drop column alignImage;
INSERT INTO template VALUES (1,'Default Article','<tmpl_if image>\r\n <table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td class=\"content\">\r\n <img src=\"<tmpl_var image>\" align=\"right\" border=\"0\">\r\n</tmpl_if>\r\n\r\n<tmpl_if description>\r\n <tmpl_var description><p/>\r\n</tmpl_if>\r\n\r\n<tmpl_if link.url>\r\n <tmpl_if link.title>\r\n <p><a href=\"<tmpl_var linkUrl>\"><tmpl_var linkTitle></a>\r\n </tmpl_if>\r\n</tmpl_if>\r\n\r\n<tmpl_var attachment.box>\r\n\r\n<tmpl_if image>\r\n </td></tr></table>\r\n</tmpl_if>\r\n\r\n<tmpl_if allowDiscussion>\r\n <p><table width=\"100%\" cellspacing=\"2\" cellpadding=\"1\" border=\"0\">\r\n <tr><td align=\"center\" width=\"50%\" class=\"tableMenu\"><a href=\"<tmpl_var replies.URL>\"><tmpl_var replies.label> (<tmpl_var replies.count>)</a></td>\r\n <td align=\"center\" width=\"50%\" class=\"tableMenu\"><a href=\"<tmpl_var post.url>\"><tmpl_var post.label></a></td></tr>\r\n </table>\r\n</tmpl_if>\r\n','Article');
INSERT INTO template VALUES (2,'Center Image','<tmpl_if image>\r\n <div align=\"center\"><img src=\"<tmpl_var image>\" border=\"0\"></div>\r\n</tmpl_if>\r\n\r\n<tmpl_if description>\r\n <tmpl_var description><p/>\r\n</tmpl_if>\r\n\r\n<tmpl_if link.url>\r\n <tmpl_if link.title>\r\n <p><a href=\"<tmpl_var linkUrl>\"><tmpl_var linkTitle></a>\r\n </tmpl_if>\r\n</tmpl_if>\r\n\r\n<tmpl_var attachment.box>\r\n\r\n\r\n<tmpl_if allowDiscussion>\r\n <p><table width=\"100%\" cellspacing=\"2\" cellpadding=\"1\" border=\"0\">\r\n <tr><td align=\"center\" width=\"50%\" class=\"tableMenu\"><a href=\"<tmpl_var replies.URL>\"><tmpl_var replies.label> (<tmpl_var replies.count>)</a></td>\r\n <td align=\"center\" width=\"50%\" class=\"tableMenu\"><a href=\"<tmpl_var post.url>\"><tmpl_var post.label></a></td></tr>\r\n </table>\r\n</tmpl_if>\r\n','Article');
INSERT INTO template VALUES (3,'Left Align Image','<tmpl_if image>\r\n <table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td class=\"content\">\r\n <img src=\"<tmpl_var image>\" align=\"left\" border=\"0\">\r\n</tmpl_if>\r\n\r\n<tmpl_if description>\r\n <tmpl_var description><p/>\r\n</tmpl_if>\r\n\r\n<tmpl_if link.url>\r\n <tmpl_if link.title>\r\n <p><a href=\"<tmpl_var linkUrl>\"><tmpl_var linkTitle></a>\r\n </tmpl_if>\r\n</tmpl_if>\r\n\r\n<tmpl_var attachment.box>\r\n\r\n<tmpl_if image>\r\n </td></tr></table>\r\n</tmpl_if>\r\n\r\n<tmpl_if allowDiscussion>\r\n <p><table width=\"100%\" cellspacing=\"2\" cellpadding=\"1\" border=\"0\">\r\n <tr><td align=\"center\" width=\"50%\" class=\"tableMenu\"><a href=\"<tmpl_var replies.URL>\"><tmpl_var replies.label> (<tmpl_var replies.count>)</a></td>\r\n <td align=\"center\" width=\"50%\" class=\"tableMenu\"><a href=\"<tmpl_var post.url>\"><tmpl_var post.label></a></td></tr>\r\n </table>\r\n</tmpl_if>\r\n','Article');
create table userSessionScratch (sessionId varchar(60), name varchar(35), value varchar(255));

View file

@ -251,6 +251,10 @@ sub open {
### session variables (from userSession table)
$session{var} = _getSessionVars($session{cookie}{wgSession},$session{dbh},$session{setting}{sessionTimeout});
###----------------------------
### session scratch variables (from userSessionScratch table)
$session{scratch} = WebGUI::SQL->buildHashRef("select name,value from userSessionScratch
where sessionId=".quote($session{var}{sessionId}));
###----------------------------
### current user's account and profile information (from users and userProfileData tables)
$session{user} = _getUserInfo($session{var}{userId},$session{dbh});
if ($session{env}{MOD_PERL}) {
@ -298,6 +302,26 @@ sub setCookie {
push @{$session{header}{cookie}}, $session{cgi}->cookie(-name=>$_[0], -value=>$_[1], -expires=>'+10y', -path=>'/');
}
#-------------------------------------------------------------------
=head2 setScratch ( name, value )
Sets a scratch variable for this user session.
=cut
sub setScratch {
return "" unless ($session{var}{sessionId});
if ($session{scratch}{$_[0]}) {
WebGUI::SQL->write("update userSessionScratch set value=".quote($_[1])."
where sessionId=".quote($session{var}{sessionId})." and name=".quote($_[0]));
} else {
WebGUI::SQL->write("insert into userSessionScratch (sessionId,name,value) values
(".quote($session{var}{sessionId}).", ".quote($_[0]).", ".quote($_[1]).")");
}
$session{scratch}{$_[0]} = $_[1];
}
#-------------------------------------------------------------------
sub start {
my ($sessionId);

View file

@ -16,6 +16,11 @@ use WebGUI::SQL;
#-------------------------------------------------------------------
sub process {
my $sth = WebGUI::SQL->read("select sessionId from userSession where expires<".time());
while (my ($sessionId) = $sth->array) {
WebGUI::SQL->write("delete from userSessionScratch where sessionId=".quote($sessionId));
}
$sth->finish;
WebGUI::SQL->write("delete from userSession where expires<".time());
}