diff --git a/compilation_cache/14/14bb04555643336484373f73ae8830b9.php b/compilation_cache/14/14bb04555643336484373f73ae8830b9.php
deleted file mode 100755
index d39c722..0000000
--- a/compilation_cache/14/14bb04555643336484373f73ae8830b9.php
+++ /dev/null
@@ -1,96 +0,0 @@
-source = $this->getSourceContext();
-
- $this->blocks = [
- 'title' => [$this, 'block_title'],
- 'content' => [$this, 'block_content'],
- ];
- }
-
- protected function doGetParent(array $context)
- {
- // line 1
- return "layouts/simple.html.twig";
- }
-
- protected function doDisplay(array $context, array $blocks = [])
- {
- $macros = $this->macros;
- $this->parent = $this->loadTemplate("layouts/simple.html.twig", "main/index.html.twig", 1);
- $this->parent->display($context, array_merge($this->blocks, $blocks));
- }
-
- // line 3
- public function block_title($context, array $blocks = [])
- {
- $macros = $this->macros;
- echo twig_escape_filter($this->env, ($context["title"] ?? null), "html", null, true);
- }
-
- // line 5
- public function block_content($context, array $blocks = [])
- {
- $macros = $this->macros;
- // line 6
- echo " ";
- echo twig_escape_filter($this->env, $this->env->getFunction('create_form')->getCallable()(), "html", null, true);
- echo "
- ";
- // line 7
- echo twig_escape_filter($this->env, ($context["content"] ?? null), "html", null, true);
- echo "
-";
- }
-
- /**
- * @codeCoverageIgnore
- */
- public function getTemplateName()
- {
- return "main/index.html.twig";
- }
-
- /**
- * @codeCoverageIgnore
- */
- public function isTraitable()
- {
- return false;
- }
-
- /**
- * @codeCoverageIgnore
- */
- public function getDebugInfo()
- {
- return array ( 63 => 7, 58 => 6, 54 => 5, 47 => 3, 36 => 1,);
- }
-
- public function getSourceContext()
- {
- return new Source("", "main/index.html.twig", "/home/kali/php/untitled/views/main/index.html.twig");
- }
-}
diff --git a/compilation_cache/b6/b6a9b94df97efc8dc9336c36ada05909.php b/compilation_cache/b6/b6a9b94df97efc8dc9336c36ada05909.php
deleted file mode 100755
index fb0d5fb..0000000
--- a/compilation_cache/b6/b6a9b94df97efc8dc9336c36ada05909.php
+++ /dev/null
@@ -1,101 +0,0 @@
-source = $this->getSourceContext();
-
- $this->parent = false;
-
- $this->blocks = [
- 'title' => [$this, 'block_title'],
- 'content' => [$this, 'block_content'],
- ];
- }
-
- protected function doDisplay(array $context, array $blocks = [])
- {
- $macros = $this->macros;
- // line 1
- echo "
-
-
-
- ";
- // line 5
- $this->displayBlock('title', $context, $blocks);
- echo "
-
-
-
-
-
-
-
-
- ";
- // line 15
- $this->displayBlock('content', $context, $blocks);
- // line 16
- echo "
-
-
-
-
-
-";
- }
-
- // line 5
- public function block_title($context, array $blocks = [])
- {
- $macros = $this->macros;
- }
-
- // line 15
- public function block_content($context, array $blocks = [])
- {
- $macros = $this->macros;
- }
-
- /**
- * @codeCoverageIgnore
- */
- public function getTemplateName()
- {
- return "layouts/simple.html.twig";
- }
-
- /**
- * @codeCoverageIgnore
- */
- public function getDebugInfo()
- {
- return array ( 76 => 15, 70 => 5, 60 => 16, 58 => 15, 45 => 5, 39 => 1,);
- }
-
- public function getSourceContext()
- {
- return new Source("", "layouts/simple.html.twig", "/home/kali/php/untitled/views/layouts/simple.html.twig");
- }
-}
diff --git a/composer.json b/composer.json
index 0e15c5b..9e6bf03 100755
--- a/composer.json
+++ b/composer.json
@@ -17,6 +17,7 @@
"craft-group/phroute": "^2.1",
"twig/twig": "^3.0",
"illuminate/database": "^11.0",
- "vlucas/phpdotenv": "^5.6"
+ "vlucas/phpdotenv": "^5.6",
+ "illuminate/filesystem": "^11.1"
}
}
diff --git a/composer.lock b/composer.lock
index 5aab1f1..07559e0 100755
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "857445edf4547c968bb438b2f705ab3b",
+ "content-hash": "8425ba8fa8c3256af1097d721de637ad",
"packages": [
{
"name": "brick/math",
@@ -603,6 +603,73 @@
},
"time": "2024-03-19T20:07:36+00:00"
},
+ {
+ "name": "illuminate/filesystem",
+ "version": "v11.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/illuminate/filesystem.git",
+ "reference": "5467e5c884a78847321926c748294c06f191027f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/illuminate/filesystem/zipball/5467e5c884a78847321926c748294c06f191027f",
+ "reference": "5467e5c884a78847321926c748294c06f191027f",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/collections": "^11.0",
+ "illuminate/contracts": "^11.0",
+ "illuminate/macroable": "^11.0",
+ "illuminate/support": "^11.0",
+ "php": "^8.2",
+ "symfony/finder": "^7.0"
+ },
+ "suggest": {
+ "ext-fileinfo": "Required to use the Filesystem class.",
+ "ext-ftp": "Required to use the Flysystem FTP driver.",
+ "ext-hash": "Required to use the Filesystem class.",
+ "illuminate/http": "Required for handling uploaded files (^7.0).",
+ "league/flysystem": "Required to use the Flysystem local driver (^3.0.16).",
+ "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).",
+ "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).",
+ "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).",
+ "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).",
+ "symfony/filesystem": "Required to enable support for relative symbolic links (^7.0).",
+ "symfony/mime": "Required to enable support for guessing extensions (^7.0)."
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "11.x-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "functions.php"
+ ],
+ "psr-4": {
+ "Illuminate\\Filesystem\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ }
+ ],
+ "description": "The Illuminate Filesystem package.",
+ "homepage": "https://laravel.com",
+ "support": {
+ "issues": "https://github.com/laravel/framework/issues",
+ "source": "https://github.com/laravel/framework"
+ },
+ "time": "2024-03-12T11:29:47+00:00"
+ },
{
"name": "illuminate/macroable",
"version": "v11.0.8",
@@ -1157,6 +1224,70 @@
],
"time": "2024-03-02T12:46:12+00:00"
},
+ {
+ "name": "symfony/finder",
+ "version": "v7.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/finder.git",
+ "reference": "6e5688d69f7cfc4ed4a511e96007e06c2d34ce56"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/6e5688d69f7cfc4ed4a511e96007e06c2d34ce56",
+ "reference": "6e5688d69f7cfc4ed4a511e96007e06c2d34ce56",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2"
+ },
+ "require-dev": {
+ "symfony/filesystem": "^6.4|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Finder\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Finds files and directories via an intuitive fluent interface",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/finder/tree/v7.0.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-10-31T17:59:56+00:00"
+ },
{
"name": "symfony/polyfill-ctype",
"version": "v1.29.0",
diff --git a/console.php b/console.php
index 947cf2e..34ef2d2 100755
--- a/console.php
+++ b/console.php
@@ -1,6 +1,7 @@
create("some", "migrations", "my");
+////} catch (Exception $e) {
+//// var_dump($e->getMessage());
+////}
+//$rep = new \Illuminate\Database\Migrations\DatabaseMigrationRepository();
+//$migrator = new \Illuminate\Database\Migrations\Migrator()
+
+//UserMigration::up();
+//\itguild\forms\migrations\FormsMigration::up();
+//\itguild\forms\migrations\InputsTypeMigration::up();
+//\itguild\forms\migrations\FormsInputMigration::up();
+//\itguild\forms\migrations\FormsResMigration::up();
+//\itguild\forms\migrations\InputsValueMigrations::up();
+DB::forms('form_input')-> get();
diff --git a/index.php b/index.php
index df005d7..104dccd 100755
--- a/index.php
+++ b/index.php
@@ -18,6 +18,11 @@ $router->get('/', [\itguild\forms\app\controllers\MainController::class, 'indexA
$router->get('/example', [\itguild\forms\app\controllers\MainController::class, 'exampleAction']);
$router->get('/create-user', [\itguild\forms\app\controllers\UserController::class, 'createUserAction']);
$router->get('/get-user/{id}', [\itguild\forms\app\controllers\UserController::class, 'getUserAction']);
+$router->get("/form/{id}", [\itguild\forms\app\controllers\FormController::class, "indexAction"]);
+$router->get("/form-input/{id}", [\itguild\forms\app\controllers\FormInputController::class, "indexAction"]);
+$router->get("/form-res/{id}", [\itguild\forms\app\controllers\FormResController::class, "indexAction"]);
+$router->get("/input-type/{id}", [\itguild\forms\app\controllers\InputTypeController::class, "indexAction"]);
+$router->get("/input-value/{id}", [\itguild\forms\app\controllers\InputValueController::class, "indexAction"]);
$dispatcher = new Phroute\Phroute\Dispatcher($router->getData());
$response = $dispatcher->dispatch($_SERVER['REQUEST_METHOD'], parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
diff --git a/src/app/controllers/FormController.php b/src/app/controllers/FormController.php
new file mode 100644
index 0000000..3338f51
--- /dev/null
+++ b/src/app/controllers/FormController.php
@@ -0,0 +1,26 @@
+fields;
+ Debug::dd($fields);
+
+ }
+ public function createFormAction()
+ {
+ $form = Form::Create([ 'title' => "dsds", 'status' => 1, 'params' => "", ]);
+ }
+
+}
\ No newline at end of file
diff --git a/src/app/controllers/FormInputController.php b/src/app/controllers/FormInputController.php
new file mode 100644
index 0000000..ef7e02f
--- /dev/null
+++ b/src/app/controllers/FormInputController.php
@@ -0,0 +1,16 @@
+first());
+
+ }
+
+}
\ No newline at end of file
diff --git a/src/app/controllers/FormResController.php b/src/app/controllers/FormResController.php
new file mode 100644
index 0000000..f94c1f8
--- /dev/null
+++ b/src/app/controllers/FormResController.php
@@ -0,0 +1,16 @@
+first());
+
+ }
+
+}
\ No newline at end of file
diff --git a/src/app/controllers/InputTypeController.php b/src/app/controllers/InputTypeController.php
new file mode 100644
index 0000000..bd114f5
--- /dev/null
+++ b/src/app/controllers/InputTypeController.php
@@ -0,0 +1,16 @@
+first());
+
+ }
+
+}
\ No newline at end of file
diff --git a/src/app/controllers/InputValueController.php b/src/app/controllers/InputValueController.php
new file mode 100644
index 0000000..a0c8dab
--- /dev/null
+++ b/src/app/controllers/InputValueController.php
@@ -0,0 +1,16 @@
+first());
+
+ }
+
+}
\ No newline at end of file
diff --git a/src/app/models/FormInputModel.php b/src/app/models/FormInputModel.php
new file mode 100644
index 0000000..4c9c5d0
--- /dev/null
+++ b/src/app/models/FormInputModel.php
@@ -0,0 +1,23 @@
+hasOne(InputTypeModel::class, "id");
+ }
+}
\ No newline at end of file
diff --git a/src/app/models/FormModel.php b/src/app/models/FormModel.php
new file mode 100644
index 0000000..e444f8e
--- /dev/null
+++ b/src/app/models/FormModel.php
@@ -0,0 +1,23 @@
+hasMany(FormInputModel::class, "form_id");
+ }
+}
\ No newline at end of file
diff --git a/src/app/models/FormResModel.php b/src/app/models/FormResModel.php
new file mode 100644
index 0000000..1010043
--- /dev/null
+++ b/src/app/models/FormResModel.php
@@ -0,0 +1,18 @@
+create("form_input", function (Blueprint $table) {
+ $table->id("id");
+ $table->unsignedBigInteger('form_id');
+ $table->unsignedBigInteger('input_type_id');
+ $table->text('params');
+ $table->timestamps();
+
+ $table->index('form_id');
+ $table->index('input_type_id');
+ $table->foreign('form_id', 'fk_form_input_form')->references('id')->on('form');
+ $table->foreign('input_type_id', 'fk_form_input_input_type')->references('id')->on('input_type');
+ });
+
+ }
+
+ public static function down(): void
+ {
+ Illuminate\Database\Capsule\Manager::schema()->drop("form_input");
+ }
+
+}
\ No newline at end of file
diff --git a/src/migrations/FormsMigration.php b/src/migrations/FormsMigration.php
new file mode 100644
index 0000000..6778a37
--- /dev/null
+++ b/src/migrations/FormsMigration.php
@@ -0,0 +1,31 @@
+create("form", function ($table) {
+ $table->id('id');
+ $table->string('title');
+ $table->integer('status');
+ $table->text('params')->nullable();
+ $table->timestamps();
+ });
+
+ }
+ public static function get()
+ {
+ return DB::forms('form_input')-> get();
+ }
+
+ public static function down(): void
+ {
+ Illuminate\Database\Capsule\Manager::schema()->drop("form");
+ }
+
+}
\ No newline at end of file
diff --git a/src/migrations/FormsResMigration.php b/src/migrations/FormsResMigration.php
new file mode 100644
index 0000000..85e616e
--- /dev/null
+++ b/src/migrations/FormsResMigration.php
@@ -0,0 +1,28 @@
+create("form_res", function ($table) {
+ $table->id('id');
+ $table->unsignedBigInteger('form_id');
+ $table->json('data');
+ $table->timestamps();
+
+ $table->foreign('form_id', 'fk_form_form')->references('id')->on('form');
+ });
+
+ }
+
+ public static function down(): void
+ {
+ Illuminate\Database\Capsule\Manager::schema()->drop("form_res");
+ }
+
+}
\ No newline at end of file
diff --git a/src/migrations/InputsTypeMigration.php b/src/migrations/InputsTypeMigration.php
new file mode 100644
index 0000000..57815bf
--- /dev/null
+++ b/src/migrations/InputsTypeMigration.php
@@ -0,0 +1,25 @@
+create("input_type", function ($table) {
+ $table->id('id');
+ $table->string('type');
+ $table->string('name');
+ $table->integer('status');
+ });
+
+ }
+
+ public static function down(): void
+ {
+ Illuminate\Database\Capsule\Manager::schema()->drop("input_type");
+ }
+
+}
\ No newline at end of file
diff --git a/src/migrations/InputsValueMigrations.php b/src/migrations/InputsValueMigrations.php
new file mode 100644
index 0000000..c14e24c
--- /dev/null
+++ b/src/migrations/InputsValueMigrations.php
@@ -0,0 +1,28 @@
+create("input_value", function ($table) {
+ $table->id('id');
+ $table->unsignedBigInteger('form_input_id');
+ $table->string('value');
+ $table->timestamps();
+
+ $table->foreign('form_input_id', 'fk_form_input')->references('id')->on('form_input');
+ });
+
+ }
+
+ public static function down(): void
+ {
+ Illuminate\Database\Capsule\Manager::schema()->drop("input_value");
+ }
+
+}
\ No newline at end of file