<?php

return array(
	'router' => array(
		'routes' => array(
			'push' => array(
				'type'    => 'segment',
				'options' => array(
					'route'    => '/push[/:action][/:id]',
					'constraints' => array(
						'action'     => '[a-zA-Z][a-zA-Z0-9_-]*',
						'id'         => '[1-9]\d*',
					),
					'defaults' => array(
						'__NAMESPACE__' => 'Reservation\Controller',
						'controller'    => 'Push',
						'action'        => 'index',
					),
				),
			),
			// API
			/*'apitest' => array(
				'type' => 'Zend\Mvc\Router\Http\Segment',
				'options' => array(
					'route'    => '/apitest[/:action]',
					'constraints' => array(
								'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
							),
					'defaults' => array(
						'controller' => 'Reservation\Controller\Api',
						'action'     => 'index',
					),
				),
			),*/
			'apiReservations' => array(
				'type' => 'Literal',
				'options' => array(
					'route'    => '/api/bo',
					'defaults' => array(
						'controller' => 'Reservation\Controller\Api',
						'action'     => 'index',
					),
				),
				'may_terminate' => true,
				'child_routes' => array(
					'prestationsParLogement' => array(
						'type' => 'Segment',
						'options' => array(
							'route'    => '/logement/:id/prestations',
							'defaults' => array(
								'action'     => 'prestationsParLogement',
							),
							 'constraints' => array(
								'id' => '[1-100000]\d*',
							),
						),
					),

					// TEST MAIL
					'testapimail' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/testapimail',
							'defaults' => array(
								'action'     => 'testapimail',
							),
						),
					),

					// TEST MAIL
					'envoimail' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/envoimail',
							'defaults' => array(
								'action'     => 'envoimail',
							),
						),
					),

					// Gestion de la borne self
					'apiBorneSelfLireSolde' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/bsliresolde',
							'defaults' => array(
								'action'     => 'bsliresolde',
							),
						),
					),
					'apiBorneSelfPaiment' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/bspaiment',
							'defaults' => array(
								'action'     => 'bspaiment',
							),
						),
					),
					'apiGetBPparamsAction' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/getBPparams',
							'defaults' => array(
								'action'     => 'getBPparams',
							),
						),
					),
					// Gestion des courriers (domiciliation postale)
					'apiCourrier' => array(
						'type' => 'Segment',
						'options' => array(
							'route'    => '/courrier',
							'defaults' => array(
								'action'     => 'courrier',
							),
							 'constraints' => array(
								'id' => '[1-9]\d*',
							),
						),
					),
					'apiLocataireAction' => array(
						'type' => 'Segment',
						'options' => array(
							'route'    => '/locataire',
							'defaults' => array(
								'action'     => 'locataire',
							),
						),
					),
					'changeTypeAccesLogeCarte' => array(
						'type' => 'Segment',
						'options' => array(
							'route'    => '/changeTypeAccesLogeCarte',
							'defaults' => array(
								'action'     => 'changeTypeAccesLogeCarte',
							),
						),
					),
					'apiListeSaltoAppliAction' => array(
						'type' => 'Segment',
						'options' => array(
							'route'    => '/listeSaltoAppli',
							'defaults' => array(
								'action'     => 'listeSaltoAppli',
							),
						),
					),
					'apiScanCsnCarte' => array(
						'type' => 'Segment',
						'options' => array(
							'route'    => '/scanCsnCarte',
							'defaults' => array(
								'action'     => 'scanCsnCarte',
							),
						),
					),
					'droitsUserTablette' => array(
						'type' => 'Segment',
						'options' => array(
							'route'    => '/droitsUserTablette',
							'defaults' => array(
								'action'     => 'droitsUserTablette',
							),
						),
					),
					'apiListeDistributionAction' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/listeDistribution',
							'defaults' => array(
								'action'     => 'listeDistribution',
							),
						),
					),
					'apiInfosDossierDpAction' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/infosDossierDp',
							'defaults' => array(
								'action'     => 'infosDossierDp',
							),
						),
					),
					'majEtatDpAction' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/majEtatDp',
							'defaults' => array(
								'action'     => 'majEtatDp',
							),
						),
					),
					'apiReceptionCourriers' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/receptionCourriers',
							'defaults' => array(
								'action'     => 'receptionCourriers',
							),
						),
					),
					'apiUpdateCourrier' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/updateCourrier',
							'defaults' => array(
								'action'     => 'updateCourrier',
							),
						),
					),
					'apiDistribCourriers' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/distribCourriers',
							'defaults' => array(
								'action'     => 'distribCourriers',
							),
						),
					),
					'dpSaoVersRsa' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/dpSaoVersRsa',
							'defaults' => array(
								'action'     => 'dpSaoVersRsa',
							),
						),
					),
					'rattraperSuivisDpSuppr' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/rattraperSuivisDpSuppr',
							'defaults' => array(
								'action'     => 'rattraperSuivisDpSuppr',
							),
						),
					),
					'rattraperDocsDp' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/rattraperDocsDp',
							'defaults' => array(
								'action'     => 'rattraperDocsDp',
							),
						),
					),
					'majEnCoursInactiviteDp' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/majEnCoursInactiviteDp',
							'defaults' => array(
								'action'     => 'majEnCoursInactiviteDp',
							),
						),
					),
					'supprEtatDpChgtCamp' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/supprEtatDpChgtCamp',
							'defaults' => array(
								'action'     => 'supprEtatDpChgtCamp',
							),
						),
					),
					// Salto
					'lireApiSIG' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/lireApiSIG',
							'defaults' => array(
								'action'     => 'lireApiSIG',
							),
						),
					),
					'lecturePileApiSig' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/lecturePileApiSig',
							'defaults' => array(
								'action'     => 'lecturePileApiSig',
							),
						),
					),
					'fullImportPresentsSalto' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/fullImportPresentsSalto',
							'defaults' => array(
								'action'     => 'fullImportPresentsSalto',
							),
						),
					),
					'importSaltoDateDepartAuj' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/importSaltoDateDepartAuj',
							'defaults' => array(
								'action'     => 'importSaltoDateDepartAuj',
							),
						),
					),
					'lireLogSalto' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/lireLogSalto',
							'defaults' => array(
								'action'     => 'lireLogSalto',
							),
						),
					),
					'confirmesSalto' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/confirmesSalto',
							'defaults' => array(
								'action'     => 'confirmesSalto',
							),
						),
					),
					'lectureQRCode' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/lectureQRCode',
							'defaults' => array(
								'action'     => 'lectureQRCode',
							),
						),
					),
					// Users operations
					'apiReservationsUsersLogin' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/users/login',
							'defaults' => array(
								'action'     => 'login',
							),
						),
					),
					'apiReservationsUsersLogout' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/users/logout',
							'defaults' => array(
								'action'     => 'logout',
							),
						),
					),
					// Defaults operations
					'apiReservationsDefaults' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/users/defaults',
							'defaults' => array(
								'action'     => 'defaults',
							),
						),
					),
					// EDL operations
					'apiReservationsEdls' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/edls',
							'defaults' => array(
								'action'     => 'edls',
							),
						),
					),
					// Filters operations
					'apiReservationsFilters' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/filters',
							'defaults' => array(
								'action'     => 'filters',
							),
						),
					),
					 // Filters nouvelle demande operations
					 'apiReservationsFiltersNewDemand' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/filters-new-demand',
							'defaults' => array(
								'action'     => 'filtersNewDemand',
							),
						),
					),
					 // Upload pictures
					'apiUploadPictures' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/articlePictures',
							'defaults' => array(
								'action'     => 'articlePictures',
							),
						),
					),
					'apiUploadSignature' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/saveSignature',
							'defaults' => array(
								'action'     => 'saveSignature',
							),
						),
					),
					'apiCheckDataIntegrity' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/checkedldataupload',
							'defaults' => array(
								'action'     => 'checkedldataupload',
							),
						),
					),
					 // Upload pictures interv
					'apiUploadIntervPictures' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/intervPictures',
							'defaults' => array(
								'action'     => 'uploadPicsInterv',
							),
						),
					),
					// Get some data by type
					'apiDataAction' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/data',
							'defaults' => array(
								'action'     => 'data',
							),
						),
					),
					// Interventions techniques operations
					'apiReservationsInterventionsTechniques' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/interventions-techniques',
							'defaults' => array(
								'action'     => 'interventionsTechniques',
							),
						),
					),
					// Intercontrats operations
					'apiReservationsIntercontrats' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/intercontrats',
							'defaults' => array(
								'action'     => 'intercontrats',
							),
						),
					),
					// Upload pictures
					'apiUploadCourrierPictures' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/saveFileCourriers',
							'defaults' => array(
								'action'     => 'saveFileCourriers',
							),
						),
					),
					// Upload file with CKEDITOR
					'apiUploadFileWithCkeditor' => array(
						'type' => 'Literal',
						'options' => array(
							'route'    => '/uploadFileWithCkeditor',
							'defaults' => array(
								'action'     => 'uploadFileWithCkeditor',
							),
						),
					),
				),
			),
			// END API

		// API-REST
		'apirest' => array(
		'type' => 'Literal',
		'options' => array(
			'route'    => '/api/rest',
			'defaults' => array(
			'controller' => 'Reservation\Controller\ApiRest',
			'action'     => 'index',
			),
		),
		'may_terminate' => true,
		'child_routes' => array(
			'default' => array(
			'type' => 'segment',
			'options' => array(
				'route'    => '/[:suite]',
				'constraints' => array(
				'suite'	=> '[a-zA-Z0-9_/-]*',
				),
				'defaults' => array(
				'controller' => 'Reservation\Controller\ApiRest',
				'action'     => 'index',
				),
			),
			),
			'login' => array(
			'type' => 'segment',
			'options' => array(
				'route'    => '/login',
				'constraints' => array(),
				'defaults' => array(
				'controller' => 'Reservation\Controller\ApiRest',
				'action'     => 'login',
				),
			),
			),
			'logout' => array(
			'type' => 'segment',
			'options' => array(
				'route'    => '/logout',
				'constraints' => array(),
				'defaults' => array(
				'controller' => 'Reservation\Controller\ApiRest',
				'action'     => 'logout',
				),
			),
			),
			'reservationCreatePrestation' => array(
			'type' => 'segment',
			'options' => array(
				'route'    => '/reservation/create/prestation[/:id]',
				'defaults' => array(
				'controller' => 'Reservation\Controller\ApiRest',
				'action'     => 'reservationCreatePrestation',
				),
				'constraints' => array(
				'id' => '[1-9]\d*',
				),
			),
			),
			'reservationCreateReservationIdfr' => array(
			'type' => 'segment',
			'options' => array(
				'route'    => '/reservation/create/reservationidfr[/:id]',
				'defaults' => array(
				'controller' => 'Reservation\Controller\ApiRest',
				'action'     => 'reservationCreateReservationIdfr',
				),
				'constraints' => array(
				'id' => '[1-9]\d*',
				),
			),
			),
			'reservationGetLogement' => array(
			'type' => 'segment',
			'options' => array(
				'route'    => '/reservation/get/logement[/:id]',
				'defaults' => array(
				'controller' => 'Reservation\Controller\ApiRest',
				'action'     => 'reservationGetLogement',
				),
				'constraints' => array(
				'id' => '[1-9]\d*',
				),
			),
			),

			'getLogements' => array(
			'type' => 'segment',
			'options' => array(
				'route'    => '/get/logements',
				'defaults' => array(
				'controller' => 'Reservation\Controller\ApiRest',
				'action'     => 'getLogements',
				),
				'constraints' => array(
				),
			),
			),

		),
		), // END API
		),
	),
	'controllers' => array(
		'invokables' => array(
			'Reservation\Controller\Residences' => 'Reservation\Controller\ResidencesController',
			'Reservation\Controller\Etudiants' => 'Reservation\Controller\EtudiantsController',
			'Reservation\Controller\Canal' => 'Reservation\Controller\CanalController',
			'Reservation\Controller\Code' => 'Reservation\Controller\CodeController',
			'Reservation\Controller\Resa' => 'Reservation\Controller\ResaController',
			'Reservation\Controller\Batiment' => 'Reservation\Controller\BatimentController',
			'Reservation\Controller\Logement' => 'Reservation\Controller\LogementController',
			'Reservation\Controller\Typelogement' => 'Reservation\Controller\TypelogementController',
			'Reservation\Controller\StockCS' => 'Reservation\Controller\StockCSController',
			'Reservation\Controller\RPLS' => 'Reservation\Controller\RPLSController',
			'Reservation\Controller\Logs' => 'Reservation\Controller\LogsController',
			'Reservation\Controller\Locataires' => 'Reservation\Controller\LocatairesController',
			'Reservation\Controller\Programme' => 'Reservation\Controller\ProgrammeController',
			//'Reservation\Controller\Choix' => 'Reservation\Controller\ChoixController',
			'Reservation\Controller\Etudianthome' => 'Reservation\Controller\EtudianthomeController',
			'Reservation\Controller\Tarif' => 'Reservation\Controller\TarifController',
			'Reservation\Controller\Mailing' => 'Reservation\Controller\MailingController',
			'Reservation\Controller\Financier' => 'Reservation\Controller\FinancierController',
			'Reservation\Controller\Droit' => 'Reservation\Controller\DroitController',
			'Reservation\Controller\User' => 'Reservation\Controller\UserController',
			'Reservation\Controller\Document' => 'Reservation\Controller\DocumentController',
			'Reservation\Controller\Lieu' => 'Reservation\Controller\LieuController',
			'Reservation\Controller\Liste' => 'Reservation\Controller\ListeController',
			'Reservation\Controller\Signature' => 'Reservation\Controller\SignatureController',
			'Reservation\Controller\FactureElectronique' => 'Reservation\Controller\FactureElectroniqueController',
			'Reservation\Controller\Edl' => 'Reservation\Controller\EdlController',
			'Reservation\Controller\Configuration' => 'Reservation\Controller\ConfigurationController',
			'Reservation\Controller\Stock' => 'Reservation\Controller\StockController',
			'Reservation\Controller\Column' => 'Reservation\Controller\ColumnController',
			'Reservation\Controller\Formulaire' => 'Reservation\Controller\FormulaireController',
			'Reservation\Controller\Planning' => 'Reservation\Controller\PlanningController',
			'Reservation\Controller\Demandes' => 'Reservation\Controller\DemandesController',
			'Reservation\Controller\Colis' => 'Reservation\Controller\ColisController',
			'Reservation\Controller\Helper' => 'Reservation\Controller\HelperController',
			'Reservation\Controller\Stats' => 'Reservation\Controller\StatsController',
			// 'Reservation\Controller\Colis' => 'Reservation\Controller\ColisController',
			'Reservation\Controller\Dashboard' => 'Reservation\Controller\DashboardController',
			'Reservation\Controller\Api' => 'Reservation\Controller\ApiController',
			'Reservation\Controller\Multisuivis' => 'Reservation\Controller\MultisuivisController',
			'Reservation\Controller\SMS' => 'Reservation\Controller\SMSController',
			'Reservation\Controller\Catalogue' => 'Reservation\Controller\CatalogueController',
			'Reservation\Controller\Boutique' => 'Reservation\Controller\BoutiqueController',
			'Reservation\Controller\ApiRest' => 'Reservation\Controller\ApiRestController',
			'Reservation\Controller\FormulairesLoge' => 'Reservation\Controller\FormulairesLogeController',
			'Reservation\Controller\Alert' => 'Reservation\Controller\AlertController',
			'Reservation\Controller\Push' => 'Reservation\Controller\PushController',
			'Reservation\Controller\Facturation' => 'Reservation\Controller\FacturationController',
		),
	),

	'translator' => array(
		'locale' => 'fr_FR',
		'translation_file_patterns' => array(
			array(
				'type'     => 'gettext',
				'base_dir' => __DIR__ . '/../language',
				'pattern'  => '%s.mo',
			),
			array(
				'type'        => 'phparray',
				'base_dir'    => __DIR__ . '/../resources/languages',
				'pattern'     => '/%s/Zend_Validate.php',
				'text_domain' => 'default',
			),
		),
	),

	'view_manager' => array(
		'template_path_stack' => array(
			__DIR__ . '/../view',
		),
	),
);
