initial commit of file from CVS for e-smith-starterwebsite on Wed 12 Jul 09:09:54 BST 2023
This commit is contained in:
85
root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/starterwebsite
Executable file
85
root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/starterwebsite
Executable file
@@ -0,0 +1,85 @@
|
||||
<lexicon lang="en-us">
|
||||
<entry>
|
||||
<base>FORM_TITLE</base>
|
||||
<trans>Create a starter website</trans>
|
||||
</entry>
|
||||
<entry>
|
||||
<base>SUCCESS</base>
|
||||
<trans>Successfully created starter web site (wrote file index.htm).
|
||||
You can visit your new website at the address below:</trans>
|
||||
</entry>
|
||||
<entry>
|
||||
<base>DESCRIPTION</base>
|
||||
<trans><![CDATA[
|
||||
<p>
|
||||
To create a simple web page for your company, fill
|
||||
in the fields below and click on <b>Create</b>.
|
||||
</p>
|
||||
<p>
|
||||
You can leave any field blank if you do not need it.
|
||||
</p>
|
||||
<p>
|
||||
The text that you enter below will be line wrapped
|
||||
for a nicer appearance in your web page. Leave a blank line
|
||||
whenever you want to start a new paragraph. If you need
|
||||
to force a line break without starting a new paragraph (for
|
||||
example after each line of a mailing address), then type
|
||||
the four-character sequence
|
||||
<blockquote><BR></blockquote>
|
||||
where you would like each line break.
|
||||
</p>
|
||||
<p>
|
||||
<em>Do not use this option</em>
|
||||
if you have already customized your web site, since it will
|
||||
overwrite the "index.htm" file in your web site directory.
|
||||
</p>
|
||||
]]>
|
||||
</trans>
|
||||
</entry>
|
||||
<entry>
|
||||
<base>LABEL_COMPANYNAME</base>
|
||||
<trans>Company name</trans>
|
||||
</entry>
|
||||
|
||||
<entry>
|
||||
<base>DESC_HEADER1</base>
|
||||
<trans>
|
||||
First header, typically used for short phrases such
|
||||
as "Leader in the field of textile manufacturing"
|
||||
</trans>
|
||||
</entry>
|
||||
<entry>
|
||||
<base>DESC_TEXT1</base>
|
||||
<trans>
|
||||
Text following first header, typically used for a
|
||||
paragraph of marketing information.
|
||||
</trans>
|
||||
</entry>
|
||||
<entry>
|
||||
<base>DESC_HEADER2</base>
|
||||
<trans>
|
||||
Second header, typically used for short phrases such
|
||||
as "For more information" or "To order our products":
|
||||
</trans>
|
||||
</entry>
|
||||
<entry>
|
||||
<base>DESC_TEXT2</base>
|
||||
<trans>
|
||||
Text following second header, typically used for contact
|
||||
or ordering information:
|
||||
</trans>
|
||||
</entry>
|
||||
<entry>
|
||||
<base>DESC_SUBMIT</base>
|
||||
<trans><![CDATA[
|
||||
<p>When you create this web page, the file
|
||||
"index.htm" will be overwritten
|
||||
in your web site directory.</p>
|
||||
<p>Do you wish to proceed?</p>
|
||||
]]></trans>
|
||||
</entry>
|
||||
<entry>
|
||||
<base>Create starter web site</base>
|
||||
<trans>Create starter web site</trans>
|
||||
</entry>
|
||||
</lexicon>
|
134
root/etc/e-smith/web/functions/starterwebsite
Executable file
134
root/etc/e-smith/web/functions/starterwebsite
Executable file
@@ -0,0 +1,134 @@
|
||||
#!/usr/bin/perl -wT
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# heading : Miscellaneous
|
||||
# description : Create starter web site
|
||||
# navigation : 7000 7100
|
||||
#----------------------------------------------------------------------
|
||||
#----------------------------------------------------------------------
|
||||
# copyright (C) 2002 Mitel Networks Corporation
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
# Technical support for this program is available from Mitel Networks
|
||||
# Please visit our web site www.mitel.com/sme/ for details.
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
use strict;
|
||||
use esmith::FormMagick::Panel::starterwebsite;
|
||||
my $f = esmith::FormMagick::Panel::starterwebsite->new();
|
||||
$f->display();
|
||||
|
||||
=head1 TESTING
|
||||
|
||||
|
||||
=begin testing
|
||||
|
||||
use esmith::FormMagick::Tester;
|
||||
use esmith::TestUtils;
|
||||
use esmith::ConfigDB;
|
||||
my $panel = 'starterwebsite';
|
||||
my $panel_path = "/etc/e-smith/web/functions/".$panel;
|
||||
my $ua = esmith::FormMagick::Tester->new();
|
||||
|
||||
|
||||
is (mode($panel_path), '4750', "Check permissions on script");
|
||||
my @stat = stat($panel_path);
|
||||
is (getpwuid($stat[4]), 'root', "File is owned by root");
|
||||
is (getgrgid($stat[5]), 'admin', "File is owned by group admin");
|
||||
ok ($ua->get_panel($panel), "ABOUT TO RUN L10N TESTS");
|
||||
is ($ua->{status}, 200, "200 OK");
|
||||
like($ua->{content}, qr/FORM_TITLE/, "Saw untranslated form title");
|
||||
ok ($ua->set_language("en-us"), "Set language to U.S. English");
|
||||
ok ($ua->get_panel($panel), "Get panel");
|
||||
|
||||
is ($ua->{status}, 200, "200 OK");
|
||||
|
||||
like($ua->{content}, qr/Create a starter website/, "Saw translated form title");
|
||||
|
||||
# Testing changes
|
||||
|
||||
ok ($ua->get_panel($panel), "Testing panel retrieval");
|
||||
can_ok($ua, "field");
|
||||
|
||||
ok ($ua->{form}->find_input('text1'), 'Finding the text1 field');
|
||||
ok ($ua->{form}->find_input('text2'), 'Finding the text2 field');
|
||||
ok ($ua->{form}->find_input('companyName'), 'Finding the companyName field');
|
||||
ok ($ua->{form}->find_input('header1'), 'Finding the header1 field');
|
||||
ok ($ua->{form}->find_input('header2'), 'Finding the header2 field');
|
||||
$ua->field('text1' => 'We build widgets. You know?');
|
||||
$ua->field('text2' => 'We can build widgets for you');
|
||||
$ua->field('companyName' => 'FooCorp');
|
||||
$ua->field('header1' => 'Widget Makers');
|
||||
$ua->field('header2' => 'Contact us');
|
||||
|
||||
ok ($ua->click("Save"), "Click Save");
|
||||
|
||||
is ($ua->{status}, 200, "200 OK");
|
||||
like($ua->{content}, qr/Successfully created/, "Saw validation messages");
|
||||
|
||||
ok(open(FILE,"</home/e-smith/files/primary/html/index.htm"), 'Opened the new sample webpage');
|
||||
|
||||
my @content = <FILE>;
|
||||
my $content = join('',@content);
|
||||
|
||||
close(FILE);
|
||||
|
||||
like ($content, qr'We build widgets. You know?', 'Validated value for text1');
|
||||
like ($content, qr'We can build widgets for you', 'Validated value for text2');
|
||||
like ($content, qr'FooCorp', 'Validated value for companyName');
|
||||
like ($content, qr'Widget Makers', 'Validated value for header1');
|
||||
like ($content, qr'Contact us', 'Validated value for header2');
|
||||
|
||||
|
||||
# Gotta open this later, so we don't cache stale data
|
||||
|
||||
=end testing
|
||||
|
||||
=cut
|
||||
|
||||
__DATA__
|
||||
<form title="FORM_TITLE" header="/etc/e-smith/web/common/head.tmpl"
|
||||
footer="/etc/e-smith/web/common/foot.tmpl">
|
||||
<page name="First" post-event="change_settings()" pre-event="turn_off_buttons()">
|
||||
<description>DESCRIPTION</description>
|
||||
<field type="text" id="companyName" size="48">
|
||||
<label>LABEL_COMPANYNAME</label>
|
||||
</field>
|
||||
|
||||
<field type="text" id="header1" size="48">
|
||||
<description>DESC_HEADER1</description>
|
||||
</field>
|
||||
<field type="textarea" id="text1" size="16">
|
||||
<description>DESC_TEXT1</description>
|
||||
</field>
|
||||
<field type="text" id="header2" size="48">
|
||||
<description>DESC_HEADER2</description>
|
||||
|
||||
</field>
|
||||
<field type="textarea" id="text2" size="16">
|
||||
<description>DESC_TEXT2</description>
|
||||
</field>
|
||||
|
||||
<subroutine src="print_message('DESC_SUBMIT')"/>
|
||||
<subroutine src="print_button('CREATE')"/>
|
||||
|
||||
</page>
|
||||
<page name="Done" pre-event="turn_off_buttons">
|
||||
<description>SUCCESS</description>
|
||||
<subroutine src="print_homepage_url()" />
|
||||
</page>
|
||||
|
||||
</form>
|
238
root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/starterwebsite.pm
Executable file
238
root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/starterwebsite.pm
Executable file
@@ -0,0 +1,238 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# $Id: starterwebsite.pm,v 1.2 2002/04/04 05:16:28 gordonr Exp $
|
||||
#----------------------------------------------------------------------
|
||||
# copyright (C) 2002 Mitel Networks Corporation
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
# Technical support for this program is available from Mitel Networks
|
||||
# Please visit our web site www.e-smith.com for details.
|
||||
#----------------------------------------------------------------------
|
||||
package esmith::FormMagick::Panel::starterwebsite;
|
||||
|
||||
use strict;
|
||||
|
||||
use esmith::FormMagick;
|
||||
use esmith::util;
|
||||
use esmith::ConfigDB;
|
||||
use File::Basename;
|
||||
use Exporter;
|
||||
use Carp;
|
||||
|
||||
our @ISA = qw(esmith::FormMagick Exporter);
|
||||
|
||||
our @EXPORT = qw( change_settings print_homepage_url print_message);
|
||||
|
||||
our $VERSION = sprintf '%d.%03d', q$Revision: 1.2 $ =~ /: (\d+).(\d+)/;
|
||||
our $db = esmith::ConfigDB->open;
|
||||
|
||||
# {{{ header
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
esmith::FormMagick::Panels::starterwebsite - useful panel functions
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
use esmith::FormMagick::Panels::starterwebsite;
|
||||
|
||||
my $panel = esmith::FormMagick::Panel::starterwebsite->new();
|
||||
$panel->display();
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
=cut
|
||||
|
||||
# {{{ new
|
||||
|
||||
=head2 new();
|
||||
|
||||
Exactly as for esmith::FormMagick
|
||||
|
||||
=begin testing
|
||||
|
||||
|
||||
use_ok('esmith::FormMagick::Panel::starterwebsite');
|
||||
use vars qw($panel);
|
||||
ok($panel = esmith::FormMagick::Panel::starterwebsite->new(), "Create panel object");
|
||||
isa_ok($panel, 'esmith::FormMagick::Panel::starterwebsite');
|
||||
|
||||
=end testing
|
||||
|
||||
=cut
|
||||
|
||||
|
||||
|
||||
sub new {
|
||||
shift;
|
||||
my $self = esmith::FormMagick->new();
|
||||
$self->{calling_package} = (caller)[0];
|
||||
bless $self;
|
||||
return $self;
|
||||
}
|
||||
|
||||
# }}}
|
||||
|
||||
=head2 print_message
|
||||
|
||||
Prints an arbitrary message in the context of the form
|
||||
|
||||
=cut
|
||||
|
||||
|
||||
sub print_message {
|
||||
my ($fm, $word) = @_;
|
||||
$word = $fm->localise($word);
|
||||
print qq(<tr><td colspan=2>$word</td></tr>);
|
||||
return undef;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
=head2 print_homepage_url
|
||||
|
||||
returns the url for this e-smith server\'s default website as an href
|
||||
|
||||
=cut
|
||||
|
||||
|
||||
sub print_homepage_url {
|
||||
my $fm = shift;
|
||||
my $url = "http://www.". $db->get('DomainName')->value();
|
||||
my $href = "<a href=\"$url\">$url</a>";
|
||||
return (print_message($fm, $href))
|
||||
}
|
||||
|
||||
|
||||
=head1 ACTION
|
||||
|
||||
=head2 change_settings
|
||||
|
||||
Build the new default web page
|
||||
|
||||
=cut
|
||||
|
||||
|
||||
|
||||
sub change_settings {
|
||||
my ($fm) = @_;
|
||||
|
||||
my $q = $fm->{'cgi'};
|
||||
my $primary_location = '/home/e-smith/files/ibays/Primary/html/index.htm';
|
||||
|
||||
if (! open (WR, ">$primary_location"))
|
||||
{
|
||||
$fm->{cgi}->param( -name => 'initial_message', -value => 'OPEN_INDEX_FAIL');
|
||||
$fm->{cgi}->param( -name => 'wherenext', -value => 'Done' );
|
||||
# Tell the user something bad has happened
|
||||
return;
|
||||
}
|
||||
|
||||
my $companyName = $q->param ('companyName');
|
||||
my $header1 = $q->param ('header1');
|
||||
my $text1 = $q->param ('text1');
|
||||
my $header2 = $q->param ('header2');
|
||||
my $text2 = $q->param ('text2');
|
||||
|
||||
# make sure company name is not blank
|
||||
if ($companyName =~ /^\s*$/s) {
|
||||
$companyName = " "
|
||||
}
|
||||
|
||||
print WR "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\n";
|
||||
print WR "\n";
|
||||
print WR "<HTML>\n";
|
||||
print WR "\n";
|
||||
print WR "<HEAD>\n";
|
||||
print WR "<TITLE>$companyName</TITLE>\n";
|
||||
print WR "<META HTTP-EQUIV=\"Expires\" CONTENT=\"0\">\n";
|
||||
print WR "</HEAD>\n";
|
||||
print WR "\n";
|
||||
print WR "<BODY BGCOLOR=\"#FFFFFF\" MARGINWIDTH=\"0\" MARGINHEIGHT=\"0\" LEFTMARGIN=\"0\" TOPMARGIN=\"0\">\n";
|
||||
print WR "\n";
|
||||
print WR "<TABLE BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"10\" WIDTH=\"100%\">\n";
|
||||
print WR "\n";
|
||||
print WR "<TR>\n";
|
||||
print WR "<TD BGCOLOR=\"#290099\" COLSPAN=\"2\"><FONT COLOR=\"#F7E0B5\"><H1>$companyName</H1></FONT></TD>\n";
|
||||
print WR "</TR>\n";
|
||||
print WR "\n";
|
||||
print WR "<TR>\n";
|
||||
print WR "<TD BGCOLOR=\"#F7E0B5\" WIDTH=\"15%\"> </TD>\n";
|
||||
print WR "<TD BGCOLOR=\"#FFFFFF\" WIDTH=\"85%\">\n";
|
||||
print WR "\n";
|
||||
|
||||
if ($header1 !~ /^\s*$/s)
|
||||
{
|
||||
print WR "<FONT COLOR=\"#000000\"><H2>$header1</H2></FONT>\n";
|
||||
print WR "\n";
|
||||
}
|
||||
|
||||
if ($text1 !~ /^\s*$/s)
|
||||
{
|
||||
$text1 =~ s/^\s*(.*?)\s*$/$1/s;
|
||||
$text1 =~ s/\r\s*\r/<P>/sg;
|
||||
|
||||
print WR "<FONT COLOR=\"#290099\">\n";
|
||||
print WR "<P>\n";
|
||||
print WR "$text1\n";
|
||||
print WR "</P>\n";
|
||||
print WR "</FONT>\n";
|
||||
print WR "\n";
|
||||
}
|
||||
|
||||
if ($header2 !~ /^\s*$/s)
|
||||
{
|
||||
print WR "<FONT COLOR=\"#000000\"><H2>$header2</H2></FONT>\n";
|
||||
print WR "\n";
|
||||
}
|
||||
|
||||
if ($text2 !~ /^\s*$/s)
|
||||
{
|
||||
$text2 =~ s/^\s*(.*?)\s*$/$1/s;
|
||||
$text2 =~ s/\r\s*\r/<P>/sg;
|
||||
|
||||
print WR "<FONT COLOR=\"#290099\">\n";
|
||||
print WR "<P>\n";
|
||||
print WR "$text2\n";
|
||||
print WR "</P>\n";
|
||||
print WR "</FONT>\n";
|
||||
print WR "\n";
|
||||
}
|
||||
|
||||
print WR "\n";
|
||||
print WR "</TD>\n";
|
||||
print WR "</TR>\n";
|
||||
print WR "</TABLE>\n";
|
||||
print WR "</BODY>\n";
|
||||
print WR "</HTML>\n";
|
||||
|
||||
close WR;
|
||||
|
||||
esmith::util::chownFile("admin", "shared",
|
||||
$primary_location);
|
||||
chmod 0640, $primary_location;
|
||||
|
||||
|
||||
#$fm->{cgi}->param( -name => 'initial_message', -value => 'CHANGE_SUCCEEDED');
|
||||
$fm->{cgi}->param( -name => 'wherenext', -value => 'Done' );
|
||||
}
|
||||
|
||||
|
||||
1;
|
Reference in New Issue
Block a user