diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index fc6d7724e6..55fece932c 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -1,4 +1,16 @@ 7.10.25 + - fixed #12010 related link duplication where links have group view restrictions + - fixed #12297: keywords.form missing from Post template help + - fixed #12321: Error while deleting a group. + - fixed #12322: Cache/CHI stomps on the config file + - fixed #12327: HttpProxy does not clean up cookie jar storage locations + - fixed #12329: FlatDiscount Sku forces you to enter in negative numbers for price + - fixed #12334: Company name with : in it breaks email sender identity + - fixed #12328: invalid wgaccess file in uploads + - RFE: 9730 (actually missing documentation) + - fixed: Crud updateFromFormPost + - fixed: encryptLogin and sslEnabled both need to be true + - fixed: Cache's setByHTTP method returns content, even when it gets an error in the request. This gives the SC asset fits. 7.10.24 - fixed #12318: asset error causes asset manager to fail diff --git a/docs/gotcha.txt b/docs/gotcha.txt index 39cdfb4f80..93f2b1b183 100644 --- a/docs/gotcha.txt +++ b/docs/gotcha.txt @@ -7,6 +7,14 @@ upgrading from one version to the next, or even between multiple versions. Be sure to heed the warnings contained herein as they will save you many hours of grief. +7.10.25 +-------------------------------------------------------------------- + * Custom WebGUI plugins written using WebGUI::Crud with hand built forms + should be reviewed. A serious bug in how Crud handles forms has been fixed, + and the side-effect of the bug is now that forms processed by updateFromFormPost + must include ALL fields, otherwise the data in fields which are missing from the + form will be lost. + 7.10.24 -------------------------------------------------------------------- * WebGUI now depends on Business::OnlinePayment::AuthorizeNet. This version diff --git a/docs/upgrades/upgrade_7.10.21-7.10.22.pl b/docs/upgrades/upgrade_7.10.21-7.10.22.pl index 41f41d6977..3699cd990b 100644 --- a/docs/upgrades/upgrade_7.10.21-7.10.22.pl +++ b/docs/upgrades/upgrade_7.10.21-7.10.22.pl @@ -63,12 +63,14 @@ sub addLinkedProfileAddress { my $session = shift; print "\tAdding linked profile addresses for existing users... " unless $quiet; - my $users = $session->db->buildArrayRef( q{ - select userId from users where userId not in ('1','3') - } ); + my $users = $session->db->read( q{ select userId from users } ); - foreach my $userId (@$users) { + use WebGUI::User; + use WebGUI::Shop::AddressBook; + while (my ($userId) = $users->array()) { #check to see if there is user profile information available + next if $userId eq '1' or $userId eq '3'; + last unless $userId; my $u = WebGUI::User->new($session,$userId); #skip if user does not have any homeAddress fields filled in next unless ( diff --git a/docs/upgrades/upgrade_7.9.34-7.10.22.pl b/docs/upgrades/upgrade_7.9.34-7.10.22.pl index 33cb8dea8a..4ede1410c8 100644 --- a/docs/upgrades/upgrade_7.9.34-7.10.22.pl +++ b/docs/upgrades/upgrade_7.9.34-7.10.22.pl @@ -433,14 +433,15 @@ sub addLinkedProfileAddress { my $session = shift; print "\tAdding linked profile addresses for existing users... " unless $quiet; - my $users = $session->db->buildArrayRef( q{ - select userId from users where userId not in ('1','3') - } ); + my $users = $session->db->read( q{ select userId from users } ); use WebGUI::User; use WebGUI::Shop::AddressBook; - foreach my $userId (@$users) { + + while (my ($userId) = $users->array()) { #check to see if there is user profile information available + next if $userId eq '1' or $userId eq '3'; + last unless $userId; my $u = WebGUI::User->new($session,$userId); #skip if user does not have any homeAddress fields filled in next unless ( diff --git a/etc/WebGUI.conf.original b/etc/WebGUI.conf.original index ee64dc0f88..d87b2af2ad 100644 --- a/etc/WebGUI.conf.original +++ b/etc/WebGUI.conf.original @@ -488,7 +488,7 @@ } }, -# Specify a the list of assets you want to appear in your +# Specify the list of assets you want to appear in your # "New Content" menu categories. See "assetCategories" for details # about categories. Each listing has a key of class name, and then # has several properties, which are: diff --git a/lib/WebGUI/Account/CleanCookieJars.pm b/lib/WebGUI/Account/CleanCookieJars.pm new file mode 100644 index 0000000000..fbc8b02223 --- /dev/null +++ b/lib/WebGUI/Account/CleanCookieJars.pm @@ -0,0 +1,106 @@ +package WebGUI::Workflow::Activity::CleanCookieJars; + + +=head1 LEGAL + + ------------------------------------------------------------------- + WebGUI is Copyright 2001-2012 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 + ------------------------------------------------------------------- + +=cut + +use strict; +use base 'WebGUI::Workflow::Activity'; +use WebGUI::International; +use WebGUI::Storage; +use File::Basename (); +use File::Spec; + +=head1 NAME + +Package WebGUI::Workflow::Activity::CleanCookieJars + +=head1 DESCRIPTION + +Cleans up stale cookie jars + +=head1 SYNOPSIS + +See WebGUI::Workflow::Activity for details on how to use any activity. + +=head1 METHODS + +These methods are available from this class: + +=cut + + +#------------------------------------------------------------------- + +=head2 definition ( session, definition ) + +See WebGUI::Workflow::Activity::defintion() for details. + +=cut + +sub definition { + my $class = shift; + my $session = shift; + my $definition = shift; + my $i18n = WebGUI::International->new( $session, "WorkFlow_Activity_CleanCookieJars" ); + push(@{$definition}, { + name => $i18n->get("activity cleanup cookie jars"), + properties => {} + }); + return $class->SUPER::definition($session,$definition); +} + + +#------------------------------------------------------------------- + +=head2 execute ( ) + +See WebGUI::Workflow::Activity::execute() for details. + +=cut + +sub execute { + my $self = shift; + my $session = $self->session; + # keep track of how much time it's taking + my $start = time; + my $limit = 2_500; # may need tweeking + my $timeLimit = $self->getTTL; + + my $get_proxy = $session->db->read('select assetId, revisionDate, cookieJarStorageId from HttpProxy'); + STORAGEID: while (1) { + my ($assetId, $revisionDate, $storageId,) = $get_proxy->array(); + last STORAGEID unless $storageId; + print "Working on $assetId, $revisionDate, $storageId\n"; + my $storage = WebGUI::Storage->get($session, $storageId); + next unless $storage; + opendir my $directory, $storage->getPath; + FILE: while (my $file = readdir($directory)) { + next FILE if $file =~ /^\./; + my $whole_file = $storage->getPath($file); + if (-M $whole_file >=1) { + unlink $whole_file; + } + $limit--; + last if ! $limit or time > $start + $timeLimit; + } + + } + return $self->WAITING(1) if ! $limit or time > $start + $timeLimit; + return $self->COMPLETE; +} + +1; + + diff --git a/lib/WebGUI/Asset/Event.pm b/lib/WebGUI/Asset/Event.pm index bece1b65fb..b680c7978c 100644 --- a/lib/WebGUI/Asset/Event.pm +++ b/lib/WebGUI/Asset/Event.pm @@ -420,7 +420,7 @@ sub duplicate { my $newAsset = $self->SUPER::duplicate(@_); my $newStorage = $self->getStorageLocation->copy; $newAsset->update({storageId=>$newStorage->getId}); - my $links = $self->getRelatedLinks(); + my $links = $self->getRelatedLinks('nolimit'); my $id = $self->session->id; foreach my $link (@{ $links }) { $link->{new_event} = 1; @@ -1076,12 +1076,16 @@ Gets an arrayref of hashrefs of related links. sub getRelatedLinks { my $self = shift; + my $limitflag = shift || 'yes'; my $sth = $self->session->db->prepare( "SELECT * FROM Event_relatedlink WHERE assetId=? ORDER BY sequenceNumber", ); $sth->execute([ $self->getId ]); + if( $limitflag eq 'nolimit' ) { + return [ map { $sth->hashRef } ( 1..$sth->rows ) ]; + } my @links; while ( my $link = $sth->hashRef ) { diff --git a/lib/WebGUI/Asset/Sku/FlatDiscount.pm b/lib/WebGUI/Asset/Sku/FlatDiscount.pm index 708eeec4a0..d2c95eebeb 100644 --- a/lib/WebGUI/Asset/Sku/FlatDiscount.pm +++ b/lib/WebGUI/Asset/Sku/FlatDiscount.pm @@ -155,7 +155,7 @@ sub getPrice { return $subtotal * $self->get('percentageDiscount') / -100; } else { - return $self->get('priceDiscount'); + return -1 * abs($self->get('priceDiscount')); } } return 0; diff --git a/lib/WebGUI/Asset/Wobject/HttpProxy.pm b/lib/WebGUI/Asset/Wobject/HttpProxy.pm index bb0d062735..3d385a2241 100644 --- a/lib/WebGUI/Asset/Wobject/HttpProxy.pm +++ b/lib/WebGUI/Asset/Wobject/HttpProxy.pm @@ -256,14 +256,36 @@ sub prepareView { =head2 purge -Extend the base method to delete the cookie jar +Extend the base method to delete all cookie jars for this HttpProxy =cut sub purge { + my $self = shift; + my $id = $self->getId; + my $session = $self->session; + my @storageIds = $session->db->buildArray("select cookieJarStorageId from HttpProxy where assetId=?",[$id]); + my $success = $self->SUPER::purge; + return 0 unless $success; + foreach my $storageId (@storageIds) { + my $storage = WebGUI::Storage->get($session, $storageId); + $storage->delete if defined $storage; + } + return 1; +} + +#------------------------------------------------------------------- + +=head2 purgeRevision + +Extend the base method to delete the cookie jar for this revision. + +=cut + +sub purgeRevision { my $self = shift; $self->getCookieJar->delete; - $self->SUPER::purge; + $self->SUPER::purgeRevision; } diff --git a/lib/WebGUI/Auth.pm b/lib/WebGUI/Auth.pm index bfc57518f9..777bea15b9 100644 --- a/lib/WebGUI/Auth.pm +++ b/lib/WebGUI/Auth.pm @@ -589,7 +589,7 @@ sub displayLogin { my $i18n = WebGUI::International->new($self->session); $vars->{title} = $i18n->get(66); my $action; - if ($self->session->setting->get("encryptLogin")) { + if ($self->session->config->get('sslEnabled') && $self->session->setting->get("encryptLogin")) { my $uri = URI->new($self->session->url->page(undef,1)); $uri->scheme('https'); $uri->host_port($uri->host); @@ -924,7 +924,7 @@ sub login { $self->session->http->setRedirect($self->session->setting->get("redirectAfterLoginUrl")); $self->session->scratch->delete("redirectAfterLogin"); } - elsif ($self->session->setting->get('encryptLogin')) { + elsif ($self->session->config->get('sslEnabled') && $self->session->setting->get('encryptLogin')) { my $currentUrl = URI->new($self->session->url->page(undef,1)); $currentUrl->scheme('http'); $currentUrl->port($self->session->config->get('webServerPort') || 80); @@ -1109,7 +1109,7 @@ sub showMessageOnLogin { || $session->url->getBackToSiteURL ; - if ($session->setting->get('encryptLogin') && ( ! $redirectUrl =~ /^http/)) { + if ($self->session->config->get('sslEnabled') && $session->setting->get('encryptLogin') && ( ! $redirectUrl =~ /^http/)) { ##A scheme-less URL has been supplied. We need to make it an absolute one ##with a non-encrypted scheme. Otherwise the user will stay in SSL mode. ##We assume that the user put the gateway URL into their URL. diff --git a/lib/WebGUI/Cache.pm b/lib/WebGUI/Cache.pm index e21984e03c..1a7b826b86 100644 --- a/lib/WebGUI/Cache.pm +++ b/lib/WebGUI/Cache.pm @@ -242,11 +242,11 @@ sub setByHTTP { my $response = $userAgent->request($request); if ($response->is_error) { $self->session->errorHandler->error($url." could not be retrieved."); + return undef; } - else { - $self->set($response->decoded_content,$ttl); - } - return $response->decoded_content; + my $value = $response->decoded_content; + $self->set($value ,$ttl); + return $value; } #------------------------------------------------------------------- diff --git a/lib/WebGUI/Cache/CHI.pm b/lib/WebGUI/Cache/CHI.pm index f976133c9d..b5aa9c6094 100644 --- a/lib/WebGUI/Cache/CHI.pm +++ b/lib/WebGUI/Cache/CHI.pm @@ -3,6 +3,7 @@ package WebGUI::Cache::CHI; use strict; use base 'WebGUI::Cache'; use File::Temp qw/tempdir/; +use Clone qw/clone/; use CHI; =head1 NAME @@ -92,7 +93,7 @@ sub new { # Create CHI object from config my $chi; unless ( $chi = $session->stow->get( "CHI" ) ) { - my $cacheConf = $session->config->get('cache'); + my $cacheConf = clone $session->config->get('cache'); $cacheConf->{namespace} = $namespace; $cacheConf->{is_size_aware} = 1; diff --git a/lib/WebGUI/Crud.pm b/lib/WebGUI/Crud.pm index 305980f7a6..9c502b7f21 100644 --- a/lib/WebGUI/Crud.pm +++ b/lib/WebGUI/Crud.pm @@ -976,7 +976,7 @@ sub update { } # set last updated - $data->{lastUpdated} ||= WebGUI::DateTime->new($session, time())->toDatabase; + $dbData->{lastUpdated} = $data->{lastUpdated} ||= WebGUI::DateTime->new($session, time())->toDatabase; # update memory my $refId = id $self; diff --git a/lib/WebGUI/Group.pm b/lib/WebGUI/Group.pm index 0be656a5b1..590f2ff33c 100644 --- a/lib/WebGUI/Group.pm +++ b/lib/WebGUI/Group.pm @@ -1625,8 +1625,11 @@ sub resetGroupFields { ##Note, I did assets in SQL instead of using the API because you would have to ##instanciate every version of the asset that used the group. This should be much quicker ASSET: foreach my $assetClass ($db->buildArray('SELECT DISTINCT className FROM asset')) { - next ASSET unless $db->quickScalar( "SELECT COUNT(*) FROM asset WHERE className=?", [$assetClass] ); - my $definition = WebGUI::Pluggable::instanciate($assetClass, 'definition', [$session]); + my $definition = eval { WebGUI::Pluggable::instanciate($assetClass, 'definition', [$session]); }; + if ($@) { + $session->log->error("Unable to load className: " . $assetClass . " when looking for asset definitions: " . $@); + next ASSET; + } SUBDEF: foreach my $subdef (@{ $definition }) { next SUBDEF if exists $tableCache->{$subdef->{tableName}}; PROP: while (my ($fieldName, $properties) = each %{ $subdef->{properties} }) { diff --git a/lib/WebGUI/Help/Account.pm b/lib/WebGUI/Help/Account.pm index a173197020..9fb74e4887 100644 --- a/lib/WebGUI/Help/Account.pm +++ b/lib/WebGUI/Help/Account.pm @@ -55,6 +55,7 @@ our $HELP = { isa => [ ], fields => [ ], variables => [ + { name => "profile_user_id", }, { name => "user_full_name", }, { name => "user_member_since", }, { name => "view_profile_url", }, diff --git a/lib/WebGUI/Help/Asset_Post.pm b/lib/WebGUI/Help/Asset_Post.pm index 63758f58b1..0c4ba0a467 100644 --- a/lib/WebGUI/Help/Asset_Post.pm +++ b/lib/WebGUI/Help/Asset_Post.pm @@ -32,6 +32,7 @@ our $HELP = { { 'name' => 'isNewThread' }, { 'name' => 'archive.form' }, { 'name' => 'sticky.form' }, + { 'name' => 'keywords.form' }, { 'name' => 'lock.form' }, { 'name' => 'isThread' }, { 'name' => 'isEdit' }, diff --git a/lib/WebGUI/Macro/L_loginBox.pm b/lib/WebGUI/Macro/L_loginBox.pm index 3599419651..8c4a037411 100644 --- a/lib/WebGUI/Macro/L_loginBox.pm +++ b/lib/WebGUI/Macro/L_loginBox.pm @@ -96,7 +96,7 @@ sub process { } my $action; - if ($session->setting->get("encryptLogin")) { + if ($session->config->get('sslEnabled') && $session->setting->get("encryptLogin")) { my $uri = URI->new($session->url->page(undef,1)); $uri->scheme('https'); $uri->host_port($uri->host); diff --git a/lib/WebGUI/Mail/Send.pm b/lib/WebGUI/Mail/Send.pm index b12386df07..4418aaeb32 100644 --- a/lib/WebGUI/Mail/Send.pm +++ b/lib/WebGUI/Mail/Send.pm @@ -343,7 +343,14 @@ sub create { } } } - my $from = $headers->{from} || $session->setting->get('companyName') . " <".$session->setting->get("companyEmail").">"; + my $from = $headers->{from}; + $from ||= do { + my $CoNa = $session->setting->get('companyName'); + my $CoEm = $session->setting->get("companyEmail"); + $CoNa =~ s/"//g; + qq{"$CoNa" <$CoEm>} + }; + my $type = $headers->{contentType} || "multipart/mixed"; my $replyTo = $headers->{replyTo} || $session->setting->get("mailReturnPath"); diff --git a/lib/WebGUI/URL/Uploads.pm b/lib/WebGUI/URL/Uploads.pm index b17de77dc8..7fc6c9e4fa 100644 --- a/lib/WebGUI/URL/Uploads.pm +++ b/lib/WebGUI/URL/Uploads.pm @@ -69,9 +69,9 @@ sub handler { } else { my $privs = JSON->new->decode($fileContents); - @users = @{ $privs->{users} }; - @groups = @{ $privs->{groups} }; - @assets = @{ $privs->{assets} }; + @users = @{ $privs->{users} || [] }; + @groups = @{ $privs->{groups} || [] }; + @assets = @{ $privs->{assets} || [] }; $state = $privs->{state}; } diff --git a/lib/WebGUI/i18n/English/Account.pm b/lib/WebGUI/i18n/English/Account.pm index 2c239d01f8..271210eaa4 100644 --- a/lib/WebGUI/i18n/English/Account.pm +++ b/lib/WebGUI/i18n/English/Account.pm @@ -21,12 +21,18 @@ our $I18N = { lastUpdated => 1230844137, }, - 'user_full_name' => { - message => q{The full name of the user}, + 'profile_user_id' => { + message => q{The userId of the user whose account is being viewed.}, context => q{template variable}, lastUpdated => 1230844137, }, + 'user_full_name' => { + message => q{The full name of the user whose account is being viewed}, + context => q{template variable}, + lastUpdated => 1330588033, + }, + 'user_member_since' => { message => q{The date this user created their account on the site, in epoch format. Use the Date macro to change the format.}, context => q{template variable}, diff --git a/lib/WebGUI/i18n/English/Asset_Post.pm b/lib/WebGUI/i18n/English/Asset_Post.pm index 786bd0132f..48ed484784 100644 --- a/lib/WebGUI/i18n/English/Asset_Post.pm +++ b/lib/WebGUI/i18n/English/Asset_Post.pm @@ -69,6 +69,11 @@ editing an existing Post.|, lastUpdated => 1149829706, }, + 'keywords.form' => { + message => q|A text input box to enter keywords.|, + lastUpdated => 1149829706, + }, + 'sticky.form' => { message => q|A yes/no button to set the thread to be sticky, so that it stays at the top of the forum listing.|, lastUpdated => 1149829706, diff --git a/lib/WebGUI/i18n/English/Workflow_Activity_CleanCookieJars.pm b/lib/WebGUI/i18n/English/Workflow_Activity_CleanCookieJars.pm new file mode 100644 index 0000000000..2cf528b2aa --- /dev/null +++ b/lib/WebGUI/i18n/English/Workflow_Activity_CleanCookieJars.pm @@ -0,0 +1,19 @@ +package WebGUI::i18n::English::Workflow_Activity_CleanCookieJars; +use strict; + +our $I18N = { + 'activity cleanup cookie jars' => { + message => q|Clean Stale Cookie-Jar Files|, + context => q|The name of this workflow activity.|, + lastUpdated => 0, + }, + +# 'activityName' => { +# message => q|Clean Temp Storage|, +# context => q|The name of this workflow activity.|, +# lastUpdated => 0, +# }, + +}; + +1; diff --git a/sbin/findBrokenAssets.pl b/sbin/findBrokenAssets.pl index 226b9b087c..eda774bc0b 100644 --- a/sbin/findBrokenAssets.pl +++ b/sbin/findBrokenAssets.pl @@ -112,13 +112,13 @@ sub progress { my $asset = WebGUI::Asset->newByDynamicClass( $session, $row{assetId} ); # Make sure we have a valid parent - unless ( $asset && WebGUI::Asset->newByDynamicClass( $session, $row{parentId} ) ) { - $asset->setParent( WebGUI::Asset->getImportNode( $session ) ); - print "\tNOTE: Invalid parent. Asset moved to Import Node\n"; - } if (!$asset) { print "\tWARNING. Asset is still broken.\n"; } + elsif (! WebGUI::Asset->newByDynamicClass( $session, $row{parentId} )) { + $asset->setParent( WebGUI::Asset->getImportNode( $session ) ); + print "\tNOTE: Invalid parent. Asset moved to Import Node\n"; + } } ## end if ($fix) elsif ($delete) { @@ -260,20 +260,25 @@ sub progress { } else { my $storage = $file_asset->getStorageLocation; - my $file = $storage->getPath($file_asset->get('filename')); - if (! -e $file) { - printf "\r%-s", "-- Broken file asset: ".$file_asset->getId." file does not exist: $file"; - if ($delete) { - my $success = $file_asset->purge; - if ($success) { - print "Purged File Asset"; - } - else { - print "Could not purge File Asset"; + if (! $storage) { + printf "\r%-s", "-- No storage location: ".$file_asset->getId." storageId: ".$file_asset->get('storageId'); + } + else { + my $file = $storage->getPath($file_asset->get('filename')); + if (! -e $file) { + printf "\r%-s", "-- Broken file asset: ".$file_asset->getId." file does not exist: $file"; + if ($delete) { + my $success = $file_asset->purge; + if ($success) { + print "Purged File Asset"; + } + else { + print "Could not purge File Asset"; + } } } - print "\n"; } + print "\n"; } progress( $file_assets, $count++ ) unless $no_progress; } diff --git a/t/Asset/Event.t b/t/Asset/Event.t index a67b73ef7f..1b6705c588 100644 --- a/t/Asset/Event.t +++ b/t/Asset/Event.t @@ -16,7 +16,8 @@ use WebGUI::Test; use Test::More; # increment this value for each test you create use Test::Deep; -plan tests => 30; + +plan tests => 31; use WebGUI::Session; use WebGUI::Storage; @@ -172,10 +173,11 @@ $event6->setRelatedLinks([ sequenceNumber => 2, linkurl => 'http://www.somewhere.com', linktext => 'Another great link', - groupIdView => '7', + groupIdView => '2', eventlinkId => '28', }, ]); +$session->user({userId => 3}); # admin can see all the links cmp_deeply( $event6->getRelatedLinks(), [{ @@ -190,12 +192,25 @@ cmp_deeply( sequenceNumber => 2, linkURL => 'http://www.somewhere.com', linktext => 'Another great link', - groupIdView => '7', + groupIdView => '2', eventlinkId => '28', assetId => $event6->getId, }], 'related links stored in the database correctly' ); +$session->user({userId => 1}); # visitor can only see one link +cmp_deeply( + $event6->getRelatedLinks(), + [{ + sequenceNumber => 1, + linkURL => 'http://www.nowhere.com', + linktext => 'Great link', + groupIdView => '7', + eventlinkId => '27', + assetId => $event6->getId, + }], + 'related links:user access restriction works' +); ####################################### # @@ -206,6 +221,7 @@ cmp_deeply( my $event6b = $event6->duplicate(); ok($session->id->valid($event6b->get('storageId')), 'duplicated event got a valid storageId'); isnt($event6b->get('storageId'), $event6->get('storageId'), 'duplicating an asset creates a new storage location'); +$session->user({userId => 3}); # admin can see all the links cmp_deeply( $event6b->getRelatedLinks(), [{ @@ -220,12 +236,13 @@ cmp_deeply( sequenceNumber => 2, linkURL => 'http://www.somewhere.com', linktext => 'Another great link', - groupIdView => '7', + groupIdView => '2', eventlinkId => ignore(), assetId => $event6b->getId, }], 'duplicated event has relatedLinks' ); +$session->user({userId => 1}); # run remaining tests as visitor ####################################### # diff --git a/t/Macro/L_loginBox.t b/t/Macro/L_loginBox.t index 78c7c6c87a..71772c773f 100644 --- a/t/Macro/L_loginBox.t +++ b/t/Macro/L_loginBox.t @@ -150,6 +150,8 @@ is($url2, $session->url->page("op=auth;method=logout"), "templated custom text, ##Change settings to use encrypt login and verify which links use https. $session->setting->set("encryptLogin", 1); +WebGUI::Test->originalConfig('sslEnabled'); +$session->config->set('sslEnabled', 1); $output = WebGUI::Macro::L_loginBox::process($session,'','',$template->getId); %vars = simpleTextParser($output); diff --git a/t/Shop/ShipDriver/USPSInternational.t b/t/Shop/ShipDriver/USPSInternational.t index 06f1fc07b9..787f2674fb 100644 --- a/t/Shop/ShipDriver/USPSInternational.t +++ b/t/Shop/ShipDriver/USPSInternational.t @@ -341,13 +341,13 @@ SKIP: { SvcCommitments => ignore(), SvcDescription => ignore(), }, - (ignore())x20, + (ignore())x21, ], }, ], }, '... returned data from USPS in correct format. If this test fails, the driver may need to be updated' - ); + ) or diag Dumper $xmlData; } my $cost = $driver->_calculateFromXML(