Allow {lang}
as a placeholder in the skeleton directory
Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
parent
a0ce2c1204
commit
8e684f76e5
2 changed files with 17 additions and 1 deletions
|
@ -242,6 +242,9 @@ $CONFIG = array(
|
|||
* 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
|
||||
* 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 ``en``
|
||||
*
|
||||
* Defaults to ``core/skeleton`` in the Nextcloud directory.
|
||||
*/
|
||||
|
|
|
@ -379,7 +379,20 @@ class OC_Util {
|
|||
*/
|
||||
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}', 'en', $plainSkeletonDirectory);
|
||||
}
|
||||
}
|
||||
|
||||
$instanceId = \OC::$server->getConfig()->getSystemValue('instanceid', '');
|
||||
|
||||
if ($instanceId === null) {
|
||||
|
|
Loading…
Reference in a new issue