Ejemplo n.º 1
0
 public function getDbConnection()
 {
     $db = new \PicoDb\Database(array('driver' => 'sqlite', 'filename' => ':memory:'));
     if ($db->schema()->check(\Schema\VERSION)) {
         return $db;
     } else {
         die('Unable to migrate database schema!');
     }
 }
Ejemplo n.º 2
0
 public function getDatabaseInstance()
 {
     $db = new \PicoDb\Database(array('driver' => 'sqlite', 'filename' => self::DB_FILENAME));
     if ($db->schema()->check(self::DB_VERSION)) {
         return $db;
     } else {
         die('Unable to migrate database schema!');
     }
 }
Ejemplo n.º 3
0
function create($filename, $username, $password)
{
    $filename = DATA_DIRECTORY . DIRECTORY_SEPARATOR . $filename;
    if (ENABLE_MULTIPLE_DB && !file_exists($filename)) {
        $db = new \PicoDb\Database(array('driver' => 'sqlite', 'filename' => $filename));
        if ($db->schema()->check(Schema\VERSION)) {
            $credentials = array('username' => $username, 'password' => password_hash($password, PASSWORD_BCRYPT));
            $db->hashtable('settings')->put($credentials);
            return true;
        }
    }
    return false;
}
Ejemplo n.º 4
0
            require __DIR__ . '/Schema/Sqlite.php';
            $params = array('driver' => 'sqlite', 'filename' => DB_FILENAME);
            break;
        case 'mysql':
            require __DIR__ . '/Schema/Mysql.php';
            $params = array('driver' => 'mysql', 'hostname' => DB_HOSTNAME, 'username' => DB_USERNAME, 'password' => DB_PASSWORD, 'database' => DB_NAME, 'charset' => 'utf8');
            break;
        case 'postgres':
            require __DIR__ . '/Schema/Postgres.php';
            $params = array('driver' => 'postgres', 'hostname' => DB_HOSTNAME, 'username' => DB_USERNAME, 'password' => DB_PASSWORD, 'database' => DB_NAME);
            break;
        default:
            die('Database driver not supported');
    }
    $db = new \PicoDb\Database($params);
    if ($db->schema()->check(Schema\VERSION)) {
        return $db;
    } else {
        $errors = $db->getLogMessages();
        die('Unable to migrate database schema: <br/><br/><strong>' . (isset($errors[0]) ? $errors[0] : 'Unknown error') . '</strong>');
    }
};
$registry->event = function () use($registry) {
    return new Event();
};
$registry->mailer = function () use($registry) {
    require_once 'vendor/swiftmailer/swift_required.php';
    switch (MAIL_TRANSPORT) {
        case 'smtp':
            $transport = Swift_SmtpTransport::newInstance(MAIL_SMTP_HOSTNAME, MAIL_SMTP_PORT);
            $transport->setUsername(MAIL_SMTP_USERNAME);
Ejemplo n.º 5
0
require __DIR__ . '/core/helper.php';
require __DIR__ . '/core/translator.php';
$registry = new Core\Registry();
$registry->db_version = 14;
$registry->db = function () use($registry) {
    require __DIR__ . '/vendor/PicoDb/Database.php';
    if (DB_DRIVER === 'sqlite') {
        require __DIR__ . '/schemas/sqlite.php';
        $db = new \PicoDb\Database(array('driver' => 'sqlite', 'filename' => DB_FILENAME));
    } elseif (DB_DRIVER === 'mysql') {
        require __DIR__ . '/schemas/mysql.php';
        $db = new \PicoDb\Database(array('driver' => 'mysql', 'hostname' => DB_HOSTNAME, 'username' => DB_USERNAME, 'password' => DB_PASSWORD, 'database' => DB_NAME, 'charset' => 'utf8'));
    } else {
        die('Database driver not supported');
    }
    if ($db->schema()->check($registry->db_version)) {
        return $db;
    } else {
        die('Unable to migrate database schema!');
    }
};
$registry->event = function () use($registry) {
    require __DIR__ . '/core/event.php';
    return new \Core\Event();
};
$registry->action = function () use($registry) {
    require_once __DIR__ . '/models/action.php';
    return new \Model\Action($registry->shared('db'), $registry->shared('event'));
};
$registry->config = function () use($registry) {
    require_once __DIR__ . '/models/config.php';