add version numbers to all modules r0.19
authorTony Cook <tony@develop-help.com>
Mon, 8 Nov 2010 04:07:36 +0000 (04:07 +0000)
committertony <tony@45cb6cf1-00bc-42d2-bb5a-07f51df49f94>
Mon, 8 Nov 2010 04:07:36 +0000 (04:07 +0000)
253 files changed:
Makefile
site/cgi-bin/modules/AdminUtil.pm
site/cgi-bin/modules/Apache/Session/DBIreal.pm
site/cgi-bin/modules/Apache/Session/Store/DBIreal.pm
site/cgi-bin/modules/Article.pm
site/cgi-bin/modules/Articles.pm
site/cgi-bin/modules/BSE/API.pm
site/cgi-bin/modules/BSE/Admin/StepParents.pm
site/cgi-bin/modules/BSE/AdminLogon.pm
site/cgi-bin/modules/BSE/AdminMenu.pm
site/cgi-bin/modules/BSE/AdminSiteUsers.pm
site/cgi-bin/modules/BSE/AdminUsers.pm
site/cgi-bin/modules/BSE/Arrows.pm
site/cgi-bin/modules/BSE/CGI.pm
site/cgi-bin/modules/BSE/Cache.pm
site/cgi-bin/modules/BSE/Cache/CHI.pm
site/cgi-bin/modules/BSE/Cache/Cache.pm
site/cgi-bin/modules/BSE/Cache/Memcached.pm
site/cgi-bin/modules/BSE/Cfg.pm
site/cgi-bin/modules/BSE/CfgInfo.pm
site/cgi-bin/modules/BSE/ChangePW.pm
site/cgi-bin/modules/BSE/ComposeMail.pm
site/cgi-bin/modules/BSE/Countries.pm
site/cgi-bin/modules/BSE/Custom.pm
site/cgi-bin/modules/BSE/CustomBase.pm
site/cgi-bin/modules/BSE/DB.pm
site/cgi-bin/modules/BSE/DB/MSSQL.pm
site/cgi-bin/modules/BSE/DB/Mysql.pm
site/cgi-bin/modules/BSE/Dynamic/Article.pm
site/cgi-bin/modules/BSE/Dynamic/Catalog.pm
site/cgi-bin/modules/BSE/Dynamic/Product.pm
site/cgi-bin/modules/BSE/Dynamic/Seminar.pm
site/cgi-bin/modules/BSE/Edit/Article.pm
site/cgi-bin/modules/BSE/Edit/Base.pm
site/cgi-bin/modules/BSE/Edit/Catalog.pm
site/cgi-bin/modules/BSE/Edit/Product.pm
site/cgi-bin/modules/BSE/Edit/Seminar.pm
site/cgi-bin/modules/BSE/Edit/Site.pm
site/cgi-bin/modules/BSE/EmailBlackEntry.pm
site/cgi-bin/modules/BSE/EmailBlacklist.pm
site/cgi-bin/modules/BSE/EmailRequest.pm
site/cgi-bin/modules/BSE/EmailRequests.pm
site/cgi-bin/modules/BSE/FileEditor.pm
site/cgi-bin/modules/BSE/FileHandler/Base.pm
site/cgi-bin/modules/BSE/FileHandler/Default.pm
site/cgi-bin/modules/BSE/FileHandler/FLV.pm
site/cgi-bin/modules/BSE/FileMetaMeta.pm
site/cgi-bin/modules/BSE/Formatter.pm
site/cgi-bin/modules/BSE/Formatter/Article.pm
site/cgi-bin/modules/BSE/Formatter/Subscription.pm
site/cgi-bin/modules/BSE/Generate/Seminar.pm
site/cgi-bin/modules/BSE/Handler/Base.pm
site/cgi-bin/modules/BSE/Handler/Page.pm
site/cgi-bin/modules/BSE/ImageHandler/Base.pm
site/cgi-bin/modules/BSE/ImageHandler/Flash.pm
site/cgi-bin/modules/BSE/ImageHandler/Img.pm
site/cgi-bin/modules/BSE/ImportSourceBase.pm
site/cgi-bin/modules/BSE/ImportSourceXLS.pm
site/cgi-bin/modules/BSE/ImportTargetArticle.pm
site/cgi-bin/modules/BSE/ImportTargetBase.pm
site/cgi-bin/modules/BSE/ImportTargetProduct.pm
site/cgi-bin/modules/BSE/Importer.pm
site/cgi-bin/modules/BSE/Index/BSE.pm
site/cgi-bin/modules/BSE/Index/Base.pm
site/cgi-bin/modules/BSE/Jobs/AuditClean.pm
site/cgi-bin/modules/BSE/Mail.pm
site/cgi-bin/modules/BSE/Mail/SMTP.pm
site/cgi-bin/modules/BSE/Mail/Sendmail.pm
site/cgi-bin/modules/BSE/Message.pm
site/cgi-bin/modules/BSE/MessageScanner.pm
site/cgi-bin/modules/BSE/NLFilter/SQL.pm
site/cgi-bin/modules/BSE/NotifyFiles.pm
site/cgi-bin/modules/BSE/Password/Crypt.pm
site/cgi-bin/modules/BSE/Password/CryptMD5.pm
site/cgi-bin/modules/BSE/Password/CryptSHA256.pm
site/cgi-bin/modules/BSE/Password/Plain.pm
site/cgi-bin/modules/BSE/Passwords.pm
site/cgi-bin/modules/BSE/PayPal.pm
site/cgi-bin/modules/BSE/Permissions.pm
site/cgi-bin/modules/BSE/ProductImportXLS.pm
site/cgi-bin/modules/BSE/Report.pm
site/cgi-bin/modules/BSE/Request.pm
site/cgi-bin/modules/BSE/Request/Base.pm
site/cgi-bin/modules/BSE/Request/Test.pm
site/cgi-bin/modules/BSE/Search/BSE.pm
site/cgi-bin/modules/BSE/Search/Base.pm
site/cgi-bin/modules/BSE/Session.pm
site/cgi-bin/modules/BSE/Shipping.pm
site/cgi-bin/modules/BSE/Shop/Util.pm
site/cgi-bin/modules/BSE/Sort.pm
site/cgi-bin/modules/BSE/Storage/AmazonS3.pm
site/cgi-bin/modules/BSE/Storage/Base.pm
site/cgi-bin/modules/BSE/Storage/FTP.pm
site/cgi-bin/modules/BSE/Storage/LocalBase.pm
site/cgi-bin/modules/BSE/Storage/LocalFiles.pm
site/cgi-bin/modules/BSE/Storage/LocalImages.pm
site/cgi-bin/modules/BSE/Storage/LocalThumbs.pm
site/cgi-bin/modules/BSE/StorageMgr/Base.pm
site/cgi-bin/modules/BSE/StorageMgr/Files.pm
site/cgi-bin/modules/BSE/StorageMgr/Images.pm
site/cgi-bin/modules/BSE/StorageMgr/Thumbs.pm
site/cgi-bin/modules/BSE/SubscribedUser.pm
site/cgi-bin/modules/BSE/SubscribedUsers.pm
site/cgi-bin/modules/BSE/SubscriptionType.pm
site/cgi-bin/modules/BSE/SubscriptionTypes.pm
site/cgi-bin/modules/BSE/TB/AdminBase.pm
site/cgi-bin/modules/BSE/TB/AdminBases.pm
site/cgi-bin/modules/BSE/TB/AdminGroup.pm
site/cgi-bin/modules/BSE/TB/AdminGroups.pm
site/cgi-bin/modules/BSE/TB/AdminMembership.pm
site/cgi-bin/modules/BSE/TB/AdminMemberships.pm
site/cgi-bin/modules/BSE/TB/AdminPerm.pm
site/cgi-bin/modules/BSE/TB/AdminPerms.pm
site/cgi-bin/modules/BSE/TB/AdminUIState.pm
site/cgi-bin/modules/BSE/TB/AdminUIStates.pm
site/cgi-bin/modules/BSE/TB/AdminUser.pm
site/cgi-bin/modules/BSE/TB/AdminUsers.pm
site/cgi-bin/modules/BSE/TB/ArticleFile.pm
site/cgi-bin/modules/BSE/TB/ArticleFileMeta.pm
site/cgi-bin/modules/BSE/TB/ArticleFileMetas.pm
site/cgi-bin/modules/BSE/TB/ArticleFiles.pm
site/cgi-bin/modules/BSE/TB/AuditEntry.pm
site/cgi-bin/modules/BSE/TB/AuditLog.pm
site/cgi-bin/modules/BSE/TB/BackgroundTask.pm
site/cgi-bin/modules/BSE/TB/BackgroundTasks.pm
site/cgi-bin/modules/BSE/TB/FileAccessLog.pm
site/cgi-bin/modules/BSE/TB/FileAccessLogEntry.pm
site/cgi-bin/modules/BSE/TB/Image.pm
site/cgi-bin/modules/BSE/TB/Images.pm
site/cgi-bin/modules/BSE/TB/Location.pm
site/cgi-bin/modules/BSE/TB/Locations.pm
site/cgi-bin/modules/BSE/TB/Order.pm
site/cgi-bin/modules/BSE/TB/OrderItem.pm
site/cgi-bin/modules/BSE/TB/OrderItemOption.pm
site/cgi-bin/modules/BSE/TB/OrderItemOptions.pm
site/cgi-bin/modules/BSE/TB/OrderItems.pm
site/cgi-bin/modules/BSE/TB/Orders.pm
site/cgi-bin/modules/BSE/TB/OwnedFile.pm
site/cgi-bin/modules/BSE/TB/OwnedFiles.pm
site/cgi-bin/modules/BSE/TB/ProductOption.pm
site/cgi-bin/modules/BSE/TB/ProductOptionValue.pm
site/cgi-bin/modules/BSE/TB/ProductOptionValues.pm
site/cgi-bin/modules/BSE/TB/ProductOptions.pm
site/cgi-bin/modules/BSE/TB/Seminar.pm
site/cgi-bin/modules/BSE/TB/SeminarBooking.pm
site/cgi-bin/modules/BSE/TB/SeminarBookings.pm
site/cgi-bin/modules/BSE/TB/SeminarSession.pm
site/cgi-bin/modules/BSE/TB/SeminarSessions.pm
site/cgi-bin/modules/BSE/TB/Seminars.pm
site/cgi-bin/modules/BSE/TB/Site.pm
site/cgi-bin/modules/BSE/TB/SiteCommon.pm
site/cgi-bin/modules/BSE/TB/SiteUserGroup.pm
site/cgi-bin/modules/BSE/TB/SiteUserGroups.pm
site/cgi-bin/modules/BSE/TB/Subscription.pm
site/cgi-bin/modules/BSE/TB/Subscription/Calc.pm
site/cgi-bin/modules/BSE/TB/Subscriptions.pm
site/cgi-bin/modules/BSE/TagFormats.pm
site/cgi-bin/modules/BSE/Template.pm
site/cgi-bin/modules/BSE/Thumb/Imager.pm
site/cgi-bin/modules/BSE/Thumb/Imager/Colourize.pm
site/cgi-bin/modules/BSE/Thumb/Imager/RandomCrop.pm
site/cgi-bin/modules/BSE/ThumbLow.pm
site/cgi-bin/modules/BSE/UI/API.pm
site/cgi-bin/modules/BSE/UI/AdminDispatch.pm
site/cgi-bin/modules/BSE/UI/AdminMessages.pm
site/cgi-bin/modules/BSE/UI/AdminNewsletter.pm
site/cgi-bin/modules/BSE/UI/AdminPregen.pm
site/cgi-bin/modules/BSE/UI/AdminReport.pm
site/cgi-bin/modules/BSE/UI/AdminSeminar.pm
site/cgi-bin/modules/BSE/UI/AdminSendEmail.pm
site/cgi-bin/modules/BSE/UI/AdminShop.pm
site/cgi-bin/modules/BSE/UI/Affiliate.pm
site/cgi-bin/modules/BSE/UI/Background.pm
site/cgi-bin/modules/BSE/UI/Dispatch.pm
site/cgi-bin/modules/BSE/UI/FileProgress.pm
site/cgi-bin/modules/BSE/UI/Formmail.pm
site/cgi-bin/modules/BSE/UI/Image.pm
site/cgi-bin/modules/BSE/UI/NAdmin.pm
site/cgi-bin/modules/BSE/UI/NUser.pm
site/cgi-bin/modules/BSE/UI/Page.pm
site/cgi-bin/modules/BSE/UI/Redirect.pm
site/cgi-bin/modules/BSE/UI/Search.pm
site/cgi-bin/modules/BSE/UI/Shop.pm
site/cgi-bin/modules/BSE/UI/SiteUserUpdate.pm
site/cgi-bin/modules/BSE/UI/SiteuserCommon.pm
site/cgi-bin/modules/BSE/UI/SubAdmin.pm
site/cgi-bin/modules/BSE/UI/Tellafriend.pm
site/cgi-bin/modules/BSE/UI/Thumb.pm
site/cgi-bin/modules/BSE/UI/User.pm
site/cgi-bin/modules/BSE/UI/UserCommon.pm
site/cgi-bin/modules/BSE/UserReg.pm
site/cgi-bin/modules/BSE/Util/ContentType.pm
site/cgi-bin/modules/BSE/Util/DynSort.pm
site/cgi-bin/modules/BSE/Util/DynamicTags.pm
site/cgi-bin/modules/BSE/Util/HTML.pm
site/cgi-bin/modules/BSE/Util/Iterate.pm
site/cgi-bin/modules/BSE/Util/SQL.pm
site/cgi-bin/modules/BSE/Util/Secure.pm
site/cgi-bin/modules/BSE/Util/Tags.pm
site/cgi-bin/modules/BSE/Util/Thumb.pm
site/cgi-bin/modules/BSE/Util/Valid.pm
site/cgi-bin/modules/BSE/Validate.pm
site/cgi-bin/modules/BSE/WebUtil.pm
site/cgi-bin/modules/Constants.pm
site/cgi-bin/modules/Courier.pm
site/cgi-bin/modules/Courier/AustraliaPost.pm
site/cgi-bin/modules/Courier/AustraliaPost/Air.pm
site/cgi-bin/modules/Courier/AustraliaPost/Express.pm
site/cgi-bin/modules/Courier/AustraliaPost/Sea.pm
site/cgi-bin/modules/Courier/AustraliaPost/Standard.pm
site/cgi-bin/modules/Courier/Fastway.pm
site/cgi-bin/modules/Courier/Fastway/Road.pm
site/cgi-bin/modules/Courier/Fastway/Satchel.pm
site/cgi-bin/modules/Courier/Null.pm
site/cgi-bin/modules/DevHelp/Cfg.pm
site/cgi-bin/modules/DevHelp/Date.pm
site/cgi-bin/modules/DevHelp/DynSort.pm
site/cgi-bin/modules/DevHelp/FileUpload.pm
site/cgi-bin/modules/DevHelp/Formatter.pm
site/cgi-bin/modules/DevHelp/HTML.pm
site/cgi-bin/modules/DevHelp/LoaderData.pm
site/cgi-bin/modules/DevHelp/Payments/Inpho.pm
site/cgi-bin/modules/DevHelp/Payments/SecurePay.pm
site/cgi-bin/modules/DevHelp/Payments/SecurePayXML.pm
site/cgi-bin/modules/DevHelp/Payments/Test.pm
site/cgi-bin/modules/DevHelp/Report.pm
site/cgi-bin/modules/DevHelp/Tags.pm
site/cgi-bin/modules/DevHelp/Tags/Iterate.pm
site/cgi-bin/modules/DevHelp/Validate.pm
site/cgi-bin/modules/Generate.pm
site/cgi-bin/modules/Generate/Article.pm
site/cgi-bin/modules/Generate/Catalog.pm
site/cgi-bin/modules/Generate/Product.pm
site/cgi-bin/modules/Generate/Subscription.pm
site/cgi-bin/modules/Order.pm
site/cgi-bin/modules/OrderItem.pm
site/cgi-bin/modules/OrderItems.pm
site/cgi-bin/modules/Orders.pm
site/cgi-bin/modules/OtherParent.pm
site/cgi-bin/modules/OtherParents.pm
site/cgi-bin/modules/Product.pm
site/cgi-bin/modules/Products.pm
site/cgi-bin/modules/SiteUser.pm
site/cgi-bin/modules/SiteUsers.pm
site/cgi-bin/modules/Squirrel/GPG.pm
site/cgi-bin/modules/Squirrel/ImageEditor.pm
site/cgi-bin/modules/Squirrel/PGP5.pm
site/cgi-bin/modules/Squirrel/PGP6.pm
site/cgi-bin/modules/Squirrel/Row.pm
site/cgi-bin/modules/Squirrel/Table.pm
site/cgi-bin/modules/Squirrel/Template.pm
site/cgi-bin/modules/Util.pm
site/util/check_versions.pl [new file with mode: 0644]

