Aggiunta tabella zz_cache_lang

This commit is contained in:
Pek5892 2024-03-12 17:40:43 +01:00
parent ee25709e46
commit 05a6bb9123
13 changed files with 75 additions and 22 deletions

View File

@ -61,13 +61,13 @@ $handler->setFormatter($formatter);
$logger->pushHandler($handler);
// Lettura della cache
$ultima_esecuzione = Cache::pool(Cache::where('name','Ultima esecuzione del cron')->first()->id);
$ultima_esecuzione = Cache::find((new Cache())->getByName('Ultima esecuzione del cron')->id_record);
$data = $ultima_esecuzione->content;
$in_esecuzione = Cache::pool(Cache::where('name','Cron in esecuzione')->first()->id);
$cron_id = Cache::pool(Cache::where('name','ID del cron')->first()->id);
$in_esecuzione = Cache::find((new Cache())->getByName('Cron in esecuzione')->id_record);
$cron_id = Cache::find((new Cache())->getByName('ID del cron')->id_record);
$disattiva = Cache::pool(Cache::where('name','Disabilita cron')->first()->id);
$disattiva = Cache::find((new Cache())->getByName('Disabilita cron')->id_record);
if ($disattiva->content || (in_array($_SERVER['HTTP_HOST'], ['localhost', '127.0.0.1']) && !$forza_cron_localhost)) {
return;
}

View File

@ -39,7 +39,7 @@ switch (filter('op')) {
}
// Salvataggio della versione nella cache
Cache::pool(Cache::where('name','Ultima esecuzione del cron')->first()->id)->set($versione);
Cache::find((new Cache())->getByName('Ultima esecuzione del cron')->id_record)->set($versione);
echo $versione;
break;

View File

@ -372,7 +372,7 @@ switch (filter('op')) {
break;
case 'informazioni-fe':
$info = Cache::pool(Cache::where('name','Informazioni su spazio FE')->first()->id);
$info = Cache::find((new Cache())->getByName('Informazioni su spazio FE')->id_record);
if (!$info->isValid()) {
$response = Services::request('POST', 'informazioni_fe');
$response = Services::responseBody($response);

View File

@ -42,7 +42,7 @@ class Interaction extends Services
$result = self::getFileList($list);
// Aggiornamento cache hook
Cache::pool(Cache::where('name','Fatture Elettroniche')->first()->id)->set($result);
Cache::find((new Cache())->getByName('Fatture Elettroniche')->id_record)->set($result);
return $result;
}

View File

@ -42,7 +42,7 @@ class Interaction extends Services
$result = self::getFileList($list);
// Aggiornamento cache hook
Cache::pool(Cache::where('name','Ricevute Elettroniche')->first()->id)->set($result);
Cache::find((new Cache())->getByName('Ricevute Elettroniche')->id_record)->set($result);
return $result;
}

View File

