my ($options, %options);
my $database_handle;
my $string_handle;
-my $second_database_handle;
-my $second_string_handle;
+my $error = "";
+my $errorext = "";
my $database_filename;
my $second_database_filename;
+my $second_database_handle;
+my $second_string_handle;
my $templatedb_loaded = 0;
my $templatedb_exists = 1;
my $template_string_handle;
my $filterdb_exists = 1;
my $filterdb_string_handle;
my $filterdb_database_handle;
-my $error = "";
-my $errorext = "";
+
#################################################################################
# Generic Subroutines. #
}
+ # Check if there is a page that already exists with the new
+ # filename.
+
+ if ($page_filename ne $page_newfilename){
+
+ $string_handle = $database_handle->prepare('SELECT filename FROM kiriwrite_database_pages WHERE filename = \'' . $class->convert($page_newfilename) . '\' LIMIT 1') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
+ $string_handle->execute();
+
+ # Check if a page really is using the new filename.
+
+ while (@page_info = $string_handle->fetchrow_array()){
+
+ # The page information is found.
+
+ $page_found = 1;
+
+ }
+
+ if ($page_found eq 1){
+
+ $error = "PageExists";
+ return;
+
+ }
+
+ }
+
# Get the current date.
my ($created_second, $created_minute, $created_hour, $created_day, $created_month, $created_year, $created_weekday, $created_yearday, $created_dst) = localtime;