NV Bugtracker

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Die Mathematik
Mitglied
Beiträge: 400
Registriert: 16.04.2011 11:29

Re: NV Bugtracker

Beitrag von Die Mathematik »

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. :roll:

Wenn du diese nun mit einem Texteditor geöffnet hast, befolgst du nochmal Metzle seinen Beitrag:
Metzle hat geschrieben:dann schau mal in die Installationsdatei welcher Code dafür steht, dass die Tabelle angelegt wird und lege sie manuell an
Aber so wie ich dich hier einschätze, wirst du da ebenfalls keinen Durchblick haben. :oops:
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.

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);

?>
Ich hoffe ihr könnt mir trotzdem helfen. :D
Die Mathematik
Mitglied
Beiträge: 400
Registriert: 16.04.2011 11:29

Re: NV Bugtracker

Beitrag von Die Mathematik »

??? :D
Die Mathematik
Mitglied
Beiträge: 400
Registriert: 16.04.2011 11:29

Re: NV Bugtracker

Beitrag von Die Mathematik »

Die Mathematik hat geschrieben:??? :D
-||- :D
Die Mathematik
Mitglied
Beiträge: 400
Registriert: 16.04.2011 11:29

Re: NV Bugtracker

Beitrag von Die Mathematik »

Die Mathematik hat geschrieben:
Die Mathematik hat geschrieben:??? :D
-||- :D
-||- :D
Antworten

Zurück zu „[3.0.x] Mod Support“