synaq / zasa-bundle
A Symfony2 wrapper for the Zimbra Soap Admin API (ZASA)
Installs: 2 163
Dependents: 1
Suggesters: 0
Security: 0
Stars: 9
Watchers: 3
Forks: 5
Open Issues: 1
Type:symfony-bundle
Requires
- php: ^5.4|^7
- ext-curl: *
- symfony/framework-bundle: ^2.5|^3.4
- synaq/curl-bundle: ^1.0
Requires (Dev)
- mockery/mockery: ^0.9.5
- phpunit/phpunit: ^4.8|^5
- dev-master
- 6.0
- 5.5
- 5.4.1
- 5.4
- 5.3.1
- 5.3
- 5.2
- 5.1.2
- 5.1.1
- 5.1
- 5.0
- 4.5
- 4.4
- 4.3
- 4.2
- 4.1
- 4.0
- 3.3.2
- 3.3
- 3.2
- 3.1.1
- 3.1
- 3.0
- 2.2.2
- 2.2.1
- 2.2
- 2.1
- 2.0
- 1.7.1
- 1.7
- 1.6.4
- 1.6.3
- 1.6.2
- 1.6.1
- 1.6
- 1.5
- 1.4.4
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3
- 1.2
- 1.1
- 1
- dev-dependabot/composer/symfony/http-kernel-4.4.50
- dev-develop
- dev-release/3.3.2
- dev-feature/addFolders
- dev-release/1.3.4
This package is auto-updated.
Last update: 2024-11-30 01:43:04 UTC
README
A Symfony2 wrapper for the Zimbra SOAP Admin API (ZASA). This bundle uses a custom XML builder to post SOAP requests over CURL or using the fopen() wrappers.
This bundle works with Zimbra 7 & 8
This bundle was written to work specifically with our business model, so some functions return non-standard output. However, it should work with many use cases.
Requirements
- PHP 5.3 with curl support
- Symfony 2.7 or greater
Installation
Step 1
Use composer to manage your dependencies and download SynaqZasaBundle:
$ php composer.phar update synaq/zasa-bundle
Step 2
Add the bundles to your AppKernel
// app/AppKernel.php public function registerBundles() { return array( // ... new Synaq\ZasaBundle\SynaqZasaBundle(), new Synaq\CurlBundle\SynaqCurlBundle(), // ... ); }
Step 3
Add the bundle configuration
synaq_zasa: server: your-zimbra-server.com admin_user: your-admin-user admin_pass: your-admin-password use_fopen: true|false auth_token_path: /path/to/optional/existing/auth/token rest_base_url: http://your-zimbra-server-rest-url-without-service-endpoint.some-host.com synaq_curl: cookie_file: false options: { CURLOPT_RETURNTRANSFER: true, CURLOPT_SSL_VERIFYPEER: false, CURLOPT_SSL_VERIFYHOST: false, CURLOPT_SSL_CIPHER_LIST: %curl_cipher_list% }
##Usage You can use the Zimbra Connector by getting the 'synaq_zasa.connector' service
class SomeController extends Controller { public function someAction() { //... $connector = $this->get('synaq_zasa.connector'); //... } }
You can then make requests using the controller
$account = $connector->getAccount('user@domain.com');
Please see the ZimbraConnector class for available classes.
##Development
A Docker image with the full development environment required to develop on this bundle can be built using the included Dockerfile and a ready-made build script:
./scripts/docker/build.sh
This builds the synaq/zimbra-connector-dev image, which has XDebug pre-configured for remote debugging to a local XDebug client.
For an interactive terminal session inside a container based on the image, with the project working directory mounted as /opt/project, run:
./scripts/docker/terminal.sh