#!/usr/bin/perl use strict; use DBI; use lib qw ( ../lib ); use Kyngdoms; ################################################# # # Admin Center # By Keith Robinson # The Kyngdoms # # Version: 0.001Beta # Last Modified 22 October 2005 # Copyright (c) The Kyngdoms 2005 # # http://www.thekyngdoms.com # email: keith@thekyngdoms.com # ################################################# ################################################################################ #Configuration of the script ################################################################################ my %vals = db_data; # Where is all comment data kept my $download_data = "../lib/dlmonitor"; # The url location of admin.pl my $admin_cgi = "http://www.thekyngdoms.com/cgi-bin/admin.pl"; #The username you plan to use when administirring the script my $username = "$vals{user}"; #The password you plan to use when administirring the script my $password = "$vals{password}"; #The location of the style sheets from the web domain root my $css = "/monkey/admin.css"; #The location of your company logo my $logo = "/images/thekyngdomslogo2b.gif"; #The url you want to point your company logo to my $logolink = "/index.shtml"; #The location of your top of page banner my $bannerimage = "/images/kyngdomsheaderrpgnow.gif"; ################################################################################ # Main script - Don't change anything below this line ################################################################################ #################################### # temp globals #################################### # this should be set in the admin center and grabbed from the db my $admin_title = "The Kyngdoms"; my ($line, $filename, $no_downloads, $tmp, $dfile, $stat1found); ##################################### ## ## get login page and evaluate login ## my $temp; my $lastaction; if ($ENV{'QUERY_STRING'} ne "") { $temp = $ENV{'QUERY_STRING'}; } else { read(STDIN, $temp, $ENV{'CONTENT_LENGTH'}); } my @pairs=split(/&/,$temp); my ($key, $content); my %fields; foreach my $item(@pairs) { ($key,$content)=split (/=/,$item,2); $content=~tr/+/ /; $content=~ s/%(..)/pack("c",hex($1))/ge; $fields{$key}=$content; } $fields{'comment'}=~s/\cM//g; $fields{'comment'}=~s/\n\n/

/g; $fields{'comment'}=~s/\n/
/g; if (substr($fields{'pass'}, 0, 2) eq "_-"){$password = "_-" . crypt ($password, "comments");} if ($fields{'usern'} eq "") {&passwordpage;} if ($fields{'pass'} eq "") {&passwordpage;} if ($fields{'usern'} ne $username) {&wrongpass;} if ($fields{'pass'} ne $password) {&wrongpass;} if ($fields{'usern'} eq "") {&passwordpage;} if ($fields{'usern'} eq $username) { if ($fields{'pass'} eq $password) { if ($fields{'fct'} eq "") {&start;} if ($fields{'fct'} eq "addnewrelease") {&addnewrelease;} if ($fields{'fct'} eq "modifyreldb") {&modifyreldb;} if ($fields{'fct'} eq "updatentry") {&updatentry;} if ($fields{'fct'} eq "viewprodrecord") {&viewprodrecord;} if ($fields{'fct'} eq "view_stats") {&view_stats;} if ($fields{'fct'} eq "reset_i") {&reset_i;} if ($fields{'fct'} eq "reset") {&reset_all;} if ($fields{'fct'} eq "modifyprodrec") {&modifyprodrec;} if ($fields{'fct'} eq "updateprodrec") {&updateprodrec;} if ($fields{'fct'} eq "newprodrecord") {&newprodrecord;} if ($fields{'fct'} eq "addnewprodrec") {&addnewprodrec;} if ($fields{'fct'} eq "deleteprodrec") {&deleteprodrec;} } } exit; ########################################################### ## ## generate the log in page ## sub start { print "Content-type: text/html\n\n"; if ($fields{'login'} eq "login") { $password = "_-" . crypt ($password, "comments"); } &print_top; print "

\n"; if ($lastaction) { print "\n"; print " \n"; print " \n"; print " \n"; print "
$lastaction
\n\n"; } #end of if print < Filename Download Log Stats Downloads Reset to 0 End_of_fldo open(DIR,"$download_data/index.idx"); while (defined($line=)) { ($filename, $no_downloads, $tmp)=split (/:-:/,$line,3); $dfile = $filename; $dfile =~ tr/./_/; print < $filename View Download Log $no_downloads Reset End_of_s $stat1found = "true"; } close(DIR); if ($stat1found eq "") { print < There have been 0 downloads. End_of_nd } print < Click on the above options.

   Reset All Statistics and Downloads


