ver. 0.278: Settings + Languages frontend migration, bug fix get_single_settings_value

- Add cached frontend methods to existing Domain repositories (allSettings, getSingleValue, defaultLanguage, activeLanguages, translations)
- Convert front\factory\Settings and Languages to facades delegating to Domain repositories
- Fix get_single_settings_value() - was hardcoded to 'firm_name', now uses $param correctly
- Add CacheHandler stub methods (get/set/exists) to test bootstrap
- Establish architectural rule: Domain classes are shared between admin and frontend

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-16 13:50:27 +01:00
parent bd0a555bca
commit 59b36f48b1
14 changed files with 483 additions and 164 deletions

View File

@@ -1,43 +1,22 @@
<?php
namespace front\factory;
/**
* Fasada delegujaca do Domain\Settings\SettingsRepository.
*/
class Settings
{
public static function settings_details( $admin = false )
{
global $mdb;
$cacheHandler = new \CacheHandler();
$cacheKey = "\front\factory\Settings::settings_details";
$objectData = $cacheHandler->get($cacheKey);
if ( !$objectData or $admin )
public static function settings_details($admin = false)
{
$results = $mdb -> select( 'pp_settings', '*' );
if ( is_array( $results ) ) foreach ( $results as $row )
$settings[ $row['param'] ] = $row['value'];
$cacheHandler -> set( $cacheKey, $settings );
global $mdb;
$repo = new \Domain\Settings\SettingsRepository($mdb);
return $repo->allSettings($admin);
}
else
public static function get_single_settings_value($param)
{
return unserialize( $objectData );
global $mdb;
$repo = new \Domain\Settings\SettingsRepository($mdb);
return $repo->getSingleValue($param);
}
return $settings;
}
static public function get_single_settings_value( $param ) {
global $mdb;
if ( !$value = \Cache::fetch( "get_single_settings_value:$param" ) ) {
$value = $mdb -> get( 'pp_settings', 'value', [ 'param' => 'firm_name' ] );
\Cache::store( "get_single_settings_value:$param", $value );
}
return $value;
}
}