# 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 = "";
# 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 ' . $class->convert($options{"TablePrefix"}) . '_' . $class->convert($database_filename) . '_database_pages WHERE filename = \'' . $class->convert($page_filename) . '\' LIMIT 1') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
- $string_handle->execute();
+ if ($page_reduced eq 1){
- # Check if the page exists in the database.
+ $string_handle = $database_handle->prepare('SELECT filename, pagename, pagedescription, lastmodified FROM ' . $class->convert($options{"TablePrefix"}) . '_' . $class->convert($database_filename) . '_database_pages WHERE filename = \'' . $class->convert($page_filename) . '\' LIMIT 1') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
+ $string_handle->execute();
- while (@data_page = $string_handle->fetchrow_array()){
+ # Check if the page exists in the database.
- # Get the values from the array.
+ while (@data_page = $string_handle->fetchrow_array()){
- $pagefilename = decode_utf8($data_page[0]);
- $pagename = decode_utf8($data_page[1]);
- $pagedescription = decode_utf8($data_page[2]);
- $pagesection = decode_utf8($data_page[3]);
- $pagetemplate = decode_utf8($data_page[4]);
- $pagedata = decode_utf8($data_page[5]);
- $pagesettings = decode_utf8($data_page[6]);
- $pagelastmodified = decode_utf8($data_page[7]);
+ # Get the values from the array.
- # Put the values into the page hash.
+ $pagefilename = decode_utf8($data_page[0]);
+ $pagename = decode_utf8($data_page[1]);
+ $pagedescription = decode_utf8($data_page[2]);
+ $pagelastmodified = decode_utf8($data_page[3]);
- %database_page = (
- "PageFilename" => $pagefilename,
- "PageName" => $pagename,
- "PageDescription" => $pagedescription,
- "PageSection" => $pagesection,
- "PageTemplate" => $pagetemplate,
- "PageContent" => $pagedata,
- "PageSettings" => $pagesettings,
- "PageLastModified" => $class->dateconvert($pagelastmodified),
- );
+ # Put the values into the page hash.
- $page_found = 1;
+ %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 ' . $class->convert($options{"TablePrefix"}) . '_' . $class->convert($database_filename) . '_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 = decode_utf8($data_page[0]);
+ $pagename = decode_utf8($data_page[1]);
+ $pagedescription = decode_utf8($data_page[2]);
+ $pagesection = decode_utf8($data_page[3]);
+ $pagetemplate = decode_utf8($data_page[4]);
+ $pagedata = decode_utf8($data_page[5]);
+ $pagesettings = decode_utf8($data_page[6]);
+ $pagelastmodified = decode_utf8($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;
+
+ }
+
+ }
+
# Check if the page did exist.
if (!$page_found){
# 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 ' . $class->convert($options{"TablePrefix"}) . '_' . $class->convert($database_filename) . '_database_pages WHERE filename = \'' . $class->convert($page_newfilename) . '\' LIMIT 1') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
}
- # 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;