106 lines
2.8 KiB
PHP
106 lines
2.8 KiB
PHP
<?php
|
|
|
|
global $app;
|
|
|
|
// PDO connection
|
|
$app->container->set('pdo', function() use ($app) {
|
|
$settings = $app->config('db');
|
|
$host = trim($settings['host']);
|
|
$db = trim($settings['dbname']);
|
|
$pdo = new PDO("mysql:host=$host;dbname=$db;charset=utf8mb4", trim($settings['user']), trim($settings['pass']), [
|
|
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
|
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
|
PDO::ATTR_EMULATE_PREPARES => false,
|
|
]);
|
|
|
|
return $pdo;
|
|
});
|
|
|
|
// PDO connection (PDO-driver)
|
|
$app->container->set('mypdo', function() use ($app) {
|
|
$settings = $app->config('db');
|
|
if (!$pdo = new MysqlPdo(trim($settings['host']), trim($settings['dbname']), trim($settings['user']), trim($settings['pass']), false))
|
|
die("No connect database...");
|
|
|
|
$pdo->query("SET NAMES 'utf8mb4'");
|
|
|
|
return $pdo;
|
|
});
|
|
|
|
|
|
// PostgreSQL connection
|
|
$app->container->set('pgsql', function() use ($app) {
|
|
$settings = $app->config('pgsql');
|
|
|
|
$host = trim($settings['host']);
|
|
$db = trim($settings['dbname']);
|
|
|
|
$pdo = null;
|
|
|
|
try {
|
|
$pdo = new PDO("pgsql:host=$host;dbname=$db;port=5432;", trim($settings['user']), trim($settings['pass']), [
|
|
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
|
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
|
PDO::ATTR_EMULATE_PREPARES => false,
|
|
]);
|
|
} catch (\Throwable $th) {
|
|
var_dump('$th');die;
|
|
}
|
|
|
|
|
|
return $pdo;
|
|
});
|
|
|
|
// MySQL connection
|
|
$app->container->set('mysql', function() use ($app) {
|
|
$settings = $app->config('db');
|
|
if (!$mdb = mysql_connect($settings['host'], $settings['user'], $settings['pass']))
|
|
die("No connect database...");
|
|
|
|
if (!mysql_select_db($settings['dbname'], $mdb))
|
|
die("No selected database...");
|
|
|
|
$sql = "SET NAMES 'utf8mb4'";
|
|
mysql_query($sql, $mdb);
|
|
|
|
return $mdb;
|
|
});
|
|
|
|
// Sphinx connection #1 (Global Search part)
|
|
$app->container->set('sphinx', function() use ($app) {
|
|
$settings = $app->config('db');
|
|
if (!$sphinx = new MysqlPdo($settings['host_sphinx'], null, null, null, true, '9306'))
|
|
die("No connect database...");
|
|
|
|
$sphinx->query("SET NAMES 'utf8mb4'");
|
|
|
|
return $sphinx;
|
|
});
|
|
|
|
// Sphinx connection #2 (My objects, Agency objects etc.)
|
|
$app->container->set('sphinx2', function() use ($app) {
|
|
$settings = $app->config('db');
|
|
if (!$sphinx = new MysqlPdo($settings['host_sphinx2'], null, null, null, true, '9306'))
|
|
die("No connect database...");
|
|
|
|
$sphinx->query("SET NAMES 'utf8mb4'");
|
|
|
|
return $sphinx;
|
|
});
|
|
|
|
|
|
// FTP connection
|
|
$app->container->set('ftp', function() use ($app) {
|
|
|
|
$conn = null;
|
|
$settings = $app->config('ftp');
|
|
|
|
if ($conn = ftp_connect($settings['host']))
|
|
die("No FTP connection...");
|
|
|
|
if (!ftp_login($conn, $settings['user'], $settings['pass']))
|
|
die("No FTP login failed...");
|
|
|
|
return $conn;
|
|
});
|