het download mod geinstalleerd.
Alles uitgevoerd en db-update.php uitgevoerd.
Alles is succesfull, behalve :
Check Configuration Table phpbb_dl_config
CREATE TABLE phpbb_dl_config ( config_name VARCHAR(255), config_value VARCHAR(255), PRIMARY KEY (config_name))
+++ Failed: All parts of a PRIMARY KEY must be NOT NULL; If you need NULL in a key, use UNIQUE instead
Dit is fout blijkbaar.
In phpmyadmin stat geen table myet naam dl_config.
Hoe kan ik die maken?
Dit is mijn db_update.php :
Code: Selecteer alles
<?php
/***************************************************************************
* db_update.php
* -------------------
*
* copyright : ©2003 Freakin' Booty ;-P & Antony Bailey
* project : http://sourceforge.net/projects/dbgenerator
* Website : http://freakingbooty.no-ip.com/ & http://www.rapiddr3am.net
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
if( !$userdata['session_logged_in'] )
{
$header_location = ( @preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')) ) ? 'Refresh: 0; URL=' : 'Location: ';
header($header_location . append_sid("login.$phpEx?redirect=db_update.$phpEx", true));
exit;
}
if( $userdata['user_level'] != ADMIN )
{
message_die(GENERAL_MESSAGE, 'You are not authorised to access this page');
}
$page_title = 'Updating the database';
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
echo '<table width="100%" cellspacing="1" cellpadding="2" border="0" class="forumline">';
echo '<tr><th>Updating the database</th></tr><tr><td><span class="genmed"><ul type="circle">';
echo '<li><b>Check Downloads Table </b><u>'.$table_prefix.'downloads</u></li><br />';
$sql = "SHOW COLUMNS FROM ".$table_prefix."downloads";
if(!$result = $db->sql_query($sql))
{
$error = $db->sql_error();
if ($error['code'] == 1146)
{
$sql = "CREATE TABLE " . $table_prefix . "downloads (
id INT(11) auto_increment,
description VARCHAR(255),
file_name VARCHAR(255),
klicks INT(11) DEFAULT '0',
free TINYINT(1) DEFAULT '0',
extern TINYINT(1) DEFAULT '0',
long_desc TEXT,
sort INT(11) DEFAULT '0',
cat INT(11) DEFAULT '0',
hacklist TINYINT(1) DEFAULT '0',
hack_author VARCHAR(255) DEFAULT '',
hack_author_email VARCHAR(255) DEFAULT '',
hack_author_website TINYTEXT,
hack_version VARCHAR(32) DEFAULT '',
hack_dl_url TINYTEXT,
test varchar(50) DEFAULT '',
req TEXT,
todo varchar(255) DEFAULT '',
warning TEXT,
mod_desc TEXT,
bbcode_uid VARCHAR(10) DEFAULT '',
mod_list TINYINT(1) DEFAULT '0',
file_size INT(20) unsigned DEFAULT '0',
change_time INT(11) DEFAULT '0',
add_time INT(11) DEFAULT '0',
rating VARCHAR(10) DEFAULT '0',
file_traffic INT(11) DEFAULT '0',
overall_klicks INT(11) DEFAULT '0',
approve TINYINT(1) DEFAULT '0',
add_user MEDIUMINT(8) DEFAULT '0',
change_user MEDIUMINT(8) DEFAULT '0',
last_time INT(11) DEFAULT '0',
PRIMARY KEY (id))";
$db->sql_query($sql);
$error = $db->sql_error();
if ($error['message'] != '')
{
echo '<li>' . $sql . '<br /> +++ <font color="#FF0000"><b>Failed: </b>'.$error['message'].'</font></li><br />';
}
else
{
echo '<li>' . $sql . '<br /> +++ <font color="#0000FF"><b>Table '.$table_prefix.'downloads created</b></font></li><br />';
}
$current_time = time();
$sql = "UPDATE " . $table_prefix . "downloads SET change_time = $current_time, add_time = $current_time, add_user = " . $userdata['user_id'] . ", change_user = " . $userdata['user_id'];
$db->sql_query($sql);
$error = $db->sql_error();
if ($error['message'] != '')
{
echo '<li>' . $sql . '<br /> +++ <font color="#FF0000"><b>Failed: </b>'.$error['message'].'</font></li><br />';
}
else
{
echo '<li>' . $sql . '<br /> +++ <font color="#0000FF"><b>Time on '.$table_prefix.'downloads updated</b></font></li><br />';
}
}
}
else
{
$fields = array('id','description','file_name','klicks','free','extern','long_desc','sort','cat','hacklist','hack_author','hack_author_email','hack_author_website','hack_version','hack_dl_url','test','req','todo','warning','mod_desc','bbcode_uid','mod_list','file_size','change_time','add_time','rating','file_traffic','overall_klicks','approve', 'add_user', 'change_user', 'last_time');
$dl_table = $check = array();
$dl_table['id'] = "id INT(11) auto_increment";
$dl_table['description'] = "description VARCHAR(255)";
$dl_table['file_name'] = "file_name VARCHAR(255)";
$dl_table['klicks'] = "klicks INT(11) DEFAULT '0'";
$dl_table['free'] = "free TINYINT(1) DEFAULT '0'";
$dl_table['extern'] = "extern TINYINT(1) DEFAULT '0'";
$dl_table['long_desc'] = "long_desc TEXT";
$dl_table['sort'] = "sort INT(11) DEFAULT '0'";
$dl_table['cat'] = "cat INT(11) DEFAULT '0'";
$dl_table['hacklist'] = "hacklist TINYINT(1) DEFAULT '0'";
$dl_table['hack_author'] = "hack_author VARCHAR(255) DEFAULT ''";
$dl_table['hack_author_email'] = "hack_author_email VARCHAR(255) DEFAULT ''";
$dl_table['hack_author_website'] = "hack_author_website TINYTEXT";
$dl_table['hack_version'] = "hack_version VARCHAR(32) DEFAULT ''";
$dl_table['hack_dl_url'] = "hack_dl_url TINYTEXT";
$dl_table['test'] = "test varchar(50) DEFAULT ''";
$dl_table['req'] = "req TEXT";
$dl_table['todo'] = "todo varchar(255) DEFAULT ''";
$dl_table['warning'] = "warning TEXT";
$dl_table['mod_desc'] = "mod_desc TEXT";
$dl_table['bbcode_uid'] = "bbcode_uid VARCHAR(10) DEFAULT ''";
$dl_table['mod_list'] = "mod_list TINYINT(1) DEFAULT '0'";
$dl_table['file_size'] = "file_size INT(20) unsigned DEFAULT '0'";
$dl_table['change_time'] = "change_time INT(11) DEFAULT '0'";
$dl_table['add_time'] = "add_time INT(11) DEFAULT '0'";
$dl_table['rating'] = "rating VARCHAR(10) DEFAULT '0'";
$dl_table['file_traffic'] = "file_traffic INT(11) DEFAULT '0'";
$dl_table['overall_klicks'] = "overall_klicks INT(11) DEFAULT '0'";
$dl_table['approve'] = "approve TINYINT(1) DEFAULT '1'";
$dl_table['add_user'] = "add_user MEDIUMINT(8) DEFAULT '0'";
$dl_table['change_user'] = "change_user MEDIUMINT(8) DEFAULT '0'";
$dl_table['last_time'] = "last_time INT(11) DEFAULT '0'";
while ($row = $db->sql_fetchrow($result))
{
$check[] = $row['Field'];
}
for ($i = 0; $i < count($fields); $i++)
{
if (!in_array($fields[$i], $check))
{
$sql = "ALTER TABLE " . $table_prefix . "downloads ADD COLUMN " . $dl_table[$fields[$i]];
$db->sql_query($sql);
$error = $db->sql_error();
if ($error['message'] != '')
{
echo '<li>' . $sql . '<br /> +++ <font color="#FF0000"><b>Failed: </b>'.$error['message'].'</font></li><br />';
}
else
{
echo '<li>' . $sql . '<br /> +++ <font color="#00AA00"><b>successfull</b></font></li><br />';
}
}
}
$sql = "ALTER TABLE " . $table_prefix . "downloads DROP COLUMN traffic";
$db->sql_query($sql);
$sql = "ALTER TABLE " . $table_prefix . "downloads DROP COLUMN new_edit";
$db->sql_query($sql);
$sql = "UPDATE " . $table_prefix . "downloads SET add_time = change_time, add_user = " . $userdata['user_id'] . ", change_user = " . $userdata['user_id'];
$db->sql_query($sql);
}
echo '<br /> +++ <font color="#00AA00"><b>successfull</b></font><br /><br />';
echo '<li><b>Check Categories Table </b><u>'.$table_prefix.'downloads_cat</u></li><br />';
$sql = "SHOW COLUMNS FROM ".$table_prefix."downloads_cat";
if(!$result = $db->sql_query($sql))
{
$error = $db->sql_error();
if ($error['code'] == 1146)
{
$sql = "CREATE TABLE " . $table_prefix . "downloads_cat (
id INT(11) auto_increment,
parent INT(11) DEFAULT '0',
path VARCHAR(255),
cat_name VARCHAR(255),
sort INT(11) DEFAULT '0',
description TEXT,
bbcode_uid VARCHAR(10) DEFAULT '',
auth_view TINYINT(1) DEFAULT '1' NOT NULL,
auth_dl TINYINT(1) DEFAULT '1' NOT NULL,
auth_up TINYINT(1) DEFAULT '0' NOT NULL,
auth_mod TINYINT(1) DEFAULT '0' NOT NULL,
must_approve TINYINT(1) DEFAULT '0' NOT NULL,
allow_mod_desc TINYINT(1) DEFAULT '0' NOT NULL,
PRIMARY KEY (id))";
$db->sql_query($sql);
$error = $db->sql_error();
if ($error['message'] != '')
{
echo '<li>' . $sql . '<br /> +++ <font color="#FF0000"><b>Failed: </b>'.$error['message'].'</font></li><br />';
}
else
{
echo '<li>' . $sql . '<br /> +++ <font color="#0000FF"><b>Table '.$table_prefix.'downloads_cat created</b></font></li><br />';
}
}
}
else
{
$fields = array('id','parent','path','cat_name','sort','description','bbcode_uid','auth_view','auth_dl','auth_up','auth_mod','must_approve','allow_mod_desc');
$dl_table = $check = array();
$dl_table['id'] = "id INT(11) auto_increment";
$dl_table['parent'] = "parent INT(11) DEFAULT '0'";
$dl_table['path'] = "path VARCHAR(255)";
$dl_table['cat_name'] = "cat_name VARCHAR(255)";
$dl_table['sort'] = "sort INT(11) DEFAULT '0'";
$dl_table['description'] = "description TEXT";
$dl_table['bbcode_uid'] = "bbcode_uid VARCHAR(10) DEFAULT ''";
$dl_table['auth_view'] = "auth_view TINYINT(1) DEFAULT '1' NOT NULL";
$dl_table['auth_dl'] = "auth_dl TINYINT(1) DEFAULT '1' NOT NULL";
$dl_table['auth_up'] = "auth_up TINYINT(1) DEFAULT '0' NOT NULL";
$dl_table['auth_mod'] = "auth_mod TINYINT(1) DEFAULT '0' NOT NULL";
$dl_table['must_approve'] = "must_approve TINYINT(1) DEFAULT '0' NOT NULL";
$dl_table['allow_mod_desc'] = "allow_mod_desc TINYINT(1) DEFAULT '0' NOT NULL";
while ($row = $db->sql_fetchrow($result))
{
$check[] = $row['Field'];
}
for ($i = 0; $i < count($fields); $i++)
{
if (!in_array($fields[$i], $check))
{
$sql = "ALTER TABLE " . $table_prefix . "downloads_cat ADD COLUMN " . $dl_table[$fields[$i]];
$db->sql_query($sql);
$error = $db->sql_error();
if ($error['message'] != '')
{
echo '<li>' . $sql . '<br /> +++ <font color="#FF0000"><b>Failed: </b>'.$error['message'].'</font></li><br />';
}
else
{
echo '<li>' . $sql . '<br /> +++ <font color="#00AA00"><b>successfull</b></font></li><br />';
}
}
}
}
echo '<br /> +++ <font color="#00AA00"><b>successfull</b></font><br /><br />';
echo '<li><b>Check Permissions Table </b><u>'.$table_prefix.'dl_auth</u></li><br />';
$sql = "SHOW COLUMNS FROM ".$table_prefix."dl_auth";
if(!$result = $db->sql_query($sql))
{
$error = $db->sql_error();
if ($error['code'] == 1146)
{
$sql = "CREATE TABLE " . $table_prefix . "dl_auth (
cat_id INT(11) NOT NULL,
group_id INT(11) NOT NULL,
auth_view TINYINT(1) DEFAULT '1' NOT NULL,
auth_dl TINYINT(1) DEFAULT '1' NOT NULL,
auth_up TINYINT(1) DEFAULT '1' NOT NULL,
auth_mod TINYINT(1) DEFAULT '0' NOT NULL)";
$db->sql_query($sql);
$error = $db->sql_error();
if ($error['message'] != '')
{
echo '<li>' . $sql . '<br /> +++ <font color="#FF0000"><b>Failed: </b>'.$error['message'].'</font></li><br />';
}
else
{
echo '<li>' . $sql . '<br /> +++ <font color="#0000FF"><b>Table '.$table_prefix.'dl_auth created</b></font></li><br />';
}
}
}
else
{
$fields = array('cat_id','group_id','auth_view','auth_dl','auth_up','auth_mod');
$dl_table = $check = array();
$dl_table['cat_id'] = "cat_id INT(11) NOT NULL";
$dl_table['group_id'] = "group_id INT(11) NOT NULL";
$dl_table['auth_view'] = "auth_view TINYINT(1) DEFAULT '1' NOT NULL";
$dl_table['auth_dl'] = "auth_dl TINYINT(1) DEFAULT '1' NOT NULL";
$dl_table['auth_up'] = "auth_up TINYINT(1) DEFAULT '1' NOT NULL";
$dl_table['auth_mod'] = "auth_mod TINYINT(1) DEFAULT '0' NOT NULL";
while ($row = $db->sql_fetchrow($result))
{
$check[] = $row['Field'];
}
for ($i = 0; $i < count($fields); $i++)
{
if (!in_array($fields[$i], $check))
{
$sql = "ALTER TABLE " . $table_prefix . "dl_auth ADD COLUMN " . $dl_table[$fields[$i]];
$db->sql_query($sql);
$error = $db->sql_error();
if ($error['message'] != '')
{
echo '<li>' . $sql . '<br /> +++ <font color="#FF0000"><b>Failed: </b>'.$error['message'].'</font></li><br />';
}
else
{
echo '<li>' . $sql . '<br /> +++ <font color="#00AA00"><b>successfull</b></font></li><br />';
}
}
}
}
echo '<br /> +++ <font color="#00AA00"><b>successfull</b></font><br /><br />';
echo '<li><b>Check Rating Table </b><u>'.$table_prefix.'dl_ratings</u></li><br />';
$sql = "SHOW COLUMNS FROM ".$table_prefix."dl_ratings";
if(!$result = $db->sql_query($sql))
{
$error = $db->sql_error();
if ($error['code'] == 1146)
{
$sql = "CREATE TABLE " . $table_prefix . "dl_ratings (
dl_id INT(11) DEFAULT '0',
user_id MEDIUMINT(8) DEFAULT '0',
rate_point VARCHAR(10) DEFAULT '0')";
$db->sql_query($sql);
$error = $db->sql_error();
if ($error['message'] != '')
{
echo '<li>' . $sql . '<br /> +++ <font color="#FF0000"><b>Failed: </b>'.$error['message'].'</font></li><br />';
}
else
{
echo '<li>' . $sql . '<br /> +++ <font color="#0000FF"><b>Table '.$table_prefix.'dl_ratings created</b></font></li><br />';
}
}
}
else
{
$fields = array('dl_id','user_id','rate_point');
$dl_table = $check = array();
$dl_table['dl_id'] = "dl_id INT(11) DEFAULT '0'";
$dl_table['user_id'] = "user_id MEDIUMINT(8) DEFAULT '0'";
$dl_table['rate_point'] = "rate_point VARCHAR(10) DEFAULT '0')";
while ($row = $db->sql_fetchrow($result))
{
$check[] = $row['Field'];
}
for ($i = 0; $i < count($fields); $i++)
{
if (!in_array($fields[$i], $check))
{
$sql = "ALTER TABLE " . $table_prefix . "dl_ratings ADD COLUMN " . $dl_table[$fields[$i]];
$db->sql_query($sql);
$error = $db->sql_error();
if ($error['message'] != '')
{
echo '<li>' . $sql . '<br /> +++ <font color="#FF0000"><b>Failed: </b>'.$error['message'].'</font></li><br />';
}
else
{
echo '<li>' . $sql . '<br /> +++ <font color="#00AA00"><b>successfull</b></font></li><br />';
}
}
}
}
echo '<br /> +++ <font color="#00AA00"><b>successfull</b></font><br /><br />';
echo '<li><b>Check Configuration Table </b><u>'.$table_prefix.'dl_config</u></li><br />';
$sql = "SHOW COLUMNS FROM ".$table_prefix."dl_config";
if(!$result = $db->sql_query($sql))
{
$error = $db->sql_error();
if ($error['code'] == 1146)
{
$sql = "CREATE TABLE " . $table_prefix . "dl_config (
config_name VARCHAR(255),
config_value VARCHAR(255),
PRIMARY KEY (config_name))";
$db->sql_query($sql);
$error = $db->sql_error();
if ($error['message'] != '')
{
echo '<li>' . $sql . '<br /> +++ <font color="#FF0000"><b>Failed: </b>'.$error['message'].'</font></li><br />';
}
else
{
echo '<li>' . $sql . '<br /> +++ <font color="#0000FF"><b>Table '.$table_prefix.'dl_config created</b></font></li><br />';
}
}
}
else
{
$fields = array('config_name','config_value');
$dl_table = $check = array();
$dl_table['config_name'] = "config_name VARCHAR(255)";
$dl_table['config_value'] = "config_value VARCHAR(255)";
while ($row = $db->sql_fetchrow($result))
{
$check[] = $row['Field'];
}
for ($i = 0; $i < count($fields); $i++)
{
if (!in_array($fields[$i], $check))
{
$sql = "ALTER TABLE " . $table_prefix . "dl_config ADD COLUMN " . $dl_table[$fields[$i]];
$db->sql_query($sql);
$error = $db->sql_error();
if ($error['message'] != '')
{
echo '<li>' . $sql . '<br /> +++ <font color="#FF0000"><b>Failed: </b>'.$error['message'].'</font></li><br />';
}
else
{
echo '<li>' . $sql . '<br /> +++ <font color="#00AA00"><b>successfull</b></font></li><br />';
}
}
}
}
echo '<br /> +++ <font color="#00AA00"><b>successfull</b></font><br /><br />';
echo '<li><b>Insert/Convert Configuration Values on Table </b><u>'.$table_prefix.'dl_config</u></li><br />';
echo '<li><b>Alter Groups Table </b><u>'.$table_prefix.'groups</u></li><br />';
echo '<li><b>Alter User Table </b><u>'.$table_prefix.'users</u></li><br />';
$config_fields = array(
'dl_click_reset_time',
'dl_edit_time',
'dl_links_per_page',
'dl_new_time',
'dl_posts',
'download_dir',
'enable_post_dl_traffic',
'newtopic_traffic',
'recent_downloads',
'reply_traffic',
'user_dl_auto_traffic',
'overall_traffic',
'remain_traffic',
'traffic_retime',
'stop_uploads',
'upload_traffic_count',
'physical_quota',
'delay_auto_traffic',
'delay_post_traffic',
'disable_popup',
'disable_email');
$current_time = time();
$config_values = array('0', '3', '10', '3', '25', 'media/', '1', '524288', '10', '262144', '0', '104857600', '0', $current_time, '0', '1', '524288000', '30', '30', '0', '1');
$sql = array();
for ($i = 0; $i < count($config_fields); $i++)
{
$config = ($board_config[$config_fields[$i]] != '') ? $board_config[$config_fields[$i]] : $config_values[$i];
$sql[] = "INSERT INTO " . $table_prefix . "dl_config (config_name, config_value) VALUES ('".$config_fields[$i]."', '".$config."')";
$sql[] = "DELETE FROM " . $table_prefix . "config WHERE config_name = '" . $config_fields[$i] . "'";
}
$sql[] = "DELETE FROM " . $table_prefix . "dl_config WHERE config_name='user_dl_permission'";
$sql[] = "ALTER TABLE " . $table_prefix . "groups ADD COLUMN group_dl_auto_traffic INT( 11 ) DEFAULT '0' NOT NULL";
$sql[] = "ALTER TABLE " . $table_prefix . "groups DROP COLUMN group_dl_permission";
$sql[] = "ALTER TABLE " . $table_prefix . "users ADD COLUMN user_traffic INT(255) DEFAULT '0' NOT NULL";
$sql[] = "ALTER TABLE " . $table_prefix . "users ADD COLUMN user_allow_new_download_popup TINYINT(1) DEFAULT '1' NOT NULL";
$sql[] = "ALTER TABLE " . $table_prefix . "users ADD COLUMN user_allow_new_download_email TINYINT(1) DEFAULT '0' NOT NULL";
$sql[] = "ALTER TABLE " . $table_prefix . "users ADD COLUMN user_dl_update_time INT( 11 ) DEFAULT '0' NOT NULL";
$sql[] = "ALTER TABLE " . $table_prefix . "users ADD COLUMN user_new_download TINYINT(1) DEFAULT '0' NOT NULL";
for ($i = 0; $i < count($sql); $i++)
{
$db->sql_query($sql[$i]);
$error = $db->sql_error();
if ($error['message'] != '')
{
echo '<li>' . $sql[$i] . '<br /> +++ <font color="#0000FF"><b>Field/Value already up to date</b></font></li><br />';
}
else
{
echo '<li>' . $sql[$i] . '<br /> +++ <font color="#00AA00"><b>successfull</b></font></li><br />';
}
}
echo '<li><b>Convert Download Clicks to Overall Clicks</b></li><br />';
unset($sql);
$sql = "SELECT id FROM " . $table_prefix . "downloads
WHERE overall_klicks = 0";
if (!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not read download clicks for converting', '', __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result))
{
$dl_id = $row['id'];
$sql_dl_update = "UPDATE " . $table_prefix . "downloads
SET overall_klicks = klicks
WHERE id = $dl_id
AND overall_klicks = 0";
if (!$result_update = $db->sql_query($sql_dl_update))
{
message_die(GENERAL_ERROR, 'Could not write overall download clicks', '', __LINE__, __FILE__, $sql_dl_update);
}
}
echo '<br /> +++ <font color="#00AA00"><b>successfull</b></font><br /><br />';
echo '<br /><br /><br /><font color="#000000"><h2>Database Update now complete!<h2></font><br /><br />';
echo '</ul></span></td></tr><tr><td class="catBottom" height="28"> </td></tr>';
echo '<tr><th>End</th></tr><tr><td><span class="genmed">Installation is now finished. Please be sure to delete this file now.<br />If you have run into any errors, please visit the <a href="http://www.phpbbsupport.co.uk" target="_phpbbsupport">phpBBSupport.co.uk</a> and ask someone for help.</span></td></tr>';
echo '<tr><td class="catBottom" height="28" align="center"><span class="genmed"><a href="' . append_sid("index.$phpEx") . '">Have a nice day</a></span></td></table>';
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>