X-Git-Url: http://Server1/repobrowser/?p=kiriwrite%2F.git;a=blobdiff_plain;f=cgi-files%2FModules%2FDatabase%2FMySQL5.pm;h=5c1e5d9f2f246901b8147fa2653635721ff1121b;hp=42c3fd9aa27a7572c3608e5017698e4d5ba797c4;hb=807fbc25c35ea3cdf16adcb2106fbb63b3511a68;hpb=1a2430bc24c3a226970f143e589734d77f78d765 diff --git a/cgi-files/Modules/Database/MySQL5.pm b/cgi-files/Modules/Database/MySQL5.pm index 42c3fd9..5c1e5d9 100644 --- a/cgi-files/Modules/Database/MySQL5.pm +++ b/cgi-files/Modules/Database/MySQL5.pm @@ -21,7 +21,7 @@ # Define the package (perl module) name. -package Kiriwrite::Database::MySQL5; +package Modules::Database::MySQL5; # Enable strict and use warnings. @@ -35,7 +35,7 @@ use DBI qw(:sql_types); # Set the following values. -our $VERSION = "0.1.0"; +our $VERSION = "0.5.0"; my ($options, %options); my $database_handle; my $statement_handle; @@ -1098,16 +1098,40 @@ sub gettemplatelist{ # # # Usage: # # # -# $dbmodule->gettemplatelist(); # +# $dbmodule->gettemplatelist(options); # +# # +# options Specifies the following options as a hash (in any order). # +# # +# StartFrom Specifies where the list of templates will start from. # +# Limit Specifies how many templates should be retrieved. # ################################################################################# - my $error = ""; - my $errorext = ""; + $error = ""; + $errorext = ""; - my $class = shift; + my $class = shift; + my ($passedoptions) = @_; - $statement_handle = $database_handle->prepare('SELECT filename FROM ' . $class->convert($options{"TablePrefix"}) . '_templates ORDER BY filename ASC') or ( $error = "TemplateDatabaseError", $errorext = $database_handle->errstr, return ); - $statement_handle->execute(); + my $start_from = $passedoptions->{"StartFrom"}; + my $limit = $passedoptions->{"Limit"}; + + if (defined($start_from)){ + + if (!$limit){ + + $limit = 0; + + } + + $statement_handle = $database_handle->prepare('SELECT filename FROM ' . $class->convert($options{"TablePrefix"}) . '_templates ORDER BY filename ASC LIMIT ' . $start_from . ',' . $limit ) or ( $error = "TemplateDatabaseError", $errorext = $database_handle->errstr, return ); + $statement_handle->execute(); + + } else { + + $statement_handle = $database_handle->prepare('SELECT filename FROM ' . $class->convert($options{"TablePrefix"}) . '_templates ORDER BY filename ASC') or ( $error = "TemplateDatabaseError", $errorext = $database_handle->errstr, return ); + $statement_handle->execute(); + + } my @database_template; my @templates_list; @@ -1117,7 +1141,7 @@ sub gettemplatelist{ # Get certain values from the array. - $template_filename = decode_utf8($database_template[0]); + $template_filename = $database_template[0]; # Add the template to the list of templates. @@ -1140,6 +1164,8 @@ sub gettemplateinfo{ # options Specifies the following options in any order. # # # # TemplateFilename Specifies the template filename to use. # +# Reduced Specifies if the reduced version of the template # +# information should be retrieved. # ################################################################################# $error = ""; @@ -1162,9 +1188,19 @@ sub gettemplateinfo{ my $template_found = 0; my $filename = $passedoptions->{"TemplateFilename"}; + my $reduced = $passedoptions->{"Reduced"}; - $statement_handle = $database_handle->prepare('SELECT filename, templatename, templatedescription, templatelayout, datemodified FROM ' . $class->convert($options{"TablePrefix"}) . '_templates WHERE filename = \'' . $class->convert($filename) . '\'') or ( $error = "TemplateDatabaseError", $errorext = $database_handle->errstr, return ); - $statement_handle->execute(); + if ($reduced && $reduced eq 1){ + + $statement_handle = $database_handle->prepare('SELECT filename, templatename, templatedescription, datemodified FROM ' . $class->convert($options{"TablePrefix"}) . '_templates WHERE filename = \'' . $class->convert($filename) . '\'') or ( $error = "TemplateDatabaseError", $errorext = $database_handle->errstr, return ); + $statement_handle->execute(); + + } else { + + $statement_handle = $database_handle->prepare('SELECT filename, templatename, templatedescription, templatelayout, datemodified FROM ' . $class->convert($options{"TablePrefix"}) . '_templates WHERE filename = \'' . $class->convert($filename) . '\'') or ( $error = "TemplateDatabaseError", $errorext = $database_handle->errstr, return ); + $statement_handle->execute(); + + } while (@template_data = $statement_handle->fetchrow_array()){ @@ -1200,10 +1236,32 @@ sub gettemplateinfo{ } - return %page_info; + return %page_info; } +sub gettemplatecount{ +################################################################################# +# gettemplatecount: Gets the count of templates in the template database. # +# # +# Usage: # +# # +# $dbmodule->gettemplatecount(); # +################################################################################# + + $error = ""; + $errorext = ""; + + my $class = shift; + + $statement_handle = $database_handle->prepare('SELECT COUNT(*) FROM ' . $class->convert($options{"TablePrefix"}) . '_templates') or ( $error = "FilterDatabaseError", $errorext = $database_handle->errstr, return); + $statement_handle->execute(); + + my $count = $statement_handle->fetchrow_array(); + + return $count; + +} sub addtemplate{ ################################################################################# @@ -1453,22 +1511,69 @@ sub deletetemplate{ # Page subroutines. # ################################################################################# +sub getpagecount{ +################################################################################# +# getpagecount: Get the count of pages that are in the database. # +# # +# Usage: # +# # +# $dbmodule->getpagecount(); # +################################################################################# + + $error = ""; + $errorext = ""; + + my $class = shift; + + $statement_handle = $database_handle->prepare('SELECT COUNT(*) FROM ' . $class->convert($options{"TablePrefix"}) . '_' . $class->convert($database_filename) . '_database_pages') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return); + $statement_handle->execute(); + + my $count = $statement_handle->fetchrow_array(); + + return $count; + +} + sub getpagelist{ ################################################################################# # getpagelist: Gets the list of pages from the database. # # # # Usage: # # # -# $dbmodule->getpagelist(); # +# $dbmodule->getpagelist(options); # +# # +# options Specifies the following options as a hash (in any order). # +# # +# StartFrom Start from the specified page in the database. # +# Limit Get the amount of pages given. # ################################################################################# $error = ""; $errorext = ""; my $class = shift; + my ($passedoptions) = shift; + + my $start_from = $passedoptions->{"StartFrom"}; + my $limit = $passedoptions->{"Limit"}; - $statement_handle = $database_handle->prepare('SELECT filename FROM ' . $class->convert($options{"TablePrefix"}) . '_' . $class->convert($database_filename) . '_database_pages') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return ); - $statement_handle->execute(); + if (defined($start_from)){ + + if (!$limit){ + + $limit = 0; + + } + + $statement_handle = $database_handle->prepare('SELECT filename FROM ' . $class->convert($options{"TablePrefix"}) . '_' . $class->convert($database_filename) . '_database_pages LIMIT ' . $start_from . ',' . $limit) or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return ); + $statement_handle->execute(); + + } else { + + $statement_handle = $database_handle->prepare('SELECT filename FROM ' . $class->convert($options{"TablePrefix"}) . '_' . $class->convert($database_filename) . '_database_pages') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return ); + $statement_handle->execute(); + + } my @database_pagefilenames; my @database_pagefilenames_final; @@ -1578,6 +1683,7 @@ sub getpageinfo{ "PageContent" => $pagedata, "PageSettings" => $pagesettings, "PageLastModified" => $class->dateconvert($pagelastmodified), + # ADD PageLastModifiedInternal ); $page_found = 1; @@ -2178,21 +2284,43 @@ sub getfilterlist{ # # # Usage: # # # -# $dbmodule->getfilterlist(); # +# $dbmodule->getfilterlist(options); # +# # +# options Specifies the following options as a hash (in any order). # +# # +# StartFrom Specifies where the list of filters should start from. # +# Limit Specifies the amount of the filters to get. # ################################################################################# $error = ""; $errorext = ""; my $class = shift; + my ($passedoptions) = shift; my @filter_list; my @filter_data; - # Get the list of filters available. + my $start_from = $passedoptions->{"StartFrom"}; + my $limit = $passedoptions->{"Limit"}; - $statement_handle = $database_handle->prepare('SELECT id, priority FROM ' . $class->convert($options{"TablePrefix"}) . '_filters ORDER BY priority ASC') or ( $error = "FilterDatabaseError", $errorext = $database_handle->errstr, return ); - $statement_handle->execute(); + if (defined($start_from)){ + + if (!$limit){ + + $limit = 0; + + } + + $statement_handle = $database_handle->prepare('SELECT id, priority FROM ' . $class->convert($options{"TablePrefix"}) . '_filters ORDER BY priority ASC LIMIT ' . $start_from . ',' . $limit) or ( $error = "FilterDatabaseError", $errorext = $database_handle->errstr, return ); + $statement_handle->execute(); + + } else { + + $statement_handle = $database_handle->prepare('SELECT id, priority FROM ' . $class->convert($options{"TablePrefix"}) . '_filters ORDER BY priority ASC') or ( $error = "FilterDatabaseError", $errorext = $database_handle->errstr, return ); + $statement_handle->execute(); + + } while (@filter_data = $statement_handle->fetchrow_array()){ @@ -2206,6 +2334,29 @@ sub getfilterlist{ } +sub getfiltercount{ +################################################################################# +# getfiltercount: Gets the count of filters in the filters database. # +# # +# Usage: # +# # +# $dbmodule->getfiltercount(); # +################################################################################# + + $error = ""; + $errorext = ""; + + my $class = shift; + + $statement_handle = $database_handle->prepare('SELECT COUNT(*) FROM ' . $class->convert($options{"TablePrefix"}) . '_filters') or ( $error = "FilterDatabaseError", $errorext = $database_handle->errstr, return); + $statement_handle->execute(); + + my $count = $statement_handle->fetchrow_array(); + + return $count; + +} + sub getfilterinfo{ ################################################################################# # getfilterinfo: Gets information about the filter. # @@ -2217,6 +2368,7 @@ sub getfilterinfo{ # options Specifies the following options in any order. # # # # FilterID Specifies the filter ID number to get information from. # +# Reduced Specifies to get the reduced version of the filter information. # ################################################################################# $error = ""; @@ -2234,9 +2386,19 @@ sub getfilterinfo{ # Get the values that are in the hash. my $filter_id = $passedoptions->{"FilterID"}; + my $reduced = $passedoptions->{"Reduced"}; - $statement_handle = $database_handle->prepare('SELECT id, priority, findsetting, replacesetting, notes FROM ' . $class->convert($options{"TablePrefix"}) . '_filters where id = \'' . $class->convert($filter_id) . '\'') or ( $error = "FilterDatabaseError", $errorext = $database_handle->errstr, return ); - $statement_handle->execute(); + if ($reduced && $reduced eq 1){ + + $statement_handle = $database_handle->prepare('SELECT id, priority, findsetting, replacesetting, enabled FROM ' . $class->convert($options{"TablePrefix"}) . '_filters where id = \'' . $class->convert($filter_id) . '\'') or ( $error = "FilterDatabaseError", $errorext = $database_handle->errstr, return ); + $statement_handle->execute(); + + } else { + + $statement_handle = $database_handle->prepare('SELECT id, priority, findsetting, replacesetting, enabled, notes FROM ' . $class->convert($options{"TablePrefix"}) . '_filters where id = \'' . $class->convert($filter_id) . '\'') or ( $error = "FilterDatabaseError", $errorext = $database_handle->errstr, return ); + $statement_handle->execute(); + + } # Get the filter information. @@ -2246,7 +2408,8 @@ sub getfilterinfo{ $filter_info{"FilterPriority"} = decode_utf8($filter_data[1]); $filter_info{"FilterFind"} = decode_utf8($filter_data[2]); $filter_info{"FilterReplace"} = decode_utf8($filter_data[3]); - $filter_info{"FilterNotes"} = decode_utf8($filter_data[4]); + $filter_info{"FilterEnabled"} = decode_utf8($filter_data[4]); + $filter_info{"FilterNotes"} = decode_utf8($filter_data[5]); $filter_exists = 1; @@ -2283,6 +2446,7 @@ sub addfilter{ # FindFilter Specifies the find filter to add. # # ReplaceFilter Specifies the replace filter to add. # # Priority Specifies the filter priority to use. # +# Enabled Specifies if the filter should be enabled. # # Notes Specifies the notes to use. # ################################################################################# @@ -2312,6 +2476,7 @@ sub addfilter{ my $filter_find = $passedoptions->{"FindFilter"}; my $filter_replace = $passedoptions->{"ReplaceFilter"}; my $filter_priority = $passedoptions->{"Priority"}; + my $filter_enabled = $passedoptions->{"Enabled"}; my $filter_notes = $passedoptions->{"Notes"}; # Check if the template database exists. @@ -2352,6 +2517,12 @@ sub addfilter{ } + if (!$filter_enabled){ + + $filter_enabled = ""; + + } + # Check if there is really no filter table. if (!$filterdb_exists){ @@ -2363,6 +2534,7 @@ sub addfilter{ priority int(5), findsetting varchar(1024), replacesetting varchar(1024), + enabled varchar(3), notes text ) DEFAULT CHARSET=utf8') or ( $error = "FilterDatabaseError", $errorext = $database_handle->errstr, return ); $statement_handle->execute(); @@ -2462,6 +2634,7 @@ sub editfilter{ # NewFindFilter Specifies the new find filter setting. # # NewReplaceFilter Specifies the new replace filter setting. # # NewFilterPriority Specifies the new filter priority setting. # +# NewEnabled Specifies if the filter is enabled. # # NewFilterNotes Specifies the new notes for the filter. # ################################################################################# @@ -2483,6 +2656,7 @@ sub editfilter{ my $filter_newfind = $passedoptions->{"NewFindFilter"}; my $filter_newreplace = $passedoptions->{"NewReplaceFilter"}; my $filter_newpriority = $passedoptions->{"NewFilterPriority"}; + my $filter_enabled = $passedoptions->{"NewEnabled"}; my $filter_newnotes = $passedoptions->{"NewFilterNotes"}; # Check if the filter exists before editing it. @@ -2516,6 +2690,7 @@ sub editfilter{ findsetting = \'' . $class->convert($filter_newfind) . '\', replacesetting = \'' . $class->convert($filter_newreplace) . '\', priority = \'' . $class->convert($filter_newpriority) . '\', + enabled = \'' . $class->convert($filter_enabled) . '\', notes = \'' . $class->convert($filter_newnotes) . '\' WHERE id = \'' . $class->convert($filter_id) . '\'') or ( $error = "FilterDatabaseError", $errorext = $database_handle->errstr, return ); $statement_handle->execute();