Merge pull request #7334 from nextcloud/feature/noid/language-depending-skeleton-directory
Allow `{lang}` as a placeholder in the skeleton directory
This commit is contained in:
commit
83509b0fd3
|
@ -246,6 +246,9 @@ $CONFIG = array(
|
||||||
* The directory where the skeleton files are located. These files will be
|
* The directory where the skeleton files are located. These files will be
|
||||||
* copied to the data directory of new users. Leave empty to not copy any
|
* copied to the data directory of new users. Leave empty to not copy any
|
||||||
* skeleton files.
|
* skeleton files.
|
||||||
|
* ``{lang}`` can be used as a placeholder for the language of the user.
|
||||||
|
* If the directory does not exist, it falls back to non dialect (from ``de_DE``
|
||||||
|
* to ``de``). If that does not exist either, it falls back to ``default``
|
||||||
*
|
*
|
||||||
* Defaults to ``core/skeleton`` in the Nextcloud directory.
|
* Defaults to ``core/skeleton`` in the Nextcloud directory.
|
||||||
*/
|
*/
|
||||||
|
@ -878,6 +881,7 @@ $CONFIG = array(
|
||||||
/**
|
/**
|
||||||
* custom path for LibreOffice/OpenOffice binary
|
* custom path for LibreOffice/OpenOffice binary
|
||||||
*
|
*
|
||||||
|
*
|
||||||
* Defaults to ``''`` (empty string)
|
* Defaults to ``''`` (empty string)
|
||||||
*/
|
*/
|
||||||
'preview_libreoffice_path' => '/usr/bin/libreoffice',
|
'preview_libreoffice_path' => '/usr/bin/libreoffice',
|
||||||
|
|
|
@ -379,7 +379,23 @@ class OC_Util {
|
||||||
*/
|
*/
|
||||||
public static function copySkeleton($userId, \OCP\Files\Folder $userDirectory) {
|
public static function copySkeleton($userId, \OCP\Files\Folder $userDirectory) {
|
||||||
|
|
||||||
$skeletonDirectory = \OC::$server->getConfig()->getSystemValue('skeletondirectory', \OC::$SERVERROOT . '/core/skeleton');
|
$plainSkeletonDirectory = \OC::$server->getConfig()->getSystemValue('skeletondirectory', \OC::$SERVERROOT . '/core/skeleton');
|
||||||
|
$userLang = \OC::$server->getL10NFactory()->findLanguage();
|
||||||
|
$skeletonDirectory = str_replace('{lang}', $userLang, $plainSkeletonDirectory);
|
||||||
|
|
||||||
|
if (!file_exists($skeletonDirectory)) {
|
||||||
|
$dialectStart = strpos($userLang, '_');
|
||||||
|
if ($dialectStart !== false) {
|
||||||
|
$skeletonDirectory = str_replace('{lang}', substr($userLang, 0, $dialectStart), $plainSkeletonDirectory);
|
||||||
|
}
|
||||||
|
if ($dialectStart === false || !file_exists($skeletonDirectory)) {
|
||||||
|
$skeletonDirectory = str_replace('{lang}', 'default', $plainSkeletonDirectory);
|
||||||
|
}
|
||||||
|
if (!file_exists($skeletonDirectory)) {
|
||||||
|
$skeletonDirectory = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$instanceId = \OC::$server->getConfig()->getSystemValue('instanceid', '');
|
$instanceId = \OC::$server->getConfig()->getSystemValue('instanceid', '');
|
||||||
|
|
||||||
if ($instanceId === null) {
|
if ($instanceId === null) {
|
||||||
|
|
Loading…
Reference in New Issue