Ja da hast du wohl Recht. Ich werde mal versuchen php zu lernen, html kann ich schon. In der Knowledgebase gibt es ja schon Links.hackepeter13 hat geschrieben:Du sollst nicht die install.xml im Texteditor öffnen, sondern die install.php, die dir die Fehlermelden vorgeführt hat, welche du hier im Themeneingangsbeitrag gepostet hast.![]()
Wenn du diese nun mit einem Texteditor geöffnet hast, befolgst du nochmal Metzle seinen Beitrag:Aber so wie ich dich hier einschätze, wirst du da ebenfalls keinen Durchblick haben.Metzle hat geschrieben:dann schau mal in die Installationsdatei welcher Code dafür steht, dass die Tabelle angelegt wird und lege sie manuell an
Wie dem auch sei, du hast Recht, ich weiß von nichts.
Die Datei hat folgenden Inhalt:
Code: Alles auswählen
<?php
/**
*
* @package - NV BugTracker
* @version $Id: install.php 119 2008-01-19 12:18:11Z nickvergessen $
* @copyright (c) nickvergessen ( http://mods.flying-bits.org/ )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
define('IN_PHPBB', true);
$phpbb_root_path = '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/acp/acp_modules.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
$user->add_lang('mods/bugtracker');
$new_mod_version = '0.1.1';
$page_title = 'NV BugTracker v' . $new_mod_version;
$mode = request_var('mode', 'else', true);
function split_sql_file($sql, $delimiter)
{
$sql = str_replace("\r" , '', $sql);
$data = preg_split('/' . preg_quote($delimiter, '/') . '$/m', $sql);
$data = array_map('trim', $data);
// The empty case
$end_data = end($data);
if (empty($end_data))
{
unset($data[key($data)]);
}
return $data;
}
// What sql_layer should we use?
switch ($db->sql_layer)
{
case 'mysql':
$db_schema = 'mysql_40';
$delimiter = ';';
break;
case 'mysql4':
if (version_compare($db->mysql_version, '4.1.3', '>='))
{
$db_schema = 'mysql_41';
}
else
{
$db_schema = 'mysql_40';
}
$delimiter = ';';
break;
case 'mysqli':
$db_schema = 'mysql_41';
$delimiter = ';';
break;
case 'mssql':
$db_schema = 'mssql';
$delimiter = 'GO';
break;
case 'postgres':
$db_schema = 'postgres';
$delimiter = ';';
break;
case 'sqlite':
$db_schema = 'sqlite';
$delimiter = ';';
break;
case 'firebird':
$db_schema = 'firebird';
$delimiter = ';;';
break;
case 'oracle':
$db_schema = 'oracle';
$delimiter = '/';
break;
default:
trigger_error('Sorry, unsupportet Databases found.');
break;
}
switch ($mode)
{
case 'install':
$install = request_var('install', 0);
$installed = false;
if ($install == 1)
{
// locate the schema files
$dbms_schema = 'schemas/_' . $db_schema . '_schema.sql';
$sql_query = @file_get_contents($dbms_schema);
$sql_query = preg_replace('#phpbb_#i', $table_prefix, $sql_query);
$sql_query = preg_replace('/\n{2,}/', "\n", preg_replace('/^#.*$/m', "\n", $sql_query));
$sql_query = split_sql_file($sql_query, $delimiter);
// make the new one's
foreach ($sql_query as $sql)
{
if (!$db->sql_query($sql))
{
$error = $db->sql_error();
$this->p_master->db_error($error['message'], $sql, __LINE__, __FILE__);
}
}
unset($sql_query);
// Tadaa! Fill all data in ;-)
$sql_query = file_get_contents('schemas/_schema_data.sql');
switch ($db->sql_layer)
{
case 'mssql':
case 'mssql_odbc':
$sql_query = preg_replace('#\# MSSQL IDENTITY (phpbb_[a-z_]+) (ON|OFF) \##s', 'SET IDENTITY_INSERT \1 \2;', $sql_query);
break;
case 'postgres':
$sql_query = preg_replace('#\# POSTGRES (BEGIN|COMMIT) \##s', '\1; ', $sql_query);
break;
}
$sql_query = preg_replace('#phpbb_#i', $table_prefix, $sql_query);
$sql_query = preg_replace('/\n{2,}/', "\n", preg_replace('/^#.*$/m', "\n", $sql_query));
$sql_query = split_sql_file($sql_query, ';');
foreach ($sql_query as $sql)
{
if (!$db->sql_query($sql))
{
$error = $db->sql_error();
$this->p_master->db_error($error['message'], $sql, __LINE__, __FILE__);
}
}
unset($sql_query);
// create the acp modules
$modules = new acp_modules();
$bugtracker = array(
'module_basename' => '',
'module_enabled' => 1,
'module_display' => 1,
'parent_id' => 31,
'module_class' => 'acp',
'module_langname' => 'ACP_BT_BUGTRACKER',
'module_mode' => '',
'module_auth' => ''
);
$modules->update_module_data($bugtracker);
$configure_bugtracker = array(
'module_basename' => 'bugtracker',
'module_enabled' => 1,
'module_display' => 1,
'parent_id' => $bugtracker['module_id'],
'module_class' => 'acp',
'module_langname' => 'ACP_BT_SETUP',
'module_mode' => 'configure_bugtracker',
'module_auth' => ''
);
$modules->update_module_data($configure_bugtracker);
$manage_categories = array(
'module_basename' => 'bugtracker',
'module_enabled' => 1,
'module_display' => 1,
'parent_id' => $bugtracker['module_id'],
'module_class' => 'acp',
'module_langname' => 'ACP_BT_MANAGE_CATEGORIES',
'module_mode' => 'manage_categories',
'module_auth' => ''
);
$modules->update_module_data($manage_categories);
// clear cache and log what we did
$cache->purge();
set_config('bugtracker_version', $new_mod_version);
add_log('admin', 'NV BugTracker v' . $new_mod_version . ' installed');
$installed = true;
}
break;
case 'update010':
$update = request_var('update', 0);
$version = request_var('v', '0', true);
$updated = false;
if ($update == 1)
{
// Drop thes tables if existing
if ($db->sql_layer != 'mssql')
{
$sql = 'DROP TABLE IF EXISTS ' . $table_prefix . 'bug_tracking';
$result = $db->sql_query($sql);
$db->sql_freeresult($result);
}
else
{
$sql = 'if exists (select * from sysobjects where name = ' . $table_prefix . 'bug_tracking)
drop table ' . $table_prefix . 'bug_tracking';
$result = $db->sql_query($sql);
$db->sql_freeresult($result);
}
// locate the schema files
$dbms_schema = 'update_schemas/_' . $db_schema . '_schema.sql';
$sql_query = @file_get_contents($dbms_schema);
$sql_query = preg_replace('#phpbb_#i', $table_prefix, $sql_query);
$sql_query = preg_replace('/\n{2,}/', "\n", preg_replace('/^#.*$/m', "\n", $sql_query));
$sql_query = split_sql_file($sql_query, $delimiter);
// make the new one's
foreach ($sql_query as $sql)
{
if (!$db->sql_query($sql))
{
$error = $db->sql_error();
$this->p_master->db_error($error['message'], $sql, __LINE__, __FILE__);
}
}
unset($sql_query);
switch ($db->sql_layer)
{
case 'firebird':
$sql = 'ALTER TABLE "' . BUG_CATS_TABLE . '" ADD "cat_security" tinyint(1) unsigned DEFAULT "0" NOT NULL AFTER cat_status;';
$result = $db->sql_query($sql);
break;
case 'mssql':
$sql = 'ALTER TABLE [' . BUG_CATS_TABLE . '] ADD [cat_security] tinyint(1) unsigned DEFAULT "0" NOT NULL AFTER cat_status;';
$result = $db->sql_query($sql);
break;
case 'mysql':
case 'mysqli':
case 'mysql4':
$sql = 'ALTER TABLE `' . BUG_CATS_TABLE . '` ADD COLUMN `cat_security` tinyint(1) unsigned DEFAULT "0" NOT NULL AFTER cat_status;';
$result = $db->sql_query($sql);
break;
case 'oracle':
$sql = 'ALTER TABLE ' . BUG_CATS_TABLE . ' ADD cat_security tinyint(1) unsigned DEFAULT "0" NOT NULL AFTER cat_status;';
$result = $db->sql_query($sql);
break;
case 'postgres':
$sql = 'ALTER TABLE ' . BUG_CATS_TABLE . ' ADD COLUMN "cat_security" tinyint(1) unsigned DEFAULT "0" NOT NULL AFTER cat_status;';
$result = $db->sql_query($sql);
break;
default:
//ALTER TABLE `' . BUG_CATS_TABLE . '` ADD `cat_security` tinyint(1) unsigned DEFAULT "0" NOT NULL AFTER cat_status;
trigger_error('error on install: $db->sql_layer: ' . $db->sql_layer . ' unsupported', E_USER_WARNING);
break;
}
// clear cache and log what we did
$cache->purge();
set_config('bugtracker_version', $new_mod_version);
add_log('admin', 'NV BugTracker updated to v' . $new_mod_version);
$updated = true;
}
break;
default:
//we had a little cheater
break;
}
include($phpbb_root_path . 'install_bugtracker/layout.'.$phpEx);
?>
