Browse Source

draft submit form #14

main
ghost 1 year ago
parent
commit
31b8a0a5fb
  1. 80
      src/app/controller/submit.php
  2. 102
      src/app/view/theme/default/submit.phtml

80
src/app/controller/submit.php

@ -2,6 +2,13 @@ @@ -2,6 +2,13 @@
class AppControllerSubmit
{
private $_validator;
public function __construct(AppModelValidator $validator)
{
$this->_validator = $validator;
}
private function _response(string $title, string $h1, string $text, int $code = 200)
{
require_once __DIR__ . '/response.php';
@ -48,6 +55,79 @@ class AppControllerSubmit @@ -48,6 +55,79 @@ class AppControllerSubmit
);
}
// Form
$form = (object)
[
'title' => (object)
[
'error' => [],
'attribute' => (object)
[
'value' => null,
'minlength' => $this->_validator->getPageTitleLengthMin(),
'maxlength' => $this->_validator->getPageTitleLengthMax(),
'placeholder' => sprintf(
_('Page subject (%s-%s chars)'),
number_format($this->_validator->getPageTitleLengthMin()),
number_format($this->_validator->getPageTitleLengthMax())
),
]
],
'description' => (object)
[
'error' => [],
'attribute' => (object)
[
'value' => null,
'minlength' => $this->_validator->getPageDescriptionLengthMin(),
'maxlength' => $this->_validator->getPageDescriptionLengthMax(),
'placeholder' => sprintf(
_('Page description text (%s-%s chars)'),
number_format($this->_validator->getPageDescriptionLengthMin()),
number_format($this->_validator->getPageDescriptionLengthMax())
),
]
],
'keywords' => (object)
[
'error' => [],
'attribute' => (object)
[
'value' => null,
'minlength' => $this->_validator->getPageKeywordsLengthMin(),
'maxlength' => $this->_validator->getPageKeywordsLengthMax(),
'placeholder' => sprintf(
_('Page keywords (%s-%s total / %s-%s chars per item)'),
number_format($this->_validator->getPageKeywordsQuantityMin()),
number_format($this->_validator->getPageKeywordsQuantityMax()),
number_format($this->_validator->getPageKeywordsLengthMin()),
number_format($this->_validator->getPageKeywordsLengthMax())
),
]
],
'torrent' => (object)
[
'error' => [],
'attribute' => (object)
[
'value' => null,
'placeholder' => sprintf(
_('Torrent file (use Ctrl to select multiple files)')
),
],
],
'magnet' => (object)
[
'error' => [],
'value' => null,
],
];
if (isset($_POST))
{
}
// Render
require_once __DIR__ . '/module/head.php';

102
src/app/view/theme/default/submit.phtml

@ -12,17 +12,105 @@ @@ -12,17 +12,105 @@
<div class="margin-b-24 padding-b-16 border-bottom-default">
<h2><?php echo _('Submit') ?></h2>
</div>
<form class="margin-t-8" name="search" method="post" action="submit">
<form class="margin-t-8" name="submit" method="post" action="submit">
<div class="margin-b-16">
<label for="title">
<?php echo _('Title') ?>
</label>
<sub class="opacity-0 parent-hover-opacity-09"
title="<?php echo $form->title->attribute->placeholder ?>">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-info-circle-fill" viewBox="0 0 16 16">
<path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"/>
</svg>
</sub>
<?php foreach ($form->title->error as $error) { ?>
<div class="text-color-red margin-b-8">
<?php echo $error ?>
</div>
<?php } ?>
<input class="width-100 margin-t-8 <?php echo ($form->title->error ? 'background-color-red' : false) ?>"
type="text"
name="title"
id="title"
value="<?php echo $form->title->attribute->value ?>"
placeholder="<?php echo $form->title->attribute->placeholder ?>"
minlength="<?php echo $form->title->attribute->minlength ?>"
maxlength="<?php echo $form->title->attribute->maxlength ?>" />
</div>
<div class="margin-y-8 padding-t-4">
<label for="description">
<?php echo _('Description') ?>
</label>
<sub class="opacity-0 parent-hover-opacity-09"
title="<?php echo $form->description->attribute->placeholder ?>">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-info-circle-fill" viewBox="0 0 16 16">
<path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"/>
</svg>
</sub>
<?php foreach ($form->description->error as $error) { ?>
<div class="text-color-red margin-b-8">
<?php echo $error ?>
</div>
<?php } ?>
<textarea class="width-100 margin-t-8 <?php echo ($form->description->error ? 'background-color-red' : false) ?>"
name="description"
id="description"
placeholder="<?php echo $form->description->attribute->placeholder ?>"
minlength="<?php echo $form->description->attribute->minlength ?>"
maxlength="<?php echo $form->description->attribute->maxlength ?>"><?php echo $form->description->attribute->value ?></textarea>
</div>
<div class="margin-y-8 padding-t-4">
<label for="keywords">
<?php echo _('Keywords') ?>
</label>
<sub class="opacity-0 parent-hover-opacity-09"
title="<?php echo $form->keywords->attribute->placeholder ?>">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-info-circle-fill" viewBox="0 0 16 16">
<path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"/>
</svg>
</sub>
<?php foreach ($form->keywords->error as $error) { ?>
<div class="text-color-red margin-b-8">
<?php echo $error ?>
</div>
<?php } ?>
<textarea class="width-100 margin-t-8 <?php echo ($form->keywords->error ? 'background-color-red' : false) ?>"
name="keywords"
id="keywords"
placeholder="<?php echo $form->keywords->attribute->placeholder ?>"
minlength="<?php echo $form->keywords->attribute->minlength ?>"
maxlength="<?php echo $form->keywords->attribute->maxlength ?>"><?php echo $form->keywords->attribute->value ?></textarea>
</div>
<div class="margin-y-8 padding-t-4">
<label for="torrent">
<?php echo _('Torrent file') ?>
</label>
<sub class="opacity-0 parent-hover-opacity-09"
title="<?php echo $form->torrent->attribute->placeholder ?>">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-info-circle-fill" viewBox="0 0 16 16">
<path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"/>
</svg>
</sub>
<?php foreach ($form->torrent->error as $error) { ?>
<div class="text-color-red margin-b-8">
<?php echo $error ?>
</div>
<?php } ?>
<input class="width-100 margin-t-8 <?php echo ($form->torrent->error ? 'background-color-red' : false) ?>"
type="file"
multiple="multiple"
name="torrent"
id="torrent"
value="<?php echo $form->torrent->attribute->value ?>" />
</div>
<!--
<div class="margin-y-8 padding-t-4">
<label class="margin-b-16 display-block" for="magnet"><?php echo _('Magnet URL') ?></label>
<textarea class="width-100" name="magnet" id="magnet" placeholder="<?php echo _('magnet: ...') ?>"></textarea>
</div>
<div class="margin-b-16">
<label class="margin-b-16 display-block" for="torrent"><?php echo _('Torrent file') ?></label>
<input class="width-100" type="file" name="torrent" id="torrent" value="" />
</div>
<div class="text-right">
<input type="submit" value="<?php echo _('submit') ?>" />
-->
<div class="padding-t-8 text-right">
<input class="button-green" type="submit" value="<?php echo _('Submit') ?>" />
</div>
</form>
</div>

Loading…
Cancel
Save