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
|
* 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 ``en``
|
||||||
*
|
*
|
||||||
* Defaults to ``core/skeleton`` in the Nextcloud directory.
|
* Defaults to ``core/skeleton`` in the Nextcloud directory.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -379,7 +379,20 @@ 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}', 'en', $plainSkeletonDirectory);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$instanceId = \OC::$server->getConfig()->getSystemValue('instanceid', '');
|
$instanceId = \OC::$server->getConfig()->getSystemValue('instanceid', '');
|
||||||
|
|
||||||
if ($instanceId === null) {
|
if ($instanceId === null) {
|
||||||
|
|
Loading…
Reference in a new issue