Commit 7282f46a authored by David Surville's avatar David Surville
Browse files

Passage à ZF3 et ajout de fonctions au service ZimbraAccount

parent dfcd0759
Loading
Loading
Loading
Loading

CHANGELOG.md

0 → 100644
+9 −0
Original line number Diff line number Diff line
CHANGELOG
=========

3.0.0 (03/09/2020)
------------------

- Adaptation du code pour le passage à ZF3.
- Ajout de fonctions au Service "ZimbraAccount" : ajout/suppression alias, ajout/suppression forward et modifications de quelques options du compte Zimbra. 
+8 −55
Original line number Diff line number Diff line
@@ -2,16 +2,11 @@

namespace UnicaenZimbra;

use Zend\Loader\StandardAutoloader;
use Zend\ModuleManager\Feature\AutoloaderProviderInterface;
use Zend\ModuleManager\Feature\ConfigProviderInterface;
use Zend\ModuleManager\Feature\ServiceProviderInterface;

/**
 * Point d'entrée du module de gestion de Zimbra.
 *
 * @author Laurent LECLUSE <laurent.lecluse@unicaen.fr>
 */
class Module implements ConfigProviderInterface, ServiceProviderInterface
class Module implements ConfigProviderInterface
{

    /**
@@ -31,54 +26,12 @@ class Module implements ConfigProviderInterface, ServiceProviderInterface
     */
    public function getAutoloaderConfig()
    {
        return array(
            'Zend\Loader\ClassMapAutoloader' => array(
                __DIR__ . '/autoload_classmap.php',
            ),
            'Zend\Loader\StandardAutoloader' => array(
                'namespaces' => array(
        return [
            StandardAutoloader::class => [
                'namespaces' => [
                    __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
                ),
            ),
        );
    }

    /**
     *
     * @return array
     * @see ServiceProviderInterface
     */
    public function getServiceConfig()
    {
        $services = array(
            'Account',  'Alias',   'Cos',      'DistributionList',
            'Domain',   'Filter',  'Folder',   'Gal',
            'Identity', 'MailBox', 'Resource', 'Right', 'Server'
        );
        $processus = array(
            'BoiteGenerique'
        );
        $factories = array(
            'zimbra'        => function($sm){
                return new Zimbra;
            },
            'zimbraOptions' => 'UnicaenZimbra\Options\ModuleOptionsFactory',
        );
        foreach( $services as $service ){
            $factories['zimbraService'.$service] = function($sm) use ($service){
                $className = 'UnicaenZimbra\\Service\\'.$service;
                return new $className;
            };
        }
        foreach( $processus as $proc ){
            $factories['zimbraProcessus'.$proc] = function($sm) use ($proc){
                $className = 'UnicaenZimbra\\Processus\\'.$proc;
                return new $className;
            };
        }

        return array(
            'factories' => $factories,
        );
                ],
            ],
        ];
    }
}
 No newline at end of file

README.md

