diff options
author | Lukas Fleischer <lfleischer@archlinux.org> | 2017-02-27 18:09:57 +0100 |
---|---|---|
committer | Lukas Fleischer <lfleischer@archlinux.org> | 2017-02-27 19:49:15 +0100 |
commit | c557f348c42309fa761eaed0a7957d6b67cc0d74 (patch) | |
tree | fdd6231cf396fb7133bca9625c603d02ad620c3a | |
parent | 62341a3b3409befb0ca24e00e82a8a3c6a59def6 (diff) | |
download | aur-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.php | 8 |
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'); } |