index bfe4928..008fce2 100755 (executable)
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-VERSION=0.18
+VERSION=0.19
 DISTNAME=bse-$(VERSION)
 DISTBUILD=$(DISTNAME)
 DISTTAR=../$(DISTNAME).tar
@@ -100,11 +100,14 @@ testinst: distdir
        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
index bf91499..9c3cbed 100644 (file)
@@ -1,6 +1,8 @@
 package AdminUtil;
 use strict;
 
+our $VERSION = "1.000";
+
 require Exporter;
 use base qw(Exporter);
 use vars qw/@EXPORT_OK/;
index a1f7bd8..ad22c2e 100644 (file)
@@ -2,6 +2,8 @@ package Apache::Session::DBIreal;
 use strict;
 use vars qw(@ISA $VERSION);
 
+our $VERSION = "1.000";
+
 $VERSION = '1.01';
 @ISA = qw(Apache::Session);
 
index 7d007a2..37af738 100644 (file)
@@ -1,5 +1,7 @@
 package Apache::Session::Store::DBIreal;
 
+our $VERSION = "1.000";
+
 use strict;
 
 use DBI;
index 0fc6cd0..bae5888 100644 (file)
@@ -7,6 +7,8 @@ use vars qw/@ISA/;
 @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
index 3f4cc79..0aacb09 100644 (file)
@@ -5,6 +5,8 @@ use vars qw(@ISA $VERSION);
 @ISA = qw(Squirrel::Table);
 use Article;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'Article';
 }
index e95afd9..240ad25 100644 (file)
@@ -11,6 +11,8 @@ use Carp qw(confess croak);
 use Fcntl qw(:seek);
 use Cwd;
 
