Took 4 hours 1 minute
This commit is contained in:
Christopher
2023-07-11 18:23:23 +02:00
parent e7dd0b2fd6
commit eb805a994b
26 changed files with 1005 additions and 120 deletions
+134 -2
View File
@@ -1,4 +1,9 @@
<?php
require_once "vendor/blog-engine/php/Configuration.php";
require_once "vendor/blog-engine/php/Authentication/AuthController.php";
use BlogEngine\Configuration;
use BlogEngine\Authentication\AuthController;
if(file_exists("_config.php")) {
require "vendor/blog-engine/php/Dictionary.php";
}
@@ -20,6 +25,9 @@
public function main($argv, $argc) : void{
if($argc > 1){
switch($argv[1]){
case "init":
$this->init();
break;
case "compile":
if($argv[2] != null)
switch($argv[2]) {
@@ -105,7 +113,7 @@
$site = str_replace($page_tag, $this->dictionary->page_tags[$page_tag], $site);
}
$site = str_replace("<body>", "<body>\n<?php include \$topbar; ?>", $site);
$site = str_replace("<body>", "<body>\n<?php echo \$topbar; ?>", $site);
$site_file = fopen("$folder/" . $name, "w");
fwrite($site_file, $site);
@@ -215,12 +223,136 @@ Aby zatrzymać serwer, naciśnij Ctrl+C
= Krzysztof KrzysiekSiemv Smaga 2023
===============================
Dostępne komendy dla narzędzia:
* init - uruchamia kreator bloga
* start-server [pub/dev] - uruchom serwer dla projektu. Opcja 'dev' specjalna dla programisty, opcja 'pub' dla każdego użytkownika. Domyślnie 'pub'
* help - wyświetl listę komend
* compile [pub/dev] - skompiluj projekt strony z folderu 'src'. Opcja 'dev' specjalna dla programisty, opcja 'pub' dla każdego użytkownika. Domyślnie 'pub'
";
}
public function init() : void {
$data = array();
echo "Okeeej! Czas na konfiguracje serwera blogowego! Zacznijmy od początku.\n";
$_POST['BLOG_AUTHOR'] = readline("Jak się nazywasz: ");
echo "\n> Cześć, {$_POST['BLOG_AUTHOR']}! ";
$_POST['BLOG_TITLE'] = readline("Jak będzie się ten blog nazywał: ");
while($_POST['BLOG_TITLE'] == ""){
$_POST['BLOG_TITLE'] = readline("Jeszcze raz... Jak się będzie nazywać ten blog: ");
}
$_POST['BLOG_DESC'] = readline("O czym jest ten blog? Jaki jest jego opis: ");
while($_POST['BLOG_DESC'] == ""){
$_POST['BLOG_DESC'] = readline("Jeszcze raz... O czym jest ten blgo? Jaki jest jego opis: ");
}
$_POST['BLOG_TAGS'] = readline("Jakie są słowa kluczowe dla tego bloga (oddziel przecinkiem): ");
while($_POST['BLOG_TAGS'] == ""){
$_POST['BLOG_TAGS'] = readline("Jeszcze raz... Jakie są słowa kluczowe dla tego bloga? Oddziel słowa przecinkiem: ");
}
$_POST['BLOG_DOMAIN'] = readline("Na jakiej domenie będzie stał blog? (Domyślnie http://localhost): ");
if($_POST['BLOG_DOMAIN'] == "")
$_POST['BLOG_DOMAIN'] = "http://localhost";
echo "\nDobrze, przejdźmy do konfiguracji bazy danych. Nie będzie trudno\n";
$_POST['DB_HOST'] = readline("Jaki jest adres serwera bazy danych? (Domyślnie: 127.0.0.1:3306): ");
if($_POST['DB_HOST'] == "")
$_POST['DB_HOST'] = "127.0.0.1:3306";
$_POST['DB_USER'] = readline("Nazwa użytkownika (Domyślnie: root): ");
if($_POST['DB_USER'] == "")
$_POST['DB_USER'] = "root";
$_POST['DB_PASS'] = readline("Hasło: ");
$_POST['DB_NAME'] = readline("Baza danych: ");
while($_POST['DB_NAME'] == "")
$_POST['DB_NAME'] = readline("Podaj poprawną nazwę bazy danych: ");
echo "\nUstawmy teraz odpowiednie porty\n";
$_POST['PUB_PORT'] = readline("Port dla publicznego trybu serwera (Domyślnie: 8080): ");
if($_POST['PUB_PORT'] == "")
$_POST['PUB_PORT'] = "8080";
$_POST['DEV_PORT'] = readline("Port dla deweloperskiego trybu serwera (Domyślnie: 8081): ");
if($_POST['DEV_PORT'] == "")
$_POST['DEV_PORT'] = "8081";
echo "\nTeraz skonfigurujmy konto administratora dla bloga\n";
$_POST['ADMIN_USER'] = readline("Nazwa użytkownika (Domyślnie: admin): ");
if($_POST['ADMIN_USER'] == "")
$_POST['ADMIN_USER'] = "admin";
$_POST['ADMIN_EMAIL'] = readline("Adres e-mail: ");
while($_POST['ADMIN_EMAIL'] == "")
$_POST['ADMIN_EMAIL'] = readline("Podaj poprawny adres mailowy: ");
$ADMIN_PASS = readline("Hasło: ");
$ADMIN_REPASS = readline("Powtórz hasło: ");
while($ADMIN_PASS != $ADMIN_REPASS){
echo "\nBłędnie wpisano hasła. Wpisz ponownie hasło\n";
$ADMIN_PASS = readline("Hasło: ");
$ADMIN_REPASS = readline("Powtórz hasło: ");
}
$_POST['ADMIN_PASS'] = $ADMIN_PASS;
if(strtolower(readline("Czy chcesz skonfigurować teraz serwer poczty? (Y/N) (Domyślnie: N): ")) == "y"){
$_POST['MAIL_NAME'] = readline("Podaj adres, z którego będą wysyłane maile: ");
while($_POST['MAIL_NAME'] == "")
$_POST['MAIL_NAME'] = readline("Podaj adres, z którego będą wysyłane maile: ");
$_POST['MAIL_PASS'] = readline("Hasło: ");
while($_POST['MAIL_PASS'] == "")
$_POST['MAIL_PASS'] = readline("Hasło: ");
$_POST['MAIL_SRV'] = readline("Serwer poczty wychodzącej (SMTP): ");
while($_POST['MAIL_SRV'] == "")
$_POST['MAIL_SRV'] = readline("Serwer poczty wychodzącej (SMTP): ");
$_POST['MAIL_PORT'] = readline("Port serwera: ");
while($_POST['MAIL_PORT'] == "")
$_POST['MAIL_PORT'] = readline("Port serwera: ");
$MAIL_SSL = strtolower(readline("Czy serwer poczty wymaga certyfikatu SSL? (Y/n): "));
while($MAIL_SSL != "y" && $MAIL_SSL != "n"){
$MAIL_SSL = strtolower(readline("Czy serwer poczty wymaga certyfikatu SSL? (Y/n): "));
}
if($MAIL_SSL == "y")
$MAIL_SSL = 1;
else
$MAIL_SSL = 0;
} else {
$_POST['MAIL_NAME'] = "";
$_POST['MAIL_PASS'] = "";
$_POST['MAIL_SRV'] = "";
$_POST['MAIL_PORT'] = "";
$MAIL_SSL = 0;
}
$data = [
"BLOG_TITLE" => $_POST['BLOG_TITLE'], "BLOG_DESC" => $_POST['BLOG_DESC'], "BLOG_AUTHOR" => $_POST['BLOG_AUTHOR'], "BLOG_TAGS" => $_POST['BLOG_TAGS'], "BLOG_DOMAIN" => $_POST['BLOG_DOMAIN'], "BLOG_ICON" => $file,
"DB_HOST" => $_POST['DB_HOST'], "DB_USER" => $_POST['DB_USER'], "DB_PASS" => $_POST['DB_PASS'], "DB_NAME" => $_POST['DB_NAME'],
"PUB_PORT" => $_POST['PUB_PORT'], "DEV_PORT" => $_POST['DEV_PORT'],
"ADMIN_USER" => $_POST['ADMIN_USER'], "ADMIN_EMAIL" => $_POST['ADMIN_EMAIL'], "ADMIN_PASS" => $_POST['ADMIN_PASS'],
"MAIL_NAME" => $_POST['MAIL_NAME'], "MAIL_PASS" => $_POST['MAIL_PASS'], "MAIL_SRV" => $_POST['MAIL_SRV'], "MAIL_PORT" => $_POST['MAIL_PORT'], "MAIL_SSL" => $MAIL_SSL
];
$configuration = new Configuration();
$auth = new AuthController();
$configuration->SendData($data);
include "_config.php";
$auth->CreateDatabase();
echo "Pomyślnie skonfigurowano!";
}
}
$exec = new CompileIt();