add_admin_functions('defensio_commentlist', 'single_comment_list');
add_admin_functions('get_defensio_style', 'admin_html_head');
//*******************************************************************************************************************
//   CHECK DATABASE AND CREATE NECESSARY TABLES/FIELDS
//*******************************************************************************************************************
// Update comment table
if (!is_field_exists('spaminess', 'comments')) {
    // create field
    update_comments_table_for_defensio();
}
// Create options table
if (!is_field_exists('server', 'defensio')) {
    create_options_table_for_defensio();
}
// Update options table
if (!is_field_exists('defensio_stats', 'defensio')) {
    update_options_table_for_defensio1_1();
}
// Suport for the SPAMlog addon
$query = "SELECT `start_datetime` FROM `{$pixelpost_db_prefix}spamlog` LIMIT 1";
if (mysql_query($query)) {
    //SPAMLOG table exists, check for field
    $query = "SELECT `defensio_addon` FROM `{$pixelpost_db_prefix}spamlog` LIMIT 1";
    if (!mysql_query($query)) {
        update_spamlog_table_for_defensio();
    }
}
$result = mysql_query("SELECT * FROM `{$pixelpost_db_prefix}defensio` LIMIT 1") or die(mysql_error());
$defensio_conf = mysql_fetch_array($result);
//*******************************************************************************************************************
//   GLOBAL DECLARATION
function UpgradeTo17($prefix, $newversion)
{
    global $lang_updated, $lang_create_update_to;
    $create_status[null] = null;
    if (!is_field_exists('thumbnailpath', 'config')) {
        // Add admin langfile
        mysql_query("ALTER TABLE `{$prefix}config` ADD `admin_langfile` VARCHAR(100) NOT NULL DEFAULT 'english'") or die("MySQL Error: " . mysql_error());
        // Add thumbnail path
        mysql_query("ALTER TABLE `{$prefix}config` ADD `thumbnailpath` VARCHAR(150) NOT NULL DEFAULT '../thumbnails/' AFTER `imagepath`") or die("MySQL Error: " . mysql_error());
        // Add sub title
        mysql_query("ALTER TABLE `{$prefix}config` ADD `subtitle` VARCHAR(100) NOT NULL DEFAULT 'Authentic photoblog flavour' AFTER `sitetitle`") or die("MySQL Error: " . mysql_error());
        // Drop rss type field
        mysql_query("ALTER TABLE `{$prefix}config` DROP `rsstype`");
        // Add rss type field
        mysql_query("ALTER TABLE `{$prefix}config` ADD `rsstype` ENUM('F', 'FO', 'T', 'O', 'N') NOT NULL DEFAULT 'T' AFTER `max_uri_comments`") or die("MySQL Error: " . mysql_error());
        // Add feed discovery
        mysql_query("ALTER TABLE `{$prefix}config` ADD `feed_discovery` ENUM('RA', 'R', 'A', 'E', 'N') NOT NULL DEFAULT 'RA' AFTER `rsstype`") or die("MySQL Error: " . mysql_error());
        // Add feed title
        mysql_query("ALTER TABLE `{$prefix}config` ADD `feed_title` VARCHAR(100) NOT NULL DEFAULT 'Pixelpost' AFTER `feed_discovery`") or die("MySQL Error: " . mysql_error());
        // Add feed description
        mysql_query("ALTER TABLE `{$prefix}config` ADD `feed_description` VARCHAR(100) NOT NULL DEFAULT 'Authentic photoblog flavour' AFTER `feed_title`") or die("MySQL Error: " . mysql_error());
        // Add feed copyright
        mysql_query("ALTER TABLE `{$prefix}config` ADD `feed_copyright` VARCHAR(100) NOT NULL DEFAULT 'Copyright 2007 yoursite.com, All Rights Reserved' AFTER `feed_description`") or die("MySQL Error: " . mysql_error());
        // Add allow comment feed
        mysql_query("ALTER TABLE `{$prefix}config` ADD `allow_comment_feed`  ENUM('Y', 'N') NOT NULL DEFAULT 'Y' AFTER `feed_copyright`") or die("MySQL Error: " . mysql_error());
        // Add external feed
        mysql_query("ALTER TABLE `{$prefix}config` ADD `feed_external` VARCHAR(150) NOT NULL DEFAULT '' AFTER `allow_comment_feed`") or die("MySQL Error: " . mysql_error());
        // Add external feed type
        mysql_query("ALTER TABLE `{$prefix}config` ADD `feed_external_type` ENUM('ER', 'EA') NOT NULL DEFAULT 'ER' AFTER `feed_external`") or die("MySQL Error: " . mysql_error());
        // Add display order
        mysql_query("ALTER TABLE `{$prefix}config` ADD `display_order` ENUM('default', 'reversed') NOT NULL DEFAULT 'default'") or die("MySQL Error: " . mysql_error());
        // Add admin thumb sharpening
        mysql_query("ALTER TABLE `{$prefix}config` ADD `thumb_sharpening` VARCHAR(1) DEFAULT '0'") or die("MySQL Error: " . mysql_error());
        // Add display sort by
        mysql_query("ALTER TABLE `{$prefix}config` ADD `display_sort_by` VARCHAR(150) NOT NULL DEFAULT 'datetime' AFTER `display_order`") or die("MySQL Error: " . mysql_error());
        // Dorop comment_dsbl
        mysql_query("ALTER TABLE `{$prefix}config` DROP `comment_dsbl`") or die("MySQL Error: " . mysql_error());
        // Update thumbnail path
        mysql_query("UPDATE `{$prefix}config` SET `thumbnailpath` = '../thumbnails/'") or die("MySQL Error: " . mysql_error());
        // Update version
        mysql_query("INSERT INTO `{$prefix}version` (version) VALUES ({$newversion})") or die("MySQL Error: " . mysql_error());
        $create_status[$lang_create_update_to . " " . $newversion] = $lang_updated;
    }
    return $create_status;
}
 }
 // Update comment table
 if (!is_field_exists('spaminess', 'comments')) {
     // create field
     update_comments_table_for_defensio();
 }
 // Create options table
 if (!is_field_exists('key', 'defensio')) {
     create_options_table_for_defensio();
 }
 // Update options table
 if (!is_field_exists('defensio_stats', 'defensio')) {
     update_options_table_for_defensio1_1();
 }
 // Update database for Defensio 2.0
 if (!is_field_exists('status', 'comments')) {
     update_database_for_defensio2_0();
 }
 $defensio_result = mysql_query("SELECT * FROM `{$pixelpost_db_prefix}defensio` LIMIT 1") or die(mysql_error());
 $defensio_conf = mysql_fetch_array($defensio_result);
 $timelimit = 60 * 5;
 if ($defensio_conf['defensio_comments_processed_at'] == null or mktime() - $defensio_conf['defensio_comments_processed_at'] > $timelimit) {
     defensio_process_unprocessed($defensio_conf);
 }
 //*******************************************************************************************************************
 //   GLOBAL DECLARATION
 //*******************************************************************************************************************
 $GLOBALS['defensio_conf'] = $defensio_conf;
 global $tpl;
 $_SESSION['divide_somewhat'] = "<h2>Somewhat Spammy</h2>";
 $_SESSION['divide_moderately'] = "<h2>Moderately Spammy</h2>";