End_of_start my %dbvals = &db_data; my $dbh=DBI->connect( "DBI:mysql:database=TheKyngdoms;host=213.171.219.98", "$dbvals{dbuser}", "$dbvals{dbpword}" ) or die "Can't connect to database: $DBI::errstr\n"; my $sth=$dbh->prepare(" SELECT * FROM phpbb_kyng_links "); $sth->execute(); print "\n"; while(my ($kyng_id,$kyng_link,$kyng_name,$kyng_username,$kyng_password) = $sth->fetchrow_array) { print ""; } $dbh->disconnect or warn "Can't disconnect from database: $DBI::errstr\n"; print <
Admin Functions
Release Options
IDLinkUsernamePasswordSelect
$kyng_id$kyng_name     $kyng_username     $kyng_password
Modify Delete
  

Add New Release Option
URL: Name UserName Password
End_of_start_again my $dbh1=DBI->connect( "DBI:mysql:database=TheKyngdoms;host=213.171.219.98", "$dbvals{dbuser}", "$dbvals{dbpword}" ) or die "Can't connect to database: $DBI::errstr\n"; my $sth1=$dbh1->prepare(" SELECT kyng_products_id, kyng_products_added, kyng_products_status, kyng_products_sku, kyng_products_name, kyng_products_price, kyng_products_dbb_hits, kyng_products_dtrpg_hits, kyng_products_rpgnow_hits, kyng_products_edge_hits, kyng_products_arima_hits, kyng_products_e23_hits, kyng_products_paizo_hits, kyng_products_enworld_hits, kyng_products_hits_total, kyng_products_lulu_hits FROM phpbb_kyng_products "); $sth1->execute(); print "\n"; while(my ($kyngprod_id,$kyngprod_added,$kyngprod_status,$kyngprod_sku,$kyngprod_name,$kyngprod_price,$kyngprod_dbb_hits,$kyngprod_dtrpg_hits,$kyngprod_rpgnow_hits,$kyngprod_edge_hits,$kyngprod_arima_hits,$kyngprod_e23_hits,$kyngprod_paizo_hits,$kyngprod_enworld_hits,$kyngprod_hits_total,$kyngprod_lulu_hits) = $sth1->fetchrow_array) { my $txtcolor = "txtsmbold"; my $totalrpgnowdtrgluluhits = $kyngprod_rpgnow_hits + $kyngprod_dtrpg_hits + $kyngprod_lulu_hits + $kyngprod_enworld_hits; $txtcolor = "txtsmboldorange" if $kyngprod_status eq "pending"; $txtcolor = "txtsmboldgreen" if $kyngprod_status eq "live"; $txtcolor = "txtsmboldred" if $kyngprod_status eq "on hold"; $txtcolor = "txtsmboldpink" if $kyngprod_status eq "coming soon"; print "\n"; } $dbh1->disconnect or warn "Can't disconnect from database: $DBI::errstr\n"; print <
Product Options
Product DataHitsSelect
IDNamePriceSKUStatusluludtrpgenworldrpgnowTotal
Hits
$kyngprod_id$kyngprod_name\$$kyngprod_price$kyngprod_sku$kyngprod_status$kyngprod_lulu_hits$kyngprod_dtrpg_hits$kyngprod_enworld_hits$kyngprod_rpgnow_hits$totalrpgnowdtrgluluhits
Copyright ©2005, The Kyngdoms End_of_start_again2 exit; } # end of sub start sub print_top { print < $admin_title Admin Area

Return to home


End_of_top1 &menu; print <


The Kyngdoms Administration Zone

End_of_top } # end of sub print_top sub passwordpage { my $adminpath; print "Content-type: text/html\n\n"; print < $admin_title Admin Login

$admin_title
Administration Zone

User Name :

Password :



Copyright ©2005, $admin_title


End_of_pp exit; } # end of sub passwordpage sub wrongpass { my $adminpath; print "Content-type: text/html\n\n"; print < $admin_title Admin Login [Error]

$admin_title
Administration Zone

You have entered either an incorrect user name or password.
Please try again.

User Name :

Password :



Copyright ©2005, $admin_title


End_of_wrong exit; } # end of sub wrongpass sub addnewrelease { #if (!($fields{relurl} || $fields{relname} || $fields{relusrname} || $fields{relpwd})) { $lastaction="Such and such missing!"; } if ($fields{relurl} && $fields{relname} && $fields{relusrname} && $fields{relpwd}) { my %dbvals = &db_data; my $dbh=DBI->connect( "DBI:mysql:database=TheKyngdoms;host=213.171.219.98", "$dbvals{dbuser}", "$dbvals{dbpword}" ) or die "Can't connect to database: $DBI::errstr\n"; my $sth=$dbh->prepare(" INSERT INTO phpbb_kyng_links (kyng_link, kyng_name, kyng_username, kyng_password) VALUES (?,?,?,?) "); $sth->execute("$fields{relurl}", "$fields{relname}", "$fields{relusrname}", "$fields{relpwd}"); $dbh->disconnect or warn "Can't disconnect from database: $DBI::errstr\n"; $lastaction = "$fields{relname} added to the database!"; } else { $lastaction="ALL fields are required to add a new entry. No action taken."; } &start; }# end of sub addnewrelease sub modifyreldb { if ($fields{id}) { if ($fields{action} eq "modify") { my %dbvals = &db_data; my $dbh=DBI->connect( "DBI:mysql:database=TheKyngdoms;host=213.171.219.98", "$dbvals{dbuser}", "$dbvals{dbpword}" ) or die "Can't connect to database: $DBI::errstr\n"; my $sth=$dbh->prepare(" SELECT kyng_link, kyng_name, kyng_username, kyng_password FROM phpbb_kyng_links WHERE kyng_id = ? "); $sth->execute("$fields{id}"); while(my ($kyng_link,$kyng_name,$kyng_username,$kyng_password) = $sth->fetchrow_array) { print "Content-type: text/html\n\n"; &print_top; print <
Modify Entry
URL: Name UserName Password
  

Copyright ©2005, The Kyngdoms
end_mod_entry } # end of while $dbh->disconnect or warn "Can't disconnect from database: $DBI::errstr\n"; } elsif ($fields{action} eq "delete") { my %dbvals = &db_data; my $dbh=DBI->connect( "DBI:mysql:database=TheKyngdoms;host=213.171.219.98", "$dbvals{dbuser}", "$dbvals{dbpword}" ) or die "Can't connect to database: $DBI::errstr\n"; my $sth=$dbh->prepare(" DELETE FROM phpbb_kyng_links WHERE kyng_id = ? "); $sth->execute("$fields{id}"); $dbh->disconnect or warn "Can't disconnect from database: $DBI::errstr\n"; $lastaction = "Entry deleted."; &start; } else { $lastaction = "No action was selected. No action taken."; &start; } } else { $lastaction = "No entry was selected. No action taken."; &start; } } # end of sub modifyreldb sub updatentry { my %dbvals = &db_data; my $dbh=DBI->connect( "DBI:mysql:database=TheKyngdoms;host=213.171.219.98", "$dbvals{dbuser}", "$dbvals{dbpword}" ) or die "Can't connect to database: $DBI::errstr\n"; my $sth=$dbh->prepare(" UPDATE phpbb_kyng_links SET kyng_link = ?, kyng_name = ?, kyng_username = ?, kyng_password = ? WHERE kyng_id = ? "); $sth->execute("$fields{url}","$fields{name}","$fields{usrn}","$fields{pwrd}","$fields{id}"); $dbh->disconnect or warn "Can't disconnect from database: $DBI::errstr\n"; $lastaction = "$fields{name} entry modified."; &start; } # end of updatentry sub view_stats { print "Content-type: text/html\n\n"; &print_top; print <

DOWNLOAD LOG
Date | Ip Address | Browser


