summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/composer/composer/autoload_classmap.php2
-rw-r--r--lib/composer/composer/autoload_static.php2
-rw-r--r--lib/l10n/cs.js8
-rw-r--r--lib/l10n/cs.json8
-rw-r--r--lib/l10n/es_MX.js90
-rw-r--r--lib/l10n/es_MX.json90
-rw-r--r--lib/l10n/nb.js14
-rw-r--r--lib/l10n/nb.json14
-rw-r--r--lib/l10n/sq.js8
-rw-r--r--lib/l10n/sq.json8
-rw-r--r--lib/private/Activity/Manager.php17
-rw-r--r--lib/private/CapabilitiesManager.php8
-rw-r--r--lib/private/DB/MigrationService.php13
-rw-r--r--lib/private/Files/Cache/Wrapper/JailPropagator.php44
-rw-r--r--lib/private/Files/Storage/Wrapper/Jail.php13
-rw-r--r--lib/private/Installer.php2
-rw-r--r--lib/private/NavigationManager.php13
-rw-r--r--lib/private/Repair/Owncloud/SaveAccountsTableData.php3
-rw-r--r--lib/private/Security/CertificateManager.php19
-rw-r--r--lib/private/Server.php16
-rw-r--r--lib/private/Share20/Manager.php2
-rw-r--r--lib/private/Share20/ProviderFactory.php16
-rw-r--r--lib/private/SystemConfig.php3
-rw-r--r--lib/private/legacy/template/functions.php6
-rw-r--r--lib/public/Activity/IManager.php12
-rw-r--r--lib/public/Capabilities/IPublicCapability.php32
26 files changed, 340 insertions, 123 deletions
diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php
index 5a8a921f219..74bd83cd20d 100644
--- a/lib/composer/composer/autoload_classmap.php
+++ b/lib/composer/composer/autoload_classmap.php
@@ -66,6 +66,7 @@ return array(
'OCP\\BackgroundJob\\IJob' => $baseDir . '/lib/public/BackgroundJob/IJob.php',
'OCP\\BackgroundJob\\IJobList' => $baseDir . '/lib/public/BackgroundJob/IJobList.php',
'OCP\\Capabilities\\ICapability' => $baseDir . '/lib/public/Capabilities/ICapability.php',
+ 'OCP\\Capabilities\\IPublicCapability' => $baseDir . '/lib/public/Capabilities/IPublicCapability.php',
'OCP\\Command\\IBus' => $baseDir . '/lib/public/Command/IBus.php',
'OCP\\Command\\ICommand' => $baseDir . '/lib/public/Command/ICommand.php',
'OCP\\Comments\\CommentsEntityEvent' => $baseDir . '/lib/public/Comments/CommentsEntityEvent.php',
@@ -571,6 +572,7 @@ return array(
'OC\\Files\\Cache\\Wrapper\\CacheJail' => $baseDir . '/lib/private/Files/Cache/Wrapper/CacheJail.php',
'OC\\Files\\Cache\\Wrapper\\CachePermissionsMask' => $baseDir . '/lib/private/Files/Cache/Wrapper/CachePermissionsMask.php',
'OC\\Files\\Cache\\Wrapper\\CacheWrapper' => $baseDir . '/lib/private/Files/Cache/Wrapper/CacheWrapper.php',
+ 'OC\\Files\\Cache\\Wrapper\\JailPropagator' => $baseDir . '/lib/private/Files/Cache/Wrapper/JailPropagator.php',
'OC\\Files\\Config\\CachedMountInfo' => $baseDir . '/lib/private/Files/Config/CachedMountInfo.php',
'OC\\Files\\Config\\LazyStorageMountInfo' => $baseDir . '/lib/private/Files/Config/LazyStorageMountInfo.php',
'OC\\Files\\Config\\MountProviderCollection' => $baseDir . '/lib/private/Files/Config/MountProviderCollection.php',
diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php
index b4aa6cc322b..79b8214d843 100644
--- a/lib/composer/composer/autoload_static.php
+++ b/lib/composer/composer/autoload_static.php
@@ -96,6 +96,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
'OCP\\BackgroundJob\\IJob' => __DIR__ . '/../../..' . '/lib/public/BackgroundJob/IJob.php',
'OCP\\BackgroundJob\\IJobList' => __DIR__ . '/../../..' . '/lib/public/BackgroundJob/IJobList.php',
'OCP\\Capabilities\\ICapability' => __DIR__ . '/../../..' . '/lib/public/Capabilities/ICapability.php',
+ 'OCP\\Capabilities\\IPublicCapability' => __DIR__ . '/../../..' . '/lib/public/Capabilities/IPublicCapability.php',
'OCP\\Command\\IBus' => __DIR__ . '/../../..' . '/lib/public/Command/IBus.php',
'OCP\\Command\\ICommand' => __DIR__ . '/../../..' . '/lib/public/Command/ICommand.php',
'OCP\\Comments\\CommentsEntityEvent' => __DIR__ . '/../../..' . '/lib/public/Comments/CommentsEntityEvent.php',
@@ -601,6 +602,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
'OC\\Files\\Cache\\Wrapper\\CacheJail' => __DIR__ . '/../../..' . '/lib/private/Files/Cache/Wrapper/CacheJail.php',
'OC\\Files\\Cache\\Wrapper\\CachePermissionsMask' => __DIR__ . '/../../..' . '/lib/private/Files/Cache/Wrapper/CachePermissionsMask.php',
'OC\\Files\\Cache\\Wrapper\\CacheWrapper' => __DIR__ . '/../../..' . '/lib/private/Files/Cache/Wrapper/CacheWrapper.php',
+ 'OC\\Files\\Cache\\Wrapper\\JailPropagator' => __DIR__ . '/../../..' . '/lib/private/Files/Cache/Wrapper/JailPropagator.php',
'OC\\Files\\Config\\CachedMountInfo' => __DIR__ . '/../../..' . '/lib/private/Files/Config/CachedMountInfo.php',
'OC\\Files\\Config\\LazyStorageMountInfo' => __DIR__ . '/../../..' . '/lib/private/Files/Config/LazyStorageMountInfo.php',
'OC\\Files\\Config\\MountProviderCollection' => __DIR__ . '/../../..' . '/lib/private/Files/Config/MountProviderCollection.php',
diff --git a/lib/l10n/cs.js b/lib/l10n/cs.js
index 28212fe11d5..7a09bd8bdbd 100644
--- a/lib/l10n/cs.js
+++ b/lib/l10n/cs.js
@@ -50,6 +50,7 @@ OC.L10N.register(
"This is an automatically sent email, please do not reply." : "Toto je automaticky odesílaný e-mail, prosím, neodpovídejte.",
"Help" : "Nápověda",
"Apps" : "Aplikace",
+ "Settings" : "Nastavení",
"Log out" : "Odhlásit se",
"Users" : "Uživatelé",
"APCu" : "APCu",
@@ -60,6 +61,13 @@ OC.L10N.register(
"Encryption" : "Šifrování",
"Additional settings" : "Dodatečná nastavení",
"Tips & tricks" : "Tipy a triky",
+ "Personal info" : "Osobní informace",
+ "Sync clients" : "Synchronizační klienti",
+ "Unlimited" : "Neomezeně",
+ "__language_name__" : "Česky",
+ "Verifying" : "Ověření",
+ "Verifying …" : "Ověřování …",
+ "Verify" : "Ověřit",
"%s enter the database username and name." : "%s zadejte uživatelské jméno a jméno databáze.",
"%s enter the database username." : "Zadejte uživatelské jméno %s databáze.",
"%s enter the database name." : "Zadejte název databáze pro %s databáze.",
diff --git a/lib/l10n/cs.json b/lib/l10n/cs.json
index 568eef17721..bd5275d2911 100644
--- a/lib/l10n/cs.json
+++ b/lib/l10n/cs.json
@@ -48,6 +48,7 @@
"This is an automatically sent email, please do not reply." : "Toto je automaticky odesílaný e-mail, prosím, neodpovídejte.",
"Help" : "Nápověda",
"Apps" : "Aplikace",
+ "Settings" : "Nastavení",
"Log out" : "Odhlásit se",
"Users" : "Uživatelé",
"APCu" : "APCu",
@@ -58,6 +59,13 @@
"Encryption" : "Šifrování",
"Additional settings" : "Dodatečná nastavení",
"Tips & tricks" : "Tipy a triky",
+ "Personal info" : "Osobní informace",
+ "Sync clients" : "Synchronizační klienti",
+ "Unlimited" : "Neomezeně",
+ "__language_name__" : "Česky",
+ "Verifying" : "Ověření",
+ "Verifying …" : "Ověřování …",
+ "Verify" : "Ověřit",
"%s enter the database username and name." : "%s zadejte uživatelské jméno a jméno databáze.",
"%s enter the database username." : "Zadejte uživatelské jméno %s databáze.",
"%s enter the database name." : "Zadejte název databáze pro %s databáze.",
diff --git a/lib/l10n/es_MX.js b/lib/l10n/es_MX.js
index f538bd153a5..fadde55ce7f 100644
--- a/lib/l10n/es_MX.js
+++ b/lib/l10n/es_MX.js
@@ -2,12 +2,12 @@ OC.L10N.register(
"lib",
{
"Cannot write into \"config\" directory!" : "¡No se puede escribir en el directorio \"config\"!",
- "This can usually be fixed by giving the webserver write access to the config directory" : "Esto generalmente se soluciona dándole al servidor web acceso para escribir en el directorio config. ",
+ "This can usually be fixed by giving the webserver write access to the config directory" : "Esto generalmente se resuelve dándole al servidor web acceso para escribir en el directorio config. ",
"See %s" : "Ver %s",
- "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Favor de ver %s",
- "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Los archivos de la aplicación %$1s no fueron correctamente remplazados. Favor de asegurarse de que la versión sea compatible con el servidor.",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
+ "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Los archivos de la aplicación %$1s no fueron correctamente remplazados. Por favor asegúrarte de que la versión sea compatible con el servidor.",
"Sample configuration detected" : "Se ha detectado la configuración de muestra",
- "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Se ha detectado que la configuración de muestra ha sido copiada. Esto puede descomponer su instalacón y no está soportado. Favor de leer la documentación antes de hacer cambios en el archivo config.php",
+ "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Se ha detectado que la configuración de muestra ha sido copiada. Esto puede arruiniar tu instalacón y no está soportado. Por favor lee la documentación antes de hacer cambios en el archivo config.php",
"%1$s and %2$s" : "%1$s y %2$s",
"%1$s, %2$s and %3$s" : "%1$s, %2$s y %3$s",
"%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s y %4$s",
@@ -15,7 +15,7 @@ OC.L10N.register(
"Enterprise bundle" : "Paquete empresarial",
"Groupware bundle" : "Paquete de Groupware",
"Social sharing bundle" : "Paquete para compartir en redes sociales",
- "PHP %s or higher is required." : "Se requiere de PHPH %s o superior.",
+ "PHP %s or higher is required." : "Se requiere de PHP %s o superior.",
"PHP with a version lower than %s is required." : "PHP con una versión inferiror a la %s es requerido. ",
"%sbit or higher PHP required." : "se requiere PHP para %sbit o superior.",
"Following databases are supported: %s" : "Las siguientes bases de datos están soportadas: %s",
@@ -50,7 +50,8 @@ OC.L10N.register(
"This is an automatically sent email, please do not reply." : "Este es un correo enviado automáticamente, favor de no contestarlo. ",
"Help" : "Ayuda",
"Apps" : "Aplicaciones",
- "Log out" : "Cerrar sesión",
+ "Settings" : "Configuraciones",
+ "Log out" : "Salir",
"Users" : "Usuarios",
"APCu" : "APCu",
"Redis" : "Redis",
@@ -59,42 +60,49 @@ OC.L10N.register(
"Security" : "Seguridad",
"Encryption" : "Encripción",
"Additional settings" : "Configuraciones adicionales",
- "Tips & tricks" : "Consejos y trucos",
- "%s enter the database username and name." : "%s ingrese el nombre del usuario y nombre de la base de datos",
- "%s enter the database username." : "%s ingresar el nombre de usuario de la base de datos.",
+ "Tips & tricks" : "Consejos & trucos",
+ "Personal info" : "Información personal",
+ "Sync clients" : "Sincronizar clientes",
+ "Unlimited" : "Ilimitado",
+ "__language_name__" : "Español (México)",
+ "Verifying" : "Verficando",
+ "Verifying …" : "Verficando ...",
+ "Verify" : "Verificar",
+ "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos",
+ "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
- "%s you may not use dots in the database name" : "%s no puede utilizar puntos en el nombre de la base de datos",
+ "%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
"Oracle connection could not be established" : "No fue posible establecer la conexión a Oracle",
- "Oracle username and/or password not valid" : "El nombre de usuario y/o contraseña de Oracle inválidos",
+ "Oracle username and/or password not valid" : "Usuario y/o contraseña de Oracle inválidos",
"DB Error: \"%s\"" : "Error de BD: \"%s\"",
- "Offending command was: \"%s\"" : "Comando infractor: \"%s\"",
- "You need to enter details of an existing account." : "Necesita ingresar los detalles de una cuenta existente.",
- "Offending command was: \"%s\", name: %s, password: %s" : "Comando infractor: \"%s\", nombre: %s, contraseña: %s",
- "PostgreSQL username and/or password not valid" : "El nombre de usuario y/o contraseña de PostgreSQL inválidos",
+ "Offending command was: \"%s\"" : "El comando infractor fue: \"%s\"",
+ "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.",
+ "Offending command was: \"%s\", name: %s, password: %s" : "El comando infractor fue: \"%s\", nombre: %s, contraseña: %s",
+ "PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Uselo bajo su propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, favor de cosiderar usar en su lugar un servidor GNU/Linux.",
"It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Favor de eliminar el ajuste open_basedir de su archivo php.ini o cambie a PHP de 64 bits. ",
- "Set an admin username." : "Configurar un nombre de usuario del administrador",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
+ "Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Can't create or write into the data directory %s" : "No es posible crear o escribir en el directorio de datos %s",
"Invalid Federated Cloud ID" : "ID de Nube Federada Inválido",
"Sharing %s failed, because the backend does not allow shares from type %i" : "Se presentó una falla al compartir %s, porque el backend no permite elementos compartidos de tipo %i",
"Sharing %s failed, because the file does not exist" : "Se presentó una falla al compartir %s porque el archivo no existe",
- "You are not allowed to share %s" : "No tiene permitido compartir %s",
- "Sharing %s failed, because you can not share with yourself" : "Se presento una falla al compartir %s, porque no puede compartir con usted mismo",
+ "You are not allowed to share %s" : "No tienes permitido compartir %s",
+ "Sharing %s failed, because you can not share with yourself" : "Se presentó una falla al compartir %s, porque no puedes compartir contigo mismo",
"Sharing %s failed, because the user %s does not exist" : "Se presentó una falla al compartir %s porque el usuario %s no existe",
- "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Se presentó una falla al compartir %s proque el usuario %s no es un miembro de ninguno de los grupos de los cuales %s es miembro",
- "Sharing %s failed, because this item is already shared with %s" : "Se presento una falla al compartir %s, porque este elemento ya ha sido compartido con %s",
+ "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Se presentó una falla al compartir %s porque el usuario %s no es un miembro de ninguno de los grupos de los cuales %s es miembro",
+ "Sharing %s failed, because this item is already shared with %s" : "Se presentó una falla al compartir %s, porque este elemento ya había sido compartido con %s",
"Sharing %s failed, because this item is already shared with user %s" : "Se presento una falla al compartir %s, porque este elemento ya ha sido compartido con el usuario %s",
"Sharing %s failed, because the group %s does not exist" : "Se presentó una falla al compartir %s, porque el grupo %s no existe",
"Sharing %s failed, because %s is not a member of the group %s" : "Se presentó una falla al compartir %s debido a que %s no es un miembro del grupo %s",
- "You need to provide a password to create a public link, only protected links are allowed" : "Usted necesita proporcionar una contraseña para crear una liga pública, sólo las ligas protegidas están permitidas. ",
+ "You need to provide a password to create a public link, only protected links are allowed" : "Necesitas proporcionar una contraseña para crear una liga pública, sólo se permiten ligas protegidas. ",
"Sharing %s failed, because sharing with links is not allowed" : "Se presentó una falla al compartir %s porque no está permitido compartir con ligas",
"Not allowed to create a federated share with the same user" : "No está permitido crear un elemento compartido federado con el mismo usuario",
"Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Se presentó una falla al compartir %s, no fue posible encontrar %s, tal vez el servidor sea inalcanzable por el momento",
"Share type %s is not valid for %s" : "El tipo del elemento compartido %s no es válido para %s",
- "Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "Se persentó una falla al establecer los permisos para %s, porque los permisos exceden los permisos otorgados a %s",
+ "Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "Se presentó una falla al establecer los permisos para %s, porque los permisos exceden los permisos otorgados a %s",
"Setting permissions for %s failed, because the item was not found" : "Se persentó una falla al establecer los permisos para %s, porque no se encontró el elemento ",
"Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "No ha sido posible establecer la fecha de expiración. Los recursos compartidos no pueden expirar después de %s tras haber sido compartidos",
"Cannot set expiration date. Expiration date is in the past" : "No ha sido posible establecer la fecha de expiración. La fecha de expiración ya ha pasado",
@@ -110,7 +118,7 @@ OC.L10N.register(
"Can’t increase permissions of %s" : "No es posible incrementar los privilegios de %s",
"Files can’t be shared with delete permissions" : "Los archivos no se pueden compartir con permisos de borrado",
"Files can’t be shared with create permissions" : "Los archivos no se pueden compartir con permisos de creación",
- "Expiration date is in the past" : "La fecha de expiración ya ha pasado",
+ "Expiration date is in the past" : "La fecha de expiración se encuentra en el pasado",
"Can’t set expiration date more than %s days in the future" : "No es posible establecer la fecha de expiración más allá de %s días en el futuro",
"The requested share does not exist anymore" : "El recurso compartido solicitado ya no existe",
"Could not find category \"%s\"" : "No fue posible encontrar la categoria \"%s\"",
@@ -160,27 +168,27 @@ OC.L10N.register(
"Nov." : "Nov.",
"Dec." : "Dic.",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el nombre de usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
- "A valid username must be provided" : "Se debe proporcionar un nombre de usuario válido",
- "Username contains whitespace at the beginning or at the end" : "El nombre del usuario contiene un espacio en blanco al inicio o al final",
- "Username must not consist of dots only" : "El nombre de usuario no debe consistir de solo puntos. ",
+ "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
+ "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
+ "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
"A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese nombre de usuario ya está en uso",
+ "The username is already being used" : "Ese usuario ya está en uso",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"No app name specified" : "No se ha especificado el nombre de la aplicación",
- "App '%s' could not be installed!" : "¡La aplicación \"%s\" no puede ser instalada!",
+ "App '%s' could not be installed!" : "¡La aplicación \"%s\" no pudo ser instalada!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "La aplicación \"%s\" no puede ser instalada porque las siguientes dependencias no están satisfechas: %s ",
- "a safe home for all your data" : "un lugar seguro para todos sus datos",
- "File is currently busy, please try again later" : "El archivo se encuentra actualmente en uso, favor de intentarlo más tarde. ",
+ "a safe home for all your data" : "un lugar seguro para todos tus datos",
+ "File is currently busy, please try again later" : "El archivo se encuentra actualmente en uso, por favor intentalo más tarde. ",
"Can't read file" : "No se puede leer el archivo",
"Application is not enabled" : "La aplicación está deshabilitada",
"Authentication error" : "Error de autenticación",
- "Token expired. Please reload page." : "La ficha ha expirado. Favor de recarga la página.",
+ "Token expired. Please reload page." : "La ficha ha expirado. Por favor recarga la página.",
"Unknown user" : "Ususario desconocido",
"No database drivers (sqlite, mysql, or postgresql) installed." : "No cuenta con controladores de base de datos (sqlite, mysql o postgresql) instalados. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
- "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio de las aplicaciones o deshabilitando la appstore en el archivo config. Favor de ver %s",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio de las aplicaciones o deshabilitando la appstore en el archivo config. Por favor ve %s",
"Cannot create \"data\" directory" : "No fue posible crear el directorio \"data\"",
"This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio raíz. Favor de ver %s",
"Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Por lo general los permisos se pueden corregir al darle al servidor web acceso de escritura al directorio raíz. Favor de ver %s.",
@@ -201,22 +209,22 @@ OC.L10N.register(
"PostgreSQL >= 9 required" : "Se requiere PostgreSQL >= 9",
"Please upgrade your database version" : "Favor de actualizar la versión de la base de datos",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Favor de cambiar los permisos a 0770 para que el directorio no pueda ser enlistado por otros usuarios. ",
- "Your data directory is readable by other users" : "Su direcctorio data puede ser leído por otros usuarios",
- "Your data directory must be an absolute path" : "Su direcctorio data debe ser una ruta absoluta",
- "Check the value of \"datadirectory\" in your configuration" : "Verifique el valor de \"datadirectory\" en su configuración",
- "Your data directory is invalid" : "Su directorio de datos es inválido",
+ "Your data directory is readable by other users" : "Tu direcctorio data puede ser leído por otros usuarios",
+ "Your data directory must be an absolute path" : "Tu directorio data debe ser una ruta absoluta",
+ "Check the value of \"datadirectory\" in your configuration" : "Verifica el valor de \"datadirectory\" en tu configuración",
+ "Your data directory is invalid" : "Tu directorio de datos es inválido",
"Ensure there is a file called \".ocdata\" in the root of the data directory." : "Asegurate de que exista una archivo llamado \".ocdata\" en la raíz del directorio de datos. ",
"Could not obtain lock type %d on \"%s\"." : "No fue posible obtener el tipo de bloqueo %d en \"%s\". ",
"Storage unauthorized. %s" : "Almacenamiento no autorizado. %s",
"Storage incomplete configuration. %s" : "Configuración incompleta del almacenamiento. %s",
"Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s",
"Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible",
- "Storage connection timeout. %s" : "Se agotó el tiempo de conexión del almacenamiento. %s",
+ "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s",
"This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "Esto generalmente se soluciona %s dándole al servidor web acceso para escribir en el directorio config %s.",
"Module with id: %s does not exist. Please enable it in your apps settings or contact your administrator." : "El módulo con id: %s no existe. Favor de habilitarlo en sus configuraciones de aplicación o contacte a su administrador. ",
"Server settings" : "Configuraciones del servidor",
- "You need to enter either an existing account or the administrator." : "Necesita ingresar una cuenta ya sea existente o la del administrador.",
- "%s shared »%s« with you" : "%s ha compartido »%s« con usted",
+ "You need to enter either an existing account or the administrator." : "Necesitas ingresar una cuenta ya existente o la del administrador.",
+ "%s shared »%s« with you" : "%s ha compartido »%s« contigo",
"%s via %s" : "%s por %s",
"Cannot increase permissions of %s" : "No se pueden incrementar los permisos de %s",
"Files can't be shared with delete permissions" : "No es posible compartir archivos con permisos de borrado",
@@ -225,7 +233,7 @@ OC.L10N.register(
"Personal" : "Personal",
"Admin" : "Administración",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Esto se puede arreglar por %s al darle acceso de escritura al servidor web al directorio de las aplicaciones %s o al deshabilitar la tienda de aplicaciones en el archivo de configuración",
- "Cannot create \"data\" directory (%s)" : "No fue posible crear el directorio (%s)",
+ "Cannot create \"data\" directory (%s)" : "No fue posible crear el directorio de \"datos\" (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Esto se puede arreglar generalmente al <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">darle al servidor web accesos al directorio raíz</a>.",
"Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Los permisos se pueden arreglar generalmente al %s darle al servidor web accesos al direcotiro raíz %s.",
"Data directory (%s) is readable by other users" : "El directorio de datos (%s) puede ser leído por otros usuarios",
diff --git a/lib/l10n/es_MX.json b/lib/l10n/es_MX.json
index c8c71258b5b..c9738b44cf7 100644
--- a/lib/l10n/es_MX.json
+++ b/lib/l10n/es_MX.json
@@ -1,11 +1,11 @@
{ "translations": {
"Cannot write into \"config\" directory!" : "¡No se puede escribir en el directorio \"config\"!",
- "This can usually be fixed by giving the webserver write access to the config directory" : "Esto generalmente se soluciona dándole al servidor web acceso para escribir en el directorio config. ",
+ "This can usually be fixed by giving the webserver write access to the config directory" : "Esto generalmente se resuelve dándole al servidor web acceso para escribir en el directorio config. ",
"See %s" : "Ver %s",
- "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Favor de ver %s",
- "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Los archivos de la aplicación %$1s no fueron correctamente remplazados. Favor de asegurarse de que la versión sea compatible con el servidor.",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Por favor ve %s",
+ "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Los archivos de la aplicación %$1s no fueron correctamente remplazados. Por favor asegúrarte de que la versión sea compatible con el servidor.",
"Sample configuration detected" : "Se ha detectado la configuración de muestra",
- "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Se ha detectado que la configuración de muestra ha sido copiada. Esto puede descomponer su instalacón y no está soportado. Favor de leer la documentación antes de hacer cambios en el archivo config.php",
+ "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Se ha detectado que la configuración de muestra ha sido copiada. Esto puede arruiniar tu instalacón y no está soportado. Por favor lee la documentación antes de hacer cambios en el archivo config.php",
"%1$s and %2$s" : "%1$s y %2$s",
"%1$s, %2$s and %3$s" : "%1$s, %2$s y %3$s",
"%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s y %4$s",
@@ -13,7 +13,7 @@
"Enterprise bundle" : "Paquete empresarial",
"Groupware bundle" : "Paquete de Groupware",
"Social sharing bundle" : "Paquete para compartir en redes sociales",
- "PHP %s or higher is required." : "Se requiere de PHPH %s o superior.",
+ "PHP %s or higher is required." : "Se requiere de PHP %s o superior.",
"PHP with a version lower than %s is required." : "PHP con una versión inferiror a la %s es requerido. ",
"%sbit or higher PHP required." : "se requiere PHP para %sbit o superior.",
"Following databases are supported: %s" : "Las siguientes bases de datos están soportadas: %s",
@@ -48,7 +48,8 @@
"This is an automatically sent email, please do not reply." : "Este es un correo enviado automáticamente, favor de no contestarlo. ",
"Help" : "Ayuda",
"Apps" : "Aplicaciones",
- "Log out" : "Cerrar sesión",
+ "Settings" : "Configuraciones",
+ "Log out" : "Salir",
"Users" : "Usuarios",
"APCu" : "APCu",
"Redis" : "Redis",
@@ -57,42 +58,49 @@
"Security" : "Seguridad",
"Encryption" : "Encripción",
"Additional settings" : "Configuraciones adicionales",
- "Tips & tricks" : "Consejos y trucos",
- "%s enter the database username and name." : "%s ingrese el nombre del usuario y nombre de la base de datos",
- "%s enter the database username." : "%s ingresar el nombre de usuario de la base de datos.",
+ "Tips & tricks" : "Consejos & trucos",
+ "Personal info" : "Información personal",
+ "Sync clients" : "Sincronizar clientes",
+ "Unlimited" : "Ilimitado",
+ "__language_name__" : "Español (México)",
+ "Verifying" : "Verficando",
+ "Verifying …" : "Verficando ...",
+ "Verify" : "Verificar",
+ "%s enter the database username and name." : "%s ingresa el usuario y nombre de la base de datos",
+ "%s enter the database username." : "%s ingresa el nombre de usuario de la base de datos.",
"%s enter the database name." : "%s ingresar el nombre de la base de datos",
- "%s you may not use dots in the database name" : "%s no puede utilizar puntos en el nombre de la base de datos",
+ "%s you may not use dots in the database name" : "%s no puedes utilizar puntos en el nombre de la base de datos",
"Oracle connection could not be established" : "No fue posible establecer la conexión a Oracle",
- "Oracle username and/or password not valid" : "El nombre de usuario y/o contraseña de Oracle inválidos",
+ "Oracle username and/or password not valid" : "Usuario y/o contraseña de Oracle inválidos",
"DB Error: \"%s\"" : "Error de BD: \"%s\"",
- "Offending command was: \"%s\"" : "Comando infractor: \"%s\"",
- "You need to enter details of an existing account." : "Necesita ingresar los detalles de una cuenta existente.",
- "Offending command was: \"%s\", name: %s, password: %s" : "Comando infractor: \"%s\", nombre: %s, contraseña: %s",
- "PostgreSQL username and/or password not valid" : "El nombre de usuario y/o contraseña de PostgreSQL inválidos",
+ "Offending command was: \"%s\"" : "El comando infractor fue: \"%s\"",
+ "You need to enter details of an existing account." : "Necesitas ingresar los detalles de una cuenta existente.",
+ "Offending command was: \"%s\", name: %s, password: %s" : "El comando infractor fue: \"%s\", nombre: %s, contraseña: %s",
+ "PostgreSQL username and/or password not valid" : "El Usuario y/o Contraseña de PostgreSQL inválido(s)",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "OS X de Mac no está soportado y %s no funcionará correctamente en esta plataforma ¡Uselo bajo su propio riesgo!",
"For the best results, please consider using a GNU/Linux server instead." : "Para mejores resultados, favor de cosiderar usar en su lugar un servidor GNU/Linux.",
"It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Al parecer esta instancia %s está corriendo en un ambiente PHP de 32-bits y el open_basedir ha sido configurado en el archivo php.ini. Esto generará problemas con archivos de más de 4GB de tamaño y es altamente desalentado. ",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Favor de eliminar el ajuste open_basedir de su archivo php.ini o cambie a PHP de 64 bits. ",
- "Set an admin username." : "Configurar un nombre de usuario del administrador",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimina el ajuste open_basedir de tu archivo php.ini o cambia a PHP de 64 bits. ",
+ "Set an admin username." : "Establecer un Usuario administrador",
"Set an admin password." : "Establecer la contraseña del administrador.",
"Can't create or write into the data directory %s" : "No es posible crear o escribir en el directorio de datos %s",
"Invalid Federated Cloud ID" : "ID de Nube Federada Inválido",
"Sharing %s failed, because the backend does not allow shares from type %i" : "Se presentó una falla al compartir %s, porque el backend no permite elementos compartidos de tipo %i",
"Sharing %s failed, because the file does not exist" : "Se presentó una falla al compartir %s porque el archivo no existe",
- "You are not allowed to share %s" : "No tiene permitido compartir %s",
- "Sharing %s failed, because you can not share with yourself" : "Se presento una falla al compartir %s, porque no puede compartir con usted mismo",
+ "You are not allowed to share %s" : "No tienes permitido compartir %s",
+ "Sharing %s failed, because you can not share with yourself" : "Se presentó una falla al compartir %s, porque no puedes compartir contigo mismo",
"Sharing %s failed, because the user %s does not exist" : "Se presentó una falla al compartir %s porque el usuario %s no existe",
- "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Se presentó una falla al compartir %s proque el usuario %s no es un miembro de ninguno de los grupos de los cuales %s es miembro",
- "Sharing %s failed, because this item is already shared with %s" : "Se presento una falla al compartir %s, porque este elemento ya ha sido compartido con %s",
+ "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Se presentó una falla al compartir %s porque el usuario %s no es un miembro de ninguno de los grupos de los cuales %s es miembro",
+ "Sharing %s failed, because this item is already shared with %s" : "Se presentó una falla al compartir %s, porque este elemento ya había sido compartido con %s",
"Sharing %s failed, because this item is already shared with user %s" : "Se presento una falla al compartir %s, porque este elemento ya ha sido compartido con el usuario %s",
"Sharing %s failed, because the group %s does not exist" : "Se presentó una falla al compartir %s, porque el grupo %s no existe",
"Sharing %s failed, because %s is not a member of the group %s" : "Se presentó una falla al compartir %s debido a que %s no es un miembro del grupo %s",
- "You need to provide a password to create a public link, only protected links are allowed" : "Usted necesita proporcionar una contraseña para crear una liga pública, sólo las ligas protegidas están permitidas. ",
+ "You need to provide a password to create a public link, only protected links are allowed" : "Necesitas proporcionar una contraseña para crear una liga pública, sólo se permiten ligas protegidas. ",
"Sharing %s failed, because sharing with links is not allowed" : "Se presentó una falla al compartir %s porque no está permitido compartir con ligas",
"Not allowed to create a federated share with the same user" : "No está permitido crear un elemento compartido federado con el mismo usuario",
"Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Se presentó una falla al compartir %s, no fue posible encontrar %s, tal vez el servidor sea inalcanzable por el momento",
"Share type %s is not valid for %s" : "El tipo del elemento compartido %s no es válido para %s",
- "Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "Se persentó una falla al establecer los permisos para %s, porque los permisos exceden los permisos otorgados a %s",
+ "Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "Se presentó una falla al establecer los permisos para %s, porque los permisos exceden los permisos otorgados a %s",
"Setting permissions for %s failed, because the item was not found" : "Se persentó una falla al establecer los permisos para %s, porque no se encontró el elemento ",
"Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "No ha sido posible establecer la fecha de expiración. Los recursos compartidos no pueden expirar después de %s tras haber sido compartidos",
"Cannot set expiration date. Expiration date is in the past" : "No ha sido posible establecer la fecha de expiración. La fecha de expiración ya ha pasado",
@@ -108,7 +116,7 @@
"Can’t increase permissions of %s" : "No es posible incrementar los privilegios de %s",
"Files can’t be shared with delete permissions" : "Los archivos no se pueden compartir con permisos de borrado",
"Files can’t be shared with create permissions" : "Los archivos no se pueden compartir con permisos de creación",
- "Expiration date is in the past" : "La fecha de expiración ya ha pasado",
+ "Expiration date is in the past" : "La fecha de expiración se encuentra en el pasado",
"Can’t set expiration date more than %s days in the future" : "No es posible establecer la fecha de expiración más allá de %s días en el futuro",
"The requested share does not exist anymore" : "El recurso compartido solicitado ya no existe",
"Could not find category \"%s\"" : "No fue posible encontrar la categoria \"%s\"",
@@ -158,27 +166,27 @@
"Nov." : "Nov.",
"Dec." : "Dic.",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Sólo se permiten los siguientes caracteres en el nombre de usuario: \"a-z\", \"A-Z\", \"0-9\" y \"_.@-'\"",
- "A valid username must be provided" : "Se debe proporcionar un nombre de usuario válido",
- "Username contains whitespace at the beginning or at the end" : "El nombre del usuario contiene un espacio en blanco al inicio o al final",
- "Username must not consist of dots only" : "El nombre de usuario no debe consistir de solo puntos. ",
+ "A valid username must be provided" : "Debes proporcionar un nombre de usuario válido",
+ "Username contains whitespace at the beginning or at the end" : "El usuario contiene un espacio en blanco al inicio o al final",
+ "Username must not consist of dots only" : "El usuario no debe consistir de solo puntos. ",
"A valid password must be provided" : "Se debe proporcionar una contraseña válida",
- "The username is already being used" : "Ese nombre de usuario ya está en uso",
+ "The username is already being used" : "Ese usuario ya está en uso",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
"No app name specified" : "No se ha especificado el nombre de la aplicación",
- "App '%s' could not be installed!" : "¡La aplicación \"%s\" no puede ser instalada!",
+ "App '%s' could not be installed!" : "¡La aplicación \"%s\" no pudo ser instalada!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "La aplicación \"%s\" no puede ser instalada porque las siguientes dependencias no están satisfechas: %s ",
- "a safe home for all your data" : "un lugar seguro para todos sus datos",
- "File is currently busy, please try again later" : "El archivo se encuentra actualmente en uso, favor de intentarlo más tarde. ",
+ "a safe home for all your data" : "un lugar seguro para todos tus datos",
+ "File is currently busy, please try again later" : "El archivo se encuentra actualmente en uso, por favor intentalo más tarde. ",
"Can't read file" : "No se puede leer el archivo",
"Application is not enabled" : "La aplicación está deshabilitada",
"Authentication error" : "Error de autenticación",
- "Token expired. Please reload page." : "La ficha ha expirado. Favor de recarga la página.",
+ "Token expired. Please reload page." : "La ficha ha expirado. Por favor recarga la página.",
"Unknown user" : "Ususario desconocido",
"No database drivers (sqlite, mysql, or postgresql) installed." : "No cuenta con controladores de base de datos (sqlite, mysql o postgresql) instalados. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
- "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio de las aplicaciones o deshabilitando la appstore en el archivo config. Favor de ver %s",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio de las aplicaciones o deshabilitando la appstore en el archivo config. Por favor ve %s",
"Cannot create \"data\" directory" : "No fue posible crear el directorio \"data\"",
"This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio raíz. Favor de ver %s",
"Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Por lo general los permisos se pueden corregir al darle al servidor web acceso de escritura al directorio raíz. Favor de ver %s.",
@@ -199,22 +207,22 @@
"PostgreSQL >= 9 required" : "Se requiere PostgreSQL >= 9",
"Please upgrade your database version" : "Favor de actualizar la versión de la base de datos",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Favor de cambiar los permisos a 0770 para que el directorio no pueda ser enlistado por otros usuarios. ",
- "Your data directory is readable by other users" : "Su direcctorio data puede ser leído por otros usuarios",
- "Your data directory must be an absolute path" : "Su direcctorio data debe ser una ruta absoluta",
- "Check the value of \"datadirectory\" in your configuration" : "Verifique el valor de \"datadirectory\" en su configuración",
- "Your data directory is invalid" : "Su directorio de datos es inválido",
+ "Your data directory is readable by other users" : "Tu direcctorio data puede ser leído por otros usuarios",
+ "Your data directory must be an absolute path" : "Tu directorio data debe ser una ruta absoluta",
+ "Check the value of \"datadirectory\" in your configuration" : "Verifica el valor de \"datadirectory\" en tu configuración",
+ "Your data directory is invalid" : "Tu directorio de datos es inválido",
"Ensure there is a file called \".ocdata\" in the root of the data directory." : "Asegurate de que exista una archivo llamado \".ocdata\" en la raíz del directorio de datos. ",
"Could not obtain lock type %d on \"%s\"." : "No fue posible obtener el tipo de bloqueo %d en \"%s\". ",
"Storage unauthorized. %s" : "Almacenamiento no autorizado. %s",
"Storage incomplete configuration. %s" : "Configuración incompleta del almacenamiento. %s",
"Storage connection error. %s" : "Se presentó un error con la conexión al almacenamiento. %s",
"Storage is temporarily not available" : "El almacenamieto se encuentra temporalmente no disponible",
- "Storage connection timeout. %s" : "Se agotó el tiempo de conexión del almacenamiento. %s",
+ "Storage connection timeout. %s" : "El tiempo de la conexión del almacenamiento se agotó. %s",
"This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "Esto generalmente se soluciona %s dándole al servidor web acceso para escribir en el directorio config %s.",
"Module with id: %s does not exist. Please enable it in your apps settings or contact your administrator." : "El módulo con id: %s no existe. Favor de habilitarlo en sus configuraciones de aplicación o contacte a su administrador. ",
"Server settings" : "Configuraciones del servidor",
- "You need to enter either an existing account or the administrator." : "Necesita ingresar una cuenta ya sea existente o la del administrador.",
- "%s shared »%s« with you" : "%s ha compartido »%s« con usted",
+ "You need to enter either an existing account or the administrator." : "Necesitas ingresar una cuenta ya existente o la del administrador.",
+ "%s shared »%s« with you" : "%s ha compartido »%s« contigo",
"%s via %s" : "%s por %s",
"Cannot increase permissions of %s" : "No se pueden incrementar los permisos de %s",
"Files can't be shared with delete permissions" : "No es posible compartir archivos con permisos de borrado",
@@ -223,7 +231,7 @@
"Personal" : "Personal",
"Admin" : "Administración",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Esto se puede arreglar por %s al darle acceso de escritura al servidor web al directorio de las aplicaciones %s o al deshabilitar la tienda de aplicaciones en el archivo de configuración",
- "Cannot create \"data\" directory (%s)" : "No fue posible crear el directorio (%s)",
+ "Cannot create \"data\" directory (%s)" : "No fue posible crear el directorio de \"datos\" (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Esto se puede arreglar generalmente al <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">darle al servidor web accesos al directorio raíz</a>.",
"Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Los permisos se pueden arreglar generalmente al %s darle al servidor web accesos al direcotiro raíz %s.",
"Data directory (%s) is readable by other users" : "El directorio de datos (%s) puede ser leído por otros usuarios",
diff --git a/lib/l10n/nb.js b/lib/l10n/nb.js
index 38fd0ddd720..ec86a04be47 100644
--- a/lib/l10n/nb.js
+++ b/lib/l10n/nb.js
@@ -45,8 +45,8 @@ OC.L10N.register(
"File name is too long" : "Filnavnet er for langt",
"Dot files are not allowed" : "Punktum-filer er ikke tillatt",
"Empty filename is not allowed" : "Tomt filnavn er ikke tillatt",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Appen \"%s\" kan ikke installeres på grunn av at appinfo filen ikke kan leses.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Appen \"%s\" kan ikke installere fordi den ikke er kompatibel med denne tjenerversjonen.",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Programmet \"%s\" kan ikke installeres på grunn av at appinfo-filen ikke kan leses.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Programmet \"%s\" kan ikke installere fordi det ikke er kompatibel med denne tjenerversjonen.",
"This is an automatically sent email, please do not reply." : "Dette er en automatisk sendt e-post, ikke svar.",
"Help" : "Hjelp",
"Apps" : "Programmer",
@@ -175,13 +175,13 @@ OC.L10N.register(
"The username is already being used" : "Brukernavnet er allerede i bruk",
"User disabled" : "Brukeren er deaktivert",
"Login canceled by app" : "Innlogging avbrutt av app",
- "No app name specified" : "Intet app-navn spesifisert",
- "App '%s' could not be installed!" : "Appen '%s' kunne ikke installeres!",
+ "No app name specified" : "Intet programnavn spesifisert",
+ "App '%s' could not be installed!" : "Programmet '%s' kunne ikke installeres!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Programmet \"%s\" kan ikke installeres fordi følgende avhengigheter ikke er tilfredsstilt: %s",
"a safe home for all your data" : "et sikkert hjem for alle dine data",
"File is currently busy, please try again later" : "Filen er opptatt for øyeblikket, prøv igjen senere",
"Can't read file" : "Kan ikke lese fil",
- "Application is not enabled" : "Applikasjon er ikke påslått",
+ "Application is not enabled" : "Programmet er ikke påslått",
"Authentication error" : "Autentikasjonsfeil",
"Token expired. Please reload page." : "Symbol utløpt. Last inn siden på nytt.",
"Unknown user" : "Ukjent bruker",
@@ -202,7 +202,7 @@ OC.L10N.register(
"To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Sett <code>mbstring.func_overload</code> til <code>0</code> in php.ini for å fikse dette problemet",
"libxml2 2.7.0 is at least required. Currently %s is installed." : "Krever minst libxml2 2.7.0. Per nå er %s installert.",
"To fix this issue update your libxml2 version and restart your web server." : "For å fikse dette problemet, oppdater din libxml2 versjon og omstart vevtjeneren.",
- "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Det ser ut for at PHP er satt opp til å fjerne innebygde doc blocks. Dette gjør at flere av kjerneapplikasjonene blir utilgjengelige.",
+ "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Det ser ut til at at PHP er satt opp til å fjerne innebygde doc-blokker. Dette gjør at flere av kjerneapplikasjonene blir utilgjengelige.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette forårsakes sannsynligvis av en bufrer/akselerator, som f.eks. Zend OPcache eller eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "PHP-moduler har blitt installert, men de listes fortsatt som fraværende?",
"Please ask your server administrator to restart the web server." : "Be tjener-administratoren om å starte vevtjeneren på nytt.",
@@ -232,7 +232,7 @@ OC.L10N.register(
"Cannot set expiration date more than %s days in the future" : "Kan ikke sette utløpsdato mer enn %s dager fram i tid",
"Personal" : "Personlig",
"Admin" : "Admin",
- "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Dette kan vanligvis ordnes ved %så gi vev-tjeneren skrivetilgang til apps-mappen%s eller ved å deaktivere app-butikken i config-filen.",
+ "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Dette kan vanligvis ordnes ved %så gi vev-tjeneren skrivetilgang til program-mappen%s eller ved å deaktivere programbutikken i config-filen.",
"Cannot create \"data\" directory (%s)" : "Kan ikke opprette \"data\"-mappen (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Dette fikses vanligvis ved å <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">gi vevtjeneren skrivetilgang til rotmappen</a>.",
"Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Tillatelser kan vanligvis ordnes ved %så gi vevtjeneren skrivetilgang til rotmappen%s.",
diff --git a/lib/l10n/nb.json b/lib/l10n/nb.json
index 6c9e5645091..06f17fbd8ff 100644
--- a/lib/l10n/nb.json
+++ b/lib/l10n/nb.json
@@ -43,8 +43,8 @@
"File name is too long" : "Filnavnet er for langt",
"Dot files are not allowed" : "Punktum-filer er ikke tillatt",
"Empty filename is not allowed" : "Tomt filnavn er ikke tillatt",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Appen \"%s\" kan ikke installeres på grunn av at appinfo filen ikke kan leses.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Appen \"%s\" kan ikke installere fordi den ikke er kompatibel med denne tjenerversjonen.",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Programmet \"%s\" kan ikke installeres på grunn av at appinfo-filen ikke kan leses.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Programmet \"%s\" kan ikke installere fordi det ikke er kompatibel med denne tjenerversjonen.",
"This is an automatically sent email, please do not reply." : "Dette er en automatisk sendt e-post, ikke svar.",
"Help" : "Hjelp",
"Apps" : "Programmer",
@@ -173,13 +173,13 @@
"The username is already being used" : "Brukernavnet er allerede i bruk",
"User disabled" : "Brukeren er deaktivert",
"Login canceled by app" : "Innlogging avbrutt av app",
- "No app name specified" : "Intet app-navn spesifisert",
- "App '%s' could not be installed!" : "Appen '%s' kunne ikke installeres!",
+ "No app name specified" : "Intet programnavn spesifisert",
+ "App '%s' could not be installed!" : "Programmet '%s' kunne ikke installeres!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Programmet \"%s\" kan ikke installeres fordi følgende avhengigheter ikke er tilfredsstilt: %s",
"a safe home for all your data" : "et sikkert hjem for alle dine data",
"File is currently busy, please try again later" : "Filen er opptatt for øyeblikket, prøv igjen senere",
"Can't read file" : "Kan ikke lese fil",
- "Application is not enabled" : "Applikasjon er ikke påslått",
+ "Application is not enabled" : "Programmet er ikke påslått",
"Authentication error" : "Autentikasjonsfeil",
"Token expired. Please reload page." : "Symbol utløpt. Last inn siden på nytt.",
"Unknown user" : "Ukjent bruker",
@@ -200,7 +200,7 @@
"To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Sett <code>mbstring.func_overload</code> til <code>0</code> in php.ini for å fikse dette problemet",
"libxml2 2.7.0 is at least required. Currently %s is installed." : "Krever minst libxml2 2.7.0. Per nå er %s installert.",
"To fix this issue update your libxml2 version and restart your web server." : "For å fikse dette problemet, oppdater din libxml2 versjon og omstart vevtjeneren.",
- "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Det ser ut for at PHP er satt opp til å fjerne innebygde doc blocks. Dette gjør at flere av kjerneapplikasjonene blir utilgjengelige.",
+ "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "Det ser ut til at at PHP er satt opp til å fjerne innebygde doc-blokker. Dette gjør at flere av kjerneapplikasjonene blir utilgjengelige.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette forårsakes sannsynligvis av en bufrer/akselerator, som f.eks. Zend OPcache eller eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "PHP-moduler har blitt installert, men de listes fortsatt som fraværende?",
"Please ask your server administrator to restart the web server." : "Be tjener-administratoren om å starte vevtjeneren på nytt.",
@@ -230,7 +230,7 @@
"Cannot set expiration date more than %s days in the future" : "Kan ikke sette utløpsdato mer enn %s dager fram i tid",
"Personal" : "Personlig",
"Admin" : "Admin",
- "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Dette kan vanligvis ordnes ved %så gi vev-tjeneren skrivetilgang til apps-mappen%s eller ved å deaktivere app-butikken i config-filen.",
+ "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Dette kan vanligvis ordnes ved %så gi vev-tjeneren skrivetilgang til program-mappen%s eller ved å deaktivere programbutikken i config-filen.",
"Cannot create \"data\" directory (%s)" : "Kan ikke opprette \"data\"-mappen (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Dette fikses vanligvis ved å <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">gi vevtjeneren skrivetilgang til rotmappen</a>.",
"Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Tillatelser kan vanligvis ordnes ved %så gi vevtjeneren skrivetilgang til rotmappen%s.",
diff --git a/lib/l10n/sq.js b/lib/l10n/sq.js
index b7430aee5d9..72df40ab6bc 100644
--- a/lib/l10n/sq.js
+++ b/lib/l10n/sq.js
@@ -42,15 +42,23 @@ OC.L10N.register(
"Empty filename is not allowed" : "Nuk lejohen emra të zbrazët kartelash",
"App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikacioni \"%s\" s’mund të instalohet, ngaqë s’lexohet dot kartela appinfo.",
"App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikacioni \"%s\" nuk mund të instalohet sepse nuk përputhet me këtë version të serverit.",
+ "This is an automatically sent email, please do not reply." : "Ky është një email i dërguar automatikisht, ju lutem mos u përgjigjni.",
"Help" : "Ndihmë",
"Apps" : "Aplikacione",
+ "Log out" : "Shkyçu",
"Users" : "Përdorues",
"APCu" : "APCu",
"Redis" : "Redis",
"Sharing" : "Ndarja",
+ "Security" : "Siguria",
"Encryption" : "Enkriptimi",
"Additional settings" : "Konfigurime shtesë",
"Tips & tricks" : "Këshilla dhe rrengje",
+ "Personal info" : "Informacion personal",
+ "Unlimited" : "E pa limituar",
+ "Verifying" : "Duke e verifikuar",
+ "Verifying …" : "Duke e verifikuar ...",
+ "Verify" : "Verifiko",
"%s enter the database username and name." : "%s jepni emrin e bazës së të dhënave dhe emrin e përdoruesit për të.",
"%s enter the database username." : "%s jepni emrin e përdoruesit të bazës së të dhënave.",
"%s enter the database name." : "%s jepni emrin e bazës së të dhënave.",
diff --git a/lib/l10n/sq.json b/lib/l10n/sq.json
index 0e6d71b67a5..4ca0cb1c20a 100644
--- a/lib/l10n/sq.json
+++ b/lib/l10n/sq.json
@@ -40,15 +40,23 @@
"Empty filename is not allowed" : "Nuk lejohen emra të zbrazët kartelash",
"App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikacioni \"%s\" s’mund të instalohet, ngaqë s’lexohet dot kartela appinfo.",
"App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikacioni \"%s\" nuk mund të instalohet sepse nuk përputhet me këtë version të serverit.",
+ "This is an automatically sent email, please do not reply." : "Ky është një email i dërguar automatikisht, ju lutem mos u përgjigjni.",
"Help" : "Ndihmë",
"Apps" : "Aplikacione",
+ "Log out" : "Shkyçu",
"Users" : "Përdorues",
"APCu" : "APCu",
"Redis" : "Redis",
"Sharing" : "Ndarja",
+ "Security" : "Siguria",
"Encryption" : "Enkriptimi",
"Additional settings" : "Konfigurime shtesë",
"Tips & tricks" : "Këshilla dhe rrengje",
+ "Personal info" : "Informacion personal",
+ "Unlimited" : "E pa limituar",
+ "Verifying" : "Duke e verifikuar",
+ "Verifying …" : "Duke e verifikuar ...",
+ "Verify" : "Verifiko",
"%s enter the database username and name." : "%s jepni emrin e bazës së të dhënave dhe emrin e përdoruesit për të.",
"%s enter the database username." : "%s jepni emrin e përdoruesit të bazës së të dhënave.",
"%s enter the database name." : "%s jepni emrin e bazës së të dhënave.",
diff --git a/lib/private/Activity/Manager.php b/lib/private/Activity/Manager.php
index a8810a3e16b..bbb6f694156 100644
--- a/lib/private/Activity/Manager.php
+++ b/lib/private/Activity/Manager.php
@@ -57,6 +57,9 @@ class Manager implements IManager {
/** @var int */
protected $formattingObjectId;
+ /** @var bool */
+ protected $requirePNG;
+
/** @var string */
protected $currentUserId;
@@ -466,6 +469,20 @@ class Manager implements IManager {
}
/**
+ * @param bool $status Set to true, when parsing events should not use SVG icons
+ */
+ public function setRequirePNG($status) {
+ $this->requirePNG = $status;
+ }
+
+ /**
+ * @return bool
+ */
+ public function getRequirePNG() {
+ return $this->requirePNG;
+ }
+
+ /**
* @param string $app
* @param string $text
* @param array $params
diff --git a/lib/private/CapabilitiesManager.php b/lib/private/CapabilitiesManager.php
index 159fa97c708..baab63c213d 100644
--- a/lib/private/CapabilitiesManager.php
+++ b/lib/private/CapabilitiesManager.php
@@ -24,6 +24,7 @@ namespace OC;
use OCP\AppFramework\QueryException;
use OCP\Capabilities\ICapability;
+use OCP\Capabilities\IPublicCapability;
use OCP\ILogger;
class CapabilitiesManager {
@@ -41,10 +42,11 @@ class CapabilitiesManager {
/**
* Get an array of al the capabilities that are registered at this manager
*
+ * @param bool $public get public capabilities only
* @throws \InvalidArgumentException
* @return array
*/
- public function getCapabilities() {
+ public function getCapabilities($public = false) {
$capabilities = [];
foreach($this->capabilities as $capability) {
try {
@@ -55,7 +57,9 @@ class CapabilitiesManager {
}
if ($c instanceof ICapability) {
- $capabilities = array_replace_recursive($capabilities, $c->getCapabilities());
+ if(!$public || $c instanceof IPublicCapability) {
+ $capabilities = array_replace_recursive($capabilities, $c->getCapabilities());
+ }
} else {
throw new \InvalidArgumentException('The given Capability (' . get_class($c) . ') does not implement the ICapability interface');
}
diff --git a/lib/private/DB/MigrationService.php b/lib/private/DB/MigrationService.php
index a4276b08c12..92041b5e324 100644
--- a/lib/private/DB/MigrationService.php
+++ b/lib/private/DB/MigrationService.php
@@ -25,7 +25,6 @@
namespace OC\DB;
-use Doctrine\DBAL\Schema\Schema;
use OC\IntegrityCheck\Helpers\AppLocator;
use OC\Migration\SimpleOutput;
use OCP\AppFramework\App;
@@ -78,14 +77,6 @@ class MigrationService {
$namespace = App::buildAppNamespace($appName);
$this->migrationsPath = "$appPath/lib/Migration";
$this->migrationsNamespace = $namespace . '\\Migration';
-
- if (!@mkdir($appPath . '/lib') && !is_dir($appPath . '/lib')) {
- throw new \RuntimeException("Could not create migration folder \"{$this->migrationsPath}\"");
- }
- }
-
- if (!@mkdir($this->migrationsPath) && !is_dir($this->migrationsPath)) {
- throw new \RuntimeException("Could not create migration folder \"{$this->migrationsPath}\"");
}
}
@@ -164,6 +155,10 @@ class MigrationService {
protected function findMigrations() {
$directory = realpath($this->migrationsPath);
+ if (!file_exists($directory) || !is_dir($directory)) {
+ return [];
+ }
+
$iterator = new \RegexIterator(
new \RecursiveIteratorIterator(
new \RecursiveDirectoryIterator($directory, \FilesystemIterator::SKIP_DOTS),
diff --git a/lib/private/Files/Cache/Wrapper/JailPropagator.php b/lib/private/Files/Cache/Wrapper/JailPropagator.php
new file mode 100644
index 00000000000..297dfce6332
--- /dev/null
+++ b/lib/private/Files/Cache/Wrapper/JailPropagator.php
@@ -0,0 +1,44 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Robin Appelman <robin@icewind.nl>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OC\Files\Cache\Wrapper;
+
+
+use OC\Files\Cache\Propagator;
+use OC\Files\Storage\Wrapper\Jail;
+
+class JailPropagator extends Propagator {
+ /**
+ * @var Jail
+ */
+ protected $storage;
+
+ /**
+ * @param string $internalPath
+ * @param int $time
+ * @param int $sizeDifference
+ */
+ public function propagateChange($internalPath, $time, $sizeDifference = 0) {
+ /** @var \OC\Files\Storage\Storage $storage */
+ list($storage, $sourceInternalPath) = $this->storage->resolvePath($internalPath);
+ $storage->getPropagator()->propagateChange($sourceInternalPath, $time, $sizeDifference);
+ }
+}
diff --git a/lib/private/Files/Storage/Wrapper/Jail.php b/lib/private/Files/Storage/Wrapper/Jail.php
index 91e8e5ed3c9..4fa2428c968 100644
--- a/lib/private/Files/Storage/Wrapper/Jail.php
+++ b/lib/private/Files/Storage/Wrapper/Jail.php
@@ -25,6 +25,7 @@
namespace OC\Files\Storage\Wrapper;
use OC\Files\Cache\Wrapper\CacheJail;
+use OC\Files\Cache\Wrapper\JailPropagator;
use OCP\Lock\ILockingProvider;
/**
@@ -488,4 +489,16 @@ class Jail extends Wrapper {
}
return $this->getWrapperStorage()->moveFromStorage($sourceStorage, $sourceInternalPath, $this->getUnjailedPath($targetInternalPath));
}
+
+ public function getPropagator($storage = null) {
+ if (isset($this->propagator)) {
+ return $this->propagator;
+ }
+
+ if (!$storage) {
+ $storage = $this;
+ }
+ $this->propagator = new JailPropagator($storage, \OC::$server->getDatabaseConnection());
+ return $this->propagator;
+ }
}
diff --git a/lib/private/Installer.php b/lib/private/Installer.php
index 60b0336fb5a..4d7e5016653 100644
--- a/lib/private/Installer.php
+++ b/lib/private/Installer.php
@@ -131,6 +131,7 @@ class Installer {
// check for required dependencies
\OC_App::checkAppDependencies($this->config, $l, $info);
+ \OC_App::registerAutoloading($appId, $basedir);
//install the database
if(is_file($basedir.'/appinfo/database.xml')) {
@@ -144,7 +145,6 @@ class Installer {
$ms->migrate();
}
- \OC_App::registerAutoloading($appId, $basedir);
\OC_App::setupBackgroundJobs($info['background-jobs']);
if(isset($info['settings']) && is_array($info['settings'])) {
\OC::$server->getSettingsManager()->setupSettings($info['settings']);
diff --git a/lib/private/NavigationManager.php b/lib/private/NavigationManager.php
index 16552005931..b854b44b340 100644
--- a/lib/private/NavigationManager.php
+++ b/lib/private/NavigationManager.php
@@ -216,7 +216,18 @@ class NavigationManager implements INavigationManager {
if ($this->appManager === 'null') {
return;
}
- foreach ($this->appManager->getInstalledApps() as $app) {
+
+ if ($this->userSession->isLoggedIn()) {
+ $apps = $this->appManager->getEnabledAppsForUser($this->userSession->getUser());
+ } else {
+ $apps = $this->appManager->getInstalledApps();
+ }
+
+ foreach ($apps as $app) {
+ if (!$this->userSession->isLoggedIn() && !$this->appManager->isEnabledForUser($app, $this->userSession->getUser())) {
+ continue;
+ }
+
// load plugins and collections from info.xml
$info = $this->appManager->getAppInfo($app);
if (empty($info['navigations'])) {
diff --git a/lib/private/Repair/Owncloud/SaveAccountsTableData.php b/lib/private/Repair/Owncloud/SaveAccountsTableData.php
index 35e5560856b..ae56004020d 100644
--- a/lib/private/Repair/Owncloud/SaveAccountsTableData.php
+++ b/lib/private/Repair/Owncloud/SaveAccountsTableData.php
@@ -24,6 +24,7 @@
namespace OC\Repair\Owncloud;
use Doctrine\DBAL\Exception\InvalidFieldNameException;
+use Doctrine\DBAL\Exception\TableNotFoundException;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IConfig;
use OCP\IDBConnection;
@@ -96,6 +97,8 @@ class SaveAccountsTableData implements IRepairStep {
return true;
} catch (InvalidFieldNameException $e) {
return false;
+ } catch (TableNotFoundException $e) {
+ return false;
}
}
diff --git a/lib/private/Security/CertificateManager.php b/lib/private/Security/CertificateManager.php
index 4419b56012f..58c44b88ba6 100644
--- a/lib/private/Security/CertificateManager.php
+++ b/lib/private/Security/CertificateManager.php
@@ -31,6 +31,7 @@ use OC\Files\Filesystem;
use OCP\ICertificateManager;
use OCP\IConfig;
use OCP\ILogger;
+use OCP\Security\ISecureRandom;
/**
* Manage trusted certificates for users
@@ -56,17 +57,26 @@ class CertificateManager implements ICertificateManager {
*/
protected $logger;
+ /** @var ISecureRandom */
+ protected $random;
+
/**
* @param string $uid
* @param \OC\Files\View $view relative to data/
* @param IConfig $config
* @param ILogger $logger
+ * @param ISecureRandom $random
*/
- public function __construct($uid, \OC\Files\View $view, IConfig $config, ILogger $logger) {
+ public function __construct($uid,
+ \OC\Files\View $view,
+ IConfig $config,
+ ILogger $logger,
+ ISecureRandom $random) {
$this->uid = $uid;
$this->view = $view;
$this->config = $config;
$this->logger = $logger;
+ $this->random = $random;
}
/**
@@ -120,7 +130,8 @@ class CertificateManager implements ICertificateManager {
}
$certPath = $path . 'rootcerts.crt';
- $fhCerts = $this->view->fopen($certPath, 'w');
+ $tmpPath = $certPath . '.tmp' . $this->random->generate(10, ISecureRandom::CHAR_DIGITS);
+ $fhCerts = $this->view->fopen($tmpPath, 'w');
// Write user certificates
foreach ($certs as $cert) {
@@ -143,6 +154,8 @@ class CertificateManager implements ICertificateManager {
}
fclose($fhCerts);
+
+ $this->view->rename($tmpPath, $certPath);
}
/**
@@ -218,7 +231,7 @@ class CertificateManager implements ICertificateManager {
}
if ($this->needsRebundling($uid)) {
if (is_null($uid)) {
- $manager = new CertificateManager(null, $this->view, $this->config, $this->logger);
+ $manager = new CertificateManager(null, $this->view, $this->config, $this->logger, $this->random);
$manager->createCertificateBundle();
} else {
$this->createCertificateBundle();
diff --git a/lib/private/Server.php b/lib/private/Server.php
index d10da38d299..f8fd63a9d5d 100644
--- a/lib/private/Server.php
+++ b/lib/private/Server.php
@@ -596,7 +596,13 @@ class Server extends ServerContainer implements IServerContainer {
$uid = $user ? $user : null;
return new ClientService(
$c->getConfig(),
- new \OC\Security\CertificateManager($uid, new View(), $c->getConfig(), $c->getLogger())
+ new \OC\Security\CertificateManager(
+ $uid,
+ new View(),
+ $c->getConfig(),
+ $c->getLogger(),
+ $c->getSecureRandom()
+ )
);
});
$this->registerAlias('HttpClientService', \OCP\Http\Client\IClientService::class);
@@ -1438,7 +1444,13 @@ class Server extends ServerContainer implements IServerContainer {
}
$userId = $user->getUID();
}
- return new CertificateManager($userId, new View(), $this->getConfig(), $this->getLogger());
+ return new CertificateManager(
+ $userId,
+ new View(),
+ $this->getConfig(),
+ $this->getLogger(),
+ $this->getSecureRandom()
+ );
}
/**
diff --git a/lib/private/Share20/Manager.php b/lib/private/Share20/Manager.php
index 7c39733ce2a..798ea937038 100644
--- a/lib/private/Share20/Manager.php
+++ b/lib/private/Share20/Manager.php
@@ -193,7 +193,7 @@ class Manager implements IManager {
throw new \InvalidArgumentException('SharedWith should not be empty');
}
} else if ($share->getShareType() === \OCP\Share::SHARE_TYPE_CIRCLE) {
- $circle = \OCA\Circles\Api\Circles::detailsCircle($share->getSharedWith());
+ $circle = \OCA\Circles\Api\v1\Circles::detailsCircle($share->getSharedWith());
if ($circle === null) {
throw new \InvalidArgumentException('SharedWith is not a valid circle');
}
diff --git a/lib/private/Share20/ProviderFactory.php b/lib/private/Share20/ProviderFactory.php
index ddd8177250b..aedad6a32a7 100644
--- a/lib/private/Share20/ProviderFactory.php
+++ b/lib/private/Share20/ProviderFactory.php
@@ -51,9 +51,10 @@ class ProviderFactory implements IProviderFactory {
private $federatedProvider = null;
/** @var ShareByMailProvider */
private $shareByMailProvider;
- /** @var \OCA\Circles\ShareByCircleProvider;
- * ShareByCircleProvider */
- private $shareByCircleProvider;
+ /** @var \OCA\Circles\ShareByCircleProvider */
+ private $shareByCircleProvider = null;
+ /** @var bool */
+ private $circlesAreNotAvailable = false;
/**
* IProviderFactory constructor.
@@ -179,11 +180,16 @@ class ProviderFactory implements IProviderFactory {
*/
protected function getShareByCircleProvider() {
- $appManager = $this->serverContainer->getAppManager();
- if (!$appManager->isEnabledForUser('circles')) {
+ if ($this->circlesAreNotAvailable) {
return null;
}
+ if (!$this->serverContainer->getAppManager()->isEnabledForUser('circles') ||
+ !class_exists('\OCA\Circles\ShareByCircleProvider')
+ ) {
+ $this->circlesAreNotAvailable = true;
+ return null;
+ }
if ($this->shareByCircleProvider === null) {
diff --git a/lib/private/SystemConfig.php b/lib/private/SystemConfig.php
index e5f1adaf004..3610486140d 100644
--- a/lib/private/SystemConfig.php
+++ b/lib/private/SystemConfig.php
@@ -37,8 +37,11 @@ class SystemConfig {
/** @var array */
protected $sensitiveValues = [
+ 'dbname' => true,
'dbpassword' => true,
'dbuser' => true,
+ 'mail_from_address' => true,
+ 'mail_domain' => true,
'mail_smtpname' => true,
'mail_smtppassword' => true,
'passwordsalt' => true,
diff --git a/lib/private/legacy/template/functions.php b/lib/private/legacy/template/functions.php
index 208d9fb3f9f..65179a94108 100644
--- a/lib/private/legacy/template/functions.php
+++ b/lib/private/legacy/template/functions.php
@@ -96,12 +96,12 @@ function emit_script_tag($src, $script_content='') {
* @param hash $obj all the script information from template
*/
function emit_script_loading_tags($obj) {
- if (!empty($obj['inline_ocjs'])) {
- emit_script_tag('', $obj['inline_ocjs']);
- }
foreach($obj['jsfiles'] as $jsfile) {
emit_script_tag($jsfile, '');
}
+ if (!empty($obj['inline_ocjs'])) {
+ emit_script_tag('', $obj['inline_ocjs']);
+ }
}
/**
diff --git a/lib/public/Activity/IManager.php b/lib/public/Activity/IManager.php
index f5b495807c5..4cdea0e2f74 100644
--- a/lib/public/Activity/IManager.php
+++ b/lib/public/Activity/IManager.php
@@ -207,6 +207,18 @@ interface IManager {
public function isFormattingFilteredObject();
/**
+ * @param bool $status Set to true, when parsing events should not use SVG icons
+ * @since 12.0.1
+ */
+ public function setRequirePNG($status);
+
+ /**
+ * @return bool
+ * @since 12.0.1
+ */
+ public function getRequirePNG();
+
+ /**
* @param string $app
* @param string $text
* @param array $params
diff --git a/lib/public/Capabilities/IPublicCapability.php b/lib/public/Capabilities/IPublicCapability.php
new file mode 100644
index 00000000000..ded58f1208b
--- /dev/null
+++ b/lib/public/Capabilities/IPublicCapability.php
@@ -0,0 +1,32 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Julius Härtl <jus@bitgrid.net>
+ *
+ * @author Julius Härtl <jus@bitgrid.net>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCP\Capabilities;
+
+/**
+ * @inheritdoc
+ *
+ * @since 13.0.0
+ */
+interface IPublicCapability extends ICapability {}
+