Elgg  Version 5.1
language.php
Go to the documentation of this file.
1 <?php
9 if (!$user instanceof ElggUser) {
10  return;
11 }
12 
13 $who_can_change_language = elgg_get_config('who_can_change_language');
14 if ($who_can_change_language === 'nobody') {
15  return;
16 } elseif ($who_can_change_language === 'admin_only' && !elgg_is_admin_logged_in()) {
17  return;
18 }
19 
20 $options = elgg()->translator->getInstalledTranslations(elgg_is_admin_logged_in());
21 $options = array_intersect_key($options, array_flip(elgg()->translator->getAllowedLanguages()));
22 
23 if (count($options) < 2) {
24  echo elgg_view_field([
25  '#type' => 'hidden',
26  'name' => 'language',
27  'value' => $user->language,
28  ]);
29 
30  return;
31 }
32 
34  '#type' => 'select',
35  'name' => 'language',
36  'value' => $user->language,
37  'options_values' => $options,
38  '#label' => elgg_echo('user:language:label'),
39 ]);
40 
41 echo elgg_view_module('info', elgg_echo('user:set:language'), $content);
elgg_view_module(string $type, string $title, string $body, array $vars=[])
Wrapper function for the module display pattern.
Definition: views.php:940
elgg_view_field(array $params=[])
Renders a form field, usually with a wrapper element, a label, help text, etc.
Definition: views.php:1133
elgg_get_config(string $name, $default=null)
Get an Elgg configuration value.
elgg_is_admin_logged_in()
Returns whether or not the viewer is currently logged in and an admin user.
Definition: sessions.php:52
if(!$user instanceof ElggUser) $who_can_change_language
Definition: language.php:13
elgg_echo(string $message_key, array $args=[], string $language= '')
Elgg language module Functions to manage language and translations.
Definition: languages.php:17
$user
Provide a way of setting your language prefs.
Definition: language.php:8
if($item instanceof\ElggEntity) elseif($item instanceof\ElggRiverItem) elseif($item instanceof\ElggRelationship) elseif(is_callable([$item, 'getType']))
Definition: item.php:48
elgg_extract($key, $array, $default=null, bool $strict=true)
Checks for $array[$key] and returns its value if it exists, else returns $default.
Definition: elgglib.php:254
if($who_can_change_language=== 'nobody') elseif($who_can_change_language=== 'admin_only'&&!elgg_is_admin_logged_in()) $options
Definition: language.php:20
elgg_get_page_owner_entity()
Gets the owner entity for the current page.
Definition: pageowner.php:23
if(count($options)< 2) $content
Definition: language.php:33
$vars
Definition: theme.php:5
var elgg
Definition: elgglib.js:4