Files
shopPRO/admin/templates/settings/settings.php
Jacek Pyziak 431add234c ver. 0.283: Legacy class cleanup — S, Html, Email, Image, Log, Mobile_Detect → Shared namespace
- Migrate class.S → Shared\Helpers\Helpers (140+ files), remove 12 unused methods
- Migrate class.Html → Shared\Html\Html
- Migrate class.Email → Shared\Email\Email
- Migrate class.Image → Shared\Image\ImageManipulator
- Delete class.Log (unused), class.Mobile_Detect (outdated UA detection)
- Remove grid library loading from admin (index.php, ajax.php)
- Replace gridEdit usage in 10 admin templates with grid-edit-replacement.php
- Fix grid-edit-replacement.php AJAX to send values as JSON (grid.js compat)
- Remove mobile layout conditionals (m_html/m_css/m_js) from Site + LayoutsRepository
- Remove \Log::save_log() calls from OrderAdminService, ShopOrder, Order

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 23:06:06 +01:00

379 lines
15 KiB
PHP

<script type="text/javascript" src="/libraries/ckeditor/ckeditor.js"></script>
<script type="text/javascript" src="/libraries/ckeditor/adapters/jquery.js"></script>
<script type="text/javascript">
$( function()
{
$( '#settings-tabs' ).easyResponsiveTabs(
{
width: 'auto',
fit: true,
tabidentify: 'settings-tabs',
type: 'vertical'
});
$('#languages-main').easyResponsiveTabs({
width: 'auto',
fit: true,
tabidentify: 'languages-main'
});
$( '#additional_info, #shop_bank_account_info' ).ckeditor(
{
toolbar: 'MyTool',
height: '150'
});
});
</script>
<?
global $db;
ob_start();
?>
<div id="settings-tabs">
<ul class="resp-tabs-list settings-tabs">
<li><i class="fa fa-paper-plane"></i>Dane kontaktowe</li>
<li><i class="fa fa-dollar"></i>Sklep</li>
<li><i class="fa fa-shopping-cart"></i>Produkty</li>
<li><i class="fa fa-envelope"></i>Poczta</li>
<li><i class="fa fa-bars"></i>Pozostałe</li>
<li><i class="fa fa-cog"></i>System</li>
<li><i class="fa fa-line-chart"></i>Konwersje</li>
</ul>
<div class="resp-tabs-container settings-tabs">
<div>
<?= \Shared\Html\Html::input(
array(
'label' => 'Nazwa firmy',
'name' => 'firm_name',
'id' => 'firm_name',
'value' => $this -> settings['firm_name']
)
);?>
<?= \Shared\Html\Html::textarea(
array(
'label' => 'Dodatkowe informacje',
'name' => 'additional_info',
'id' => 'additional_info',
'value' => $this -> settings['additional_info']
)
);?>
<?= \Shared\Html\Html::input_switch(
array(
'label' => 'Mapa',
'name' => 'google_maps',
'checked' => $this -> settings['google_maps'] == 1 ? true : false
)
);?>
<?= \Shared\Html\Html::textarea(
array(
'label' => 'Mapa - adres',
'name' => 'firm_adress',
'id' => 'firm_adress',
'value' => $this -> settings['firm_adress']
)
);?>
</div>
<div>
<?= \Shared\Html\Html::textarea(
array(
'label' => 'Dane do przelewu',
'name' => 'shop_bank_account_info',
'id' => 'shop_bank_account_info',
'value' => $this -> settings['shop_bank_account_info'],
'rows' => 10,
'ckeditor' => true
)
);?>
<?= \Shared\Html\Html::input( [
'label' => 'Klucz API HotPay',
'name' => 'hotpay_api',
'id' => 'hotpay_api',
'value' => $this -> settings['hotpay_api']
] );?>
<?= \Shared\Html\Html::input_switch( [
'label' => 'Tpay.com - tryb sandbox',
'name' => 'tpay_sandbox',
'checked' => $this -> settings['tpay_sandbox'] == 1 ? true : false
] );?>
<?= \Shared\Html\Html::input( [
'label' => 'Tpay.com ID',
'name' => 'tpay_id',
'id' => 'tpay_id',
'value' => $this -> settings['tpay_id']
] );?>
<?= \Shared\Html\Html::input( [
'label' => 'Tpay.com - kod bezpieczeństwa',
'name' => 'tpay_security_code',
'id' => 'tpay_security_code',
'value' => $this -> settings['tpay_security_code']
] );?>
<?= \Shared\Html\Html::input_switch( [
'label' => 'Przelewy24.pl - tryb sandbox',
'name' => 'przelewy24_sandbox',
'checked' => $this -> settings['przelewy24_sandbox'] == 1 ? true : false
] );?>
<?= \Shared\Html\Html::input( [
'label' => 'Przelewy24.pl - merchant ID',
'name' => 'przelewy24_merchant_id',
'id' => 'przelewy24_merchant_id',
'value' => $this -> settings['przelewy24_merchant_id']
] );?>
<?= \Shared\Html\Html::input( [
'label' => 'Przelewy24.pl - klucz CRC',
'name' => 'przelewy24_crc_key',
'id' => 'przelewy24_crc_key',
'value' => $this -> settings['przelewy24_crc_key']
] );?>
<?= \Shared\Html\Html::input( [
'label' => 'Darmowa dostawa od',
'class' => 'number-format',
'name' => 'free_delivery',
'id' => 'free_delivery',
'value' => $this -> settings['free_delivery']
] );?>
<?= \Shared\Html\Html::input( [
'label' => 'Orlen Paczka map token',
'name' => 'orlen_paczka_map_token',
'id' => 'orlen_paczka_map_token',
'value' => $this -> settings['orlen_paczka_map_token']
] );?>
</div>
<div>
<div id="languages-main">
<ul class="resp-tabs-list languages-main htabs">
<? if ( is_array( $this -> languages ) ): foreach ( $this -> languages as $lg ):?>
<? if ( $lg['status'] ):?>
<li><? if ( $lg['id'] == ( new \Domain\Languages\LanguagesRepository( $GLOBALS['mdb'] ) )->defaultLanguage() ) echo '<i class="fa fa-star fa-lg text-system" title="Język domyślny"></i> ';?><?= $lg['name'];?></a></li>
<? endif;?>
<? endforeach; endif;?>
</ul>
<div class="resp-tabs-container languages-main">
<? if ( is_array( $this -> languages ) ): foreach ( $this -> languages as $lg ):?>
<?
$languages = array();
$languages[''] = '---- wersja językowa ----';
if ( is_array( $this -> languages ) ) foreach ( $this -> languages as $lg_tmp )
{
if ( $lg_tmp['id'] != $lg['id'] )
$languages[ $lg_tmp['id'] ] = $lg_tmp['name'];
}
?>
<? if ( $lg['status'] ):?>
<div>
<?= \Shared\Html\Html::input(
array(
'label' => 'Komunikat gdy stan magazynowy równy 0',
'name' => 'warehouse_message_zero[' . $lg['id'] . ']',
'id' => 'warehouse_message_zero_' . $lg['id'],
'value' => $this -> settings[ 'warehouse_message_zero_' . $lg['id'] ],
'inline' => true
)
);?>
<?= \Shared\Html\Html::input(
array(
'label' => 'Komunikat gdy stan magazynowy większy niż 0',
'name' => 'warehouse_message_nonzero[' . $lg['id'] . ']',
'id' => 'warehouse_message_nonzero_' . $lg['id'],
'value' => $this -> settings[ 'warehouse_message_nonzero_' . $lg['id'] ],
'inline' => true
)
);?>
</div>
<? endif;?>
<? endforeach; endif;?>
</div>
<div class="clear"></div>
</div>
</div>
<div>
<?= \Shared\Html\Html::input_switch(
array(
'label' => 'Formularz kontaktowy',
'name' => 'contact_form',
'checked' => $this -> settings['contact_form'] == 1 ? true : false
)
);?>
<?= \Shared\Html\Html::input(
array(
'label' => 'Email kontaktowy',
'name' => 'contact_email',
'id' => 'contact_email',
'value' => $this -> settings['contact_email']
)
);?>
<?= \Shared\Html\Html::input(
array(
'label' => 'Email - host',
'name' => 'email_host',
'id' => 'email_host',
'value' => $this -> settings['email_host']
)
);?>
<?= \Shared\Html\Html::input(
array(
'label' => 'Email - port',
'name' => 'email_port',
'id' => 'email_port',
'value' => $this -> settings['email_port']
)
);?>
<?= \Shared\Html\Html::input(
array(
'label' => 'Email - login',
'name' => 'email_login',
'id' => 'email_login',
'value' => $this -> settings['email_login']
)
);?>
<?= \Shared\Html\Html::input(
array(
'label' => 'Email - hasło',
'name' => 'email_password',
'id' => 'email_password',
'value' => $this -> settings['email_password']
)
);?>
</div>
<div>
<?= \Shared\Html\Html::input(
array(
'label' => 'Facebook link',
'name' => 'facebook_link',
'id' => 'facebook_link',
'value' => $this -> settings['facebook_link']
)
);?>
<?= Html::input( [
'label' => 'Piksel Facebook',
'name' => 'piksel',
'id' => 'piksel',
'value' => $this -> settings['piksel']
]
);
?>
<?= \Shared\Html\Html::textarea(
array(
'label' => 'Kod statystyk',
'name' => 'statistic_code',
'id' => 'statistic_code',
'value' => $this -> settings['statistic_code'],
'rows' => 10
)
);?>
<?= \Shared\Html\Html::textarea(
array(
'label' => 'Własne reguły htacess',
'name' => 'htaccess',
'id' => 'htaccess',
'value' => $this -> settings['htaccess'],
'rows' => 10
)
);?>
<?= \Shared\Html\Html::textarea(
array(
'label' => 'Własne reguły robots.txt',
'name' => 'robots',
'id' => 'robots',
'value' => $this -> settings['robots'],
'rows' => 10
)
);?>
</div>
<div>
<?= \Shared\Html\Html::input_switch(
array(
'label' => 'Aktualizacja',
'name' => 'update',
'checked' => $this -> settings['update'] == 1 ? true : false
)
);?>
<?= Html::input( [
'label' => 'Numer licencji',
'name' => 'update_key',
'id' => 'update_key',
'value' => $this -> settings['update_key']
]
);
?>
<?= \Shared\Html\Html::input_switch(
array(
'label' => 'Strona konstrukcyjna',
'name' => 'devel',
'checked' => $this -> settings['devel'] == 1 ? true : false
)
);?>
<?= \Shared\Html\Html::input_switch( [
'label' => 'Lazy loading obrazów',
'name' => 'lazy_loading',
'checked' => $this -> settings['lazy_loading'] == 1 ? true : false
] );?>
<?= \Shared\Html\Html::input_switch( [
'label' => 'Generowanie obrazków WEBP',
'name' => 'generate_webp',
'checked' => $this -> settings['generate_webp'] == 1 ? true : false
] );?>
<?= \Shared\Html\Html::input_switch( [
'label' => 'Infinitescroll',
'name' => 'infinitescroll',
'checked' => $this -> settings['infinitescroll'] == 1 ? true : false
] );?>
<?= \Shared\Html\Html::input_switch(
array(
'label' => 'Htaccess cache',
'name' => 'htaccess_cache',
'checked' => $this -> settings['htaccess_cache'] == 1 ? true : false
)
);?>
</div>
<div>
<?= Html::input( [
'label' => 'Google Tag Manager - ID',
'name' => 'google_tag_manager_id',
'id' => 'google_tag_manager_id',
'value' => $this -> settings['google_tag_manager_id']
] ); ?>
<?= \Shared\Html\Html::textarea( [
'label' => 'Własny kod GTM JS (bez tagu script)',
'name' => 'own_gtm_js',
'id' => 'own_gtm_js',
'value' => $this -> settings['own_gtm_js'],
'rows' => 10
] );?>
<?= \Shared\Html\Html::textarea( [
'label' => 'Własny kod GTM HTML',
'name' => 'own_gtm_html',
'id' => 'own_gtm_html',
'value' => $this -> settings['own_gtm_html'],
'rows' => 10
] );?>
</div>
</div>
<div class="clear"></div>
<?
$out = ob_get_clean();
$gridId = 'settings-edit';
$gridTitle = 'Edycja ustawień';
$gridSaveUrl = '/admin/settings/save/';
$gridBackUrl = '';
$gridHidden = [];
$gridContent = $out;
$gridPersist = true;
include __DIR__ . '/../components/grid-edit-replacement.php';
?>
<script>CKEDITOR.dtd.$removeEmpty['span'] = false;</script>
<style type="text/css">#g-edit-cancel, #g-edit-save.btn-system { display: none; }</style>
<script type="text/javascript">
$( document).ready( function ()
{
$( '.popover-btn' ).popover(
{
trigger: 'hover',
html: true
});
});
</script>