+our $VERSION = "1.000";
+
 my %acticle_defaults =
   (
    titleImage => '',
index 78ab4b9..2d8d86f 100644 (file)
@@ -4,6 +4,8 @@ use Articles;
 use OtherParents;
 use BSE::Util::SQL qw/date_to_sql/;
 
+our $VERSION = "1.000";
+
 sub add {
   my ($class, $parent, $child, $release, $expire) = @_;
 
index af1f504..a65cea5 100644 (file)
@@ -4,6 +4,8 @@ use BSE::Util::Tags qw(tag_error_img);
 use BSE::Util::HTML;
 use BSE::CfgInfo 'admin_base_url';
 
+our $VERSION = "1.000";
+
 my %actions =
   (
    logon_form=>1,
index 297f007..c15816e 100644 (file)
@@ -4,6 +4,8 @@ use BSE::Util::Tags;
 use base 'BSE::UI::AdminDispatch';
 use DevHelp::HTML;
 
+our $VERSION = "1.000";
+
 my %actions =
   (
    menu=>1,
index a53c2fd..c137abb 100644 (file)
@@ -13,6 +13,8 @@ use constant SITEUSER_GROUP_SECT => 'BSE Siteuser groups validation';
 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',
index 1f00ed8..394585a 100644 (file)
@@ -6,6 +6,8 @@ use BSE::Util::HTML qw(:default popup_menu);
 use BSE::CfgInfo qw(admin_base_url);
 use BSE::Template;
 
+our $VERSION = "1.000";
+
 my %actions =
   (
    users=>1,
index d5cfbf2..a001d45 100644 (file)
@@ -2,6 +2,8 @@ package BSE::Arrows;
 use strict;
 use BSE::Util::HTML;
 
+our $VERSION = "1.000";
+
 use base 'Exporter';
 
 use vars qw(@EXPORT);
index 85d1423..312f6aa 100644 (file)
@@ -2,6 +2,8 @@ package BSE::CGI;
 use strict;
 use Encode;
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, $q, $charset) = @_;
 
index d8d272f..99b8a42 100644 (file)
@@ -1,6 +1,8 @@
 package BSE::Cache;
 use strict;
 
+our $VERSION = "1.000";
+
 sub load {
   my ($class, $cfg) = @_;
 
index ce38519..3b55826 100644 (file)
@@ -1,6 +1,8 @@
 package BSE::Cache::CHI;
 use strict;
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, $cfg) = @_;
 
index fd91fe5..c308cb7 100644 (file)
@@ -1,6 +1,8 @@
 package BSE::Cache::Cache;
 use strict;
 
+our $VERSION = "1.000";
+
 # BSE cache interface for Cache interface compatible caches.
 
 sub new {
index 5d1a7ae..c6b917b 100644 (file)
@@ -2,6 +2,8 @@ package BSE::Cache::Memcached;
 use strict;
 use Cache::Memcached::Fast;
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, $cfg) = @_;
 
index 3914e4b..4e404eb 100644 (file)
@@ -4,6 +4,8 @@ use base "DevHelp::Cfg";
 use Carp qw(confess);
 use constant MAIN_CFG => 'bse.cfg';
 
+our $VERSION = "1.000";
+
 my %cache;
 
 my $single;
index bfbb00f..73d12ee 100644 (file)
@@ -1,6 +1,8 @@
 package BSE::CfgInfo;
 use strict;
 
+our $VERSION = "1.000";
+
 use vars qw(@ISA @EXPORT_OK);
 require Exporter;
 @ISA = qw(Exporter);
index 756c606..c747e5f 100644 (file)
@@ -4,6 +4,8 @@ use BSE::Util::Tags qw(tag_error_img);
 use BSE::Util::HTML;
 use base 'BSE::UI::AdminDispatch';
 
+our $VERSION = "1.000";
+
 my %actions =
   (
    form=>1,
index ecba59b..81d93bb 100644 (file)
@@ -5,6 +5,8 @@ use BSE::Mail;
 use Carp 'confess';
 use Digest::MD5 qw(md5_hex);
 
+our $VERSION = "1.000";
+
 =head1 NAME
 
 BSE::ComposeMail - compose mail for BSE
index 0d6c53c..f21a331 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 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;
index b3bb492..f3451c0 100644 (file)
@@ -2,6 +2,8 @@ package BSE::Custom;
 use BSE::CustomBase;
 use strict;
 
+our $VERSION = "1.000";
+
 use vars qw(@ISA);
 @ISA = qw(BSE::CustomBase);
 
index 351e64e..66a31eb 100644 (file)
@@ -1,6 +1,8 @@
 package BSE::CustomBase;
 use strict;
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %params) = @_;
 
index bdaae66..6e2c10f 100644 (file)
@@ -4,6 +4,8 @@ use strict;
 use Carp qw(croak);
 use Carp qw/confess/;
 
+our $VERSION = "1.000";
+
 use vars qw($VERSION);
 $VERSION = '1.00';
 
index 28e7625..f847938 100755 (executable)
@@ -2,6 +2,8 @@ package BSE::DB::MSSQL;
 use strict;
 use DBI;
 
+our $VERSION = "1.000";
+
 use vars qw($VERSION);
 
 use Constants 0.1 qw/$DSN $DBOPTS $UN $PW/;
index 07328c2..8bac3de 100644 (file)
@@ -5,6 +5,8 @@ use vars qw/@ISA/;
 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/;
index 39f7f46..de2f381 100644 (file)
@@ -5,6 +5,8 @@ use BSE::Template;
 use BSE::Util::HTML;
 use base qw(BSE::Util::DynamicTags);
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, $req, %opts) = @_;
 
index c69bde3..b2cfb0b 100644 (file)
@@ -2,6 +2,8 @@ package BSE::Dynamic::Catalog;
 use strict;
 use base 'BSE::Dynamic::Article';
 
+our $VERSION = "1.000";
+
 # no specific behavious yet
 
 sub tags {
index d58bd6d..8238b34 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use base 'BSE::Dynamic::Article';
 use Products;
 
+our $VERSION = "1.000";
+
 sub get_real_article {
   my ($self, $article) = @_;
 
index 1ee60ec..2fba63c 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use base 'BSE::Dynamic::Product';
 use BSE::TB::Seminars;
 
+our $VERSION = "1.000";
+
 sub get_real_article {
   my ($self, $article) = @_;
 
index 8fa90f9..5c02be2 100644 (file)
@@ -13,6 +13,8 @@ use BSE::Util::ContentType qw(content_type);
 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
index 141fff5..a9833a4 100644 (file)
@@ -1,6 +1,8 @@
 package BSE::Edit::Base;
 use strict;
 
+our $VERSION = "1.000";
+
 # one day I might put something useful here
 sub new {
   my ($class, %parms) = @_;
index 1c7b130..5dcf802 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use base 'BSE::Edit::Article';
 use BSE::Util::HTML;
 
+our $VERSION = "1.000";
+
 sub base_template_dirs {
   return ( "catalog" );
 }
index 3014b52..5dcc620 100644 (file)
@@ -9,6 +9,8 @@ use BSE::Util::HTML;
 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
index b5f8c27..6f823c7 100644 (file)
@@ -9,6 +9,8 @@ use constant SECT_SEMSESSION_VALIDATION => 'BSE Seminar Session Validation';
 use BSE::Util::HTML qw(escape_html);
 use BSE::Util::Iterate;
 
+our $VERSION = "1.000";
+
 sub article_actions {
   my ($self) = @_;
 
index 7b699e5..c6169b6 100644 (file)
@@ -1,6 +1,8 @@
 package BSE::Edit::Site;
 use strict;
 
+our $VERSION = "1.000";
+
 use base 'BSE::Edit::Article';
 use BSE::TB::Site;
 
index d7015a2..3f705e4 100644 (file)
@@ -5,6 +5,8 @@ use Squirrel::Row;
 use vars qw/@ISA/;
 @ISA = qw/Squirrel::Row/;
 
+our $VERSION = "1.000";
+
 sub columns {
   return qw/id email why/;
 }
index 0a37d42..ad8cde8 100644 (file)
@@ -5,6 +5,8 @@ use vars qw(@ISA $VERSION);
 @ISA = qw(Squirrel::Table);
 use BSE::EmailBlackEntry;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'BSE::EmailBlackEntry';
 }
index 1be1b95..f716b4c 100644 (file)
@@ -5,6 +5,8 @@ use Squirrel::Row;
 use vars qw/@ISA/;
 @ISA = qw/Squirrel::Row/;
 
+our $VERSION = "1.000";
+
 sub columns {
   return qw/id email genEmail lastConfSent unackedConfMsgs/;
 }
index e3c89be..f2b3411 100644 (file)
@@ -5,6 +5,8 @@ use vars qw(@ISA $VERSION);
 @ISA = qw(Squirrel::Table);
 use BSE::EmailRequest;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'BSE::EmailRequest';
 }
index 2b0f9e8..4a26281 100644 (file)
@@ -6,6 +6,8 @@ use BSE::TB::ArticleFiles;
 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
index 6ef9f72..cb2eff2 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use Carp qw(confess);
 use DevHelp::HTML;
 
+our $VERSION = "1.000";
+
 =head1 NAME
 
 BSE::FileHandler::Base - base class for file handlers
index 1686233..cef558a 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use base "BSE::FileHandler::Base";
 use BSE::Util::HTML;
 
+our $VERSION = "1.000";
+
 sub process_file {
   my ($self, $file) = @_;
 
index 8fab547..86ffdfe 100644 (file)
@@ -4,6 +4,8 @@ use base "BSE::FileHandler::Base";
 use BSE::Util::Tags qw(tag_hash);
 use BSE::Util::HTML;
 
+our $VERSION = "1.000";
+
 sub process_file {
   my ($self, $file) = @_;
 
index c0473ee..032bb71 100644 (file)
@@ -2,6 +2,8 @@ package BSE::FileMetaMeta;
 use strict;
 use Carp qw(confess);
 
+our $VERSION = "1.000";
+
 my %meta_rules =
   (
    meta_real =>
index 01ea8e7..3f1f1a0 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use BSE::Util::HTML;
 use Carp 'confess';
 
+our $VERSION = "1.000";
+
 use base 'DevHelp::Formatter';
 
 my $pop_nameid = 'AAAAAA';
index 430e1fe..8eb7278 100644 (file)
@@ -4,6 +4,8 @@ use base 'BSE::Formatter';
 use BSE::Util::HTML;
 use Digest::MD5 qw(md5_hex);
 
+our $VERSION = "1.000";
+
 sub link {
   my ($self, $url, $text) = @_;
 
index 0ecd1dc..ffd93cf 100644 (file)
@@ -2,6 +2,8 @@ package BSE::Formatter::Subscription;
 use strict;
 use base 'BSE::Formatter';
 
+our $VERSION = "1.000";
+
 # eventually this will attach the image
 sub image_url {
   my ($self, $im) = @_;
index f01925b..34fb711 100644 (file)
@@ -6,6 +6,8 @@ use BSE::Util::HTML;
 use BSE::Util::Tags qw(tag_article);
 use BSE::Util::Iterate;
 
+our $VERSION = "1.000";
+
 sub baseActs {
   my ($self, $articles, $acts, $seminar, $embedded) = @_;
 
index f76935e..ea11a9f 100644 (file)
@@ -4,6 +4,8 @@ use BSE::Cfg;
 use Apache::Request;
 use BSE::Request;
 
+our $VERSION = "1.000";
+
 sub handler {
   my ($class, $r) = @_;
 
index a65a17c..772c711 100644 (file)
@@ -12,6 +12,8 @@ use BSE::Dynamic::Product;
 use BSE::Dynamic::Catalog;
 use BSE::Dynamic::Seminar;
 
+our $VERSION = "1.000";
+
 sub handler {
   my ($r) = @_;
 
index e8d0317..96fbec7 100644 (file)
@@ -2,6 +2,8 @@ package BSE::ImageHandler::Base;
 use strict;
 use Carp qw(confess);
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %opts) = @_;
 
index 339a9de..8de535b 100644 (file)
@@ -4,6 +4,8 @@ use base 'BSE::ImageHandler::Base';
 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 =
   (
index 57a74ad..9559fc7 100644 (file)
@@ -4,6 +4,8 @@ use base 'BSE::ImageHandler::Base';
 use Carp qw(confess);
 use BSE::Util::HTML;
 
+our $VERSION = "1.000";
+
 sub thumb_base_url {
   '/cgi-bin/thumb.pl';
 }
index eda1782..eb773b0 100644 (file)
@@ -2,6 +2,8 @@ package BSE::ImportSourceBase;
 use strict;
 use Config;
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %opts) = @_;
 
index b019b4f..667ea3d 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use base 'BSE::ImportSourceBase';
 use Spreadsheet::ParseExcel;
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %opts) = @_;
 
index a16ad5e..3cc69af 100644 (file)
@@ -6,6 +6,8 @@ use Articles;
 use Products;
 use OtherParents;
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %opts) = @_;
 
index 45ecfbe..e8c0057 100644 (file)
@@ -1,6 +1,8 @@
 package BSE::ImportTargetBase;
 use strict;
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %opts) = @_;
 
index 4030401..9cd8ed4 100644 (file)
@@ -7,6 +7,8 @@ use Products;
 use BSE::TB::ProductOptions;
 use BSE::TB::ProductOptionValues;
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %opts) = @_;
 
index f0ce836..b729a08 100644 (file)
@@ -2,6 +2,8 @@ package BSE::Importer;
 use strict;
 use Config;
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %opts) = @_;
 
index 31bea3a..a8c3da6 100644 (file)
@@ -4,6 +4,8 @@ use base 'BSE::Index::Base';
 use BSE::DB;
 use Constants qw($DATADIR $MAXPHRASE);
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %opts) = @_;
 
index a8b7c2a..196c868 100644 (file)
@@ -1,6 +1,8 @@
 package BSE::Index::Base;
 use strict;
 
+our $VERSION = "1.000";
+
 1;
 
 __END__
index ed5c683..bf4069c 100644 (file)
@@ -2,6 +2,8 @@ package BSE::Jobs::AuditClean;
 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);
index e482c95..52fd22c 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use Constants;
 use Carp qw/confess/;
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %opts) = @_;
   my $cfg = $opts{cfg}
index 11aaea4..b064c70 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use vars qw/@ISA/;
 use Net::SMTP;
 
+our $VERSION = "1.000";
+
 @ISA = qw/BSE::Mail/;
 
 sub new {
index 59a7dfc..3595117 100644 (file)
@@ -2,6 +2,8 @@ package BSE::Mail::Sendmail;
 use strict;
 use vars qw/@ISA/;
 
+our $VERSION = "1.000";
+
 @ISA = qw/BSE::Mail/;
 
 sub new {
index 8f03003..60dcdc9 100644 (file)
@@ -9,6 +9,8 @@ use overload
   "&{}" => sub { my $self = $_[0]; return sub { $self->_old_msg(@_) } },
   "bool" => sub { 1 };
 
+our $VERSION = "1.000";
+
 my $single;
 
 =head1 NAME
index 76c5357..6e8a591 100644 (file)
@@ -2,6 +2,8 @@ package BSE::MessageScanner;
 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
index 279489b..c93d46f 100644 (file)
@@ -2,6 +2,8 @@ package BSE::NLFilter::SQL;
 use strict;
 use Carp 'confess';
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %opts) = @_;
   
index c6b2a55..c0ef019 100644 (file)
@@ -9,6 +9,8 @@ use DevHelp::Tags::Iterate;
 use BSE::TB::SiteUserGroups;
 use Carp qw(confess);
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %opts) = @_;
 
index 5feb3fb..a10e19e 100644 (file)
@@ -1,6 +1,8 @@
 package BSE::Password::Crypt;
 use strict;
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class) = @_;
 
index f8cd27a..50bb67a 100644 (file)
@@ -2,6 +2,8 @@ package BSE::Password::CryptMD5;
 use strict;
 use base "BSE::Password::Crypt";
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class) = @_;
 
index 14d5ff1..1fc6895 100644 (file)
@@ -2,6 +2,8 @@ package BSE::Password::CryptSHA256;
 use strict;
 use base "BSE::Password::Crypt";
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class) = @_;
 
index ae81407..13655a9 100644 (file)
@@ -1,6 +1,8 @@
 package BSE::Password::Plain;
 use strict;
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class) = @_;
 
index 493ab0b..22a91ea 100644 (file)
@@ -1,6 +1,8 @@
 package BSE::Passwords;
 use strict;
 
+our $VERSION = "1.000";
+
 # wrapper around using the BSE::Password classes
 
 sub new_password_hash {
index c173d06..45a41e3 100644 (file)
@@ -5,6 +5,8 @@ use BSE::Util::HTML;
 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";
 
index 4e41287..4406ef3 100644 (file)
@@ -1,6 +1,8 @@
 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(
index 702901a..6dec69b 100644 (file)
@@ -6,6 +6,8 @@ use Articles;
 use Products;
 use Config;
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, $cfg, $profile, %opts) = @_;
 
index 07d2fcc..410e6a8 100644 (file)
@@ -1,6 +1,8 @@
 package BSE::Report;
 use strict;
 
+our $VERSION = "1.000";
+
 use base 'DevHelp::Report';
 
 sub new {
index 23fde9a..975efa6 100644 (file)
@@ -2,6 +2,8 @@ package BSE::Request;
 use strict;
 use base 'BSE::Request::Base';
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %opts) = @_;
 
index 5cdb085..e7b8b41 100644 (file)
@@ -5,6 +5,8 @@ use BSE::Cfg;
 use BSE::Util::HTML;
 use Carp qw(cluck confess);
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %opts) = @_;
 
index 138710c..7971f1b 100644 (file)
@@ -2,6 +2,8 @@ package BSE::Request::Test;
 use strict;
 use base 'BSE::Request::Base';
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %opts) = @_;
 
