ver 0.250: migrate settings to form-edit and cleanup legacy settings classes

This commit is contained in:
2026-02-08 20:13:01 +01:00
parent 3c50440cb2
commit 9b4c92056d
15 changed files with 480 additions and 326 deletions

View File

@@ -10,7 +10,7 @@ class Newsletter
public static function send()
{
if ( \admin\factory\Newsletter::send( \S::get( 'dates' ), \S::get('template')) )
if ( \admin\factory\Newsletter::send( \S::get( 'dates' ), \S::get( 'template' ) ) )
\S::alert( 'Newsletter został dodany do kolejki wysyłania.' );
header( 'Location: /admin/newsletter/prepare/' );
@@ -26,11 +26,11 @@ class Newsletter
public static function settings_save()
{
$settings = \admin\factory\Settings::settings_details();
$values = json_decode( \S::get( 'values' ), true );
$settingsRepository = new \Domain\Settings\SettingsRepository();
\admin\factory\Settings::settings_update( 'newsletter_footer', $values['newsletter_footer'] );
\admin\factory\Settings::settings_update( 'newsletter_header', $values['newsletter_header'] );
$settingsRepository -> updateSetting( 'newsletter_footer', $values['newsletter_footer'] ?? '' );
$settingsRepository -> updateSetting( 'newsletter_header', $values['newsletter_header'] ?? '' );
\S::alert( 'Ustawienia zostały zapisane.' );
@@ -40,8 +40,10 @@ class Newsletter
public static function settings()
{
$settingsRepository = new \Domain\Settings\SettingsRepository();
return \admin\view\Newsletter::settings(
\admin\factory\Settings::settings_details()
$settingsRepository -> getSettings()
);
}

View File

@@ -1,115 +0,0 @@
<?
namespace admin\controls;
class Settings
{
/**
* @deprecated Routing kieruje do admin\Controllers\SettingsController::clearCache().
* Ta metoda pozostaje tylko jako fallback dla starej architektury.
*/
static public function clear_cache()
{
\S::delete_dir( '../temp/' );
\S::delete_dir( '../thumbs/' );
$redis = \RedisConnection::getInstance() -> getConnection();
if ( $redis )
$redis -> flushAll();
\S::alert( 'Cache został wyczyszczony.' );
header( 'Location: /admin/dashboard/main_view/' );
exit;
}
/**
* @deprecated Routing kieruje do admin\Controllers\SettingsController::clearCacheAjax().
* Ta metoda pozostaje tylko jako fallback dla starej architektury.
*/
static public function clear_cache_ajax()
{
try
{
// Czyszczenie katalogów cache
\S::delete_dir( '../temp/' );
\S::delete_dir( '../thumbs/' );
// Czyszczenie Redis cache
$redis = \RedisConnection::getInstance() -> getConnection();
if ( $redis )
$redis -> flushAll();
// Zwróć odpowiedź JSON
echo json_encode( [ 'status' => 'success', 'message' => 'Cache został wyczyszczony.' ] );
}
catch ( \Exception $e )
{
// W przypadku błędu
echo json_encode( [ 'status' => 'error', 'message' => 'Błąd podczas czyszczenia cache: ' . $e->getMessage() ] );
}
exit;
}
/**
* @deprecated Routing kieruje do admin\Controllers\SettingsController::save().
* Ta metoda pozostaje tylko jako fallback dla starej architektury.
*/
public static function settings_save()
{
$values = json_decode( \S::get( 'values' ), true );
$settings = \admin\factory\Settings::settings_details( true );
$response = \admin\factory\Settings::settings_save(
$values['firm_name'], $values['firm_adress'], $values['additional_info'], $values['contact_form'], $values['contact_email'], $values['email_host'],
$values['email_port'], $values['email_login'], $values['email_password'], $values['google_maps'], $values['facebook_link'], $values['statistic_code'], $values['htaccess'],
$values['robots'], $values['shop_bank_account_info'], $values['update'], $values['boot_animation'], $settings['newsletter_header'], $settings['newsletter_footer'], $values['hotpay_api']
);
\admin\factory\Settings::settings_update( 'devel', $values['devel'] == 'on' ? 1 : 0 );
\admin\factory\Settings::settings_update( 'ssl', $values['ssl'] == 'on' ? 1 : 0 );
\admin\factory\Settings::settings_update( 'htaccess_cache', $values['htaccess_cache'] == 'on' ? 1 : 0 );
\admin\factory\Settings::settings_update( 'free_delivery', $values['free_delivery'] );
\admin\factory\Settings::settings_update( 'przelewy24_sandbox', $values['przelewy24_sandbox'] == 'on' ? 1 : 0 );
\admin\factory\Settings::settings_update( 'przelewy24_merchant_id', $values['przelewy24_merchant_id'] );
\admin\factory\Settings::settings_update( 'przelewy24_crc_key', $values['przelewy24_crc_key'] );
\admin\factory\Settings::settings_update( 'update_key', $values['update_key'] );
\admin\factory\Settings::settings_update( 'tpay_id', $values['tpay_id'] );
\admin\factory\Settings::settings_update( 'tpay_sandbox', $values['tpay_sandbox'] == 'on' ? 1 : 0 );
\admin\factory\Settings::settings_update( 'tpay_security_code', $values['tpay_security_code'] );
\admin\factory\Settings::settings_update( 'piksel', $values['piksel'] );
\admin\factory\Settings::settings_update( 'generate_webp', $values['generate_webp'] == 'on' ? 1 : 0 );
\admin\factory\Settings::settings_update( 'lazy_loading', $values['lazy_loading'] == 'on' ? 1 : 0 );
\admin\factory\Settings::settings_update( 'orlen_paczka_map_token', $values['orlen_paczka_map_token'] );
\admin\factory\Settings::settings_update( 'google_tag_manager_id', $values['google_tag_manager_id'] );
\admin\factory\Settings::settings_update( 'infinitescroll', $values['infinitescroll'] == 'on' ? 1 : 0 );
// own_gtm_js
\admin\factory\Settings::settings_update( 'own_gtm_js', $values['own_gtm_js'] );
// own_gtm_html
\admin\factory\Settings::settings_update( 'own_gtm_html', $values['own_gtm_html'] );
foreach ( $values[ 'warehouse_message_zero'] as $key => $val )
\admin\factory\Settings::settings_update( 'warehouse_message_zero_' . $key, $val );
foreach ( $values[ 'warehouse_message_nonzero'] as $key => $val )
\admin\factory\Settings::settings_update( 'warehouse_message_nonzero_' . $key, $val );
\S::delete_dir( '../temp/' );
\S::htacces();
echo json_encode( $response );
exit;
}
/**
* @deprecated Routing kieruje do admin\Controllers\SettingsController::view().
* Ta metoda pozostaje tylko jako fallback dla starej architektury.
*/
public static function view()
{
return \Tpl::view( 'settings/settings', [
'languages' => \admin\factory\Languages::languages_list(),
'settings' => \admin\factory\Settings::settings_details()
] );
}
}
?>