在owncloud中创建用户并初始化主目录文件夹

时间:2014-10-23 08:33:48

标签: php owncloud

我正在使用owncloud 7,我想创建一个自定义api调用,创建一个用户并初始化用户的主目录(创建一些文件夹)。

owncloud的文档存在(这是我发现的最好的东西)

http://fossies.org/dox/owncloud-7.0.2/annotated.html

2 个答案:

答案 0 :(得分:1)

要创建自定义api调用,我使用了\ OCP \ API :: register这是简单的部分。

检查用户是否存在

OC_User::userExists( $new_user_username ); // return boolean

创建新用户

OC_User::createUser( $new_user_username, $new_user_password );

在该用户主目录中创建一个文件夹

首先注销所有已登录的用户

OC_User::logout();

然后以新用户身份登录

OC_User::login( $new_user_username, $new_user_password );

如果您想确保记录新用户,可以使用

$logged_user_username = OC_User::getUser(); // If( $logged_user_username == $new_user_username ) you are ok!

要初始化用户主目录,您应该运行这两个

\OC\Files\Filesystem::initMounts(); \OC\Files\Filesystem::initMountPoints( $new_user_username ); 要在用户主目录中创建新文件夹,请使用

OC\Files\Filesystem::mkdir( 'New folder' );

通过这样做,您将创建一个名为' New Folder'的新文件夹。下 / data // files / New Folder

要删除文件夹,请说明默认创建的照片文件夹,请使用此

OC\Files\Filesystem::rmdir( 'photos' );

这将删除目录 /数据文件// /照片

要拥有干净的代码,您必须注销$ new_user_username

OC_User::logout();

并重新登录进行api调用的用户。

你必须检查谁可以执行这样的api呼叫。

答案 1 :(得分:1)

关于用户主页初始化:如果新用户的文件夹内容相同,您可以使用内容创建模板目录并在config.php中指定

/** * 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. */ 'skeletondirectory' => '',