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

View File

@ -39,7 +39,7 @@ switch (filter('op')) {
} }
// Salvataggio della versione nella cache // 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; echo $versione;
break; break;

View File

@ -372,7 +372,7 @@ switch (filter('op')) {
break; break;
case 'informazioni-fe': 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()) { if (!$info->isValid()) {
$response = Services::request('POST', 'informazioni_fe'); $response = Services::request('POST', 'informazioni_fe');
$response = Services::responseBody($response); $response = Services::responseBody($response);

View File

@ -42,7 +42,7 @@ class Interaction extends Services
$result = self::getFileList($list); $result = self::getFileList($list);
// Aggiornamento cache hook // 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; return $result;
} }

View File

@ -42,7 +42,7 @@ class Interaction extends Services
$result = self::getFileList($list); $result = self::getFileList($list);
// Aggiornamento cache hook // 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; return $result;
} }

View File

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

View File

@ -44,19 +44,19 @@ class Task extends Resource implements RetrieveInterface, CreateInterface
$database = database(); $database = database();
// Rimozione della registrazione del cron attuale // 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 // 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 // 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 // Salvataggio delle modifiche
$database->commitTransaction(); $database->commitTransaction();
// Attesa della conclusione per il cron precedente // 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) { while ($in_esecuzione->content) {
$timestamp = (new Carbon())->addMinutes(1)->getTimestamp(); $timestamp = (new Carbon())->addMinutes(1)->getTimestamp();

View File

@ -49,7 +49,7 @@ class Services
*/ */
public static function getInformazioni($force = false) 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 // Aggiornamento dei contenuti della cache
if (!$cache->isValid() || $force) { if (!$cache->isValid() || $force) {

View File

@ -30,7 +30,7 @@ abstract class CachedManager extends Manager
{ {
parent::__construct($hook); 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(); abstract public function cacheData();

View File

@ -105,4 +105,34 @@ class Cache extends Model
{ {
return $query->where('expire_at', '<=', Carbon::now()); 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()); self::normalizeDatabase($database->getDatabaseName());
if (class_exists('\Models\Cache')) { 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 // Correzione permessi per le cartelle backup e files
$fs = new SymfonyFilesystem(); $fs = new SymfonyFilesystem();

View File

@ -2287,3 +2287,24 @@ ALTER TABLE `zz_group_module`
DROP `name`; 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', 'or_tipiordine_lang',
'zz_api_resources', 'zz_api_resources',
'zz_cache', 'zz_cache',
'zz_cache_lang',
'zz_currencies', 'zz_currencies',
'zz_currencies_lang', 'zz_currencies_lang',
'zz_checks', 'zz_checks',