- Affected App
- WoltLab Suite Blog
Wird ein Blog nachträglich einer Sprache (spätere Aktivierung der Mehrsprachigkeit) zugeordnet, aktualisiert sich die languageID der Artikel nicht.
Diff: BlogAction.class.php
@@ -60,6 +60,11 @@
if (isset($this->parameters['data']['accessLevel']) && $this->parameters['data']['accessLevel'] != $blog->accessLevel) {
$blogIDs[] = $blog->blogID;
}
+
+ if (isset($this->parameters['data']['languageID']) && $this->parameters['data']['languageID'] != $blog->languageID) {
+ $blogIDs[] = $blog->blogID;
+ }
+
}
if (!empty($blogIDs)) {
@@ -67,10 +72,11 @@
$conditionBuilder->add('blogID IN (?)', array($blogIDs));
$sql = "UPDATE blog".WCF_N."_entry
- SET accessLevel = ?
+ SET accessLevel = ?,
+ languageID = ?
".$conditionBuilder;
$statement = WCF::getDB()->prepareStatement($sql);
- $statement->execute(array_merge(array($this->parameters['data']['accessLevel']), $conditionBuilder->getParameters()));
+ $statement->execute(array_merge(array($this->parameters['data']['accessLevel'], $this->parameters['data']['languageID']), $conditionBuilder->getParameters()));
UserStorageHandler::getInstance()->resetAll('blogUnreadEntries');
}
Display More
Gegebenenfalls noch:
Diff: BlogRebuildDataWorker.class.php
@@ -49,13 +49,14 @@
// prepare statement
$sql = "UPDATE blog".WCF_N."_entry
- SET accessLevel = ?
+ SET accessLevel = ?,
+ languageID = ?
WHERE blogID = ?";
$updateStatement = WCF::getDB()->prepareStatement($sql);
foreach ($this->objectList as $blog) {
// update access level
- $updateStatement->execute(array($blog->accessLevel, $blog->blogID));
+ $updateStatement->execute(array($blog->accessLevel, $blog->languageID, $blog->blogID));
}
}
}
Display More