     1: <?php
     2: /*************************************************************************************/
     3: /*                                                                                   */
     4: /*      Thelia                                                                       */
     5: /*                                                                                   */
     6: /*      Copyright (c) OpenStudio                                                     */
     7: /*  email : info@thelia.net                                                      */
     8: /*      web : http://www.thelia.net                                                  */
     9: /*                                                                                   */
    10: /*      This program is free software; you can redistribute it and/or modify         */
    11: /*      it under the terms of the GNU General Public License as published by         */
    12: /*      the Free Software Foundation; either version 3 of the License                */
    13: /*                                                                                   */
    14: /*      This program is distributed in the hope that it will be useful,              */
    15: /*      but WITHOUT ANY WARRANTY; without even the implied warranty of               */
    16: /*      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                */
    17: /*      GNU General Public License for more details.                                 */
    18: /*                                                                                   */
    19: /*      You should have received a copy of the GNU General Public License            */
    20: /*      along with this program. If not, see <http://www.gnu.org/licenses/>.     */
    21: /*                                                                                   */
    22: /*************************************************************************************/
    23:
    24: namespace Thelia\Config;
    25:
    26: use Symfony\Component\Config\Definition\Processor;
    27: use Symfony\Component\Config\Definition\ConfigurationInterface;
    28:
    29:
    30: class DefinePropel {
    31:
    32:     private $processorConfig;
    33:
    34:     public function __construct(ConfigurationInterface $configuration, array $propelConf)
    35:     {
    36:         $processor = new Processor();
    37:         $this->processorConfig = $processor->processConfiguration($configuration, $propelConf);
    38:     }
    39:
    40:     public function getConfig()
    41:     {
    42:         $connection = $this->processorConfig["connection"];
    43:         return $conf = array(
    44:             "datasources" =>
    45:                 array(
    46:                     "thelia" =>
    47:                         array(
    48:                             "adapter" => $connection["driver"],
    49:                             "connection" =>
    50:                                 array(
    51:                                     "dsn" => $connection["dsn"],
    52:                                     "user" => $connection["user"],
    53:                                     "password" => $connection["password"]
    54:                                 )
    55:                         )
    56:                 )
    57:         );
    58:     }
    59: }