summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Fleischer <lfleischer@archlinux.org>2017-02-27 18:09:57 +0100
committerLukas Fleischer <lfleischer@archlinux.org>2017-02-27 19:49:15 +0100
commitc557f348c42309fa761eaed0a7957d6b67cc0d74 (patch)
treefdd6231cf396fb7133bca9625c603d02ad620c3a
parent62341a3b3409befb0ca24e00e82a8a3c6a59def6 (diff)
downloadaur-c557f348c42309fa761eaed0a7957d6b67cc0d74.tar.gz
aur-c557f348c42309fa761eaed0a7957d6b67cc0d74.tar.xz
Fix SQL query to retrieve language setting
In commit e171f6f (Migrate all DB code to use PDO, 2012-08-08), PDOStatement::fetchAll() was introduced as a drop-in replacement for mysql_fetch_array(). However, PDOStatement::fetchAll() returns a list of all results while mysql_fetch_array() returns a single result only. Instead of adding the missing indirection, simplify the code by using PDO::fetchColumn(). Also add some safeguards to prevent warnings if the result set returned by the query is empty. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
-rw-r--r--web/lib/translator.inc.php8
1 files changed, 5 insertions, 3 deletions
diff --git a/web/lib/translator.inc.php b/web/lib/translator.inc.php
index 58648c41..d10f8e90 100644
--- a/web/lib/translator.inc.php
+++ b/web/lib/translator.inc.php
@@ -111,14 +111,16 @@ function set_lang() {
$result = $dbh->query($q);
if ($result) {
- $row = $result->fetchAll();
- $LANG = $row[0];
+ $LANG = $result->fetchColumn(0);
+ if (!$LANG) {
+ unset($LANG);
+ }
}
$update_cookie = 1;
}
# Set $LANG to default if nothing is valid.
- if (!array_key_exists($LANG, $SUPPORTED_LANGS)) {
+ if (!isset($LANG) || !array_key_exists($LANG, $SUPPORTED_LANGS)) {
$LANG = config_get('options', 'default_lang');
}