From c3f3dc0124a721c4082e0fd54bc5ee677a6170d4 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Mon, 17 Nov 2014 23:15:19 -0500 Subject: [PATCH] Ready for 7.10.30 development --- docs/changelog/7.x.x.txt | 2 + docs/upgrades/upgrade_7.10.29-7.10.30.pl | 126 +++++++++++++++++++++++ lib/WebGUI.pm | 2 +- 3 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 docs/upgrades/upgrade_7.10.29-7.10.30.pl diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 94864204e..459135cb0 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -1,3 +1,5 @@ +7.10.30 + 7.10.29 - fixed #12454: Email to Group ignores the From field - fixed #12455: USPS Ship driver fails diff --git a/docs/upgrades/upgrade_7.10.29-7.10.30.pl b/docs/upgrades/upgrade_7.10.29-7.10.30.pl new file mode 100644 index 000000000..a1d58d48e --- /dev/null +++ b/docs/upgrades/upgrade_7.10.29-7.10.30.pl @@ -0,0 +1,126 @@ +#!/usr/bin/env perl + +#------------------------------------------------------------------- +# WebGUI is Copyright 2001-2009 Plain Black Corporation. +#------------------------------------------------------------------- +# Please read the legal notices (docs/legal.txt) and the license +# (docs/license.txt) that came with this distribution before using +# this software. +#------------------------------------------------------------------- +# http://www.plainblack.com info@plainblack.com +#------------------------------------------------------------------- + +our ($webguiRoot); + +BEGIN { + $webguiRoot = "../.."; + unshift (@INC, $webguiRoot."/lib"); +} + +use strict; +use Getopt::Long; +use WebGUI::Session; +use WebGUI::Storage; +use WebGUI::Asset; + + +my $toVersion = '7.10.30'; +my $quiet; # this line required + + +my $session = start(); # this line required + +# upgrade functions go here + +finish($session); # this line required + + +#---------------------------------------------------------------------------- +# Describe what our function does +#sub exampleFunction { +# my $session = shift; +# print "\tWe're doing some stuff here that you should know about... " unless $quiet; +# # and here's our code +# print "DONE!\n" unless $quiet; +#} + + +# -------------- DO NOT EDIT BELOW THIS LINE -------------------------------- + +#---------------------------------------------------------------------------- +# Add a package to the import node +sub addPackage { + my $session = shift; + my $file = shift; + + print "\tUpgrading package $file\n" unless $quiet; + # Make a storage location for the package + my $storage = WebGUI::Storage->createTemp( $session ); + $storage->addFileFromFilesystem( $file ); + + # Import the package into the import node + my $package = eval { + my $node = WebGUI::Asset->getImportNode($session); + $node->importPackage( $storage, { + overwriteLatest => 1, + clearPackageFlag => 1, + setDefaultTemplate => 1, + } ); + }; + + if ($package eq 'corrupt') { + die "Corrupt package found in $file. Stopping upgrade.\n"; + } + if ($@ || !defined $package) { + die "Error during package import on $file: $@\nStopping upgrade\n."; + } + + return; +} + +#------------------------------------------------- +sub start { + my $configFile; + $|=1; #disable output buffering + GetOptions( + 'configFile=s'=>\$configFile, + 'quiet'=>\$quiet + ); + if ($toVersion eq "0.0.0") { + die "toVersion=$toVersion, aborting upgrade\n"; + } + my $session = WebGUI::Session->open($webguiRoot,$configFile); + $session->user({userId=>3}); + my $versionTag = WebGUI::VersionTag->getWorking($session); + $versionTag->set({name=>"Upgrade to ".$toVersion}); + return $session; +} + +#------------------------------------------------- +sub finish { + my $session = shift; + updateTemplates($session); + my $versionTag = WebGUI::VersionTag->getWorking($session); + $versionTag->commit; + $session->db->write("insert into webguiVersion values (".$session->db->quote($toVersion).",'upgrade',".time().")"); + $session->close(); +} + +#------------------------------------------------- +sub updateTemplates { + my $session = shift; + return undef unless (-d "packages-".$toVersion); + print "\tUpdating packages.\n" unless ($quiet); + opendir(DIR,"packages-".$toVersion); + my @files = readdir(DIR); + closedir(DIR); + my $newFolder = undef; + foreach my $file (@files) { + next unless ($file =~ /\.wgpkg$/); + # Fix the filename to include a path + $file = "packages-" . $toVersion . "/" . $file; + addPackage( $session, $file ); + } +} + +#vim:ft=perl diff --git a/lib/WebGUI.pm b/lib/WebGUI.pm index 4cb8b7bf5..c6f8ce437 100644 --- a/lib/WebGUI.pm +++ b/lib/WebGUI.pm @@ -1,7 +1,7 @@ package WebGUI; -our $VERSION = '7.10.29'; +our $VERSION = '7.10.30'; our $STATUS = 'stable';