End_of_topl open (DLF, "$download_data/$fields{'fl'}.txt"); while (defined($line=)) { my ($weburl, $refer, $name, $email, $mailinglist, $ip, $browser, $date)=split (/:-:/,$line,9); print "$date | $ip | $browser

"; } close (DLF); print <
Admin Home
Copyright ©2005, The Kyngdoms End_of_page } # end of sub viewstats sub reset_i { my ($towrite, $written, $line); open (DNL, "$download_data/index.idx"); while (defined($line=)) { ####### filename, Number of Downloads my ($filename, $counter, $tmp) = split (/:-:/,$line, 3); if ($filename eq "$fields{'fln'}") { $towrite = $towrite . $filename . ":-:" . "0" . ":-:" . "\n"; $written = "true"; } else { $towrite = $towrite . "$line"; } } close (DNL); open (DNL, "> $download_data/index.idx"); print DNL $towrite; close (DNL); unlink "$download_data/$fields{'fl'}.txt"; $lastaction = "Statistics for $filename have been reset."; &start; } #end of sub reset_i sub reset_all { if ($fields{'reset'} eq "Y") { open(DIR,"$download_data/index.idx"); while (defined($line=)) { my ($filename, $counter, $tmp) = split (/:-:/,$line, 3); $filename =~ tr/./_/; $filename = $filename . ".txt"; unlink ("$download_data/$filename"); } close (DIR); unlink ("$download_data/index.idx"); $lastaction = "All Log Files and Counts have been reset."; &start; } else { $lastaction = "You have to tick the checkbox in order to reset all stats."; &start; } } # end of sub reset_all sub menu { print <  
  end_of_menu } # end of sub menu sub viewprodrecord { if ($fields{id}) { my %dbvals = &db_data; print "Content-type: text/html\n\n"; &print_top; print <connect( "DBI:mysql:database=TheKyngdoms;host=213.171.219.98", "$dbvals{dbuser}", "$dbvals{dbpword}" ) or die "Can't connect to database: $DBI::errstr\n"; my $sth=$dbh->prepare(" SELECT * FROM phpbb_kyng_products WHERE kyng_products_id = ? "); $sth->execute("$fields{id}"); while(my ($kyngprod_id,$kyngprod_added,$kyngprod_status,$kyngprod_sku,$kyngprod_name,$kyngprod_price,$kyngprod_full_description,$kyngprod_thumb_large,$kyngprod_thumb_small,$kyngprod_preview,$kyngprod_preview_hits,$kyngprod_dbb_hits,$kyngprod_dtrpg_hits,$kyngprod_rpgnow_hits,$kyngprod_edge_hits,$kyngprod_arima_hits,$kyngprod_e23_hits,$kyngprod_paizo_hits,$kyngprod_enworld_hits,$kyngprod_download_hits,$kyngprod_product_hits,$kyngprod_hits_total,$kyngprod_ad_display,$kyngprod_short_description,$kyngprod_download,$kyngprod_dbb,$kyngprod_dtrpg,$kyngprod_rpgnow,$kyngprod_edge,$kyngprod_arima,$kyngprod_e23,$kyngprod_paizo,$kyngprod_enworld,$kyngprod_lulu_hits,$kyngprod_lulu) = $sth->fetchrow_array) { print "\n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print "
\n"; print "
\n"; print " \n"; print "
\n"; print "
\n"; print "
\n"; print " \n"; print "
\n"; print "

$kyngprod_name
ID: $kyngprod_id
Added: $kyngprod_added
SKU: $kyngprod_sku
Price: \$$kyngprod_price
Status: $kyngprod_status
"; #print "
Price: \$$kyngprod_price
Status: $kyngprod_status
"; print "Preview: Preview
" if $kyngprod_preview; print "Download: Download
" if $kyngprod_download; print "
\n"; print " Small Thumb:
\"$kyngprod_name\"\n"; print "
\n"; print "

Short Description
$kyngprod_short_description

\n"; print "
\n"; print "
\n"; print "

$kyngprod_name

\n"; print "
\n"; print " \"$kyngprod_name\"\n"; print "

\n"; print " $kyngprod_full_description\n"; print " <\p>\n"; print "

\n"; print "
\n"; print "

Buy Now From An E-Retail Outlet Of Your Choice