index 8bbda90..871173b 100644 (file)
@@ -2,6 +2,8 @@ package BSE::Search::BSE;
 use strict;
 use Constants qw(:search);
 
+our $VERSION = "1.000";
+
 use base 'BSE::Search::Base';
 
 sub new {
index 5487bc4..7eaa307 100644 (file)
@@ -1,6 +1,8 @@
 package BSE::Search::Base;
 use strict;
 
+our $VERSION = "1.000";
+
 1;
 
 __END__
index d311512..7f3cda0 100644 (file)
@@ -4,6 +4,8 @@ use CGI::Cookie;
 use BSE::DB;
 use BSE::CfgInfo qw/custom_class/;
 
+our $VERSION = "1.000";
+
 sub _session_require {
   my ($cfg) = @_;
 
index dce3192..6519d14 100644 (file)
@@ -2,6 +2,8 @@ package BSE::Shipping;
 use strict;
 use Carp qw(confess);
 
+our $VERSION = "1.000";
+
 sub get_couriers {
     my ($class, $cfg, $wanted) = @_;
 
index 14bd950..2891e06 100644 (file)
@@ -7,6 +7,8 @@ use vars qw(@ISA @EXPORT_OK);
                 payment_types order_item_opts
  PAYMENT_CC PAYMENT_CHEQUE PAYMENT_CALLME PAYMENT_MANUAL PAYMENT_PAYPAL/;
 
+our $VERSION = "1.000";
+
 
 our %EXPORT_TAGS =
   (
index ffbbfd6..279f7a2 100644 (file)
@@ -5,6 +5,8 @@ require 'Exporter.pm';
 @ISA = qw(Exporter);
 @EXPORT = qw(bse_sort);
 
+our $VERSION = "1.000";
+
 my %backwhacked =
   (
    "\\"=> "\\",
index 58f80a7..656b8bf 100644 (file)
@@ -5,6 +5,8 @@ our @ISA = qw(BSE::Storage::Base);
 use Net::Amazon::S3;
 use Carp qw(confess);
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %opts) = @_;
 
index f070cc3..1191ec4 100644 (file)
@@ -2,6 +2,8 @@ package BSE::Storage::Base;
 use strict;
 use Carp qw(confess);
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %opts) = @_;
 
index 2056860..97259d7 100644 (file)
@@ -5,6 +5,8 @@ our @ISA = qw(BSE::Storage::Base);
 use Net::FTP;
 use Carp qw(confess);
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %opts) = @_;
 
index 61453a6..70cd5c3 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use BSE::Storage::Base;
 our @ISA = qw(BSE::Storage::Base);
 
+our $VERSION = "1.000";
+
 sub unstore {
   my ($self, $basename) = @_;
   # nothing to do
index 3e18ed7..04abfaf 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use BSE::Storage::LocalBase;
 our @ISA = qw(BSE::Storage::LocalBase);
 
+our $VERSION = "1.000";
+
 sub store {
   my ($self, $path, $basename) = @_;
   # nothing to do
index 6be80fd..695a8eb 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use BSE::Storage::LocalBase;
 our @ISA = qw(BSE::Storage::LocalBase);
 
+our $VERSION = "1.000";
+
 sub store {
   my ($self, $path, $basename) = @_;
   # nothing to do
index f0ba132..d206ce7 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use BSE::Storage::LocalBase;
 our @ISA = qw(BSE::Storage::LocalBase);
 
+our $VERSION = "1.000";
+
 sub _base_url {
   my ($self) = @_;
 
index e3dfe23..a19cbf5 100644 (file)
@@ -2,6 +2,8 @@ package BSE::StorageMgr::Base;
 use strict;
 use Carp 'confess';
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %opts) = @_;
 
index 632d606..f42ca48 100644 (file)
@@ -5,6 +5,8 @@ our @ISA = qw(BSE::StorageMgr::Base);
 use BSE::Storage::LocalFiles;
 use BSE::Util::ContentType qw(content_type);
 
+our $VERSION = "1.000";
+
 sub filebase {
   my ($self) = @_;
 
index f2d89e4..94e000a 100644 (file)
@@ -6,6 +6,8 @@ use BSE::CfgInfo qw(cfg_image_dir);
 use BSE::Storage::LocalImages;
 use BSE::Util::ContentType qw(content_type);
 
+our $VERSION = "1.000";
+
 sub filebase {
   my ($self) = @_;
 
index 14ef13e..4a82187 100644 (file)
@@ -6,6 +6,8 @@ use BSE::CfgInfo qw(cfg_image_dir);
 use BSE::Storage::LocalThumbs;
 use BSE::Util::ContentType qw(content_type);
 
+our $VERSION = "1.000";
+
 sub filebase {
   my ($self) = @_;
 
index fd322c1..ecf4dd8 100644 (file)
@@ -5,6 +5,8 @@ use Squirrel::Row;
 use vars qw/@ISA/;
 @ISA = qw/Squirrel::Row/;
 
+our $VERSION = "1.000";
+
 sub columns {
   return qw/id subId userId/;
 }
index 7c65adf..9a7f9df 100644 (file)
@@ -5,6 +5,8 @@ use vars qw(@ISA $VERSION);
 @ISA = qw(Squirrel::Table);
 use BSE::SubscribedUser;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'BSE::SubscribedUser';
 }
index d9544ee..1b2112c 100644 (file)
@@ -5,6 +5,8 @@ use Squirrel::Row;
 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
index bc78486..f2762ea 100644 (file)
@@ -5,6 +5,8 @@ use vars qw(@ISA $VERSION);
 @ISA = qw(Squirrel::Table);
 use BSE::SubscriptionType;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'BSE::SubscriptionType';
 }
index 7425ae5..7f401d6 100644 (file)
@@ -2,6 +2,8 @@ package BSE::TB::AdminBase;
 use strict;
 use base qw(Squirrel::Row);
 
+our $VERSION = "1.000";
+
 sub columns {
   return qw/id type/;
 }
index 24db729..3af32e5 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use base 'Squirrel::Table';
 use BSE::TB::AdminBase;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'BSE::TB::AdminBase';
 }
index 3c06d63..8d97e55 100644 (file)
@@ -2,6 +2,8 @@ package BSE::TB::AdminGroup;
 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/ );
index ac12a8a..2698a60 100644 (file)
@@ -4,6 +4,8 @@ use base 'Squirrel::Table';
 use BSE::TB::AdminGroup;
 use constant SECT_TEMPLATE_SETS => 'admin group template sets';
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'BSE::TB::AdminGroup';
 }
index 1829e65..9bc454c 100644 (file)
@@ -3,6 +3,8 @@ package BSE::TB::AdminMembership;
 use strict;
 use base qw(Squirrel::Row);
 
+our $VERSION = "1.000";
+
 sub columns {
   return qw/user_id group_id/;
 }
index a6827e5..bb268a3 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use base 'Squirrel::Table';
 use BSE::TB::AdminMembership;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'BSE::TB::AdminMembership';
 }
index 1e927ad..5c6a3ec 100644 (file)
@@ -3,6 +3,8 @@ package BSE::TB::AdminPerm;
 use strict;
 use base qw(Squirrel::Row);
 
+our $VERSION = "1.000";
+
 sub columns {
   return qw/object_id admin_id/;
 }
index 76186d5..4eab9b2 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use base 'Squirrel::Table';
 use BSE::TB::AdminPerm;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'BSE::TB::AdminPerm';
 }
index 0603998..3f365c4 100644 (file)
@@ -2,6 +2,8 @@ package BSE::TB::AdminUIState;
 use strict;
 use base "Squirrel::Row";
 
+our $VERSION = "1.000";
+
 sub columns {
   qw/id user_id name val/;
 }
index 6fd212d..87a3f99 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use base "Squirrel::Table";
 use BSE::TB::AdminUIState;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   "BSE::TB::AdminUIState";
 }
