diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/ajax/update.php | 8 | ||||
-rw-r--r-- | core/command/maintenance/mode.php | 61 | ||||
-rw-r--r-- | core/command/upgrade.php | 3 | ||||
-rw-r--r-- | core/command/user/lastseen.php | 47 | ||||
-rw-r--r-- | core/command/user/resetpassword.php | 79 | ||||
-rw-r--r-- | core/css/styles.css | 10 | ||||
-rw-r--r-- | core/js/js.js | 37 | ||||
-rw-r--r-- | core/js/share.js | 4 | ||||
-rw-r--r-- | core/js/update.js | 108 | ||||
-rw-r--r-- | core/l10n/ast.php | 22 | ||||
-rw-r--r-- | core/l10n/el.php | 1 | ||||
-rw-r--r-- | core/l10n/hu_HU.php | 36 | ||||
-rw-r--r-- | core/lostpassword/css/lostpassword.css | 7 | ||||
-rw-r--r-- | core/lostpassword/templates/lostpassword.php | 6 | ||||
-rw-r--r-- | core/register_command.php | 3 | ||||
-rw-r--r-- | core/templates/update.admin.php | 33 |
16 files changed, 374 insertions, 91 deletions
diff --git a/core/ajax/update.php b/core/ajax/update.php index 55e8ab15ec2..84d7a21209e 100644 --- a/core/ajax/update.php +++ b/core/ajax/update.php @@ -15,6 +15,14 @@ if (OC::checkUpgrade(false)) { $updater->listen('\OC\Updater', 'dbUpgrade', function () use ($eventSource, $l) { $eventSource->send('success', (string)$l->t('Updated database')); }); + $updater->listen('\OC\Updater', 'disabledApps', function ($appList) use ($eventSource, $l) { + $list = array(); + foreach ($appList as $appId) { + $info = OC_App::getAppInfo($appId); + $list[] = $info['name'] . ' (' . $info['id'] . ')'; + } + $eventSource->send('success', (string)$l->t('Disabled incompatible apps: %s', implode(', ', $list))); + }); $updater->listen('\OC\Updater', 'failure', function ($message) use ($eventSource) { $eventSource->send('failure', $message); $eventSource->close(); diff --git a/core/command/maintenance/mode.php b/core/command/maintenance/mode.php new file mode 100644 index 00000000000..f26a11384a8 --- /dev/null +++ b/core/command/maintenance/mode.php @@ -0,0 +1,61 @@ +<?php +/** + * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com> and + * Copyright (c) 2014 Stephen Colebrook <scolebrook@mac.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC\Core\Command\Maintenance; + +use OC\Config; + +use Symfony\Component\Console\Command\Command; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Input\InputOption; +use Symfony\Component\Console\Output\OutputInterface; + +class Mode extends Command { + + protected $config; + + public function __construct(Config $config) { + $this->config = $config; + parent::__construct(); + } + + protected function configure() { + $this + ->setName('maintenance:mode') + ->setDescription('set maintenance mode') + ->addOption( + 'on', + null, + InputOption::VALUE_NONE, + 'enable maintenance mode' + ) + ->addOption( + 'off', + null, + InputOption::VALUE_NONE, + 'disable maintenance mode' + ); + } + + protected function execute(InputInterface $input, OutputInterface $output) { + if ($input->getOption('on')) { + $this->config->setValue('maintenance', true); + $output->writeln('Maintenance mode enabled'); + } elseif ($input->getOption('off')) { + $this->config->setValue('maintenance', false); + $output->writeln('Maintenance mode disabled'); + } else { + if ($this->config->getValue('maintenance', false)) { + $output->writeln('Maintenance mode is currently enabled'); + } else { + $output->writeln('Maintenance mode is currently disabled'); + } + } + } +} diff --git a/core/command/upgrade.php b/core/command/upgrade.php index ed72d136e24..8ce8ef9b6e5 100644 --- a/core/command/upgrade.php +++ b/core/command/upgrade.php @@ -56,6 +56,9 @@ class Upgrade extends Command { $updater->listen('\OC\Updater', 'dbUpgrade', function () use($output) { $output->writeln('<info>Updated database</info>'); }); + $updater->listen('\OC\Updater', 'disabledApps', function ($appList) use($output) { + $output->writeln('<info>Disabled incompatible apps: ' . implode(', ', $appList) . '</info>'); + }); $updater->listen('\OC\Updater', 'failure', function ($message) use($output) { $output->writeln($message); diff --git a/core/command/user/lastseen.php b/core/command/user/lastseen.php new file mode 100644 index 00000000000..7a8db013e3a --- /dev/null +++ b/core/command/user/lastseen.php @@ -0,0 +1,47 @@ +<?php +/** + * Copyright (c) 2014 Arthur Schiwon <blizzz@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC\Core\Command\User; + +use Symfony\Component\Console\Command\Command; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; +use Symfony\Component\Console\Input\InputArgument; + +class LastSeen extends Command { + protected function configure() { + $this + ->setName('user:lastseen') + ->setDescription('shows when the user was logged it last time') + ->addArgument( + 'uid', + InputArgument::REQUIRED, + 'the username' + ); + } + + protected function execute(InputInterface $input, OutputInterface $output) { + $userManager = \OC::$server->getUserManager(); + $user = $userManager->get($input->getArgument('uid')); + if(is_null($user)) { + $output->writeln('User does not exist'); + return; + } + + $lastLogin = $user->getLastLogin(); + if($lastLogin === 0) { + $output->writeln('User ' . $user->getUID() . + ' has never logged in, yet.'); + } else { + $date = new \DateTime(); + $date->setTimestamp($lastLogin); + $output->writeln($user->getUID() . + '`s last login: ' . $date->format('d.m.Y H:i')); + } + } +} diff --git a/core/command/user/resetpassword.php b/core/command/user/resetpassword.php new file mode 100644 index 00000000000..d7893c291e4 --- /dev/null +++ b/core/command/user/resetpassword.php @@ -0,0 +1,79 @@ +<?php +/** + * Copyright (c) 2014 Christopher Schäpers <christopher@schaepers.it> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC\Core\Command\User; + +use Symfony\Component\Console\Command\Command; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Input\InputArgument; +use Symfony\Component\Console\Output\OutputInterface; + +class ResetPassword extends Command { + + /** @var \OC\User\Manager */ + protected $userManager; + + public function __construct(\OC\User\Manager $userManager) { + $this->userManager = $userManager; + parent::__construct(); + } + + protected function configure() { + $this + ->setName('user:resetpassword') + ->setDescription('Resets the password of the named user') + ->addArgument( + 'user', + InputArgument::REQUIRED, + 'Username to reset password' + ) + ; + } + + protected function execute(InputInterface $input, OutputInterface $output) { + $username = $input->getArgument('user'); + + /** @var $user \OC\User\User */ + $user = $this->userManager->get($username); + if (is_null($user)) { + $output->writeln("<error>There is no user called " . $username . "</error>"); + return 1; + } + + if ($input->isInteractive()) { + /** @var $dialog \Symfony\Component\Console\Helper\DialogHelper */ + $dialog = $this->getHelperSet()->get('dialog'); + $password = $dialog->askHiddenResponse( + $output, + '<question>Enter a new password: </question>', + false + ); + $confirm = $dialog->askHiddenResponse( + $output, + '<question>Confirm the new password: </question>', + false + ); + + if ($password === $confirm) { + $success = $user->setPassword($password); + if ($success) { + $output->writeln("<info>Successfully reset password for " . $username . "</info>"); + } else { + $output->writeln("<error>Error while resetting password!</error>"); + return 1; + } + } else { + $output->writeln("<error>Passwords did not match!</error>"); + return 1; + } + } else { + $output->writeln("<error>Interactive input is needed for entering a new password!</error>"); + return 1; + } + } +} diff --git a/core/css/styles.css b/core/css/styles.css index 423c40f6184..c493941fed8 100644 --- a/core/css/styles.css +++ b/core/css/styles.css @@ -370,6 +370,16 @@ input[type="submit"].enabled { opacity: .6; } +#body-login .update h2 { + font-weight: bold; + font-size: 18px; + margin-bottom: 30px; +} + +#body-login .infogroup { + margin-bottom: 15px; +} + #body-login p#message img { vertical-align: middle; padding: 5px; diff --git a/core/js/js.js b/core/js/js.js index 38b97590430..3c3efc469bf 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -175,9 +175,13 @@ var OC={ PERMISSION_DELETE:8, PERMISSION_SHARE:16, PERMISSION_ALL:31, + /* jshint camelcase: false */ webroot:oc_webroot, appswebroots:(typeof oc_appswebroots !== 'undefined') ? oc_appswebroots:false, currentUser:(typeof oc_current_user!=='undefined')?oc_current_user:false, + config: oc_config, + appConfig: oc_appconfig || {}, + theme: oc_defaults || {}, coreApps:['', 'admin','log','search','settings','core','3rdparty'], /** @@ -935,39 +939,6 @@ function object(o) { } /** - * Fills height of window. (more precise than height: 100%;) - * @param selector - */ -function fillHeight(selector) { - if (selector.length === 0) { - return; - } - var height = parseFloat($(window).height())-selector.offset().top; - selector.css('height', height + 'px'); - if(selector.outerHeight() > selector.height()){ - selector.css('height', height-(selector.outerHeight()-selector.height()) + 'px'); - } - console.warn("This function is deprecated! Use CSS instead"); -} - -/** - * Fills height and width of window. (more precise than height: 100%; or width: 100%;) - * @param selector - */ -function fillWindow(selector) { - if (selector.length === 0) { - return; - } - fillHeight(selector); - var width = parseFloat($(window).width())-selector.offset().left; - selector.css('width', width + 'px'); - if(selector.outerWidth() > selector.width()){ - selector.css('width', width-(selector.outerWidth()-selector.width()) + 'px'); - } - console.warn("This function is deprecated! Use CSS instead"); -} - -/** * Initializes core */ function initCore() { diff --git a/core/js/share.js b/core/js/share.js index 583f92dd39d..d013f257579 100644 --- a/core/js/share.js +++ b/core/js/share.js @@ -451,7 +451,7 @@ OC.Share={ } var html = '<li style="clear: both;" data-share-type="'+escapeHTML(shareType)+'" data-share-with="'+escapeHTML(shareWith)+'" title="' + escapeHTML(shareWith) + '">'; var showCrudsButton; - html += '<a href="#" class="unshare"><img class="svg" alt="'+t('core', 'Unshare')+'" src="'+OC.imagePath('core', 'actions/delete')+'"/></a>'; + html += '<a href="#" class="unshare"><img class="svg" alt="'+t('core', 'Unshare')+'" title="'+t('core', 'Unshare')+'" src="'+OC.imagePath('core', 'actions/delete')+'"/></a>'; html += '<span class="username">' + escapeHTML(shareWithDisplayName) + '</span>'; var mailNotificationEnabled = $('input:hidden[name=mailNotificationEnabled]').val(); if (mailNotificationEnabled === 'yes') { @@ -464,7 +464,7 @@ OC.Share={ if (possiblePermissions & OC.PERMISSION_CREATE || possiblePermissions & OC.PERMISSION_UPDATE || possiblePermissions & OC.PERMISSION_DELETE) { html += '<label><input type="checkbox" name="edit" class="permissions" '+editChecked+' />'+t('core', 'can edit')+'</label> '; } - showCrudsButton = '<a href="#" class="showCruds"><img class="svg" alt="'+t('core', 'access control')+'" src="'+OC.imagePath('core', 'actions/triangle-s')+'"/></a>'; + showCrudsButton = '<a href="#" class="showCruds"><img class="svg" alt="'+t('core', 'access control')+'" title="'+t('core', 'access control')+'" src="'+OC.imagePath('core', 'actions/triangle-s')+'"/></a>'; html += '<div class="cruds" style="display:none;">'; if (possiblePermissions & OC.PERMISSION_CREATE) { html += '<label><input type="checkbox" name="create" class="permissions" '+createChecked+' data-permissions="'+OC.PERMISSION_CREATE+'" />'+t('core', 'create')+'</label>'; diff --git a/core/js/update.js b/core/js/update.js index b1b7f6e37e8..cc0f541bd79 100644 --- a/core/js/update.js +++ b/core/js/update.js @@ -1,26 +1,86 @@ -$(document).ready(function () { - var updateEventSource = new OC.EventSource(OC.webroot+'/core/ajax/update.php'); - updateEventSource.listen('success', function(message) { - $('<span>').append(message).append('<br />').appendTo($('.update')); - }); - updateEventSource.listen('error', function(message) { - $('<span>').addClass('error').append(message).append('<br />').appendTo($('.update')); - message = t('core', 'Please reload the page.'); - $('<span>').addClass('error').append(message).append('<br />').appendTo($('.update')); - updateEventSource.close(); - }); - updateEventSource.listen('failure', function(message) { - $('<span>').addClass('error').append(message).append('<br />').appendTo($('.update')); - $('<span>') - .addClass('error bold') - .append('<br />') - .append(t('core', 'The update was unsuccessful. Please report this issue to the <a href="https://github.com/owncloud/core/issues" target="_blank">ownCloud community</a>.')) - .appendTo($('.update')); - }); - updateEventSource.listen('done', function(message) { - $('<span>').addClass('bold').append('<br />').append(t('core', 'The update was successful. Redirecting you to ownCloud now.')).appendTo($('.update')); - setTimeout(function () { - window.location.href = OC.webroot; - }, 3000); +/* + * Copyright (c) 2014 + * + * This file is licensed under the Affero General Public License version 3 + * or later. + * + * See the COPYING-README file. + * + */ + +(function() { + OC.Update = { + _started : false, + + /** + * Start the upgrade process. + * + * @param $el progress list element + */ + start: function($el) { + if (this._started) { + return; + } + + this.$el = $el; + + this._started = true; + this.addMessage(t( + 'core', + 'Updating {productName} to version {version}, this may take a while.', { + productName: OC.theme.name, + version: OC.config.versionstring + }), + 'bold' + ).append('<br />'); // FIXME: these should be ul/li with CSS paddings! + + var updateEventSource = new OC.EventSource(OC.webroot+'/core/ajax/update.php'); + updateEventSource.listen('success', function(message) { + $('<span>').append(message).append('<br />').appendTo($el); + }); + updateEventSource.listen('error', function(message) { + $('<span>').addClass('error').append(message).append('<br />').appendTo($el); + message = t('core', 'Please reload the page.'); + $('<span>').addClass('error').append(message).append('<br />').appendTo($el); + updateEventSource.close(); + }); + updateEventSource.listen('failure', function(message) { + $('<span>').addClass('error').append(message).append('<br />').appendTo($el); + $('<span>') + .addClass('error bold') + .append('<br />') + .append(t('core', 'The update was unsuccessful.' + + 'Please report this issue to the ' + + '<a href="https://github.com/owncloud/core/issues" target="_blank">ownCloud community</a>.')) + .appendTo($el); + }); + updateEventSource.listen('done', function() { + // FIXME: use product name + $('<span>').addClass('bold') + .append('<br />') + .append(t('core', 'The update was successful. Redirecting you to ownCloud now.')) + .appendTo($el); + setTimeout(function () { + OC.redirect(OC.webroot); + }, 3000); + }); + }, + + addMessage: function(message, className) { + var $span = $('<span>'); + $span.addClass(className).append(message).append('<br />').appendTo(this.$el); + return $span; + } + }; + +})(); + +$(document).ready(function() { + $('.updateButton').on('click', function() { + var $progressEl = $('.updateProgress'); + $progressEl.removeClass('hidden'); + $('.updateOverview').addClass('hidden'); + OC.Update.start($progressEl); + return false; }); }); diff --git a/core/l10n/ast.php b/core/l10n/ast.php index f0e1a039497..a2072fdd3aa 100644 --- a/core/l10n/ast.php +++ b/core/l10n/ast.php @@ -1,6 +1,8 @@ <?php $TRANSLATIONS = array( +"Couldn't send mail to following users: %s " => "Nun pudo dunviase'l corréu a los usuarios siguientes: %s", "Updated database" => "Base de datos anovada", +"Unknown filetype" => "Triba de ficheru desconocida", "Invalid image" => "Imaxe inválida", "Sunday" => "Domingu", "Monday" => "Llunes", @@ -38,9 +40,13 @@ $TRANSLATIONS = array( "Choose" => "Esbillar", "Ok" => "Aceutar", "_{count} file conflict_::_{count} file conflicts_" => array("",""), +"New Files" => "Ficheros nuevos", +"Already existing files" => "Ficheros qu'esisten yá", "Which files do you want to keep?" => "¿Qué ficheros quies caltener?", "Cancel" => "Encaboxar", "Continue" => "Continuar", +"(all selected)" => "(esbillao too)", +"({count} selected)" => "(esbillaos {count})", "Very weak password" => "Contraseña mui feble", "Weak password" => "Contraseña feble", "So-so password" => "Contraseña pasable", @@ -56,6 +62,7 @@ $TRANSLATIONS = array( "Shared with you by {owner}" => "Compartíu contigo por {owner}", "Share link" => "Compartir enllaz", "Password protect" => "Protexer con contraseña", +"Choose a password for the public link" => "Escueyi una contraseña pal enllaz públicu", "Email link to person" => "Enlláz de corréu electrónicu a la persona", "Send" => "Unviar", "Set expiration date" => "Afitar la data de caducidá", @@ -83,16 +90,22 @@ $TRANSLATIONS = array( "Delete" => "Desaniciar", "Add" => "Amestar", "Edit tags" => "Editar etiquetes", +"Please reload the page." => "Por favor, recarga la páxina", "The update was unsuccessful. Please report this issue to the <a href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud community</a>." => "L'anovamientu fízose con ésitu. Por favor, informa d'esti problema a la <a href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">comuña ownCloud</a>.", "The update was successful. Redirecting you to ownCloud now." => "L'anovamientu fízose con ésitu. Redirixiendo agora al to ownCloud.", "Use the following link to reset your password: {link}" => "Usa'l siguiente enllaz pa restablecer la to contraseña: {link}", +"The link to reset your password has been sent to your email.<br>If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator ." => "Dunviósete al to corréu l'enllaz pa reaniciar la to contraseña.<br>Si nun lu recibes dientro de dellos minutos, comprueba les tos carpetes de corréu puxarra.<br>Sinón, pues entrugar al to alministrador llocal.", +"Request failed!<br>Did you make sure your email/username was right?" => "¡Petición fallida!<br>¿Asegurástite qué'l to nome d'usuariu/corréu tean bien?", "You will receive a link to reset your password via Email." => "Vas recibir un enllaz vía Corréu-e pa restablecer la to contraseña", "Username" => "Nome d'usuariu", +"Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?" => "Los tos ficheros tan cifraos. Si nun habilitesti la clave de recuperación, nun habrá forma de recuperar los tos datos dempués de que la contraseña se reanicie. Si nun tas seguru que facer, por favor contauta col to alministrador enantes de siguir. ¿De xuru quies continuar?", +"Yes, I really want to reset my password now" => "Sí, quiero reaniciar daveres la mio contraseña agora", "Reset" => "Reaniciar", "Your password was reset" => "Restablecióse la contraseña", "To login page" => "Aniciar sesión na páxina", "New password" => "Contraseña nueva", "Reset password" => "Restablecer contraseña", +"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " => "Mac OS X nun ta sofitáu y %s nun furrulará afayadizamente nesta plataforma. ¡Úsalu baxo'l to riesgu!", "For the best results, please consider using a GNU/Linux server instead." => "Pa los meyores resultaos, por favor considera l'usu d'un sirvidor GNU/Linux nel so llugar.", "Personal" => "Personal", "Users" => "Usuarios", @@ -101,8 +114,11 @@ $TRANSLATIONS = array( "Help" => "Ayuda", "Access forbidden" => "Accesu denegáu", "Cloud not found" => "Ñube non atopada", +"Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" => "Hola, ¿qué hai?\n\nnamái déxanos dicite que %s compartió %s contigo.\nVelu: %s\n\n", "Cheers!" => "¡Salú!", "Security Warning" => "Avisu de seguridá", +"Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" => "La to versión de PHP ye vulnerable al ataque NULL Byte (CVE-2006-7243)", +"Please update your PHP installation to use %s securely." => "Por favor, anova la to instalación de PHP pa usar %s de mou seguru.", "No secure random number generator is available, please enable the PHP OpenSSL extension." => "Nun ta disponible'l xenerador de númberos al debalu, por favor activa la estensión PHP OpenSSL.", "Without a secure random number generator an attacker may be able to predict password reset tokens and take over your account." => "Ensin un xenerador de númberos al debalu, un atacante podría aldovinar los tokens pa restablecer la contraseña y tomar el control de la cuenta.", "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." => "El to direutoriu de datos y ficheros seique ye accesible dende internet por mor qu'el ficheru .htaccess nun furrula.", @@ -118,11 +134,15 @@ $TRANSLATIONS = array( "Database host" => "Agospiador de la base de datos", "Finish setup" => "Finar la configuración ", "Finishing …" => "Finando ...", +"%s is available. Get more information on how to update." => "Ta disponible %s. Consigui más información en como anovar·", "Log out" => "Zarrar sesión", "Automatic logon rejected!" => "¡Aniciu de sesión automáticu refugáu!", +"Please contact your administrator." => "Por favor, contauta col to alministrador", "Lost your password?" => "¿Escaeciesti la to contraseña?", +"remember" => "recordar", "Log in" => "Aniciar sesión", "Alternative Logins" => "Anicios de sesión alternativos", -"Thank you for your patience." => "Gracies pola to paciencia." +"Thank you for your patience." => "Gracies pola to paciencia.", +"Updating ownCloud to version %s, this may take a while." => "Anovando ownCloud a la versión %s, esto pue tardar un pocoñín" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/core/l10n/el.php b/core/l10n/el.php index fc754d9309f..32c89a4a05c 100644 --- a/core/l10n/el.php +++ b/core/l10n/el.php @@ -76,6 +76,7 @@ $TRANSLATIONS = array( "The public link will expire no later than {days} days after it is created" => "Ο δημόσιος σύνδεσμος θα απενεργοποιηθεί το πολύ {days} ημέρες μετά την δημιουργία του", "By default the public link will expire after {days} days" => "Ο δημόσιος σύνδεσμος θα απενεργοποιηθεί ερήμην μετά από {days} ημέρες", "Password protect" => "Προστασία συνθηματικού", +"Choose a password for the public link" => "Επιλέξτε κωδικό για τον δημόσιο σύνδεσμο", "Allow Public Upload" => "Επιτρέπεται η Δημόσια Αποστολή", "Email link to person" => "Αποστολή συνδέσμου με email ", "Send" => "Αποστολή", diff --git a/core/l10n/hu_HU.php b/core/l10n/hu_HU.php index b1e8bf98e55..3ced1f3bc55 100644 --- a/core/l10n/hu_HU.php +++ b/core/l10n/hu_HU.php @@ -4,11 +4,11 @@ $TRANSLATIONS = array( "Couldn't send mail to following users: %s " => "Nem sikerült e-mailt küldeni a következő felhasználóknak: %s", "Turned on maintenance mode" => "A karbantartási mód bekapcsolva", "Turned off maintenance mode" => "A karbantartási mód kikapcsolva", -"Updated database" => "Frissítet adatbázis", +"Updated database" => "Az adatbázis frissítése megtörtént", "No image or file provided" => "Nincs kép vagy file megadva", -"Unknown filetype" => "Ismeretlen file tipús", +"Unknown filetype" => "Ismeretlen fájltípus", "Invalid image" => "Hibás kép", -"No temporary profile picture available, try again" => "Az átmeneti profil kép nem elérhető, próbáld újra", +"No temporary profile picture available, try again" => "Az átmeneti profilkép nem elérhető, próbálja újra", "No crop data provided" => "Vágáshoz nincs adat megadva", "Sunday" => "vasárnap", "Monday" => "hétfő", @@ -50,14 +50,14 @@ $TRANSLATIONS = array( "_{count} file conflict_::_{count} file conflicts_" => array("{count} fájl ütközik","{count} fájl ütközik"), "One file conflict" => "Egy file ütközik", "New Files" => "Új fájlok", -"Already existing files" => "A fájlok már láteznek", -"Which files do you want to keep?" => "Melyik file-okat akarod megtartani?", -"If you select both versions, the copied file will have a number added to its name." => "Ha kiválasztod mindazokaz a verziókat, a másolt fileok neve sorszámozva lesz.", +"Already existing files" => "A fájlok már léteznek", +"Which files do you want to keep?" => "Melyik fájlokat akarja megtartani?", +"If you select both versions, the copied file will have a number added to its name." => "Ha mindkét verziót kiválasztja, a másolt fájlok neve sorszámozva lesz.", "Cancel" => "Mégsem", "Continue" => "Folytatás", "(all selected)" => "(az összes ki lett választva)", "({count} selected)" => "({count} lett kiválasztva)", -"Error loading file exists template" => "Hiba a létező sablon betöltésekor", +"Error loading file exists template" => "Hiba a létezőfájl-sablon betöltésekor", "Very weak password" => "Nagyon gyenge jelszó", "Weak password" => "Gyenge jelszó", "So-so password" => "Nem túl jó jelszó", @@ -73,7 +73,10 @@ $TRANSLATIONS = array( "Shared with you by {owner}" => "Megosztotta Önnel: {owner}", "Share with user or group …" => "Megosztani egy felhasználóval vagy csoporttal ...", "Share link" => "Megosztás hivatkozással", +"The public link will expire no later than {days} days after it is created" => "A nyilvános link érvényessége legkorábban {days} nappal a létrehozása után jár csak le", +"By default the public link will expire after {days} days" => "A nyilvános link érvényessége alapértelmezetten {days} nap múlva jár le", "Password protect" => "Jelszóval is védem", +"Choose a password for the public link" => "Válasszon egy jelszót a nyilvános linkhez", "Allow Public Upload" => "Feltöltést is engedélyezek", "Email link to person" => "Email címre küldjük el", "Send" => "Küldjük el", @@ -105,7 +108,7 @@ $TRANSLATIONS = array( "Edit tags" => "Címkék szerkesztése", "Error loading dialog template: {error}" => "Hiba a párbeszédpanel-sablon betöltésekor: {error}", "No tags selected for deletion." => "Nincs törlésre kijelölt címke.", -"Please reload the page." => "Kérlek tölts be újra az oldalt", +"Please reload the page." => "Kérjük frissítse az oldalt!", "The update was unsuccessful. Please report this issue to the <a href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud community</a>." => "A frissítés nem sikerült. Kérem értesítse erről a problémáról az <a href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud közösséget</a>.", "The update was successful. Redirecting you to ownCloud now." => "A frissítés sikeres volt. Visszairányítjuk az ownCloud szolgáltatáshoz.", "%s password reset" => "%s jelszó visszaállítás", @@ -118,7 +121,7 @@ $TRANSLATIONS = array( "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?" => "Az Ön állományai titkosítva vannak. Ha nem engedélyezte korábban az adatok visszanyeréséhez szükséges kulcs használatát, akkor a jelszó megváltoztatását követően nem fog hozzáférni az adataihoz. Ha nem biztos abban, hogy mit kellene tennie, akkor kérdezze meg a rendszergazdát, mielőtt továbbmenne. Biztos, hogy folytatni kívánja?", "Yes, I really want to reset my password now" => "Igen, tényleg meg akarom változtatni a jelszavam", "Reset" => "Visszaállítás", -"Your password was reset" => "Jelszó megváltoztatva", +"Your password was reset" => "A jelszava megváltozott", "To login page" => "A bejelentkező ablakhoz", "New password" => "Az új jelszó", "Reset password" => "Jelszó-visszaállítás", @@ -138,7 +141,7 @@ $TRANSLATIONS = array( "Error unfavoriting" => "Hiba a kedvencekből törléskor", "Access forbidden" => "A hozzáférés nem engedélyezett", "Cloud not found" => "A felhő nem található", -"Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" => "Szia!\\n\n\\n\nÉrtesítünk, hogy %s megosztotta veled a következőt: %s.\\n\nItt tudod megnézni: %s\\n\n\\n", +"Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" => "Üdv!\\n\n\\n\nÉrtesítjük, hogy %s megosztotta Önnel a következőt: %s.\\n\nItt lehet megnézni: %s\\n\n\\n", "The share will expire on %s." => "A megosztás lejár ekkor %s", "Cheers!" => "Üdv.", "Security Warning" => "Biztonsági figyelmeztetés", @@ -150,7 +153,7 @@ $TRANSLATIONS = array( "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." => "A kiszolgáló megfelelő beállításához kérjük olvassa el a <a href=\"%sl\" target=\"_blank\">dokumentációt</a>.", "Create an <strong>admin account</strong>" => "<strong>Rendszergazdai belépés</strong> létrehozása", "Password" => "Jelszó", -"Storage & database" => "Tárolás & adatbázis", +"Storage & database" => "Tárolás és adatbázis", "Data folder" => "Adatkönyvtár", "Configure the database" => "Adatbázis konfigurálása", "will be used" => "adatbázist fogunk használni", @@ -161,7 +164,7 @@ $TRANSLATIONS = array( "Database host" => "Adatbázis szerver", "Finish setup" => "A beállítások befejezése", "Finishing …" => "Befejezés ...", -"This application requires JavaScript to be enabled for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and re-load this interface." => "Az alkalmazás megfelelő működéséhez szükség van JavaScript-re. <a href=\"http://enable-javascript.com/\" target=\"_blank\">Engedélyezd a JavaScript-et</a> és töltsd újra az interfészt.", +"This application requires JavaScript to be enabled for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and re-load this interface." => "Az alkalmazás megfelelő működéséhez szükség van JavaScriptre. <a href=\"http://enable-javascript.com/\" target=\"_blank\">Engedélyezze a JavaScriptet</a> és frissítse az oldalt!", "%s is available. Get more information on how to update." => "%s rendelkezésre áll. További információ a frissítéshez.", "Log out" => "Kilépés", "Automatic logon rejected!" => "Az automatikus bejelentkezés sikertelen!", @@ -173,12 +176,13 @@ $TRANSLATIONS = array( "remember" => "emlékezzen", "Log in" => "Bejelentkezés", "Alternative Logins" => "Alternatív bejelentkezés", -"This ownCloud instance is currently in single user mode." => "Az Owncloud frissítés elezdődött egy felhasználós módban.", +"Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" => "Üdvözöljük!<br><br>\n\nÉrtesítjük, hogy %s megosztotta Önnel ezt az állományt: <strong>%s</strong><br>\n<a href=\"%s\">Itt lehet megnézni!</a><br><br>", +"This ownCloud instance is currently in single user mode." => "Ez az ownCloud szolgáltatás jelenleg egyfelhasználós üzemmódban működik.", "This means only administrators can use the instance." => "Ez azt jelenti, hogy csak az adminisztrátor használhatja ezt a példányt", -"Contact your system administrator if this message persists or appeared unexpectedly." => "Ha ezt az üzenetet már többször látod akkor keresd meg a rendszer adminját.", +"Contact your system administrator if this message persists or appeared unexpectedly." => "Ha ez az üzenet ismételten vagy indokolatlanul megjelenik, akkor keresse a rendszergazda segítségét!", "Thank you for your patience." => "Köszönjük a türelmét.", "Updating ownCloud to version %s, this may take a while." => "Owncloud frissítés a %s verzióra folyamatban. Kis türelmet.", -"This ownCloud instance is currently being updated, which may take a while." => "Az Owncloud frissítés elezdődött, eltarthat egy ideig.", -"Please reload this page after a short time to continue using ownCloud." => "Frissitsd az oldalt ha \"Please reload this page after a short time to continue using ownCloud. \"" +"This ownCloud instance is currently being updated, which may take a while." => "Az ownCloud frissítés elkezdődött, ez eltarthat egy ideig.", +"Please reload this page after a short time to continue using ownCloud." => "Frissitse az oldalt egy kis idő múlva, ha folytatni kívánja az ownCloud használatát." ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/core/lostpassword/css/lostpassword.css b/core/lostpassword/css/lostpassword.css index 85cce9f9407..b7f7023648d 100644 --- a/core/lostpassword/css/lostpassword.css +++ b/core/lostpassword/css/lostpassword.css @@ -1,11 +1,6 @@ #body-login -input[type="text"], -input[type="submit"] { - margin: 5px 0; -} - input[type="text"]#user{ - padding-right: 12px; + padding-right: 20px; padding-left: 41px; } diff --git a/core/lostpassword/templates/lostpassword.php b/core/lostpassword/templates/lostpassword.php index 83a23f7b239..d0fed38ee27 100644 --- a/core/lostpassword/templates/lostpassword.php +++ b/core/lostpassword/templates/lostpassword.php @@ -21,10 +21,10 @@ OCP\Util::addStyle('lostpassword', 'lostpassword'); <label for="user" class="infield"><?php print_unescaped($l->t( 'Username' )); ?></label> <img class="svg" src="<?php print_unescaped(image_path('', 'actions/user.svg')); ?>" alt=""/> <?php if ($_['isEncrypted']): ?> - <br /><br /> - <?php print_unescaped($l->t("Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?")); ?><br /> + <br /> + <p class="warning"><?php print_unescaped($l->t("Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?")); ?><br /> <input type="checkbox" name="continue" value="Yes" /> - <?php print_unescaped($l->t('Yes, I really want to reset my password now')); ?><br/><br/> + <?php print_unescaped($l->t('Yes, I really want to reset my password now')); ?></p> <?php endif; ?> </p> <input type="submit" id="submit" value="<?php print_unescaped($l->t('Reset')); ?>" /> diff --git a/core/register_command.php b/core/register_command.php index f1361c859fc..9ced377bee3 100644 --- a/core/register_command.php +++ b/core/register_command.php @@ -12,8 +12,11 @@ $application->add(new OC\Core\Command\Db\GenerateChangeScript()); $application->add(new OC\Core\Command\Db\ConvertType(OC_Config::getObject(), new \OC\DB\ConnectionFactory())); $application->add(new OC\Core\Command\Upgrade()); $application->add(new OC\Core\Command\Maintenance\SingleUser()); +$application->add(new OC\Core\Command\Maintenance\Mode(OC_Config::getObject())); $application->add(new OC\Core\Command\App\Disable()); $application->add(new OC\Core\Command\App\Enable()); $application->add(new OC\Core\Command\App\ListApps()); $application->add(new OC\Core\Command\Maintenance\Repair(new \OC\Repair())); $application->add(new OC\Core\Command\User\Report()); +$application->add(new OC\Core\Command\User\ResetPassword(\OC::$server->getUserManager())); +$application->add(new OC\Core\Command\User\LastSeen()); diff --git a/core/templates/update.admin.php b/core/templates/update.admin.php index a652d5f195a..a09e2d07bf4 100644 --- a/core/templates/update.admin.php +++ b/core/templates/update.admin.php @@ -1,6 +1,27 @@ -<ul> - <li class='update'> - <?php p($l->t('Updating ownCloud to version %s, this may take a while.', - array($_['version']))); ?><br /><br /> - </li> -</ul> +<div class="update"> + <div class="updateOverview"> + <h2 class="title bold"><?php p($l->t('%s will be updated to version %s.', + array($_['productName'], $_['version']))); ?></h2> + <?php if (!empty($_['appList'])) { ?> + <div class="infogroup"> + <span class="bold"><?php p($l->t('The following apps will be disabled:')) ?></span> + <ul class="content appList"> + <?php foreach ($_['appList'] as $appInfo) { ?> + <li><?php p($appInfo['name']) ?> (<?php p($appInfo['id']) ?>)</li> + <?php } ?> + </ul> + </div> + <?php } ?> + <?php if (!empty($_['oldTheme'])) { ?> + <div class="infogroup bold"> + <?php p($l->t('The theme %s has been disabled.', array($_['oldTheme']))) ?> + </div> + <?php } ?> + <div class="infogroup bold"> + <?php p($l->t('Please make sure that the database, the config folder and the data folder have been backed up before proceeding.')) ?> + </div> + <input class="updateButton" type="button" value="<?php p($l->t('Start update')) ?>"> + </div> + + <div class="updateProgress hidden"></div> +</div> |