request('MKCOL', $url, [ 'auth' => [$username, $password] ]); return [ 'success' => true, 'status' => $response->getStatusCode(), 'message' => 'Folder created successfully.' ]; } catch (RequestException $e) { return [ 'success' => false, 'status' => $e->getCode(), 'message' => $e->getMessage(), ]; } } /** * Create a user in Nextcloud. * * @param string $baseUrl Nextcloud Base URL * @param string $adminUsername Admin Username * @param string $adminPassword Admin Password * @param string $userId New User ID * @param string $password New User Password * @param string $displayName New User Display Name * @param string $email New User Email * @return array Response Data */ public static function createUser($baseUrl, $adminUsername, $adminPassword, $userId, $password, $displayName, $email) { $client = new Client(); $url = rtrim($baseUrl, '/') . "/mktia/ocs/v1.php/cloud/users"; try { $response = $client->request('POST', $url, [ 'auth' => [$adminUsername, $adminPassword], 'headers' => [ 'OCS-APIRequest' => 'true', ], 'form_params' => [ 'userid' => $userId, 'password' => $password, 'displayName' => $displayName, 'email' => $email ] ]); return [ 'success' => true, 'status' => $response->getStatusCode(), 'message' => 'User created successfully.' ]; } catch (RequestException $e) { return [ 'success' => false, 'status' => $e->getCode(), 'message' => $e->getMessage(), ]; } } /** * Add a user to a group in Nextcloud. * * @param string $baseUrl Nextcloud Base URL * @param string $adminUsername Admin Username * @param string $adminPassword Admin Password * @param string $userId New User ID * @param string $groupName Group Name * @return array Response Data */ public static function addUserToGroup($baseUrl, $adminUsername, $adminPassword, $userId, $groupName) { $client = new Client(); $url = rtrim($baseUrl, '/') . "/mktia/ocs/v1.php/cloud/groups/{$groupName}"; try { $response = $client->request('POST', $url, [ 'auth' => [$adminUsername, $adminPassword], 'headers' => [ 'OCS-APIRequest' => 'true', ], 'form_params' => [ 'userid' => $userId ] ]); return [ 'success' => true, 'status' => $response->getStatusCode(), 'message' => 'User added to group successfully.' ]; } catch (RequestException $e) { return [ 'success' => false, 'status' => $e->getCode(), 'message' => $e->getMessage(), ]; } } }