@ -42,7 +42,7 @@ class ReceiptHook extends Manager
}
// Lettura cache
$todo_cache = Cache::pool(Cache::where('name','Ricevute Elettroniche')->first()->id);
$todo_cache = Cache::find((new Cache())->getByName('Ricevute Elettroniche')->id_record);
return !$todo_cache->isValid() || !empty($todo_cache->content);
}
@ -50,8 +50,8 @@ class ReceiptHook extends Manager
public function execute()
{
// Lettura cache
$todo_cache = Cache::pool(Cache::where('name','Ricevute Elettroniche')->first()->id);
$completed_cache = Cache::pool(Cache::where('name','Ricevute Elettroniche importate')->first()->id);
$todo_cache = Cache::find((new Cache())->getByName('Ricevute Elettroniche')->id_record);
$completed_cache = Cache::find((new Cache())->getByName('Ricevute Elettroniche importate')->id_record);
// Refresh cache
if (!$todo_cache->isValid()) {
@ -95,8 +95,8 @@ class ReceiptHook extends Manager
public function response()
{
// Lettura cache
$todo_cache = Cache::pool(Cache::where('name','Ricevute Elettroniche')->first()->id);
$completed_cache = Cache::pool(Cache::where('name','Ricevute Elettroniche importate')->first()->id);
$todo_cache = Cache::find((new Cache())->getByName('Ricevute Elettroniche')->id_record);
$completed_cache = Cache::find((new Cache())->getByName('Ricevute Elettroniche Importate')->id_record);
$completed_number = (is_array($completed_cache->content) ? count($completed_cache->content) : 0);
$total_number = $completed_number + (is_array($todo_cache->content) ? count($todo_cache->content) : 0);

View File

@ -44,20 +44,20 @@ class Task extends Resource implements RetrieveInterface, CreateInterface
$database = database();
// Rimozione della registrazione del cron attuale
Cache::pool(Cache::where('name','Ultima esecuzione del cron')->first()->id)->set(null);
Cache::find((new Cache())->getByName('Ultima esecuzione del cron')->id_record)->set(null);
// Segnalazione della chiusura al cron attuale
Cache::pool(Cache::where('name','ID del cron')->first()->id)->set(null);
Cache::find((new Cache())->getByName('ID del cron')->id_record)->set(null);
// Rimozione dell'eventuale blocco sul cron
Cache::pool(Cache::where('name','Disabilita cron')->first()->id)->set(null);
Cache::find((new Cache())->getByName('Disabilita cron')->id_record)->set(null);
// Salvataggio delle modifiche
$database->commitTransaction();
// Attesa della conclusione per il cron precedente
$in_esecuzione = Cache::pool(Cache::where('name','Cron in esecuzione')->first()->id);
$in_esecuzione = Cache::find((new Cache())->getByName('Cron in esecuzione')->id_record);
while ($in_esecuzione->content) {
$timestamp = (new Carbon())->addMinutes(1)->getTimestamp();
time_sleep_until($timestamp);

View File

@ -49,7 +49,7 @@ class Services
*/
public static function getInformazioni($force = false)
{
$cache = Cache::pool(Cache::where('name','Informazioni su Services')->first()->id);
$cache = Cache::find((new Cache())->getByName('Informazioni su Services')->id_record);
// Aggiornamento dei contenuti della cache
if (!$cache->isValid() || $force) {

View File

@ -30,7 +30,7 @@ abstract class CachedManager extends Manager
{
parent::__construct($hook);
$this->cache = Cache::pool(Cache::where('name', $this->getCacheName())->first()->id);
$this->cache = Cache::find((new Cache())->getByName($this->getCacheName())->id_record);
}
abstract public function cacheData();

View File

@ -105,4 +105,34 @@ class Cache extends Model
{
return $query->where('expire_at', '<=', Carbon::now());
}
/**
* Ritorna l'attributo name della cache.
*
* @return string
*/
public function getNameAttribute()
{
return database()->table($this->table.'_lang')
->select('name')
->where('id_record', '=', $this->id)
->where('id_lang', '=', setting('Lingua'))
->first()->name;
}
/**
* Ritorna l'id della cache a partire dal nome.
*
* @param string $name il nome da ricercare
*
* @return \Illuminate\Support\Collection
*/
public function getByName($name)
{
return database()->table($this->table.'_lang')
->select('id_record')
->where('name', '=', $name)
->where('id_lang', '=', setting('Lingua'))
->first();
}
}

View File

@ -211,7 +211,8 @@ class Update
self::normalizeDatabase($database->getDatabaseName());
if (class_exists('\Models\Cache')) {
Cache::pool(Cache::where('name','Ultima versione di OpenSTAManager disponibile')->first()->id)->set(null); }
Cache::find((new Cache())->getByName('Ultima versione di OpenSTAManager disponibile')->id_record)->set(null);
}
// Correzione permessi per le cartelle backup e files
$fs = new SymfonyFilesystem();

View File

@ -2286,4 +2286,25 @@ INSERT INTO `zz_group_module_lang` (`id`, `id_lang`, `id_record`, `name`) SELECT
ALTER TABLE `zz_group_module`
DROP `name`;
ALTER TABLE `zz_group_module_lang` ADD CONSTRAINT `zz_group_module_lang_ibfk_1` FOREIGN KEY (`id_record`) REFERENCES `zz_group_module`(`id`) ON DELETE CASCADE ON UPDATE RESTRICT;
ALTER TABLE `zz_group_module_lang` ADD CONSTRAINT `zz_group_module_lang_ibfk_1` FOREIGN KEY (`id_record`) REFERENCES `zz_group_module`(`id`) ON DELETE CASCADE ON UPDATE RESTRICT;
-- Aggiunta tabella zz_cache_lang
CREATE TABLE IF NOT EXISTS `zz_cache_lang` (
`id` int NOT NULL,
`id_lang` int NOT NULL,
`id_record` int NOT NULL,
`name` VARCHAR(255) NOT NULL
);
ALTER TABLE `zz_cache_lang`
ADD PRIMARY KEY (`id`);
ALTER TABLE `zz_cache_lang`
MODIFY `id` int NOT NULL AUTO_INCREMENT;
INSERT INTO `zz_cache_lang` (`id`, `id_lang`, `id_record`, `name`) SELECT NULL, (SELECT `id` FROM `zz_langs` WHERE `iso_code` = 'it'), `id`, `name` FROM `zz_cache`;
ALTER TABLE `zz_cache`
DROP `name`;
ALTER TABLE `zz_cache_lang` ADD CONSTRAINT `zz_cache_lang_ibfk_1` FOREIGN KEY (`id_record`) REFERENCES `zz_cache`(`id`) ON DELETE CASCADE ON UPDATE RESTRICT;

View File

@ -154,6 +154,7 @@ return [
'or_tipiordine_lang',
'zz_api_resources',
'zz_cache',
'zz_cache_lang',
'zz_currencies',
'zz_currencies_lang',
'zz_checks',