setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); return true; } catch (PDOException $e) { return false; } } $dbConnectionSuccess = testDbConnection($dbhost, $dbname, $dbuser, $dbpass); if ($dbConnectionSuccess) { $connFileContent = 'setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);' . PHP_EOL; $connFileContent .= '} catch (PDOException $e) {' . PHP_EOL; $connFileContent .= ' die("Error connecting to the database: " . $e->getMessage());' . PHP_EOL; $connFileContent .= '}' . PHP_EOL; $connFilePath = '../conn/conn.php'; $connFile = fopen($connFilePath, 'w'); fwrite($connFile, $connFileContent); fclose($connFile); require_once $connFilePath; $insertUserQuery = "INSERT INTO `users` (`id`, `username`, `usermail`, `password`, `permissions`) VALUES (?, ?, ?, ?, ?)"; $stmt = $db->prepare($insertUserQuery); $id = 1; $username = 'Admin'; $usermail = 'drm@drm.com'; $hashedPassword = '$2y$10$mgPCjxp2i04PkS3RUyD40.7kT5WRdnMuci6eBCb0GY4I..G7kPLZy'; $permissions = 'admin'; $stmt->bindParam(1, $id, PDO::PARAM_INT); $stmt->bindParam(2, $username, PDO::PARAM_STR); $stmt->bindParam(3, $usermail, PDO::PARAM_STR); $stmt->bindParam(4, $hashedPassword, PDO::PARAM_STR); $stmt->bindParam(5, $permissions, PDO::PARAM_STR); $stmt->execute(); $createTablesQuery = " SET SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO'; SET AUTOCOMMIT = 0; START TRANSACTION; SET time_zone = '+00:00'; CREATE TABLE `canales` ( `id` int(11) UNSIGNED NOT NULL, `name` varchar(255) NOT NULL, `m3u8Dir` varchar(255) NOT NULL, `tmpDir` varchar(255) NOT NULL, `keyU` varchar(255) NOT NULL, `keyID` varchar(255) NOT NULL, `proxy` varchar(255) NOT NULL, `useProxy` enum('true','false') NOT NULL, `url` varchar(255) NOT NULL, `pidm3u8` int(11) DEFAULT NULL, `time_started` datetime DEFAULT NULL, `video` varchar(50) DEFAULT NULL, `audio` varchar(50) DEFAULT NULL, `subtitle` varchar(50) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `users` ( `id` int(11) UNSIGNED NOT NULL, `username` varchar(255) NOT NULL, `usermail` varchar(255) NOT NULL, `password` varchar(255) NOT NULL, `permissions` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `users` (`id`, `username`, `usermail`, `password`, `permissions`) VALUES (1, 'Admin', 'drm@drm.com', ?, 'admin'); ALTER TABLE `canales` ADD PRIMARY KEY (`id`); ALTER TABLE `users` ADD PRIMARY KEY (`id`); ALTER TABLE `canales` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10; ALTER TABLE `users` MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; COMMIT; "; $db->prepare("UPDATE `users` SET `password` = ? WHERE `id` = 1")->execute([$hashedPassword]); $db->exec($createTablesQuery); echo '
'; echo '

Installation completed

'; echo '

The database connection details have been saved in the conn.php file.

'; echo '

Login details for the administrator account:

'; echo '
    '; echo '
  • Username: Admin
  • '; echo '
  • Email: drm@drm.com
  • '; echo '
  • Password: 22333265
  • '; echo '
'; echo '
'; echo 'Go to Home'; } else { echo '
'; echo '

Error

'; echo '

Unable to connect to the database. Please check the connection details and try again.

'; echo '
'; } } ?>