Seite 1 von 1

Mehrfacheintrag desselben Mods im acp

Verfasst: 25.01.2008 00:09
von dobbringer
Moinsen ihr Lieben,

ich hab atm ein kleines prob mit meinem ACP.
Nach der installation des FAQ Manager mods habe ich versehentlich nochmal das install_modules.php aufgerufen, woraufhin ich nun einen 2ten ebenfalls funktionierenden eintrag des faq managers im acp unter mods habe.

Ich würde das selbstredend gerne rückgängig machen, finde aber zum ersten nicht die richtigen einträge in der db um sie zur löschung freizugeben (selbst löschen des kompletten inhaltes von phpbb_modules bringt nichts, die einträge tauchen weiter auf), andererseits bin ich nicht genug in mySQL bewandert um mir ein script zu tippseln, welches mir bei aufruf genau einmal die durch den aufruf der install_modules.php getätigten änderungen rückgängig macht...

Hat da irgendjemand eine lösung parat?

Anbei, der code der install_modules.php des FAQ Managers

Code: Alles auswählen

<?php
/**
*
* @package phpBB3 FAQ Manager
* @copyright (c) 2007 EXreaction, Lithium Studios
* @license http://opensource.org/licenses/gpl-license.php GNU Public License 
*
*/

// Stuff required to work with phpBB3
define('IN_PHPBB', true);
$phpbb_root_path = ((isset($phpbb_root_path)) ? $phpbb_root_path : './');
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('mods/faq_manager');

if ($user->data['user_type'] != USER_FOUNDER)
{
	trigger_error('You must be a board founder to access this page.');
}

// ACP Modules ----------------------------------
$sql = 'SELECT * FROM ' . MODULES_TABLE . " WHERE module_langname = 'ACP_CAT_DOT_MODS'";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);

$sql_ary = array(
	'module_enabled'	=> 1,
	'module_display'	=> 1,
	'module_basename'	=> '',
	'module_class'		=> 'acp',
	'parent_id'			=> $row['module_id'],
	'left_id'			=> $row['right_id'],
	'right_id'			=> $row['right_id'] + 3,
	'module_langname'	=> 'ACP_FAQ_MANAGER',
	'module_mode'		=> 'default',
	'module_auth'		=> 'acl_a_language',
);

$sql = 'INSERT INTO ' . MODULES_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);
$db->sql_query($sql);
$module_id = $db->sql_nextid();

$sql = 'UPDATE ' . MODULES_TABLE . "
SET left_id = left_id + 4, right_id = right_id + 4
WHERE left_id >= {$sql_ary['left_id']} AND module_id != $module_id";
$db->sql_query($sql);
					
$sql = 'UPDATE ' . MODULES_TABLE . "
SET right_id = right_id + 4
WHERE left_id < {$sql_ary['left_id']} AND right_id >= {$sql_ary['left_id']} AND module_id != $module_id";
$db->sql_query($sql);

$sql_ary = array(
	'module_enabled'	=> 1,
	'module_display'	=> 1,
	'module_basename'	=> 'faq_manager',
	'module_class'		=> 'acp',
	'parent_id'			=> $module_id,
	'left_id'			=> $row['right_id'] + 1,
	'right_id'			=> $row['right_id'] + 2,
	'module_langname'	=> 'ACP_FAQ_MANAGER',
	'module_mode'		=> 'default',
	'module_auth'		=> 'acl_a_language',
);

$sql = 'INSERT INTO ' . MODULES_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);
$db->sql_query($sql);

$cache->purge();

trigger_error('Done')
?>
LG
Bringer

Verfasst: 25.01.2008 01:26
von redbull254
Hallo, dobbringer

Du musst aber immer im ACP mit dem löschen von hinten nach vorne anfangen,also letzte Modul zuerst.

Beispiel-Modul\einstellungen\nochmehr\usw.

Also dann erst soweit in das Modul gehen und "usw." löschen. Dann höhere Ebene "nochmehr" löschen, dann Modul "einstellungen" löschen und zuguter letzt erst dann "Beispiel-Modul" löschen.

Ichh hoffe, ich konnte mich verständlich machen. :D

Verfasst: 25.01.2008 07:43
von dobbringer
ach herrje, da kann man also das ganze sogar ueber den systemreiter machen... uiuiui, hatte ich bisher ganz uebersehen, herzlichsten dank.

praktisch für nichtprogrammierer wie mich :grin:

LG
Bringer

Verfasst: 25.01.2008 15:23
von dobbringer
grumml*

wurde gerade von einem meiner moderatoren darauf hingewiesen das der link zum UCP nicht mehr geht. Es kommt immer die Meldung:
Allgemeiner Fehler
Module not accessible

Bitte informiere die Board-Administration oder den Webmaster
laut modulkonfiguration ist aber alles dort freigegeben...
(btw auch der direkte pm link geht nichtmehr)

Persöhnlich fiel es mir erst nach einbau von ajaxchatbox und acp notepad auf :cry:
irgendeine ahnung wodurch das verursacht sein könnte?


die lösung dazu war so simpel wie dumm...

deaktivieren und folgendes aktivieren der punkte unter persöhnlicher bereich hat alles in wohlgefallen aufgelöst

*close please*