0 → 100644
+42 −0
Original line number Diff line number Diff line
# UnicaenZimbra

 * [Introduction](#introduction)
 * [Installation](#installation)
 * [Configuration](#configuration)
 
## Introduction
 
Ce module permet d'utiliser l'[API SOAP Zimbra](https://wiki.zimbra.com/wiki/SOAP_API_Reference_Material_Beginning_with_ZCS_8) et de piloter le serveur Zimbra de l'université. 

## Pré-requis

L'utilisation de ce module nécessite l'installation de l'extension `ext-curl` de PHP.

## Installation

```bash 
$ composer require unicaen/zimbra
```

## Configuration

> Récupérer les fichiers de config du module 
 
```bash
$ cp -n vendor/unicaen/zimbra/config/unicaen-zimbra.global.php.dist config/autoload/unicaen-zimbra.global.php
$ cp -n vendor/unicaen/zimbra/config/unicaen-zimbra.local.php.dist config/autoload/unicaen-zimbra.local.php
```

> Adapter le contenu à vos besoins en configurant notamment les paramètres de connexion au serveur Zimbra.

```php
'unicaen-zimbra' => [
    'server' => 'test-zimbra.unicaen.fr',
    'port' => 7071,
    'email' => 'test@unicaen.fr',
    'password' => 'xxxx',
    'domain' => 'unicaen.fr',
    'boite_generique_cos_id' => 'e00428a1-0c00-11d9-836a-000d93afea2a',
    'debug_mode' => false,
]
```
 No newline at end of file

autoload_classmap.php

deleted100644 → 0
+0 −4
Original line number Diff line number Diff line
<?php
// Generated by ZF2's ./bin/classmap_generator.php
return array(
);
 No newline at end of file
+77 −5
Original line number Diff line number Diff line
<?php

$settings = array(
namespace UnicaenZimbra;

);
use UnicaenZimbra\Options\ModuleOptionsFactory;
use UnicaenZimbra\Processus\ZimbraBoiteGeneriqueProcessus;
use UnicaenZimbra\Processus\ZimbraBoiteGeneriqueProcessusFactory;
use UnicaenZimbra\Service\ZimbraAccountService;
use UnicaenZimbra\Service\ZimbraAccountServiceFactory;
use UnicaenZimbra\Service\ZimbraAliasService;
use UnicaenZimbra\Service\ZimbraAliasServiceFactory;
use UnicaenZimbra\Service\ZimbraCosService;
use UnicaenZimbra\Service\ZimbraCosServiceFactory;
use UnicaenZimbra\Service\ZimbraDistributionListService;
use UnicaenZimbra\Service\ZimbraDistributionListServiceFactory;
use UnicaenZimbra\Service\ZimbraDomainService;
use UnicaenZimbra\Service\ZimbraDomainServiceFactory;
use UnicaenZimbra\Service\ZimbraFilterService;
use UnicaenZimbra\Service\ZimbraFilterServiceFactory;
use UnicaenZimbra\Service\ZimbraFolderService;
use UnicaenZimbra\Service\ZimbraFolderServiceFactory;
use UnicaenZimbra\Service\ZimbraGalService;
use UnicaenZimbra\Service\ZimbraGalServiceFactory;
use UnicaenZimbra\Service\ZimbraIdentityService;
use UnicaenZimbra\Service\ZimbraIdentityServiceFactory;
use UnicaenZimbra\Service\ZimbraMailBoxService;
use UnicaenZimbra\Service\ZimbraMailBoxServiceFactory;
use UnicaenZimbra\Service\ZimbraResourceService;
use UnicaenZimbra\Service\ZimbraResourceServiceFactory;
use UnicaenZimbra\Service\ZimbraRightService;
use UnicaenZimbra\Service\ZimbraRightServiceFactory;
use UnicaenZimbra\Service\ZimbraServerService;
use UnicaenZimbra\Service\ZimbraServerServiceFactory;

return array(
   'unicaen-zimbra' => $settings
);
 No newline at end of file
return [
    'unicaen-zimbra' => [],

    'service_manager' => [
        'aliases' => [
            // services
            'zimbraServiceAccount' => ZimbraAccountService::class,
            'zimbraServiceAlias' => ZimbraAliasService::class,
            'zimbraServiceCos' => ZimbraCosService::class,
            'zimbraServiceDistributionList' => ZimbraDistributionListService::class,
            'zimbraServiceDomain' => ZimbraDomainService::class,
            'zimbraServiceFilter' => ZimbraFilterService::class,
            'zimbraServiceFolder' => ZimbraFolderService::class,
            'zimbraServiceGal' => ZimbraGalService::class,
            'zimbraServiceIdentity' => ZimbraIdentityService::class,
            'zimbraServiceMailBox' => ZimbraMailBoxService::class,
            'zimbraServiceResource' => ZimbraResourceService::class,
            'zimbraServiceRight' => ZimbraRightService::class,
            'zimbraServiceServer' => ZimbraServerService::class,

            // processus
            'zimbraProcessusBoiteGenerique' => BoiteGeneriqueProcessus::class,
        ],
        'factories' => [
            'zimbra' => ZimbraFactory::class,
            'zimbraOptions' => ModuleOptionsFactory::class,

            // services
            ZimbraAccountService::class => ZimbraAccountServiceFactory::class,
            ZimbraAliasService::class => ZimbraAliasServiceFactory::class,
            ZimbraCosService::class => ZimbraCosServiceFactory::class,
            ZimbraDistributionListService::class => ZimbraDistributionListServiceFactory::class,
            ZimbraDomainService::class => ZimbraDomainServiceFactory::class,
            ZimbraFilterService::class => ZimbraFilterServiceFactory::class,
            ZimbraFolderService::class => ZimbraFolderServiceFactory::class,
            ZimbraGalService::class => ZimbraGalServiceFactory::class,
            ZimbraIdentityService::class => ZimbraIdentityServiceFactory::class,
            ZimbraMailBoxService::class => ZimbraMailBoxServiceFactory::class,
            ZimbraResourceService::class => ZimbraResourceServiceFactory::class,
            ZimbraRightService::class => ZimbraRightServiceFactory::class,
            ZimbraServerService::class => ZimbraServerServiceFactory::class,

            // Zimbra processus
            ZimbraBoiteGeneriqueProcessus::class => ZimbraBoiteGeneriqueProcessusFactory::class,
        ],
    ],
];
 No newline at end of file
Loading