aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/Controllers/userController.php68
-rw-r--r--app/Models/Auth.php7
-rw-r--r--app/i18n/cz/admin.php2
-rw-r--r--app/i18n/cz/gen.php8
-rw-r--r--app/i18n/de/admin.php2
-rw-r--r--app/i18n/de/gen.php8
-rw-r--r--app/i18n/en/admin.php2
-rw-r--r--app/i18n/en/gen.php8
-rwxr-xr-xapp/i18n/es/admin.php2
-rwxr-xr-xapp/i18n/es/gen.php8
-rw-r--r--app/i18n/fr/admin.php2
-rw-r--r--app/i18n/fr/gen.php8
-rw-r--r--app/i18n/he/admin.php2
-rw-r--r--app/i18n/he/gen.php8
-rw-r--r--app/i18n/it/admin.php2
-rw-r--r--app/i18n/it/gen.php8
-rw-r--r--app/i18n/kr/admin.php2
-rw-r--r--app/i18n/kr/gen.php8
-rw-r--r--app/i18n/nl/admin.php2
-rw-r--r--app/i18n/nl/gen.php8
-rw-r--r--app/i18n/oc/admin.php2
-rw-r--r--app/i18n/oc/gen.php8
-rw-r--r--app/i18n/pt-br/admin.php2
-rw-r--r--app/i18n/pt-br/gen.php8
-rw-r--r--app/i18n/ru/admin.php2
-rw-r--r--app/i18n/ru/gen.php8
-rw-r--r--app/i18n/sk/admin.php2
-rw-r--r--app/i18n/sk/gen.php8
-rw-r--r--app/i18n/tr/admin.php2
-rw-r--r--app/i18n/tr/gen.php8
-rw-r--r--app/i18n/zh-cn/admin.php2
-rw-r--r--app/i18n/zh-cn/gen.php8
-rw-r--r--app/install.php1
-rw-r--r--app/views/user/details.phtml9
-rw-r--r--app/views/user/manage.phtml11
-rw-r--r--config-user.default.php1
36 files changed, 190 insertions, 57 deletions
diff --git a/app/Controllers/userController.php b/app/Controllers/userController.php
index 7d3c010c4..b5725e6b5 100644
--- a/app/Controllers/userController.php
+++ b/app/Controllers/userController.php
@@ -175,12 +175,22 @@ class FreshRSS_user_Controller extends Minz_ActionController {
if (Minz_Request::isPost()) {
$action = Minz_Request::param('action');
- if ('delete' === $action) {
- $this->deleteAction();
- } elseif ('update' === $action) {
- $this->updateAction();
- } elseif ('purge' === $action) {
- $this->purgeAction();
+ switch ($action) {
+ case 'delete':
+ $this->deleteAction();
+ break;
+ case 'update':
+ $this->updateAction();
+ break;
+ case 'purge':
+ $this->purgeAction();
+ break;
+ case 'promote':
+ $this->promoteAction();
+ break;
+ case 'demote':
+ $this->demoteAction();
+ break;
}
}
@@ -273,7 +283,6 @@ class FreshRSS_user_Controller extends Minz_ActionController {
$new_user_name = Minz_Request::param('new_user_name');
$email = Minz_Request::param('new_user_email', '');
$passwordPlain = Minz_Request::param('new_user_passwordPlain', '', true);
- $new_user_language = Minz_Request::param('new_user_language', FreshRSS_Context::$user_conf->language);
$tos_enabled = file_exists(join_path(DATA_PATH, 'tos.html'));
$accept_tos = Minz_Request::param('accept_tos', false);
@@ -299,7 +308,10 @@ class FreshRSS_user_Controller extends Minz_ActionController {
);
}
- $ok = self::createUser($new_user_name, $email, $passwordPlain, array('language' => $new_user_language));
+ $ok = self::createUser($new_user_name, $email, $passwordPlain, array(
+ 'language' => Minz_Request::param('new_user_language', FreshRSS_Context::$user_conf->language),
+ 'is_admin' => Minz_Request::paramBoolean('new_user_is_admin'),
+ ));
Minz_Request::_param('new_user_passwordPlain'); //Discard plain-text password ASAP
$_POST['new_user_passwordPlain'] = '';
invalidateHttpCache();
@@ -516,6 +528,44 @@ class FreshRSS_user_Controller extends Minz_ActionController {
Minz_Request::forward($redirect_url, true);
}
+ public function promoteAction() {
+ $this->switchAdminAction(true);
+ }
+
+ public function demoteAction() {
+ $this->switchAdminAction(false);
+ }
+
+ private function switchAdminAction($isAdmin) {
+ if (!FreshRSS_Auth::hasAccess('admin')) {
+ Minz_Error::error(403);
+ }
+
+ if (!Minz_Request::isPost()) {
+ Minz_Error::error(403);
+ }
+
+ $username = Minz_Request::param('username');
+ if (!FreshRSS_UserDAO::exists($username)) {
+ Minz_Error::error(404);
+ }
+
+ if (null === $userConfig = get_user_configuration($username)) {
+ Minz_Error::error(500);
+ }
+
+ $userConfig->_param('is_admin', $isAdmin);
+
+ $ok = $userConfig->save();
+
+ if ($ok) {
+ Minz_Request::good(_t('feedback.user.updated', $username), array('c' => 'user', 'a' => 'manage'));
+ } else {
+ Minz_Request::bad(_t('feedback.user.updated.error', $username),
+ array('c' => 'user', 'a' => 'manage'));
+ }
+ }
+
public function detailsAction() {
if (!FreshRSS_Auth::hasAccess('admin')) {
Minz_Error::error(403);
@@ -526,6 +576,7 @@ class FreshRSS_user_Controller extends Minz_ActionController {
Minz_Error::error(404);
}
+ $this->view->isDefaultUser = $username === FreshRSS_Context::$system_conf->default_user;
$this->view->username = $username;
$this->view->details = $this->retrieveUserDetails($username);
}
@@ -543,6 +594,7 @@ class FreshRSS_user_Controller extends Minz_ActionController {
'database_size' => $databaseDAO->size(),
'language' => $userConfiguration->language,
'mail_login' => $userConfiguration->mail_login,
+ 'is_admin' => $userConfiguration->is_admin,
);
}
}
diff --git a/app/Models/Auth.php b/app/Models/Auth.php
index b7fb0e6d6..3eb57a877 100644
--- a/app/Models/Auth.php
+++ b/app/Models/Auth.php
@@ -115,14 +115,15 @@ class FreshRSS_Auth {
* @return boolean true if user has corresponding access, false else.
*/
public static function hasAccess($scope = 'general') {
- $conf = Minz_Configuration::get('system');
- $default_user = $conf->default_user;
+ $systemConfiguration = Minz_Configuration::get('system');
+ $userConfiguration = Minz_Configuration::get('user');
+ $default_user = $systemConfiguration->default_user;
$ok = self::$login_ok;
switch ($scope) {
case 'general':
break;
case 'admin':
- $ok &= Minz_Session::param('currentUser') === $default_user;
+ $ok &= $default_user === Minz_Session::param('currentUser') || $userConfiguration->is_admin;
break;
default:
$ok = false;
diff --git a/app/i18n/cz/admin.php b/app/i18n/cz/admin.php
index 18f7520a7..ebf8b1a90 100644
--- a/app/i18n/cz/admin.php
+++ b/app/i18n/cz/admin.php
@@ -182,6 +182,7 @@ return array(
'_' => 'Aktualizace systému',
),
'user' => array(
+ 'admin' => 'Administrator', // TODO - Translation
'articles_and_size' => '%s článků (%s)',
'article_count' => 'Articles', // TODO - Translation
'back_to_manage' => '← Return to user list', // TODO - Translation
@@ -190,6 +191,7 @@ return array(
'delete_users' => 'Delete user', // TODO - Translation
'email' => 'Email address', // TODO - Translation
'feed_count' => 'Feeds', // TODO - Translation
+ 'is_admin' => 'Is admin', // TODO - Translation
'language' => 'Jazyk',
'list' => 'User list', // TODO - Translation
'number' => 'Zatím je vytvořen %d účet',
diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php
index c67583f5c..d21958b9c 100644
--- a/app/i18n/cz/gen.php
+++ b/app/i18n/cz/gen.php
@@ -7,6 +7,7 @@ return array(
'back_to_rss_feeds' => '← Zpět na seznam RSS kanálů',
'cancel' => 'Zrušit',
'create' => 'Vytvořit',
+ 'demote' => 'Demote', // TODO - Translation
'disable' => 'Zakázat',
'empty' => 'Vyprázdnit',
'enable' => 'Povolit',
@@ -16,6 +17,7 @@ return array(
'manage' => 'Spravovat',
'mark_favorite' => 'Označit jako oblíbené',
'mark_read' => 'Označit jako přečtené',
+ 'promote' => 'Promote', // TODO - Translation
'purge' => 'Purge', // TODO - Translation
'remove' => 'Odstranit',
'see_website' => 'Navštívit WWW stránku',
@@ -46,8 +48,8 @@ return array(
),
),
'date' => array(
- 'Apr' => '\\D\\u\\b\\e\\n',
'apr' => 'dub',
+ 'Apr' => '\\D\\u\\b\\e\\n',
'april' => 'Dub',
'Aug' => '\\S\\r\\p\\e\\n',
'aug' => 'srp',
@@ -76,11 +78,11 @@ return array(
'last_month' => 'Minulý měsíc',
'last_week' => 'Minulý týden',
'last_year' => 'Minulý rok',
- 'mar' => 'bře',
'Mar' => '\\B\\ř\\e\\z\\e\\n',
+ 'mar' => 'bře',
'march' => 'Bře',
- 'May' => '\\K\\v\\ě\\t\\e\\n',
'may' => 'Květen',
+ 'May' => '\\K\\v\\ě\\t\\e\\n',
'may_' => 'Kvě',
'mon' => 'Po',
'month' => 'měsíce',
diff --git a/app/i18n/de/admin.php b/app/i18n/de/admin.php
index 443a9b380..058661602 100644
--- a/app/i18n/de/admin.php
+++ b/app/i18n/de/admin.php
@@ -182,6 +182,7 @@ return array(
'_' => 'System aktualisieren',
),
'user' => array(
+ 'admin' => 'Administrator', // TODO - Translation
'articles_and_size' => '%s Artikel (%s)',
'article_count' => 'Articles', // TODO - Translation
'back_to_manage' => '← Return to user list', // TODO - Translation
@@ -190,6 +191,7 @@ return array(
'delete_users' => 'Lösche Benutzer',
'email' => 'Email address', // TODO - Translation
'feed_count' => 'Feeds', // TODO - Translation
+ 'is_admin' => 'Is admin', // TODO - Translation
'language' => 'Sprache',
'list' => 'User list', // TODO - Translation
'number' => 'Es wurde bis jetzt %d Account erstellt',
diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php
index a0e366ab7..52b2b85a7 100644
--- a/app/i18n/de/gen.php
+++ b/app/i18n/de/gen.php
@@ -7,6 +7,7 @@ return array(
'back_to_rss_feeds' => '← Zurück zu Ihren RSS-Feeds gehen',
'cancel' => 'Abbrechen',
'create' => 'Erstellen',
+ 'demote' => 'Demote', // TODO - Translation
'disable' => 'Deaktivieren',
'empty' => 'Leeren',
'enable' => 'Aktivieren',
@@ -16,6 +17,7 @@ return array(
'manage' => 'Verwalten',
'mark_favorite' => 'Als Favorit markieren',
'mark_read' => 'Als gelesen markieren',
+ 'promote' => 'Promote', // TODO - Translation
'purge' => 'Purge', // TODO - Translation
'remove' => 'Entfernen',
'see_website' => 'Webseite ansehen',
@@ -46,8 +48,8 @@ return array(
),
),
'date' => array(
- 'Apr' => '\\A\\p\\r\\i\\l', // TODO - Translation
'apr' => 'Apr',
+ 'Apr' => '\\A\\p\\r\\i\\l', // TODO - Translation
'april' => 'April', // TODO - Translation
'Aug' => '\\A\\u\\g\\u\\s\\t', // TODO - Translation
'aug' => 'Aug',
@@ -76,11 +78,11 @@ return array(
'last_month' => 'Letzter Monat',
'last_week' => 'Letzte Woche',
'last_year' => 'Letztes Jahr',
- 'mar' => 'Mär',
'Mar' => '\\M\\ä\\r\\z',
+ 'mar' => 'Mär',
'march' => 'März',
- 'May' => '\\M\\a\\i',
'may' => 'Mai',
+ 'May' => '\\M\\a\\i',
'may_' => 'Mai',
'mon' => 'Mo',
'month' => 'Monat(en)',
diff --git a/app/i18n/en/admin.php b/app/i18n/en/admin.php
index 497a7051c..02a8a8b58 100644
--- a/app/i18n/en/admin.php
+++ b/app/i18n/en/admin.php
@@ -182,6 +182,7 @@ return array(
'_' => 'Update system',
),
'user' => array(
+ 'admin' => 'Administrator',
'articles_and_size' => '%s articles (%s)',
'article_count' => 'Articles',
'back_to_manage' => '← Return to user list',
@@ -190,6 +191,7 @@ return array(
'delete_users' => 'Delete user',
'email' => 'Email address',
'feed_count' => 'Feeds',
+ 'is_admin' => 'Is admin',
'language' => 'Language',
'list' => 'User list',
'number' => 'There is %d account created',
diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php
index ea595b5ed..1a470668f 100644
--- a/app/i18n/en/gen.php
+++ b/app/i18n/en/gen.php
@@ -7,6 +7,7 @@ return array(
'back_to_rss_feeds' => '← Go back to your RSS feeds',
'cancel' => 'Cancel',
'create' => 'Create',
+ 'demote' => 'Demote',
'disable' => 'Disable',
'empty' => 'Empty',
'enable' => 'Enable',
@@ -16,6 +17,7 @@ return array(
'manage' => 'Manage',
'mark_favorite' => 'Mark as favourite',
'mark_read' => 'Mark as read',
+ 'promote' => 'Promote',
'purge' => 'Purge',
'remove' => 'Remove',
'see_website' => 'See website',
@@ -46,8 +48,8 @@ return array(
),
),
'date' => array(
- 'Apr' => '\\A\\p\\r\\i\\l',
'apr' => 'Apr.',
+ 'Apr' => '\\A\\p\\r\\i\\l',
'april' => 'April',
'Aug' => '\\A\\u\\g\\u\\s\\t',
'aug' => 'Aug.',
@@ -76,11 +78,11 @@ return array(
'last_month' => 'Last month',
'last_week' => 'Last week',
'last_year' => 'Last year',
- 'mar' => 'Mar.',
'Mar' => '\\M\\a\\r\\c\\h',
+ 'mar' => 'Mar.',
'march' => 'March',
- 'May' => '\\M\\a\\y',
'may' => 'May',
+ 'May' => '\\M\\a\\y',
'may_' => 'May',
'mon' => 'Mon',
'month' => 'months',
diff --git a/app/i18n/es/admin.php b/app/i18n/es/admin.php
index a8dcac86e..d036f2362 100755
--- a/app/i18n/es/admin.php
+++ b/app/i18n/es/admin.php
@@ -182,6 +182,7 @@ return array(
'_' => 'Actualizar sistema',
),
'user' => array(
+ 'admin' => 'Administrator', // TODO - Translation
'articles_and_size' => '%s articles (%s)', // TODO - Translation
'article_count' => 'Articles', // TODO - Translation
'back_to_manage' => '← Return to user list', // TODO - Translation
@@ -190,6 +191,7 @@ return array(
'delete_users' => 'Delete user', // TODO - Translation
'email' => 'Email address', // TODO - Translation
'feed_count' => 'Feeds', // TODO - Translation
+ 'is_admin' => 'Is admin', // TODO - Translation
'language' => 'Idioma',
'list' => 'User list', // TODO - Translation
'number' => 'Hay %d cuenta creada',
diff --git a/app/i18n/es/gen.php b/app/i18n/es/gen.php
index 45ba47ec1..13c8c3a86 100755
--- a/app/i18n/es/gen.php
+++ b/app/i18n/es/gen.php
@@ -7,6 +7,7 @@ return array(
'back_to_rss_feeds' => '← regresar a tus fuentes RSS',
'cancel' => 'Cancelar',
'create' => 'Crear',
+ 'demote' => 'Demote', // TODO - Translation
'disable' => 'Desactivar',
'empty' => 'Vaciar',
'enable' => 'Activar',
@@ -16,6 +17,7 @@ return array(
'manage' => 'Administrar',
'mark_favorite' => 'Marcar como favorita',
'mark_read' => 'Marcar como leído',
+ 'promote' => 'Promote', // TODO - Translation
'purge' => 'Purge', // TODO - Translation
'remove' => 'Borrar',
'see_website' => 'Ver web',
@@ -46,8 +48,8 @@ return array(
),
),
'date' => array(
- 'Apr' => '\\A\\b\\r\\i\\l',
'apr' => 'abr',
+ 'Apr' => '\\A\\b\\r\\i\\l',
'april' => 'abril',
'Aug' => '\\A\\g\\o\\s\\t\\o',
'aug' => 'ago',
@@ -76,11 +78,11 @@ return array(
'last_month' => 'Mes pasado',
'last_week' => 'Semana pasada',
'last_year' => 'Año pasado',
- 'mar' => 'mar',
'Mar' => '\\M\\a\\r\\z\\o',
+ 'mar' => 'mar',
'march' => 'marzo',
- 'May' => '\\M\\a\\y\\o',
'may' => 'mayo',
+ 'May' => '\\M\\a\\y\\o',
'may_' => 'may',
'mon' => 'Lun',
'month' => 'meses',
diff --git a/app/i18n/fr/admin.php b/app/i18n/fr/admin.php
index 2cf6adc89..25fa9fabb 100644
--- a/app/i18n/fr/admin.php
+++ b/app/i18n/fr/admin.php
@@ -182,6 +182,7 @@ return array(
'_' => 'Système de mise à jour',
),
'user' => array(
+ 'admin' => 'Administrateur',
'articles_and_size' => '%s articles (%s)',
'article_count' => 'Articles',
'back_to_manage' => '← Revenir à la liste des utilisateurs',
@@ -190,6 +191,7 @@ return array(
'delete_users' => 'Supprimer un utilisateur',
'email' => 'Adresse email',
'feed_count' => 'Flux',
+ 'is_admin' => 'Admin ?',
'language' => 'Langue',
'list' => 'Liste des utilisateurs',
'number' => '%d compte a déjà été créé',
diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php
index 1f25220da..5ed6cef02 100644
--- a/app/i18n/fr/gen.php
+++ b/app/i18n/fr/gen.php
@@ -7,6 +7,7 @@ return array(
'back_to_rss_feeds' => '← Retour à vos flux RSS',
'cancel' => 'Annuler',
'create' => 'Créer',
+ 'demote' => 'Rétrograder',
'disable' => 'Désactiver',
'empty' => 'Vider',
'enable' => 'Activer',
@@ -16,6 +17,7 @@ return array(
'manage' => 'Gérer',
'mark_favorite' => 'Mettre en favori',
'mark_read' => 'Marquer comme lu',
+ 'promote' => 'Promouvoir',
'purge' => 'Purger',
'remove' => 'Supprimer',
'see_website' => 'Voir le site',
@@ -46,8 +48,8 @@ return array(
),
),
'date' => array(
- 'Apr' => '\\a\\v\\r\\i\\l',
'apr' => 'avr.',
+ 'Apr' => '\\a\\v\\r\\i\\l',
'april' => 'avril',
'Aug' => '\\a\\o\\û\\t',
'aug' => 'août',
@@ -76,11 +78,11 @@ return array(
'last_month' => 'Depuis le mois dernier',
'last_week' => 'Depuis la semaine dernière',
'last_year' => 'Depuis l’année dernière',
- 'mar' => 'mars',
'Mar' => '\\m\\a\\r\\s',
+ 'mar' => 'mars',
'march' => 'mars',
- 'May' => '\\m\\a\\i',
'may' => 'mai',
+ 'May' => '\\m\\a\\i',
'may_' => 'mai',
'mon' => 'lun.',
'month' => 'mois',
diff --git a/app/i18n/he/admin.php b/app/i18n/he/admin.php
index 55ee9fc5d..bc679bf60 100644
--- a/app/i18n/he/admin.php
+++ b/app/i18n/he/admin.php
@@ -182,6 +182,7 @@ return array(
'_' => 'מערכת העדכון',
),
'user' => array(
+ 'admin' => 'Administrator', // TODO - Translation
'articles_and_size' => '%s articles (%s)', // TODO - Translation
'article_count' => 'Articles', // TODO - Translation
'back_to_manage' => '← Return to user list', // TODO - Translation
@@ -190,6 +191,7 @@ return array(
'delete_users' => 'Delete user', // TODO - Translation
'email' => 'Email address', // TODO - Translation
'feed_count' => 'Feeds', // TODO - Translation
+ 'is_admin' => 'Is admin', // TODO - Translation
'language' => 'שפה',
'list' => 'User list', // TODO - Translation
'number' => 'There is %d account created', // TODO - Translation
diff --git a/app/i18n/he/gen.php b/app/i18n/he/gen.php
index 5622690e4..258799cd3 100644
--- a/app/i18n/he/gen.php
+++ b/app/i18n/he/gen.php
@@ -7,6 +7,7 @@ return array(
'back_to_rss_feeds' => '← חזרה להזנות הRSS שלך',
'cancel' => 'ביטול',
'create' => 'יצירה',
+ 'demote' => 'Demote', // TODO - Translation
'disable' => 'Disable', // TODO - Translation
'empty' => 'Empty', // TODO - Translation
'enable' => 'Enable', // TODO - Translation
@@ -16,6 +17,7 @@ return array(
'manage' => 'ניהול',
'mark_favorite' => 'סימון כמועדף',
'mark_read' => 'סימון כנקרא',
+ 'promote' => 'Promote', // TODO - Translation
'purge' => 'Purge', // TODO - Translation
'remove' => 'Remove', // TODO - Translation
'see_website' => 'ראו אתר',
@@ -46,8 +48,8 @@ return array(
),
),
'date' => array(
- 'Apr' => '\\A\\p\\r\\i\\l', // TODO - Translation
'apr' => 'apr',
+ 'Apr' => '\\A\\p\\r\\i\\l', // TODO - Translation
'april' => 'Apr',
'Aug' => '\\A\\u\\g\\u\\s\\t', // TODO - Translation
'aug' => 'aug',
@@ -76,11 +78,11 @@ return array(
'last_month' => 'בחודש שעבר',
'last_week' => 'בשבוע שעבר',
'last_year' => 'בשנה האחרונה',
- 'mar' => 'mar',
'Mar' => '\\M\\a\\r\\c\\h', // TODO - Translation
+ 'mar' => 'mar',
'march' => 'Mar',
- 'May' => '\\M\\a\\y', // TODO - Translation
'may' => 'May', // TODO - Translation
+ 'May' => '\\M\\a\\y', // TODO - Translation
'may_' => 'May', // TODO - Translation
'mon' => 'Mon', // TODO - Translation
'month' => 'חודשים',
diff --git a/app/i18n/it/admin.php b/app/i18n/it/admin.php
index 7a0f2e47e..78253d756 100644
--- a/app/i18n/it/admin.php
+++ b/app/i18n/it/admin.php
@@ -182,6 +182,7 @@ return array(
'_' => 'Aggiornamento sistema',
),
'user' => array(
+ 'admin' => 'Administrator', // TODO - Translation
'articles_and_size' => '%s articoli (%s)',
'article_count' => 'Articles', // TODO - Translation
'back_to_manage' => '← Return to user list', // TODO - Translation
@@ -190,6 +191,7 @@ return array(
'delete_users' => 'Delete user', // TODO - Translation
'email' => 'Email address', // TODO - Translation
'feed_count' => 'Feeds', // TODO - Translation
+ 'is_admin' => 'Is admin', // TODO - Translation
'language' => 'Lingua',
'list' => 'User list', // TODO - Translation
'number' => ' %d profilo utente creato',
diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php
index de670e44d..06b61bf08 100644
--- a/app/i18n/it/gen.php
+++ b/app/i18n/it/gen.php
@@ -7,6 +7,7 @@ return array(
'back_to_rss_feeds' => '← Indietro',
'cancel' => 'Annulla',
'create' => 'Crea',
+ 'demote' => 'Demote', // TODO - Translation
'disable' => 'Disabilita',
'empty' => 'Vuoto',
'enable' => 'Abilita',
@@ -16,6 +17,7 @@ return array(
'manage' => 'Gestisci',
'mark_favorite' => 'Segna come preferito',
'mark_read' => 'Segna come letto',
+ 'promote' => 'Promote', // TODO - Translation
'purge' => 'Purge', // TODO - Translation
'remove' => 'Rimuovi',
'see_website' => 'Vai al sito',
@@ -46,8 +48,8 @@ return array(
),
),
'date' => array(
- 'Apr' => '\\A\\p\\r\\i\\l\\e',
'apr' => 'apr.',
+ 'Apr' => '\\A\\p\\r\\i\\l\\e',
'april' => 'aprile',
'Aug' => '\\A\\g\\o\\s\\t\\o',
'aug' => 'ag.',
@@ -76,11 +78,11 @@ return array(
'last_month' => 'Ultimo mese',
'last_week' => 'Ultima settimana',
'last_year' => 'Ultimo anno',
- 'mar' => 'mar.',
'Mar' => '\\M\\a\\r\\z\\o',
+ 'mar' => 'mar.',
'march' => 'marzo',
- 'May' => '\\M\\a\\g\\g\\i\\o',
'may' => 'maggio',
+ 'May' => '\\M\\a\\g\\g\\i\\o',
'may_' => 'May', // TODO - Translation
'mon' => 'Mon', // TODO - Translation
'month' => 'mesi',
diff --git a/app/i18n/kr/admin.php b/app/i18n/kr/admin.php
index 9c41430eb..9980a5335 100644
--- a/app/i18n/kr/admin.php
+++ b/app/i18n/kr/admin.php
@@ -182,6 +182,7 @@ return array(
'_' => '업데이트',
),
'user' => array(
+ 'admin' => 'Administrator', // TODO - Translation
'articles_and_size' => '%s 개의 글 (%s)',
'article_count' => 'Articles', // TODO - Translation
'back_to_manage' => '← Return to user list', // TODO - Translation
@@ -190,6 +191,7 @@ return array(
'delete_users' => '사용자 삭제',
'email' => 'Email address', // TODO - Translation
'feed_count' => 'Feeds', // TODO - Translation
+ 'is_admin' => 'Is admin', // TODO - Translation
'language' => '언어',
'list' => 'User list', // TODO - Translation
'number' => '%d 개의 계정이 생성되었습니다',
diff --git a/app/i18n/kr/gen.php b/app/i18n/kr/gen.php
index 45a053386..f85af4950 100644
--- a/app/i18n/kr/gen.php
+++ b/app/i18n/kr/gen.php
@@ -7,6 +7,7 @@ return array(
'back_to_rss_feeds' => '← RSS 피드로 돌아가기',
'cancel' => '취소',
'create' => '생성',
+ 'demote' => 'Demote', // TODO - Translation
'disable' => '비활성화',
'empty' => '비우기',
'enable' => '활성화',
@@ -16,6 +17,7 @@ return array(
'manage' => '관리',
'mark_favorite' => '즐겨찾기에 등록',
'mark_read' => '읽음으로 표시',
+ 'promote' => 'Promote', // TODO - Translation
'purge' => 'Purge', // TODO - Translation
'remove' => '삭제',
'see_website' => '웹사이트 열기',
@@ -46,8 +48,8 @@ return array(
),
),
'date' => array(
- 'Apr' => '\\A\\p\\r\\i\\l',
'apr' => '4월',
+ 'Apr' => '\\A\\p\\r\\i\\l',
'april' => '4월',
'Aug' => '\\A\\u\\g\\u\\s\\t',
'aug' => '8월',
@@ -76,11 +78,11 @@ return array(
'last_month' => '최근 한 달',
'last_week' => '최근 한 주',
'last_year' => '최근 일 년',
- 'mar' => '3월',
'Mar' => '\\M\\a\\r\\c\\h',
+ 'mar' => '3월',
'march' => '3월',
- 'May' => '\\M\\a\\y',
'may' => '5월',
+ 'May' => '\\M\\a\\y',
'may_' => '5월',
'mon' => '월',
'month' => '개월',
diff --git a/app/i18n/nl/admin.php b/app/i18n/nl/admin.php
index b6ffee16a..34524e566 100644
--- a/app/i18n/nl/admin.php
+++ b/app/i18n/nl/admin.php
@@ -182,6 +182,7 @@ return array(
'_' => 'Versie controle',
),
'user' => array(
+ 'admin' => 'Administrator', // TODO - Translation
'articles_and_size' => '%s artikelen (%s)',
'article_count' => 'Articles', // TODO - Translation
'back_to_manage' => '← Return to user list', // TODO - Translation
@@ -190,6 +191,7 @@ return array(
'delete_users' => 'Verwijder gebruiker',
'email' => 'Email address', // TODO - Translation
'feed_count' => 'Feeds', // TODO - Translation
+ 'is_admin' => 'Is admin', // TODO - Translation
'language' => 'Taal',
'list' => 'User list', // TODO - Translation
'number' => 'Er is %d accounts gemaakt',
diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php
index 55937b378..8fcd385a3 100644
--- a/app/i18n/nl/gen.php
+++ b/app/i18n/nl/gen.php
@@ -7,6 +7,7 @@ return array(
'back_to_rss_feeds' => '← Ga terug naar je RSS feeds',
'cancel' => 'Annuleren',
'create' => 'Opslaan',
+ 'demote' => 'Demote', // TODO - Translation
'disable' => 'Uitzetten',
'empty' => 'Leeg',
'enable' => 'Aanzetten',
@@ -16,6 +17,7 @@ return array(
'manage' => 'Beheren',
'mark_favorite' => 'Markeer als favoriet',
'mark_read' => 'Markeer als gelezen',
+ 'promote' => 'Promote', // TODO - Translation
'purge' => 'Purge', // TODO - Translation
'remove' => 'Verwijder',
'see_website' => 'Bekijk website',
@@ -46,8 +48,8 @@ return array(
),
),
'date' => array(
- 'Apr' => '\\A\\p\\r\\i\\l',
'apr' => 'apr',
+ 'Apr' => '\\A\\p\\r\\i\\l',
'april' => 'Apr',
'Aug' => '\\A\\u\\g\\u\\s\\t\\u\\s',
'aug' => 'aug',
@@ -76,11 +78,11 @@ return array(
'last_month' => 'Vorige maand',
'last_week' => 'Vorige week',
'last_year' => 'Vorig jaar',
- 'mar' => 'mrt',
'Mar' => '\\M\\a\\a\\r\\t',
+ 'mar' => 'mrt',
'march' => 'Mrt',
- 'May' => '\\M\\e\\i',
'may' => 'Mei',
+ 'May' => '\\M\\e\\i',
'may_' => 'Mei',
'mon' => 'Ma',
'month' => 'maanden',
diff --git a/app/i18n/oc/admin.php b/app/i18n/oc/admin.php
index f27014fca..d04a94e59 100644
--- a/app/i18n/oc/admin.php
+++ b/app/i18n/oc/admin.php
@@ -182,6 +182,7 @@ return array(
'_' => 'Sistèma de mesa a jorn',
),
'user' => array(
+ 'admin' => 'Administrator', // TODO - Translation
'articles_and_size' => '%s articles (%s)',
'article_count' => 'Articles', // TODO - Translation
'back_to_manage' => '← Return to user list', // TODO - Translation
@@ -190,6 +191,7 @@ return array(
'delete_users' => 'Suprimir un utilizaire',
'email' => 'Email address', // TODO - Translation
'feed_count' => 'Feeds', // TODO - Translation
+ 'is_admin' => 'Is admin', // TODO - Translation
'language' => 'Lenga',
'list' => 'User list', // TODO - Translation
'number' => '%d compte ja creat',
diff --git a/app/i18n/oc/gen.php b/app/i18n/oc/gen.php
index 7bf851e59..bc8cc54ca 100644
--- a/app/i18n/oc/gen.php
+++ b/app/i18n/oc/gen.php
@@ -7,6 +7,7 @@ return array(
'back_to_rss_feeds' => '← Tornar a vòstres fluxes RSS',
'cancel' => 'Anullar',
'create' => 'Crear',
+ 'demote' => 'Demote', // TODO - Translation
'disable' => 'Desactivar',
'empty' => 'Voidar',
'enable' => 'Activar',
@@ -16,6 +17,7 @@ return array(
'manage' => 'Gerir',
'mark_favorite' => 'Ajustar als favorits',
'mark_read' => 'Marcar coma legit',
+ 'promote' => 'Promote', // TODO - Translation
'purge' => 'Purge', // TODO - Translation
'remove' => 'Levar',
'see_website' => 'Veire lo site',
@@ -46,8 +48,8 @@ return array(
),
),
'date' => array(
- 'Apr' => '\\a\\b\\r\\i\\a\\l',
'apr' => 'abr.',
+ 'Apr' => '\\a\\b\\r\\i\\a\\l',
'april' => 'abrial',
'Aug' => '\\a\\g\\o\\s\\t',
'aug' => 'agost',
@@ -76,11 +78,11 @@ return array(
'last_month' => 'Dempuèi lo mes passat',
'last_week' => 'Dempuèi la setmana passada',
'last_year' => 'Dempuèi l’annada passada',
- 'mar' => 'març',
'Mar' => '\\m\\a\\r\\ç',
+ 'mar' => 'març',
'march' => 'març',
- 'May' => '\\m\\a\\i',
'may' => 'mai',
+ 'May' => '\\m\\a\\i',
'may_' => 'mai',
'mon' => 'dl',
'month' => 'meses',
diff --git a/app/i18n/pt-br/admin.php b/app/i18n/pt-br/admin.php
index 83639c01b..53744ef73 100644
--- a/app/i18n/pt-br/admin.php
+++ b/app/i18n/pt-br/admin.php
@@ -182,6 +182,7 @@ return array(
'_' => 'Atualização do sistema',
),
'user' => array(
+ 'admin' => 'Administrator', // TODO - Translation
'articles_and_size' => '%s artigos (%s)',
'article_count' => 'Articles', // TODO - Translation
'back_to_manage' => '← Return to user list', // TODO - Translation
@@ -190,6 +191,7 @@ return array(
'delete_users' => 'Delete user', // TODO - Translation
'email' => 'Email address', // TODO - Translation
'feed_count' => 'Feeds', // TODO - Translation
+ 'is_admin' => 'Is admin', // TODO - Translation
'language' => 'Idioma',
'list' => 'User list', // TODO - Translation
'number' => 'Há %d conta criada',
diff --git a/app/i18n/pt-br/gen.php b/app/i18n/pt-br/gen.php
index a65c87b6c..d064fdd6c 100644
--- a/app/i18n/pt-br/gen.php
+++ b/app/i18n/pt-br/gen.php
@@ -7,6 +7,7 @@ return array(
'back_to_rss_feeds' => '← Volte para o seu feeds RSS',
'cancel' => 'Cancelar',
'create' => 'Criar',
+ 'demote' => 'Demote', // TODO - Translation
'disable' => 'Desabilitar',
'empty' => 'Vazio',
'enable' => 'Habilitar',
@@ -16,6 +17,7 @@ return array(
'manage' => 'Gerenciar',
'mark_favorite' => 'Marcar como favorito',
'mark_read' => 'Marcar como lido',
+ 'promote' => 'Promote', // TODO - Translation
'purge' => 'Purge', // TODO - Translation
'remove' => 'Remover',
'see_website' => 'Ver o site',
@@ -46,8 +48,8 @@ return array(
),
),
'date' => array(
- 'Apr' => '\\A\\b\\r\\i\\l',
'apr' => 'abr',
+ 'Apr' => '\\A\\b\\r\\i\\l',
'april' => 'Abr',
'Aug' => '\\A\\g\\o\\s\\t\\o',
'aug' => 'ago',
@@ -76,11 +78,11 @@ return array(
'last_month' => 'Últimos mês',
'last_week' => 'Última semana',
'last_year' => 'Último ano',
- 'mar' => 'mar',
'Mar' => '\\M\\a\\r\\ç\\o',
+ 'mar' => 'mar',
'march' => 'Mar',
- 'May' => '\\M\\a\\i\\o',
'may' => 'Mai',
+ 'May' => '\\M\\a\\i\\o',
'may_' => 'Mai',
'mon' => 'Seg',
'month' => 'meses',
diff --git a/app/i18n/ru/admin.php b/app/i18n/ru/admin.php
index 3fcf151dd..ffb0b662c 100644
--- a/app/i18n/ru/admin.php
+++ b/app/i18n/ru/admin.php
@@ -182,6 +182,7 @@ return array(
'_' => 'Обновление системы',
),
'user' => array(
+ 'admin' => 'Administrator', // TODO - Translation
'articles_and_size' => '%s статей (%s)',
'article_count' => 'Articles', // TODO - Translation
'back_to_manage' => '← Return to user list', // TODO - Translation
@@ -190,6 +191,7 @@ return array(
'delete_users' => 'Delete user', // TODO - Translation
'email' => 'Email address', // TODO - Translation
'feed_count' => 'Feeds', // TODO - Translation
+ 'is_admin' => 'Is admin', // TODO - Translation
'language' => 'Язык',
'list' => 'User list', // TODO - Translation
'number' => 'На данный момент создан %d аккаунт',
diff --git a/app/i18n/ru/gen.php b/app/i18n/ru/gen.php
index dc3baf7c5..606983db2 100644
--- a/app/i18n/ru/gen.php
+++ b/app/i18n/ru/gen.php
@@ -7,6 +7,7 @@ return array(
'back_to_rss_feeds' => '← Go back to your RSS feeds', // TODO - Translation
'cancel' => 'Cancel', // TODO - Translation
'create' => 'Create', // TODO - Translation
+ 'demote' => 'Demote', // TODO - Translation
'disable' => 'Disable', // TODO - Translation
'empty' => 'Empty', // TODO - Translation
'enable' => 'Enable', // TODO - Translation
@@ -16,6 +17,7 @@ return array(
'manage' => 'Manage', // TODO - Translation
'mark_favorite' => 'Mark as favourite', // TODO - Translation
'mark_read' => 'Mark as read', // TODO - Translation
+ 'promote' => 'Promote', // TODO - Translation
'purge' => 'Purge', // TODO - Translation
'remove' => 'Remove', // TODO - Translation
'see_website' => 'See website', // TODO - Translation
@@ -46,8 +48,8 @@ return array(
),
),
'date' => array(
- 'Apr' => '\\A\\p\\r\\i\\l', // TODO - Translation
'apr' => 'apr',
+ 'Apr' => '\\A\\p\\r\\i\\l', // TODO - Translation
'april' => 'Apr',
'Aug' => '\\A\\u\\g\\u\\s\\t', // TODO - Translation
'aug' => 'aug',
@@ -76,11 +78,11 @@ return array(
'last_month' => 'Last month', // TODO - Translation
'last_week' => 'Last week', // TODO - Translation
'last_year' => 'Last year', // TODO - Translation
- 'mar' => 'mar',
'Mar' => '\\M\\a\\r\\c\\h', // TODO - Translation
+ 'mar' => 'mar',
'march' => 'Mar',
- 'May' => '\\M\\a\\y', // TODO - Translation
'may' => 'May', // TODO - Translation
+ 'May' => '\\M\\a\\y', // TODO - Translation
'may_' => 'May', // TODO - Translation
'mon' => 'Mon', // TODO - Translation
'month' => 'months', // TODO - Translation
diff --git a/app/i18n/sk/admin.php b/app/i18n/sk/admin.php
index 1e06c40b9..eeb2fd3d4 100644
--- a/app/i18n/sk/admin.php
+++ b/app/i18n/sk/admin.php
@@ -182,6 +182,7 @@ return array(
'_' => 'Aktualizácia systému',
),
'user' => array(
+ 'admin' => 'Administrator', // TODO - Translation
'articles_and_size' => '%s článkov (%s)',
'article_count' => 'Articles', // TODO - Translation
'back_to_manage' => '← Return to user list', // TODO - Translation
@@ -190,6 +191,7 @@ return array(
'delete_users' => 'Zmazať používateľa',
'email' => 'Email address', // TODO - Translation
'feed_count' => 'Feeds', // TODO - Translation
+ 'is_admin' => 'Is admin', // TODO - Translation
'language' => 'Jazyk',
'list' => 'User list', // TODO - Translation
'number' => 'Je vytvorený používateľ: %d',
diff --git a/app/i18n/sk/gen.php b/app/i18n/sk/gen.php
index d6548e72a..4791901af 100644
--- a/app/i18n/sk/gen.php
+++ b/app/i18n/sk/gen.php
@@ -7,6 +7,7 @@ return array(
'back_to_rss_feeds' => '← Späť na vaše RSS kanály',
'cancel' => 'Zrušiť',
'create' => 'Vytvoriť',
+ 'demote' => 'Demote', // TODO - Translation
'disable' => 'Zakázať',
'empty' => 'Vyprázdniť',
'enable' => 'Povoliť',
@@ -16,6 +17,7 @@ return array(
'manage' => 'Spravovať',
'mark_favorite' => 'Označiť ako obľúbené',
'mark_read' => 'Označiť ako prečítané',
+ 'promote' => 'Promote', // TODO - Translation
'purge' => 'Purge', // TODO - Translation
'remove' => 'Odstrániť',
'see_website' => 'Zobraziť webovú stránku',
@@ -46,8 +48,8 @@ return array(
),
),
'date' => array(
- 'Apr' => '\\A\\p\\r\\í\\l',
'apr' => 'Apr.',
+ 'Apr' => '\\A\\p\\r\\í\\l',
'april' => 'Apríl',
'Aug' => '\\A\\u\\g\\u\\s\\t',
'aug' => 'Aug.',
@@ -76,11 +78,11 @@ return array(
'last_month' => 'Posledný mesiac',
'last_week' => 'Posledný týždeň',
'last_year' => 'Posledný rok',
- 'mar' => 'Mar.',
'Mar' => '\\M\\a\\r\\e\\c',
+ 'mar' => 'Mar.',
'march' => 'Marec',
- 'May' => '\\M\\á\\j',
'may' => 'Máj',
+ 'May' => '\\M\\á\\j',
'may_' => 'Máj',
'mon' => 'Po',
'month' => 'mesiace',
diff --git a/app/i18n/tr/admin.php b/app/i18n/tr/admin.php
index bb097d5e8..de30a0d50 100644
--- a/app/i18n/tr/admin.php
+++ b/app/i18n/tr/admin.php
@@ -182,6 +182,7 @@ return array(
'_' => 'Sistem güncelleme',
),
'user' => array(
+ 'admin' => 'Administrator', // TODO - Translation
'articles_and_size' => '%s makale (%s)',
'article_count' => 'Articles', // TODO - Translation
'back_to_manage' => '← Return to user list', // TODO - Translation
@@ -190,6 +191,7 @@ return array(
'delete_users' => 'Delete user', // TODO - Translation
'email' => 'Email address', // TODO - Translation
'feed_count' => 'Feeds', // TODO - Translation
+ 'is_admin' => 'Is admin', // TODO - Translation
'language' => 'Dil',
'list' => 'User list', // TODO - Translation
'number' => 'Oluşturulmuş %d hesap var',
diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php
index 681fd5e74..e80eb8e59 100644
--- a/app/i18n/tr/gen.php
+++ b/app/i18n/tr/gen.php
@@ -7,6 +7,7 @@ return array(
'back_to_rss_feeds' => '← RSS akışlarınız için geri gidin',
'cancel' => 'İptal',
'create' => 'Oluştur',
+ 'demote' => 'Demote', // TODO - Translation
'disable' => 'Pasif',
'empty' => 'Boş',
'enable' => 'Aktif',
@@ -16,6 +17,7 @@ return array(
'manage' => 'Yönet',
'mark_favorite' => 'Favoriye ekle',
'mark_read' => 'Okundu olarak işaretle',
+ 'promote' => 'Promote', // TODO - Translation
'purge' => 'Purge', // TODO - Translation
'remove' => 'Sil',
'see_website' => 'Siteyi gör',
@@ -46,8 +48,8 @@ return array(
),
),
'date' => array(
- 'Apr' => '\\N\\i\\s\\a\\n',
'apr' => 'nis',
+ 'Apr' => '\\N\\i\\s\\a\\n',
'april' => 'Nis',
'Aug' => '\\A\\ğ\\u\\s\\t\\o\\s',
'aug' => 'ağu',
@@ -76,11 +78,11 @@ return array(
'last_month' => 'Geçen ay',
'last_week' => 'Geçen hafta',
'last_year' => 'Geçen yıl',
- 'mar' => 'mar',
'Mar' => '\\M\\a\\r\\t',
+ 'mar' => 'mar',
'march' => 'Mar',
- 'May' => '\\M\\a\\y\\ı\\s',
'may' => 'Mayıs',
+ 'May' => '\\M\\a\\y\\ı\\s',
'may_' => 'May', // TODO - Translation
'mon' => 'Pzt',
'month' => 'ay',
diff --git a/app/i18n/zh-cn/admin.php b/app/i18n/zh-cn/admin.php
index f0b33e889..6ba32efc5 100644
--- a/app/i18n/zh-cn/admin.php
+++ b/app/i18n/zh-cn/admin.php
@@ -182,6 +182,7 @@ return array(
'_' => '更新系统',
),
'user' => array(
+ 'admin' => 'Administrator', // TODO - Translation
'articles_and_size' => '%s 篇文章(%s)',
'article_count' => '文章数',
'back_to_manage' => '← 返回用户列表',
@@ -190,6 +191,7 @@ return array(
'delete_users' => '删除用户',
'email' => '邮箱地址',
'feed_count' => '订阅源数',
+ 'is_admin' => 'Is admin', // TODO - Translation
'language' => '语言',
'list' => '用户列表',
'number' => '已有 %d 个用户',
diff --git a/app/i18n/zh-cn/gen.php b/app/i18n/zh-cn/gen.php
index 3043e0d0c..b3bb6273e 100644
--- a/app/i18n/zh-cn/gen.php
+++ b/app/i18n/zh-cn/gen.php
@@ -7,6 +7,7 @@ return array(
'back_to_rss_feeds' => '← 返回订阅源',
'cancel' => '取消',
'create' => '创建',
+ 'demote' => 'Demote', // TODO - Translation
'disable' => '禁用',
'empty' => '清空',
'enable' => '启用',
@@ -16,6 +17,7 @@ return array(
'manage' => '管理',
'mark_favorite' => '标记收藏',
'mark_read' => '标记已读',
+ 'promote' => 'Promote', // TODO - Translation
'purge' => '清理',
'remove' => '删除',
'see_website' => '网站中查看',
@@ -46,8 +48,8 @@ return array(
),
),
'date' => array(
- 'Apr' => '\\四\\月',
'apr' => '四月',
+ 'Apr' => '\\四\\月',
'april' => '四月',
'Aug' => '\\八\\月',
'aug' => '八月',
@@ -76,11 +78,11 @@ return array(
'last_month' => '上月',
'last_week' => '上周',
'last_year' => '去年',
- 'mar' => '三月',
'Mar' => '\\三\\月',
+ 'mar' => '三月',
'march' => '三月',
- 'May' => '\\五\\月',
'may' => '五月',
+ 'May' => '\\五\\月',
'may_' => '五月',
'mon' => '周一',
'month' => '个月',
diff --git a/app/install.php b/app/install.php
index 3158ffc6f..e5847cc5a 100644
--- a/app/install.php
+++ b/app/install.php
@@ -223,6 +223,7 @@ function saveStep3() {
$password_plain,
[
'language' => $_SESSION['language'],
+ 'is_admin' => true,
]
);
} catch (Exception $e) {
diff --git a/app/views/user/details.phtml b/app/views/user/details.phtml
index 7a4687184..e23e645ae 100644
--- a/app/views/user/details.phtml
+++ b/app/views/user/details.phtml
@@ -1,9 +1,11 @@
<?php $this->partial('aside_configure'); ?>
+<?php $isAdmin = $this->details['is_admin']; ?>
+
<div class="post">
<a href="<?= _url('user', 'manage'); ?>"><?= _t('admin.user.back_to_manage'); ?></a>
- <legend><?= $this->username; ?></legend>
+ <legend><?= $this->username ?><?php if ($isAdmin) echo ' ― ', _t('admin.user.admin'); ?></legend>
<form method="post" action="<?= _url('user', 'manage', 'username', $this->username); ?>">
<input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken(); ?>" />
@@ -59,6 +61,11 @@
<button type="submit" class="btn btn-important" name="action" value="update"><?= _t('gen.action.update') ?></button>
<button type="submit" class="btn btn-attention confirm" name="action" value="purge"><?= _t('gen.action.purge') ?></button>
<button type="submit" class="btn btn-attention confirm" name="action" value="delete"><?= _t('gen.action.remove') ?></button>
+ <?php if ($isAdmin && !$this->isDefaultUser): ?>
+ <button type="submit" class="btn btn-attention confirm" name="action" value="demote"><?= _t('gen.action.demote') ?></button>
+ <?php elseif (!$isAdmin): ?>
+ <button type="submit" class="btn btn-attention confirm" name="action" value="promote"><?= _t('gen.action.promote') ?></button>
+ <?php endif; ?>
<div>
</div>
</form>
diff --git a/app/views/user/manage.phtml b/app/views/user/manage.phtml
index 951544248..6ab31e6c6 100644
--- a/app/views/user/manage.phtml
+++ b/app/views/user/manage.phtml
@@ -26,6 +26,15 @@
</div>
</div>
+ <div class="form-group">
+ <div class="group-controls">
+ <label for="new_user_is_admin" class="checkbox">
+ <input type="checkbox" name="new_user_is_admin" id="new_user_is_admin">
+ <?= _t('admin.user.is_admin') ?>
+ </label>
+ </div>
+ </div>
+
<?php if ($this->show_email_field) { ?>
<div class="form-group">
<label class="group-name" for="new_user_email">
@@ -62,6 +71,7 @@
<thead>
<tr>
<th><?= _t('admin.user.username') ?></th>
+ <th><?= _t('admin.user.is_admin') ?></th>
<th><?= _t('admin.user.email') ?></th>
<th><?= _t('admin.user.language') ?></th>
<th><?= _t('admin.user.feed_count') ?></th>
@@ -74,6 +84,7 @@
<?php foreach ($this->users as $username => $values) : ?>
<tr>
<td><?= $username ?></td>
+ <td><?= $values['is_admin'] ? '✔' : ' ' ?></td>
<td><?= $values['mail_login'] ?></td>
<td><?= _t("gen.lang.{$values['language']}") ?></td>
<td><?= format_number($values['feed_count']) ?></td>
diff --git a/config-user.default.php b/config-user.default.php
index 5b49d689a..27f330c82 100644
--- a/config-user.default.php
+++ b/config-user.default.php
@@ -4,6 +4,7 @@
# `./data/config-user.custom.php` file instead, containing the keys you want to
# override.
return array (
+ 'is_admin' => false,
'language' => 'en',
'archiving' => [
'keep_period' => 'P3M',