X-Git-Url: http://Server1/repobrowser/?p=kiriwrite%2F.git;a=blobdiff_plain;f=cgi-files%2Finstall.cgi;h=b486141272db28758e4f112c348a2a32f92e6ed7;hp=0bb18dc1f27a3c6b99c89d4e7c5d3d08355f48dd;hb=807fbc25c35ea3cdf16adcb2106fbb63b3511a68;hpb=ea01fa56ba776c81e13c3aeda9c0626018770f8e diff --git a/cgi-files/install.cgi b/cgi-files/install.cgi index 0bb18dc..b486141 100755 --- a/cgi-files/install.cgi +++ b/cgi-files/install.cgi @@ -1,12 +1,13 @@ #!/usr/bin/perl -Tw ################################################################################# -# Kiriwrite Installer Script (install.cgi) # +# Kiriwrite Installer Script (install.pl/install.cgi) # # Installation script for Kiriwrite # # # -# Version: 0.1.0 # +# Version: 0.5.0 # +# mod_perl 2.x compatabile version # # # -# Copyright (C) 2005-2007 Steve Brokenshire # +# Copyright (C) 2005-2008 Steve Brokenshire # # # # 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 # @@ -25,8 +26,34 @@ use strict; # Throw errors if there's something wrong. use warnings; # Write warnings to the HTTP Server Log file. use utf8; -use CGI qw(:standard *table *Tr *td); -use CGI::Carp('fatalsToBrowser'); # Output errors to the browser. + +eval "use CGI::Lite"; + +if ($@){ + print "Content-type: text/html;\r\n\r\n"; + print "The CGI::Lite Perl Module is not installed. Please install CGI::Lite and then run this installation script again. CGI::Lite can be installed through CPAN."; + exit; +} + +# Check if mod_perl is running and if it is then add a notice to say +# that additional configuration has to be made. + +my $modperlenabled = 0; +my $installscriptname = "install.cgi"; +my $kiriwritescriptname = "kiriwrite.cgi"; + +if ($ENV{'MOD_PERL'}){ + + # MOD_PERL 2.X SPECIFIC SECTION. + + use lib ''; + chdir(''); + + $modperlenabled = 1; + $installscriptname = "install.pl"; + $kiriwritescriptname = "kiriwrite.pl"; + +} # Setup strings in specific languages. Style should be no spacing for # language title and one tabbed spacing for each string. @@ -38,6 +65,11 @@ my $default_dbdirectory = "db"; my $default_outputdirectory = "output"; my $default_imagesuri = "/images/kiriwrite"; +my $default_textarearows = "10"; +my $default_textareacols = "50"; + +my $default_outputmodule = "Normal"; + my $default_server = "localhost"; my $default_port = "3306"; my $default_protocol = "tcp"; @@ -78,15 +110,27 @@ $kiriwrite_lang{"en-GB"}{"languagename"} = "English (British)"; $kiriwrite_lang{"en-GB"}{"outputdirectoryblank"} = "The output directory name given is blank."; $kiriwrite_lang{"en-GB"}{"outputdirectoryinvalid"} = "The output directory name given is invalid."; + $kiriwrite_lang{"en-GB"}{"textarearowblank"} = "The text area row value given is blank."; + $kiriwrite_lang{"en-GB"}{"textarearowtoolong"} = "The text area row value given is too long."; + $kiriwrite_lang{"en-GB"}{"textarearowinvalid"} = "The text area row value given is invalid."; + + $kiriwrite_lang{"en-GB"}{"textareacolsblank"} = "The text area columns value given is blank."; + $kiriwrite_lang{"en-GB"}{"textareacolstoolong"} = "The text area columns value given is too long."; + $kiriwrite_lang{"en-GB"}{"textareacolsinvalid"} = "The text area columns value given is invalid."; + $kiriwrite_lang{"en-GB"}{"presmoduleblank"} = "The presentation module name given is blank."; $kiriwrite_lang{"en-GB"}{"presmoduleinvalid"} = "The presentation module name given is invalid."; - + $kiriwrite_lang{"en-GB"}{"dbmoduleblank"} = "The database module name given is blank."; $kiriwrite_lang{"en-GB"}{"dbmoduleinvalid"} = "The database module name given is invalid."; + $kiriwrite_lang{"en-GB"}{"outputmoduleblank"} = "The output module name given is blank."; + $kiriwrite_lang{"en-GB"}{"outputmoduleinvalid"} = "The output module name given is invalid."; + $kiriwrite_lang{"en-GB"}{"presmodulemissing"} = "The presentation module with the filename given is missing."; + $kiriwrite_lang{"en-GB"}{"outputmodulemissing"} = "The output module with the filename given is missing."; $kiriwrite_lang{"en-GB"}{"dbmodulemissing"} = "The database module with the filename given is missing."; - $kiriwrite_lang{"en-GB"}{"languagefilemissing"} = "The language file with the filename given is missing."; + $kiriwrite_lang{"en-GB"}{"languagefilenamemissing"} = "The language file with the filename given is missing."; $kiriwrite_lang{"en-GB"}{"servernametoolong"} = "The database server name given is too long."; $kiriwrite_lang{"en-GB"}{"servernameinvalid"} = "The database server name given is invalid."; @@ -133,10 +177,11 @@ $kiriwrite_lang{"en-GB"}{"languagename"} = "English (British)"; $kiriwrite_lang{"en-GB"}{"installertitle"} = "Kiriwrite Installer"; $kiriwrite_lang{"en-GB"}{"installertext"} = "This installer script will setup the configuration file used for Kiriwrite. The settings displayed here can be changed at a later date by selecting the Edit Settings link in the View Settings sub-menu."; + $kiriwrite_lang{"en-GB"}{"modperlnotice"} = "mod_perl has been detected. Please ensure that you have setup this script and the main Kiriwrite script so that mod_perl can use Kiriwrite properly. Please read the mod_perl specific part of Chapter 1: Installation in the Kiriwrite documentation."; $kiriwrite_lang{"en-GB"}{"dependencytitle"} = "Dependency and file testing results"; $kiriwrite_lang{"en-GB"}{"requiredmodules"} = "Required Modules"; $kiriwrite_lang{"en-GB"}{"perlmodules"} = "These Perl modules are used internally by Kiriwrite."; - $kiriwrite_lang{"en-GB"}{"databasemodules"} = "Database Modules"; + $kiriwrite_lang{"en-GB"}{"databasemodules"} = "Perl Database Modules"; $kiriwrite_lang{"en-GB"}{"databasemodulestext"} = "These Perl modules are used by the database modules."; $kiriwrite_lang{"en-GB"}{"filepermissions"} = "File permissions"; $kiriwrite_lang{"en-GB"}{"filepermissionstext"} = "The file permissions are for file and directories that are critical to Kiriwrite such as module and language directories."; @@ -147,12 +192,16 @@ $kiriwrite_lang{"en-GB"}{"languagename"} = "English (British)"; $kiriwrite_lang{"en-GB"}{"databasedirectory"} = "Database Directory"; $kiriwrite_lang{"en-GB"}{"outputdirectory"} = "Output Directory"; $kiriwrite_lang{"en-GB"}{"imagesuripath"} = "Images (URI path)"; + $kiriwrite_lang{"en-GB"}{"display"} = "Display"; + $kiriwrite_lang{"en-GB"}{"textareacols"} = "Text Area Columns"; + $kiriwrite_lang{"en-GB"}{"textarearows"} = "Text Area Rows"; $kiriwrite_lang{"en-GB"}{"date"} = "Date"; $kiriwrite_lang{"en-GB"}{"dateformat"} = "Date Format"; $kiriwrite_lang{"en-GB"}{"language"} = "Language"; $kiriwrite_lang{"en-GB"}{"systemlanguage"} = "System Language"; $kiriwrite_lang{"en-GB"}{"modules"} = "Modules"; $kiriwrite_lang{"en-GB"}{"presentationmodule"} = "Presentation Module"; + $kiriwrite_lang{"en-GB"}{"outputmodule"} = "Output Module"; $kiriwrite_lang{"en-GB"}{"databasemodule"} = "Database Module"; $kiriwrite_lang{"en-GB"}{"databaseserver"} = "Database Server"; $kiriwrite_lang{"en-GB"}{"databaseport"} = "Database Port"; @@ -170,14 +219,15 @@ $kiriwrite_lang{"en-GB"}{"languagename"} = "English (British)"; $kiriwrite_lang{"en-GB"}{"installscriptremoved"} = "The installer script was removed."; $kiriwrite_lang{"en-GB"}{"installedmessage"} = "The configuration file for Kiriwrite has been written. To change the settings in the configuration file at a later date use the Edit Settings link in the View Settings sub-menu at the top of the page when using Kiriwrite."; $kiriwrite_lang{"en-GB"}{"cannotremovescript"} = "Unable to remove the installer script: %s. The installer script will have to be deleted manually."; - $kiriwrite_lang{"en-GB"}{"usekiriwritetext"} = "To use Kiriwrite click or select the link below (will not work if the Kiriwrite script is not called kiriwrite.cgi):"; + $kiriwrite_lang{"en-GB"}{"usekiriwritetext"} = "To use Kiriwrite click or select the link below (will not work if the Kiriwrite script is not called kiriwrite.cgi/kiriwrite.pl):"; $kiriwrite_lang{"en-GB"}{"usekiriwritelink"} = "Start using Kiriwrite."; -my $query = new CGI; +my $query_lite = new CGI::Lite; +my $form_data = $query_lite->parse_form_data; my $language_selected = ""; -my $http_query_confirm = $query->param('confirm'); -my $http_query_installlanguage = $query->param('installlanguage'); +my $http_query_confirm = $form_data->{'confirm'}; +my $http_query_installlanguage = $form_data->{'installlanguage'}; if (!$http_query_installlanguage){ @@ -219,6 +269,7 @@ body { } input { + font-size: 12px; background-color: #408080; color: #FFFFFF; border-color: #102020; @@ -229,6 +280,7 @@ input { } select { + font-size: 12px; padding: 3px; background-color: #408080; color: #FFFFFF; @@ -897,6 +949,14 @@ sub kiriwrite_error{ "dbdirectoryblank" => $kiriwrite_lang{$language_selected}{dbdirectoryblank}, "dbdirectoryinvalid" => $kiriwrite_lang{$language_selected}{dbdirectoryinvalid}, + "textarearowblank" => $kiriwrite_lang{$language_selected}{textarearowblank}, + "textarearowtoolong" => $kiriwrite_lang{$language_selected}{textarearowtoolong}, + "textarearowinvalid" => $kiriwrite_lang{$language_selected}{textarearowinvalid}, + + "textareacolsblank" => $kiriwrite_lang{$language_selected}{textareacolsblank}, + "textareacolstoolong" => $kiriwrite_lang{$language_selected}{textareacolstoolong}, + "textareacolsinvalid" => $kiriwrite_lang{$language_selected}{textareacolsinvalid}, + "outputdirectoryblank" => $kiriwrite_lang{$language_selected}{outputdirectoryblank}, "outputdirectoryinvalid" => $kiriwrite_lang{$language_selected}{outputdirectoryinvalid}, @@ -908,7 +968,7 @@ sub kiriwrite_error{ "presmodulemissing" => $kiriwrite_lang{$language_selected}{presmodulemissing}, "dbmodulemissing" => $kiriwrite_lang{$language_selected}{dbmodulemissing}, - "languagefilemissing" => $kiriwrite_lang{$language_selected}{languagefilemissing}, + "languagefilenamemissing" => $kiriwrite_lang{$language_selected}{languagefilenamemissing}, "servernametoolong" => $kiriwrite_lang{$language_selected}{servernametoolong}, "servernameinvalid" => $kiriwrite_lang{$language_selected}{servernameinvalid}, @@ -939,17 +999,18 @@ sub kiriwrite_error{ $error_type = "generic"; } - print header(); + print "Content-type: text/html;\r\n\r\n"; - print start_html({ -title => $kiriwrite_lang{$language_selected}{error}, -style => { -code => $cssstyle }}); + print "\n"; + print "\n$kiriwrite_lang{$language_selected}{installertitle}\n\n\n\n"; - print h2($kiriwrite_lang{$language_selected}{error}); + print "

