diff --git a/assets/styles/app.css b/assets/styles/app.css index a5dad71..ea14ad1 100644 --- a/assets/styles/app.css +++ b/assets/styles/app.css @@ -109,6 +109,29 @@ --font-style-em: italic; } +html { + padding:0px; + margin:0px; +} + +body { + padding:0px; + margin:0px; + background-color: var(--color-background); + color: var(--color-text); + font-family: var(--font-family); + font-size: 16px; +} + +.header { + margin:0px; + /*padding:10px;*/ +} + +main { + padding:0px 10px 0px 10px; +} + h6 { font-family: var(--font-family); font-weight: bold; @@ -198,12 +221,6 @@ a:visited { color: var(--color-link-visited); } -body { - background-color: var(--color-background); - color: var(--color-text); - font-family: var(--font-family); - font-size: 20px; -} .left { text-align: left; @@ -212,6 +229,8 @@ body { .center { text-align: center; + align-self: center; + align-items:center; } .right { diff --git a/assets/titles/mydevel.txt b/assets/titles/mydevel.txt new file mode 100644 index 0000000..76cf1d6 --- /dev/null +++ b/assets/titles/mydevel.txt @@ -0,0 +1,6 @@ + _ _ _ + _ __ ___ _ _ __| | _____ _____| | __ _| |_ +| '_ ` _ \| | | |/ _` |/ _ \ \ / / _ \ | / _` | __| +| | | | | | |_| | (_| | __/\ V / __/ || (_| | |_ +|_| |_| |_|\__, |\__,_|\___| \_/ \___|_(_)__,_|\__| + |___/ diff --git a/config/packages/security.yaml b/config/packages/security.yaml index c24e452..1dd6caa 100644 --- a/config/packages/security.yaml +++ b/config/packages/security.yaml @@ -22,6 +22,7 @@ security: enable_csrf: true logout: path: app_logout + target: app_login # where to redirect after logout # target: app_any_route # where to redirect after logout diff --git a/migrations/Version20241201012357.php b/migrations/Version20241201012357.php deleted file mode 100644 index c3a4b17..0000000 --- a/migrations/Version20241201012357.php +++ /dev/null @@ -1,86 +0,0 @@ -addSql('CREATE TABLE mydevel_webroot_file ( - id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, - owner_id INTEGER NOT NULL, - url CLOB NOT NULL, - abspath CLOB NOT NULL, - description CLOB DEFAULT NULL, - CONSTRAINT FK_A7B135127E3C61F9 FOREIGN KEY (owner_id) REFERENCES mydevel_webroot_user (id) NOT DEFERRABLE INITIALLY IMMEDIATE - )'); - $this->addSql('CREATE UNIQUE INDEX UNIQ_A7B135127E3C61F9 ON mydevel_webroot_file (owner_id)'); - $this->addSql('CREATE TABLE mydevel_webroot_file_permission ( - id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, - role_id INTEGER NOT NULL, - webroot_file_id INTEGER NOT NULL, - is_readable BOOLEAN DEFAULT 1 NOT NULL, - is_writeable BOOLEAN DEFAULT 0 NOT NULL, - is_deleteable BOOLEAN DEFAULT 0 NOT NULL, - CONSTRAINT FK_4D56CEFD60322AC FOREIGN KEY (role_id) REFERENCES mydevel_webroot_role (id) NOT DEFERRABLE INITIALLY IMMEDIATE, - CONSTRAINT FK_4D56CEF2800AFC9 FOREIGN KEY (webroot_file_id) REFERENCES mydevel_webroot_file (id) NOT DEFERRABLE INITIALLY IMMEDIATE - )'); - $this->addSql('CREATE UNIQUE INDEX UNIQ_4D56CEFD60322AC ON mydevel_webroot_file_permission (role_id)'); - $this->addSql('CREATE INDEX IDX_4D56CEF2800AFC9 ON mydevel_webroot_file_permission (webroot_file_id)'); - $this->addSql('CREATE TABLE mydevel_webroot_role ( - id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, - role VARCHAR(255) NOT NULL, - name VARCHAR(255) NOT NULL, - description VARCHAR(1023) DEFAULT NULL - )'); - $this->addSql('CREATE TABLE mydevel_webroot_user ( - id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, - username VARCHAR(180) NOT NULL, - roles CLOB NOT NULL --(DC2Type:json) - , - password VARCHAR(255) NOT NULL, - email VARCHAR(255) NOT NULL, - is_admin BOOLEAN DEFAULT 0 NOT NULL - )'); - $this->addSql('CREATE UNIQUE INDEX UNIQ_A6BDD54BE7927C74 ON mydevel_webroot_user (email)'); - $this->addSql('CREATE UNIQUE INDEX UNIQ_IDENTIFIER_USERNAME ON mydevel_webroot_user (username)'); - $this->addSql('CREATE TABLE messenger_messages ( - id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, - body CLOB NOT NULL, - headers CLOB NOT NULL, - queue_name VARCHAR(190) NOT NULL, - created_at DATETIME NOT NULL --(DC2Type:datetime_immutable) - , - available_at DATETIME NOT NULL --(DC2Type:datetime_immutable) - , - delivered_at DATETIME DEFAULT NULL --(DC2Type:datetime_immutable) - )'); - $this->addSql('CREATE INDEX IDX_75EA56E0FB7336F0 ON messenger_messages (queue_name)'); - $this->addSql('CREATE INDEX IDX_75EA56E0E3BD61CE ON messenger_messages (available_at)'); - $this->addSql('CREATE INDEX IDX_75EA56E016BA31DB ON messenger_messages (delivered_at)'); - } - - public function down(Schema $schema): void - { - // this down() migration is auto-generated, please modify it to your needs - $this->addSql('DROP TABLE mydevel_webroot_file'); - $this->addSql('DROP TABLE mydevel_webroot_file_permission'); - $this->addSql('DROP TABLE mydevel_webroot_role'); - $this->addSql('DROP TABLE mydevel_webroot_user'); - $this->addSql('DROP TABLE messenger_messages'); - } -} diff --git a/migrations/Version20241201011651.php b/migrations/Version20241201030110.php similarity index 98% rename from migrations/Version20241201011651.php rename to migrations/Version20241201030110.php index f11b588..b80f465 100644 --- a/migrations/Version20241201011651.php +++ b/migrations/Version20241201030110.php @@ -10,7 +10,7 @@ use Doctrine\Migrations\AbstractMigration; /** * Auto-generated Migration: Please modify to your needs! */ -final class Version20241201011651 extends AbstractMigration +final class Version20241201030110 extends AbstractMigration { public function getDescription(): string { diff --git a/src/Controller/MainController.php b/src/Controller/MainController.php index 1fe5a39..99015fa 100644 --- a/src/Controller/MainController.php +++ b/src/Controller/MainController.php @@ -6,23 +6,25 @@ use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\HttpKernel\KernelInterface; -//use MyDevel\Webroot\Controller\WebrootMainController; +use App\Controller\WebrootController; -class MainController extends AbstractController //WebrootMainController +class MainController extends WebrootController { #[Route('/', name: 'app_main')] public function index(KernelInterface $kernel): Response { - $project_root = $kernel->getProjectDir(); - - $dotenvlocal_file = join(DIRECTORY_SEPARATOR,[$project_root,'.env.local']); - - if (!file_exists($dotenvlocal_file)) { + $dotenvlocal = join(DIRECTORY_SEPARATOR,[$kernel->getProjectDir(),".env.local"]); + if (!file_exists($dotenvlocal)) { return $this->redirectToRoute('webroot.setup'); } + $user = $this->getUser(); + if (!$user) { + return $this->redirectToRoute("app_login"); + } + return $this->render('main/index.html.twig', [ - 'controller_name' => $kernel->getProjectDir(), + 'user' => $user, ]); } } diff --git a/src/Controller/SetupController.php b/src/Controller/SetupController.php index f5d7a13..5f938ec 100644 --- a/src/Controller/SetupController.php +++ b/src/Controller/SetupController.php @@ -135,7 +135,7 @@ class SetupController extends WebrootSetupController $this->runCreateDatabase(); } catch (\Throwable $ex) { $status = "FAILED"; - $status_message = $this->translate("command.failed",domain:"mydevel.webroot.setup"); + $status_message = $this->trans("command.failed",domain:"mydevel.webroot.setup"); } } elseif ($commands[$step] === "make-migrations") { $output = $this->trans("command.makemigrations",domain:"mydevel.webroot.setup"); @@ -143,31 +143,32 @@ class SetupController extends WebrootSetupController $this->runMakeMigration(); } catch (\Throwable $ex) { $status = "FAILED"; - $status_message = $this->translate("command.failed",domain:"mydevel.webroot.setup"); + $status_message = $this->trans("command.success",domain:"mydevel.webroot.setup"); } } elseif ($commands[$step] === "migrate") { $output = $this->trans("command.migrate",domain:"mydevel.webroot.setup"); try { $this->runMigrate(); } catch (\Throwable $ex) { - $status_message = $this->translate("command.failed",domain:"mydevel.webroot.setup"); + $status_message = $this->trans("command.failed",domain:"mydevel.webroot.setup"); + $status = "FAILED"; } } elseif ($commands[$step] === "populate-database") { $output = $this->trans("command.populatedb",domain:"mydevel.webroot.setup"); - //try { + try { $this->addRoles(); $this->addAdministrator($data); $this->addRootDir($data); $status = "SUCCESS"; $status_message = $this->trans("command.success",domain:"mydevel.webroot.setup"); - // } catch (\Throwable $ex) { - // $status = "FAILED"; - // $status_message = $this->translate("command.failed",domain:"mydevel.webroot.setup"); - // } + } catch (\Throwable $ex) { + $status = "FAILED"; + $status_message = $this->translate("command.failed",domain:"mydevel.webroot.setup"); + } } else { $output = "Unknown command \"" . $commands[$step] . "\""; $status = "FAILED"; - $status_message = $status_message = $this->translate("command.failed",domain:"mydevel.webroot.setup"); + $status_message = $status_message = $this->trans("command.failed",domain:"mydevel.webroot.setup"); } return $this->render('setup/initial-setup.run.html.twig', [ diff --git a/src/Controller/WebrootSetupController.php b/src/Controller/WebrootSetupController.php index 25f7f4b..db33bbd 100644 --- a/src/Controller/WebrootSetupController.php +++ b/src/Controller/WebrootSetupController.php @@ -423,7 +423,7 @@ abstract class WebrootSetupController extends AbstractController public function setSetupFormFromData(Form $form,array $values) { - if (array_key_exists("env", values)) { + if (array_key_exists("env", $values)) { $form->get("env")->setData($values["env"]); } if (array_key_exists("locale",$values)) { @@ -441,7 +441,7 @@ abstract class WebrootSetupController extends AbstractController $form->get("site_email")->setData($site["email"]); } if (array_key_exists("rootdir", $site)) { - $form->set("site_rootdir")->setData($site["rootdir"]); + $form->get("site_rootdir")->setData($site["rootdir"]); } } if (array_key_exists("database",$values)) { @@ -523,13 +523,13 @@ abstract class WebrootSetupController extends AbstractController $form->get("tempdir")->setData(join(DIRECTORY_SEPARATOR,[$this->project_dir,"temp"])); } if (getenv("CONTACT_EMAIL") && strlen(getenv("CONTACT_EMAIL"))) { - form->get('site_email')->setData(getenv("CONTACT_EMAIL")); + $form->get('site_email')->setData(getenv("CONTACT_EMAIL")); } if (getenv("SITE_NAME") && strlen(getenv("SITE_NAME"))) { $form->get("site_name")->setData(getenv("SITE_NAME")); } if (getenv("SITE_ROOTDIR") && strlen("SITE_ROOTDIR")) { - form->set("site_rootdir")->setData(getenv("SITE_ROOTDIR")); + $form->get("site_rootdir")->setData(getenv("SITE_ROOTDIR")); } if (getenv("DATABASE_URL") && strlen("DATABASE_URL")) { $form->get("db_url")->setData(getenv("DATABASE_URL")); @@ -689,9 +689,9 @@ abstract class WebrootSetupController extends AbstractController $ret=""; for ($i=0; $i< $length; ++$i) { - $ret .= x[rand() % $x_len]; + $ret .= $x[rand() % $x_len]; } - return ret; + return $ret; } protected function setInitialSetupDataCookie(Request $request,Form $form,Response $response) @@ -750,7 +750,7 @@ abstract class WebrootSetupController extends AbstractController } } public function writeDotEnvLocal(array $data,bool $generate_app_secret=true) { - $file = fopen(join(DIRECTORY_SEPARATOR,[$this->project_dir,".env.local"])); + $file = fopen(join(DIRECTORY_SEPARATOR,[$this->project_dir,".env.local"]),"w"); fwrite($file,"ENV=" . $data["env"] . "\n"); if ($generate_app_secret) { @@ -758,7 +758,7 @@ abstract class WebrootSetupController extends AbstractController } else { fwrite($file,"APP_SECET=\"" . getenv("APP_SECRET") . "\"\n"); } - fwrite($file,"SITE_NAME=\"" . $data['site']['site_name'] . "\"\n"); + fwrite($file,"SITE_NAME=\"" . $data['site']['name'] . "\"\n"); fwrite($file,"SITE_EMAIL=\"". $data['site']['email'] . "\"\n"); fwrite($file,"SITE_ROOTDIR=\"" .$data['site']['rootdir'] ."\"\n"); diff --git a/templates/base.html.twig b/templates/base.html.twig index 3cda30f..223d52f 100644 --- a/templates/base.html.twig +++ b/templates/base.html.twig @@ -1,5 +1,5 @@ - +
+ _ _ +__ _____| |__ _ __ ___ ___ | |_ +\ \ /\ / / _ \ '_ \| '__/ _ \ / _ \| __| + \ V V / __/ |_) | | | (_) | (_) | |_ + \_/\_/ \___|_.__/|_| \___/ \___/ \__| +
C:/msys64/home/c9mos/www/webroot/src/Controller/MainController.phpC:/msys64/home/c9mos/www/webroot/templates/main/index.html.twigC:/msys64/home/c9mos/www/webroot/src/Controller/MainController.phpC:/msys64/home/c9mos/www/webroot/templates/main/index.html.twig+ You are logged in as {{ user.username }}. +
{% endblock %} diff --git a/templates/webroot.txt b/templates/webroot.txt new file mode 100644 index 0000000..a2b901c --- /dev/null +++ b/templates/webroot.txt @@ -0,0 +1,6 @@ + _ _ +__ _____| |__ _ __ ___ ___ | |_ +\ \ /\ / / _ \ '_ \| '__/ _ \ / _ \| __| + \ V V / __/ |_) | | | (_) | (_) | |_ + \_/\_/ \___|_.__/|_| \___/ \___/ \__| + diff --git a/translations/mydevel.webroot.setup.de.yaml b/translations/mydevel.webroot.setup.de.yaml index cbe0332..738eeff 100644 --- a/translations/mydevel.webroot.setup.de.yaml +++ b/translations/mydevel.webroot.setup.de.yaml @@ -84,3 +84,12 @@ setupform: user: 'Neuer Administrator' title: 'Webroot Installation' submit: 'Einstellungen andwenden und Setup ausführen' +command: + success: ERFOLGREICH + createdb: 'Erstelle Datenbank' + makemigrations: 'Erstelle Datenbankmigrationen' + migrate: 'Migriere Datenbank' + populatedb: 'Fülle Datenbank' + failed: FEHLGESCHLAGEN +button: + return-setup: 'Zurück zum Setup' diff --git a/translations/mydevel.webroot.setup.en.yaml b/translations/mydevel.webroot.setup.en.yaml index 25df329..32b3cfb 100644 --- a/translations/mydevel.webroot.setup.en.yaml +++ b/translations/mydevel.webroot.setup.en.yaml @@ -84,3 +84,12 @@ setupform: user: 'New Adminitrator' title: 'Setup Webroot' submit: 'Run setup' +command: + success: SUCCESS + createdb: 'Creating database' + makemigrations: 'Making migrations' + migrate: 'Migrating database' + populatedb: 'Populating database' + failed: FAILED +button: + return-setup: 'Return to setup'