mirror of
https://github.com/wallabag/wallabag.git
synced 2025-01-20 21:58:09 +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);
|
||||
break;
|
||||
case 'mysql':
|
||||
$db_path = 'mysql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB . ';charset=utf8mb4';
|
||||
$this->handle = new PDO($db_path, STORAGE_USER, STORAGE_PASSWORD, array(
|
||||
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4',
|
||||
));
|
||||
if (MYSQL_USE_UTF8MB4) {
|
||||
$db_path = 'mysql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB . ';charset=utf8mb4';
|
||||
$this->handle = new PDO($db_path, STORAGE_USER, STORAGE_PASSWORD, array(
|
||||
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;
|
||||
case 'postgres':
|
||||
$db_path = 'pgsql:host=' . STORAGE_SERVER . ';dbname=' . STORAGE_DB;
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
@define ('STORAGE_DB', 'poche');
|
||||
@define ('STORAGE_USER', '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
|
||||
|
|
|
@ -83,6 +83,7 @@ else if (isset($_POST['install'])) {
|
|||
$handle = new PDO($db_path, $_POST['mysql_user'], $_POST['mysql_password'], array(
|
||||
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
|
||||
$db_path = 'mysql:host=' . $_POST['mysql_server'] . ';dbname=' . $_POST['mysql_database'];
|
||||
$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) {
|
||||
$sql = "INSERT INTO users (username, password, name, email) VALUES (?, ?, ?, '')";
|
||||
$params = array($username, $salted_password, $username);
|
||||
|
|
Loading…
Reference in a new issue