Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
More modifications
[kiriwrite/.git] / cgi-files / kiriwrite.cgi
index 85d6a2d..83c80e4 100755 (executable)
@@ -26,12 +26,15 @@ use warnings;                               # Write warnings to the HTTP Server Log file.
 
 use utf8;
 use CGI qw(header);
-use CGI::Carp('fatalsToBrowser');      # Output errors to the browser.
 use Tie::IxHash;
 
+# This is commented out because it uses a fair bit of CPU usage.
+
+#use CGI::Carp('fatalsToBrowser');     # Output errors to the browser.
+
 # Declare global variables for Kiriwrite settings and languages.
 
-my ($kiriwrite_config, %kiriwrite_config, $kiriwrite_lang, $kiriwrite_version, %kiriwrite_version, $kiriwrite_env, %kiriwrite_env, $kiriwrite_presmodule, $kiriwrite_dbmodule);
+my ($kiriwrite_config, %kiriwrite_config, $kiriwrite_lang, $kiriwrite_version, %kiriwrite_version, $kiriwrite_env, %kiriwrite_env, $kiriwrite_presmodule, $kiriwrite_dbmodule, $xsl);
 
 # Setup the version information for Kiriwrite.
 
@@ -75,6 +78,8 @@ sub BEGIN{
                "script_filename" => $script_filename,
        );
 
+       $ENV{XML_SIMPLE_PREFERRED_PARSER} = "XML::Parser";
+
 }
 
 #################################################################################
@@ -3152,34 +3157,20 @@ sub kiriwrite_page_multicopy{
                my @newdatabase_page;
 
                my $filename;
-               my $filename_sql;
-               my $filename_out;
 
-               my $olddatabase_database_handle;
-               my $olddatabase_string_handle;
                my $olddatabase_name;
-               my $newdatabase_database_handle;
-               my $newdatabase_string_handle;
                my $newdatabase_name;
 
                my $page;
                my $warning;
                my $page_filename;
-               my $page_filename_sql;
                my $page_name;
-               my $page_name_sql;
                my $page_description;
-               my $page_description_sql;
                my $page_section;
-               my $page_section_sql;
                my $page_template;
-               my $page_template_sql;
                my $page_data;
-               my $page_data_sql;
                my $page_settings;
-               my $page_settings_sql;
                my $page_lastmodified;
-               my $page_lastmodified_sql;
 
                my $page_seek = 0;
                my $warning_count = 0;
@@ -4649,7 +4640,7 @@ sub kiriwrite_page_list{
        } else {
 
                my %database_info;
-               my %template_info;
+               my %page_info;
                my @database_pages;
                my $pagemultioptions    = "";
                my $db_name             = "";
@@ -4665,7 +4656,7 @@ sub kiriwrite_page_list{
                my $db_file_notblank    = 0;
 
                tie(%database_info, 'Tie::IxHash');
-               tie(%template_info, 'Tie::IxHash');
+               tie(%page_info, 'Tie::IxHash');
 
                # The database_file variable is not blank, so print out a list of pages from
                # the selected database.
@@ -4792,7 +4783,7 @@ sub kiriwrite_page_list{
 
                        foreach $page_filename (@database_pages){
 
-                               %template_info = $kiriwrite_dbmodule->getpageinfo({ PageFilename => $page_filename });
+                               %page_info = $kiriwrite_dbmodule->getpageinfo({ PageFilename => $page_filename, Reduced => 1 });
 
                                # Check if any errors have occured.
 
@@ -4813,10 +4804,10 @@ sub kiriwrite_page_list{
 
                                $page_count++;
 
-                               $page_filename          = $template_info{"PageFilename"};
-                               $page_name              = $template_info{"PageName"};
-                               $page_description       = $template_info{"PageDescription"};
-                               $page_modified          = $template_info{"PageLastModified"};
+                               $page_filename          = $page_info{"PageFilename"};
+                               $page_name              = $page_info{"PageName"};
+                               $page_description       = $page_info{"PageDescription"};
+                               $page_modified          = $page_info{"PageLastModified"};
 
                                # Set the table cell style.
 
@@ -10309,10 +10300,6 @@ sub kiriwrite_settings_edit{
 
        my $confirm                             = $passedoptions->{"Confirm"};
 
-       # Load the required Perl modules.
-
-       my $xsl = XML::Simple->new();
-
        if (!$confirm){
 
                # If the confirm value is blank, then set the confirm
@@ -11300,7 +11287,7 @@ sub kiriwrite_settings_load{
        # Load the required Perl modules.
 
        use XML::Simple qw(XMLin);
-       my $xsl = XML::Simple->new();
+       $xsl = XML::Simple->new();
 
        # Check if the Kiriwrite configuration file exists before using it and
        # return an critical error if it doesn't exist.
@@ -13417,15 +13404,32 @@ sub kiriwrite_output_xml{
 
                # Convert the password to make sure it can be read properly.
 
-               $settings_database_password =~ s/\0//g;
-               $settings_database_password =~ s/</&lt;/g;
-               $settings_database_password =~ s/>/&gt;/g;
+               if ($settings_database_password){
+
+                       $settings_database_password =~ s/\0//g;
+                       $settings_database_password =~ s/</&lt;/g;
+                       $settings_database_password =~ s/>/&gt;/g;
+
+               }
 
                # Convert the less than and greater than characters are there and
                # convert them.
 
-               $settings_imagesuri =~ s/</&lt;/g;
-               $settings_imagesuri =~ s/>/&gt;/g;
+               if ($settings_imagesuri){
+
+                       $settings_imagesuri =~ s/</&lt;/g;
+                       $settings_imagesuri =~ s/>/&gt;/g;
+
+               }
+
+               # Check if the database password value is undefined and if it is then
+               # set it blank.
+
+               if (!$settings_database_password){
+
+                       $settings_database_password = "";
+
+               }
 
                # Create the XML data layout.
 
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy