# Set the following values.
-our $VERSION = "0.1.0";
+our $VERSION = "0.2.0";
my ($options, %options);
my $database_handle;
-my $string_handle;
+my $statement_handle;
my $error = "";
my $errorext = "";
my $database_filename;
my $second_database_filename;
my $second_database_handle;
-my $second_string_handle;
+my $second_statement_handle;
my $templatedb_loaded = 0;
my $templatedb_exists = 1;
-my $template_string_handle;
+my $template_statement_handle;
my $template_database_handle;
my $filterdb_loaded = 0;
my $filterdb_exists = 1;
-my $filterdb_string_handle;
+my $filterdb_statement_handle;
my $filterdb_database_handle;
$error = "";
$errorext = "";
- $string_handle = $database_handle->prepare('SELECT name, description, notes, categories, kiriwrite_version_major, kiriwrite_version_minor, kiriwrite_version_revision FROM kiriwrite_database_info LIMIT 1') or (
+ $statement_handle = $database_handle->prepare('SELECT name, description, notes, categories, kiriwrite_version_major, kiriwrite_version_minor, kiriwrite_version_revision FROM kiriwrite_database_info LIMIT 1') or (
$error = "DatabaseError", $errorext = $database_handle->errstr, return
);
- $string_handle->execute();
+ $statement_handle->execute();
- @sqldata = $string_handle->fetchrow_array();
+ @sqldata = $statement_handle->fetchrow_array();
# Process the database information into a hash.
"Revision" => $sqldata[6]
);
- $string_handle->finish();
- undef $string_handle;
+ $statement_handle->finish();
+ undef $statement_handle;
return %databaseinfo;
$error = "";
$errorext = "";
- $second_string_handle = $second_database_handle->prepare('SELECT name, description, notes, categories, kiriwrite_version_major, kiriwrite_version_minor, kiriwrite_version_revision FROM kiriwrite_database_info LIMIT 1') or (
+ $second_statement_handle = $second_database_handle->prepare('SELECT name, description, notes, categories, kiriwrite_version_major, kiriwrite_version_minor, kiriwrite_version_revision FROM kiriwrite_database_info LIMIT 1') or (
$error = "DatabaseError", $errorext = $second_database_handle->errstr, return
);
- $second_string_handle->execute();
+ $second_statement_handle->execute();
- @sqldata = $second_string_handle->fetchrow_array();
+ @sqldata = $second_statement_handle->fetchrow_array();
# Process the database information into a hash.
"Revision" => $sqldata[6]
);
- $second_string_handle->finish();
- undef $second_string_handle;
+ $second_statement_handle->finish();
+ undef $second_statement_handle;
return %databaseinfo;
$database_handle = DBI->connect("dbi:SQLite:dbname=" . $options{"Directory"} . '/' . $dbfilename . ".db.sqlite");
$database_handle->{unicode} = 1;
- $string_handle = $database_handle->prepare('CREATE TABLE kiriwrite_database_info(
+ $statement_handle = $database_handle->prepare('CREATE TABLE kiriwrite_database_info(
name varchar(256) primary key,
description varchar(512),
notes text,
kiriwrite_version_minor int(4),
kiriwrite_version_revision int(4)
)') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
- $string_handle->execute();
+ $statement_handle->execute();
- $string_handle = $database_handle->prepare('CREATE TABLE kiriwrite_database_pages(
+ $statement_handle = $database_handle->prepare('CREATE TABLE kiriwrite_database_pages(
filename varchar(256) primary key,
pagename varchar(512),
pagedescription varchar(512),
pagesettings int(1),
lastmodified datetime
)') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
- $string_handle->execute();
+ $statement_handle->execute();
# Convert the values into SQL query formatted values and add an entry
# to the kiriwrite_database_info table.
- $string_handle = $database_handle->prepare('INSERT INTO kiriwrite_database_info (name, description, notes, categories, kiriwrite_version_major, kiriwrite_version_minor, kiriwrite_version_revision) VALUES(
+ $statement_handle = $database_handle->prepare('INSERT INTO kiriwrite_database_info (name, description, notes, categories, kiriwrite_version_major, kiriwrite_version_minor, kiriwrite_version_revision) VALUES(
\'' . $class->convert($dbname) . '\',
\'' . $class->convert($dbdescription) . '\',
\'' . $class->convert($dbnotes) . '\',
\'' . $class->convert($dbminorver) . '\',
\'' . $class->convert($dbrevisionver) . '\'
)') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
- $string_handle->execute();
+ $statement_handle->execute();
}
# Get the current database information.
- $string_handle = $database_handle->prepare('SELECT name FROM kiriwrite_database_info LIMIT 1') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
- $string_handle->execute();
+ $statement_handle = $database_handle->prepare('SELECT name FROM kiriwrite_database_info LIMIT 1') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
+ $statement_handle->execute();
- my @database_oldinfo = $string_handle->fetchrow_array();
+ my @database_oldinfo = $statement_handle->fetchrow_array();
my $dboldname = $database_oldinfo[0];
# Update the database information.
- $string_handle = $database_handle->prepare('UPDATE kiriwrite_database_info SET name = \'' . $class->convert($dbname) . '\',
+ $statement_handle = $database_handle->prepare('UPDATE kiriwrite_database_info SET name = \'' . $class->convert($dbname) . '\',
description = \'' . $class->convert($dbdescription) . '\',
notes = \'' . $class->convert($dbnotes) . '\',
categories = \'' . $class->convert($dbcategories) . '\'') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
- $string_handle->execute();
+ $statement_handle->execute();
- undef $string_handle;
+ undef $statement_handle;
return;
}
# #
# Usage: #
# #
-# $dbmodule->getpagelist(); #
+# $dbmodule->getpagelist(options); #
+# #
+# options Specifies the following options in any order. #
+# #
+# StartFrom Start from the specified page in the database. #
+# Limit Get the amount of pages given. #
#################################################################################
$error = "";
$errorext = "";
- my $class = shift;
-
- $string_handle = $database_handle->prepare('SELECT filename FROM kiriwrite_database_pages') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
- $string_handle->execute();
+ my $class = shift;
+ my ($passedoptions) = shift;
+
+ 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 kiriwrite_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 kiriwrite_database_pages') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
+ $statement_handle->execute();
+
+ }
my @database_pagefilenames;
my @database_pagefilenames_final;
# Process the collected pages.
- while (@database_pagefilenames = $string_handle->fetchrow_array){
+ while (@database_pagefilenames = $statement_handle->fetchrow_array){
# Add each page to the list of pages in the database.
}
- undef $string_handle;
+ undef $statement_handle;
return @database_pagefilenames_final;
}
+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 kiriwrite_database_pages') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return);
+ $statement_handle->execute();
+
+ my $count = $statement_handle->fetchrow_array();
+
+ return $count;
+
+}
+
sub getpageinfo{
#################################################################################
# getpageinfo: Gets the page information from the filename passed. #
if ($page_reduced eq 1){
- $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 );
+ $statement_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 );
- $string_handle->execute();
+ $statement_handle->execute();
# Check if the page exists in the database.
- while (@data_page = $string_handle->fetchrow_array()){
+ while (@data_page = $statement_handle->fetchrow_array()){
# Get the values from the array.
} 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 );
+ $statement_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();
+ $statement_handle->execute();
# Check if the page exists in the database.
- while (@data_page = $string_handle->fetchrow_array()){
+ while (@data_page = $statement_handle->fetchrow_array()){
# Get the values from the array.
}
- undef $string_handle;
+ undef $statement_handle;
return %database_page;
}
# Check to see if the filename given already exists
# in the page database.
- $string_handle = $database_handle->prepare('SELECT filename FROM kiriwrite_database_pages WHERE filename = \'' . $class->convert($page_filename) . '\' LIMIT 1') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
- $string_handle->execute();
+ $statement_handle = $database_handle->prepare('SELECT filename FROM kiriwrite_database_pages WHERE filename = \'' . $class->convert($page_filename) . '\' LIMIT 1') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
+ $statement_handle->execute();
# Check if a page with the filename given really does
# exist.
- while (@database_page = $string_handle->fetchrow_array()){
+ while (@database_page = $statement_handle->fetchrow_array()){
# A page does exist so increment the count to 1.
# Add the page to the selected database.
- $string_handle = $database_handle->prepare('INSERT INTO kiriwrite_database_pages (filename, pagename, pagedescription, pagesection, pagetemplate, pagedata, pagesettings, lastmodified) VALUES (
+ $statement_handle = $database_handle->prepare('INSERT INTO kiriwrite_database_pages (filename, pagename, pagedescription, pagesection, pagetemplate, pagedata, pagesettings, lastmodified) VALUES (
\'' . $class->convert($page_filename) . '\',
\'' . $class->convert($page_name) . '\',
\'' . $class->convert($page_description) . '\',
\'' . $class->convert($page_settings) . '\',
\'' . $class->convert($page_date) . '\'
)') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
- $string_handle->execute();
+ $statement_handle->execute();
- undef $string_handle;
+ undef $statement_handle;
}
# Check if the page exists before deleting it.
- $string_handle = $database_handle->prepare('SELECT filename FROM kiriwrite_database_pages WHERE filename = \'' . $class->convert($page_filename) . '\' LIMIT 1') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
- $string_handle->execute();
+ $statement_handle = $database_handle->prepare('SELECT filename FROM kiriwrite_database_pages WHERE filename = \'' . $class->convert($page_filename) . '\' LIMIT 1') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
+ $statement_handle->execute();
- while (@page_info = $string_handle->fetchrow_array()){
+ while (@page_info = $statement_handle->fetchrow_array()){
$page_found = 1;
# Delete the page.
- $string_handle = $database_handle->prepare('DELETE FROM kiriwrite_database_pages WHERE filename = \'' . $class->convert($page_filename) . '\'') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
- $string_handle->execute();
+ $statement_handle = $database_handle->prepare('DELETE FROM kiriwrite_database_pages WHERE filename = \'' . $class->convert($page_filename) . '\'') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
+ $statement_handle->execute();
}
# Check if the page with the filename given exists.
- $string_handle = $database_handle->prepare('SELECT filename FROM kiriwrite_database_pages WHERE filename = \'' . $class->convert($page_filename) . '\' LIMIT 1') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
- $string_handle->execute();
+ $statement_handle = $database_handle->prepare('SELECT filename FROM kiriwrite_database_pages WHERE filename = \'' . $class->convert($page_filename) . '\' LIMIT 1') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
+ $statement_handle->execute();
# Check if the page really does exist.
- while (@page_info = $string_handle->fetchrow_array()){
+ while (@page_info = $statement_handle->fetchrow_array()){
# The page information is found.
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();
+ $statement_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 );
+ $statement_handle->execute();
# Check if a page really is using the new filename.
- while (@page_info = $string_handle->fetchrow_array()){
+ while (@page_info = $statement_handle->fetchrow_array()){
# The page information is found.
# Edit the selected page.
- $string_handle = $database_handle->prepare('UPDATE kiriwrite_database_pages SET filename = \'' . $class->convert($page_newfilename) . '\', pagename = \'' . $class->convert($page_newname) . '\', pagedescription = \'' . $class->convert($page_newdescription) . '\', pagesection = \'' . $class->convert($page_newsection) . '\', pagetemplate = \'' . $class->convert($page_newtemplate) . '\', pagedata = \'' . $class->convert($page_newcontent) . '\', pagedata = \'' . $class->convert($page_newcontent) . '\', pagesettings = \'' . $class->convert($page_newsettings) . '\', lastmodified = \'' . $page_date . '\' WHERE filename = \'' . $class->convert($page_filename) . '\'') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
- $string_handle->execute();
+ $statement_handle = $database_handle->prepare('UPDATE kiriwrite_database_pages SET filename = \'' . $class->convert($page_newfilename) . '\', pagename = \'' . $class->convert($page_newname) . '\', pagedescription = \'' . $class->convert($page_newdescription) . '\', pagesection = \'' . $class->convert($page_newsection) . '\', pagetemplate = \'' . $class->convert($page_newtemplate) . '\', pagedata = \'' . $class->convert($page_newcontent) . '\', pagedata = \'' . $class->convert($page_newcontent) . '\', pagesettings = \'' . $class->convert($page_newsettings) . '\', lastmodified = \'' . $page_date . '\' WHERE filename = \'' . $class->convert($page_filename) . '\'') or ( $error = "DatabaseError", $errorext = $database_handle->errstr, return );
+ $statement_handle->execute();
}
# Check if the page with the filename given exists.
- $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 = "OldDatabaseError", $errorext = $database_handle->errstr, return );
- $string_handle->execute();
+ $statement_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 = "OldDatabaseError", $errorext = $database_handle->errstr, return );
+ $statement_handle->execute();
# Check if the page really does exist.
- while (@page_info = $string_handle->fetchrow_array()){
+ while (@page_info = $statement_handle->fetchrow_array()){
# Get the values from the array.
$page_found = 0;
@page_info = ();
- $second_string_handle = $second_database_handle->prepare('SELECT filename FROM kiriwrite_database_pages WHERE filename = \'' . $class->convert($page_filename) . '\' LIMIT 1') or ( $error = "NewDatabaseError", $errorext = $second_database_handle->errstr, return );
- $second_string_handle->execute();
+ $second_statement_handle = $second_database_handle->prepare('SELECT filename FROM kiriwrite_database_pages WHERE filename = \'' . $class->convert($page_filename) . '\' LIMIT 1') or ( $error = "NewDatabaseError", $errorext = $second_database_handle->errstr, return );
+ $second_statement_handle->execute();
- while (@page_info = $second_string_handle->fetchrow_array()){
+ while (@page_info = $second_statement_handle->fetchrow_array()){
$page_found = 1;
# Add the page to the new database.
- $second_string_handle = $second_database_handle->prepare('INSERT INTO kiriwrite_database_pages (filename, pagename, pagedescription, pagesection, pagetemplate, pagedata, pagesettings, lastmodified) VALUES (
+ $second_statement_handle = $second_database_handle->prepare('INSERT INTO kiriwrite_database_pages (filename, pagename, pagedescription, pagesection, pagetemplate, pagedata, pagesettings, lastmodified) VALUES (
\'' . $class->convert($database_page{"PageFilename"}) . '\',
\'' . $class->convert($database_page{"PageName"}) . '\',
\'' . $class->convert($database_page{"PageDescription"}) . '\',
\'' . $class->convert($database_page{"PageSettings"}) . '\',
\'' . $class->convert($database_page{"PageLastModified"}) . '\'
)') or ( $error = "NewDatabaseError", $errorext = $second_database_handle->errstr, return );
- $second_string_handle->execute();
+ $second_statement_handle->execute();
# Delete the page from the old database.
- $string_handle = $database_handle->prepare('DELETE FROM kiriwrite_database_pages WHERE filename = \'' . $class->convert($database_page{"PageFilename"}) . '\'') or ( $error = "OldDatabaseError", $errorext = $database_handle->errstr, return );
- $string_handle->execute();
+ $statement_handle = $database_handle->prepare('DELETE FROM kiriwrite_database_pages WHERE filename = \'' . $class->convert($database_page{"PageFilename"}) . '\'') or ( $error = "OldDatabaseError", $errorext = $database_handle->errstr, return );
+ $statement_handle->execute();
}
# Check if the page with the filename given exists.
- $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 = "OldDatabaseError", $errorext = $database_handle->errstr, return );
- $string_handle->execute();
+ $statement_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 = "OldDatabaseError", $errorext = $database_handle->errstr, return );
+ $statement_handle->execute();
# Check if the page really does exist.
- while (@page_info = $string_handle->fetchrow_array()){
+ while (@page_info = $statement_handle->fetchrow_array()){
# Get the values from the array.
$page_found = 0;
@page_info = ();
- $second_string_handle = $second_database_handle->prepare('SELECT filename FROM kiriwrite_database_pages WHERE filename = \'' . $class->convert($page_filename) . '\' LIMIT 1') or ( $error = "NewDatabaseError", $errorext = $second_database_handle->errstr, return );
- $second_string_handle->execute();
+ $second_statement_handle = $second_database_handle->prepare('SELECT filename FROM kiriwrite_database_pages WHERE filename = \'' . $class->convert($page_filename) . '\' LIMIT 1') or ( $error = "NewDatabaseError", $errorext = $second_database_handle->errstr, return );
+ $second_statement_handle->execute();
- while (@page_info = $second_string_handle->fetchrow_array()){
+ while (@page_info = $second_statement_handle->fetchrow_array()){
$page_found = 1;
# Add the page to the new database.
- $second_string_handle = $second_database_handle->prepare('INSERT INTO kiriwrite_database_pages (filename, pagename, pagedescription, pagesection, pagetemplate, pagedata, pagesettings, lastmodified) VALUES (
+ $second_statement_handle = $second_database_handle->prepare('INSERT INTO kiriwrite_database_pages (filename, pagename, pagedescription, pagesection, pagetemplate, pagedata, pagesettings, lastmodified) VALUES (
\'' . $class->convert($database_page{"PageFilename"}) . '\',
\'' . $class->convert($database_page{"PageName"}) . '\',
\'' . $class->convert($database_page{"PageDescription"}) . '\',
\'' . $class->convert($database_page{"PageSettings"}) . '\',
\'' . $class->convert($database_page{"PageLastModified"}) . '\'
)') or ( $error = "NewDatabaseError", $errorext = $second_database_handle->errstr, return );
- $second_string_handle->execute();
+ $second_statement_handle->execute();
}
if ($filterdb_loaded eq 1){
- undef $filterdb_string_handle;
+ undef $filterdb_statement_handle;
$filterdb_database_handle->disconnect();
}
}
+sub getfiltercount{
+#################################################################################
+# getfiltercount: Gets the count of filters in the filters database. #
+# #
+# Usage: #
+# #
+# $dbmodule->getfiltercount(); #
+#################################################################################
+
+ $error = "";
+ $errorext = "";
+
+ my $class = shift;
+
+ $filterdb_statement_handle = $filterdb_database_handle->prepare('SELECT COUNT(*) FROM kiriwrite_filters') or ( $error = "FilterDatabaseError", $errorext = $filterdb_database_handle->errstr, return);
+ $filterdb_statement_handle->execute();
+
+ my $count = $filterdb_statement_handle->fetchrow_array();
+
+ return $count;
+
+}
+
sub getfilterlist{
#################################################################################
# getfilterlist: Gets the list of filters in the filter database. #
# #
# Usage: #
# #
-# $dbmodule->getfilterlist(); #
+# $dbmodule->getfilterlist(options); #
+# #
+# 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"};
+
+ if (defined($start_from)){
+
+ if (!$limit){
+
+ $limit = 0;
+
+ }
+
+ $filterdb_statement_handle = $filterdb_database_handle->prepare('SELECT id FROM kiriwrite_filters ORDER BY priority ASC LIMIT ' . $start_from . ',' . $limit) or ( $error = "FilterDatabaseError", $errorext = $filterdb_database_handle->errstr, return );
+ $filterdb_statement_handle->execute();
- $filterdb_string_handle = $filterdb_database_handle->prepare('SELECT id FROM kiriwrite_filters ORDER BY priority ASC') or ( $error = "FilterDatabaseError", $errorext = $filterdb_database_handle->errstr, return );
- $filterdb_string_handle->execute();
+ } else {
+
+ $filterdb_statement_handle = $filterdb_database_handle->prepare('SELECT id FROM kiriwrite_filters ORDER BY priority ASC') or ( $error = "FilterDatabaseError", $errorext = $filterdb_database_handle->errstr, return );
+ $filterdb_statement_handle->execute();
- while (@filter_data = $filterdb_string_handle->fetchrow_array()){
+ }
+
+ # Get the list of filters available.
+
+ while (@filter_data = $filterdb_statement_handle->fetchrow_array()){
# Add the filter to the list of available filters.
}
- undef $filterdb_string_handle;
+ undef $filterdb_statement_handle;
return @filter_list;
}
# options Specifies the following options in any order. #
# #
# FilterID Specifies the filter ID number to get information from. #
+# Reduced Specifies if the reduced version of the filter information #
+# should be retrieved. #
#################################################################################
$error = "";
# Get the values that are in the hash.
my $filter_id = $passedoptions->{"FilterID"};
+ my $reduced = $passedoptions->{"Reduced"};
+
+ if ($reduced && $reduced eq 1){
- $filterdb_string_handle = $filterdb_database_handle->prepare('SELECT id, priority, findsetting, replacesetting, notes FROM kiriwrite_filters where id = \'' . $class->convert($filter_id) . '\'') or ( $error = "FilterDatabaseError", $errorext = $filterdb_database_handle->errstr, return );
- $filterdb_string_handle->execute();
+ $filterdb_statement_handle = $filterdb_database_handle->prepare('SELECT id, priority, findsetting, replacesetting FROM kiriwrite_filters where id = \'' . $class->convert($filter_id) . '\'') or ( $error = "FilterDatabaseError", $errorext = $filterdb_database_handle->errstr, return );
+ $filterdb_statement_handle->execute();
+
+ } else {
+
+ $filterdb_statement_handle = $filterdb_database_handle->prepare('SELECT id, priority, findsetting, replacesetting, notes FROM kiriwrite_filters where id = \'' . $class->convert($filter_id) . '\'') or ( $error = "FilterDatabaseError", $errorext = $filterdb_database_handle->errstr, return );
+ $filterdb_statement_handle->execute();
+
+ }
# Get the filter information.
- while (@filter_data = $filterdb_string_handle->fetchrow_array()){
+ while (@filter_data = $filterdb_statement_handle->fetchrow_array()){
$filter_info{"FilterID"} = $filter_data[0];
$filter_info{"FilterPriority"} = $filter_data[1];
# Return the filter information.
- undef $filterdb_string_handle;
+ undef $filterdb_statement_handle;
return %filter_info;
}
# Check if the filter table exists.
- $filterdb_string_handle = $filterdb_database_handle->prepare('SELECT id FROM kiriwrite_filters ORDER BY id ASC') or ( $nofiltertable = 1 );
+ $filterdb_statement_handle = $filterdb_database_handle->prepare('SELECT id FROM kiriwrite_filters ORDER BY id ASC') or ( $nofiltertable = 1 );
# Check if there is really no filter table.
# Create the filter database table.
- $filterdb_string_handle = $filterdb_database_handle->prepare('CREATE TABLE kiriwrite_filters (
+ $filterdb_statement_handle = $filterdb_database_handle->prepare('CREATE TABLE kiriwrite_filters (
id int(7) primary key,
priority int(5),
findsetting varchar(1024),
replacesetting varchar(1024),
notes text
)') or ( $error = "FilterDatabaseError", $errorext = $filterdb_database_handle->errstr, return );
- $filterdb_string_handle->execute();
+ $filterdb_statement_handle->execute();
}
# Find the lowest filter identification number available.
- $filterdb_string_handle = $filterdb_database_handle->prepare('SELECT id FROM kiriwrite_filters ORDER BY id ASC') or ( $error = "FilterDatabaseError", $errorext = $filterdb_database_handle->errstr, return );
- $filterdb_string_handle->execute();
+ $filterdb_statement_handle = $filterdb_database_handle->prepare('SELECT id FROM kiriwrite_filters ORDER BY id ASC') or ( $error = "FilterDatabaseError", $errorext = $filterdb_database_handle->errstr, return );
+ $filterdb_statement_handle->execute();
- while (@database_filters = $filterdb_string_handle->fetchrow_array()){
+ while (@database_filters = $filterdb_statement_handle->fetchrow_array()){
$filter_id = $database_filters[0];
$new_id = $filter_id + 1;
- $filterdb_string_handle = $filterdb_database_handle->prepare('SELECT id FROM kiriwrite_filters WHERE id = \'' . $class->convert($new_id) . '\'') or ( $error = "FilterDatabaseError", $errorext = $filterdb_database_handle->errstr, return );
- $filterdb_string_handle->execute();
+ $filterdb_statement_handle = $filterdb_database_handle->prepare('SELECT id FROM kiriwrite_filters WHERE id = \'' . $class->convert($new_id) . '\'') or ( $error = "FilterDatabaseError", $errorext = $filterdb_database_handle->errstr, return );
+ $filterdb_statement_handle->execute();
# Get the filter identification number.
- while (@filterid_check = $filterdb_string_handle->fetchrow_array()){
+ while (@filterid_check = $filterdb_statement_handle->fetchrow_array()){
$filter_found = 1;
# Add the filter to the filter database.
- $filterdb_string_handle = $filterdb_database_handle->prepare('INSERT INTO kiriwrite_filters (id, priority, findsetting, replacesetting, notes) VALUES (
+ $filterdb_statement_handle = $filterdb_database_handle->prepare('INSERT INTO kiriwrite_filters (id, priority, findsetting, replacesetting, notes) VALUES (
\'' . $class->convert($new_id) . '\',
\'' . $class->convert($filter_priority) . '\',
\'' . $class->convert($filter_find) . '\',
\'' . $class->convert($filter_replace) .'\',
\'' . $class->convert($filter_notes) . '\'
)') or ( $error = "FilterDatabaseError", $errorext = $filterdb_database_handle->errstr, return );
- $filterdb_string_handle->execute();
+ $filterdb_statement_handle->execute();
}
# Check if the filter exists before editing it.
- $filterdb_string_handle = $filterdb_database_handle->prepare('SELECT id FROM kiriwrite_filters where id = \'' . $class->convert($filter_id) . '\'') or ( $error = "FilterDatabaseError", $errorext = $filterdb_database_handle->errstr, return );
- $filterdb_string_handle->execute();
+ $filterdb_statement_handle = $filterdb_database_handle->prepare('SELECT id FROM kiriwrite_filters where id = \'' . $class->convert($filter_id) . '\'') or ( $error = "FilterDatabaseError", $errorext = $filterdb_database_handle->errstr, return );
+ $filterdb_statement_handle->execute();
# Check if the filter exists.
- while (@filter_data = $filterdb_string_handle->fetchrow_array()){
+ while (@filter_data = $filterdb_statement_handle->fetchrow_array()){
$filter_exists = 1;
# Edit the selected filter.
- $filterdb_string_handle = $filterdb_database_handle->prepare('UPDATE kiriwrite_filters SET
+ $filterdb_statement_handle = $filterdb_database_handle->prepare('UPDATE kiriwrite_filters SET
findsetting = \'' . $class->convert($filter_newfind) . '\',
replacesetting = \'' . $class->convert($filter_newreplace) . '\',
priority = \'' . $class->convert($filter_newpriority) . '\',
notes = \'' . $class->convert($filter_newnotes) . '\'
WHERE id = \'' . $class->convert($filter_id) . '\'') or ( $error = "FilterDatabaseError", $errorext = $filterdb_database_handle->errstr, return );
- $filterdb_string_handle->execute();
+ $filterdb_statement_handle->execute();
- undef $filterdb_string_handle;
+ undef $filterdb_statement_handle;
return;
}
# Check if the filter exists before deleting.
- $filterdb_string_handle = $filterdb_database_handle->prepare('SELECT id FROM kiriwrite_filters where id = \'' . $class->convert($filter_id) . '\'') or ( $error = "FilterDatabaseError", $errorext = $filterdb_database_handle->errstr, return );
- $filterdb_string_handle->execute();
+ $filterdb_statement_handle = $filterdb_database_handle->prepare('SELECT id FROM kiriwrite_filters where id = \'' . $class->convert($filter_id) . '\'') or ( $error = "FilterDatabaseError", $errorext = $filterdb_database_handle->errstr, return );
+ $filterdb_statement_handle->execute();
- while (@filter_data = $filterdb_string_handle->fetchrow_array()){
+ while (@filter_data = $filterdb_statement_handle->fetchrow_array()){
$filter_exists = 1;
# Delete the filter from the filter database.
- $filterdb_string_handle = $filterdb_database_handle->prepare('DELETE FROM kiriwrite_filters where id = \'' . $class->convert($filter_id) . '\'') or ( $error = "FilterDatabaseError", $errorext = $filterdb_database_handle->errstr, return );
- $filterdb_string_handle->execute();
+ $filterdb_statement_handle = $filterdb_database_handle->prepare('DELETE FROM kiriwrite_filters where id = \'' . $class->convert($filter_id) . '\'') or ( $error = "FilterDatabaseError", $errorext = $filterdb_database_handle->errstr, return );
+ $filterdb_statement_handle->execute();
- undef $filterdb_string_handle;
+ undef $filterdb_statement_handle;
}
if ($templatedb_loaded eq 1){
- undef $template_string_handle;
+ undef $template_statement_handle;
$template_database_handle->disconnect();
}
}
+sub gettemplatecount{
+#################################################################################
+# gettemplatecount: Gets the count of templates in the template database. #
+# #
+# Usage: #
+# #
+# $dbmodule->gettemplatecount(); #
+#################################################################################
+
+ $error = "";
+ $errorext = "";
+
+ my $class = shift;
+
+ $template_statement_handle = $template_database_handle->prepare('SELECT COUNT(*) FROM kiriwrite_templates') or ( $error = "FilterDatabaseError", $errorext = $template_database_handle->errstr, return);
+ $template_statement_handle->execute();
+
+ my $count = $template_statement_handle->fetchrow_array();
+
+ return $count;
+
+}
+
sub gettemplatelist{
#################################################################################
# gettemplatelist: Gets the list of templates. #
# #
# 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. #
#################################################################################
$error = "";
$errorext = "";
- $template_string_handle = $template_database_handle->prepare('SELECT filename FROM kiriwrite_templates ORDER BY filename ASC') or ( $error = "TemplateDatabaseError", $errorext = $template_database_handle->errstr, return );
- $template_string_handle->execute();
+ my $class = shift;
+ my ($passedoptions) = @_;
+
+ my $start_from = $passedoptions->{"StartFrom"};
+ my $limit = $passedoptions->{"Limit"};
+
+ if (defined($start_from)){
+
+ if (!$limit){
+
+ $limit = 0;
+
+ }
+
+ $template_statement_handle = $template_database_handle->prepare('SELECT filename FROM kiriwrite_templates ORDER BY filename ASC LIMIT ' . $start_from . ',' . $limit ) or ( $error = "TemplateDatabaseError", $errorext = $template_database_handle->errstr, return );
+ $template_statement_handle->execute();
+
+ } else {
+
+ $template_statement_handle = $template_database_handle->prepare('SELECT filename FROM kiriwrite_templates ORDER BY filename ASC') or ( $error = "TemplateDatabaseError", $errorext = $template_database_handle->errstr, return );
+ $template_statement_handle->execute();
+
+ }
my @database_template;
my @templates_list;
my $template_filename;
- while (@database_template = $template_string_handle->fetchrow_array()){
+ while (@database_template = $template_statement_handle->fetchrow_array()){
# Get certain values from the array.
# options Specifies the following options in any order. #
# #
# TemplateFilename Specifies the template filename to use. #
+# Reduced Specifies a reduced version of template information to #
+# get. #
#################################################################################
$error = "";
my $template_found = 0;
my $filename = $passedoptions->{"TemplateFilename"};
+ my $reduced = $passedoptions->{"Reduced"};
- $template_string_handle = $template_database_handle->prepare('SELECT filename, templatename, templatedescription, templatelayout, datemodified FROM kiriwrite_templates WHERE filename = \'' . $class->convert($filename) . '\'') or ( $error = "TemplateDatabaseError", $errorext = $template_database_handle->errstr, return );
- $template_string_handle->execute();
+ if ($reduced && $reduced eq 1){
+
+ $template_statement_handle = $template_database_handle->prepare('SELECT filename, templatename, templatedescription, datemodified FROM kiriwrite_templates WHERE filename = \'' . $class->convert($filename) . '\'') or ( $error = "TemplateDatabaseError", $errorext = $template_database_handle->errstr, return );
+ $template_statement_handle->execute();
+
+ } else {
+
+ $template_statement_handle = $template_database_handle->prepare('SELECT filename, templatename, templatedescription, templatelayout, datemodified FROM kiriwrite_templates WHERE filename = \'' . $class->convert($filename) . '\'') or ( $error = "TemplateDatabaseError", $errorext = $template_database_handle->errstr, return );
+ $template_statement_handle->execute();
+
+ }
- while (@template_data = $template_string_handle->fetchrow_array()){
+ while (@template_data = $template_statement_handle->fetchrow_array()){
# Get certain values from the array.
if ($templatedb_exists eq 0){
- $template_string_handle = $template_database_handle->prepare('SELECT filename FROM kiriwrite_templates WHERE filename = \'' . $class->convert($template_filename) . '\' LIMIT 1') or ($blankfile = 1);
+ $template_statement_handle = $template_database_handle->prepare('SELECT filename FROM kiriwrite_templates WHERE filename = \'' . $class->convert($template_filename) . '\' LIMIT 1') or ($blankfile = 1);
if ($blankfile eq 0){
- $template_string_handle->execute();
+ $template_statement_handle->execute();
- while (@page_exists = $template_string_handle->fetchrow_array()){
+ while (@page_exists = $template_statement_handle->fetchrow_array()){
$error = "TemplatePageExists";
return;
# Check to see if a template can be added.
- $template_string_handle = $template_database_handle->prepare('INSERT INTO kiriwrite_templates (filename, templatename, templatedescription, templatelayout, datemodified) VALUES(
+ $template_statement_handle = $template_database_handle->prepare('INSERT INTO kiriwrite_templates (filename, templatename, templatedescription, templatelayout, datemodified) VALUES(
\'' . $class->convert($template_filename) . '\',
\'' . $class->convert($template_name) . '\',
\'' . $class->convert($template_description) . '\',
if (!$notemplatetable){
- $template_string_handle->execute();
+ $template_statement_handle->execute();
}
}
- $template_string_handle = $template_database_handle->prepare('create table kiriwrite_templates(
+ $template_statement_handle = $template_database_handle->prepare('create table kiriwrite_templates(
filename varchar(256) primary key,
templatename varchar(512),
templatedescription varchar(512),
templatelayout text,
datemodified datetime
);') or ( $error = "TemplateDatabaseError", $errorext = $template_database_handle->errstr, return );
- $template_string_handle->execute();
+ $template_statement_handle->execute();
- $template_string_handle = $template_database_handle->prepare('INSERT INTO kiriwrite_templates (filename, templatename, templatedescription, templatelayout, datemodified) VALUES(
+ $template_statement_handle = $template_database_handle->prepare('INSERT INTO kiriwrite_templates (filename, templatename, templatedescription, templatelayout, datemodified) VALUES(
\'' . $class->convert($template_filename) . '\',
\'' . $class->convert($template_name) . '\',
\'' . $class->convert($template_description) . '\',
\'' . $class->convert($template_layout) . '\',
\'' . $class->convert($template_date) . '\'
)') or ( $error = "TemplateDatabaseError", $errorext = $template_database_handle->errstr, return );
- $template_string_handle->execute();
+ $template_statement_handle->execute();
}
# Check if the template exists.
- $template_string_handle = $template_database_handle->prepare('SELECT filename FROM kiriwrite_templates WHERE filename = \'' . $class->convert($template_filename) . '\' LIMIT 1') or ( $error = "TemplateDatabaseError", $errorext = $template_database_handle->errstr, return );
- $template_string_handle->execute();
+ $template_statement_handle = $template_database_handle->prepare('SELECT filename FROM kiriwrite_templates WHERE filename = \'' . $class->convert($template_filename) . '\' LIMIT 1') or ( $error = "TemplateDatabaseError", $errorext = $template_database_handle->errstr, return );
+ $template_statement_handle->execute();
- while (@pagedata = $template_string_handle->fetchrow_array()){
+ while (@pagedata = $template_statement_handle->fetchrow_array()){
$template_count++;
# Delete the template from the template database.
- $template_string_handle = $template_database_handle->prepare('DELETE FROM kiriwrite_templates WHERE filename = \'' . $class->convert($template_filename) . '\'') or ( $error = "TemplateDatabaseError", $errorext = $template_database_handle->errstr, return );
- $template_string_handle->execute();
+ $template_statement_handle = $template_database_handle->prepare('DELETE FROM kiriwrite_templates WHERE filename = \'' . $class->convert($template_filename) . '\'') or ( $error = "TemplateDatabaseError", $errorext = $template_database_handle->errstr, return );
+ $template_statement_handle->execute();
}
# Check if the template exists.
- $template_string_handle = $template_database_handle->prepare('SELECT filename FROM kiriwrite_templates WHERE filename = \'' . $class->convert($template_filename) . '\' LIMIT 1') or ( $error = "TemplateDatabaseError", $errorext = $template_database_handle->errstr, return );
- $template_string_handle->execute();
+ $template_statement_handle = $template_database_handle->prepare('SELECT filename FROM kiriwrite_templates WHERE filename = \'' . $class->convert($template_filename) . '\' LIMIT 1') or ( $error = "TemplateDatabaseError", $errorext = $template_database_handle->errstr, return );
+ $template_statement_handle->execute();
- while (@template_info = $template_string_handle->fetchrow_array()){
+ while (@template_info = $template_statement_handle->fetchrow_array()){
$template_found = 1;
# Update the template information.
- $template_string_handle = $template_database_handle->prepare('UPDATE kiriwrite_templates SET
+ $template_statement_handle = $template_database_handle->prepare('UPDATE kiriwrite_templates SET
filename = \'' . $class->convert($new_template_filename) . '\',
templatename = \'' . $class->convert($new_template_name) . '\',
templatedescription = \'' . $class->convert($new_template_description) . '\',
datemodified = \'' . $class->convert($templatenewdate) . '\'
WHERE filename = \'' . $class->convert($template_filename) . '\'
') or ( $error = "TemplateDatabaseError", $errorext = $template_database_handle->errstr, return );
- $template_string_handle->execute();
+ $template_statement_handle->execute();
}
# This function is not needed in this database module.
- undef $string_handle;
+ undef $statement_handle;
}