OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Thomas Lotterer
Root: /v/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-registry Date: 24-Nov-2005 23:34:36
Branch: HEAD Handle: 2005112422343600
Modified files:
openpkg-registry registry-ui.pl
Log:
add asecomeback page which inserts or updates the user entry in the
registry; fix minor variable assignment bugs
Summary:
Revision Changes Path
1.16 +52 -5 openpkg-registry/registry-ui.pl
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-registry/registry-ui.pl
============================================================================
$ cvs diff -u -r1.15 -r1.16 registry-ui.pl
--- openpkg-registry/registry-ui.pl 24 Nov 2005 21:30:13 -0000 1.15
+++ openpkg-registry/registry-ui.pl 24 Nov 2005 22:34:36 -0000 1.16
@@ -216,6 +216,12 @@
$out .= &viewlogout();
print STDOUT &canvas($out);
}
+elsif ($cgi->param("page") eq "asecomeback") {
+ my $out;
+ $out = '';
+ $out .= &viewasecomeback();
+ print STDOUT &canvas($out);
+}
elsif ($cgi->param("page") eq "association") {
my $out;
$out = '';
@@ -868,14 +874,14 @@
sub viewloginform()
{
my $html;
- $html .= '';
+ $html = '';
if ($cfg->{identification}->{mode} eq "ase") {
$html .= $cgi->start_form(-action => $ase->url(-action => "login",
-mode_during => "ase", -mode_after => "ase"));
$html .= $cgi->delete(-name=>'page');
$html .= $cgi->hidden(-name=>'page', -value => "ase");
$html .= $cgi->hidden(-name=>'ase-action', -value => "login");
$html .= $cgi->hidden(-name=>'ase-mode_during', -value => "ase");
- $html .= $cgi->hidden(-name=>'ase-mode_after', -value =>
"association");
+ $html .= $cgi->hidden(-name=>'ase-mode_after', -value =>
"asecomeback");
$html .= $cgi->submit('submit','login');
$html .= $cgi->end_form;
}
@@ -908,11 +914,52 @@
sub viewase() #FIXME
{
my $html;
- $html .= '';
+ $html = '';
$html .= $ase->canvas(-part => "body");
return $html;
}
+sub viewasecomeback()
+{
+ my ($header, $redirect, $username);
+ my $html;
+
+ $html = '';
+ $username = &identifyusername();
+ if (defined $username) {
+
+ # updating heartbeat or creating username
+ #
+ $dbh->{AutoCommit} = 1;
+ $sql = sprintf("UPDATE reg_user SET heartbeat = now() WHERE (
username = '%s' );", $username);
+ $rv = $dbh->do($sql);
+ if (not defined $rv) {
+ $html .= &printprettyerror("updating user $username",
prettydbi());
+ }
+ elsif ($rv != 1) {
+ $sql = sprintf("INSERT INTO reg_user (username) VALUES ('%s');",
$username);
+ $rv = $dbh->do($sql);
+ if (not defined $rv) {
+ $html .= &printprettyerror("inserting user $username",
prettydbi());
+ }
+ elsif ($rv != 1) {
+ $html .= &printprettyerror("creating user $username",
prettydbi());
+ }
+ }
+ }
+
+ return $html if ($html ne "");
+
+ $header = {};
+ $redirect = $cgi->redirect(
+ -uri => $myurl
+ );
+ $header = {
+ -redirect => $redirect,
+ };
+ return $cgi->redirect($header);
+}
+
sub printprettyerror($$)
{
my ($marketingmessage, $technicaldetail) = @_;
@@ -931,7 +978,7 @@
my ($marketingmessage, $technicaldetail) = @_;
my $html;
- $html .= '';
+ $html = '';
$html .= "<h1>Sorry</h1>\n";
$html .= "<img src=\"?page=gif;name=icon-x\"> an internal
<b>ERROR</b> occurred and prevents further processing.<br>\n";
$html .= sprintf("<h2>Problem scope</h2>\n%s<br>\n", $marketingmessage)
if (defined $marketingmessage and $marketingmessage ne "");
@@ -1028,7 +1075,7 @@
sub viewdropxmlform()
{
my $html;
- $html .= '';
+ $html = '';
$html .= $cgi->start_form();
$html .= $cgi->delete(-name=>'page');
$html .= $cgi->hidden(-name=>'page', -value => "dropxml");
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [email protected]