index 4a0617c..c44463c 100644 (file)
@@ -2,6 +2,8 @@ package BSE::TB::AdminUser;
 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/);
index de323c4..5dde1bf 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use base 'Squirrel::Table';
 use BSE::TB::AdminUser;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'BSE::TB::AdminUser';
 }
index 7541d81..70fbbae 100644 (file)
@@ -6,6 +6,8 @@ use vars qw/@ISA/;
 @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
index d8f76c6..643fc66 100644 (file)
@@ -2,6 +2,8 @@ package BSE::TB::ArticleFileMeta;
 use strict;
 use base 'Squirrel::Row';
 
+our $VERSION = "1.000";
+
 sub table {
   "bse_article_file_meta";
 }
index a1c7910..ccdc76e 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use base 'Squirrel::Table';
 use BSE::TB::ArticleFileMeta;
 
+our $VERSION = "1.000";
+
 sub rowClass { "BSE::TB::ArticleFileMeta" }
 
 1;
index 3470ef7..0eecdd2 100644 (file)
@@ -6,6 +6,8 @@ use vars qw(@ISA $VERSION);
 use BSE::TB::ArticleFile;
 use Carp qw(confess);
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'BSE::TB::ArticleFile';
 }
index 71b393d..615fb4f 100644 (file)
@@ -2,6 +2,8 @@ package BSE::TB::AuditEntry;
 use strict;
 use base qw(Squirrel::Row);
 
+our $VERSION = "1.000";
+
 sub columns {
   return qw/id 
             when_at
index 138773b..4111ffc 100644 (file)
@@ -6,6 +6,8 @@ use vars qw(@ISA $VERSION);
 use BSE::TB::AuditEntry;
 use Scalar::Util qw(blessed);
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'BSE::TB::AuditEntry';
 }
index b7ad5dc..0bbe92a 100644 (file)
@@ -5,6 +5,8 @@ use BSE::Util::SQL qw(now_sqldatetime);
 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/;
 }
index 7f92449..bb3ad06 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use base 'Squirrel::Table';
 use BSE::TB::BackgroundTask;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   'BSE::TB::BackgroundTask';
 }
index afcc86e..41a00e7 100644 (file)
@@ -4,6 +4,8 @@ use base 'Squirrel::Table';
 use BSE::TB::FileAccessLogEntry;
 use Carp qw(confess);
 
+our $VERSION = "1.000";
+
 sub rowClass {
   'BSE::TB::FileAccessLogEntry';
 }
index 6063fa7..e05599f 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 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/;
 }
index 9c1e3f8..3c86107 100644 (file)
@@ -7,6 +7,8 @@ use vars qw/@ISA/;
 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/;
index 881785d..019a154 100644 (file)
@@ -5,6 +5,8 @@ use vars qw(@ISA $VERSION);
 @ISA = qw(Squirrel::Table);
 use BSE::TB::Image;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'BSE::TB::Image';
 }
index 8175bc6..132b3b9 100644 (file)
@@ -2,6 +2,8 @@ package BSE::TB::Location;
 use strict;
 use base qw(Squirrel::Row);
 
+our $VERSION = "1.000";
+
 sub columns {
   return qw/id 
             description 
index 5126232..9b38fa7 100644 (file)
@@ -5,6 +5,8 @@ use vars qw(@ISA $VERSION);
 @ISA = qw(Squirrel::Table);
 use BSE::TB::Location;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'BSE::TB::Location';
 }
index 6ec8c95..3f37767 100644 (file)
@@ -6,6 +6,8 @@ use vars qw/@ISA/;
 @ISA = qw/Squirrel::Row/;
 use Carp 'confess';
 
