Download the PHP package nicmanlabs/seafile-php-sdk without Composer
On this page you can find all versions of the php package nicmanlabs/seafile-php-sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download nicmanlabs/seafile-php-sdk
More information about nicmanlabs/seafile-php-sdk
Files in nicmanlabs/seafile-php-sdk
Package seafile-php-sdk
Short Description This is a PHP package for accessing Seafile Web API
License MIT
Homepage https://github.com/nicmanlabs/Seafile-PHP-SDK
Informations about the package seafile-php-sdk
Seafile PHP SDK
This is a PHP package for accessing Seafile Web API.
German Web Application Developer Available for Hire!
No marketing skills whatsoever, but low rates, nearly 20 years of experience, and german work attitude.
Get in touch now: https://sdo.sh/DevOps/#contact
What is Seafile?
- Open Source Cloud Storage for your teams and organizations
- Built in File Encryption, better Protecting your Privacy
- Collaboration around Files, file locking and other features make collaboration easy.
How to get Started
To get started with Seafile PHP SDK, you may either set up your own private Seafile server (see https://www.seafile.com/en/product/private_server/) or obtain seacloud.cc account https://seacloud.cc. Because the SDK is in its infancy it's highly recommended to set up a test server or create a test account.
It's not advisable yet to use your real server/account if you already got one.
After you have created your test account continue to the next step.
Roadmap and notes on development
Please note that this SDK currently is under active development and that things might change rather drastically.
If you are looking for stability please refer to stable tags.
The next stable version is planned for January 2018.
Obtain API token
Have a look at script and use it if you feel comfortable with it. Basically, the script does this:
Insert your test user name and test user password. Hint: if user name contains a "+" char, replace the char with "%2B" (hex ascii for "+") or the user name altogether. Just so you know.
The file will look something like this:
The example script will assume a config file that looks like this:
Have a look at script and use it if you feel comfortable with it. Basically, the script does this:
Installing Seafile-PHP-SDK
The recommended way to install seafile-php-sdk is through Composer.
Next, run the Composer command to install the latest stable version of seafile-php-sdk:
After installing, you need to require Composer's autoloader:
You can then later update seafile-php-sdk using composer:
Using Seafile PHP SDK
Hint: Have a look at -- everything this SDK can do is covered there!
Connecting to Seafile
First, you need to include the API token (see above):
List available libraries
List files and directories of a library
Check if directory item exists
Be aware that because Seafile Web API does not provide a function to do this check on its own, all items of the directory will get loaded for iteration. So that's not very efficient.
Create directory
Download file from unencrypted library
Download file from encrypted library
Trying to download a file from an encrypted library without unlocking it first would inevitably fail, so just unlock (API docs say "decrypt") the library before attempting:
Upload file
Update file
Get file details
Get API user account info
Get all accounts
Create account
Update account
Get account info by email address
Delete account
or
Get avatar of an account
or
Create and remove shared link
Get all starred files, star and unstar file
Debugging and how to enable logging of requests and responses
This example requires monolog. Log entries and Guzzle debug info will be written to stdout.
Issues
- Please let me know of issues.
Dependencies
- PHP >=5.6.29 64 bits (if you require a backport to an older PHP version contact me for a quote!)
- PHP >=7.0 64 bits
- Guzzle 6
Seafile Web API V2 Support Matrix
Resource | Support grade |
---|---|
Account | :large_blue_circle::large_blue_circle::large_blue_circle::white_circle: |
Starred Files | :large_blue_circle::large_blue_circle::large_blue_circle::large_blue_circle: |
Group | :large_blue_circle::white_circle::white_circle::white_circle: |
File Share Link | :large_blue_circle::large_blue_circle::white_circle::white_circle: |
Library/Library | :large_blue_circle::large_blue_circle::white_circle::white_circle: |
Library/File | :large_blue_circle::large_blue_circle::white_circle::white_circle: |
Library/Directory | :large_blue_circle::large_blue_circle::white_circle::white_circle: |
Library/Multiple Files | :large_blue_circle::large_blue_circle::large_blue_circle::large_blue_circle: |
Avatar | :large_blue_circle::large_blue_circle::large_blue_circle::large_blue_circle: |
Events | not planned |
Organization | not planned |
Seafile server compatibility
Tested with:
Seafile Server 5.1.3 for generic Linux/Debian JessieSeafile Server 5.1.3 for generic Linux/Debian WheezySeafile Server 5.1.4 for generic Linux/Ubuntu XenialSeafile Server 6.0.3 for generic Linux/Ubuntu Xenial- Seafile Server 6.0.7 for generic Linux/Ubuntu Xenial
- If you require a backport for an older Seafile server version contact me for a quote!
Contributing
Please note that this package still is in its infancy. Only a small part of the API has been implemented so far.
Pull requests are welcome. Please adhere to some very basic and simple principles:
- Follow "separation of concern" on all levels: 1 issue == 1 pull request. Do not cover multiple issues in a pull request.
- Unit tests raise the chance of your pull request getting accepted.
- The same goes for PHPDoc blocks.
Links
- https://seafile.com
- https://www.seafile-server.org/ (Seafile server hosting in Germany)
- http://manual.seafile.com/develop/web_api.html#seafile-web-api-v2
- https://sdo.sh
License
MIT © 2015-2017 Rene Schmidt DevOps UG (haftungsbeschränkt) & Co. KG