diff --git a/bug.php b/bug.php
index a97419d77..03c3e9e07 100755
--- a/bug.php
+++ b/bug.php
@@ -88,7 +88,7 @@ if (filter('op') == 'send') {
}
redirect_legacy(base_url().'/bug.php');
- throw new \App\Exceptions\LegacyExitException();
+ throw new \LegacyExitException();
}
$pageTitle = tr('Bug');
diff --git a/composer.json b/composer.json
index 74048081d..9ea25a88a 100755
--- a/composer.json
+++ b/composer.json
@@ -1,5 +1,5 @@
{
- "name": "devcode-it/openstamanager",
+ "name": "devcode-it/legacy",
"description": "Gestionale open-source per assistenza tecnica e fatturazione elettronica",
"license": "GPL-3.0",
"keywords": [
@@ -13,14 +13,8 @@
"name": "DevCode s.r.l.",
"email": "info@openstamanager.com"
}],
- "type": "project",
"require": {
- "php": "^7.3|^8.0",
- "fideloper/proxy": "^4.4",
- "fruitcake/laravel-cors": "^2.0",
- "guzzlehttp/guzzle": "^7.0.1",
- "laravel/framework": "^8.12",
- "laravel/tinker": "^2.5",
+ "php": ">=7.2",
"ext-curl": "*",
"ext-dom": "*",
"ext-fileinfo": "*",
@@ -36,44 +30,25 @@
"aluguest/ical-easy-reader": "^1.5",
"voku/stringy": "~6.0",
"davidepastore/codice-fiscale": "^0.6.0",
- "dragonmantank/cron-expression": "^1.0",
"ezyang/htmlpurifier": "^4.8",
- "filp/whoops": "^2.1",
"ifsnop/mysqldump-php": "^2.3",
- "illuminate/database": "^6.0",
+ "illuminate/support": "~7|~8",
"intervention/image": "^2.3",
- "league/csv": "^8.2",
"league/oauth2-client": "^2.6",
"league/oauth2-google": "^3.0",
- "maximebf/debugbar": "^1.15",
- "monolog/monolog": "^1.22",
"mpdf/mpdf": "^v8.0.7",
"mpociot/vat-calculator": "^2.3",
- "owasp/csrf-protector-php": "^1.0",
"phpmailer/phpmailer": "^6.0",
"respect/validation": "^1.1",
"servo/fluidxml": "^1.21",
- "slim/flash": "^0.4.0",
- "spipu/html2pdf": "^5.0",
- "symfony/filesystem": "^3.3",
- "symfony/finder": "^3.3",
- "symfony/polyfill-ctype": "^1.8",
- "symfony/polyfill-php70": "^1.8",
- "symfony/translation": "^3.3",
- "symfony/var-dumper": "^3.3",
"thenetworg/oauth2-azure": "^2.0",
"willdurand/geocoder": "^3.3",
"digitick/sepa-xml": "^1.6",
"wdog/sdd_ita": "dev-master"
},
"require-dev": {
- "codeception/codeception": "^3.0",
- "friendsofphp/php-cs-fixer": "^2.10",
- "facade/ignition": "^2.5",
- "fakerphp/faker": "^1.9.1",
- "mockery/mockery": "^1.4.2",
- "nunomaduro/collision": "^5.0",
- "phpunit/phpunit": "^9.3.3"
+ "phpunit/phpunit": "~9.0",
+ "orchestra/testbench": "~5|~6"
},
"autoload": {
"psr-4": {
@@ -136,23 +111,14 @@
"lib/deprecated.php"
]
},
- "repositories": [
- {
- "type": "vcs",
- "url": "https://github.com/wdog/sdd_ita"
- }
- ],
- "config": {
- "sort-packages": true,
- "optimize-autoloader": false,
- "apcu-autoloader": true,
- "prefer-stable": true,
- "platform-check": false,
- "platform": {
- "php": "7.4"
- },
- "allow-plugins": {
- "kylekatarnls/update-helper": true
+ "extra": {
+ "laravel": {
+ "providers": [
+ "\\ServiceProvider"
+ ],
+ "aliases": {
+ "Legacy": "\\Facades\\Legacy"
+ }
}
}
}
diff --git a/core.php b/core.php
index b69fea9c1..622865b20 100755
--- a/core.php
+++ b/core.php
@@ -17,115 +17,15 @@
* along with this program. If not, see
Stai utilizzando la versione PHP '.phpversion().', non compatibile con OpenSTAManager.
- -Aggiorna PHP alla versione >= '.$minimum.'.
'; - throw new \App\Exceptions\LegacyExitException(); +if (!auth()->check()) { + throw new \LegacyExitException(); } -// Caricamento delle impostazioni personalizzabili -if (file_exists(__DIR__.'/config.inc.php')) { - include_once __DIR__.'/config.inc.php'; -} - -/* -// Sicurezza della sessioni -ini_set('session.cookie_samesite', 'strict'); -ini_set('session.use_trans_sid', '0'); -ini_set('session.use_only_cookies', '1'); - -session_set_cookie_params(0, base_url(), null, isHTTPS(true)); -session_start();*/ - -/* GESTIONE DEGLI ERRORI */ -// Logger per la segnalazione degli errori -$logger = new Monolog\Logger('Logs'); -$logger->pushProcessor(new Monolog\Processor\UidProcessor()); -$logger->pushProcessor(new Monolog\Processor\WebProcessor()); - -// Registrazione globale del logger -Monolog\Registry::addLogger($logger, 'logs'); - -use Monolog\Handler\FilterHandler; -use Monolog\Handler\RotatingFileHandler; -use Monolog\Handler\StreamHandler; - -$handlers = []; -if (!$api_request) { - // File di log di base (logs/error.log, logs/setup.log) - $handlers[] = new StreamHandler(base_dir().'/logs/error.log', Monolog\Logger::ERROR); - $handlers[] = new StreamHandler(base_dir().'/logs/setup.log', Monolog\Logger::EMERGENCY); - - // Messaggi grafici per l'utente - $handlers[] = new Extensions\MessageHandler(Monolog\Logger::ERROR); - - // File di log ordinati in base alla data - if (AppLegacy::debug()) { - $handlers[] = new RotatingFileHandler(base_dir().'/logs/error.log', 0, Monolog\Logger::ERROR); - $handlers[] = new RotatingFileHandler(base_dir().'/logs/setup.log', 0, Monolog\Logger::EMERGENCY); - } - - // Inizializzazione Whoops - $whoops = new Whoops\Run(); - - if (AppLegacy::debug()) { - $whoops->pushHandler(new Whoops\Handler\PrettyPageHandler()); - } - - // Abilita la gestione degli errori nel caso la richiesta sia di tipo AJAX - if (Whoops\Util\Misc::isAjaxRequest()) { - $whoops->pushHandler(new Whoops\Handler\JsonResponseHandler()); - } - - $whoops->register(); - - // Aggiunta di Monolog a Whoops - $whoops->pushHandler(function ($exception, $inspector, $run) use ($logger) { - $logger->addError($exception->getMessage(), [ - 'code' => $exception->getCode(), - 'message' => $exception->getMessage(), - 'file' => $exception->getFile(), - 'line' => $exception->getLine(), - 'trace' => $exception->getTraceAsString(), - ]); - }); -} else { - $handlers[] = new StreamHandler(base_dir().'/logs/api.log', Monolog\Logger::ERROR); -} - -// Disabilita i messaggi nativi di PHP -ini_set('display_errors', 0); -// Ignora gli avvertimenti e le informazioni relative alla deprecazione di componenti -error_reporting(E_ALL & ~E_WARNING & ~E_CORE_WARNING & ~E_NOTICE & ~E_USER_DEPRECATED & ~E_STRICT); - -$pattern = '[%datetime%] %channel%.%level_name%: %message% %context%'.PHP_EOL.'%extra% '.PHP_EOL; -$monologFormatter = new Monolog\Formatter\LineFormatter($pattern); -$monologFormatter->includeStacktraces(AppLegacy::debug()); - -// Filtra gli errori per livello preciso del gestore dedicato -foreach ($handlers as $handler) { - $handler->setFormatter($monologFormatter); - $logger->pushHandler(new FilterHandler($handler, [$handler->getLevel()])); -} - -// Imposta Monolog come gestore degli errori -$handler = new Monolog\ErrorHandler($logger); -if (!API\Response::isAPIRequest()) { - $handler->registerErrorHandler([]); - $handler->registerExceptionHandler(Monolog\Logger::ERROR); -} -$handler->registerFatalHandler(Monolog\Logger::ERROR); - // Database $dbo = $database = database(); +$lang = app()->getLocale(); + /* INTERNAZIONALIZZAZIONE */ // Individuazione di versione e revisione del progetto @@ -134,80 +34,51 @@ $revision = Update::getRevision(); /* ACCESSO E INSTALLAZIONE */ // Controllo sulla presenza dei permessi di accesso basilari -$continue = $dbo->isInstalled() && !Update::isUpdateAvailable() && (auth()->check() || $api_request); - if (!empty($skip_permissions)) { Permissions::skip(); } -if (!$continue && getURLPath() != slashes(base_url().'/index.php') && !Permissions::getSkip()) { - if (auth()->check()) { - auth()->logout(); - } - - redirect_legacy(base_url().'/'); - throw new \App\Exceptions\LegacyExitException(); +if (!(auth()->check() || $api_request) && !Permissions::getSkip()) { + throw new \LegacyExitException(); } /* INIZIALIZZAZIONE GENERALE */ // Operazione aggiuntive (richieste non API) if (!$api_request) { - // Impostazioni di Content-Type e Charset Header - header('Content-Type: text/html; charset=UTF-8'); - // Registrazione globale del template per gli input HTML ob_start(); - // Retrocompatibilità - session(['infos' => isset($_SESSION['infos']) ? array_unique($_SESSION['infos']) : []]); - session(['warnings' => isset($_SESSION['warnings']) ? array_unique($_SESSION['warnings']) : []]); - session(['errors' => isset($_SESSION['errors']) ? array_unique($_SESSION['errors']) : []]); - // Impostazione del tema grafico di default $theme = 'default'; - if ($continue) { - // Periodo di visualizzazione dei record - // Personalizzato - if (!empty($_GET['period_start'])) { - session(['period_start' => $_GET['period_start']]); - session(['period_end' => $_GET['period_end']]); - } - // Dal 01-01-yyy al 31-12-yyyy - elseif (session('period_start') == null) { - session(['period_start' => date('Y').'-01-01']); - session(['period_end' => date('Y').'-12-31']); + $id_record = filter('id_record'); + $id_parent = filter('id_parent'); + + Modules::setCurrent(filter('id_module')); + Plugins::setCurrent(filter('id_plugin')); + + // Variabili fondamentali + $module = Modules::getCurrent(); + $plugin = Plugins::getCurrent(); + $structure = isset($plugin) ? $plugin : $module; + + $id_module = $module ? $module['id'] : null; + $id_plugin = $plugin ? $plugin['id'] : null; + + $user = auth()->user(); + + if (!empty($id_module)) { + // Segmenti + if (session('module_'.$id_module.'.id_segment') === null) { + $segments = Modules::getSegments($id_module); + session(['module_'.$id_module.'.id_segment' => isset($segments[0]['id']) ? $segments[0]['id'] : null]); } - $id_record = filter('id_record'); - $id_parent = filter('id_parent'); - - Modules::setCurrent(filter('id_module')); - Plugins::setCurrent(filter('id_plugin')); - - // Variabili fondamentali - $module = Modules::getCurrent(); - $plugin = Plugins::getCurrent(); - $structure = isset($plugin) ? $plugin : $module; - - $id_module = $module ? $module['id'] : null; - $id_plugin = $plugin ? $plugin['id'] : null; - - $user = auth()->user(); - - if (!empty($id_module)) { - // Segmenti - if (session('module_'.$id_module.'.id_segment') === null) { - $segments = Modules::getSegments($id_module); - session(['module_'.$id_module.'.id_segment' => isset($segments[0]['id']) ? $segments[0]['id'] : null]); - } - - Permissions::addModule($id_module); - } - - Permissions::check(); + Permissions::addModule($id_module); } + Permissions::check(); + // Retrocompatibilità $post = Filter::getPOST(); $get = Filter::getGET(); diff --git a/include/bottom.php b/include/bottom.php index 8dc3679c5..28dac007d 100755 --- a/include/bottom.php +++ b/include/bottom.php @@ -41,7 +41,7 @@ echo ' '; if (auth()->check()) { - if (!empty($_SESSION['keep_alive'])) { + if (session('keep_alive') === true) { echo ' '; } @@ -88,10 +88,3 @@ echo '