+our $VERSION = "1.000";
+
 sub columns {
   return qw/id
            delivFirstName delivLastName delivStreet delivSuburb delivState
index 5614f4f..05475b6 100644 (file)
@@ -5,6 +5,8 @@ use Squirrel::Row;
 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
index a30ba69..6924e31 100644 (file)
@@ -2,6 +2,8 @@ package BSE::TB::OrderItemOption;
 use strict;
 use base 'Squirrel::Row';
 
+our $VERSION = "1.000";
+
 sub table {
   "bse_order_item_options";
 }
index 66b64a0..4403f23 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use base 'Squirrel::Table';
 use BSE::TB::OrderItemOption;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   'BSE::TB::OrderItemOption';
 }
index c66b43e..3c4cbe4 100644 (file)
@@ -5,6 +5,8 @@ use vars qw(@ISA $VERSION);
 @ISA = qw(Squirrel::Table);
 use BSE::TB::OrderItem;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'BSE::TB::OrderItem';
 }
index 6dd5285..f726a08 100644 (file)
@@ -5,6 +5,8 @@ use vars qw(@ISA $VERSION);
 @ISA = qw(Squirrel::Table);
 use BSE::TB::Order;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'BSE::TB::Order';
 }
index 35b0b79..d98bbaf 100644 (file)
@@ -4,6 +4,8 @@ use base 'Squirrel::Row';
 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/;
 }
index d0df5bc..8bb5d4a 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use base 'Squirrel::Table';
 use BSE::TB::OwnedFile;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   'BSE::TB::OwnedFile';
 }
index baf4fc5..6be94f2 100644 (file)
@@ -2,6 +2,8 @@ package BSE::TB::ProductOption;
 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/;
 }
index fde73a1..65e6325 100644 (file)
@@ -2,6 +2,8 @@ package BSE::TB::ProductOptionValue;
 use strict;
 use base "Squirrel::Row";
 
+our $VERSION = "1.000";
+
 sub columns {
   return qw/id product_option_id value display_order/;
 }
index 51ba9ad..c04035d 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use base 'Squirrel::Table';
 use BSE::TB::ProductOptionValue;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   'BSE::TB::ProductOptionValue';
 }
index 7c8abef..4201715 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use base 'Squirrel::Table';
 use BSE::TB::ProductOption;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   'BSE::TB::ProductOption';
 }
index a309131..30e9274 100644 (file)
@@ -6,6 +6,8 @@ use vars qw/@ISA/;
 @ISA = qw/Product/;
 use BSE::Util::SQL qw(now_sqldatetime);
 
+our $VERSION = "1.000";
+
 sub columns {
   return ($_[0]->SUPER::columns(), 
          qw/seminar_id duration/ );
index 95cbc78..edc9b1b 100644 (file)
@@ -2,6 +2,8 @@ package BSE::TB::SeminarBooking;
 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/;
index e13aca8..553f4c1 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use base qw(Squirrel::Table);
 use BSE::TB::SeminarBooking;
 
+our $VERSION = "1.000";
+
 sub rowClass { 'BSE::TB::SeminarBooking' }
 
 1;
index 4119d10..3c1d87c 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 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/;
 }
index baf63d7..65c1ac5 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use base 'Squirrel::Table';
 use BSE::TB::SeminarSession;
 
+our $VERSION = "1.000";
+
 sub rowClass { 'BSE::TB::SeminarSession' }
 
 1;
index de07ae1..d6756bd 100644 (file)
@@ -5,6 +5,8 @@ use vars qw(@ISA $VERSION);
 @ISA = qw(Squirrel::Table);
 use BSE::TB::Seminar;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'BSE::TB::Seminar';
 }
index adc2637..a90df06 100644 (file)
@@ -2,6 +2,8 @@ package BSE::TB::Site;
 use strict;
 use base qw(BSE::TB::SiteCommon);
 
