X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=cgi-files%2FModules%2FDatabase%2FSQLite.pm;h=77366c490bc42136d09ea5c9285da15e7a9fea62;hb=f4287e42a5e96cffe70d84a3c659d5be3eab46d5;hp=31d0deeff1c511a51acb5716e95d428543a6e8b7;hpb=1553f195cb1ca50f1409afec52b29002e03b4511;p=kiriwrite%2F.git diff --git a/cgi-files/Modules/Database/SQLite.pm b/cgi-files/Modules/Database/SQLite.pm index 31d0dee..77366c4 100644 --- a/cgi-files/Modules/Database/SQLite.pm +++ b/cgi-files/Modules/Database/SQLite.pm @@ -605,11 +605,11 @@ sub getdblist{ foreach $database (@data_directory){ - $database =~ s/.db.sqlite$//g; + $database =~ s/.db.sqlite$//og; $database_filename_friendly = $database; #$database_filename_length = length($database); - #$database_filename_friendly = substr($database, 0, $database_filename_length - 3); + #$database_filename_friendly = substr($database, 0, $database_filename_length - 10); push(@data_directory_final, $database_filename_friendly); } @@ -1184,6 +1184,8 @@ sub getpageinfo{ # options Specifies the following options in any order. # # # # PageFilename Specifies the page filename to get the page information from. # +# Reduced Specifies if the reduced version of the page information should # +# be retrieved. # ################################################################################# $error = ""; @@ -1200,39 +1202,82 @@ sub getpageinfo{ # Get the page from the database. my $page_filename = $passedoptions->{"PageFilename"}; + my $page_reduced = $passedoptions->{"Reduced"}; - $string_handle = $database_handle->prepare('SELECT filename, pagename, pagedescription, pagesection, pagetemplate, pagedata, pagesettings, lastmodified FROM kiriwrite_database_pages WHERE filename = \'' . $class->convert($page_filename) . '\' LIMIT 1') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return ); - $string_handle->execute(); + if (!$page_reduced){ - # Check if the page exists in the database. + $page_reduced = 0; - while (@data_page = $string_handle->fetchrow_array()){ + } - # Get the values from the array. + if ($page_reduced eq 1){ - $pagefilename = $data_page[0]; - $pagename = $data_page[1]; - $pagedescription = $data_page[2]; - $pagesection = $data_page[3]; - $pagetemplate = $data_page[4]; - $pagedata = $data_page[5]; - $pagesettings = $data_page[6]; - $pagelastmodified = $data_page[7]; + $string_handle = $database_handle->prepare('SELECT filename, pagename, pagedescription, lastmodified FROM kiriwrite_database_pages WHERE filename = \'' . $class->convert($page_filename) . '\' LIMIT 1') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return ); - # Put the values into the page hash. + $string_handle->execute(); - %database_page = ( - "PageFilename" => $pagefilename, - "PageName" => $pagename, - "PageDescription" => $pagedescription, - "PageSection" => $pagesection, - "PageTemplate" => $pagetemplate, - "PageContent" => $pagedata, - "PageSettings" => $pagesettings, - "PageLastModified" => $class->dateconvert($pagelastmodified), - ); + # Check if the page exists in the database. - $page_found = 1; + while (@data_page = $string_handle->fetchrow_array()){ + + # Get the values from the array. + + $pagefilename = $data_page[0]; + $pagename = $data_page[1]; + $pagedescription = $data_page[2]; + $pagelastmodified = $data_page[3]; + + # Put the values into the page hash. + + %database_page = ( + "PageFilename" => $pagefilename, + "PageName" => $pagename, + "PageDescription" => $pagedescription, + "PageLastModified" => $class->dateconvert($pagelastmodified), + ); + + $page_found = 1; + + } + + + } else { + + $string_handle = $database_handle->prepare('SELECT filename, pagename, pagedescription, pagesection, pagetemplate, pagedata, pagesettings, lastmodified FROM kiriwrite_database_pages WHERE filename = \'' . $class->convert($page_filename) . '\' LIMIT 1') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return ); + + $string_handle->execute(); + + # Check if the page exists in the database. + + while (@data_page = $string_handle->fetchrow_array()){ + + # Get the values from the array. + + $pagefilename = $data_page[0]; + $pagename = $data_page[1]; + $pagedescription = $data_page[2]; + $pagesection = $data_page[3]; + $pagetemplate = $data_page[4]; + $pagedata = $data_page[5]; + $pagesettings = $data_page[6]; + $pagelastmodified = $data_page[7]; + + # Put the values into the page hash. + + %database_page = ( + "PageFilename" => $pagefilename, + "PageName" => $pagename, + "PageDescription" => $pagedescription, + "PageSection" => $pagesection, + "PageTemplate" => $pagetemplate, + "PageContent" => $pagedata, + "PageSettings" => $pagesettings, + "PageLastModified" => $class->dateconvert($pagelastmodified), + ); + + $page_found = 1; + + } } @@ -1485,6 +1530,8 @@ sub editpage{ # Check if there is a page that already exists with the new # filename. + $page_found = 0; + 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 ); @@ -2114,11 +2161,11 @@ sub addfilter{ } - # Check if there were any filters in the filters database. + # Check if there were any filters in the filter database. if (!$filter_count && !$new_id){ - # There were no filters in the filters database so set + # There were no filters in the filter database so set # the new filter identification value to 1. $new_id = 1; @@ -2609,17 +2656,17 @@ sub addtemplate{ # Create a template table. - my $directory_permissions = main::kiriwrite_filepermissions(".", 1, 1, 0); + my $directory_permissions = main::kiriwrite_filepermissions(".", 1, 1, 0); - if ($directory_permissions eq 1){ + if ($directory_permissions eq 1){ - # The template database cannot be created because of invalid directory - # permissions so return an error. + # The template database cannot be created because of invalid directory + # permissions so return an error. - $error = "TemplateDatabaseFileUncreateable"; - return; + $error = "TemplateDatabaseFileUncreateable"; + return; - } + } $template_string_handle = $template_database_handle->prepare('create table kiriwrite_templates( filename varchar(256) primary key,