#!/usr/bin/perl -wT -I. # vim:ts=8 sw=4 sts=4 ai =head1 NAME edit.cgi - CGI script to show and edit data from an SQLite database =head1 VERSION This describes version B<0.01> of edit.cgi. =cut our $VERSION = '0.01'; =head2 SYNOPSIS http://www.example.com/edit.cgi?Table=episodes =head2 DESCRIPTION CGI script to show and edit data for an SQLite database. If run with no arguments, will print a form with tables to select from. Once a table is selected, it prints a form with search criteria; when the search critera are filled in, it will print a table of results to edit. =head2 Configuration Before the script is run, it needs to be configured. This is done by setting the correct values in the %InitArgs hash (just below if you are looking at the source of this file). The minimum requirement is to set the 'database' value; this must be the name of the SQLite database file which this script accesses. See L and L for more information about possible arguments to give. =cut our %InitArgs = ( database=>'test1.db', ); =head2 Author Kathryn Andersen. Created: 2005 =cut require 5.8.3; $ENV{PATH} = "/bin:/usr/bin:/usr/local/bin"; delete @ENV{ 'IFS', 'CDPATH', 'ENV'}; #------------------------------------------------------------------ # User-customizable Global variables #------------------------------------------------------------------ # Includes use SQLite::Work::CGI; use strict; #------------------------------------------------------------------ # Global variables #------------------------------------------------------------------ # Subroutines #------------------------------------------------------------------ # Main MAIN: { # this creates a new CGI object which has already parsed the query my $tvdb = SQLite::Work::CGI->new(%InitArgs); if ($tvdb->do_connect()) { if ($tvdb->{cgi}->param('Table')) { if ($tvdb->{cgi}->param('Add')) { $tvdb->do_add($tvdb->{cgi}->param('Table')); } elsif ($tvdb->{cgi}->param('Add_Row')) { $tvdb->do_add_form($tvdb->{cgi}->param('Table')); } elsif ($tvdb->{cgi}->param('Edit')) { $tvdb->do_select($tvdb->{cgi}->param('Table'), command=>'Edit'); } elsif ($tvdb->{cgi}->param('Edit_Row')) { $tvdb->do_select($tvdb->{cgi}->param('Table'), command=>'Edit'); } elsif ($tvdb->{cgi}->param('Update')) { $tvdb->do_single_update($tvdb->{cgi}->param('Table')); } elsif ($tvdb->{cgi}->param('Delete')) { $tvdb->do_single_delete($tvdb->{cgi}->param('Table')); } elsif ($tvdb->{cgi}->param('Delete_Row')) { $tvdb->do_single_delete($tvdb->{cgi}->param('Table')); } else { $tvdb->do_search_form($tvdb->{cgi}->param('Table'), command=>'Edit'); } } else { $tvdb->do_table_form('Editing'); } $tvdb->do_disconnect(); } }