$kiriwrite_lang{$language_selected}{error}

"; print $kiriwrite_error{$error_type}; - print br(); + print "
\n"; print $kiriwrite_lang{$language_selected}{errormessagetext}; - print end_html(); + print "\n"; exit; @@ -968,43 +1029,117 @@ sub kiriwrite_writeconfig{ # Open the configuration file for writing. - open (my $configfile, "> " . "kiriwrite.xml"); - - print $configfile " - - - - - - " . $passedsettings->{DatabaseDirectory} . " - " . $passedsettings->{OutputDirectory} . " - " . $passedsettings->{ImagesURIPath} . " - - - " . $passedsettings->{Language} . " - - - " . $passedsettings->{PresentationModule} . " - " . $passedsettings->{DatabaseModule} . " - " . $passedsettings->{DateFormat} . " - - - " . $passedsettings->{DatabaseServer} . " - " . $passedsettings->{DatabasePort} . " - " . $passedsettings->{DatabaseProtocol} . " - " . $passedsettings->{DatabaseName} . " - " . $passedsettings->{DatabaseUsername} . " - " . $passedsettings->{DatabasePassword} . " - " . $passedsettings->{DatabaseTablePrefix} . " - - - + open (my $configfile, "> " . "kiriwrite.cfg"); + + print $configfile "[config] +directory_data_db = $passedsettings->{DatabaseDirectory} +directory_data_output = $passedsettings->{OutputDirectory} +directory_noncgi_images = $passedsettings->{ImagesURIPath} + +system_language = $passedsettings->{Language} +system_presmodule = $passedsettings->{PresentationModule} +system_outputmodule = $passedsettings->{OutputModule} +system_dbmodule = $passedsettings->{DatabaseModule} +system_datetime = $passedsettings->{DateFormat} + +display_textareacols = $passedsettings->{TextAreaCols} +display_textarearows = $passedsettings->{TextAreaRows} +display_pagecount = 50 +display_filtercount = 50 +display_templatecount = 50 + +database_server = $passedsettings->{DatabaseServer} +database_port = $passedsettings->{DatabasePort} +database_protocol = $passedsettings->{DatabaseProtocol} +database_sqldatabase = $passedsettings->{DatabaseName} +database_username = $passedsettings->{DatabaseUsername} +database_password = $passedsettings->{DatabasePassword} +database_tableprefix = $passedsettings->{DatabaseTablePrefix} "; close ($configfile); } +sub kiriwrite_addtablerow{ +################################################################################# +# kiriwrite_addtablerow: Adds a table row. # +# # +# Usage: # +# # +# kiriwrite_addtablerow(name, data); # +# # +# name Specifies the name of the table row. # +# namestyle Specifies the style for the name of the table row. # +# data Specifies the data to be used in the table row. # +# datastyle Specifies the style for the data of the table row. # +################################################################################# + + my ($name, $namestyle, $data, $datastyle) = @_; + + if (!$data){ + + $data = ""; + + } + + print "\n"; + print "$name\n"; + print "$data\n"; + print "\n"; + +} + +sub kiriwrite_processconfig{ +################################################################################# +# kiriwrite_processconfig: Processes an INI style configuration file. # +# # +# Usage: # +# # +# kiriwrite_processconfig(data); # +# # +# data Specifies the data to process. # +################################################################################# + + my (@settings) = @_; + + my ($settings_line, %settings, $settings, $sectionname, $setting_name, $setting_value); + + foreach $settings_line (@settings){ + + next if !$settings_line; + + # Check if the first character is a bracket. + + if (substr($settings_line, 0, 1) eq "["){ + $settings_line =~ s/\[//; + $settings_line =~ s/\](.*)//; + $settings_line =~ s/\n//; + $sectionname = $settings_line; + next; + } + + $setting_name = $settings_line; + $setting_value = $settings_line; + $setting_name =~ s/\=(.*)//; + $setting_name =~ s/\n//; + $setting_value =~ s/(.*)\=//; + $setting_value =~ s/\n//; + + # Remove the spacing before and after the '=' sign. + + $setting_name =~ s/\s+$//; + $setting_value =~ s/^\s+//; + $setting_value =~ s/\r//; + + $settings{$sectionname}{$setting_name} = $setting_value; + + } + + return %settings; + +} + ################################################################################# # End list of subroutines. # ################################################################################# @@ -1019,32 +1154,58 @@ if ($http_query_confirm eq 1){ # The confirm value has been given so get the data from the query. - my $http_query_dbdirectory = $query->param('dbdirectory'); - my $http_query_outputdirectory = $query->param('outputdirectory'); - my $http_query_imagesuripath = $query->param('imagesuripath'); + my $http_query_dbdirectory = $form_data->{'dbdirectory'}; + my $http_query_outputdirectory = $form_data->{'outputdirectory'}; + my $http_query_imagesuripath = $form_data->{'imagesuripath'}; + + my $http_query_textarearows = $form_data->{'textarearows'}; + my $http_query_textareacols = $form_data->{'textareacols'}; - my $http_query_dateformat = $query->param('dateformat'); - my $http_query_customdateformat = $query->param('customdateformat'); + my $http_query_dateformat = $form_data->{'dateformat'}; + my $http_query_customdateformat = $form_data->{'customdateformat'}; - my $http_query_language = $query->param('language'); + my $http_query_language = $form_data->{'language'}; - my $http_query_presmodule = $query->param('presmodule'); - my $http_query_dbmodule = $query->param('dbmodule'); + my $http_query_presmodule = $form_data->{'presmodule'}; + my $http_query_outputmodule = $form_data->{'outputmodule'}; + my $http_query_dbmodule = $form_data->{'dbmodule'}; - my $http_query_databaseserver = $query->param('databaseserver'); - my $http_query_databaseport = $query->param('databaseport'); - my $http_query_databaseprotocol = $query->param('databaseprotocol'); - my $http_query_databasename = $query->param('databasename'); - my $http_query_databaseusername = $query->param('databaseusername'); - my $http_query_databasepassword = $query->param('databasepassword'); - my $http_query_databasetableprefix = $query->param('databasetableprefix'); - my $http_query_removeinstallscript = $query->param('removeinstallscript'); + my $http_query_databaseserver = $form_data->{'databaseserver'}; + my $http_query_databaseport = $form_data->{'databaseport'}; + my $http_query_databaseprotocol = $form_data->{'databaseprotocol'}; + my $http_query_databasename = $form_data->{'databasename'}; + my $http_query_databaseusername = $form_data->{'databaseusername'}; + my $http_query_databasepassword = $form_data->{'databasepassword'}; + my $http_query_databasetableprefix = $form_data->{'databasetableprefix'}; + my $http_query_removeinstallscript = $form_data->{'removeinstallscript'}; + + # Check if the text area rows and column values are blank. + + if (!$http_query_textarearows){ + + # The text area rows value is blank so return + # an error. + + kiriwrite_error("textarearowblank"); + + } + + if (!$http_query_textareacols){ + + # The text area columns value is blank so + # return an error. + + kiriwrite_error("textareacolsblank"); + + } # Check the length of the variables. my $kiriwrite_dbdirectory_length_check = kiriwrite_variablecheck($http_query_dbdirectory, "maxlength", 64, 1); my $kiriwrite_outputdirectory_length_check = kiriwrite_variablecheck($http_query_outputdirectory, "maxlength", 64, 1); my $kiriwrite_imagesuripath_length_check = kiriwrite_variablecheck($http_query_imagesuripath, "maxlength", 512, 1); + my $kiriwrite_textarearow_length_check = kiriwrite_variablecheck($http_query_textarearows, "maxlength", 3, 1); + my $kiriwrite_textareacols_length_check = kiriwrite_variablecheck($http_query_textareacols, "maxlength", 3, 1); my $kiriwrite_dateformat_length_check = kiriwrite_variablecheck($http_query_dateformat, "maxlength", 32, 1); my $kiriwrite_customdateformat_length_check = kiriwrite_variablecheck($http_query_customdateformat, "maxlength", 32, 1); my $kiriwrite_language_length_check = kiriwrite_variablecheck($http_query_language, "maxlength", 16, 1); @@ -1106,6 +1267,24 @@ if ($http_query_confirm eq 1){ } + if ($kiriwrite_textarearow_length_check eq 1){ + + # The text area rows length is too long + # so return an error. + + kiriwrite_error("textarearowtoolong"); + + } + + if ($kiriwrite_textareacols_length_check eq 1){ + + # The text area columns length is too long + # so return an error. + + kiriwrite_error("textareacolstoolong"); + + } + # Check if the custom date and time setting has anything # set and if it doesn't then use the predefined one set. @@ -1229,9 +1408,34 @@ if ($http_query_confirm eq 1){ } + # Check to see if the text area rows and column values + # are valid. + + my $kiriwrite_textarearow_number_check = kiriwrite_variablecheck($http_query_textarearows, "numbers", 0, 1); + my $kiriwrite_textareacols_number_check = kiriwrite_variablecheck($http_query_textareacols, "numbers", 0, 1); + + if ($kiriwrite_textarearow_number_check eq 1){ + + # The text area row value is invalid so return + # an error. + + kiriwrite_error("textarearowinvalid"); + + } + + if ($kiriwrite_textareacols_number_check eq 1){ + + # The text area columns value is invalid so return + # an error. + + kiriwrite_error("textareacolsinvalid"); + + } + # Check the module names to see if they're valid. my $kiriwrite_presmodule_modulename_check = kiriwrite_variablecheck($http_query_presmodule, "module", 0, 1); + my $kiriwrite_outputmodule_modulename_check = kiriwrite_variablecheck($http_query_outputmodule, "module", 0, 1); my $kiriwrite_dbmodule_modulename_check = kiriwrite_variablecheck($http_query_dbmodule, "module", 0, 1); if ($kiriwrite_presmodule_modulename_check eq 1){ @@ -1252,6 +1456,24 @@ if ($http_query_confirm eq 1){ } + if ($kiriwrite_outputmodule_modulename_check eq 1){ + + # The output module name is blank, so return + # an error. + + kiriwrite_error("outputmoduleblank"); + + } + + if ($kiriwrite_outputmodule_modulename_check eq 2){ + + # The output module name is invalid, so return + # an error. + + kiriwrite_error("outputmoduleinvalid"); + + } + if ($kiriwrite_dbmodule_modulename_check eq 1){ # The database module name is blank, so return @@ -1270,8 +1492,8 @@ if ($http_query_confirm eq 1){ } - # Check if the database module, presentation module and - # language file exists. + # Check if the database module, presentation module, + # output module and language file exists. if (!-e "Modules/Presentation/" . $http_query_presmodule . ".pm"){ @@ -1282,6 +1504,15 @@ if ($http_query_confirm eq 1){ } + if (!-e "Modules/Output/" . $http_query_outputmodule . ".pm"){ + + # The database module is missing so return an + # error. + + kiriwrite_error("outputmodulemissing"); + + } + if (!-e "Modules/Database/" . $http_query_dbmodule . ".pm"){ # The database module is missing so return an @@ -1291,7 +1522,7 @@ if ($http_query_confirm eq 1){ } - if (!-e "lang/" . $http_query_language . ".xml"){ + if (!-e "lang/" . $http_query_language . ".lang"){ # The language file is missing so return an # error. @@ -1469,11 +1700,11 @@ if ($http_query_confirm eq 1){ # Check if the configuration file already exists. - if (-e 'kiriwrite.xml'){ + if (-e 'kiriwrite.cfg'){ # Check if the configuration file has read permissions. - if (!-r 'kiriwrite.xml'){ + if (!-r 'kiriwrite.cfg'){ # The configuration file has invalid read permissions # set so return an error. @@ -1484,7 +1715,7 @@ if ($http_query_confirm eq 1){ # Check if the configuration file has write permissions. - if (!-w 'kiriwrite.xml'){ + if (!-w 'kiriwrite.cfg'){ # The configuration file has invalid write permissions # set so return an error. @@ -1497,7 +1728,7 @@ if ($http_query_confirm eq 1){ # Write the new configuration file. - kiriwrite_writeconfig({ DatabaseDirectory => $http_query_dbdirectory, OutputDirectory => $http_query_outputdirectory, ImagesURIPath => $http_query_imagesuripath, DateFormat => $finaldateformat, Language => $http_query_language, PresentationModule => $http_query_presmodule, DatabaseModule => $http_query_dbmodule, DatabaseServer => $http_query_databaseserver, DatabasePort => $http_query_databaseport, DatabaseProtocol => $http_query_databaseprotocol, DatabaseName => $http_query_databasename, DatabaseUsername => $http_query_databaseusername, DatabasePassword => $http_query_databasepassword, DatabaseTablePrefix => $http_query_databasetableprefix }); + kiriwrite_writeconfig({ DatabaseDirectory => $http_query_dbdirectory, OutputDirectory => $http_query_outputdirectory, ImagesURIPath => $http_query_imagesuripath, TextAreaCols => $http_query_textareacols, TextAreaRows => $http_query_textarearows, DateFormat => $finaldateformat, Language => $http_query_language, PresentationModule => $http_query_presmodule, OutputModule => $http_query_outputmodule, DatabaseModule => $http_query_dbmodule, DatabaseServer => $http_query_databaseserver, DatabasePort => $http_query_databaseport, DatabaseProtocol => $http_query_databaseprotocol, DatabaseName => $http_query_databasename, DatabaseUsername => $http_query_databaseusername, DatabasePassword => $http_query_databasepassword, DatabaseTablePrefix => $http_query_databasetableprefix }); my $installscriptmessage = ""; @@ -1511,7 +1742,7 @@ if ($http_query_confirm eq 1){ if ($http_query_removeinstallscript eq "on"){ - if (unlink("install.cgi")){ + if (unlink($installscriptname)){ $installscriptmessage = $kiriwrite_lang{$language_selected}{installscriptremoved}; @@ -1520,34 +1751,30 @@ if ($http_query_confirm eq 1){ $installscriptmessage = $kiriwrite_lang{$language_selected}{cannotremovescript}; $installscriptmessage =~ s/%s/$!/g; - # FINISH THIS! >O - - #"Unable to remove the installer script: " . $! . " The installer script will have to be deleted manually."; - } } - print header(); + print "Content-type: text/html\r\n\r\n"; - print start_html({ -title => $kiriwrite_lang{$language_selected}{installertitle}, -style => { -code => $cssstyle }}); - print h2($kiriwrite_lang{$language_selected}{installertitle}); + #print start_html({ -title => $kiriwrite_lang{$language_selected}{installertitle}, -style => { -code => $cssstyle }}); + print "\n"; + print "\n$kiriwrite_lang{$language_selected}{installertitle}\n\n\n\n"; + print "

$kiriwrite_lang{$language_selected}{installertitle}

"; print $kiriwrite_lang{$language_selected}{installedmessage}; if ($installscriptmessage){ - print br(); - print br(); + print "

\n"; print $installscriptmessage; - } + } - print br(); - print br(); + print "

\n"; print $kiriwrite_lang{$language_selected}{usekiriwritetext}; - print br(); - print br(); - print a({-href=>'kiriwrite.cgi'}, $kiriwrite_lang{$language_selected}{usekiriwritelink}); + print "

\n"; + print "$kiriwrite_lang{$language_selected}{usekiriwritelink}"; + print "\n"; exit; @@ -1555,7 +1782,7 @@ if ($http_query_confirm eq 1){ # Create a list of common date and time formats. -my @datetime_formats = [ +my @datetime_formats = ( 'DD/MM/YY (hh:mm:ss)', 'DD/MM/YY hh:mm:ss', 'D/M/Y (hh:mm:ss)', 'D/M/Y hh:mm:ss', 'D/M/YY (hh:mm:ss)', 'D/M/YY hh:mm:ss', 'DD/MM (hh:mm:ss)', 'D/M (hh:mm:ss)', 'DD/MM hh:mm:ss', @@ -1565,7 +1792,7 @@ my @datetime_formats = [ 'YY-MM-DD (hh:mm:ss)', 'YY-MM-DD hh:mm:ss', 'Y-M-D (hh:mm:ss)', 'Y-M-D hh:mm:ss', 'M-D (hh:mm:ss)', 'M-D hh:mm:ss', 'YY-MM-DD', 'MM-DD' -]; +); # Create the list of tests to do. @@ -1593,18 +1820,22 @@ $test_list{CheckDBI}{Name} = "DBI"; $test_list{CheckDBI}{Type} = "dependency"; $test_list{CheckDBI}{Code} = "DBI"; -$test_list{CheckXMLSimple}{Name} = "XML::Simple"; -$test_list{CheckXMLSimple}{Type} = "dependency"; -$test_list{CheckXMLSimple}{Code} = "XML::Simple"; - -$test_list{CheckTieHash}{Name} = "Tie::IxHash"; -$test_list{CheckTieHash}{Type} = "dependency"; -$test_list{CheckTieHash}{Code} = "Tie::IxHash"; +$test_list{CheckCGILite}{Name} = "CGI::Lite"; +$test_list{CheckCGILite}{Type} = "dependency"; +$test_list{CheckCGILite}{Code} = "CGI::Lite"; $test_list{Encode}{Name} = "Encode"; $test_list{Encode}{Type} = "dependency"; $test_list{Encode}{Code} = "Encode"; +$test_list{HashSearch}{Name} = "Hash::Search"; +$test_list{HashSearch}{Type} = "dependency"; +$test_list{HashSearch}{Code} = "Hash::Search"; + +$test_list{CheckTieHash}{Name} = "Tie::IxHash"; +$test_list{CheckTieHash}{Type} = "dependency"; +$test_list{CheckTieHash}{Code} = "Tie::IxHash"; + $test_list{DBDmysql}{Name} = "DBD::mysql"; $test_list{DBDmysql}{Type} = "database"; $test_list{DBDmysql}{Code} = "DBD::mysql"; @@ -1640,6 +1871,11 @@ $test_list{PresModulesDirectory}{Type} = "file"; $test_list{PresModulesDirectory}{Code} = "Modules/Presentation"; $test_list{PresModulesDirectory}{Writeable} = "0"; +$test_list{SystemModulesDirectory}{Name} = "System Modules Directory (Modules/System)"; +$test_list{SystemModulesDirectory}{Type} = "file"; +$test_list{SystemModulesDirectory}{Code} = "Modules/System"; +$test_list{SystemModulesDirectory}{Writeable} = "0"; + # Preform those tests. foreach $test (keys %test_list){ @@ -1742,191 +1978,141 @@ foreach $test (keys %test_list){ # Print the header. -print header(); +print "Content-Type: text/html;\r\n\r\n"; # Print the page for installing Kiriwrite. -print start_html( -title=> $kiriwrite_lang{$language_selected}{installertitle}, -style => { -code => $cssstyle }); - -print start_table( { -width=> "100%" } ); -print start_Tr(); -print start_td({ -class => "languagebar" }); -print $kiriwrite_lang{$language_selected}{installertitle}; -print end_td(); -print start_td({ -class => "languagebarselect" }); -print start_form("POST", "install.cgi"); - -# This is a bodge for the language list. +print "\n"; +print "\n$kiriwrite_lang{$language_selected}{installertitle}\n"; +print "\n\n"; +print ""; my $language_name_short; my $language_list_seek = 0; +my $installlanguage_out = ""; -print "\n"; foreach $language_name_short (@language_list_short){ - print ""; + $installlanguage_out = $installlanguage_out . "\n"; $language_list_seek++; } -print " "; -print submit($kiriwrite_lang{$language_selected}{switch}); +$installlanguage_out = $installlanguage_out . "\n"; -print end_form; -print end_td(); -print end_Tr(); -print end_table(); - -print h2($kiriwrite_lang{$language_selected}{installertitle}); +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{installertitle}, "languagebar", "\n$installlanguage_out\n\n\n", "languagebarselect"); +print "
"; +print "

$kiriwrite_lang{$language_selected}{installertitle}

\n"; print $kiriwrite_lang{$language_selected}{installertext}; -print h3($kiriwrite_lang{$language_selected}{dependencytitle}); -print h4($kiriwrite_lang{$language_selected}{requiredmodules}); +if ($modperlenabled eq 1){ + print "

"; + print $kiriwrite_lang{$language_selected}{modperlnotice}; +} + +print "

$kiriwrite_lang{$language_selected}{dependencytitle}

\n"; +print "

$kiriwrite_lang{$language_selected}{requiredmodules}

\n"; print $kiriwrite_lang{$language_selected}{perlmodules}; -print br();; -print br();; +print "

\n"; if ($dependency_error eq 1){ print $kiriwrite_lang{$language_selected}{errormessage}; print $kiriwrite_lang{$language_selected}{dependencyperlmodulesmissing}; - print br(); - print br(); + print "

\n"; } -print start_table(); -print start_Tr(); -print start_td({ -class => "tablecellheader" }); -print $kiriwrite_lang{$language_selected}{module}; -print end_td(); -print start_td({ -class => "tablecellheader" }); -print $kiriwrite_lang{$language_selected}{result}; -print end_td(); -print end_Tr(); +print "\n"; + +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{module}, "tablecellheader", $kiriwrite_lang{$language_selected}{result}, "tablecellheader"); foreach $test (keys %dependency_results) { - print start_Tr(); - print start_td({ -class => "tablename" }); - print $test; - print end_td(); - print start_td({ -class => "tabledata" }); - print $dependency_results{$test}{result}; - print end_td(); - print end_Tr(); + kiriwrite_addtablerow($test, "tablename", $dependency_results{$test}{result}, "tabledata"); } -print end_table(); +print "
"; -print h4($kiriwrite_lang{$language_selected}{databasemodules}); +print "

$kiriwrite_lang{$language_selected}{databasemodules}

\n"; print $kiriwrite_lang{$language_selected}{databasemodulestext}; -print br(); -print br(); +print "

\n"; + +print "\n"; if ($database_error eq 1){ print $kiriwrite_lang{$language_selected}{warningmessage}; print $kiriwrite_lang{$language_selected}{databaseperlmodulesmissing}; - print br(); - print br(); + print "

\n"; } -print start_table(); -print start_Tr(); -print start_td({ -class => "tablecellheader" }); -print $kiriwrite_lang{$language_selected}{module}; -print end_td(); -print start_td({ -class => "tablecellheader" }); -print $kiriwrite_lang{$language_selected}{result}; -print end_td(); -print end_Tr(); +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{module}, "tablecellheader", $kiriwrite_lang{$language_selected}{result}, "tablecellheader"); foreach $test (keys %database_results) { - print start_Tr(); - print start_td({ -class => "tablename" }); - print $test; - print end_td(); - print start_td({ -class => "tabledata" }); - print $database_results{$test}{result}; - print end_td(); - print end_Tr(); + kiriwrite_addtablerow($test, "tablename", $database_results{$test}{result}, "tabledata"); } -print end_table(); +print "
"; -print h4($kiriwrite_lang{$language_selected}{filepermissions}); +print "

$kiriwrite_lang{$language_selected}{filepermissions}

\n"; print $kiriwrite_lang{$language_selected}{filepermissionstext}; -print br(); -print br(); +print "

\n"; if ($file_error eq 1){ print $kiriwrite_lang{$language_selected}{errormessage}; print $kiriwrite_lang{$language_selected}{filepermissionsinvalid}; - print br(); - print br(); + print "

\n"; } -print start_table(); -print start_Tr(); -print start_td({ -class => "tablecellheader" }); -print "Filename"; -print end_td(); -print start_td({ -class => "tablecellheader" }); -print "Result"; -print end_td(); -print end_Tr(); +print ""; + +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{filename}, "tablecellheader", "Result", "tablecellheader"); foreach $test (keys %file_results) { - print start_Tr(); - print start_td({ -class => "tablename" }); - print $test; - print end_td(); - print start_td({ -class => "tabledata" }); - print $file_results{$test}{result}; - print end_td(); - print end_Tr(); + kiriwrite_addtablerow($test, "tablename", $file_results{$test}{result}, "tabledata"); } -print end_table(); +print "
"; if ($dependency_error eq 1){ - print hr(); - print h4($kiriwrite_lang{$language_selected}{criticalerror}); - print $kiriwrite_lang{$language_selected}{dependencymodulesnotinstalled}; - print end_html; + print "
\n"; + print "

$kiriwrite_lang{$language_selected}{criticalerror}

\n"; + print $kiriwrite_lang{$language_selected}{dependencymodulesnotinstalled} . "\n"; + print "\n"; exit; } if ($database_onemodule eq 0){ - print hr(); - print h4($kiriwrite_lang{$language_selected}{criticalerror}); - print $kiriwrite_lang{$language_selected}{databasemodulesnotinstalled}; - print end_html; + print "
\n"; + print "

$kiriwrite_lang{$language_selected}{criticalerror}

\n"; + print $kiriwrite_lang{$language_selected}{databasemodulesnotinstalled} . "\n"; + print "\n"; exit; } if ($file_error eq 1){ - print hr(); - print h4($kiriwrite_lang{$language_selected}{criticalerror}); - print $kiriwrite_lang{$language_selected}{filepermissionerrors}; - print end_html; + print "
\n"; + print "

$kiriwrite_lang{$language_selected}{criticalerror}

\n"; + print $kiriwrite_lang{$language_selected}{filepermissionerrors} . "\n"; + print "\n"; exit; } @@ -1934,33 +2120,40 @@ if ($file_error eq 1){ my @language_short; my (%available_languages, $available_languages); my @presentation_modules; +my @output_modules; my @database_modules; - -my $presentation_modules_ref = \@presentation_modules; -my $database_modules_ref = \@database_modules; +my $select_data = ""; +my (%language_data, $language_data); +my @lang_data; +my $kiriwrite_languagefilehandle; +my $language_out = ""; +my ($presmodule_name, $presmodule_out) = ""; +my ($dbmodule_name, $dbmodule_out) = ""; +my ($outputmodule_name, $outputmodule_out) = ""; # Get the list of available languages. tie(%available_languages, 'Tie::IxHash'); opendir(LANGUAGEDIR, "lang"); -my @language_directory = grep /m*\.xml$/, readdir(LANGUAGEDIR); +my @language_directory = grep /m*\.lang$/, readdir(LANGUAGEDIR); closedir(LANGUAGEDIR); -my $xsl = XML::Simple->new(); - foreach my $language_file (@language_directory){ - # Load the XML data. + # Load the language file. - $language_xml_data = $xsl->XMLin("lang/" . $language_file); + open ($kiriwrite_languagefilehandle, "lang/" . $language_file); + @lang_data = <$kiriwrite_languagefilehandle>; + %language_data = kiriwrite_processconfig(@lang_data); + close ($kiriwrite_languagefilehandle); # Get the friendly name for the language file. $language_file_friendly = $language_file; - $language_file_friendly =~ s/.xml$//g; + $language_file_friendly =~ s/.lang$//g; - $language_name = $language_xml_data->{about}->{name}; + $language_name = $language_data{about}{name}; $available_languages{$language_file_friendly} = $language_name . " (" . $language_file_friendly . ")"; @@ -1977,11 +2170,25 @@ foreach my $presmodule_file (@presmodule_directory){ # Get the friendly name for the database module. $presmodule_file =~ s/.pm$//g; - push(@presentation_modules, $presmodule_file); } +# Get the list of output modules. + +opendir(OUTPUTDIR, "Modules/Output"); +my @outputmodule_directory = grep /m*\.pm$/, readdir(OUTPUTDIR); +closedir(OUTPUTDIR); + +foreach my $outputmodule_file (@outputmodule_directory){ + + # Get the friendly name for the database module. + + $outputmodule_file =~ s/.pm$//g; + push(@output_modules, $outputmodule_file); + +} + # Get the list of database modules. opendir(DATABASEDIR, "Modules/Database"); @@ -1993,244 +2200,81 @@ foreach my $dbmodule_file (@dbmodule_directory){ # Get the friendly name for the database module. $dbmodule_file =~ s/.pm$//g; - push(@database_modules, $dbmodule_file); } -print h3($kiriwrite_lang{$language_selected}{settingstitle}); - +print "

$kiriwrite_lang{$language_selected}{settingstitle}

"; print $kiriwrite_lang{$language_selected}{settingstext}; -print br(); -print br(); - -print start_form("POST", "install.cgi"); -print hidden( -name => 'confirm', -default => '1'); -print hidden( -name => 'installlanguage', -default => $language_selected); - -print start_table({ -width => "100%" }); - -print start_Tr(); -print start_td({ -class => "tablecellheader" }); -print $kiriwrite_lang{$language_selected}{setting}; -print end_td(); -print start_td({ -class => "tablecellheader" }); -print $kiriwrite_lang{$language_selected}{value}; -print end_td(); -print end_Tr(); - -print start_Tr(); -print start_td({ -class => "tablecellheader" }); -print $kiriwrite_lang{$language_selected}{directories}; -print end_td(); -print start_td({ -class => "tablecellheader" }); -print end_td(); -print end_Tr(); - -print start_Tr(); -print start_td({ -class => "tablename" }); -print $kiriwrite_lang{$language_selected}{databasedirectory}; -print end_td(); -print start_td({ -class => "tabledata" }); -print textfield({ -name => "dbdirectory", -size => 32, -maxlength => 64, -value => $default_dbdirectory }); -print end_td(); -print end_Tr(); - -print start_Tr(); -print start_td({ -class => "tablename" }); -print $kiriwrite_lang{$language_selected}{outputdirectory}; -print end_td(); -print start_td({ -class => "tabledata" }); -print textfield({ -name => "outputdirectory", -size => 32, -maxlength => 64, -value => $default_outputdirectory }); -print end_td(); -print end_Tr(); - -print start_Tr(); -print start_td({ -class => "tablename" }); -print $kiriwrite_lang{$language_selected}{imagesuripath}; -print end_td(); -print start_td({ -class => "tabledata" }); -print textfield({ -name => "imagesuripath", -size => 32, -maxlength => 64, -value => $default_imagesuri }); -print end_td(); -print end_Tr(); - -print start_Tr(); -print start_td({ -class => "tablecellheader" }); -print $kiriwrite_lang{$language_selected}{date}; -print end_td(); -print start_td({ -class => "tablecellheader" }); -print ""; -print end_td(); -print end_Tr(); - -print start_Tr(); -print start_td({ -class => "tablename" }); -print $kiriwrite_lang{$language_selected}{dateformat}; -print end_td(); -print start_td({ -class => "tabledata" }); - -print popup_menu( -name => "dateformat", -values => @datetime_formats ); -print textfield({ -name => "customdateformat", -size => 32, -maxlength => 64, }); - -print end_td(); -print end_Tr(); - -print start_Tr(); -print start_td({ -class => "tablecellheader" }); -print $kiriwrite_lang{$language_selected}{language}; -print end_td(); -print start_td({ -class => "tablecellheader" }); -print end_td(); -print end_Tr(); - -print start_Tr(); -print start_td({ -class => "tablename" }); -print $kiriwrite_lang{$language_selected}{systemlanguage}; -print end_td(); -print start_td({ -class => "tabledata" }); - -# Note: This the following code is bodge. If anyone can fix it so that it all works -# with popup_menu properly it will be appriciated. - -print "\n\n"; + +print ""; +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{setting}, "tablecellheader", $kiriwrite_lang{$language_selected}{value}, "tablecellheader"); +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{directories}, "tablecellheader", "", "tablecellheader"); +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{databasedirectory}, "tablename", "", "tabledata"); +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{outputdirectory}, "tablename", "", "tabledata"); +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{imagesuripath}, "tablename", "", "tabledata"); +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{display}, "tablecellheader", "", "tablecellheader"); +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{textarearows}, "tablename", "", "tabledata"); +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{textareacols}, "tablename", "", "tabledata"); +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{date}, "tablecellheader", "", "tablecellheader"); + +foreach my $select_name (@datetime_formats){ + $select_data = $select_data . "\n"; +} -foreach my $language (keys %available_languages){ +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{dateformat}, "tablename", "\n", "tabledata"); +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{language}, "tablecellheader", "", "tablecellheader"); +foreach my $language (keys %available_languages){ if ($language eq $language_selected){ + $language_out = $language_out . "\n"; + } else { + $language_out = $language_out . "\n"; + } +} - print ""; +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{systemlanguage}, "tablename", "", "tabledata"); - } else { +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{modules}, "tablecellheader", "", "tablecellheader"); - print ""; +foreach $presmodule_name (@presentation_modules){ + $presmodule_out = $presmodule_out . ""; +} +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{presentationmodule}, "tablename", "", "tabledata"); - } +foreach $dbmodule_name (@database_modules){ + $dbmodule_out = $dbmodule_out . ""; +} +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{databasemodule}, "tablename", "", "tabledata"); +foreach $outputmodule_name (@output_modules){ + if ($default_outputmodule = $outputmodule_name){ + $outputmodule_out = $outputmodule_out . ""; + } else { + $outputmodule_out = $outputmodule_out . ""; + } } +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{outputmodule}, "tablename", "", "tabledata"); + +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{databaseserver}, "tablename", "\n", "tabledata"); +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{databaseport}, "tablename", "\n", "tabledata"); +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{databaseprotocol}, "tablename", "\n", "tabledata"); +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{databasename}, "tablename", "\n", "tabledata"); +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{databaseusername}, "tablename", "\n", "tabledata"); +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{databasepassword}, "tablename", "\n", "tabledata"); +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{databasetableprefix}, "tablename", "\n", "tabledata"); +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{installationoptions}, "tablecellheader", "", "tablecellheader"); +kiriwrite_addtablerow($kiriwrite_lang{$language_selected}{installoptions}, "tablename", " $kiriwrite_lang{$language_selected}{removeinstallscript}\n", "tabledata"); + +print "
\n"; + +print "
\n | \n"; -print ""; - -print end_td(); -print end_Tr(); - -print start_Tr(); -print start_td({ -class => "tablecellheader" }); -print $kiriwrite_lang{$language_selected}{modules}; -print end_td(); -print start_td({ -class => "tablecellheader" }); -print ""; -print end_td(); -print end_Tr(); - -print start_Tr(); -print start_td({ -class => "tablename" }); -print $kiriwrite_lang{$language_selected}{presentationmodule}; -print end_td(); -print start_td({ -class => "tabledata" }); -print popup_menu({ -name => 'presmodule', -values => $presentation_modules_ref }); -print end_td(); -print end_Tr(); - -print start_Tr(); -print start_td({ -class => "tablename" }); -print $kiriwrite_lang{$language_selected}{databasemodule}; -print end_td(); -print start_td({ -class => "tabledata" }); -print popup_menu({ -name => 'dbmodule', -values => $database_modules_ref }); -print end_td(); -print end_Tr(); - -print start_Tr(); -print start_td({ -class => "tablename" }); -print $kiriwrite_lang{$language_selected}{databaseserver}; -print end_td(); -print start_td({ -class => "tabledata" }); -print textfield({ -name => "databaseserver", -size => 32, -maxlength => 128, -value => $default_server }); -print end_td(); -print end_Tr(); - -print start_Tr(); -print start_td({ -class => "tablename" }); -print $kiriwrite_lang{$language_selected}{databaseport}; -print end_td(); -print start_td({ -class => "tabledata" }); -print textfield({ -name => "databaseport", -maxlength => 5, -size => 5, -value => $default_port }); -print end_td(); -print end_Tr(); - -print start_Tr(); -print start_td({ -class => "tablename" }); -print $kiriwrite_lang{$language_selected}{databaseprotocol}; -print end_td(); -print start_td({ -class => "tabledata" }); -print popup_menu( -name => "databaseprotocol", -values => [ 'tcp', 'udp' ], -default => $default_protocol); -print end_td(); -print end_Tr(); - -print start_Tr(); -print start_td({ -class => "tablename" }); -print $kiriwrite_lang{$language_selected}{databasename}; -print end_td(); -print start_td({ -class => "tabledata" }); -print textfield({ -name => "databasename", -size => 32, -maxlength => 32, -default => $default_name }); -print end_td(); -print end_Tr(); - -print start_Tr(); -print start_td({ -class => "tablename" }); -print $kiriwrite_lang{$language_selected}{databaseusername}; -print end_td(); -print start_td({ -class => "tabledata" }); -print textfield({ -name => "databaseusername", -size => 16, -maxlength => 16, -default => $default_username }); -print end_td(); -print end_Tr(); - -print start_Tr(); -print start_td({ -class => "tablename" }); -print $kiriwrite_lang{$language_selected}{databasepassword}; -print end_td(); -print start_td({ -class => "tabledata" }); -print password_field({ -name => "databasepassword", -size => 32, -maxlength => 64 }); -print end_td(); -print end_Tr(); - -print start_Tr(); -print start_td({ -class => "tablename" }); -print $kiriwrite_lang{$language_selected}{databasetableprefix}; -print end_td(); -print start_td({ -class => "tabledata" }); -print textfield({ -name => "databasetableprefix", -size => 32, -maxlength => 32, -default => $default_prefix }); -print end_td(); -print end_Tr(); - -print start_Tr(); -print start_td({ -class => "tablecellheader" }); -print $kiriwrite_lang{$language_selected}{installationoptions}; -print end_td(); -print start_td({ -class => "tablecellheader" }); -print ""; -print end_td(); -print end_Tr(); - -print start_Tr(); -print start_td({ -class => "tablename" }); -print $kiriwrite_lang{$language_selected}{installoptions}; -print end_td(); -print start_td({ -class => "tabledata" }); -print checkbox( -name => 'removeinstallscript', -checked => 1, -label => " " . $kiriwrite_lang{$language_selected}{removeinstallscript}); -print end_td(); -print end_Tr(); - -print end_table(); - -print br(); -print submit($kiriwrite_lang{$language_selected}{savesettingsbutton}); -print " | "; -print reset($kiriwrite_lang{$language_selected}{resetsettingsbutton}); - -print end_form(); - -print end_html; +print "\n\n"; exit; __END__ \ No newline at end of file