mirror of
https://github.com/wallabag/wallabag.git
synced 2025-08-01 17:38:38 +00:00
(definitely) fixed utf8mb4 and check if user already exists in database before installing first user
This commit is contained in:
parent
7780b8cb37
commit
054c9d8838
3 changed files with 19 additions and 4 deletions
|
@ -31,10 +31,15 @@ class Database {
|
||||||
$this->handle = new PDO($db_path);
|
$this->handle = new PDO($db_path);
|
||||||
break;
|
break;
|
||||||
case 'mysql':
|
case 'mysql':
|
||||||
|
if (MYSQL_USE_UTF8MB4) {
|
||||||
$db_path = 'mysql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB . ';charset=utf8mb4';
|
$db_path = 'mysql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB . ';charset=utf8mb4';
|
||||||
$this->handle = new PDO($db_path, STORAGE_USER, STORAGE_PASSWORD, array(
|
$this->handle = new PDO($db_path, STORAGE_USER, STORAGE_PASSWORD, array(
|
||||||
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4',
|
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4',
|
||||||
));
|
));
|
||||||
|
} else {
|
||||||
|
$db_path = 'mysql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB;
|
||||||
|
$this->handle = new PDO($db_path, STORAGE_USER, STORAGE_PASSWORD);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 'postgres':
|
case 'postgres':
|
||||||
$db_path = 'pgsql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB;
|
$db_path = 'pgsql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB;
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
@define ('STORAGE_DB', 'poche');
|
@define ('STORAGE_DB', 'poche');
|
||||||
@define ('STORAGE_USER', 'poche');
|
@define ('STORAGE_USER', 'poche');
|
||||||
@define ('STORAGE_PASSWORD', 'poche');
|
@define ('STORAGE_PASSWORD', 'poche');
|
||||||
|
@define ('MYSQL_USE_UTF8MB4', FALSE); // This should be false unless you know what it is
|
||||||
|
|
||||||
#################################################################################
|
#################################################################################
|
||||||
# Do not trespass unless you know what you are doing
|
# Do not trespass unless you know what you are doing
|
||||||
|
|
|
@ -83,6 +83,7 @@ else if (isset($_POST['install'])) {
|
||||||
$handle = new PDO($db_path, $_POST['mysql_user'], $_POST['mysql_password'], array(
|
$handle = new PDO($db_path, $_POST['mysql_user'], $_POST['mysql_password'], array(
|
||||||
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4',
|
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4',
|
||||||
));
|
));
|
||||||
|
$content = str_replace("define ('MYSQL_USE_UTF8MB4', FALSE);", "define ('MYSQL_USE_UTF8MB4', TRUE);", $content);
|
||||||
} else { // regular UTF8
|
} else { // regular UTF8
|
||||||
$db_path = 'mysql:host=' . $_POST['mysql_server'] . ';dbname=' . $_POST['mysql_database'];
|
$db_path = 'mysql:host=' . $_POST['mysql_server'] . ';dbname=' . $_POST['mysql_database'];
|
||||||
$handle = new PDO($db_path, $_POST['mysql_user'], $_POST['mysql_password']);
|
$handle = new PDO($db_path, $_POST['mysql_user'], $_POST['mysql_password']);
|
||||||
|
@ -126,6 +127,14 @@ else if (isset($_POST['install'])) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$usertest = executeQuery($handle,"SELECT * from users WHERE username = ?", array($username));
|
||||||
|
if (!empty($usertest)) {
|
||||||
|
$continue = false;
|
||||||
|
$errors[] = "An user already exists with this username in database.";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if ($continue) {
|
if ($continue) {
|
||||||
$sql = "INSERT INTO users (username, password, name, email) VALUES (?, ?, ?, '')";
|
$sql = "INSERT INTO users (username, password, name, email) VALUES (?, ?, ?, '')";
|
||||||
$params = array($username, $salted_password, $username);
|
$params = array($username, $salted_password, $username);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue