| Server IP : 37.9.174.138 / Your IP : 216.73.216.117 Web Server : Apache System : Linux vps6.backend.sk 6.12.100+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.100-1 (2026-07-30) x86_64 User : ftpuser ( 1001) PHP Version : 8.4.24 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/backend-accounting.sk/app/modules/gDriveWatchDog/code/ |
Upload File : |
<?php
namespace modules\gDriveWatchDog\code;
class EvidenceLicenseForm extends \modules\forms\code\AbstractForm {
/**
* Obfuscated HTML input names (same approach as WatchFolderForm) to reduce
* browser address/name autofill heuristics. API remaps these back to DB columns.
*
* @var array<string,string>
*/
public const ADDRESS_FIELD_MAP = [
'name' => 'el_a47n2p',
'birth_number' => 'el_b83m5q',
'street' => 'el_k72q9m',
'city' => 'el_p48z1b',
'zip' => 'el_r63t7v',
'country' => 'el_c91w4k',
];
/** @var int */
private $gdriveWatchdogId;
public function __construct(int $gdriveWatchdogId = 0) {
$this->gdriveWatchdogId = $gdriveWatchdogId;
parent::__construct();
}
public function getAllElements(): array {
$t = $this->t;
return [
'name' => [
'db' => true,
'controller' => \modules\forms\code\TextController::class,
'pfbc' => new \PFBC\Element\Textbox(
$t->_get('Meno a priezvisko licencora'),
self::ADDRESS_FIELD_MAP['name'],
[
'class' => 'form-control',
'maxlength' => 100,
'required' => 1,
'autocomplete' => 'off',
'data-grid-class' => 'col-md-6',
]
),
],
'birth_number' => [
'db' => true,
'controller' => \modules\forms\code\TextController::class,
'pfbc' => new \PFBC\Element\Textbox(
$t->_get('Rodné číslo'),
self::ADDRESS_FIELD_MAP['birth_number'],
[
'required' => 1,
'pattern' => '^\d{6}\/?\d{3,4}$',
'inputmode' => 'numeric',
'class' => 'form-control',
'maxlength' => 11,
'autocomplete' => 'off',
'placeholder' => $t->_get('Zadajte rodné číslo bez lomky'),
'data-grid-class' => 'col-md-6',
]
),
],
$this->getNextHtmlInputKey() => $this->getNewRowElement(),
$this->getNextHtmlInputKey() => [
'db' => false,
'pfbc' => new \PFBC\Element\HTML(
'<div class="col-xs-12" style="float:none;width:100%;clear:both;margin-top:8px;margin-bottom:10px;">'
. '<div style="background:#f5f5f5;padding:8px 12px;font-size:13px;font-weight:600;border-radius:5px;">'
. htmlspecialchars($t->_get('Adresa trvalého pobytu'), ENT_QUOTES, 'UTF-8')
. '</div>'
. '</div>'
),
],
'street' => [
'db' => true,
'controller' => \modules\forms\code\TextController::class,
'pfbc' => new \PFBC\Element\Textbox(
$t->_get('Ulica a číslo'),
self::ADDRESS_FIELD_MAP['street'],
[
'required' => 1,
'class' => 'form-control g-location-autocomplete-1',
'maxlength' => 100,
'autocomplete' => 'off',
'placeholder' => $t->_get('Zadajte adresu'),
'data-grid-class' => 'col-md-12',
]
),
],
$this->getNextHtmlInputKey() => $this->getNewRowElement(),
'city' => [
'db' => true,
'controller' => \modules\forms\code\TextController::class,
'pfbc' => new \PFBC\Element\Textbox(
$t->_get('Mesto'),
self::ADDRESS_FIELD_MAP['city'],
[
'required' => 1,
'class' => 'form-control',
'maxlength' => 100,
'autocomplete' => 'off',
'data-grid-class' => 'col-md-4',
]
),
],
'zip' => [
'db' => true,
'controller' => \modules\forms\code\TextController::class,
'pfbc' => new \PFBC\Element\Tel(
$t->_get('PSČ'),
self::ADDRESS_FIELD_MAP['zip'],
[
'required' => 1,
'pattern' => '\d{3}\s?\d{2}',
'class' => 'form-control',
'maxlength' => 10,
'autocomplete' => 'off',
'data-grid-class' => 'col-md-4',
]
),
],
'country' => [
'db' => true,
'controller' => \modules\forms\code\TextController::class,
'pfbc' => new \PFBC\Element\Textbox(
$t->_get('Krajina'),
self::ADDRESS_FIELD_MAP['country'],
[
'required' => 1,
'class' => 'form-control',
'maxlength' => 100,
'value' => 'Slovensko',
'autocomplete' => 'off',
'data-grid-class' => 'col-md-4',
]
),
],
$this->getNextHtmlInputKey() => $this->getNewRowElement(),
'note' => [
'db' => true,
'controller' => \modules\forms\code\TextController::class,
'pfbc' => new \PFBC\Element\Textarea(
$t->_get('Poznámka'),
'note',
[
'class' => 'form-control',
'data-grid-class' => 'col-md-12',
]
),
],
$this->getNextHtmlInputKey() => $this->getNewRowElement(),
$this->getNextHtmlInputKey() => [
'db' => false,
'pfbc' => new \PFBC\Element\HTML(
'<div class="col-xs-12 evidence-license-validity-title" style="float:none;width:100%;clear:both;margin-top:8px;margin-bottom:10px;">'
. '<div style="background:#f5f5f5;padding:8px 12px;font-size:13px;font-weight:600;border-radius:5px;">'
. htmlspecialchars($t->_get('Platnosť licencie'), ENT_QUOTES, 'UTF-8')
. '</div>'
. '</div>'
),
],
$this->getNextHtmlInputKey() => [
'db' => false,
'pfbc' => new \PFBC\Element\HTML('<div class="col-md-12" id="evidenceLicenseValidityPanel"></div>'),
],
'gdrive_watchdog_id' => [
'db' => true,
'controller' => \modules\forms\code\TextController::class,
'pfbc' => new \PFBC\Element\Hidden('gdrive_watchdog_id', $this->gdriveWatchdogId),
],
'id' => [
'db' => true,
'controller' => \modules\forms\code\TextController::class,
'pfbc' => new \PFBC\Element\Hidden('id', 0),
],
'last_update' => [
'db' => true,
'controller' => \modules\forms\code\TextController::class,
'pfbc' => new \PFBC\Element\Hidden('last_update'),
],
];
}
protected function configureForm(): void {
$this->form->configure([
'prevent' => ['bootstrap', 'jQuery'],
'ajax' => 1,
'ajaxCallback' => '',
'action' => '',
'autocomplete' => 'off',
'view' => new \PFBC\View\ThreeColumns(),
'ajaxMethod' => "ajax('/api/admin/gDriveWatchDog/evidenceLicenses/manage/', 'POST', $(this).serialize(), 'afterManage');",
]);
}
}