Example #1
0
    public function __construct($mode = 0)
    {
        self::$_instance = $this;
        if ($mode == 0) {
            require './cms/config/db_settings.conf.php';
        } else {
            require './config/db_settings.conf.php';
        }
        self::$db_settings = $db_settings;
        switch (self::$db_settings['type']) {
            case 'sqlite':
                if ($mode == 0) {
                    self::$content = new PDO('sqlite:' . self::$db_settings['db_content_file']);
                    self::$entries = new PDO('sqlite:' . self::$db_settings['db_entry_file']);
                    #self::$content = new PDO('sqlite:'.self::$db_settings['db_content_file'], NULL, NULL, array(PDO::ATTR_PERSISTENT => TRUE));
                    #self::$entries = new PDO('sqlite:'.self::$db_settings['db_entry_file'], NULL, NULL, array(PDO::ATTR_PERSISTENT => TRUE));
                    self::$content->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                    self::$entries->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                }
                if ($mode == 1) {
                    self::$content = new PDO('sqlite:../' . self::$db_settings['db_content_file']);
                    self::$entries = new PDO('sqlite:../' . self::$db_settings['db_entry_file']);
                    self::$userdata = new PDO('sqlite:../' . self::$db_settings['db_userdata_file']);
                    self::$content->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                    self::$entries->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                    self::$userdata->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                }
                break;
            case 'sqlite2':
                if ($mode == 0) {
                    self::$content = new PDO('sqlite2:' . self::$db_settings['db_content_file']);
                    self::$entries = new PDO('sqlite2:' . self::$db_settings['db_entry_file']);
                }
                if ($mode == 1) {
                    self::$content = new PDO('sqlite2:../' . self::$db_settings['db_content_file']);
                    self::$entries = new PDO('sqlite2:../' . self::$db_settings['db_entry_file']);
                    self::$userdata = new PDO('sqlite2:../' . self::$db_settings['db_userdata_file']);
                }
                break;
            case 'mysql':
                self::$complete = new PDO('mysql:host=' . self::$db_settings['host'] . ';port=' . self::$db_settings['port'] . ';dbname=' . self::$db_settings['database'], self::$db_settings['user'], self::$db_settings['password']);
                self::$complete->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                self::$complete->query("set names utf8");
                self::$content =& self::$complete;
                self::$entries =& self::$complete;
                if ($mode == 1) {
                    self::$userdata =& self::$complete;
                }
                break;
            case 'postgresql':
                self::$complete = new PDO('pgsql:dbname=' . self::$db_settings['database'] . ';host=' . self::$db_settings['host'] . ';user='******'user'] . ';password='******'password']);
                self::$complete->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                #self::$complete->query("set names utf8");
                self::$content =& self::$complete;
                self::$entries =& self::$complete;
                if ($mode == 1) {
                    self::$userdata =& self::$complete;
                }
                break;
            default:
                ?>
<p>Database type not supported.</p><?php 
                exit;
        }
    }