+our $VERSION = "1.000";
+
 # like an article, but doesn't exist in the database
 
 sub new {
index 7acaca2..22c4f9c 100644 (file)
@@ -2,6 +2,8 @@ package BSE::TB::SiteCommon;
 use strict;
 use Carp qw(confess);
 
+our $VERSION = "1.000";
+
 sub step_parents {
   my ($self) = @_;
 
index bf3c225..d02e318 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use base 'Squirrel::Row';
 use constant OWNER_TYPE => "G";
 
+our $VERSION = "1.000";
+
 sub columns {
   qw(id name);
 }
index 809e2c6..db49b00 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 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 ';
 
index 3bab531..5835f93 100644 (file)
@@ -4,6 +4,8 @@ use Squirrel::Row;
 use vars qw/@ISA/;
 @ISA = qw/Squirrel::Row/;
 
+our $VERSION = "1.000";
+
 sub columns {
   return qw/subscription_id text_id title description max_lapsed/;
 }
index b4ed516..a78b88e 100644 (file)
@@ -2,6 +2,8 @@ package BSE::TB::Subscription::Calc;
 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.
 
index 5f57442..bfcf65f 100644 (file)
@@ -5,6 +5,8 @@ use vars qw(@ISA $VERSION);
 @ISA = qw(Squirrel::Table);
 use BSE::TB::Subscription;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'BSE::TB::Subscription';
 }
index c773676..318c34a 100644 (file)
@@ -2,6 +2,8 @@ package BSE::TagFormats;
 use strict;
 use BSE::Util::HTML;
 
+our $VERSION = "1.000";
+
 sub _format_image {
   my ($self, $im, $align, $rest) = @_;
 
index 9185b76..c154138 100644 (file)
@@ -4,6 +4,8 @@ use Squirrel::Template;
 use Carp qw(confess cluck);
 use Config ();
 
+our $VERSION = "1.000";
+
 sub templater {
   my ($class, $cfg, $rsets) = @_;
 
index 1afcbf5..8471a62 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use constant CFG_SECTION => 'imager thumb driver';
 use Config;
 
+our $VERSION = "1.000";
+
 my %handlers =
   (
    # default handlers
index db362ef..a7e3640 100644 (file)
@@ -2,6 +2,8 @@ package BSE::Thumb::Imager::Colourize;
 use strict;
 use base 'BSE::Thumb::Imager::Handler';
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, $text, $error, $thumb) = @_;
   
index 7399d59..cc0d56b 100644 (file)
@@ -2,6 +2,8 @@ package BSE::Thumb::Imager::RandomCrop;
 use strict;
 use base 'BSE::Thumb::Imager::Handler';
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, $text, $error, $thumb) = @_;
   
index 60cfa6a..356c6b5 100644 (file)
@@ -1,6 +1,8 @@
 package BSE::ThumbLow;
 use strict;
 
+our $VERSION = "1.000";
+
 sub _thumbimage_low {
   my ($self, $geo_id, $im, $field, $cfg, $static) = @_;
 
index 1540fa6..4d2979a 100644 (file)
@@ -2,6 +2,8 @@ package BSE::UI::API;
 use strict;
 use base "BSE::UI::Dispatch";
 
+our $VERSION = "1.000";
+
 my %actions =
   (
    config => 1,
index 2732ae1..5740781 100644 (file)
@@ -4,6 +4,8 @@ use base qw(BSE::UI::Dispatch);
 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) = @_;
index 4c0406b..bccac3b 100644 (file)
@@ -4,6 +4,8 @@ use base 'BSE::UI::AdminDispatch';
 use BSE::Util::Iterate;
 use BSE::Message;
 
+our $VERSION = "1.000";
+
 my %actions =
   (
    index => "bse_msg_view",
index 3085803..815ed5c 100644 (file)
@@ -8,6 +8,8 @@ use BSE::Util::HTML qw(:default popup_menu);
 use BSE::Util::Iterate;
 use base 'BSE::UI::AdminDispatch';
 
+our $VERSION = "1.000";
+
 my %actions =
   (
    list => '',
index bcf3e50..fd6cf54 100644 (file)
@@ -4,6 +4,8 @@ use base qw(BSE::UI::AdminDispatch);
 use BSE::Util::Iterate;
 use BSE::Util::Tags qw(tag_hash);
 
+our $VERSION = "1.000";
+
 my %actions =
   (
    list => "",
index 01a3f81..6c2c2e9 100644 (file)
@@ -5,6 +5,8 @@ use BSE::Util::Tags;
 use BSE::Report;
 use BSE::Util::HTML;
 
+our $VERSION = "1.000";
+
 my %actions =
   (
    prompt => '',
index bc2731e..9a74e68 100644 (file)
@@ -11,6 +11,8 @@ use constant SECT_LOCATION_VALIDATION => "BSE Location Validation";
 use BSE::CfgInfo 'product_options';
 use DevHelp::Date qw(dh_strftime_sql_datetime);
 
+our $VERSION = "1.000";
+
 my %rights =
   (
    loclist              => 'bse_location_list',
index 2cbef1f..c21814d 100644 (file)
@@ -4,6 +4,8 @@ use base 'BSE::UI::AdminDispatch';
 use SiteUsers;
 use BSE::Util::Tags qw(tag_hash_plain);
 
+our $VERSION = "1.000";
+
 my %actions =
   (
    send => 1,
index 0582d01..1e34f76 100644 (file)
@@ -19,6 +19,8 @@ use BSE::Util::HTML qw(:default popup_menu);
 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',
index 91f05a1..039e318 100644 (file)
@@ -4,6 +4,8 @@ use base qw(BSE::UI::Dispatch BSE::UI::SiteuserCommon);
 use BSE::Util::Tags qw(tag_hash);
 use BSE::Util::HTML;
 
+our $VERSION = "1.000";
+
 my %actions =
   (
    set => 1,
index 50d80cc..a599772 100644 (file)
@@ -10,6 +10,8 @@ use IO::File;
 use BSE::Util::Tags qw(tag_hash);
 use Config;
 
+our $VERSION = "1.000";
+
 my %actions =
   (
    list => "",
index e17cd88..009b525 100644 (file)
@@ -2,6 +2,8 @@ package BSE::UI::Dispatch;
 use strict;
 use Carp 'confess';
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %opts) = @_;
 
index ec83d27..c719486 100644 (file)
@@ -1,6 +1,8 @@
 package BSE::UI::FileProgress;
 use strict;
 
+our $VERSION = "1.000";
+
 sub dispatch {
   my ($class, $req) = @_;
 
index 24720bd..0510702 100644 (file)
@@ -7,6 +7,8 @@ use DevHelp::Validate qw(dh_validate dh_configure_fields);
 use BSE::Util::Iterate;
 use constant DISPLAY_TIMEOUT => 300;
 
+our $VERSION = "1.000";
+
 my %actions =
   (
    show => 1,
index 2fa2b1e..e9ad1c9 100644 (file)
@@ -5,6 +5,8 @@ use BSE::TB::Images;
 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 {
index d961c99..5a48c55 100644 (file)
@@ -2,6 +2,8 @@ package BSE::UI::NAdmin;
 use strict;
 use base qw/BSE::UI::NUser/;
 
+our $VERSION = "1.000";
+
 sub controller_section {
   'nadmin controllers';
 }
index f816581..ce9821b 100644 (file)
@@ -2,6 +2,8 @@ package BSE::UI::NUser;
 use strict;
 use base 'BSE::UI::Dispatch';
 
+our $VERSION = "1.000";
+
 sub controller_section {
   'nuser controllers';
 }
index 2a41821..9d9f18d 100644 (file)
@@ -5,6 +5,8 @@ use BSE::Util::HTML qw(escape_uri);
 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 {
index ec5ce1a..4f60e75 100644 (file)
@@ -4,6 +4,8 @@ use base qw(BSE::UI::Dispatch);
 use Digest::MD5 qw(md5_hex);
 use BSE::Util::HTML;
 
+our $VERSION = "1.000";
+
 my %actions =
   (
    redir => 1,
index 38bb276..19f172d 100644 (file)
@@ -11,6 +11,8 @@ use BSE::Util::HTML qw':default popup_menu';
 use BSE::Util::Tags qw(tag_article);
 use BSE::Request;
 
+our $VERSION = "1.000";
+
 my %actions =
   (
    search => 1,
index 127f06b..c4a7ce2 100644 (file)
@@ -18,6 +18,8 @@ use BSE::Shipping;
 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 =
index 7c28bd1..debcaf5 100644 (file)
@@ -11,6 +11,8 @@ use BSE::Util::Secure qw/make_secret/;
 use BSE::SubscribedUsers;
 use BSE::CfgInfo qw(custom_class);
 
+our $VERSION = "1.000";
+
 my %rights =
   (
    importform => 'bse_siteuser_list',
index 7f2dd74..9a33ddc 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 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;
index 2e352c3..0ab9be8 100644 (file)
@@ -9,6 +9,8 @@ use BSE::Util::Iterate;
 use BSE::TB::Subscriptions;
 use BSE::Util::HTML;
 
+our $VERSION = "1.000";
+
 my %rights =
   (
    list => 'bse_subscr_list',
index 7153326..1a6ec85 100644 (file)
@@ -6,6 +6,8 @@ use BSE::Util::Tags qw(tag_hash tag_error_img tag_hash_plain tag_article tag_art
 use BSE::ComposeMail;
 use Articles;
 
+our $VERSION = "1.000";
+
 my %actions =
   (
    form => 1,
index b6e17d7..ecbd0b6 100644 (file)
@@ -5,6 +5,8 @@ use BSE::TB::Images;
 use BSE::CfgInfo qw(cfg_image_dir);
 use BSE::Util::Thumb;
 
+our $VERSION = "1.000";
+
 sub dispatch {
   my ($class, $req) = @_;
 
index f903ed6..56e4afa 100644 (file)
@@ -8,6 +8,8 @@ use BSE::Util::SQL qw/now_datetime/;
 use DevHelp::Date qw(dh_strftime_sql_datetime);
 use base 'BSE::UI::UserCommon';
 
+our $VERSION = "1.000";
+
 my %actions =
   (
    info => 1,
index bf44b44..104fe2e 100644 (file)
@@ -1,6 +1,8 @@
 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
 
index b984560..5e4f771 100644 (file)
@@ -18,6 +18,8 @@ use BSE::Util::Iterate;
 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;
 
index 54e4c1b..54f085f 100644 (file)
@@ -4,6 +4,8 @@ require Exporter;
 our @ISA = qw(Exporter);
 our @EXPORT_OK = qw(content_type);
 
+our $VERSION = "1.000";
+
 my %types =
   (
    qw(
index 1be04d9..b00f824 100644 (file)
@@ -1,6 +1,8 @@
 package BSE::Util::DynSort;
 use strict;
 
+our $VERSION = "1.000";
+
 use DevHelp::DynSort qw(tag_sorthelp);
 use vars qw(@EXPORT_OK);
 use base 'Exporter';
index f8bce1f..c736e83 100644 (file)
@@ -6,6 +6,8 @@ use base 'BSE::ThumbLow';
 use base 'BSE::TagFormats';
 use BSE::CfgInfo qw(custom_class);
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, $req) = @_;
   return bless { req => $req }, $class;
index 64d7e48..d56a374 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 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);
index 31b575f..1ffc5ae 100644 (file)
@@ -4,6 +4,8 @@ use base 'DevHelp::Tags::Iterate';
 use BSE::Util::HTML;
 use Carp 'confess';
 
+our $VERSION = "1.000";
+
 sub escape {
   escape_html($_[1]);
 }
index 07c0730..9cc2fea 100644 (file)
@@ -12,6 +12,8 @@ require 'Exporter.pm';
   );
 @ISA = qw/Exporter/;
 
+our $VERSION = "1.000";
+
 use constant SECONDS_PER_DAY => 86400;
 
 =head1 NAME
index e37bcf0..c732655 100644 (file)
@@ -1,6 +1,8 @@
 package BSE::Util::Secure;
 use strict;
 
+our $VERSION = "1.000";
+
 use vars qw(@ISA @EXPORT_OK);
 
 @ISA = qw(Exporter);
index 3edce1c..a1750c9 100644 (file)
@@ -8,6 +8,8 @@ use vars qw(@EXPORT_OK @ISA);
 @ISA = qw(Exporter);
 require Exporter;
 
+our $VERSION = "1.000";
+
 sub _get_parms {
   my ($acts, $args) = @_;
 
index 374a785..8872185 100644 (file)
@@ -4,6 +4,8 @@ use BSE::TB::Images;
 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) = @_;
index c2c8de1..6e6fab5 100644 (file)
@@ -5,6 +5,8 @@ require 'Exporter.pm';
 @EXPORT_OK = qw/valid_date convert_date_to_sql/;
 @ISA = qw/Exporter/;
 
+our $VERSION = "1.000";
+
 sub valid_date {
   $_[0] =~ m!^\d+[/-]\d+[/-]\d+$!;
 }
index a074a4c..635aa5a 100644 (file)
@@ -6,6 +6,8 @@ use vars qw(@EXPORT @EXPORT_OK);
 @EXPORT = ();
 @EXPORT_OK = qw(bse_validate bse_validate_hash bse_configure_fields);
 
+our $VERSION = "1.000";
+
 sub bse_validate {
   return dh_validate(@_);
 }
index a78efdb..2643676 100644 (file)
@@ -1,6 +1,8 @@
 package BSE::WebUtil;
 use strict;
 
+our $VERSION = "1.000";
+
 use vars qw(@EXPORT_OK @ISA);
 require Exporter;
 @ISA = qw(Exporter);
index 0a61e65..7103218 100644 (file)
@@ -1,6 +1,8 @@
 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
index 6af6cd9..6f2ccdb 100644 (file)
@@ -1,5 +1,7 @@
 package Courier;
 
+our $VERSION = "1.000";
+
 use strict;
 use LWP::UserAgent;
 
index 4f69e61..63ab0bc 100644 (file)
@@ -1,5 +1,7 @@
 package Courier::AustraliaPost;
 
+our $VERSION = "1.000";
+
 use strict;
 use Courier;
 use BSE::Countries qw(bse_country_code);
index ee64eeb..f52fb33 100644 (file)
@@ -1,5 +1,7 @@
 package Courier::AustraliaPost::Air;
 
+our $VERSION = "1.000";
+
 use strict;
 use Courier::AustraliaPost;
 
index a6e01d3..6186136 100644 (file)
@@ -1,5 +1,7 @@
 package Courier::AustraliaPost::Express;
 
+our $VERSION = "1.000";
+
 use strict;
 use Courier::AustraliaPost;
 
index 32d3e0f..b58fca4 100644 (file)
@@ -1,5 +1,7 @@
 package Courier::AustraliaPost::Sea;
 
+our $VERSION = "1.000";
+
 use strict;
 use Courier::AustraliaPost;
 
index 09140bb..39a32b3 100644 (file)
@@ -1,5 +1,7 @@
 package Courier::AustraliaPost::Standard;
 
+our $VERSION = "1.000";
+
 use strict;
 use Courier::AustraliaPost;
 
index 3c5bcfe..6ba9b77 100644 (file)
@@ -1,5 +1,7 @@
 package Courier::Fastway;
 
+our $VERSION = "1.000";
+
 use strict;
 use Courier;
 use XML::Parser;
index c32281d..da09f17 100644 (file)
@@ -1,5 +1,7 @@
 package Courier::Fastway::Road;
 
+our $VERSION = "1.000";
+
 use strict;
 use Courier::Fastway;
 
index 88f109d..74457a6 100644 (file)
@@ -1,5 +1,7 @@
 package Courier::Fastway::Satchel;
 
+our $VERSION = "1.000";
+
 use strict;
 use Courier::Fastway;
 
index ae968fb..f0681b9 100644 (file)
@@ -1,5 +1,7 @@
 package Courier::Null;
 
+our $VERSION = "1.000";
+
 use strict;
 use Courier;
 
index 2d2d553..b28f864 100644 (file)
@@ -6,6 +6,8 @@ use constant CFG_DEPTH => 5; # unused so far
 use constant CACHE_AGE => 30;
 use constant VAR_DEPTH => 10;
 
+our $VERSION = "1.000";
+
 my %cache;
 
 =head1 NAME
index 4884016..6b3285d 100644 (file)
@@ -13,6 +13,8 @@ use vars qw(@EXPORT_OK %EXPORT_TAGS @ISA);
    sql => [ grep /_sql$/, @EXPORT_OK ],
   );
 
+our $VERSION = "1.000";
+
 use constant SECS_PER_DAY => 24 * 60 * 60;
 
 # for now just a simple date parser
index 9d0bf15..6735216 100644 (file)
@@ -5,6 +5,8 @@ use base 'Exporter';
 @EXPORT_OK = qw(sorter tag_sorthelp);
 use Carp 'confess';
 
+our $VERSION = "1.000";
+
 sub sorter {
   my (%opts) = @_;
   
index fec5975..cfb679f 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use IO::File;
 use File::Copy;
 
+our $VERSION = "1.000";
+
 =head1 NAME
 
   DevHelp::FileUpload - tools to maintain a file upload directory
index 202a304..b293c20 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use DevHelp::HTML;
 use Carp 'confess';
 
+our $VERSION = "1.000";
+
 use constant DEBUG => 0;
 
 sub new {
index 37424fb..cdddd44 100644 (file)
@@ -2,6 +2,8 @@ package DevHelp::HTML;
 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);
index a014e7a..a2ffb9f 100644 (file)
@@ -2,6 +2,8 @@ package DevHelp::LoaderData;
 use strict;
 use Carp 'confess';
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, $file, %opts) = @_;
   
index 5e3e93b..a327356 100644 (file)
@@ -4,6 +4,8 @@ use Carp 'confess';
 use LWP::UserAgent;
 use DevHelp::HTML;
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, $cfg) = @_;
 
index ad93f58..6fba42e 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use Config;
 use Carp 'confess';
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, $cfg) = @_;
 
index e9d3452..0dab84e 100644 (file)
@@ -6,6 +6,8 @@ use POSIX qw(strftime);
 use LWP::UserAgent;
 use XML::Simple;
 
+our $VERSION = "1.000";
+
 my $sequence = 0;
 
 sub new {
index 7744461..459c346 100644 (file)
@@ -2,6 +2,8 @@ package DevHelp::Payments::Test;
 use strict;
 use Carp 'confess';
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, $cfg) = @_;
 
index 590e5a1..847e1fb 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use DevHelp::Tags;
 use DevHelp::HTML qw(escape_html popup_menu escape_uri);
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, $cfg, $section) = @_;
 
index 287caa5..6620e48 100644 (file)
@@ -1,6 +1,8 @@
 package DevHelp::Tags;
 use strict;
 
+our $VERSION = "1.000";
+
 sub make_iterator {
   my ($class, $array, $single, $plural, $saveto) = @_;
 
index 650b0ac..bebd206 100644 (file)
@@ -2,6 +2,8 @@ package DevHelp::Tags::Iterate;
 use strict;
 use Carp qw(confess);
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %opts) = @_;
 
index 418886a..68a1a49 100644 (file)
@@ -6,6 +6,8 @@ use vars qw(@EXPORT_OK @ISA);
 @ISA = qw(Exporter);
 use Carp qw(confess);
 
+our $VERSION = "1.000";
+
 my %built_ins =
   (
    email => 
index 0073c8a..1a5b817 100644 (file)
@@ -11,6 +11,8 @@ use BSE::Util::Iterate;
 use base 'BSE::ThumbLow';
 use base 'BSE::TagFormats';
 
+our $VERSION = "1.000";
+
 my $excerptSize = 300;
 
 sub new {
index 3b93474..6429eee 100644 (file)
@@ -15,6 +15,8 @@ use BSE::Arrows;
 use Carp 'confess';
 use BSE::Util::Iterate;
 
+our $VERSION = "1.000";
+
 my $excerptSize = 300;
 
 my %level_names = map { $_, $LEVEL_DEFAULTS{$_}{display} }
index dc0ad7b..abd24f0 100644 (file)
@@ -1,5 +1,7 @@
 package Generate::Catalog;
 
+our $VERSION = "1.000";
+
 use strict;
 use Generate;
 use Products;
index 003198f..8cd9a64 100644 (file)
@@ -9,6 +9,8 @@ use Carp qw(confess);
 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";
index 6089bc5..3e04f7f 100644 (file)
@@ -5,6 +5,8 @@ use Generate::Article;
 @ISA = qw(Generate::Article);
 use BSE::Util::HTML;
 
+our $VERSION = "1.000";
+
 sub set_user {
   my ($self, $user) = @_;
 
index 4a9c125..0eeabc4 100644 (file)
@@ -5,6 +5,8 @@ use Squirrel::Row;
 use vars qw/@ISA/;
 @ISA = qw/Squirrel::Row/;
 
+our $VERSION = "1.000";
+
 sub columns {
   return qw/id
            delivFirstName delivLastName delivStreet delivSuburb delivState
index 0077f0c..5313599 100644 (file)
@@ -5,6 +5,8 @@ use Squirrel::Row;
 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
index 2aff2ea..1bec6ca 100644 (file)
@@ -4,6 +4,8 @@ use Squirrel::Table;
 use vars qw(@ISA $VERSION);
 @ISA = qw(Squirrel::Table);
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'BSE::TB::OrderItem';
 }
index a99b17e..97ffd0c 100644 (file)
@@ -4,6 +4,8 @@ use Squirrel::Table;
 use vars qw(@ISA $VERSION);
 @ISA = qw(Squirrel::Table);
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'Order';
 }
index f860be8..4f30d51 100644 (file)
@@ -4,6 +4,8 @@ use Squirrel::Row;
 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/;
index d3e8d57..9af936a 100644 (file)
@@ -5,6 +5,8 @@ use vars qw(@ISA $VERSION);
 @ISA = qw(Squirrel::Table);
 use OtherParent;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'OtherParent';
 }
index 2d6b6aa..9ce03ed 100644 (file)
@@ -5,6 +5,8 @@ use Articles;
 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;
index 7fe8fea..98a960f 100644 (file)
@@ -5,6 +5,8 @@ use vars qw(@ISA $VERSION);
 @ISA = qw(Squirrel::Table);
 use Product;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'Product';
 }
index 23836a6..333f23a 100644 (file)
@@ -8,6 +8,8 @@ use Constants qw($SHOP_FROM);
 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";
index 68daa81..3a237b2 100644 (file)
@@ -5,6 +5,8 @@ use vars qw(@ISA $VERSION);
 @ISA = qw(Squirrel::Table);
 use SiteUser;
 
+our $VERSION = "1.000";
+
 sub rowClass {
   return 'SiteUser';
 }
index 1e009fd..38e0802 100644 (file)
@@ -3,6 +3,8 @@ use strict;
 use IO::File;
 use POSIX ();
 
+our $VERSION = "1.000";
+
 sub new {
   return bless {}, $_[0];
 }
index b837f05..b6db752 100644 (file)
@@ -3,6 +3,8 @@ package Squirrel::ImageEditor;
 use strict;
 use Constants qw($TMPLDIR %TEMPLATE_OPTS);
 
+our $VERSION = "1.000";
+
 sub new {
   my ($class, %opts) = @_;
   $opts{message} = '';
index eeb8afa..4afc1f3 100644 (file)
@@ -1,6 +1,8 @@
 package Squirrel::PGP5;
 use strict;
 
+our $VERSION = "1.000";
+
 sub new {
   return bless {}, $_[0];
 }
index 61675f3..a771be0 100644 (file)
@@ -1,6 +1,8 @@
 package Squirrel::PGP6;
 use strict;
 
+our $VERSION = "1.000";
+
 sub new {
   return bless {}, $_[0];
 }
index 2153211..f2c3cac 100644 (file)
@@ -2,6 +2,8 @@ package Squirrel::Row;
 require 5.005;
 use strict;
 
+our $VERSION = "1.000";
+
 use Carp;
 use BSE::DB;
 
index 8aeb138..5a26894 100644 (file)
@@ -1,5 +1,7 @@
 package Squirrel::Table;
 
+our $VERSION = "1.000";
+
 use vars qw($VERSION);
 use Carp;
 use strict;
index 324a0b9..adddf33 100644 (file)
@@ -9,6 +9,8 @@ BEGIN {
   }
 }
 
+our $VERSION = "1.000";
+
 $VERSION="0.09";
 
 sub new {
index 90a4b29..17866b9 100644 (file)
@@ -10,6 +10,8 @@ use Carp qw(confess);
 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) {
diff --git a/site/util/check_versions.pl b/site/util/check_versions.pl
new file mode 100644 (file)
index 0000000..29655c6
--- /dev/null
@@ -0,0 +1,52 @@
+#!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;
+}