You are not logged in.

1

Friday, February 24th 2012, 3:24pm

Sprachpaket

Hi

mein Forum hatte 2 Sprachen ( Deutsch und English, lief alles 1a, nun wurde das geleert wcf1_language in der Mysql DB ( Backup ist nicht vorhanden )

Bekomme nun ein Fantal Error

Habe cache und options.inc.php gelöscht hat nichts geholfen

Quoted

Fatal error: PHP notice in file /var/customers/webs/xxx/wcf/lib/system/language/Language.class.php (332): Undefined index: 3

Information:

error message: PHP notice in file /var/customers/webs/xxx/wcf/lib/system/language/Language.class.php (332): Undefined index: 3
error code: 0
file: /var/customers/webs/xxx/wcf/lib/system/WCF.class.php (281)
php version: 5.3.3-7+squeeze8
wcf version: 1.1.8 (Tempest)
date: Fri, 24 Feb 2012 14:22:16 +0000
request: /
referer:
Stacktrace:

#0 /var/customers/webs/xxx/wcf/lib/system/language/Language.class.php(332): WCF::handleError(8, 'Undefined index...', '/var/customers/...', 332, Array)
#1 /var/customers/webs/xxx/wcf/lib/system/session/Session.class.php(586): Language::getAvailableContentLanguages(48)
#2 /var/customers/webs/xxx/wcf/lib/system/session/Session.class.php(575): Session->getVisibleLanguageIDArray()
#3 /var/customers/webs/xxx/wcf/lib/data/lexicon/LexiconLanguage.class.php(24): Session->getVisibleLanguages()
#4 /var/customers/webs/xxx/wcf/lib/system/event/listener/LexiconStyleListener.class.php(42): LexiconLanguage::getAvailableLanguageIDs()
#5 /var/customers/webs/xxx/wcf/lib/system/event/EventHandler.class.php(131): LexiconStyleListener->execute(Object(IndexPage), 'IndexPage', 'assignVariables')
#6 /var/customers/webs/xxx/wcf/lib/system/event/EventHandler.class.php(156): EventHandler::executeInheritedActions(Object(IndexPage), 'assignVariables', 'IndexPage', 'assignVariables...')
#7 /var/customers/webs/xxx/wcf/lib/page/AbstractPage.class.php(73): EventHandler::fireAction(Object(IndexPage), 'assignVariables')
#8 /var/customers/webs/xxx/lib/page/IndexPage.class.php(26): AbstractPage->assignVariables()
#9 /var/customers/webs/xxx/wcf/lib/page/AbstractPage.class.php(93): IndexPage->assignVariables()
#10 /var/customers/webs/xxx/wcf/lib/page/AbstractPage.class.php(46): AbstractPage->show()
#11 /var/customers/webs/xxx/wcf/lib/util/RequestHandler.class.php(64): AbstractPage->__construct()
#12 /var/customers/webs/xxx/wcf/lib/util/RequestHandler.class.php(101): RequestHandler->__construct('Index', Array, 'page')
#13 /var/customers/webs/xxx/index.php(9): RequestHandler::handle(Array)
#14 {main}
Nun dachte ich, ich füge einfach was wieder ein in der wcf1_language

MySQL queries

1
2
3
4
5
LOCK TABLES `wcf1_language` WRITE;
/*!40000 ALTER TABLE `wcf1_language` DISABLE KEYS */;
INSERT INTO `wcf1_language` VALUES (1,'de','UTF-8',1,0);
/*!40000 ALTER TABLE `wcf1_language` ENABLE KEYS */;
UNLOCK TABLES;


leider ohne erfolg, was kann ich jetzt tun das wieder mein Forum geht ? ( Forum - Acp Fatal error )
mit besten dank im vorraus

Synoxis

Moderator

  • "Synoxis" is male

Posts: 13,139

Occupation: Webdesigner

  • Send private message

2

Friday, February 24th 2012, 3:27pm

Da hilft wohl nur ein Import in eine Neuinstallation, ohne Backup ist das nicht wirklich zu retten.

3

Friday, February 24th 2012, 3:29pm

es kann doch nicht sein das 1 tabelle das ganze forum schrottet,wo nur bestimmt wird welche sprache das forum hat :(

CandyMan

Member

  • "CandyMan" is male

Posts: 1,957

Location: Berlin

Occupation: IT-Useradministrator

  • Send private message

4

Friday, February 24th 2012, 3:35pm

Installiere dir ein zweites Forum und sichere dir die Tabelle und spiele sie in aktuelen zurück! Actung das zweite Forum mit .htaccess schutzen sonst gibs ärger!

Gruss CandyMan

5

Friday, February 24th 2012, 3:40pm

naja auf die idee kam ich auch schon, bringt aber nichts

MySQL queries

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
-- Table structure for table `wcf1_language`
--

DROP TABLE IF EXISTS `wcf1_language`;
SET @saved_cs_client 	= @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `wcf1_language` (
  `languageID` int(10) unsigned NOT NULL auto_increment,
  `languageCode` varchar(20) NOT NULL default '',
  `languageEncoding` varchar(20) NOT NULL default '',
  `isDefault` tinyint(1) unsigned NOT NULL default '0',
  `hasContent` tinyint(1) unsigned NOT NULL default '0',
  PRIMARY KEY  (`languageID`),
  UNIQUE KEY `languageCode` (`languageCode`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
SET character_set_client = @saved_cs_client;

--
-- Dumping data for table `wcf1_language`
--

LOCK TABLES `wcf1_language` WRITE;
/*!40000 ALTER TABLE `wcf1_language` DISABLE KEYS */;
INSERT INTO `wcf1_language` VALUES (1,'de','UTF-8',1,0);
/*!40000 ALTER TABLE `wcf1_language` ENABLE KEYS */;
UNLOCK TABLES;

--

Alexander Ebert

WoltLab Developer

  • "Alexander Ebert" is male

Posts: 4,738

Location: Berlin

  • Send private message

6

Friday, February 24th 2012, 3:45pm

In der Fehlermeldung steht eindeutig, dass der Index 3 nicht gefunden wird. Schau in die Tabelle wcf1_language_item und auf Basis des Wertes und der languageID kannst du auf die Sprache schließen. Anschließend musst du die Tabelle so rekonstruieren, dass die languageID zur entsprechenden Sprache passt.

Davon ab: Wieso leert man einfach eine Tabelle? Wenn man sich bei den Datenbanktabellen nicht sicher ist, sollte man lieber Abstand von manuellen Änderungen nehmen - es gibt so gut wie keinen Grund überhaupt jemals die Tabellen von Burning Board / Community Framework manuell zu bearbeiten!
Alexander Ebert
Developer WoltLab® GmbH


7

Friday, February 24th 2012, 3:52pm

danke für die info, aber irgendwie sehe ich kein fehler bzw verkehrte ID
Betaman3k has attached the following images:
  • wcf1_language_item.png
  • wcf1_language.png

Alexander Ebert

WoltLab Developer

  • "Alexander Ebert" is male

Posts: 4,738

Location: Berlin

  • Send private message

8

Friday, February 24th 2012, 3:58pm

Du hast mehr als eine Sprache in deinem Forum, in der language-Tabelle steht aber nur ein Eintrag … davon ab, schau dir bitte die Fehlermeldung in deinem Startbeitrag an, dort wird explizit die ID 3 angesprochen. Du kannst dir mal alle im System bekannten languageIDs auflisten lassen:

MySQL queries

1
SELECT DISTINCT languageID FROM wcf1_language_item
Alexander Ebert
Developer WoltLab® GmbH


9

Friday, February 24th 2012, 4:03pm

ok habe ich getan genau ein eintrag hat er gefunden mit ID 3, ändere ich das auf 1, und speicher es ab, ändert er es wieder auf 3 automatisch

Alexander Ebert

WoltLab Developer

  • "Alexander Ebert" is male

Posts: 4,738

Location: Berlin

  • Send private message

10

Friday, February 24th 2012, 4:08pm

Ich sagte doch, es ist absolut nicht zu empfehlen etwas an der Datenbank zu ändern, wenn man nicht versteht was man macht! Es sind zwei Sprachen installiert, du kannst nicht einfach daraus eine Sprache machen!

Ich gehe mal davon aus, dass languageID = 3 der englischen Sprache entspricht:

MySQL queries

1
2
3
INSERT INTO	wcf1_language
		(languageID, languageCode, languageEncoding)
VALUES		(3, 'en', 'UTF-8')
Alexander Ebert
Developer WoltLab® GmbH


11

Friday, February 24th 2012, 4:09pm

Du musst die ids in der Tabelle wcf1_language entsprechend anpassen. Wichtig dabei ist das du darauf achtest ob es sich bei der id 3 um die Sprachvariablen für das deutsche oder englische Sprachpaket handelt. Wenn du die Änderungen in der Tabelle wcf1_language falsch machst, dann wird das Forum in der falschen Sprache angezeigt.

Warum zum Teufel löscht man Dinge ohne sie vorher zu sichern?
Religion ist der dumme Streit Erwachsener Menschen, wer den cooleren imaginären Freund hat.

12

Friday, February 24th 2012, 4:15pm

puh forum rennt wieder und komme in acp rein

wie kann ich nun es sauber wieder hinbekommen wegen 2 sprachen ?

einfach die englishe sprache weg machen ?

Alexander Ebert

WoltLab Developer

  • "Alexander Ebert" is male

Posts: 4,738

Location: Berlin

  • Send private message

13

Friday, February 24th 2012, 4:22pm

Was willst du überhaupt machen?
Alexander Ebert
Developer WoltLab® GmbH


14

Friday, February 24th 2012, 4:24pm

ich möchte eigendlich wenn ich auf english stelle das die texte korrekt angezeigt werden weil zu 80 % zeigt es mir nur wcf texte im forum an

wie man sieht fehlt eine ganze menge in english
Betaman3k has attached the following image:
  • sprachen.png

15

Friday, February 24th 2012, 4:32pm

Das englische Sprachpaket ist mit grade mal 4000 Sprachvariablen nicht vollständig (Im Vergleich zu deinem deutschen). Nachträglich die fehlenden zu installieren ist eine ziemliche Fummelarbeit. Entweder das Forum neu aufsetzen und die Sprache gleich mitinstallieren oder lösch sie und lass sie weg.
Religion ist der dumme Streit Erwachsener Menschen, wer den cooleren imaginären Freund hat.

16

Friday, February 24th 2012, 4:33pm

sicher das ich jetzt die einfach löschen kann ?
nicht das wieder ein fantal error kommt

17

Friday, February 24th 2012, 4:33pm

Es besteht auch die Möglichkeit die Sprachvariablen manuell einzutragen, in dem man die XML parst und daraus die entsprechenden Querys erstellt.
Meine Beiträge sind nur Hilfestellungen und Anregungen zur Lösung von einem Problem.
Ein wenig Mitdenken ist dennoch erforderlich!

Im WCF werden Passwörter nicht verschlüsselt, sondern gehasht!
(Hash ist eine "Verschlüsselung", wo du den Schlüssel wegwirfst. ;))

18

Friday, February 24th 2012, 4:34pm

Wenn du es ordentlich über das ACP löschst, dann kommt keine Fehlermeldung.

Ansonsten gilt wie immer bevor man etwas verändert: Backup erstellen. Generell sollte man regelmäßig ein Backup seines Forums machen.
Religion ist der dumme Streit Erwachsener Menschen, wer den cooleren imaginären Freund hat.

Alexander Ebert

WoltLab Developer

  • "Alexander Ebert" is male

Posts: 4,738

Location: Berlin

  • Send private message

19

Friday, February 24th 2012, 4:35pm

Wenn man die Sprache korrekt über das ACP löscht, gibt es keine Probleme, man sollte eben nur nie von Hand in der Datenbank herumpfuschen!
Alexander Ebert
Developer WoltLab® GmbH


CandyMan

Member

  • "CandyMan" is male

Posts: 1,957

Location: Berlin

Occupation: IT-Useradministrator

  • Send private message

20

Friday, February 24th 2012, 4:35pm

Kann man die vorhandene nicht löschen und die xml für die Englische Sprache aus der tar des Setups nehmen und die wieder einspielen das sollte doch auch funktionieren!

Gruss CandyMan