\n"; my $counter = 0; if ($kyngprod_arima) { print " \"Buy\ \;\ \;\n"; $counter++; if ($counter == 4) {print "
\n"; $counter=0;} } #if ($kyngprod_dbb) { print " \"Buy\ \;\ \;\n"; $counter++; if ($counter == 4) {print "
\n"; $counter=0;} } if ($kyngprod_dtrpg) { print " \"Buy\ \;\ \;\n"; $counter++; if ($counter == 4) {print "
\n"; $counter=0;} } if ($kyngprod_e23) { print " \"Buy\ \;\ \;\n"; $counter++; if ($counter == 4) {print "
\n"; $counter=0;} } if ($kyngprod_edge) { print " \"Buy\ \;\ \;\n"; $counter++; if ($counter == 4) {print "
\n"; $counter=0;} } if ($kyngprod_enworld) { print " \"Buy\ \;\ \;\n"; $counter++; if ($counter == 4) {print "
\n"; $counter=0;} } if ($kyngprod_paizo) { print " \"Buy\ \;\ \;\n"; $counter++; if ($counter == 4) {print "
\n"; $counter=0;} } if ($kyngprod_rpgnow) { print " \"Buy\ \;\ \;\n"; $counter++; if ($counter == 4) {print "
\n"; $counter=0;} } if ($kyngprod_lulu) { print "

Buy The Book Now:

\"Buy\ \;\ \;\n"; } print "
\n"; print "
\n"; } $dbh->disconnect or warn "Can't disconnect from database: $DBI::errstr\n"; print <Admin Home

Copyright ©2005, The Kyngdoms End_of_Prodview2 } else { $lastaction = "You need to select a product to view it. No action taken."; &start; } } # end of sub viewprodrecord sub modifyprodrec { if ($fields{id}) { my %dbvals = &db_data; print "Content-type: text/html\n\n"; &print_top; my $dbh=DBI->connect( "DBI:mysql:database=TheKyngdoms;host=213.171.219.98", "$dbvals{dbuser}", "$dbvals{dbpword}" ) or die "Can't connect to database: $DBI::errstr\n"; my $sth=$dbh->prepare(" SELECT * FROM phpbb_kyng_products WHERE kyng_products_id = ? "); $sth->execute("$fields{id}"); while(my ($kyngprod_id,$kyngprod_added,$kyngprod_status,$kyngprod_sku,$kyngprod_name,$kyngprod_price,$kyngprod_full_description,$kyngprod_thumb_large,$kyngprod_thumb_small,$kyngprod_preview,$kyngprod_preview_hits,$kyngprod_dbb_hits,$kyngprod_dtrpg_hits,$kyngprod_rpgnow_hits,$kyngprod_edge_hits,$kyngprod_arima_hits,$kyngprod_e23_hits,$kyngprod_paizo_hits,$kyngprod_enworld_hits,$kyngprod_download_hits,$kyngprod_product_hits,$kyngprod_hits_total,$kyngprod_ad_display,$kyngprod_short_description,$kyngprod_download,$kyngprod_dbb,$kyngprod_dtrpg,$kyngprod_rpgnow,$kyngprod_edge,$kyngprod_arima,$kyngprod_e23,$kyngprod_paizo,$kyngprod_enworld,$kyngprod_lulu_hits,$kyngprod_lulu) = $sth->fetchrow_array) { print "\n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print "
\n"; print "
\n"; print " \n"; print "
\n"; print "
\n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; #print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print " \n"; print "
Name:
ID:
Added: (format YYYY-MM-DD)
SKU:
Price:
Status: (Options: live, pending, on hold, coming soon)
Preview:
Download:
Thumb (small):
Thumb (main):
Lulu:
Arima:
DBB:
DTRPG:
e23:
Edge (RPGNow):
EN World:
Paizo:
RPGNow:
Description (short):
Description (full):
\n"; print "
\n"; print " Admin Home
\n"; print "
\n"; } # end of fetch while loop $dbh->disconnect or warn "Can't disconnect from database: $DBI::errstr\n"; print < Copyright ©2005, The Kyngdoms End_of_Modview } # end of fields if else { $lastaction = "An error occured. No action taken."; &start; } # end of else } # end of modifyprodrec sub updateprodrec { if ($fields{id}) { my %dbvals = &db_data; my $dbh=DBI->connect( "DBI:mysql:database=TheKyngdoms;host=213.171.219.98", "$dbvals{dbuser}", "$dbvals{dbpword}" ) or die "Can't connect to database: $DBI::errstr\n"; my $sth=$dbh->prepare(" UPDATE phpbb_kyng_products SET kyng_products_id = ?, kyng_products_added = ?, kyng_products_status = ?, kyng_products_sku = ?, kyng_products_name = ?, kyng_products_price = ?, kyng_products_short_description = ?, kyng_products_full_description = ?, kyng_products_thumb_large = ?, kyng_products_thumb_small = ?, kyng_products_preview = ?, kyng_products_dbb = ?, kyng_products_dtrpg = ?, kyng_products_rpgnow = ?, kyng_products_edge = ?, kyng_products_arima = ?, kyng_products_e23 = ?, kyng_products_paizo = ?, kyng_products_enworld = ?, kyng_products_download = ?, kyng_products_lulu = ? WHERE kyng_products_id = ? "); $sth->execute("$fields{kyngprod_id}","$fields{kyngprod_added}","$fields{kyngprod_status}","$fields{kyngprod_sku}","$fields{kyngprod_name}","$fields{kyngprod_price}","$fields{kyngprod_short_description}","$fields{kyngprod_full_description}","$fields{kyngprod_thumb_large}","$fields{kyngprod_thumb_small}","$fields{kyngprod_preview}","$fields{kyngprod_dbb}","$fields{kyngprod_dtrpg}","$fields{kyngprod_rpgnow}","$fields{kyngprod_edge}","$fields{kyngprod_arima}","$fields{kyngprod_e23}","$fields{kyngprod_paizo}","$fields{kyngprod_enworld}","$fields{kyngprod_download}","$fields{kyngprod_lulu}","$fields{id}"); $dbh->disconnect or warn "Can't disconnect from database: $DBI::errstr\n"; $lastaction = "$fields{kyngprod_name} has been updated.\n"; &start; } # end of fields if else { $lastaction = "An error occured. No action taken."; &start; } # end of else } # end of sub updateprodrec sub newprodrecord { print "Content-type: text/html\n\n"; &print_top; print <
Name:
Added: (format YYYY-MM-DD)
SKU:
Price:
Status: (Options: live, pending, on hold, coming soon)
Preview:
Download:
Thumb (small):
Thumb (main):
Lulu:
Arima:
DTRPG:
e23:
Edge (RPGNow):
EN World:
Paizo:
RPGNow:
Description (short):
Description (full):

Admin Home

Copyright ©2005, The Kyngdoms
End_of_Newview } # end of sub newprodrecord sub addnewprodrec { my %dbvals = &db_data; my $dbh=DBI->connect( "DBI:mysql:database=TheKyngdoms;host=213.171.219.98", "$dbvals{dbuser}", "$dbvals{dbpword}" ) or die "Can't connect to database: $DBI::errstr\n"; my $sth=$dbh->prepare(" INSERT INTO phpbb_kyng_products (kyng_products_added, kyng_products_status, kyng_products_sku, kyng_products_name, kyng_products_price, kyng_products_short_description, kyng_products_full_description, kyng_products_thumb_large, kyng_products_thumb_small, kyng_products_preview, kyng_products_dbb, kyng_products_dtrpg, kyng_products_rpgnow, kyng_products_edge, kyng_products_arima, kyng_products_e23, kyng_products_paizo, kyng_products_enworld, kyng_products_download, kyng_products_lulu) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) "); $sth->execute("$fields{kyngprod_added}","$fields{kyngprod_status}","$fields{kyngprod_sku}","$fields{kyngprod_name}","$fields{kyngprod_price}","$fields{kyngprod_short_description}","$fields{kyngprod_full_description}","$fields{kyngprod_thumb_large}","$fields{kyngprod_thumb_small}","$fields{kyngprod_preview}","$fields{kyngprod_dbb}","$fields{kyngprod_dtrpg}","$fields{kyngprod_rpgnow}","$fields{kyngprod_edge}","$fields{kyngprod_arima}","$fields{kyngprod_e23}","$fields{kyngprod_paizo}","$fields{kyngprod_enworld}","$fields{kyngprod_download}","$fields{kyngprod_lulu}"); $dbh->disconnect or warn "Can't disconnect from database: $DBI::errstr\n"; $lastaction = "$fields{kyngprod_name} added.\n"; &start; } # end of sub addnewprodrec sub deleteprodrec { my %dbvals = &db_data; my $onhold = "on hold"; my $dbh=DBI->connect( "DBI:mysql:database=TheKyngdoms;host=213.171.219.98", "$dbvals{dbuser}", "$dbvals{dbpword}" ) or die "Can't connect to database: $DBI::errstr\n"; my $sth=$dbh->prepare(" UPDATE phpbb_kyng_products SET kyng_products_status = ? WHERE kyng_products_id = ? "); $sth->execute("$onhold","$fields{id}"); $dbh->disconnect or warn "Can't disconnect from database: $DBI::errstr\n"; $lastaction = "$fields{kyngprod_name} deleted (\"on hold\").\n"; &start; } # end of deleteprodrec