-VERSION=0.18
+VERSION=0.19
DISTNAME=bse-$(VERSION)
DISTBUILD=$(DISTNAME)
DISTTAR=../$(DISTNAME).tar
perl -MExtUtils::Command -e rm_rf $(DISTBUILD)
cd `perl -lne 'do { print $$1; exit; } if /^base_dir\s*=\s*(.*)/' test.cfg`/util ; perl loaddata.pl ../data/db
-testup: distdir
+testup: checkver distdir
perl localinst.perl $(DISTBUILD) leavedb
perl -MExtUtils::Command -e rm_rf $(DISTBUILD)
cd `perl -lne 'do { print $$1; exit; } if /^base_dir\s*=\s*(.*)/' test.cfg`/util ; perl upgrade_mysql.pl -b ; perl loaddata.pl ../data/db
+checkver:
+ perl site/util/check_versions.pl
+
TEST_FILES=t/*.t
test: testup
package AdminUtil;
use strict;
+our $VERSION = "1.000";
+
require Exporter;
use base qw(Exporter);
use vars qw/@EXPORT_OK/;
use strict;
use vars qw(@ISA $VERSION);
+our $VERSION = "1.000";
+
$VERSION = '1.01';
@ISA = qw(Apache::Session);
package Apache::Session::Store::DBIreal;
+our $VERSION = "1.000";
+
use strict;
use DBI;
@ISA = qw/Squirrel::Row BSE::TB::SiteCommon/;
use Carp 'confess';
+our $VERSION = "1.000";
+
sub columns {
return qw/id parentid displayOrder title titleImage body
thumbImage thumbWidth thumbHeight imagePos
@ISA = qw(Squirrel::Table);
use Article;
+our $VERSION = "1.000";
+
sub rowClass {
return 'Article';
}
use Fcntl qw(:seek);
use Cwd;
+our $VERSION = "1.000";
+
my %acticle_defaults =
(
titleImage => '',
use OtherParents;
use BSE::Util::SQL qw/date_to_sql/;
+our $VERSION = "1.000";
+
sub add {
my ($class, $parent, $child, $release, $expire) = @_;
use BSE::Util::HTML;
use BSE::CfgInfo 'admin_base_url';
+our $VERSION = "1.000";
+
my %actions =
(
logon_form=>1,
use base 'BSE::UI::AdminDispatch';
use DevHelp::HTML;
+our $VERSION = "1.000";
+
my %actions =
(
menu=>1,
use BSE::Template;
use DevHelp::Date qw(dh_parse_date_sql dh_parse_time_sql);
+our $VERSION = "1.000";
+
my %actions =
(
list => 'bse_members_user_list',
use BSE::CfgInfo qw(admin_base_url);
use BSE::Template;
+our $VERSION = "1.000";
+
my %actions =
(
users=>1,
use strict;
use BSE::Util::HTML;
+our $VERSION = "1.000";
+
use base 'Exporter';
use vars qw(@EXPORT);
use strict;
use Encode;
+our $VERSION = "1.000";
+
sub new {
my ($class, $q, $charset) = @_;
package BSE::Cache;
use strict;
+our $VERSION = "1.000";
+
sub load {
my ($class, $cfg) = @_;
package BSE::Cache::CHI;
use strict;
+our $VERSION = "1.000";
+
sub new {
my ($class, $cfg) = @_;
package BSE::Cache::Cache;
use strict;
+our $VERSION = "1.000";
+
# BSE cache interface for Cache interface compatible caches.
sub new {
use strict;
use Cache::Memcached::Fast;
+our $VERSION = "1.000";
+
sub new {
my ($class, $cfg) = @_;
use Carp qw(confess);
use constant MAIN_CFG => 'bse.cfg';
+our $VERSION = "1.000";
+
my %cache;
my $single;
package BSE::CfgInfo;
use strict;
+our $VERSION = "1.000";
+
use vars qw(@ISA @EXPORT_OK);
require Exporter;
@ISA = qw(Exporter);
use BSE::Util::HTML;
use base 'BSE::UI::AdminDispatch';
+our $VERSION = "1.000";
+
my %actions =
(
form=>1,
use Carp 'confess';
use Digest::MD5 qw(md5_hex);
+our $VERSION = "1.000";
+
=head1 NAME
BSE::ComposeMail - compose mail for BSE
use base "Exporter";
our @EXPORT_OK = qw(bse_country_code);
+our $VERSION = "1.000";
+
my %country_name_to_code;
my %code_to_country;
my @codes;
use BSE::CustomBase;
use strict;
+our $VERSION = "1.000";
+
use vars qw(@ISA);
@ISA = qw(BSE::CustomBase);
package BSE::CustomBase;
use strict;
+our $VERSION = "1.000";
+
sub new {
my ($class, %params) = @_;
use Carp qw(croak);
use Carp qw/confess/;
+our $VERSION = "1.000";
+
use vars qw($VERSION);
$VERSION = '1.00';
use strict;
use DBI;
+our $VERSION = "1.000";
+
use vars qw($VERSION);
use Constants 0.1 qw/$DSN $DBOPTS $UN $PW/;
use Carp 'confess';
@ISA = qw(BSE::DB);
+our $VERSION = "1.000";
+
use vars qw($VERSION $MAX_CONNECTION_AGE);
use Constants 0.1 qw/$DSN $UN $PW $DBOPTS/;
use BSE::Util::HTML;
use base qw(BSE::Util::DynamicTags);
+our $VERSION = "1.000";
+
sub new {
my ($class, $req, %opts) = @_;
use strict;
use base 'BSE::Dynamic::Article';
+our $VERSION = "1.000";
+
# no specific behavious yet
sub tags {
use base 'BSE::Dynamic::Article';
use Products;
+our $VERSION = "1.000";
+
sub get_real_article {
my ($self, $article) = @_;
use base 'BSE::Dynamic::Product';
use BSE::TB::Seminars;
+our $VERSION = "1.000";
+
sub get_real_article {
my ($self, $article) = @_;
use DevHelp::Date qw(dh_parse_date dh_parse_sql_date);
use constant MAX_FILE_DISPLAYNAME_LENGTH => 255;
+our $VERSION = "1.000";
+
=head1 NAME
BSE::Edit::Article - editing functionality for BSE articles
package BSE::Edit::Base;
use strict;
+our $VERSION = "1.000";
+
# one day I might put something useful here
sub new {
my ($class, %parms) = @_;
use base 'BSE::Edit::Article';
use BSE::Util::HTML;
+our $VERSION = "1.000";
+
sub base_template_dirs {
return ( "catalog" );
}
use BSE::CfgInfo 'product_options';
use BSE::Util::Tags qw(tag_hash);
+our $VERSION = "1.000";
+
=head1 NAME
BSE::Edit::Product - tags and actions for editing BSE products
use BSE::Util::HTML qw(escape_html);
use BSE::Util::Iterate;
+our $VERSION = "1.000";
+
sub article_actions {
my ($self) = @_;
package BSE::Edit::Site;
use strict;
+our $VERSION = "1.000";
+
use base 'BSE::Edit::Article';
use BSE::TB::Site;
use vars qw/@ISA/;
@ISA = qw/Squirrel::Row/;
+our $VERSION = "1.000";
+
sub columns {
return qw/id email why/;
}
@ISA = qw(Squirrel::Table);
use BSE::EmailBlackEntry;
+our $VERSION = "1.000";
+
sub rowClass {
return 'BSE::EmailBlackEntry';
}
use vars qw/@ISA/;
@ISA = qw/Squirrel::Row/;
+our $VERSION = "1.000";
+
sub columns {
return qw/id email genEmail lastConfSent unackedConfMsgs/;
}
@ISA = qw(Squirrel::Table);
use BSE::EmailRequest;
+our $VERSION = "1.000";
+
sub rowClass {
return 'BSE::EmailRequest';
}
use BSE::Util::HTML;
use Util qw/refresh_to/;
+our $VERSION = "1.000";
+
=head1 NAME
BSE::FileEditor - maintains a list of files associated with an article
use Carp qw(confess);
use DevHelp::HTML;
+our $VERSION = "1.000";
+
=head1 NAME
BSE::FileHandler::Base - base class for file handlers
use base "BSE::FileHandler::Base";
use BSE::Util::HTML;
+our $VERSION = "1.000";
+
sub process_file {
my ($self, $file) = @_;
use BSE::Util::Tags qw(tag_hash);
use BSE::Util::HTML;
+our $VERSION = "1.000";
+
sub process_file {
my ($self, $file) = @_;
use strict;
use Carp qw(confess);
+our $VERSION = "1.000";
+
my %meta_rules =
(
meta_real =>
use BSE::Util::HTML;
use Carp 'confess';
+our $VERSION = "1.000";
+
use base 'DevHelp::Formatter';
my $pop_nameid = 'AAAAAA';
use BSE::Util::HTML;
use Digest::MD5 qw(md5_hex);
+our $VERSION = "1.000";
+
sub link {
my ($self, $url, $text) = @_;
use strict;
use base 'BSE::Formatter';
+our $VERSION = "1.000";
+
# eventually this will attach the image
sub image_url {
my ($self, $im) = @_;
use BSE::Util::Tags qw(tag_article);
use BSE::Util::Iterate;
+our $VERSION = "1.000";
+
sub baseActs {
my ($self, $articles, $acts, $seminar, $embedded) = @_;
use Apache::Request;
use BSE::Request;
+our $VERSION = "1.000";
+
sub handler {
my ($class, $r) = @_;
use BSE::Dynamic::Catalog;
use BSE::Dynamic::Seminar;
+our $VERSION = "1.000";
+
sub handler {
my ($r) = @_;
use strict;
use Carp qw(confess);
+our $VERSION = "1.000";
+
sub new {
my ($class, %opts) = @_;
use BSE::Util::HTML;
use Carp qw(confess);
+our $VERSION = "1.000";
+
my @flash_opts = qw/quality wmode id play loop menu bgcolor flashvars class/;
my %flash_defs =
(
use Carp qw(confess);
use BSE::Util::HTML;
+our $VERSION = "1.000";
+
sub thumb_base_url {
'/cgi-bin/thumb.pl';
}
use strict;
use Config;
+our $VERSION = "1.000";
+
sub new {
my ($class, %opts) = @_;
use base 'BSE::ImportSourceBase';
use Spreadsheet::ParseExcel;
+our $VERSION = "1.000";
+
sub new {
my ($class, %opts) = @_;
use Products;
use OtherParents;
+our $VERSION = "1.000";
+
sub new {
my ($class, %opts) = @_;
package BSE::ImportTargetBase;
use strict;
+our $VERSION = "1.000";
+
sub new {
my ($class, %opts) = @_;
use BSE::TB::ProductOptions;
use BSE::TB::ProductOptionValues;
+our $VERSION = "1.000";
+
sub new {
my ($class, %opts) = @_;
use strict;
use Config;
+our $VERSION = "1.000";
+
sub new {
my ($class, %opts) = @_;
use BSE::DB;
use Constants qw($DATADIR $MAXPHRASE);
+our $VERSION = "1.000";
+
sub new {
my ($class, %opts) = @_;
package BSE::Index::Base;
use strict;
+our $VERSION = "1.000";
+
1;
__END__
use strict;
use BSE::DB;
+our $VERSION = "1.000";
+
sub run {
my $days = BSE::Cfg->single->entry("basic", "audit_log_age", 30);
my $count = BSE::DB->run(bseAuditLogClean => $days);
use Constants;
use Carp qw/confess/;
+our $VERSION = "1.000";
+
sub new {
my ($class, %opts) = @_;
my $cfg = $opts{cfg}
use vars qw/@ISA/;
use Net::SMTP;
+our $VERSION = "1.000";
+
@ISA = qw/BSE::Mail/;
sub new {
use strict;
use vars qw/@ISA/;
+our $VERSION = "1.000";
+
@ISA = qw/BSE::Mail/;
sub new {
"&{}" => sub { my $self = $_[0]; return sub { $self->_old_msg(@_) } },
"bool" => sub { 1 };
+our $VERSION = "1.000";
+
my $single;
=head1 NAME
use strict;
use File::Find;
+our $VERSION = "1.000";
+
=item BSE::MessageScanner->scan(\@basepaths)
Scan .tmpl, .pm and .pl files under the given directories for apparent
use strict;
use Carp 'confess';
+our $VERSION = "1.000";
+
sub new {
my ($class, %opts) = @_;
use BSE::TB::SiteUserGroups;
use Carp qw(confess);
+our $VERSION = "1.000";
+
sub new {
my ($class, %opts) = @_;
package BSE::Password::Crypt;
use strict;
+our $VERSION = "1.000";
+
sub new {
my ($class) = @_;
use strict;
use base "BSE::Password::Crypt";
+our $VERSION = "1.000";
+
sub new {
my ($class) = @_;
use strict;
use base "BSE::Password::Crypt";
+our $VERSION = "1.000";
+
sub new {
my ($class) = @_;
package BSE::Password::Plain;
use strict;
+our $VERSION = "1.000";
+
sub new {
my ($class) = @_;
package BSE::Passwords;
use strict;
+our $VERSION = "1.000";
+
# wrapper around using the BSE::Password classes
sub new_password_hash {
use BSE::Shop::Util qw(:payment);
use Carp qw(confess);
+our $VERSION = "1.000";
+
use constant DEF_TEST_WS_URL => "https://api-3t.sandbox.paypal.com/nvp";
use constant DEF_TEST_REFRESH_URL => "https://www.sandbox.paypal.com/webscr";
package BSE::Permissions;
use strict;
+our $VERSION = "1.000";
+
# these are the permissions that are checked beyond just whether the permissions DB allows them
my @checks =
qw(
use Products;
use Config;
+our $VERSION = "1.000";
+
sub new {
my ($class, $cfg, $profile, %opts) = @_;
package BSE::Report;
use strict;
+our $VERSION = "1.000";
+
use base 'DevHelp::Report';
sub new {
use strict;
use base 'BSE::Request::Base';
+our $VERSION = "1.000";
+
sub new {
my ($class, %opts) = @_;
use BSE::Util::HTML;
use Carp qw(cluck confess);
+our $VERSION = "1.000";
+
sub new {
my ($class, %opts) = @_;
use strict;
use base 'BSE::Request::Base';
+our $VERSION = "1.000";
+
sub new {
my ($class, %opts) = @_;
use strict;
use Constants qw(:search);
+our $VERSION = "1.000";
+
use base 'BSE::Search::Base';
sub new {
package BSE::Search::Base;
use strict;
+our $VERSION = "1.000";
+
1;
__END__
use BSE::DB;
use BSE::CfgInfo qw/custom_class/;
+our $VERSION = "1.000";
+
sub _session_require {
my ($cfg) = @_;
use strict;
use Carp qw(confess);
+our $VERSION = "1.000";
+
sub get_couriers {
my ($class, $cfg, $wanted) = @_;
payment_types order_item_opts
PAYMENT_CC PAYMENT_CHEQUE PAYMENT_CALLME PAYMENT_MANUAL PAYMENT_PAYPAL/;
+our $VERSION = "1.000";
+
our %EXPORT_TAGS =
(
@ISA = qw(Exporter);
@EXPORT = qw(bse_sort);
+our $VERSION = "1.000";
+
my %backwhacked =
(
"\\"=> "\\",
use Net::Amazon::S3;
use Carp qw(confess);
+our $VERSION = "1.000";
+
sub new {
my ($class, %opts) = @_;
use strict;
use Carp qw(confess);
+our $VERSION = "1.000";
+
sub new {
my ($class, %opts) = @_;
use Net::FTP;
use Carp qw(confess);
+our $VERSION = "1.000";
+
sub new {
my ($class, %opts) = @_;
use BSE::Storage::Base;
our @ISA = qw(BSE::Storage::Base);
+our $VERSION = "1.000";
+
sub unstore {
my ($self, $basename) = @_;
# nothing to do
use BSE::Storage::LocalBase;
our @ISA = qw(BSE::Storage::LocalBase);
+our $VERSION = "1.000";
+
sub store {
my ($self, $path, $basename) = @_;
# nothing to do
use BSE::Storage::LocalBase;
our @ISA = qw(BSE::Storage::LocalBase);
+our $VERSION = "1.000";
+
sub store {
my ($self, $path, $basename) = @_;
# nothing to do
use BSE::Storage::LocalBase;
our @ISA = qw(BSE::Storage::LocalBase);
+our $VERSION = "1.000";
+
sub _base_url {
my ($self) = @_;
use strict;
use Carp 'confess';
+our $VERSION = "1.000";
+
sub new {
my ($class, %opts) = @_;
use BSE::Storage::LocalFiles;
use BSE::Util::ContentType qw(content_type);
+our $VERSION = "1.000";
+
sub filebase {
my ($self) = @_;
use BSE::Storage::LocalImages;
use BSE::Util::ContentType qw(content_type);
+our $VERSION = "1.000";
+
sub filebase {
my ($self) = @_;
use BSE::Storage::LocalThumbs;
use BSE::Util::ContentType qw(content_type);
+our $VERSION = "1.000";
+
sub filebase {
my ($self) = @_;
use vars qw/@ISA/;
@ISA = qw/Squirrel::Row/;
+our $VERSION = "1.000";
+
sub columns {
return qw/id subId userId/;
}
@ISA = qw(Squirrel::Table);
use BSE::SubscribedUser;
+our $VERSION = "1.000";
+
sub rowClass {
return 'BSE::SubscribedUser';
}
use vars qw/@ISA/;
@ISA = qw/Squirrel::Row/;
+our $VERSION = "1.000";
+
sub columns {
return qw/id name title description frequency keyword archive
article_template html_template text_template parentId lastSent
@ISA = qw(Squirrel::Table);
use BSE::SubscriptionType;
+our $VERSION = "1.000";
+
sub rowClass {
return 'BSE::SubscriptionType';
}
use strict;
use base qw(Squirrel::Row);
+our $VERSION = "1.000";
+
sub columns {
return qw/id type/;
}
use base 'Squirrel::Table';
use BSE::TB::AdminBase;
+our $VERSION = "1.000";
+
sub rowClass {
return 'BSE::TB::AdminBase';
}
use strict;
use base qw(BSE::TB::AdminBase);
+our $VERSION = "1.000";
+
sub columns {
return ($_[0]->SUPER::columns,
qw/base_id name description perm_map template_set/ );
use BSE::TB::AdminGroup;
use constant SECT_TEMPLATE_SETS => 'admin group template sets';
+our $VERSION = "1.000";
+
sub rowClass {
return 'BSE::TB::AdminGroup';
}
use strict;
use base qw(Squirrel::Row);
+our $VERSION = "1.000";
+
sub columns {
return qw/user_id group_id/;
}
use base 'Squirrel::Table';
use BSE::TB::AdminMembership;
+our $VERSION = "1.000";
+
sub rowClass {
return 'BSE::TB::AdminMembership';
}
use strict;
use base qw(Squirrel::Row);
+our $VERSION = "1.000";
+
sub columns {
return qw/object_id admin_id/;
}
use base 'Squirrel::Table';
use BSE::TB::AdminPerm;
+our $VERSION = "1.000";
+
sub rowClass {
return 'BSE::TB::AdminPerm';
}
use strict;
use base "Squirrel::Row";
+our $VERSION = "1.000";
+
sub columns {
qw/id user_id name val/;
}
use base "Squirrel::Table";
use BSE::TB::AdminUIState;
+our $VERSION = "1.000";
+
sub rowClass {
"BSE::TB::AdminUIState";
}
use strict;
use base qw(BSE::TB::AdminBase);
+our $VERSION = "1.000";
+
sub columns {
return ($_[0]->SUPER::columns,
qw/base_id logon name password perm_map password_type/);
use base 'Squirrel::Table';
use BSE::TB::AdminUser;
+our $VERSION = "1.000";
+
sub rowClass {
return 'BSE::TB::AdminUser';
}
@ISA = qw/Squirrel::Row/;
use Carp 'confess';
+our $VERSION = "1.000";
+
sub columns {
return qw/id articleId displayName filename sizeInBytes description
contentType displayOrder forSale download whenUploaded
use strict;
use base 'Squirrel::Row';
+our $VERSION = "1.000";
+
sub table {
"bse_article_file_meta";
}
use base 'Squirrel::Table';
use BSE::TB::ArticleFileMeta;
+our $VERSION = "1.000";
+
sub rowClass { "BSE::TB::ArticleFileMeta" }
1;
use BSE::TB::ArticleFile;
use Carp qw(confess);
+our $VERSION = "1.000";
+
sub rowClass {
return 'BSE::TB::ArticleFile';
}
use strict;
use base qw(Squirrel::Row);
+our $VERSION = "1.000";
+
sub columns {
return qw/id
when_at
use BSE::TB::AuditEntry;
use Scalar::Util qw(blessed);
+our $VERSION = "1.000";
+
sub rowClass {
return 'BSE::TB::AuditEntry';
}
use Carp qw(confess);
use Errno qw(EPERM EACCES);
+our $VERSION = "1.000";
+
sub columns {
return qw/id description modname binname bin_opts stoppable start_right running task_pid last_exit last_started last_completion long_desc/;
}
use base 'Squirrel::Table';
use BSE::TB::BackgroundTask;
+our $VERSION = "1.000";
+
sub rowClass {
'BSE::TB::BackgroundTask';
}
use BSE::TB::FileAccessLogEntry;
use Carp qw(confess);
+our $VERSION = "1.000";
+
sub rowClass {
'BSE::TB::FileAccessLogEntry';
}
use base 'Squirrel::Row';
use BSE::Util::SQL qw(now_sqldatetime);
+our $VERSION = "1.000";
+
sub columns {
return qw/id when_at siteuser_id siteuser_logon file_id owner_type owner_id category filename display_name content_type download title modwhen size_in_bytes/;
}
use Carp qw(confess);
use BSE::Util::HTML qw(escape_html);
+our $VERSION = "1.000";
+
sub columns {
return qw/id articleId image alt width height url displayOrder name
storage src ftype/;
@ISA = qw(Squirrel::Table);
use BSE::TB::Image;
+our $VERSION = "1.000";
+
sub rowClass {
return 'BSE::TB::Image';
}
use strict;
use base qw(Squirrel::Row);
+our $VERSION = "1.000";
+
sub columns {
return qw/id
description
@ISA = qw(Squirrel::Table);
use BSE::TB::Location;
+our $VERSION = "1.000";
+
sub rowClass {
return 'BSE::TB::Location';
}
@ISA = qw/Squirrel::Row/;
use Carp 'confess';
+our $VERSION = "1.000";
+
sub columns {
return qw/id
delivFirstName delivLastName delivStreet delivSuburb delivState
use vars qw/@ISA/;
@ISA = qw/Squirrel::Row/;
+our $VERSION = "1.000";
+
sub columns {
return qw/id productId orderId units price wholesalePrice gst options
customInt1 customInt2 customInt3 customStr1 customStr2 customStr3
use strict;
use base 'Squirrel::Row';
+our $VERSION = "1.000";
+
sub table {
"bse_order_item_options";
}
use base 'Squirrel::Table';
use BSE::TB::OrderItemOption;
+our $VERSION = "1.000";
+
sub rowClass {
'BSE::TB::OrderItemOption';
}
@ISA = qw(Squirrel::Table);
use BSE::TB::OrderItem;
+our $VERSION = "1.000";
+
sub rowClass {
return 'BSE::TB::OrderItem';
}
@ISA = qw(Squirrel::Table);
use BSE::TB::Order;
+our $VERSION = "1.000";
+
sub rowClass {
return 'BSE::TB::Order';
}
use BSE::Util::SQL qw(now_sqldatetime);
use Carp qw(confess);
+our $VERSION = "1.000";
+
sub columns {
return qw/id owner_type owner_id category filename display_name content_type download title body modwhen size_in_bytes filekey/;
}
use base 'Squirrel::Table';
use BSE::TB::OwnedFile;
+our $VERSION = "1.000";
+
sub rowClass {
'BSE::TB::OwnedFile';
}
use strict;
use base 'Squirrel::Row';
+our $VERSION = "1.000";
+
sub columns {
return qw/id product_id name type global_ref display_order enabled default_value/;
}
use strict;
use base "Squirrel::Row";
+our $VERSION = "1.000";
+
sub columns {
return qw/id product_option_id value display_order/;
}
use base 'Squirrel::Table';
use BSE::TB::ProductOptionValue;
+our $VERSION = "1.000";
+
sub rowClass {
'BSE::TB::ProductOptionValue';
}
use base 'Squirrel::Table';
use BSE::TB::ProductOption;
+our $VERSION = "1.000";
+
sub rowClass {
'BSE::TB::ProductOption';
}
@ISA = qw/Product/;
use BSE::Util::SQL qw(now_sqldatetime);
+our $VERSION = "1.000";
+
sub columns {
return ($_[0]->SUPER::columns(),
qw/seminar_id duration/ );
use strict;
use base qw(Squirrel::Row);
+our $VERSION = "1.000";
+
sub columns {
qw/id session_id siteuser_id roll_present options customer_instructions
support_notes/;
use base qw(Squirrel::Table);
use BSE::TB::SeminarBooking;
+our $VERSION = "1.000";
+
sub rowClass { 'BSE::TB::SeminarBooking' }
1;
use base qw(Squirrel::Row);
use BSE::Util::SQL qw(now_sqldatetime);
+our $VERSION = "1.000";
+
sub columns {
return qw/id seminar_id location_id when_at roll_taken/;
}
use base 'Squirrel::Table';
use BSE::TB::SeminarSession;
+our $VERSION = "1.000";
+
sub rowClass { 'BSE::TB::SeminarSession' }
1;
@ISA = qw(Squirrel::Table);
use BSE::TB::Seminar;
+our $VERSION = "1.000";
+
sub rowClass {
return 'BSE::TB::Seminar';
}
use strict;
use base qw(BSE::TB::SiteCommon);
+our $VERSION = "1.000";
+
# like an article, but doesn't exist in the database
sub new {
use strict;
use Carp qw(confess);
+our $VERSION = "1.000";
+
sub step_parents {
my ($self) = @_;
use base 'Squirrel::Row';
use constant OWNER_TYPE => "G";
+our $VERSION = "1.000";
+
sub columns {
qw(id name);
}
use base 'Squirrel::Table';
use BSE::TB::SiteUserGroup;
+our $VERSION = "1.000";
+
use constant SECT_QUERY_GROUPS => "Query Groups";
use constant SECT_QUERY_GROUP_PREFIX => 'Query group ';
use vars qw/@ISA/;
@ISA = qw/Squirrel::Row/;
+our $VERSION = "1.000";
+
sub columns {
return qw/subscription_id text_id title description max_lapsed/;
}
use strict;
use BSE::Util::SQL qw(:datemath);
+our $VERSION = "1.000";
+
# this code is here to allow testing of it without having real data
# in the database.
@ISA = qw(Squirrel::Table);
use BSE::TB::Subscription;
+our $VERSION = "1.000";
+
sub rowClass {
return 'BSE::TB::Subscription';
}
use strict;
use BSE::Util::HTML;
+our $VERSION = "1.000";
+
sub _format_image {
my ($self, $im, $align, $rest) = @_;
use Carp qw(confess cluck);
use Config ();
+our $VERSION = "1.000";
+
sub templater {
my ($class, $cfg, $rsets) = @_;
use constant CFG_SECTION => 'imager thumb driver';
use Config;
+our $VERSION = "1.000";
+
my %handlers =
(
# default handlers
use strict;
use base 'BSE::Thumb::Imager::Handler';
+our $VERSION = "1.000";
+
sub new {
my ($class, $text, $error, $thumb) = @_;
use strict;
use base 'BSE::Thumb::Imager::Handler';
+our $VERSION = "1.000";
+
sub new {
my ($class, $text, $error, $thumb) = @_;
package BSE::ThumbLow;
use strict;
+our $VERSION = "1.000";
+
sub _thumbimage_low {
my ($self, $geo_id, $im, $field, $cfg, $static) = @_;
use strict;
use base "BSE::UI::Dispatch";
+our $VERSION = "1.000";
+
my %actions =
(
config => 1,
use BSE::CfgInfo qw(admin_base_url);
use Carp qw(confess);
+our $VERSION = "1.000";
+
# checks we're coming from HTTPS
sub check_secure {
my ($class, $req, $rresult) = @_;
use BSE::Util::Iterate;
use BSE::Message;
+our $VERSION = "1.000";
+
my %actions =
(
index => "bse_msg_view",
use BSE::Util::Iterate;
use base 'BSE::UI::AdminDispatch';
+our $VERSION = "1.000";
+
my %actions =
(
list => '',
use BSE::Util::Iterate;
use BSE::Util::Tags qw(tag_hash);
+our $VERSION = "1.000";
+
my %actions =
(
list => "",
use BSE::Report;
use BSE::Util::HTML;
+our $VERSION = "1.000";
+
my %actions =
(
prompt => '',
use BSE::CfgInfo 'product_options';
use DevHelp::Date qw(dh_strftime_sql_datetime);
+our $VERSION = "1.000";
+
my %rights =
(
loclist => 'bse_location_list',
use SiteUsers;
use BSE::Util::Tags qw(tag_hash_plain);
+our $VERSION = "1.000";
+
my %actions =
(
send => 1,
use BSE::Arrows;
use BSE::Shop::Util qw(:payment order_item_opts nice_options);
+our $VERSION = "1.000";
+
my %actions =
(
order_list => 'shop_order_list',
use BSE::Util::Tags qw(tag_hash);
use BSE::Util::HTML;
+our $VERSION = "1.000";
+
my %actions =
(
set => 1,
use BSE::Util::Tags qw(tag_hash);
use Config;
+our $VERSION = "1.000";
+
my %actions =
(
list => "",
use strict;
use Carp 'confess';
+our $VERSION = "1.000";
+
sub new {
my ($class, %opts) = @_;
package BSE::UI::FileProgress;
use strict;
+our $VERSION = "1.000";
+
sub dispatch {
my ($class, $req) = @_;
use BSE::Util::Iterate;
use constant DISPLAY_TIMEOUT => 300;
+our $VERSION = "1.000";
+
my %actions =
(
show => 1,
use BSE::Util::Tags qw(tag_hash);
use BSE::Util::HTML qw(escape_uri);
+our $VERSION = "1.000";
+
# we don't do anything fancy on dispatch yet, so don't use the
# dispatch classes
sub dispatch {
use strict;
use base qw/BSE::UI::NUser/;
+our $VERSION = "1.000";
+
sub controller_section {
'nadmin controllers';
}
use strict;
use base 'BSE::UI::Dispatch';
+our $VERSION = "1.000";
+
sub controller_section {
'nuser controllers';
}
use BSE::UI::Dispatch;
our @ISA = qw(BSE::UI::Dispatch);
+our $VERSION = "1.000";
+
# we don't do anything fancy on dispatch yet, so don't use the
# dispatch classes
sub dispatch {
use Digest::MD5 qw(md5_hex);
use BSE::Util::HTML;
+our $VERSION = "1.000";
+
my %actions =
(
redir => 1,
use BSE::Util::Tags qw(tag_article);
use BSE::Request;
+our $VERSION = "1.000";
+
my %actions =
(
search => 1,
use BSE::Countries qw(bse_country_code);
use BSE::Util::Secure qw(make_secret);
+our $VERSION = "1.000";
+
use constant MSG_SHOP_CART_FULL => 'Your shopping cart is full, please remove an item and try adding an item again';
my %actions =
use BSE::SubscribedUsers;
use BSE::CfgInfo qw(custom_class);
+our $VERSION = "1.000";
+
my %rights =
(
importform => 'bse_siteuser_list',
use BSE::Util::HTML;
use BSE::Util::Tags qw(tag_hash);
+our $VERSION = "1.000";
+
use constant MAXWIDTH => 10000;
use constant MAXHEIGHT => 10000;
use constant MAXSIZE => 1_000_000;
use BSE::TB::Subscriptions;
use BSE::Util::HTML;
+our $VERSION = "1.000";
+
my %rights =
(
list => 'bse_subscr_list',
use BSE::ComposeMail;
use Articles;
+our $VERSION = "1.000";
+
my %actions =
(
form => 1,
use BSE::CfgInfo qw(cfg_image_dir);
use BSE::Util::Thumb;
+our $VERSION = "1.000";
+
sub dispatch {
my ($class, $req) = @_;
use DevHelp::Date qw(dh_strftime_sql_datetime);
use base 'BSE::UI::UserCommon';
+our $VERSION = "1.000";
+
my %actions =
(
info => 1,
package BSE::UI::UserCommon;
use strict;
+our $VERSION = "1.000";
+
# code common to both BSE::UserReg and BSE::UI::User
# see also BSE::UI::SiteuserCommon
use base 'BSE::UI::UserCommon';
use Carp qw(confess);
+our $VERSION = "1.000";
+
use constant MAX_UNACKED_CONF_MSGS => 3;
use constant MIN_UNACKED_CONF_GAP => 2 * 24 * 60 * 60;
our @ISA = qw(Exporter);
our @EXPORT_OK = qw(content_type);
+our $VERSION = "1.000";
+
my %types =
(
qw(
package BSE::Util::DynSort;
use strict;
+our $VERSION = "1.000";
+
use DevHelp::DynSort qw(tag_sorthelp);
use vars qw(@EXPORT_OK);
use base 'Exporter';
use base 'BSE::TagFormats';
use BSE::CfgInfo qw(custom_class);
+our $VERSION = "1.000";
+
sub new {
my ($class, $req) = @_;
return bless { req => $req }, $class;
use BSE::Cfg;
use Carp qw(confess);
+our $VERSION = "1.000";
+
require Exporter;
use vars qw(@EXPORT_OK @EXPORT @ISA %EXPORT_TAGS);
@EXPORT_OK = qw(escape_html escape_uri unescape_html unescape_uri popup_menu escape_xml);
use BSE::Util::HTML;
use Carp 'confess';
+our $VERSION = "1.000";
+
sub escape {
escape_html($_[1]);
}
);
@ISA = qw/Exporter/;
+our $VERSION = "1.000";
+
use constant SECONDS_PER_DAY => 86400;
=head1 NAME
package BSE::Util::Secure;
use strict;
+our $VERSION = "1.000";
+
use vars qw(@ISA @EXPORT_OK);
@ISA = qw(Exporter);
@ISA = qw(Exporter);
require Exporter;
+our $VERSION = "1.000";
+
sub _get_parms {
my ($acts, $args) = @_;
use BSE::CfgInfo qw(cfg_image_dir);
use BSE::StorageMgr::Thumbs;
+our $VERSION = "1.000";
+
# returns a list of $url, $filename, $basename
sub generate_thumb {
my ($class, $cfg, $image, $geometry_id, $thumbs) = @_;
@EXPORT_OK = qw/valid_date convert_date_to_sql/;
@ISA = qw/Exporter/;
+our $VERSION = "1.000";
+
sub valid_date {
$_[0] =~ m!^\d+[/-]\d+[/-]\d+$!;
}
@EXPORT = ();
@EXPORT_OK = qw(bse_validate bse_validate_hash bse_configure_fields);
+our $VERSION = "1.000";
+
sub bse_validate {
return dh_validate(@_);
}
package BSE::WebUtil;
use strict;
+our $VERSION = "1.000";
+
use vars qw(@EXPORT_OK @ISA);
require Exporter;
@ISA = qw(Exporter);
package Constants;
use strict;
+our $VERSION = "1.000";
+
# this needs to be re-organized
use vars qw(@EXPORT_OK %EXPORT_TAGS @ISA $VERSION
$DSN $DBOPTS $DBCLASS $UN $PW $D_00 $D_99 $D_XX
package Courier;
+our $VERSION = "1.000";
+
use strict;
use LWP::UserAgent;
package Courier::AustraliaPost;
+our $VERSION = "1.000";
+
use strict;
use Courier;
use BSE::Countries qw(bse_country_code);
package Courier::AustraliaPost::Air;
+our $VERSION = "1.000";
+
use strict;
use Courier::AustraliaPost;
package Courier::AustraliaPost::Express;
+our $VERSION = "1.000";
+
use strict;
use Courier::AustraliaPost;
package Courier::AustraliaPost::Sea;
+our $VERSION = "1.000";
+
use strict;
use Courier::AustraliaPost;
package Courier::AustraliaPost::Standard;
+our $VERSION = "1.000";
+
use strict;
use Courier::AustraliaPost;
package Courier::Fastway;
+our $VERSION = "1.000";
+
use strict;
use Courier;
use XML::Parser;
package Courier::Fastway::Road;
+our $VERSION = "1.000";
+
use strict;
use Courier::Fastway;
package Courier::Fastway::Satchel;
+our $VERSION = "1.000";
+
use strict;
use Courier::Fastway;
package Courier::Null;
+our $VERSION = "1.000";
+
use strict;
use Courier;
use constant CACHE_AGE => 30;
use constant VAR_DEPTH => 10;
+our $VERSION = "1.000";
+
my %cache;
=head1 NAME
sql => [ grep /_sql$/, @EXPORT_OK ],
);
+our $VERSION = "1.000";
+
use constant SECS_PER_DAY => 24 * 60 * 60;
# for now just a simple date parser
@EXPORT_OK = qw(sorter tag_sorthelp);
use Carp 'confess';
+our $VERSION = "1.000";
+
sub sorter {
my (%opts) = @_;
use IO::File;
use File::Copy;
+our $VERSION = "1.000";
+
=head1 NAME
DevHelp::FileUpload - tools to maintain a file upload directory
use DevHelp::HTML;
use Carp 'confess';
+our $VERSION = "1.000";
+
use constant DEBUG => 0;
sub new {
use strict;
use Carp qw(confess);
+our $VERSION = "1.000";
+
require Exporter;
use vars qw(@EXPORT_OK @EXPORT @ISA %EXPORT_TAGS);
@EXPORT_OK = qw(escape_html escape_uri unescape_html unescape_uri popup_menu escape_xml);
use strict;
use Carp 'confess';
+our $VERSION = "1.000";
+
sub new {
my ($class, $file, %opts) = @_;
use LWP::UserAgent;
use DevHelp::HTML;
+our $VERSION = "1.000";
+
sub new {
my ($class, $cfg) = @_;
use Config;
use Carp 'confess';
+our $VERSION = "1.000";
+
sub new {
my ($class, $cfg) = @_;
use LWP::UserAgent;
use XML::Simple;
+our $VERSION = "1.000";
+
my $sequence = 0;
sub new {
use strict;
use Carp 'confess';
+our $VERSION = "1.000";
+
sub new {
my ($class, $cfg) = @_;
use DevHelp::Tags;
use DevHelp::HTML qw(escape_html popup_menu escape_uri);
+our $VERSION = "1.000";
+
sub new {
my ($class, $cfg, $section) = @_;
package DevHelp::Tags;
use strict;
+our $VERSION = "1.000";
+
sub make_iterator {
my ($class, $array, $single, $plural, $saveto) = @_;
use strict;
use Carp qw(confess);
+our $VERSION = "1.000";
+
sub new {
my ($class, %opts) = @_;
@ISA = qw(Exporter);
use Carp qw(confess);
+our $VERSION = "1.000";
+
my %built_ins =
(
email =>
use base 'BSE::ThumbLow';
use base 'BSE::TagFormats';
+our $VERSION = "1.000";
+
my $excerptSize = 300;
sub new {
use Carp 'confess';
use BSE::Util::Iterate;
+our $VERSION = "1.000";
+
my $excerptSize = 300;
my %level_names = map { $_, $LEVEL_DEFAULTS{$_}{display} }
package Generate::Catalog;
+our $VERSION = "1.000";
+
use strict;
use Generate;
use Products;
use BSE::Util::HTML;
use BSE::Util::Tags qw(tag_article);
+our $VERSION = "1.000";
+
sub edit_link {
my ($self, $id) = @_;
return "/cgi-bin/admin/add.pl?id=$id";
@ISA = qw(Generate::Article);
use BSE::Util::HTML;
+our $VERSION = "1.000";
+
sub set_user {
my ($self, $user) = @_;
use vars qw/@ISA/;
@ISA = qw/Squirrel::Row/;
+our $VERSION = "1.000";
+
sub columns {
return qw/id
delivFirstName delivLastName delivStreet delivSuburb delivState
use vars qw/@ISA/;
@ISA = qw/Squirrel::Row/;
+our $VERSION = "1.000";
+
sub columns {
return qw/id productId orderId units price wholesalePrice gst options
customInt1 customInt2 customInt3 customStr1 customStr2 customStr3
use vars qw(@ISA $VERSION);
@ISA = qw(Squirrel::Table);
+our $VERSION = "1.000";
+
sub rowClass {
return 'BSE::TB::OrderItem';
}
use vars qw(@ISA $VERSION);
@ISA = qw(Squirrel::Table);
+our $VERSION = "1.000";
+
sub rowClass {
return 'Order';
}
use vars qw/@ISA/;
@ISA = qw/Squirrel::Row/;
+our $VERSION = "1.000";
+
# id is only needed due to limitations in BSE's Squirrel::Row
sub columns {
qw/id parentId childId parentDisplayOrder childDisplayOrder release expire/;
@ISA = qw(Squirrel::Table);
use OtherParent;
+our $VERSION = "1.000";
+
sub rowClass {
return 'OtherParent';
}
use vars qw/@ISA/;
@ISA = qw/Article/;
+our $VERSION = "1.000";
+
# subscription_usage values
use constant SUBUSAGE_START_ONLY => 1;
use constant SUBUSAGE_RENEW_ONLY => 2;
@ISA = qw(Squirrel::Table);
use Product;
+our $VERSION = "1.000";
+
sub rowClass {
return 'Product';
}
use Carp qw(confess);
use BSE::Util::SQL qw/now_datetime now_sqldate sql_normal_date sql_add_date_days/;
+our $VERSION = "1.000";
+
use constant MAX_UNACKED_CONF_MSGS => 3;
use constant MIN_UNACKED_CONF_GAP => 2 * 24 * 60 * 60;
use constant OWNER_TYPE => "U";
@ISA = qw(Squirrel::Table);
use SiteUser;
+our $VERSION = "1.000";
+
sub rowClass {
return 'SiteUser';
}
use IO::File;
use POSIX ();
+our $VERSION = "1.000";
+
sub new {
return bless {}, $_[0];
}
use strict;
use Constants qw($TMPLDIR %TEMPLATE_OPTS);
+our $VERSION = "1.000";
+
sub new {
my ($class, %opts) = @_;
$opts{message} = '';
package Squirrel::PGP5;
use strict;
+our $VERSION = "1.000";
+
sub new {
return bless {}, $_[0];
}
package Squirrel::PGP6;
use strict;
+our $VERSION = "1.000";
+
sub new {
return bless {}, $_[0];
}
require 5.005;
use strict;
+our $VERSION = "1.000";
+
use Carp;
use BSE::DB;
package Squirrel::Table;
+our $VERSION = "1.000";
+
use vars qw($VERSION);
use Carp;
use strict;
}
}
+our $VERSION = "1.000";
+
$VERSION="0.09";
sub new {
use BSE::WebUtil qw(refresh_to_admin);
use BSE::Util::HTML;
+our $VERSION = "1.000";
+
# returns non-zero if the Regenerate button should work
sub generate_button {
if ($GENERATE_BUTTON) {
--- /dev/null
+#!perl -w
+use strict;
+
+my %vers;
+
+my @check = `svn status`;
+chomp @check;
+@check = sort grep /cgi-bin\/.*\.pm$/, @check;
+my @errors;
+for my $check (@check) {
+ $check =~ /^D/ and next;
+ $check =~ s/^(\S)\S*\s+//;
+ my $type = $1;
+ -e $check or die "Cannot find file $check\n";
+
+ my $ver = file_vers($check);
+
+ unless ($type eq "A") {
+ my $svn = `svn cat $check`;
+ my $old_ver = content_vers($svn);
+
+ if (defined $old_ver) {
+ $old_ver eq $ver
+ and push @errors, "Version not updated in $check\n";
+ }
+ }
+}
+
+@errors and die @errors;
+
+sub file_vers {
+ my ($filename) = @_;
+
+ open my $file, "<", $filename
+ or die "Cannot open $filename; $!\n";
+ my $content = do { local $/; <$file> };
+ close $file;
+
+ my $vers = content_vers($content)
+ or die "No version found in $filename\n";
+
+ return $vers;
+}
+
+sub content_vers {
+ my ($lines) = @_;
+
+ $lines =~ /^our \$VERSION = "([0-9.]+)";/m
+ or return;
+
+ return $1;
+}