Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@member.fsf.org>2009-07-23 19:37:11 (GMT)
committer Aleksey Lim <alsroot@member.fsf.org>2009-07-23 19:37:11 (GMT)
commit313743a3acd62ee70d8b754c25695a8f4c16f3fd (patch)
tree5460738ef21f58d9bd5b94d7488c08f6f86f8f2d
parent8276afc4563afbca78eed42474b945a64c121e2e (diff)
Translate Release Notes field in notification email #1086
-rw-r--r--site/app/controllers/components/editors.php10
-rw-r--r--site/app/models/version.php20
2 files changed, 26 insertions, 4 deletions
diff --git a/site/app/controllers/components/editors.php b/site/app/controllers/components/editors.php
index c13fd28..3f5383a 100644
--- a/site/app/controllers/components/editors.php
+++ b/site/app/controllers/components/editors.php
@@ -904,11 +904,13 @@ class EditorsComponent extends Object {
function _sendReleaseNotes($prefix, $version_id, $emailInfo) {
global $SITE_RELEASE_EMAIL;
- $releasenotes = $this->controller->Version->findById($version_id, array('Version.releasenotes'), null, -1);
- $emailInfo['releasenotes'] = $releasenotes[0]['releasenotes'];
- $this->controller->set('info', $emailInfo);
+ $releasenotes = $this->controller->Version->getReleaseNotesLocales($version_id);
+ $en = isset($releasenotes['en-US']) ? $releasenotes['en-US'] : '';
+
+ foreach ($SITE_RELEASE_EMAIL as $locale => $props) {
+ $emailInfo['releasenotes'] = isset($releasenotes[$locale]) ? $releasenotes[$locale] : $en;
+ $this->controller->set('info', $emailInfo);
- foreach ($SITE_RELEASE_EMAIL as $lang => $props) {
$this->controller->Email->template = $prefix.'email/aslo/'.$props['template'];
$this->controller->Email->to = $props['email'];
$this->controller->Email->subject = sprintf($props['subject'], $emailInfo['name'], $emailInfo['version']);
diff --git a/site/app/models/version.php b/site/app/models/version.php
index 70c7468..36bbb85 100644
--- a/site/app/models/version.php
+++ b/site/app/models/version.php
@@ -301,5 +301,25 @@ class Version extends AppModel
return $file_ids;
}
+ function getReleaseNotesLocales($version_id) {
+ $sql = "
+ SELECT
+ Translations.locale,
+ Translations.localized_string
+ FROM
+ versions AS Version
+ INNER JOIN
+ translations AS Translations ON Translations.id = Version.releasenotes
+ WHERE
+ Version.id = {$version_id}
+ ";
+
+ $out = array();
+
+ foreach ($this->query($sql) as $i)
+ $out[$i['Translations']['locale']] = $i['Translations']['localized_string'];
+
+ return $out;
+ }
}
?>