Module now extends SystemModule, less emphatic about constructor args.
This commit is contained in:
parent
0aa8cda126
commit
88699695d7
54
Modules.pm
54
Modules.pm
@ -54,17 +54,10 @@
|
|||||||
# modules will be given the standard value listed above in addition to any
|
# modules will be given the standard value listed above in addition to any
|
||||||
# values you specify in the argument hash.
|
# values you specify in the argument hash.
|
||||||
package Modules;
|
package Modules;
|
||||||
|
use strict;
|
||||||
|
use base qw(SystemModule);
|
||||||
use DBI;
|
use DBI;
|
||||||
use Module::Load;
|
use Module::Load;
|
||||||
use SystemModule;
|
|
||||||
use strict;
|
|
||||||
|
|
||||||
our $errstr;
|
|
||||||
|
|
||||||
BEGIN {
|
|
||||||
$errstr = '';
|
|
||||||
}
|
|
||||||
|
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
# Creation
|
# Creation
|
||||||
@ -93,39 +86,16 @@ BEGIN {
|
|||||||
sub new {
|
sub new {
|
||||||
my $invocant = shift;
|
my $invocant = shift;
|
||||||
my $class = ref($invocant) || $invocant;
|
my $class = ref($invocant) || $invocant;
|
||||||
my $self = {
|
my $self = $class -> SUPER::new(@_)
|
||||||
cgi => undef,
|
or return undef;
|
||||||
dbh => undef,
|
|
||||||
phpbb => undef,
|
|
||||||
settings => undef,
|
|
||||||
template => undef,
|
|
||||||
session => undef,
|
|
||||||
blockdir => undef,
|
|
||||||
@_,
|
|
||||||
};
|
|
||||||
|
|
||||||
# If we get here and still don't have a database connection, we need to fall over
|
|
||||||
return set_error("No database connection available.") if(!$self -> {"dbh"});
|
|
||||||
|
|
||||||
# Check we also have a cgi object to play with
|
|
||||||
return set_error("No CGI object available.") if(!$self -> {"cgi"});
|
|
||||||
|
|
||||||
# Aaand settings....
|
|
||||||
return set_error("No settings object available.") if(!$self -> {"settings"});
|
|
||||||
|
|
||||||
# ... finally, template
|
|
||||||
return set_error("No template object available.") if(!$self -> {"template"});
|
|
||||||
|
|
||||||
my $obj = bless $self, $class;
|
|
||||||
|
|
||||||
# update @INC if needed
|
# update @INC if needed
|
||||||
$obj -> add_load_path($self -> {"blockdir"}) if($self -> {"blockdir"});
|
$self -> add_load_path($self -> {"blockdir"}) if($self -> {"blockdir"});
|
||||||
|
|
||||||
# Set the template object's module reference
|
# Set the template object's module reference
|
||||||
$obj -> {"template"} -> set_module_obj($obj);
|
$self -> {"template"} -> set_module_obj($obj) if($self -> {"template"});
|
||||||
|
|
||||||
# and we're done
|
return $self;
|
||||||
return $obj
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -172,7 +142,7 @@ sub new_module {
|
|||||||
my $sth = $self -> {"dbh"} -> prepare("SELECT * FROM ".$self -> {"settings"} -> {"database"} -> {"blocks"}."
|
my $sth = $self -> {"dbh"} -> prepare("SELECT * FROM ".$self -> {"settings"} -> {"database"} -> {"blocks"}."
|
||||||
WHERE $mode");
|
WHERE $mode");
|
||||||
$sth -> execute($arg) or
|
$sth -> execute($arg) or
|
||||||
$self -> {"logger"} -> die_log($self -> {"cgi"} -> remote_host(), "new_module: Unable to execute query: ". $self -> {"dbh"} -> errstr);
|
$self -> {"logger"} -> die_log("unknown", "new_module: Unable to execute query: ". $self -> {"dbh"} -> errstr);
|
||||||
|
|
||||||
my $modrow = $sth -> fetchrow_hashref();
|
my $modrow = $sth -> fetchrow_hashref();
|
||||||
|
|
||||||
@ -201,7 +171,7 @@ sub new_module_byblockid {
|
|||||||
my $sth = $self -> {"dbh"} -> prepare("SELECT * FROM ".$self -> {"settings"} -> {"database"} -> {"blocks"}."
|
my $sth = $self -> {"dbh"} -> prepare("SELECT * FROM ".$self -> {"settings"} -> {"database"} -> {"blocks"}."
|
||||||
WHERE id = ?");
|
WHERE id = ?");
|
||||||
$sth -> execute($blockid) or
|
$sth -> execute($blockid) or
|
||||||
$self -> {"logger"} -> die_log($self -> {"cgi"} -> remote_host(), "new_module_byblockid: Unable to execute query: ". $self -> {"dbh"} -> errstr);
|
$self -> {"logger"} -> die_log("unknown", "new_module_byblockid: Unable to execute query: ". $self -> {"dbh"} -> errstr);
|
||||||
|
|
||||||
my $modrow = $sth -> fetchrow_hashref();
|
my $modrow = $sth -> fetchrow_hashref();
|
||||||
|
|
||||||
@ -290,7 +260,7 @@ sub _new_module_internal {
|
|||||||
|
|
||||||
my $modh = $self -> {"dbh"} -> prepare("SELECT * FROM ".$self -> {"settings"} -> {"database"} -> {"modules"}." $where");
|
my $modh = $self -> {"dbh"} -> prepare("SELECT * FROM ".$self -> {"settings"} -> {"database"} -> {"modules"}." $where");
|
||||||
$modh -> execute($argument)
|
$modh -> execute($argument)
|
||||||
or $self -> {"logger"} -> die_log($self -> {"cgi"} -> remote_host(), "Unable to execute module resolve query: ".$self -> {"dbh"} -> errstr);
|
or $self -> {"logger"} -> die_log("unknown", "Unable to execute module resolve query: ".$self -> {"dbh"} -> errstr);
|
||||||
|
|
||||||
my $modrow = $modh -> fetchrow_hashref();
|
my $modrow = $modh -> fetchrow_hashref();
|
||||||
|
|
||||||
@ -372,7 +342,7 @@ sub build_sidebar {
|
|||||||
WHERE TYPE = ? AND $filter
|
WHERE TYPE = ? AND $filter
|
||||||
ORDER BY position");
|
ORDER BY position");
|
||||||
$sth -> execute($side, $page) or
|
$sth -> execute($side, $page) or
|
||||||
$self -> {"logger"} -> die_log($self -> {"cgi"} -> remote_host(), "build_sidebar: Unable to execute query: ". $self -> {"dbh"} -> errstr);
|
$self -> {"logger"} -> die_log("unknown", "build_sidebar: Unable to execute query: ". $self -> {"dbh"} -> errstr);
|
||||||
|
|
||||||
my $result = "";
|
my $result = "";
|
||||||
while(my $row = $sth -> fetchrow_hashref()) {
|
while(my $row = $sth -> fetchrow_hashref()) {
|
||||||
@ -405,7 +375,7 @@ sub get_block_id {
|
|||||||
my $blockh = $self -> {"dbh"} -> prepare("SELECT id FROM ".$self -> {"settings"} -> {"database"} -> {"blocks"}."
|
my $blockh = $self -> {"dbh"} -> prepare("SELECT id FROM ".$self -> {"settings"} -> {"database"} -> {"blocks"}."
|
||||||
WHERE name LIKE ?");
|
WHERE name LIKE ?");
|
||||||
$blockh -> execute($blockname)
|
$blockh -> execute($blockname)
|
||||||
or $self -> {"logger"} -> die_log($self -> {"cgi"} -> remote_host(), "get_block_id: Unable to execute query: ". $self -> {"dbh"} -> errstr);
|
or $self -> {"logger"} -> die_log("unknown", "get_block_id: Unable to execute query: ". $self -> {"dbh"} -> errstr);
|
||||||
|
|
||||||
# Do we have the block?
|
# Do we have the block?
|
||||||
my $blockr = $blockh -> fetchrow_arrayref();
|
my $blockr = $blockh -> fetchrow_arrayref();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user