[Bio] / WebApplication / WebApplicationDBHandle.pm Repository:
ViewVC logotype

Annotation of /WebApplication/WebApplicationDBHandle.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (view) (download) (as text)

1 : paczian 1.1 package WebApplicationDBHandle;
2 :    
3 :     # WebApplicationDBHandle - connector to the WebAppBackend database
4 :    
5 :     use strict;
6 :     use warnings;
7 :    
8 :     use FIG_Config;
9 :     use DBMaster;
10 :    
11 :     =pod
12 :    
13 :     =head1 NAME
14 :    
15 :     WebApplicationDBHandle - connector to the WebAppBackend database
16 :    
17 :     =head1 DESCRIPTION
18 :    
19 :     This module returns an array of the DBMaster object connected to the WebAppBackend database
20 :     and a possible error message. In case of an error, the dbmaster will be undef. Otherwise
21 :     the error will be undef.
22 :    
23 :     =head1 METHODS
24 :    
25 :     =over 4
26 :    
27 :     =item * B<new> ()
28 :    
29 :     Creates a new instance of the WebApplicationDBHandle object.
30 :    
31 :     =cut
32 :    
33 :     sub new {
34 :    
35 :     # get the connection data from FIG_Config.pm
36 :     my $dbmaster;
37 :     eval {
38 :     $dbmaster = DBMaster->new(-database => $FIG_Config::webapplication_db || "WebAppBackend",
39 :     -host => $FIG_Config::webapplication_host || "localhost",
40 :     -user => $FIG_Config::webapplication_user || "root",
41 : paczian 1.3 -password => $FIG_Config::webapplication_password || ""
42 :     -socket => $FIG_Config::webapplication_socket || "");
43 : paczian 1.1 };
44 :    
45 :     if ($@) {
46 :     return (undef, $@);
47 :     }
48 :    
49 :     return ($dbmaster, undef);
50 :     }
51 :    
52 : paczian 1.2 sub authenticate_user {
53 :     my ($master, $key) = @_;
54 :    
55 :     unless (defined($master) && ref($master) eq "DBMaster") {
56 :     die "Undefined or invalid dbmaster passed to authenticate_user in WebApplicationDBHandle";
57 :     }
58 :    
59 :     unless (defined($key)) {
60 :     die "No key passed to authenticate_user in WebApplicationDBHandle";
61 :     }
62 :    
63 :     my $pref = $master->Preferences->get_objects( { value => $key } );
64 :     if (scalar(@$pref)) {
65 :     return $pref->[0]->user;
66 :     } else {
67 :     return undef;
68 :     }
69 :    
70 :     }
71 :    
72 : paczian 1.1 1;

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3