aboutsummaryrefslogtreecommitdiff
path: root/classes/CinIsis.php
blob: 77804c4448bb981c6279a0614acd29fab6641f67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php

/**
 * CinIsis main class.
 */
class CinIsis {
  /**
   * @var $db
   *   Database resource.
   */  
  var $db;

  /**
   * @var $implementation
   *   Database implementation.
   */
  var $implementation;

  /**
   * Constructor.
   *
   * @param $config
   *   Alternative config file (defaults to 'config/config.yaml').
   *
   * @todo
   *   Config check.
   */   
  function __construct($config = NULL) {
    if ($config == NULL) {
      $config = 'config/config.yaml';
    }

    // Load configuration.
    $config = Spyc::YAMLLoad($config);

    // Load database schema.
    $schema = Spyc::YAMLLoad('schemas/'. $config['database'] .'.yaml');

    // Setup database connection.
    $this->implementation = $config['implementation'] .'Db';
    $this->db             = new $this->implementation($schema);
  }
}