Ready for 7.10.29 development.
This commit is contained in:
commit
c806f99b7b
4236 changed files with 1217679 additions and 0 deletions
463
lib/WebGUI/Wizard/HomePage.pm
Normal file
463
lib/WebGUI/Wizard/HomePage.pm
Normal file
|
|
@ -0,0 +1,463 @@
|
|||
package WebGUI::Wizard::HomePage;
|
||||
|
||||
use strict;
|
||||
use base 'WebGUI::Wizard';
|
||||
|
||||
=head1 NAME
|
||||
|
||||
WebGUI::Wizard::HomePage - Create or replace a Home Page with new content
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
The HomePage wizard will create a new home page with a given style and with
|
||||
the desired types of content.
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=cut
|
||||
|
||||
sub _get_steps {
|
||||
return [ qw(
|
||||
pickStyle
|
||||
chooseContent
|
||||
)
|
||||
];
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 addAsset ( parent, properties )
|
||||
|
||||
A helper to add assets with less code.
|
||||
|
||||
=head3 parent
|
||||
|
||||
The parent asset to add to.
|
||||
|
||||
=head3 properties
|
||||
|
||||
A hash ref of properties to attach to the asset. One must be className.
|
||||
|
||||
=cut
|
||||
|
||||
sub addAsset {
|
||||
my $parent = shift;
|
||||
my $properties = shift;
|
||||
$properties->{url} = $parent->get("url") . "/" . $properties->{title};
|
||||
$properties->{groupIdEdit} = $parent->get("groupIdEdit");
|
||||
$properties->{groupIdView} = $parent->get("groupIdView");
|
||||
$properties->{ownerUserId} = $parent->get("ownerUserId");
|
||||
$properties->{styleTemplateId} = $parent->get("styleTemplateId");
|
||||
$properties->{printableStyleTemplateId} = $parent->get("styleTemplateId");
|
||||
return $parent->addChild($properties);
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 addPage ( parent, title )
|
||||
|
||||
Adds a page to a parent page.
|
||||
|
||||
=head3 parent
|
||||
|
||||
A parent page asset.
|
||||
|
||||
=head3 title
|
||||
|
||||
The title of the new page.
|
||||
|
||||
=cut
|
||||
|
||||
sub addPage {
|
||||
my $parent = shift;
|
||||
my $title = shift;
|
||||
return addAsset( $parent, { title => $title, className => "WebGUI::Asset::Wobject::Layout", displayTitle => 0 } );
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
=head2 canView ( )
|
||||
|
||||
A user can view this wizard if they are an Admin
|
||||
|
||||
=cut
|
||||
|
||||
sub canView {
|
||||
my ( $self ) = @_;
|
||||
return $self->session->user->isAdmin;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
=head2 updateDefaultStyle ( styleTemplateId [, asset ])
|
||||
|
||||
Update the default style to the given style template. If an asset is given,
|
||||
also update all descendants of that asset.
|
||||
|
||||
=cut
|
||||
|
||||
sub updateDefaultStyle {
|
||||
my ( $self, $styleTemplateId, $home ) = @_;
|
||||
my $session = $self->session;
|
||||
|
||||
# WebGUI::Account modules cannot be introspected, so we hard-code the default set here
|
||||
my @settingStyles = qw( userFunctionStyleId contribStyleTemplateId fmStyleTemplateId
|
||||
friendsStyleTemplateId inboxStyleTemplateId profileStyleTemplateId
|
||||
shopStyleTemplateId userAccountStyleTemplateId );
|
||||
for my $setting ( @settingStyles ) {
|
||||
$session->setting->set( $setting, $styleTemplateId );
|
||||
}
|
||||
|
||||
# update default content styles
|
||||
if ( $home ) {
|
||||
my $assetIter = $home->getLineageIterator( [ "self", "descendants" ] );
|
||||
while ( 1 ) {
|
||||
my $asset;
|
||||
eval { $asset = $assetIter->() };
|
||||
if ( my $x = WebGUI::Error->caught('WebGUI::Error::ObjectNotFound') ) {
|
||||
$session->log->error($x->full_message);
|
||||
next;
|
||||
}
|
||||
last unless $asset;
|
||||
$asset->update( { styleTemplateId => $styleTemplateId } );
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
=head2 wrapStyle ( $output )
|
||||
|
||||
Wrap the output in the wizard style.
|
||||
|
||||
=cut
|
||||
|
||||
sub wrapStyle {
|
||||
return WebGUI::Wizard::Setup::wrapStyle( @_ );
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
=head2 www_pickStyle ( )
|
||||
|
||||
Choose the style for the new home page
|
||||
|
||||
=cut
|
||||
|
||||
sub www_pickStyle {
|
||||
my ( $self ) = @_;
|
||||
my $session = $self->session;
|
||||
my $f = $self->getForm;
|
||||
my $i18n = WebGUI::International->new( $session, "WebGUI" );
|
||||
|
||||
my $output = '<h1>' . $i18n->get('pick style') . '</h1>'
|
||||
. '<p>' . $i18n->get('pick style description') . '</p>';
|
||||
|
||||
my @styleIds
|
||||
= $session->db->buildArray(
|
||||
q{SELECT DISTINCT(assetId) FROM template WHERE namespace="style"}
|
||||
);
|
||||
|
||||
# Verboten:
|
||||
# PBtmpl0000000000000060
|
||||
# PBtmpl0000000000000111
|
||||
# PBtmpl0000000000000137
|
||||
# PBtmpl0000000000000132
|
||||
|
||||
# Blank style:
|
||||
# PBtmplBlankStyle000001
|
||||
my @skipStyleIds = qw( PBtmpl0000000000000060 PBtmpl0000000000000111 PBtmpl0000000000000137
|
||||
PBtmpl0000000000000132 PBtmplBlankStyle000001 );
|
||||
|
||||
# Instantiate the objects
|
||||
my @styles;
|
||||
for my $styleId ( @styleIds ) {
|
||||
next if grep { $_ eq $styleId } @skipStyleIds;
|
||||
my $style = WebGUI::Asset->newByDynamicClass( $session, $styleId );
|
||||
push @styles, $style;
|
||||
}
|
||||
|
||||
my $row = 0;
|
||||
for my $style ( sort { $a->getTitle cmp $b->getTitle } @styles ) {
|
||||
my $class = ++$row % 2 ? " odd" : "";
|
||||
|
||||
# Prepare the synopsis
|
||||
my $synopsis = $style->get('synopsis');
|
||||
$synopsis =~ s{(https?://\S+)}{<a href="$1">$1</a>}g;
|
||||
$synopsis = WebGUI::HTML::format( $synopsis );
|
||||
|
||||
$f->raw(
|
||||
'<div class="stylePicker' . $class . '"><label><input type="radio" name="styleTemplateId" value="' . $style->getId . '"/>'
|
||||
. '<img src="' . $style->getExampleImageUrl . '" height="150" />'
|
||||
. '<div class="title">' . $style->getTitle . '</div>'
|
||||
. '<div class="synopsis">' . $synopsis . '</div></label>'
|
||||
. '</div>'
|
||||
);
|
||||
}
|
||||
$f->submit;
|
||||
|
||||
$output .= $f->print;
|
||||
|
||||
return $output . '<div style="clear: both;"> </div>';
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
=head2 www_pickStyleSave ( )
|
||||
|
||||
Store the style to use later when we create the content
|
||||
|
||||
=cut
|
||||
|
||||
sub www_pickStyleSave {
|
||||
my ( $self ) = @_;
|
||||
my $session = $self->session;
|
||||
my ( $form ) = $session->quick(qw( form ));
|
||||
|
||||
# Coming from initial setup:
|
||||
if ( $form->get('initialSetup') ) {
|
||||
$self->set({ initialSetup => 1 });
|
||||
}
|
||||
|
||||
$self->set({ "styleTemplateId", $form->get('styleTemplateId') });
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
=head2 www_chooseContent ( )
|
||||
|
||||
Choose and configure the content on the home page
|
||||
|
||||
=cut
|
||||
|
||||
sub www_chooseContent {
|
||||
my ($self) = @_;
|
||||
my $session = $self->session;
|
||||
my $form = $session->form;
|
||||
$session->http->setCacheControl("none");
|
||||
my $i18n = WebGUI::International->new( $session, "WebGUI" );
|
||||
|
||||
my $output = '<h1>' . $i18n->get('Initial Pages') . '</h1>';
|
||||
|
||||
my $f = $self->getForm;
|
||||
$f->yesNo( name => "contactUs", label => $i18n->get('Contact Us') );
|
||||
$f->yesNo( name => "calendar", label => $i18n->get( "assetName", 'Asset_Calendar' ) );
|
||||
$f->yesNo( name => "wiki", label => $i18n->get( 'assetName', 'Asset_WikiMaster' ) );
|
||||
$f->yesNo( name => "search", label => $i18n->get( "assetName", 'Asset_Search' ) );
|
||||
$f->yesNo( name => "aboutUs", label => $i18n->get("About Us") );
|
||||
$f->HTMLArea(
|
||||
name => "aboutUsContent",
|
||||
richEditId => "PBrichedit000000000002",
|
||||
value => $i18n->get("Put your about us content here.")
|
||||
);
|
||||
|
||||
if ( exists $session->config->get('assets')->{"WebGUI::Asset::Wobject::Collaboration"} ) {
|
||||
$f->yesNo( name => "news", label => $i18n->get(357) );
|
||||
$f->yesNo( name => "forums", label => $i18n->get("Forums") );
|
||||
$f->textarea(
|
||||
name => "forumNames",
|
||||
subtext => $i18n->get("One forum name per line"),
|
||||
value => $i18n->get("Support") . "\n" . $i18n->get("General Discussion")
|
||||
);
|
||||
}
|
||||
$f->submit;
|
||||
$output .= $f->print;
|
||||
|
||||
return $output;
|
||||
} ## end sub www_chooseContent
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
=head2 www_chooseContentSave ( )
|
||||
|
||||
Create the new content with the correct style.
|
||||
|
||||
=cut
|
||||
|
||||
sub www_chooseContentSave {
|
||||
my ($self) = @_;
|
||||
my $session = $self->session;
|
||||
my $form = $session->form;
|
||||
my $i18n = WebGUI::International->new( $session, "WebGUI" );
|
||||
|
||||
my $home;
|
||||
if ( $self->get('initialSetup') ) {
|
||||
$home = WebGUI::Asset->getDefault($session);
|
||||
}
|
||||
else {
|
||||
my $root = WebGUI::Asset->getRoot($session);
|
||||
$home = addPage( $root, "New Home Page" );
|
||||
}
|
||||
|
||||
# update default site style
|
||||
$self->updateDefaultStyle( $self->get('styleTemplateId'), $home );
|
||||
|
||||
# add new pages
|
||||
if ( $form->get("aboutUs") ) {
|
||||
my $page = addPage( $home, $i18n->get("About Us") );
|
||||
addAsset(
|
||||
$page, {
|
||||
title => $i18n->get("About Us"),
|
||||
isHidden => 1,
|
||||
className => "WebGUI::Asset::Wobject::Article",
|
||||
description => $form->get("aboutUsContent"),
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
# add forums
|
||||
if ( $form->get("forums") ) {
|
||||
my $page = addPage( $home, $i18n->get("Forums") );
|
||||
my $board = addAsset(
|
||||
$page, {
|
||||
title => $i18n->get("Forums"),
|
||||
isHidden => 1,
|
||||
className => "WebGUI::Asset::Wobject::MessageBoard",
|
||||
description => $i18n->get("Discuss your ideas and get help from our community."),
|
||||
}
|
||||
);
|
||||
my $forumNames = $form->get("forumNames");
|
||||
$forumNames =~ s/\r//g;
|
||||
foreach my $forumName ( split "\n", $forumNames ) {
|
||||
next if $forumName eq "";
|
||||
addAsset(
|
||||
$board, {
|
||||
title => $forumName,
|
||||
isHidden => 1,
|
||||
className => "WebGUI::Asset::Wobject::Collaboration"
|
||||
}
|
||||
);
|
||||
}
|
||||
} ## end if ( $form->get("forums"...))
|
||||
|
||||
# add news
|
||||
if ( $form->get("news") ) {
|
||||
my $page = addPage( $home, $i18n->get(357) );
|
||||
addAsset(
|
||||
$page, {
|
||||
title => $i18n->get(357),
|
||||
isHidden => 1,
|
||||
className => "WebGUI::Asset::Wobject::Collaboration",
|
||||
collaborationTemplateId => "PBtmpl0000000000000112",
|
||||
allowReplies => 0,
|
||||
attachmentsPerPost => 5,
|
||||
postFormTemplateId => "PBtmpl0000000000000068",
|
||||
threadTemplateId => "PBtmpl0000000000000067",
|
||||
description => $i18n->get("All the news you need to know."),
|
||||
}
|
||||
);
|
||||
} ## end if ( $form->get("news"...))
|
||||
|
||||
# add wiki
|
||||
if ( $form->get("wiki") ) {
|
||||
my $page = addPage( $home, $i18n->get( "assetName", 'Asset_WikiMaster' ) );
|
||||
addAsset(
|
||||
$page, {
|
||||
title => $i18n->get( "assetName", 'Asset_WikiMaster' ),
|
||||
isHidden => 1,
|
||||
allowAttachments => 5,
|
||||
className => "WebGUI::Asset::Wobject::WikiMaster",
|
||||
description => $i18n->get("Welcome to our wiki. Here you can help us keep information up to date."),
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
# add calendar
|
||||
if ( $form->get("calendar") ) {
|
||||
my $page = addPage( $home, $i18n->get( 'assetName', "Asset_Calendar" ) );
|
||||
addAsset(
|
||||
$page, {
|
||||
title => $i18n->get( 'assetName', "Asset_Calendar" ),
|
||||
isHidden => 1,
|
||||
className => "WebGUI::Asset::Wobject::Calendar",
|
||||
description => $i18n->get("Check out what is going on."),
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
# add contact us
|
||||
if ( $form->get("contactUs") ) {
|
||||
my $page = addPage( $home, $i18n->get("Contact Us") );
|
||||
my $i18n2 = WebGUI::International->new( $session, "Asset_DataForm" );
|
||||
my @fieldConfig = ( {
|
||||
name => "from",
|
||||
label => $i18n2->get( "Your Email Address", 'WebGUI' ),
|
||||
status => "required",
|
||||
isMailField => 1,
|
||||
width => 0,
|
||||
type => "email",
|
||||
}, {name => "to",
|
||||
label => $i18n2->get(11),
|
||||
status => "hidden",
|
||||
isMailField => 1,
|
||||
width => 0,
|
||||
type => "email",
|
||||
defaultValue => $session->setting->get("companyEmail"),
|
||||
}, {name => "cc",
|
||||
label => $i18n2->get(12),
|
||||
status => "hidden",
|
||||
isMailField => 1,
|
||||
width => 0,
|
||||
type => "email",
|
||||
}, {name => "bcc",
|
||||
label => $i18n2->get(13),
|
||||
status => "hidden",
|
||||
isMailField => 1,
|
||||
width => 0,
|
||||
type => "email",
|
||||
}, {name => "subject",
|
||||
label => $i18n2->get(14),
|
||||
status => "hidden",
|
||||
isMailField => 1,
|
||||
width => 0,
|
||||
type => "text",
|
||||
defaultValue => $i18n->get(2),
|
||||
}, {name => "comments",
|
||||
label => $i18n->get( "comments", 'VersionTag' ),
|
||||
status => "required",
|
||||
type => "textarea",
|
||||
subtext => $i18n->get("Tell us how we can assist you."),
|
||||
},
|
||||
);
|
||||
my $dataForm = addAsset(
|
||||
$page, {
|
||||
title => $i18n->get("Contact Us"),
|
||||
isHidden => 1,
|
||||
className => "WebGUI::Asset::Wobject::DataForm",
|
||||
description => $i18n->get("We welcome your feedback."),
|
||||
acknowledgement =>
|
||||
$i18n->get("Thanks for for your interest in ^c;. We will review your message shortly."),
|
||||
mailData => 1,
|
||||
fieldConfiguration => JSON->new->encode( \@fieldConfig ),
|
||||
}
|
||||
);
|
||||
} ## end if ( $form->get("contactUs"...))
|
||||
|
||||
# add search
|
||||
if ( $form->get("search") ) {
|
||||
my $page = addPage( $home, $i18n->get( 'assetName', "Asset_Search" ) );
|
||||
addAsset(
|
||||
$page, {
|
||||
title => $i18n->get( 'assetName', "Asset_Search" ),
|
||||
isHidden => 1,
|
||||
className => "WebGUI::Asset::Wobject::Search",
|
||||
description => $i18n->get("Cannot find what you are looking for? Try our search."),
|
||||
searchRoot => $home->getId,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
# commit the working tag
|
||||
my $working = WebGUI::VersionTag->getWorking($session);
|
||||
$working->set( { name => "Home Page Wizard" } );
|
||||
$working->commit;
|
||||
|
||||
return;
|
||||
} ## end sub www_chooseContentSave
|
||||
|
||||
|
||||
1;
|
||||
410
lib/WebGUI/Wizard/Setup.pm
Normal file
410
lib/WebGUI/Wizard/Setup.pm
Normal file
|
|
@ -0,0 +1,410 @@
|
|||
package WebGUI::Wizard::Setup;
|
||||
|
||||
use strict;
|
||||
use base 'WebGUI::Wizard';
|
||||
|
||||
=head1 NAME
|
||||
|
||||
WebGUI::Wizard::Setup -- Initial site setup
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
A WebGUI::Wizard to perform initial site setup tasks like defining the Admin
|
||||
account, entering basic information, and choosing a default style.
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=cut
|
||||
|
||||
sub _get_steps {
|
||||
return [qw(
|
||||
adminAccount
|
||||
companyInformation
|
||||
siteStats
|
||||
defaultStyle
|
||||
)];
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
=head2 canView ( )
|
||||
|
||||
A user can view this wizard if the site is newly created or if they are the
|
||||
admin user
|
||||
|
||||
=cut
|
||||
|
||||
sub canView {
|
||||
my ( $self ) = @_;
|
||||
my $session = $self->session;
|
||||
|
||||
# Only specialState="init" or admin user
|
||||
return $session->setting->get('specialState') eq 'init'
|
||||
|| $session->user->getId eq '3';
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
=head2 wrapStyle ( $output )
|
||||
|
||||
Wrap the output in the wizard style.
|
||||
|
||||
=cut
|
||||
|
||||
sub wrapStyle {
|
||||
my ( $self, $output ) = @_;
|
||||
my $session = $self->session;
|
||||
my $form = $session->form;
|
||||
$session->http->setCacheControl("none");
|
||||
my $i18n = WebGUI::International->new( $session, "WebGUI" );
|
||||
my $page = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>' . $i18n->get('WebGUI Initial Configuration') . '</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<script type="text/javascript">
|
||||
function getWebguiProperty (propName) {
|
||||
var props = new Array();
|
||||
props["extrasURL"] = "' . $session->url->extras() . '";
|
||||
props["pageURL"] = "' . $session->url->page( undef, undef, 1 ) . '";
|
||||
return props[propName];
|
||||
}
|
||||
</script>
|
||||
' . $session->style->generateAdditionalHeadTags . '
|
||||
<style type="text/css">
|
||||
body {
|
||||
margin-top: 120px;
|
||||
margin-left: 5%;
|
||||
margin-right: 5%;
|
||||
background-color: #ccf;
|
||||
}
|
||||
|
||||
h1 {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
padding-left: 120px;
|
||||
|
||||
background: url(' . $session->url->extras('wg.png') . ') no-repeat;
|
||||
line-height: 100px;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
background-color: white;
|
||||
border: 1px solid black;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.stylePicker img {
|
||||
margin: 1em 0;
|
||||
float: right;
|
||||
}
|
||||
.stylePicker {
|
||||
overflow: hidden;
|
||||
clear: both;
|
||||
}
|
||||
.stylePicker.odd {
|
||||
background-color: #eee;
|
||||
}
|
||||
.stylePicker input {
|
||||
float: left;
|
||||
}
|
||||
.stylePicker .title {
|
||||
font-size: larger;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body><div id="wrapper"> ' . $output . ' </div></body>
|
||||
</html>';
|
||||
$session->http->setMimeType("text/html");
|
||||
return $page;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
=head2 www_adminAccount ( )
|
||||
|
||||
Display the form to configure the admin account
|
||||
|
||||
=cut
|
||||
|
||||
sub www_adminAccount {
|
||||
my ( $self ) = @_;
|
||||
my $session = $self->session;
|
||||
my $form = $session->form;
|
||||
$session->http->setCacheControl("none");
|
||||
my $i18n = WebGUI::International->new( $session, "WebGUI" );
|
||||
|
||||
my $legend = $i18n->get('admin account');
|
||||
my $u = WebGUI::User->new( $session, '3' );
|
||||
my $f = $self->getForm;
|
||||
$f->text(
|
||||
-name => "username",
|
||||
-value => $u->username,
|
||||
-label => $i18n->get(50),
|
||||
-hoverHelp => $i18n->get('50 setup description'),
|
||||
);
|
||||
$f->text(
|
||||
-name => "identifier",
|
||||
-value => "123qwe",
|
||||
-label => $i18n->get(51),
|
||||
-hoverHelp => $i18n->get('51 description'),
|
||||
-subtext => '<div style=\"font-size: 10px;\">(' . $i18n->get("password clear text") . ')</div>'
|
||||
);
|
||||
$f->email(
|
||||
-name => "email",
|
||||
-value => $u->profileField("email"),
|
||||
-label => $i18n->get(56),
|
||||
-hoverHelp => $i18n->get('56 description'),
|
||||
);
|
||||
$f->timeZone(
|
||||
-name => "timeZone",
|
||||
-value => $u->profileField("timeZone"),
|
||||
-label => $i18n->get( 'timezone', 'DateTime' ),
|
||||
-hoverHelp => $i18n->get('timezone help'),
|
||||
);
|
||||
$f->selectBox(
|
||||
-name => "language",
|
||||
-value => $u->profileField("language"),
|
||||
-label => $i18n->get('304'),
|
||||
-hoverHelp => $i18n->get('language help'),
|
||||
-options => $i18n->getLanguages(),
|
||||
);
|
||||
$f->submit;
|
||||
return '<h1>' . $legend . '</h1>' . $f->print;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
=head2 www_adminAccountSave ( )
|
||||
|
||||
Process the form and update the Admin account
|
||||
|
||||
=cut
|
||||
|
||||
sub www_adminAccountSave {
|
||||
my ( $self ) = @_;
|
||||
my $session = $self->session;
|
||||
my $form = $session->form;
|
||||
|
||||
my $timezone = $form->timeZone("timeZone");
|
||||
my $language = $form->selectBox("language");
|
||||
|
||||
##update Admin and Visitor users
|
||||
my $u = WebGUI::User->new( $session, "3" );
|
||||
$u->username( $form->process( "username", "text", "Admin" ) );
|
||||
$u->profileField( "email", $form->email("email") );
|
||||
$u->profileField( "timeZone", $timezone );
|
||||
$u->profileField( "language", $language );
|
||||
$u->identifier( Digest::MD5::md5_base64( $form->process( "identifier", "password", "123qwe" ) ) );
|
||||
# The user is now Admin
|
||||
$session->user({ userId => "3" });
|
||||
|
||||
$u = WebGUI::User->new( $session, "1" );
|
||||
$u->profileField( "timeZone", $timezone );
|
||||
$u->profileField( "language", $language );
|
||||
|
||||
##update ProfileField defaults so new users the get the defaults, too
|
||||
my $properties;
|
||||
|
||||
my $zoneField = WebGUI::ProfileField->new( $session, 'timeZone' );
|
||||
$properties = $zoneField->get();
|
||||
$properties->{dataDefault} = $timezone;
|
||||
$zoneField->set($properties);
|
||||
|
||||
my $languageField = WebGUI::ProfileField->new( $session, 'language' );
|
||||
$properties = $languageField->get();
|
||||
$properties->{dataDefault} = $language;
|
||||
$languageField->set($properties);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
=head2 www_companyInformation ( )
|
||||
|
||||
Enter basic company information
|
||||
|
||||
=cut
|
||||
|
||||
sub www_companyInformation {
|
||||
my ( $self ) = @_;
|
||||
my $session = $self->session;
|
||||
my $form = $session->form;
|
||||
$session->http->setCacheControl("none");
|
||||
my $i18n = WebGUI::International->new( $session, "WebGUI" );
|
||||
|
||||
my $output = '<h1>' . $i18n->get('company information') . '</h1>';
|
||||
|
||||
my $f = $self->getForm;
|
||||
$f->hidden( name => "step", value => "3" );
|
||||
$f->text(
|
||||
name => "companyName",
|
||||
value => $session->setting->get("companyName"),
|
||||
label => $i18n->get(125),
|
||||
hoverHelp => $i18n->get('125 description'),
|
||||
);
|
||||
$f->email(
|
||||
name => "companyEmail",
|
||||
value => $session->setting->get("companyEmail"),
|
||||
label => $i18n->get(126),
|
||||
hoverHelp => $i18n->get('126 description'),
|
||||
);
|
||||
$f->url(
|
||||
name => "companyURL",
|
||||
value => $session->setting->get("companyURL"),
|
||||
label => $i18n->get(127),
|
||||
hoverHelp => $i18n->get('127 description'),
|
||||
);
|
||||
$f->submit;
|
||||
$output .= $f->print;
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
=head2 www_companyInformationSave ( )
|
||||
|
||||
Update the company information
|
||||
|
||||
=cut
|
||||
|
||||
sub www_companyInformationSave {
|
||||
my ( $self ) = @_;
|
||||
my $session = $self->session;
|
||||
my $form = $session->form;
|
||||
$session->setting->set( 'companyName', $form->text("companyName") ) if ( $form->get("companyName") );
|
||||
$session->setting->set( 'companyURL', $form->url("companyURL") ) if ( $form->get("companyURL") );
|
||||
$session->setting->set( 'companyEmail', $form->email("companyEmail") ) if ( $form->get("companyEmail") );
|
||||
return;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
=head2 www_siteStats ( )
|
||||
|
||||
Opt-in to the global WebGUI statistics
|
||||
|
||||
=cut
|
||||
|
||||
sub www_siteStats {
|
||||
my ( $self ) = @_;
|
||||
my $session = $self->session;
|
||||
my $form = $session->form;
|
||||
$session->http->setCacheControl("none");
|
||||
my $i18n = WebGUI::International->new( $session, "WebGUI" );
|
||||
|
||||
my $enableForm = $self->getForm;
|
||||
$enableForm->hidden( name => "enableStats", value => 1 );
|
||||
$enableForm->submit( value => $i18n->get( 'enable', 'Activity_SendWebguiStats' ) );
|
||||
|
||||
my $disableForm = $self->getForm;
|
||||
$disableForm->hidden( name => "enableStats", value => 0 );
|
||||
$disableForm->submit( value => $i18n->get( 'disable', 'Activity_SendWebguiStats' ) );
|
||||
|
||||
my $output = '<h1>' . $i18n->get( 'topicName', 'Activity_SendWebguiStats' ) . '</h1>';
|
||||
$output .= ' <p>' . $i18n->get( 'why to send', 'Activity_SendWebguiStats' ) . '</p>
|
||||
<p>' . $i18n->get( 'would you participate', 'Activity_SendWebguiStats' ) . '</p>
|
||||
<div style="float: left">' . $enableForm->print . '</div><div style="float: left">'
|
||||
. $disableForm->print
|
||||
. '</div>'
|
||||
. '<div style="clear: both;"> </div>'
|
||||
;
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
=head2 www_siteStatsSave ( )
|
||||
|
||||
Opt-in to the global WebGUI statistics
|
||||
|
||||
=cut
|
||||
|
||||
sub www_siteStatsSave {
|
||||
my ( $self ) = @_;
|
||||
my $session = $self->session;
|
||||
my $form = $session->form;
|
||||
WebGUI::Operation::Statistics::www_enableSendWebguiStats($session) if ( $form->get("enableStats") );
|
||||
return;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
=head2 www_defaultStyle ( )
|
||||
|
||||
Choose the default site style
|
||||
|
||||
=cut
|
||||
|
||||
sub www_defaultStyle {
|
||||
return WebGUI::Wizard::HomePage::www_pickStyle( @_ );
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
=head2 www_defaultStyleSave ( )
|
||||
|
||||
Save the default style to all existing pages and the user function style
|
||||
|
||||
=cut
|
||||
|
||||
|
||||
sub www_defaultStyleSave {
|
||||
my ( $self, @args ) = @_;
|
||||
my $output = WebGUI::Wizard::HomePage::www_pickStyleSave( $self, @args );
|
||||
my $session = $self->session;
|
||||
|
||||
my $home = WebGUI::Asset->getDefault( $session );
|
||||
WebGUI::Wizard::HomePage::updateDefaultStyle( $self, $self->get('styleTemplateId'), $home );
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
=head2 www_cleanup ( )
|
||||
|
||||
Give the user a choice to do the Home Page wizard
|
||||
|
||||
=cut
|
||||
|
||||
sub www_cleanup {
|
||||
my ( $self ) = @_;
|
||||
my $session = $self->session;
|
||||
my $form = $session->form;
|
||||
$session->http->setCacheControl("none");
|
||||
my $i18n = WebGUI::International->new( $session, "WebGUI" );
|
||||
|
||||
$self->cleanup;
|
||||
# Delete specialState
|
||||
$session->setting->remove( "specialState" );
|
||||
|
||||
my $starterForm = WebGUI::HTMLForm->new( $session );
|
||||
$starterForm->hidden( name => "op", value => "wizard" );
|
||||
$starterForm->hidden( name => "wizard_class", value => "WebGUI::Wizard::HomePage" );
|
||||
$starterForm->hidden( name => "wizard_step", value => "pickStyle" );
|
||||
$starterForm->hidden( name => "initialSetup", value => 1 );
|
||||
$starterForm->hidden( name => "styleTemplateId", value => $self->get('styleTemplateId') );
|
||||
$starterForm->submit( value => $i18n->get( 'yes please' ) );
|
||||
|
||||
my $homeForm = WebGUI::HTMLForm->new( $session, { action => $session->url->gateway, method => "GET" } );
|
||||
$homeForm->submit( value => $i18n->get('no thanks') );
|
||||
|
||||
my $output = '<h1>' . $i18n->get('page builder title') . '</h1>';
|
||||
$output .= ' <p>' . $i18n->get('page builder body') . '</p>'
|
||||
. '<div style="float: left">' . $starterForm->print . '</div>'
|
||||
. '<div style="float: left">' . $homeForm->print . '</div>'
|
||||
. '<div style="clear: both"> </div>'
|
||||
;
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
1;
|
||||
Loading…
Add table
Add a link
Reference in a new issue