Merge branch 'miglioramento-warning'
This commit is contained in:
commit
dfc0319304
14
actions.php
14
actions.php
|
@ -30,7 +30,7 @@ if (empty($structure) || empty($structure['enabled'])) {
|
|||
die(tr('Accesso negato'));
|
||||
}
|
||||
|
||||
$upload_dir = DOCROOT.'/'.Uploads::getDirectory($id_module, $id_plugin);
|
||||
$upload_dir = base_dir().'/'.Uploads::getDirectory($id_module, $id_plugin);
|
||||
|
||||
$database->beginTransaction();
|
||||
|
||||
|
@ -87,7 +87,7 @@ if (filter('op') == 'link_file' || filter('op') == 'unlink_file') {
|
|||
}
|
||||
}
|
||||
|
||||
redirect(ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.((!empty($options['id_plugin'])) ? '#tab_'.$options['id_plugin'] : ''));
|
||||
redirect(base_path().'/editor.php?id_module='.$id_module.'&id_record='.$id_record.((!empty($options['id_plugin'])) ? '#tab_'.$options['id_plugin'] : ''));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -273,13 +273,13 @@ elseif (post('op') == 'send-email') {
|
|||
flash()->error(tr('Errore durante l\'invio email! Verifica i parametri dell\'account SMTP utilizzato.'));
|
||||
}
|
||||
} elseif (filter('op') == 'aggiorna_colonne') {
|
||||
include_once DOCROOT.'/include/colonne.php';
|
||||
include_once base_dir().'/include/colonne.php';
|
||||
} elseif (filter('op') == 'visualizza_riferimenti') {
|
||||
include_once DOCROOT.'/include/riferimenti/riferimenti.php';
|
||||
include_once base_dir().'/include/riferimenti/riferimenti.php';
|
||||
} elseif (filter('op') == 'visualizza_righe_riferimenti') {
|
||||
include_once DOCROOT.'/include/riferimenti/righe_riferimenti.php';
|
||||
include_once base_dir().'/include/riferimenti/righe_riferimenti.php';
|
||||
} elseif (filter('op') == 'visualizza_righe_documento') {
|
||||
include_once DOCROOT.'/include/riferimenti/righe_documento.php';
|
||||
include_once base_dir().'/include/riferimenti/righe_documento.php';
|
||||
} elseif (filter('op') == 'salva_riferimento_riga') {
|
||||
$database->insert('co_riferimenti_righe', [
|
||||
'source_type' => filter('source_type'),
|
||||
|
@ -336,7 +336,7 @@ if ($structure->permission == 'rw') {
|
|||
$bulk = empty($bulk) ? [] : $bulk;
|
||||
|
||||
if (in_array(post('op'), array_keys($bulk))) {
|
||||
redirect(ROOTDIR.'/controller.php?id_module='.$id_module, 'js');
|
||||
redirect(base_path().'/controller.php?id_module='.$id_module, 'js');
|
||||
} else {
|
||||
// Esecuzione delle operazioni del modulo
|
||||
include $structure->filepath('actions.php');
|
||||
|
|
2
add.php
2
add.php
|
@ -20,7 +20,7 @@
|
|||
include_once __DIR__.'/core.php';
|
||||
|
||||
// Inclusione elementi fondamentali del modulo
|
||||
include $docroot.'/actions.php';
|
||||
include base_dir().'/actions.php';
|
||||
|
||||
// Controllo dei permessi
|
||||
if (empty($id_plugin)) {
|
||||
|
|
2
ajax.php
2
ajax.php
|
@ -72,7 +72,7 @@ switch (filter('op')) {
|
|||
break;
|
||||
|
||||
case 'checklists':
|
||||
include DOCROOT.'/plugins/checks.php';
|
||||
include base_dir().'/plugins/checks.php';
|
||||
|
||||
break;
|
||||
|
||||
|
|
|
@ -22,11 +22,13 @@ include_once __DIR__.'/core.php';
|
|||
use Util\Query;
|
||||
|
||||
// Informazioni fondamentali
|
||||
$columns = filter('columns');
|
||||
$order = filter('order')[0];
|
||||
$columns = (array) filter('columns');
|
||||
$order = filter('order') ? filter('order')[0] : [];
|
||||
$draw_numer = intval(filter('draw'));
|
||||
|
||||
$order['column'] = $order['column'] - 1;
|
||||
if (!empty(filter('order'))) {
|
||||
$order['column'] = $order['column'] - 1;
|
||||
}
|
||||
array_shift($columns);
|
||||
|
||||
$total = Util\Query::readQuery($structure);
|
||||
|
@ -76,7 +78,7 @@ if (!empty($query)) {
|
|||
|
||||
// Allineamento delle righe
|
||||
$align = [];
|
||||
$row = $rows[0] ?: [];
|
||||
$row = isset($rows[0]) ? $rows[0] : [];
|
||||
foreach ($row as $field => $value) {
|
||||
$value = trim($value);
|
||||
|
||||
|
@ -164,7 +166,7 @@ if (!empty($query)) {
|
|||
$id_record = $r['id'];
|
||||
$hash = '';
|
||||
|
||||
$id_module = $r['_link_module_'] ?: $id_module;
|
||||
$id_module = !empty($r['_link_module_']) ? $r['_link_module_'] : $id_module;
|
||||
if (!empty($r['_link_record_'])) {
|
||||
$id_record = $r['_link_record_'];
|
||||
$hash = !empty($r['_link_hash_']) ? '#'.$r['_link_hash_'] : '';
|
||||
|
@ -173,11 +175,11 @@ if (!empty($query)) {
|
|||
|
||||
// Link per i moduli
|
||||
if (empty($id_plugin)) {
|
||||
$column['data-link'] = $rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.$hash;
|
||||
$column['data-link'] = base_path().'/editor.php?id_module='.$id_module.'&id_record='.$id_record.$hash;
|
||||
}
|
||||
// Link per i plugin
|
||||
else {
|
||||
$column['data-link'] = $rootdir.'/add.php?id_module='.$id_module.'&id_record='.$id_record.'&id_plugin='.$id_plugin.'&id_parent='.$id_parent.'&edit=1'.$hash;
|
||||
$column['data-link'] = base_path().'/add.php?id_module='.$id_module.'&id_record='.$id_record.'&id_plugin='.$id_plugin.'&id_parent='.$id_parent.'&edit=1'.$hash;
|
||||
|
||||
$column['data-type'] = 'dialog';
|
||||
}
|
||||
|
@ -189,8 +191,8 @@ if (!empty($query)) {
|
|||
$attributes[] = $key.'="'.$val.'"';
|
||||
}
|
||||
|
||||
// Replace rootdir per le query
|
||||
$value = str_replace('ROOTDIR', ROOTDIR, $value);
|
||||
// Replace base_link() per le query
|
||||
$value = str_replace('base_link()', base_path(), $value);
|
||||
$result[] = str_replace('|attr|', implode(' ', $attributes), '<div |attr|>'.$value.'</div>');
|
||||
}
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ if (!isset($resource)) {
|
|||
|
||||
// Opzioni di selezione sugli elementi
|
||||
$options = filter('options') ?: [];
|
||||
$options_compatibility = $_SESSION['superselect'] ?: [];
|
||||
$options_compatibility = session_get('superselect', []);
|
||||
$options = array_merge($options_compatibility, $options);
|
||||
|
||||
// Preselezione su $elements dichiarato da file precedente
|
||||
|
|
8
bug.php
8
bug.php
|
@ -38,13 +38,13 @@ if (filter('op') == 'send') {
|
|||
$mail->Subject = 'Segnalazione bug OSM '.$version;
|
||||
|
||||
// Aggiunta dei file di log (facoltativo)
|
||||
if (!empty(post('log')) && file_exists($docroot.'/logs/error.log')) {
|
||||
$mail->AddAttachment($docroot.'/logs/error.log');
|
||||
if (!empty(post('log')) && file_exists(base_dir().'/logs/error.log')) {
|
||||
$mail->AddAttachment(base_dir().'/logs/error.log');
|
||||
}
|
||||
|
||||
// Aggiunta della copia del database (facoltativo)
|
||||
if (!empty(post('sql'))) {
|
||||
$backup_file = $docroot.'/Backup OSM '.date('Y-m-d').' '.date('H_i_s').'.sql';
|
||||
$backup_file = base_dir().'/Backup OSM '.date('Y-m-d').' '.date('H_i_s').'.sql';
|
||||
Backup::database($backup_file);
|
||||
|
||||
$mail->AddAttachment($backup_file);
|
||||
|
@ -87,7 +87,7 @@ if (filter('op') == 'send') {
|
|||
delete($backup_file);
|
||||
}
|
||||
|
||||
redirect($rootdir.'/bug.php');
|
||||
redirect(base_path().'/bug.php');
|
||||
exit();
|
||||
}
|
||||
|
||||
|
|
|
@ -64,7 +64,46 @@
|
|||
"autoload": {
|
||||
"psr-4": {
|
||||
"": "src/",
|
||||
"Update\\": "update/"
|
||||
"Update\\": "update/",
|
||||
"Modules\\Aggiornamenti\\": ["modules/aggiornamenti/custom/src/", "modules/aggiornamenti/src/"],
|
||||
"Modules\\Anagrafiche\\": ["modules/anagrafiche/custom/src/", "modules/anagrafiche/src/"],
|
||||
"Modules\\Backups\\": ["modules/backups/custom/src/", "modules/backups/src/"],
|
||||
"Modules\\Emails\\": ["modules/emails/custom/src/", "modules/emails/src/"],
|
||||
"Modules\\Articoli\\": ["modules/articoli/custom/src/", "modules/articoli/src/"],
|
||||
"Modules\\Checklists\\": ["modules/checklists/custom/src/", "modules/checklists/src/"],
|
||||
"Modules\\Ritenute\\": ["modules/ritenute/custom/src/", "modules/ritenute/src/"],
|
||||
"Modules\\RitenuteContributi\\": ["modules/ritenute_contributi/custom/src/", "modules/ritenute_contributi/src/"],
|
||||
"Modules\\Rivalse\\": ["modules/rivalse/custom/src/", "modules/rivalse/src/"],
|
||||
"Modules\\Newsletter\\": ["modules/newsletter/custom/src/", "modules/newsletter/src/"],
|
||||
"Modules\\Iva\\": ["modules/iva/custom/src/", "modules/iva/src/"],
|
||||
"Modules\\DDT\\": ["modules/ddt/custom/src/", "modules/ddt/src/"],
|
||||
"Modules\\Fatture\\": ["modules/fatture/custom/src/", "modules/fatture/src/"],
|
||||
"Modules\\Ordini\\": ["modules/ordini/custom/src/", "modules/ordini/src/"],
|
||||
"Modules\\Preventivi\\": ["modules/preventivi/custom/src/", "modules/preventivi/src/"],
|
||||
"Modules\\Contratti\\": ["modules/contratti/custom/src/", "modules/contratti/src/"],
|
||||
"Modules\\Interventi\\": ["modules/interventi/custom/src/", "modules/interventi/src/"],
|
||||
"Modules\\Pagamenti\\": ["modules/pagamenti/custom/src/", "modules/pagamenti/src/"],
|
||||
"Modules\\Statistiche\\": ["modules/statistiche/custom/src/", "modules/statistiche/src/"],
|
||||
"Modules\\Scadenzario\\": ["modules/scadenzario/custom/src/", "modules/scadenzario/src/"],
|
||||
"Modules\\PrimaNota\\": ["modules/primanota/custom/src/", "modules/primanota/src/"],
|
||||
"Modules\\Utenti\\": ["modules/utenti/custom/src/", "modules/utenti/src/"],
|
||||
"Modules\\StatoServizi\\": ["modules/stato_servizi/custom/src/", "modules/stato_servizi/src/"],
|
||||
"Modules\\StatiIntervento\\": ["modules/stati_intervento/custom/src/", "modules/stati_intervento/src/"],
|
||||
"Modules\\StatiPreventivo\\": ["modules/stati_preventivo/custom/src/", "modules/stati_preventivo/src/"],
|
||||
"Modules\\StatiContratto\\": ["modules/stati_contratto/custom/src/", "modules/stati_contratto/src/"],
|
||||
"Modules\\TipiIntervento\\": ["modules/tipi_intervento/custom/src/", "modules/tipi_intervento/src/"],
|
||||
"Modules\\CategorieDocumentali\\": ["modules/categorie_documenti/custom/src/", "modules/categorie_documenti/src/"],
|
||||
"Modules\\Listini\\": ["modules/listini/custom/src/", "modules/listini/src/"],
|
||||
"Modules\\Impianti\\": ["modules/impianti/custom/src/", "modules/impianti/src/"],
|
||||
"Modules\\Impostazioni\\": ["modules/impostazioni/custom/src/", "modules/impostazioni/src/"],
|
||||
"Plugins\\ExportFE\\": ["plugins/exportFE/custom/src/", "plugins/exportFE/src/"],
|
||||
"Plugins\\ImportFE\\": ["plugins/importFE/custom/src/", "plugins/importFE/src/"],
|
||||
"Plugins\\ReceiptFE\\": ["plugins/receiptFE/custom/src/", "plugins/receiptFE/src/"],
|
||||
"Plugins\\DichiarazioniIntento\\": ["plugins/dichiarazioni_intento/custom/src/", "plugins/dichiarazioni_intento/src/"],
|
||||
"Plugins\\PianificazioneInterventi\\": ["plugins/pianificazione_interventi/custom/src/", "plugins/pianificazione_interventi/src/"],
|
||||
"Plugins\\PianificazioneFatturazione\\": ["plugins/pianificazione_fatturazione/custom/src/", "plugins/pianificazione_fatturazione/src/"],
|
||||
"Plugins\\StatisticheArticoli\\": ["plugins/statistiche_articoli/custom/src/", "plugins/statistiche_articoli/src/"],
|
||||
"Plugins\\DettagliArticolo\\": ["plugins/dettagli_articolo/custom/src/", "plugins/dettagli_articolo/src/"]
|
||||
},
|
||||
"files": [
|
||||
"lib/functions.php",
|
||||
|
|
|
@ -21,15 +21,15 @@
|
|||
* Configuration file for CSRF Protector.
|
||||
*/
|
||||
return [
|
||||
'logDirectory' => DOCROOT.'/logs',
|
||||
'logDirectory' => base_dir().'/logs',
|
||||
'failedAuthAction' => [
|
||||
'GET' => 0,
|
||||
'POST' => 0,
|
||||
],
|
||||
'jsUrl' => ROOTDIR.'/assets/dist/js/csrf/csrfprotector.js',
|
||||
'jsUrl' => base_path().'/assets/dist/js/csrf/csrfprotector.js',
|
||||
'tokenLength' => 10,
|
||||
'cookieConfig' => [
|
||||
'path' => ROOTDIR,
|
||||
'path' => base_path(),
|
||||
'secure' => isHTTPS(true),
|
||||
],
|
||||
'verifyGetFor' => [],
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
*/
|
||||
|
||||
return [
|
||||
/*
|
||||
'modules/aggiornamenti' => 'Modules\Aggiornamenti',
|
||||
'modules/anagrafiche' => 'Modules\Anagrafiche',
|
||||
'modules/backups' => 'Modules\Backups',
|
||||
|
@ -57,4 +58,5 @@ return [
|
|||
'plugins/pianificazione_fatturazione' => 'Plugins\PianificazioneFatturazione',
|
||||
'plugins/statistiche_articoli' => 'Plugins\StatisticheArticoli',
|
||||
'plugins/dettagli_articolo' => 'Plugins\DettagliArticolo',
|
||||
*/
|
||||
];
|
||||
|
|
|
@ -20,15 +20,15 @@
|
|||
include_once __DIR__.'/core.php';
|
||||
|
||||
if (!empty($id_record) && !empty($id_module)) {
|
||||
redirect(ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$id_record);
|
||||
redirect(base_path().'/editor.php?id_module='.$id_module.'&id_record='.$id_record);
|
||||
} elseif (empty($id_module)) {
|
||||
redirect(ROOTDIR.'/index.php');
|
||||
redirect(base_path().'/index.php');
|
||||
}
|
||||
|
||||
include_once App::filepath('include|custom|', 'top.php');
|
||||
|
||||
// Inclusione gli elementi fondamentali
|
||||
include_once $docroot.'/actions.php';
|
||||
include_once base_dir().'/actions.php';
|
||||
|
||||
// Widget in alto
|
||||
echo '{( "name": "widgets", "id_module": "'.$id_module.'", "position": "top", "place": "controller" )}';
|
||||
|
@ -66,7 +66,7 @@ echo '
|
|||
<div class="tab-content">
|
||||
<div id="tab_0" class="tab-pane active">';
|
||||
|
||||
include $docroot.'/include/manager.php';
|
||||
include base_dir().'/include/manager.php';
|
||||
|
||||
echo '
|
||||
</div>';
|
||||
|
@ -81,7 +81,7 @@ foreach ($plugins as $plugin) {
|
|||
|
||||
$id_plugin = $plugin['id'];
|
||||
|
||||
include $docroot.'/include/manager.php';
|
||||
include base_dir().'/include/manager.php';
|
||||
|
||||
echo '
|
||||
</div>';
|
||||
|
|
41
core.php
41
core.php
|
@ -20,8 +20,6 @@
|
|||
// Rimozione header X-Powered-By
|
||||
header_remove('X-Powered-By');
|
||||
|
||||
ini_set('session.cookie_samesite', 'strict');
|
||||
|
||||
// Impostazioni di configurazione PHP
|
||||
date_default_timezone_set('Europe/Rome');
|
||||
|
||||
|
@ -81,16 +79,16 @@ use Monolog\Handler\StreamHandler;
|
|||
$handlers = [];
|
||||
if (!API\Response::isAPIRequest()) {
|
||||
// File di log di base (logs/error.log, logs/setup.log)
|
||||
$handlers[] = new StreamHandler($docroot.'/logs/error.log', Monolog\Logger::ERROR);
|
||||
$handlers[] = new StreamHandler($docroot.'/logs/setup.log', Monolog\Logger::EMERGENCY);
|
||||
$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 (App::debug()) {
|
||||
$handlers[] = new RotatingFileHandler($docroot.'/logs/error.log', 0, Monolog\Logger::ERROR);
|
||||
$handlers[] = new RotatingFileHandler($docroot.'/logs/setup.log', 0, Monolog\Logger::EMERGENCY);
|
||||
$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
|
||||
|
@ -118,9 +116,17 @@ if (!API\Response::isAPIRequest()) {
|
|||
]);
|
||||
});
|
||||
} else {
|
||||
$handlers[] = new StreamHandler($docroot.'/logs/api.log', Monolog\Logger::ERROR);
|
||||
$handlers[] = new StreamHandler(base_dir().'/logs/api.log', Monolog\Logger::ERROR);
|
||||
}
|
||||
|
||||
// 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_path(), null, isHTTPS(true));
|
||||
session_start();
|
||||
|
||||
// Disabilita i messaggi nativi di PHP
|
||||
ini_set('display_errors', 0);
|
||||
// Ignora gli avvertimenti e le informazioni relative alla deprecazione di componenti
|
||||
|
@ -144,13 +150,6 @@ $dbo = $database = database();
|
|||
|
||||
/* SESSIONE */
|
||||
if (!API\Response::isAPIRequest()) {
|
||||
// Sicurezza della sessioni
|
||||
ini_set('session.use_trans_sid', '0');
|
||||
ini_set('session.use_only_cookies', '1');
|
||||
|
||||
session_set_cookie_params(0, $rootdir, null, isHTTPS(true));
|
||||
session_start();
|
||||
|
||||
// Barra di debug (necessario per loggare tutte le query)
|
||||
if (App::debug()) {
|
||||
$debugbar = new DebugBar\DebugBar();
|
||||
|
@ -168,11 +167,11 @@ if (!API\Response::isAPIRequest()) {
|
|||
|
||||
/* INTERNAZIONALIZZAZIONE */
|
||||
// Istanziamento del gestore delle traduzioni del progetto
|
||||
$lang = !empty($config['lang']) ? $config['lang'] : $_GET['lang'];
|
||||
$lang = !empty($config['lang']) ? $config['lang'] : (isset($_GET['lang']) ? $_GET['lang'] : null);
|
||||
$formatter = !empty($config['formatter']) ? $config['formatter'] : [];
|
||||
$translator = trans();
|
||||
$translator->addLocalePath($docroot.'/locale');
|
||||
$translator->addLocalePath($docroot.'/modules/*/locale');
|
||||
$translator->addLocalePath(base_dir().'/locale');
|
||||
$translator->addLocalePath(base_dir().'/modules/*/locale');
|
||||
$translator->setLocale($lang, $formatter);
|
||||
|
||||
// Individuazione di versione e revisione del progetto
|
||||
|
@ -187,12 +186,12 @@ if (!empty($skip_permissions)) {
|
|||
Permissions::skip();
|
||||
}
|
||||
|
||||
if (!$continue && getURLPath() != slashes(ROOTDIR.'/index.php') && !Permissions::getSkip()) {
|
||||
if (!$continue && getURLPath() != slashes(base_path().'/index.php') && !Permissions::getSkip()) {
|
||||
if (Auth::check()) {
|
||||
Auth::logout();
|
||||
}
|
||||
|
||||
redirect(ROOTDIR.'/index.php');
|
||||
redirect(base_path().'/index.php');
|
||||
exit();
|
||||
}
|
||||
|
||||
|
@ -258,8 +257,8 @@ if (!API\Response::isAPIRequest()) {
|
|||
$plugin = Plugins::getCurrent();
|
||||
$structure = isset($plugin) ? $plugin : $module;
|
||||
|
||||
$id_module = $module['id'];
|
||||
$id_plugin = $plugin['id'];
|
||||
$id_module = $module ? $module['id'] : null;
|
||||
$id_plugin = $plugin ? $plugin['id'] : null;
|
||||
|
||||
$user = Auth::user();
|
||||
|
||||
|
|
10
cron.php
10
cron.php
|
@ -56,18 +56,18 @@ $pattern = '[%datetime%] %level_name%: %message% %context%'.PHP_EOL;
|
|||
$formatter = new Monolog\Formatter\LineFormatter($pattern);
|
||||
|
||||
$logger = new Logger('Tasks');
|
||||
$handler = new RotatingFileHandler(DOCROOT.'/logs/cron.log', 7);
|
||||
$handler = new RotatingFileHandler(base_dir().'/logs/cron.log', 7);
|
||||
$handler->setFormatter($formatter);
|
||||
$logger->pushHandler($handler);
|
||||
|
||||
// Lettura della cache
|
||||
$ultima_esecuzione = Cache::get('Ultima esecuzione del cron');
|
||||
$ultima_esecuzione = Cache::pool('Ultima esecuzione del cron');
|
||||
$data = $ultima_esecuzione->content;
|
||||
|
||||
$in_esecuzione = Cache::get('Cron in esecuzione');
|
||||
$cron_id = Cache::get('ID del cron');
|
||||
$in_esecuzione = Cache::pool('Cron in esecuzione');
|
||||
$cron_id = Cache::pool('ID del cron');
|
||||
|
||||
$disattiva = Cache::get('Disabilita cron');
|
||||
$disattiva = Cache::pool('Disabilita cron');
|
||||
if (!empty($disattiva->content)) {
|
||||
return;
|
||||
}
|
||||
|
|
20
editor.php
20
editor.php
|
@ -25,9 +25,9 @@ use Carbon\Carbon;
|
|||
$read_only = $structure->permission == 'r';
|
||||
|
||||
if (empty($id_record) && !empty($id_module) && empty($id_plugin)) {
|
||||
redirect(ROOTDIR.'/controller.php?id_module='.$id_module);
|
||||
redirect(base_path().'/controller.php?id_module='.$id_module);
|
||||
} elseif (empty($id_record) && empty($id_module) && empty($id_plugin)) {
|
||||
redirect(ROOTDIR.'/index.php');
|
||||
redirect(base_path().'/index.php');
|
||||
}
|
||||
|
||||
include_once App::filepath('include|custom|', 'top.php');
|
||||
|
@ -45,7 +45,7 @@ $has_access = !empty($query) ? $dbo->fetchNum($query) !== 0 : true;
|
|||
|
||||
if ($has_access) {
|
||||
// Inclusione gli elementi fondamentali
|
||||
include_once DOCROOT.'/actions.php';
|
||||
include_once base_dir().'/actions.php';
|
||||
}
|
||||
|
||||
if (empty($record) || !$has_access) {
|
||||
|
@ -58,7 +58,7 @@ if (empty($record) || !$has_access) {
|
|||
</h3>
|
||||
<br>
|
||||
|
||||
<a class="btn btn-default" href="'.ROOTDIR.'/controller.php?id_module='.$id_module.'">
|
||||
<a class="btn btn-default" href="'.base_path().'/controller.php?id_module='.$id_module.'">
|
||||
<i class="fa fa-chevron-left"></i> '.tr('Indietro').'
|
||||
</a>
|
||||
</div>';
|
||||
|
@ -142,7 +142,7 @@ if (empty($record) || !$has_access) {
|
|||
// Pulsanti di default
|
||||
echo '
|
||||
<div id="pulsanti">
|
||||
<a class="btn btn-warning" href="'.ROOTDIR.'/controller.php?id_module='.$id_module.'">
|
||||
<a class="btn btn-warning" href="'.base_path().'/controller.php?id_module='.$id_module.'">
|
||||
<i class="fa fa-chevron-left"></i> '.tr("Torna all'elenco").'
|
||||
</a>
|
||||
|
||||
|
@ -266,7 +266,7 @@ if (empty($record) || !$has_access) {
|
|||
echo '
|
||||
<div id="tab_note" class="tab-pane">';
|
||||
|
||||
include DOCROOT.'/plugins/notes.php';
|
||||
include base_dir().'/plugins/notes.php';
|
||||
|
||||
echo '
|
||||
</div>';
|
||||
|
@ -276,7 +276,7 @@ if (empty($record) || !$has_access) {
|
|||
echo '
|
||||
<div id="tab_checks" class="tab-pane">';
|
||||
|
||||
include DOCROOT.'/plugins/checks.php';
|
||||
include base_dir().'/plugins/checks.php';
|
||||
|
||||
echo '
|
||||
</div>';
|
||||
|
@ -378,7 +378,7 @@ if (empty($record) || !$has_access) {
|
|||
|
||||
$id_plugin = $plugin['id'];
|
||||
|
||||
include DOCROOT.'/include/manager.php';
|
||||
include base_dir().'/include/manager.php';
|
||||
|
||||
echo '
|
||||
</div>';
|
||||
|
@ -399,7 +399,7 @@ echo '{( "name": "widgets", "id_module": "'.$id_module.'", "id_record": "'.$id_r
|
|||
if (!empty($record)) {
|
||||
echo '
|
||||
<hr>
|
||||
<a class="btn btn-default" href="'.ROOTDIR.'/controller.php?id_module='.$id_module.'">
|
||||
<a class="btn btn-default" href="'.base_path().'/controller.php?id_module='.$id_module.'">
|
||||
<i class="fa fa-chevron-left"></i> '.tr('Indietro').'
|
||||
</a>';
|
||||
}
|
||||
|
@ -477,7 +477,7 @@ if (!empty($advanced_sessions)) {
|
|||
?>
|
||||
|
||||
function getActiveUsers(){
|
||||
$.getJSON('<?php echo ROOTDIR; ?>/ajax.php?op=active_users', {
|
||||
$.getJSON('<?php echo base_path(); ?>/ajax.php?op=active_users', {
|
||||
id_module: <?php echo $id_module; ?>,
|
||||
id_record: <?php echo $id_record; ?>
|
||||
},
|
||||
|
|
|
@ -78,21 +78,21 @@ if ($module['name'] != 'Contratti' && $module['name'] != 'Preventivi') {
|
|||
echo '
|
||||
<div class="row '.(!empty($options['nascondi_prezzi']) ? 'hidden' : '').'" id="prezzi_articolo">
|
||||
<div class="col-md-4 text-center">
|
||||
<button type="button" class="btn btn-sm btn-info btn-block '.($disabled ? 'disabled' : '').'" '.($disabled ? 'disabled' : '').' onclick="$(\'#prezziacquisto\').toggleClass(\'hide\'); $(\'#prezziacquisto\').load(\''.ROOTDIR."/ajax_complete.php?module=Articoli&op=getprezziacquisto&idarticolo=' + ( $('#idarticolo option:selected').val() || $('#idarticolo').val()) + '&idanagrafica=".$options['idanagrafica'].'\');">
|
||||
<button type="button" class="btn btn-sm btn-info btn-block '.($disabled ? 'disabled' : '').'" '.($disabled ? 'disabled' : '').' onclick="$(\'#prezziacquisto\').toggleClass(\'hide\'); $(\'#prezziacquisto\').load(\''.base_path()."/ajax_complete.php?module=Articoli&op=getprezziacquisto&idarticolo=' + ( $('#idarticolo option:selected').val() || $('#idarticolo').val()) + '&idanagrafica=".$options['idanagrafica'].'\');">
|
||||
<i class="fa fa-search"></i> '.tr('Ultimi prezzi di acquisto').'
|
||||
</button>
|
||||
<div id="prezziacquisto" class="hide"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 text-center">
|
||||
<button type="button" class="btn btn-sm btn-info btn-block '.($disabled ? 'disabled' : '').'" '.($disabled ? 'disabled' : '').' onclick="$(\'#prezzi\').toggleClass(\'hide\'); $(\'#prezzi\').load(\''.ROOTDIR."/ajax_complete.php?module=Articoli&op=getprezzi&idarticolo=' + ( $('#idarticolo option:selected').val() || $('#idarticolo').val()) + '&idanagrafica=".$options['idanagrafica'].'\');">
|
||||
<button type="button" class="btn btn-sm btn-info btn-block '.($disabled ? 'disabled' : '').'" '.($disabled ? 'disabled' : '').' onclick="$(\'#prezzi\').toggleClass(\'hide\'); $(\'#prezzi\').load(\''.base_path()."/ajax_complete.php?module=Articoli&op=getprezzi&idarticolo=' + ( $('#idarticolo option:selected').val() || $('#idarticolo').val()) + '&idanagrafica=".$options['idanagrafica'].'\');">
|
||||
<i class="fa fa-search"></i> '.tr('Ultimi prezzi al cliente').'
|
||||
</button>
|
||||
<div id="prezzi" class="hide"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 text-center">
|
||||
<button type="button" class="btn btn-sm btn-info btn-block '.($disabled ? 'disabled' : '').'" '.($disabled ? 'disabled' : '').' onclick="$(\'#prezzivendita\').toggleClass(\'hide\'); $(\'#prezzivendita\').load(\''.ROOTDIR."/ajax_complete.php?module=Articoli&op=getprezzivendita&idarticolo=' + ( $('#idarticolo option:selected').val() || $('#idarticolo').val()) + '&idanagrafica=".$options['idanagrafica'].'\');">
|
||||
<button type="button" class="btn btn-sm btn-info btn-block '.($disabled ? 'disabled' : '').'" '.($disabled ? 'disabled' : '').' onclick="$(\'#prezzivendita\').toggleClass(\'hide\'); $(\'#prezzivendita\').load(\''.base_path()."/ajax_complete.php?module=Articoli&op=getprezzivendita&idarticolo=' + ( $('#idarticolo option:selected').val() || $('#idarticolo').val()) + '&idanagrafica=".$options['idanagrafica'].'\');">
|
||||
<i class="fa fa-search"></i> '.tr('Ultimi prezzi di vendita').'
|
||||
</button>
|
||||
<div id="prezzivendita" class="hide"></div>
|
||||
|
|
|
@ -21,7 +21,7 @@ $result['id'] = isset($result['id']) ? $result['id'] : null;
|
|||
|
||||
// Form di inserimento riga documento
|
||||
echo '
|
||||
<form action="'.ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<form action="'.base_path().'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<input type="hidden" name="id_plugin" value="'.$id_plugin.'">
|
||||
<input type="hidden" name="hash" value="tab_'.$id_plugin.'">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
|
|
|
@ -42,7 +42,7 @@ if (empty($righe)) {
|
|||
return;
|
||||
}
|
||||
|
||||
$link = !empty($documento_finale) ? ROOTDIR.'/editor.php?id_module='.$final_module['id'].'&id_record='.$documento_finale->id : ROOTDIR.'/controller.php?id_module='.$final_module['id'];
|
||||
$link = !empty($documento_finale) ? base_path().'/editor.php?id_module='.$final_module['id'].'&id_record='.$documento_finale->id : base_path().'/controller.php?id_module='.$final_module['id'];
|
||||
|
||||
echo '
|
||||
<form action="'.$link.'" method="post">
|
||||
|
|
|
@ -115,7 +115,7 @@ if (post('db_host') !== null) {
|
|||
|
||||
// Creazione della configurazione
|
||||
if ($dbo->isConnected()) {
|
||||
$new_config = file_get_contents(DOCROOT.'/config.example.php');
|
||||
$new_config = file_get_contents(base_dir().'/config.example.php');
|
||||
|
||||
$decimals = post('decimal_separator');
|
||||
$thousands = post('thousand_separator');
|
||||
|
@ -149,14 +149,14 @@ if (post('db_host') !== null) {
|
|||
<p>'.tr('Sembra che non ci siano i permessi di scrittura sul file _FILE_', [
|
||||
'_FILE_' => '<b>config.inc.php</b>',
|
||||
]).'</p>
|
||||
<form action="'.$rootdir.'/index.php?action=updateconfig&firstuse=true" method="post">
|
||||
<form action="'.base_path().'/index.php?action=updateconfig&firstuse=true" method="post">
|
||||
<div class="hide">
|
||||
<input type="hidden" name="db_name" value="'.$db_name.'">
|
||||
<input type="hidden" name="db_password" value="'.$db_password.'">
|
||||
<input type="hidden" name="db_username" value="'.$db_username.'">;
|
||||
<input type="hidden" name="db_host" value="'.$db_host.'">
|
||||
</div>
|
||||
<a class="btn btn-warning" href="'.$rootdir.'/index.php"><i class="fa fa-arrow-left"></i> '.tr('Torna indietro').'</a>
|
||||
<a class="btn btn-warning" href="'.base_path().'/index.php"><i class="fa fa-arrow-left"></i> '.tr('Torna indietro').'</a>
|
||||
<button class="btn btn-info"><i class="fa fa-repeat"></i> '.tr('Riprova').'</button>
|
||||
</form>
|
||||
<hr>
|
||||
|
@ -184,9 +184,9 @@ if (post('db_host') !== null) {
|
|||
"dir" : "ltr",
|
||||
"lang" : "it-IT",
|
||||
"name" : "OpenSTAManager",
|
||||
"scope" : "'.ROOTDIR.'",
|
||||
"scope" : "'.base_path().'",
|
||||
"display" : "fullscreen",
|
||||
"start_url" : "'.ROOTDIR.'",
|
||||
"start_url" : "'.base_path().'",
|
||||
"short_name" : "OSM",
|
||||
"theme_color" : "transparent",
|
||||
"description" : "OpenSTAManager",
|
||||
|
@ -203,7 +203,7 @@ if (post('db_host') !== null) {
|
|||
}';
|
||||
file_put_contents('manifest.json', $manifest);
|
||||
|
||||
redirect(ROOTDIR.'/index.php');
|
||||
redirect(base_path().'/index.php');
|
||||
exit();
|
||||
}
|
||||
}
|
||||
|
@ -219,7 +219,7 @@ if ((file_exists('config.inc.php') || $valid_config) && !$dbo->isConnected()) {
|
|||
<div class="box-body">
|
||||
<p>'.tr("Si è verificato un'errore durante la connessione al database").'.</p>
|
||||
<p>'.tr('Controllare di aver inserito correttamente i dati di accesso, e che il database atto ad ospitare i dati del gestionale sia esistente').'.</p>
|
||||
<a class="btn btn-info" href="'.$rootdir.'/index.php"><i class="fa fa-repeat"></i> '.tr('Riprova').'</a>
|
||||
<a class="btn btn-info" href="'.base_path().'/index.php"><i class="fa fa-repeat"></i> '.tr('Riprova').'</a>
|
||||
</div>
|
||||
</div>';
|
||||
}
|
||||
|
@ -240,7 +240,7 @@ if (empty($creation) && (!file_exists('config.inc.php') || !$valid_config)) {
|
|||
'_FILE_' => '<b>config.inc.php</b>',
|
||||
]).'.</p>
|
||||
<p>'.tr("Nel caso il problema persista, rivolgersi all'assistenza ufficiale").'.</p>
|
||||
<a class="btn btn-info" href="'.$rootdir.'/index.php"><i class="fa fa-repeat"></i> '.tr('Riprova').'</a>
|
||||
<a class="btn btn-info" href="'.base_path().'/index.php"><i class="fa fa-repeat"></i> '.tr('Riprova').'</a>
|
||||
</div>
|
||||
</div>';
|
||||
}
|
||||
|
@ -295,7 +295,7 @@ if (empty($creation) && (!file_exists('config.inc.php') || !$valid_config)) {
|
|||
$("#test").prop("disabled", true);
|
||||
$("#install").prop("disabled", true);
|
||||
$(this).closest("form").ajaxSubmit({
|
||||
url: "'.$rootdir.'/index.php",
|
||||
url: "'.base_path().'/index.php",
|
||||
data: {
|
||||
test: 1,
|
||||
},
|
||||
|
|
|
@ -66,7 +66,7 @@ if (post('action') == 'init') {
|
|||
if (!$has_azienda) {
|
||||
Filter::set('post', 'op', 'add');
|
||||
$id_module = Modules::get('Anagrafiche')['id'];
|
||||
include DOCROOT.'/modules/anagrafiche/actions.php';
|
||||
include base_dir().'/modules/anagrafiche/actions.php';
|
||||
|
||||
// Logo stampe
|
||||
if (!empty($_FILES) && !empty($_FILES['blob']['name'])) {
|
||||
|
@ -114,7 +114,7 @@ if (post('action') == 'init') {
|
|||
}
|
||||
}
|
||||
|
||||
redirect(ROOTDIR, 'js');
|
||||
redirect(base_path(), 'js');
|
||||
exit();
|
||||
}
|
||||
|
||||
|
@ -143,15 +143,15 @@ if (!$has_user) {
|
|||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
{[ "type": "text", "label": "'.tr('Username').'", "name": "admin_username", "value": "'.$osm_password.'", "placeholder": "'.tr("Digita l'username dell'amministratore").'", "required": 1 ]}
|
||||
{[ "type": "text", "label": "'.tr('Username').'", "name": "admin_username", "value": "", "placeholder": "'.tr("Digita l'username dell'amministratore").'", "required": 1 ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "password", "label": "'.tr('Password').'", "id": "password", "name": "admin_password", "value": "'.$osm_password.'", "placeholder": "'.tr("Digita la password dell'amministratore").'", "required": 1, "strength": "#config" ]}
|
||||
{[ "type": "password", "label": "'.tr('Password').'", "id": "password", "name": "admin_password", "value": "", "placeholder": "'.tr("Digita la password dell'amministratore").'", "required": 1, "strength": "#config" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "email", "label": "'.tr('Email').'", "name": "admin_email", "value": "'.$osm_email.'", "placeholder": "'.tr("Digita l'indirizzo email dell'amministratore").'", "required": 1 ]}
|
||||
{[ "type": "email", "label": "'.tr('Email').'", "name": "admin_email", "value": "", "placeholder": "'.tr("Digita l'indirizzo email dell'amministratore").'", "required": 1 ]}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -172,7 +172,7 @@ if (!$has_azienda) {
|
|||
$readonly_tipo = true;
|
||||
|
||||
ob_start();
|
||||
include DOCROOT.'/modules/anagrafiche/add.php';
|
||||
include base_dir().'/modules/anagrafiche/add.php';
|
||||
$anagrafica = ob_get_clean();
|
||||
|
||||
echo str_replace('</form>', '', $anagrafica);
|
||||
|
@ -258,7 +258,7 @@ echo '
|
|||
$("button[type=submit]").not("#config").remove();
|
||||
});
|
||||
</script>
|
||||
<script src="'.$rootdir.'/lib/functions.js"></script>
|
||||
<script src="'.base_path().'/lib/functions.js"></script>
|
||||
<script>$(document).ready(init)</script>';
|
||||
|
||||
include_once App::filepath('include|custom|', 'bottom.php');
|
||||
|
|
|
@ -145,7 +145,7 @@ $dirs = [
|
|||
|
||||
$directories = [];
|
||||
foreach ($dirs as $name => $description) {
|
||||
$status = is_writable($docroot.DIRECTORY_SEPARATOR.$name);
|
||||
$status = is_writable(base_dir().DIRECTORY_SEPARATOR.$name);
|
||||
|
||||
$directories[] = [
|
||||
'name' => $name,
|
||||
|
|
|
@ -104,7 +104,7 @@ if (filter('action') == 'do_update') {
|
|||
}
|
||||
|
||||
echo '
|
||||
<a class="btn btn-success btn-block" href="'.ROOTDIR.'">
|
||||
<a class="btn btn-success btn-block" href="'.base_path().'">
|
||||
<i class="fa fa-check"></i> '.tr('Continua').'
|
||||
</a>';
|
||||
}
|
||||
|
@ -125,7 +125,7 @@ if (filter('action') == 'do_update') {
|
|||
<div class="box-body">
|
||||
<p>'.tr("E' attualmente in corso la procedura di aggiornamento del software, e pertanto siete pregati di attendere fino alla sua conclusione").'.</p>
|
||||
<p>'.tr("Nel caso il problema persista, rivolgersi all'amministratore o all'assistenza ufficiale").'.</p>
|
||||
<a class="btn btn-info" href="'.$rootdir.'/index.php"><i class="fa fa-repeat"></i> '.tr('Riprova').'</a>
|
||||
<a class="btn btn-info" href="'.base_path().'/index.php"><i class="fa fa-repeat"></i> '.tr('Riprova').'</a>
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
|
@ -202,7 +202,7 @@ if (filter('action') == 'do_update') {
|
|||
|
||||
foreach ($updates as $update) {
|
||||
if ($update['sql'] && (!empty($update['done']) || is_null($update['done']))) {
|
||||
$queries = readSQLFile(DOCROOT.$update['directory'].$update['filename'].'.sql', ';');
|
||||
$queries = readSQLFile(base_dir().$update['directory'].$update['filename'].'.sql', ';');
|
||||
$total += count($queries);
|
||||
|
||||
if (intval($update['done']) > 1) {
|
||||
|
|
|
@ -176,7 +176,7 @@ if (!empty($type) && $type != 'menu' && $type != 'custom') {
|
|||
foreach ($bulk as $key => $value) {
|
||||
$text = is_array($value) ? $value['text'] : $value;
|
||||
|
||||
$data = is_array($value) ? $value['data'] : [];
|
||||
$data = is_array($value['data']) ? $value['data'] : [];
|
||||
$extra = [];
|
||||
foreach ($data as $k => $v) {
|
||||
$extra[] = 'data-'.$k.'="'.prepareToField(\HTMLBuilder\HTMLBuilder::replace($v)).'"';
|
||||
|
|
|
@ -48,7 +48,7 @@ echo '
|
|||
</div>';
|
||||
|
||||
$documenti_disponibili = collect();
|
||||
$direzione_richiesta = $source->parent->direzione == 'entrata' ? 'uscita' : 'entrata';
|
||||
$direzione_richiesta = $source->getDocument()->direzione == 'entrata' ? 'uscita' : 'entrata';
|
||||
|
||||
// Individuazione DDT disponibili
|
||||
$ddt = DDT::whereHas('stato', function ($query) {
|
||||
|
|
|
@ -55,7 +55,7 @@ if (!$riferimenti->isEmpty()) {
|
|||
'.$riferimento->target->descrizione.'
|
||||
|
||||
<br>
|
||||
<small>'.reference($riferimento->target->parent).'</small>
|
||||
<small>'.reference($riferimento->target->getDocument()).'</small>
|
||||
</td>
|
||||
</tr>';
|
||||
|
||||
|
|
|
@ -38,9 +38,9 @@ echo '<!DOCTYPE html>
|
|||
|
||||
<link href="'.$paths['img'].'/favicon.png" rel="icon" type="image/x-icon" />';
|
||||
|
||||
if (file_exists(DOCROOT.'/manifest.json')) {
|
||||
if (file_exists(base_dir().'/manifest.json')) {
|
||||
echo '
|
||||
<link rel="manifest" href="'.ROOTDIR.'/manifest.json">';
|
||||
<link rel="manifest" href="'.base_path().'/manifest.json">';
|
||||
}
|
||||
|
||||
// CSS
|
||||
|
@ -166,7 +166,7 @@ if (Auth::check()) {
|
|||
},
|
||||
};
|
||||
globals = {
|
||||
rootdir: "'.$rootdir.'",
|
||||
rootdir: "'.base_path().'",
|
||||
js: "'.$paths['js'].'",
|
||||
css: "'.$paths['css'].'",
|
||||
img: "'.$paths['img'].'",
|
||||
|
@ -209,7 +209,7 @@ if (Auth::check()) {
|
|||
echo '
|
||||
<script>
|
||||
globals = {
|
||||
rootdir: "'.$rootdir.'",
|
||||
rootdir: "'.base_path().'",
|
||||
|
||||
search: {},
|
||||
translations: {
|
||||
|
@ -289,7 +289,8 @@ if (Auth::check()) {
|
|||
}
|
||||
}
|
||||
|
||||
$hide_sidebar = Auth::check() && (setting('Nascondere la barra sinistra di default') or $_SESSION['settings']['sidebar-collapse']);
|
||||
$settings_collapse = session_get('settings.sidebar-collapse') ? 1 : 0;
|
||||
$hide_sidebar = Auth::check() && (setting('Nascondere la barra sinistra di default') || $settings_collapse);
|
||||
echo '
|
||||
|
||||
</head>
|
||||
|
@ -372,19 +373,19 @@ if (Auth::check()) {
|
|||
<i class="fa fa-print"></i>
|
||||
</a></li>
|
||||
|
||||
<li><a href="'.$rootdir.'/bug.php" class="tip nav-button" title="'.tr('Segnalazione bug').'">
|
||||
<li><a href="'.base_path().'/bug.php" class="tip nav-button" title="'.tr('Segnalazione bug').'">
|
||||
<i class="fa fa-bug"></i>
|
||||
</a></li>
|
||||
|
||||
<li><a href="'.$rootdir.'/log.php" class="tip nav-button" title="'.tr('Log accessi').'">
|
||||
<li><a href="'.base_path().'/log.php" class="tip nav-button" title="'.tr('Log accessi').'">
|
||||
<i class="fa fa-book"></i>
|
||||
</a></li>
|
||||
|
||||
<li><a href="'.$rootdir.'/info.php" class="tip nav-button" title="'.tr('Informazioni').'">
|
||||
<li><a href="'.base_path().'/info.php" class="tip nav-button" title="'.tr('Informazioni').'">
|
||||
<i class="fa fa-info"></i>
|
||||
</a></li>
|
||||
|
||||
<li><a href="'.$rootdir.'/index.php?op=logout" onclick="sessionStorage.clear()" class="bg-red tip" title="'.tr('Esci').'">
|
||||
<li><a href="'.base_path().'/index.php?op=logout" onclick="sessionStorage.clear()" class="bg-red tip" title="'.tr('Esci').'">
|
||||
<i class="fa fa-power-off"></i>
|
||||
</a></li>
|
||||
</ul>
|
||||
|
@ -399,13 +400,13 @@ if (Auth::check()) {
|
|||
<!-- Sidebar user panel -->
|
||||
<div class="user-panel text-center info" style="height: 60px">
|
||||
<div class="info">
|
||||
<p><a href="'.$rootdir.'/modules/utenti/info.php">
|
||||
<p><a href="'.base_path().'/modules/utenti/info.php">
|
||||
'.$user['username'].'
|
||||
</a></p>
|
||||
<p id="datetime"></p>
|
||||
</div>
|
||||
|
||||
<a class="image" href="'.$rootdir.'/modules/utenti/info.php">';
|
||||
<a class="image" href="'.base_path().'/modules/utenti/info.php">';
|
||||
|
||||
$user_photo = $user->photo;
|
||||
if ($user_photo) {
|
||||
|
@ -520,10 +521,16 @@ if (Auth::check()) {
|
|||
<div class="col-md-12">';
|
||||
|
||||
// Eventuale messaggio personalizzato per l'installazione corrente
|
||||
include_once App::filepath('include/custom/extra', 'extra.php');
|
||||
$extra_file = App::filepath('include/custom/extra', 'extra.php');
|
||||
if ($extra_file) {
|
||||
include_once $extra_file;
|
||||
}
|
||||
} else {
|
||||
// Eventuale messaggio personalizzato per l'installazione corrente
|
||||
include_once App::filepath('include/custom/extra', 'login.php');
|
||||
$extra_file = App::filepath('include/custom/extra', 'login.php');
|
||||
if ($extra_file) {
|
||||
include_once $extra_file;
|
||||
}
|
||||
|
||||
if (!empty($messages['info']) || !empty($messages['warning']) || !empty($messages['error'])) {
|
||||
echo '
|
||||
|
|
16
index.php
16
index.php
|
@ -38,7 +38,7 @@ switch ($op) {
|
|||
|
||||
flash()->error(Auth::getStatus()[$status]['message']);
|
||||
|
||||
redirect(ROOTDIR.'/index.php');
|
||||
redirect(base_path().'/index.php');
|
||||
exit();
|
||||
}
|
||||
|
||||
|
@ -47,7 +47,7 @@ switch ($op) {
|
|||
case 'logout':
|
||||
Auth::logout();
|
||||
|
||||
redirect(ROOTDIR.'/index.php');
|
||||
redirect(base_path().'/index.php');
|
||||
exit();
|
||||
|
||||
break;
|
||||
|
@ -57,21 +57,21 @@ if (Auth::check() && isset($dbo) && $dbo->isConnected() && $dbo->isInstalled())
|
|||
$module = Auth::firstModule();
|
||||
|
||||
if (!empty($module)) {
|
||||
redirect(ROOTDIR.'/controller.php?id_module='.$module);
|
||||
redirect(base_path().'/controller.php?id_module='.$module);
|
||||
} else {
|
||||
redirect(ROOTDIR.'/index.php?op=logout');
|
||||
redirect(base_path().'/index.php?op=logout');
|
||||
}
|
||||
exit();
|
||||
}
|
||||
|
||||
// Procedura di installazione
|
||||
include_once $docroot.'/include/init/configuration.php';
|
||||
include_once base_dir().'/include/init/configuration.php';
|
||||
|
||||
// Procedura di aggiornamento
|
||||
include_once $docroot.'/include/init/update.php';
|
||||
include_once base_dir().'/include/init/update.php';
|
||||
|
||||
// Procedura di inizializzazione
|
||||
include_once $docroot.'/include/init/init.php';
|
||||
include_once base_dir().'/include/init/init.php';
|
||||
|
||||
$pageTitle = tr('Login');
|
||||
|
||||
|
@ -150,7 +150,7 @@ echo' required>
|
|||
{[ "type": "password", "name": "password", "autocomplete": "current-password", "placeholder": "'.tr('Password').'", "icon-before": "<i class=\"fa fa-lock\"></i>" ]}
|
||||
|
||||
<div class="text-right">
|
||||
<small><a href="'.ROOTDIR.'/reset.php">'.tr('Password dimenticata?').'</a></small>
|
||||
<small><a href="'.base_path().'/reset.php">'.tr('Password dimenticata?').'</a></small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
4
info.php
4
info.php
|
@ -37,8 +37,8 @@ echo '
|
|||
|
||||
<div class="box-body">';
|
||||
|
||||
if (file_exists($docroot.'/assistenza.php')) {
|
||||
include $docroot.'/assistenza.php';
|
||||
if (file_exists(base_dir().'/assistenza.php')) {
|
||||
include base_dir().'/assistenza.php';
|
||||
} else {
|
||||
echo '
|
||||
<div class="row">
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
*
|
||||
* @since 2.4.2
|
||||
*/
|
||||
use Common\Components\Accounting;
|
||||
|
||||
/**
|
||||
* Esegue una somma precisa tra due interi/array.
|
||||
|
@ -113,7 +114,7 @@ function orderValue($table, $field, $id)
|
|||
*
|
||||
* @return string|null
|
||||
*/
|
||||
function discountInfo(\Common\Components\Row $riga, $mostra_maggiorazione = true)
|
||||
function discountInfo(Accounting $riga, $mostra_maggiorazione = true)
|
||||
{
|
||||
if (empty($riga->sconto_unitario) || (!$mostra_maggiorazione && $riga->sconto_unitario < 0)) {
|
||||
return null;
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
/*
|
||||
* Funzioni fondamentali per il corretto funzionamento del nucleo del progetto.
|
||||
*
|
||||
* @since 2.3
|
||||
*/
|
||||
|
||||
use HTMLBuilder\HTMLBuilder;
|
||||
use Models\OperationLog;
|
||||
|
||||
/**
|
||||
|
@ -62,7 +64,7 @@ function sanitizeFilename($filename)
|
|||
/**
|
||||
* Elimina i file indicati.
|
||||
*
|
||||
* @param array $files
|
||||
* @param array|string $files
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
|
@ -213,8 +215,10 @@ function translateTemplate()
|
|||
$id_record = filter('id_record');
|
||||
$id_parent = filter('id_parent');
|
||||
|
||||
$id_module = Modules::getCurrent()['id'];
|
||||
$id_plugin = Plugins::getCurrent()['id'];
|
||||
$module = Modules::getCurrent();
|
||||
$plugin = Plugins::getCurrent();
|
||||
$id_module = $module ? $module['id'] : null;
|
||||
$id_plugin = $plugin ? $plugin['id'] : null;
|
||||
|
||||
$template = ob_get_clean();
|
||||
|
||||
|
@ -225,7 +229,7 @@ function translateTemplate()
|
|||
];
|
||||
|
||||
$template = replace($template, $replaces);
|
||||
$template = \HTMLBuilder\HTMLBuilder::replace($template);
|
||||
$template = HTMLBuilder::replace($template);
|
||||
$template = replace($template, $replaces);
|
||||
|
||||
// Informazioni estese sulle azioni dell'utente
|
||||
|
@ -308,9 +312,9 @@ function redirectOperation($id_module, $id_record)
|
|||
$hash = $hash == '#tab_0' ? '' : $hash;
|
||||
|
||||
if ($backto == 'record-edit') {
|
||||
redirect(ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.$hash);
|
||||
redirect(base_path().'/editor.php?id_module='.$id_module.'&id_record='.$id_record.$hash);
|
||||
} elseif ($backto == 'record-list') {
|
||||
redirect(ROOTDIR.'/controller.php?id_module='.$id_module.$hash);
|
||||
redirect(base_path().'/controller.php?id_module='.$id_module.$hash);
|
||||
}
|
||||
|
||||
exit();
|
||||
|
@ -358,7 +362,7 @@ function getURLPath()
|
|||
if (substr($path, 0, strlen($prefix)) == $prefix) {
|
||||
$path = substr($path, strlen($prefix));
|
||||
} else {
|
||||
$path = str_replace(DOCROOT, ROOTDIR, $path);
|
||||
$path = str_replace(base_dir(), base_path(), $path);
|
||||
}
|
||||
|
||||
return slashes($path);
|
||||
|
@ -406,3 +410,86 @@ function check_query($query)
|
|||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Restituisce il valore corrente di un parametro della sessione.
|
||||
*
|
||||
* @param string $name Nome del parametro in dot-notation
|
||||
* @param mixed|null $default
|
||||
*
|
||||
* @return array|mixed|null
|
||||
*/
|
||||
function session_get($name, $default = null)
|
||||
{
|
||||
$session = &$_SESSION;
|
||||
if (empty($name)) {
|
||||
return $default;
|
||||
}
|
||||
|
||||
$pieces = explode('.', $name);
|
||||
foreach ($pieces as $piece) {
|
||||
if (!isset($session[$piece])) {
|
||||
return $default;
|
||||
}
|
||||
|
||||
$session = &$session[$piece];
|
||||
}
|
||||
|
||||
return isset($session) ? $session : $default;
|
||||
}
|
||||
|
||||
/**
|
||||
* Imposta un parametro nella sessione secondo un nome indicato.
|
||||
*
|
||||
* @param string $name Nome del parametro in dot-notation
|
||||
* @param mixed $value Valore da impostare
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function session_set($name, $value)
|
||||
{
|
||||
$session = &$_SESSION;
|
||||
|
||||
if (!empty($name)) {
|
||||
$pieces = explode('.', $name);
|
||||
foreach ($pieces as $piece) {
|
||||
if (!isset($session[$piece])) {
|
||||
$session[$piece] = [];
|
||||
}
|
||||
|
||||
$session = &$session[$piece];
|
||||
}
|
||||
}
|
||||
|
||||
$session = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Restituisce l'URL completo per il gestionale.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function base_url()
|
||||
{
|
||||
return App::$baseurl;
|
||||
}
|
||||
|
||||
/**
|
||||
* Restituisce l'URL parziale per il gestionale.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function base_path()
|
||||
{
|
||||
return App::$rootdir;
|
||||
}
|
||||
|
||||
/**
|
||||
* Restituisce il percorso per la cartella principale del gestionale.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function base_dir()
|
||||
{
|
||||
return App::$docroot;
|
||||
}
|
||||
|
|
|
@ -33,14 +33,14 @@ switch (filter('op')) {
|
|||
}
|
||||
|
||||
// Salvataggio della versione nella cache
|
||||
Cache::get('Ultima versione di OpenSTAManager disponibile')->set($versione);
|
||||
Cache::pool('Ultima versione di OpenSTAManager disponibile')->set($versione);
|
||||
|
||||
echo $versione;
|
||||
|
||||
break;
|
||||
|
||||
case 'upload':
|
||||
include DOCROOT.'/modules/aggiornamenti/upload_modules.php';
|
||||
include base_dir().'/modules/aggiornamenti/upload_modules.php';
|
||||
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -49,7 +49,7 @@ $(document).ready(function () {
|
|||
return;
|
||||
}
|
||||
|
||||
$contents = file_get_contents(DOCROOT.'/checksum.json');
|
||||
$contents = file_get_contents(base_dir().'/checksum.json');
|
||||
$checksum = json_decode($contents);
|
||||
|
||||
if (empty($checksum)) {
|
||||
|
@ -66,7 +66,7 @@ if (empty($checksum)) {
|
|||
// Controllo degli errori
|
||||
$errors = [];
|
||||
foreach ($checksum as $file => $md5) {
|
||||
$verifica = md5_file(DOCROOT.'/'.$file);
|
||||
$verifica = md5_file(base_dir().'/'.$file);
|
||||
if ($verifica != $md5) {
|
||||
$errors[] = $file;
|
||||
}
|
||||
|
|
|
@ -72,7 +72,7 @@ $(document).ready(function () {
|
|||
return;
|
||||
}
|
||||
|
||||
$contents = file_get_contents(DOCROOT.'/database.json');
|
||||
$contents = file_get_contents(base_dir().'/database.json');
|
||||
$data = json_decode($contents, true);
|
||||
|
||||
if (empty($data)) {
|
||||
|
|
|
@ -174,7 +174,7 @@ function search(button) {
|
|||
</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<form action="'.ROOTDIR.'/controller.php?id_module='.$id_module.'" method="post" enctype="multipart/form-data" id="update">
|
||||
<form action="'.base_path().'/controller.php?id_module='.$id_module.'" method="post" enctype="multipart/form-data" id="update">
|
||||
<input type="hidden" name="op" value="upload">
|
||||
|
||||
{[ "type": "file", "name": "blob", "required": 1, "accept": ".zip" ]}
|
||||
|
@ -236,7 +236,7 @@ echo '
|
|||
<div>
|
||||
<h3>'.tr('Requisiti').'</h3>';
|
||||
|
||||
include DOCROOT.'/include/init/requirements.php';
|
||||
include base_dir().'/include/init/requirements.php';
|
||||
|
||||
echo '
|
||||
|
||||
|
|
|
@ -34,9 +34,9 @@ function customStructure()
|
|||
|
||||
// Controlli di personalizzazione fisica
|
||||
foreach ($dirs as $dir) {
|
||||
$files = glob(DOCROOT.'/'.$dir.'/*/custom/*.{php,html}', GLOB_BRACE);
|
||||
$files = glob(base_dir().'/'.$dir.'/*/custom/*.{php,html}', GLOB_BRACE);
|
||||
foreach ($files as $file) {
|
||||
$file = str_replace(DOCROOT.'/', '', $file);
|
||||
$file = str_replace(base_dir().'/', '', $file);
|
||||
$result = explode('/custom/', $file)[0];
|
||||
|
||||
if (!in_array($result, $results)) {
|
||||
|
@ -44,9 +44,9 @@ function customStructure()
|
|||
}
|
||||
}
|
||||
|
||||
$files = glob(DOCROOT.'/'.$dir.'/*/custom/src/*.{php,html}', GLOB_BRACE);
|
||||
$files = glob(base_dir().'/'.$dir.'/*/custom/src/*.{php,html}', GLOB_BRACE);
|
||||
foreach ($files as $file) {
|
||||
$file = str_replace(DOCROOT.'/', '', $file);
|
||||
$file = str_replace(base_dir().'/', '', $file);
|
||||
$result = explode('/custom/', $file)[0];
|
||||
|
||||
if (!in_array($result, $results)) {
|
||||
|
@ -54,9 +54,9 @@ function customStructure()
|
|||
}
|
||||
}
|
||||
|
||||
$files = glob(DOCROOT.'/'.$dir.'/*/custom/src/Components/*.{php,html}', GLOB_BRACE);
|
||||
$files = glob(base_dir().'/'.$dir.'/*/custom/src/Components/*.{php,html}', GLOB_BRACE);
|
||||
foreach ($files as $file) {
|
||||
$file = str_replace(DOCROOT.'/', '', $file);
|
||||
$file = str_replace(base_dir().'/', '', $file);
|
||||
$result = explode('/custom/', $file)[0];
|
||||
|
||||
if (!in_array($result, $results)) {
|
||||
|
@ -64,9 +64,9 @@ function customStructure()
|
|||
}
|
||||
}
|
||||
|
||||
$files = glob(DOCROOT.'/'.$dir.'/*/custom/src/API/*.{php,html}', GLOB_BRACE);
|
||||
$files = glob(base_dir().'/'.$dir.'/*/custom/src/API/*.{php,html}', GLOB_BRACE);
|
||||
foreach ($files as $file) {
|
||||
$file = str_replace(DOCROOT.'/', '', $file);
|
||||
$file = str_replace(base_dir().'/', '', $file);
|
||||
$result = explode('/custom/', $file)[0];
|
||||
|
||||
if (!in_array($result, $results)) {
|
||||
|
@ -74,9 +74,9 @@ function customStructure()
|
|||
}
|
||||
}
|
||||
|
||||
$files = glob(DOCROOT.'/'.$dir.'/*/custom/ajax/*.{php,html}', GLOB_BRACE);
|
||||
$files = glob(base_dir().'/'.$dir.'/*/custom/ajax/*.{php,html}', GLOB_BRACE);
|
||||
foreach ($files as $file) {
|
||||
$file = str_replace(DOCROOT.'/', '', $file);
|
||||
$file = str_replace(base_dir().'/', '', $file);
|
||||
$result = explode('/custom/', $file)[0];
|
||||
|
||||
if (!in_array($result, $results)) {
|
||||
|
@ -84,9 +84,9 @@ function customStructure()
|
|||
}
|
||||
}
|
||||
|
||||
$files = glob(DOCROOT.'/'.$dir.'/*/custom/widgets/*.{php,html}', GLOB_BRACE);
|
||||
$files = glob(base_dir().'/'.$dir.'/*/custom/widgets/*.{php,html}', GLOB_BRACE);
|
||||
foreach ($files as $file) {
|
||||
$file = str_replace(DOCROOT.'/', '', $file);
|
||||
$file = str_replace(base_dir().'/', '', $file);
|
||||
$result = explode('/custom/', $file)[0];
|
||||
|
||||
if (!in_array($result, $results)) {
|
||||
|
@ -105,7 +105,7 @@ function customStructure()
|
|||
*/
|
||||
function customTables()
|
||||
{
|
||||
$tables = include DOCROOT.'/update/tables.php';
|
||||
$tables = include base_dir().'/update/tables.php';
|
||||
|
||||
$names = [];
|
||||
foreach ($tables as $table) {
|
||||
|
|
|
@ -49,7 +49,7 @@ class UpdateHook extends CachedManager
|
|||
}
|
||||
|
||||
$module = Modules::get('Aggiornamenti');
|
||||
$link = ROOTDIR.'/controller.php?id_module='.$module->id;
|
||||
$link = base_path().'/controller.php?id_module='.$module->id;
|
||||
|
||||
$message = tr("E' disponibile la versione _VERSION_ del gestionale", [
|
||||
'_VERSION_' => $update,
|
||||
|
|
|
@ -38,13 +38,13 @@ $extraction_dir = Zip::extract($_FILES['blob']['tmp_name']);
|
|||
// Aggiornamento del progetto
|
||||
if (file_exists($extraction_dir.'/VERSION')) {
|
||||
// Salva il file di configurazione
|
||||
$config = file_get_contents($docroot.'/config.inc.php');
|
||||
$config = file_get_contents(base_dir().'/config.inc.php');
|
||||
|
||||
// Copia i file dalla cartella temporanea alla root
|
||||
copyr($extraction_dir, $docroot);
|
||||
copyr($extraction_dir, base_dir());
|
||||
|
||||
// Ripristina il file di configurazione dell'installazione
|
||||
file_put_contents($docroot.'/config.inc.php', $config);
|
||||
file_put_contents(base_dir().'/config.inc.php', $config);
|
||||
} else {
|
||||
$finder = Symfony\Component\Finder\Finder::create()
|
||||
->files()
|
||||
|
@ -83,7 +83,7 @@ if (file_exists($extraction_dir.'/VERSION')) {
|
|||
}
|
||||
|
||||
// Copia dei file nella cartella relativa
|
||||
copyr(dirname($file->getRealPath()), $docroot.'/'.$directory.'/'.$info['directory']);
|
||||
copyr(dirname($file->getRealPath()), base_dir().'/'.$directory.'/'.$info['directory']);
|
||||
|
||||
// Eventuale registrazione nel database
|
||||
if (empty($installed)) {
|
||||
|
@ -110,4 +110,4 @@ if (file_exists($extraction_dir.'/VERSION')) {
|
|||
delete($extraction_dir);
|
||||
|
||||
// Redirect
|
||||
redirect(ROOTDIR.'/editor.php?id_module='.$id_module);
|
||||
redirect(base_path().'/editor.php?id_module='.$id_module);
|
||||
|
|
|
@ -196,7 +196,7 @@ switch (post('op')) {
|
|||
// Se ad aggiungere un cliente è un agente, lo imposto come agente di quel cliente
|
||||
// Lettura tipologia dell'utente loggato
|
||||
$agente_is_logged = false;
|
||||
|
||||
if (!empty($user['idanagrafica'])) {
|
||||
$rs = $dbo->fetchArray('SELECT descrizione FROM an_tipianagrafiche INNER JOIN an_tipianagrafiche_anagrafiche ON an_tipianagrafiche.idtipoanagrafica = an_tipianagrafiche_anagrafiche.idtipoanagrafica WHERE idanagrafica = '.prepare($user['idanagrafica']));
|
||||
|
||||
for ($i = 0; $i < count($rs); ++$i) {
|
||||
|
@ -205,6 +205,7 @@ switch (post('op')) {
|
|||
$i = count($rs);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$idagente = ($agente_is_logged && in_array($id_cliente, $idtipoanagrafica)) ? $user['idanagrafica'] : 0;
|
||||
|
||||
|
|
|
@ -67,7 +67,7 @@ $rs = $dbo->fetchArray($query);
|
|||
foreach ($rs as $r) {
|
||||
$result = [];
|
||||
|
||||
$result['link'] = ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$r['id'];
|
||||
$result['link'] = base_path().'/editor.php?id_module='.$link_id.'&id_record='.$r['id'];
|
||||
$result['title'] = $r['ragione_sociale'];
|
||||
$result['title'] .= !empty($r['deleted_at']) ? ' <small class="text-danger"><em>('.tr('eliminata').')</em></small>' : '';
|
||||
$result['category'] = 'Anagrafiche';
|
||||
|
@ -114,7 +114,7 @@ $plugin = $dbo->fetchArray("SELECT id FROM zz_plugins WHERE name='Referenti'");
|
|||
foreach ($rs as $r) {
|
||||
$result = [];
|
||||
|
||||
$result['link'] = ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$r['id'].'#tab_'.$plugin[0]['id'];
|
||||
$result['link'] = base_path().'/editor.php?id_module='.$link_id.'&id_record='.$r['id'].'#tab_'.$plugin[0]['id'];
|
||||
$result['title'] = $r['nome'];
|
||||
$result['category'] = 'Referenti';
|
||||
|
||||
|
|
|
@ -65,6 +65,8 @@ switch (post('op')) {
|
|||
break;
|
||||
}
|
||||
|
||||
$operations = [];
|
||||
|
||||
if (App::debug()) {
|
||||
$operations['delete-bulk'] = [
|
||||
'text' => '<span><i class="fa fa-trash"></i> '.tr('Elimina selezionati').'</span>',
|
||||
|
|
|
@ -47,6 +47,7 @@ if (!$is_cliente) {
|
|||
}
|
||||
}
|
||||
|
||||
$nazione_anagrafica = $anagrafica->sedeLegale->nazione;
|
||||
?>
|
||||
|
||||
<form action="" method="post" id="edit-form" autocomplete="<?php echo setting('Autocompletamento form'); ?>" >
|
||||
|
@ -129,7 +130,7 @@ if (!$is_cliente) {
|
|||
$help_codice_destinatario .= ' <b>'.tr("Non è necessario comunicare il proprio codice destinatario ai fornitori in quanto è sufficiente che questo sia registrato nel portale del Sistema Di Interscambio dell'Agenzia Entrate (SDI)").'.</b>';
|
||||
}
|
||||
?>
|
||||
{[ "type": "text", "label": "<?php echo ($record['tipo'] == 'Ente pubblico') ? tr('Codice unico ufficio') : tr('Codice destinatario'); ?>", "name": "codice_destinatario", "required": 0, "class": "text-center text-uppercase alphanumeric-mask", "value": "$codice_destinatario$", "maxlength": <?php echo ($record['tipo'] == 'Ente pubblico') ? '6' : '7'; ?>, "help": "<?php echo tr($help_codice_destinatario); ?>", "readonly": "<?php echo intval($anagrafica->sedeLegale->nazione->iso2 != 'IT'); ?>" ]}
|
||||
{[ "type": "text", "label": "<?php echo ($record['tipo'] == 'Ente pubblico') ? tr('Codice unico ufficio') : tr('Codice destinatario'); ?>", "name": "codice_destinatario", "required": 0, "class": "text-center text-uppercase alphanumeric-mask", "value": "$codice_destinatario$", "maxlength": <?php echo ($record['tipo'] == 'Ente pubblico') ? '6' : '7'; ?>, "help": "<?php echo tr($help_codice_destinatario); ?>", "readonly": "<?php echo intval($nazione_anagrafica ? $nazione_anagrafica->iso2 != 'IT' : 0); ?>" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
|
|
|
@ -19,7 +19,8 @@
|
|||
|
||||
namespace Modules\Anagrafiche;
|
||||
|
||||
use Common\Model;
|
||||
use Common\SimpleModelTrait;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Modules\Contratti\Contratto;
|
||||
use Modules\DDT\DDT;
|
||||
|
@ -34,6 +35,7 @@ use Util\Generator;
|
|||
|
||||
class Anagrafica extends Model
|
||||
{
|
||||
use SimpleModelTrait;
|
||||
use RecordTrait;
|
||||
use SoftDeletes;
|
||||
|
||||
|
@ -62,7 +64,7 @@ class Anagrafica extends Model
|
|||
*/
|
||||
public static function build($ragione_sociale, $nome = '', $cognome = '', array $tipologie = [])
|
||||
{
|
||||
$model = parent::build();
|
||||
$model = new static();
|
||||
|
||||
$model->ragione_sociale = $ragione_sociale;
|
||||
|
||||
|
|
|
@ -19,10 +19,13 @@
|
|||
|
||||
namespace Modules\Anagrafiche;
|
||||
|
||||
use Common\Model;
|
||||
use Common\SimpleModelTrait;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Nazione extends Model
|
||||
{
|
||||
use SimpleModelTrait;
|
||||
|
||||
protected $table = 'an_nazioni';
|
||||
|
||||
public function anagrafiche()
|
||||
|
|
|
@ -19,10 +19,13 @@
|
|||
|
||||
namespace Modules\Anagrafiche;
|
||||
|
||||
use Common\Model;
|
||||
use Common\SimpleModelTrait;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Sede extends Model
|
||||
{
|
||||
use SimpleModelTrait;
|
||||
|
||||
protected $table = 'an_sedi';
|
||||
|
||||
/**
|
||||
|
|
|
@ -19,10 +19,13 @@
|
|||
|
||||
namespace Modules\Anagrafiche;
|
||||
|
||||
use Common\Model;
|
||||
use Common\SimpleModelTrait;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Tipo extends Model
|
||||
{
|
||||
use SimpleModelTrait;
|
||||
|
||||
protected $table = 'an_tipianagrafiche';
|
||||
protected $primaryKey = 'idtipoanagrafica';
|
||||
|
||||
|
|
|
@ -131,7 +131,7 @@ switch (post('op')) {
|
|||
// Salvataggio info componente (campo `contenuto`)
|
||||
if (!empty($componente)) {
|
||||
$contenuto_precedente_esistente = !empty($articolo->contenuto);
|
||||
$contenuto = file_get_contents(DOCROOT.'/files/impianti/'.$componente);
|
||||
$contenuto = file_get_contents(base_dir().'/files/impianti/'.$componente);
|
||||
$contenuto_componente = Ini::read($contenuto);
|
||||
|
||||
// Lettura dei campi esistenti per preservarne il valore
|
||||
|
|
|
@ -43,7 +43,7 @@ switch ($resource) {
|
|||
($documenti[$i]['n2_documento'] != '') ? $n_documento = $documenti[$i]['n2_documento'] : $n_documento = $documenti[$i]['n_documento'];
|
||||
|
||||
$link_id = Modules::get($documenti[$i]['modulo'])['id'];
|
||||
echo "<tr><td class='first_cell text-left'><a href='".ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$documenti[$i]['id']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">".$documenti[$i]['tipo'].'. n. '.$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." </a></td>\n";
|
||||
echo "<tr><td class='first_cell text-left'><a href='".base_path().'/editor.php?id_module='.$link_id.'&id_record='.$documenti[$i]['id']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">".$documenti[$i]['tipo'].'. n. '.$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." </a></td>\n";
|
||||
echo "<td class='table_cell text-right'>".moneyFormat($documenti[$i]['costo_unitario'])."</td></tr>\n";
|
||||
array_push($ids, '"'.$documenti[$i]['id'].'"');
|
||||
}
|
||||
|
@ -72,7 +72,7 @@ switch ($resource) {
|
|||
($documenti[$i]['n2_documento'] != '') ? $n_documento = $documenti[$i]['n2_documento'] : $n_documento = $documenti[$i]['n_documento'];
|
||||
|
||||
$link_id = Modules::get($documenti[$i]['modulo'])['id'];
|
||||
echo "<tr><td class='first_cell text-left'><a href='".ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$documenti[$i]['id']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">".$documenti[$i]['tipo'].'. n. '.$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." </a></td>\n";
|
||||
echo "<tr><td class='first_cell text-left'><a href='".base_path().'/editor.php?id_module='.$link_id.'&id_record='.$documenti[$i]['id']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">".$documenti[$i]['tipo'].'. n. '.$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." </a></td>\n";
|
||||
echo "<td class='table_cell text-right'>".moneyFormat($documenti[$i]['costo_unitario'])."</td></tr>\n";
|
||||
array_push($ids, '"'.$documenti[$i]['id'].'"');
|
||||
}
|
||||
|
@ -100,7 +100,7 @@ switch ($resource) {
|
|||
($documenti[$i]['n2_documento'] != '') ? $n_documento = $documenti[$i]['n2_documento'] : $n_documento = $documenti[$i]['n_documento'];
|
||||
|
||||
$link_id = Modules::get($documenti[$i]['modulo'])['id'];
|
||||
echo "<tr><td class='first_cell text-left'><a href='".ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$documenti[$i]['id']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">".$documenti[$i]['tipo'].'. n. '.$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." </a></td>\n";
|
||||
echo "<tr><td class='first_cell text-left'><a href='".base_path().'/editor.php?id_module='.$link_id.'&id_record='.$documenti[$i]['id']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">".$documenti[$i]['tipo'].'. n. '.$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." </a></td>\n";
|
||||
echo "<td class='table_cell text-right'>".moneyFormat($documenti[$i]['costo_unitario'])."</td></tr>\n";
|
||||
array_push($ids, '"'.$documenti[$i]['id'].'"');
|
||||
}
|
||||
|
|
|
@ -49,7 +49,7 @@ $rs = $dbo->fetchArray($query);
|
|||
foreach ($rs as $r) {
|
||||
$result = [];
|
||||
|
||||
$result['link'] = ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$r['id'];
|
||||
$result['link'] = base_path().'/editor.php?id_module='.$link_id.'&id_record='.$r['id'];
|
||||
$result['title'] = $r['codice'].' - '.$r['descrizione'];
|
||||
$result['category'] = 'Articoli';
|
||||
|
||||
|
|
|
@ -245,11 +245,11 @@ echo '
|
|||
<div class="form-group">
|
||||
<label for="componente_filename">'.tr('Seleziona un componente').':</label>';
|
||||
echo "
|
||||
<select class=\"form-control superselect\" id=\"componente_filename\" name=\"componente_filename\" onchange=\"$.post('".$rootdir."/modules/impianti/actions.php', {op: 'load_componente', idarticolo: '".$id_record."', filename: $(this).find('option:selected').val() }, function(response){ $('#info_componente').html( response ); start_superselect(); $('.datepicker').datetimepicker({ locale: globals.locale, format: 'L' } ); } );\">\n";
|
||||
<select class=\"form-control superselect\" id=\"componente_filename\" name=\"componente_filename\" onchange=\"$.post('".base_path()."/modules/impianti/actions.php', {op: 'load_componente', idarticolo: '".$id_record."', filename: $(this).find('option:selected').val() }, function(response){ $('#info_componente').html( response ); start_superselect(); $('.datepicker').datetimepicker({ locale: globals.locale, format: 'L' } ); } );\">\n";
|
||||
echo '
|
||||
<option value="0">'.tr('Nessuno').'</option>';
|
||||
|
||||
$cmp = Ini::getList($docroot.'/files/impianti/');
|
||||
$cmp = Ini::getList(base_dir().'/files/impianti/');
|
||||
|
||||
if (count($cmp) > 0) {
|
||||
for ($c = 0; $c < count($cmp); ++$c) {
|
||||
|
|
|
@ -27,20 +27,20 @@ echo '
|
|||
<div class="pull-right">';
|
||||
if (empty($_GET['movimentazione_completa'])) {
|
||||
echo '
|
||||
<a class="btn btn-info btn-xs" href="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&movimentazione_completa=1#tab_'.$id_plugin.'">
|
||||
<a class="btn btn-info btn-xs" href="'.base_path().'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&movimentazione_completa=1#tab_'.$id_plugin.'">
|
||||
<i class="fa fa-eye"></i>
|
||||
'.tr('Mostra tutti i movimenti').'
|
||||
</a>';
|
||||
} else {
|
||||
echo '
|
||||
<a class="btn btn-info btn-xs" href="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&movimentazione_completa=0#tab_'.$id_plugin.'">
|
||||
<a class="btn btn-info btn-xs" href="'.base_path().'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&movimentazione_completa=0#tab_'.$id_plugin.'">
|
||||
<i class="fa fa-eye-slash"></i>
|
||||
'.tr('Mostra gli ultimi 20 movimenti').'
|
||||
</a>';
|
||||
}
|
||||
|
||||
echo '
|
||||
<a class="btn btn-warning btn-xs" href="'.$rootdir.'/controller.php?id_module='.Modules::get('Movimenti')->id.'&search_Articolo='.($articolo->codice.' - '.$articolo->descrizione).'">
|
||||
<a class="btn btn-warning btn-xs" href="'.base_path().'/controller.php?id_module='.Modules::get('Movimenti')->id.'&search_Articolo='.($articolo->codice.' - '.$articolo->descrizione).'">
|
||||
<i class="fa fa-external-link"></i>
|
||||
'.tr('Visualizza dettagli').'
|
||||
</a>';
|
||||
|
|
|
@ -19,7 +19,8 @@
|
|||
|
||||
namespace Modules\Articoli;
|
||||
|
||||
use Common\Model;
|
||||
use Common\SimpleModelTrait;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Modules;
|
||||
use Modules\Interventi\Components\Articolo as ArticoloIntervento;
|
||||
|
@ -30,6 +31,7 @@ use Uploads;
|
|||
|
||||
class Articolo extends Model
|
||||
{
|
||||
use SimpleModelTrait;
|
||||
use SoftDeletes;
|
||||
use RecordTrait;
|
||||
|
||||
|
@ -41,7 +43,7 @@ class Articolo extends Model
|
|||
|
||||
public static function build($codice, $nome, Categoria $categoria = null, Categoria $sottocategoria = null)
|
||||
{
|
||||
$model = parent::build();
|
||||
$model = new static();
|
||||
|
||||
$model->codice = $codice;
|
||||
$model->descrizione = $nome;
|
||||
|
@ -160,7 +162,7 @@ class Articolo extends Model
|
|||
$image = $directory.$this->immagine;
|
||||
$image_thumbnail = $directory.$fileinfo['filename'].'_thumb600.'.$fileinfo['extension'];
|
||||
|
||||
$url = file_exists(DOCROOT.$image_thumbnail) ? ROOTDIR.$image_thumbnail : ROOTDIR.$image;
|
||||
$url = file_exists(base_dir().$image_thumbnail) ? base_path().$image_thumbnail : base_path().$image;
|
||||
|
||||
return $url;
|
||||
}
|
||||
|
|
|
@ -19,11 +19,13 @@
|
|||
|
||||
namespace Modules\Articoli;
|
||||
|
||||
use Common\Model;
|
||||
use Common\SimpleModelTrait;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Traits\HierarchyTrait;
|
||||
|
||||
class Categoria extends Model
|
||||
{
|
||||
use SimpleModelTrait;
|
||||
use HierarchyTrait;
|
||||
|
||||
protected $table = 'mg_categorie';
|
||||
|
@ -31,7 +33,7 @@ class Categoria extends Model
|
|||
|
||||
public static function build($nome)
|
||||
{
|
||||
$model = parent::build();
|
||||
$model = new static();
|
||||
|
||||
$model->nome = $nome;
|
||||
$model->save();
|
||||
|
|
|
@ -19,9 +19,10 @@
|
|||
|
||||
namespace Modules\Articoli;
|
||||
|
||||
use Common\Model;
|
||||
use Common\SimpleModelTrait;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
/**
|
||||
/*
|
||||
* Classe dedicata alla gestione dei movimenti di magazzino degli articoli.
|
||||
*
|
||||
* Alcuni appunti sull'utilizzo dei campi *idsede_azienda* e *idsede_controparte*
|
||||
|
@ -32,12 +33,14 @@ use Common\Model;
|
|||
*/
|
||||
class Movimento extends Model
|
||||
{
|
||||
use SimpleModelTrait;
|
||||
|
||||
protected $document;
|
||||
protected $table = 'mg_movimenti';
|
||||
|
||||
public static function build(Articolo $articolo, $qta, $descrizone, $data, $document = null)
|
||||
{
|
||||
$model = parent::build();
|
||||
$model = new static();
|
||||
|
||||
$model->articolo()->associate($articolo);
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ include_once __DIR__.'/../../../core.php';
|
|||
$id_print = $dbo->fetchOne('SELECT zz_prints.id FROM zz_prints INNER JOIN zz_modules ON zz_prints.id_module=zz_modules.id WHERE zz_modules.name="Articoli" AND zz_prints.name="Inventario magazzino"')['id'];
|
||||
|
||||
echo '
|
||||
<form action="'.$rootdir.'/pdfgen.php?id_print='.$id_print.'" method="post" target="_blank">
|
||||
<form action="'.base_path().'/pdfgen.php?id_print='.$id_print.'" method="post" target="_blank">
|
||||
|
||||
<div class="row">
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ if (!is_writable($backup_dir) || !is_readable($backup_dir)) {
|
|||
|
||||
echo '<p>'.tr('Il backup è molto importante perché permette di creare una copia della propria installazione e relativi dati per poterla poi ripristinare in seguito a errori, cancellazioni accidentali o guasti hardware').'.</p>';
|
||||
|
||||
if (starts_with($backup_dir, DOCROOT)) {
|
||||
if (starts_with($backup_dir, base_dir())) {
|
||||
echo '
|
||||
<div class="alert alert-warning">
|
||||
<i class="fa fa-warning"></i> '.tr('Per motivi di sicurezza si consiglia di modificare il percorso della cartella di backup al di fuori della cartella di OSM, possibilmente in una unità esterna').'.
|
||||
|
@ -212,7 +212,7 @@ if (file_exists($backup_dir)) {
|
|||
loadSize("'.$id.'", "c-'.$id.'");
|
||||
</script>
|
||||
|
||||
<a class="btn btn-primary" href="'.$rootdir.'/modules/backups/actions.php?op=getfile&number='.$id.'" target="_blank"><i class="fa fa-download"></i> '.tr('Scarica').'</a>
|
||||
<a class="btn btn-primary" href="'.base_path().'/modules/backups/actions.php?op=getfile&number='.$id.'" target="_blank"><i class="fa fa-download"></i> '.tr('Scarica').'</a>
|
||||
|
||||
<div class="pull-right">
|
||||
<a class="btn btn-warning ask" data-backto="record-edit" data-method="post" data-op="restore" data-number="'.$id.'" data-msg="'.tr('Vuoi ripristinare questo backup?').'" data-button="Ripristina" data-class="btn btn-lg btn-warning">
|
||||
|
|
|
@ -27,7 +27,7 @@ if (isset($id_record)) {
|
|||
|
||||
?><form action="<?php
|
||||
if (isset($id_original)) {
|
||||
echo ROOTDIR.'/controller.php?id_module='.$id_module;
|
||||
echo base_path().'/controller.php?id_module='.$id_module;
|
||||
|
||||
if (isset($id_record)) {
|
||||
echo '&id_record='.$id_record;
|
||||
|
|
|
@ -57,7 +57,7 @@ include_once __DIR__.'/../../core.php';
|
|||
|
||||
<div class="panel-body">
|
||||
<div class="pull-left">
|
||||
<a class="btn btn-primary" data-href="<?php echo $rootdir; ?>/add.php?id_module=<?php echo $id_module; ?>&id_original=<?php echo $id_record; ?>" data-toggle="modal" data-title="<?php echo tr('Aggiungi riga'); ?>"><i class="fa fa-plus"></i> <?php echo tr('Sottocategoria'); ?></a><br>
|
||||
<a class="btn btn-primary" data-href="<?php echo base_path(); ?>/add.php?id_module=<?php echo $id_module; ?>&id_original=<?php echo $id_record; ?>" data-toggle="modal" data-title="<?php echo tr('Aggiungi riga'); ?>"><i class="fa fa-plus"></i> <?php echo tr('Sottocategoria'); ?></a><br>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
<hr>
|
||||
|
@ -72,7 +72,7 @@ include_once __DIR__.'/../../core.php';
|
|||
<th width="20%"><?php echo tr('Opzioni'); ?></th>
|
||||
</tr>
|
||||
|
||||
<?php include $docroot.'/modules/'.Modules::get($id_module)['directory'].'/row-list.php'; ?>
|
||||
<?php include base_dir().'/modules/'.Modules::get($id_module)['directory'].'/row-list.php'; ?>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -29,7 +29,7 @@ foreach ($subcategorie as $sub) {
|
|||
<td>'.$sub['colore'].'</td>
|
||||
<td>'.$sub['nota'].'</td>
|
||||
<td>
|
||||
<a class="btn btn-warning btn-sm" title="Modifica riga" onclick="launch_modal(\''.tr('Modifica sottocategoria').'\', \''.$rootdir.'/add.php?id_module='.$id_module.'&id_record='.$sub['id'].'&id_original='.$id_record.'\');"><i class="fa fa-edit"></i></a>
|
||||
<a class="btn btn-warning btn-sm" title="Modifica riga" onclick="launch_modal(\''.tr('Modifica sottocategoria').'\', \''.base_path().'/add.php?id_module='.$id_module.'&id_record='.$sub['id'].'&id_original='.$id_record.'\');"><i class="fa fa-edit"></i></a>
|
||||
<a class="btn btn-sm btn-danger ask '.(($n_articoli > 0) ? 'disabled tip' : '').'" data-backto="record-edit" data-id="'.$sub['id'].'" title="'.(($n_articoli > 0) ? 'Sottocategoria collegata a '.$n_articoli.' articoli' : '').'">
|
||||
<i class="fa fa-trash"></i>
|
||||
</a>
|
||||
|
|
|
@ -19,18 +19,20 @@
|
|||
|
||||
namespace Modules\CategorieDocumentali;
|
||||
|
||||
use Common\Model;
|
||||
use Common\SimpleModelTrait;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
class Categoria extends Model
|
||||
{
|
||||
use SimpleModelTrait;
|
||||
use SoftDeletes;
|
||||
|
||||
protected $table = 'do_categorie';
|
||||
|
||||
public static function build($descrizione)
|
||||
{
|
||||
$model = parent::build();
|
||||
$model = new static();
|
||||
$model->descrizione = $descrizione;
|
||||
|
||||
$model->save();
|
||||
|
|
|
@ -19,7 +19,8 @@
|
|||
|
||||
namespace Modules\Checklists;
|
||||
|
||||
use Common\Model;
|
||||
use Common\SimpleModelTrait;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Models\Group;
|
||||
use Models\Module;
|
||||
use Models\Plugin;
|
||||
|
@ -29,6 +30,7 @@ use Traits\HierarchyTrait;
|
|||
|
||||
class Check extends Model
|
||||
{
|
||||
use SimpleModelTrait;
|
||||
use HierarchyTrait;
|
||||
|
||||
protected static $parent_identifier = 'id_parent';
|
||||
|
@ -46,7 +48,7 @@ class Check extends Model
|
|||
*/
|
||||
public static function build(User $user, $structure, $id_record, $content, $parent_id = null)
|
||||
{
|
||||
$model = parent::build();
|
||||
$model = new static();
|
||||
|
||||
$model->user()->associate($user);
|
||||
$model->id_parent = $parent_id;
|
||||
|
|
|
@ -19,13 +19,16 @@
|
|||
|
||||
namespace Modules\Checklists;
|
||||
|
||||
use Common\Model;
|
||||
use Common\SimpleModelTrait;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Models\Module;
|
||||
use Models\Plugin;
|
||||
use Models\User;
|
||||
|
||||
class Checklist extends Model
|
||||
{
|
||||
use SimpleModelTrait;
|
||||
|
||||
protected $table = 'zz_checklists';
|
||||
|
||||
/**
|
||||
|
@ -37,7 +40,7 @@ class Checklist extends Model
|
|||
*/
|
||||
public static function build($nome)
|
||||
{
|
||||
$model = parent::build();
|
||||
$model = new static();
|
||||
|
||||
$model->name = $nome;
|
||||
$model->save();
|
||||
|
|
|
@ -19,11 +19,13 @@
|
|||
|
||||
namespace Modules\Checklists;
|
||||
|
||||
use Common\Model;
|
||||
use Common\SimpleModelTrait;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Traits\HierarchyTrait;
|
||||
|
||||
class ChecklistItem extends Model
|
||||
{
|
||||
use SimpleModelTrait;
|
||||
use HierarchyTrait;
|
||||
|
||||
protected static $parent_identifier = 'id_parent';
|
||||
|
@ -39,7 +41,7 @@ class ChecklistItem extends Model
|
|||
*/
|
||||
public static function build(Checklist $checklist, $contenuto, $id_parent = null)
|
||||
{
|
||||
$model = parent::build();
|
||||
$model = new static();
|
||||
|
||||
$model->checklist()->associate($checklist);
|
||||
$model->id_parent = $id_parent;
|
||||
|
|
|
@ -121,7 +121,7 @@ switch (post('op')) {
|
|||
$righe = $contratto->getRighe();
|
||||
foreach ($righe as $riga) {
|
||||
$new_riga = $riga->replicate();
|
||||
$new_riga->setParent($new);
|
||||
$new_riga->setDocument($new);
|
||||
|
||||
$new_riga->qta_evasa = 0;
|
||||
$new_riga->save();
|
||||
|
|
|
@ -237,7 +237,7 @@ if (!empty($rs)) {
|
|||
</td>
|
||||
|
||||
<td>
|
||||
<button type="button" class="btn btn-warning" data-toggle="tooltip" title="Importa valori da tariffe standard" onclick="if( confirm(\'Importare i valori dalle tariffe standard?\') ){ $.post( \''.$rootdir.'/modules/contratti/actions.php\', { op: \'import\', idcontratto: \''.$id_record.'\', idtipointervento: \''.$rs[$i]['idtipointervento'].'\' }, function(data){ location.href=\''.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'\'; } ); }">
|
||||
<button type="button" class="btn btn-warning" data-toggle="tooltip" title="Importa valori da tariffe standard" onclick="if( confirm(\'Importare i valori dalle tariffe standard?\') ){ $.post( \''.base_path().'/modules/contratti/actions.php\', { op: \'import\', idcontratto: \''.$id_record.'\', idtipointervento: \''.$rs[$i]['idtipointervento'].'\' }, function(data){ location.href=\''.base_path().'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'\'; } ); }">
|
||||
<i class="fa fa-download"></i>
|
||||
</button>
|
||||
</td>
|
||||
|
@ -289,7 +289,7 @@ if (!empty($rs)) {
|
|||
</td>
|
||||
|
||||
<td>
|
||||
<button type="button" class="btn btn-warning" data-toggle="tooltip" title="Importa valori da tariffe standard" onclick="if( confirm(\'Importare i valori dalle tariffe standard?\') ){ $.post( \''.$rootdir.'/modules/contratti/actions.php\', { op: \'import\', idcontratto: \''.$id_record.'\', idtipointervento: \''.$rs[$i]['idtipointervento'].'\' }, function(data){ location.href=\''.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'\'; } ); }">
|
||||
<button type="button" class="btn btn-warning" data-toggle="tooltip" title="Importa valori da tariffe standard" onclick="if( confirm(\'Importare i valori dalle tariffe standard?\') ){ $.post( \''.base_path().'/modules/contratti/actions.php\', { op: \'import\', idcontratto: \''.$id_record.'\', idtipointervento: \''.$rs[$i]['idtipointervento'].'\' }, function(data){ location.href=\''.base_path().'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'\'; } ); }">
|
||||
<i class="fa fa-download"></i>
|
||||
</button>
|
||||
</td>
|
||||
|
|
|
@ -51,9 +51,9 @@ foreach ($righe as $riga) {
|
|||
<td>';
|
||||
|
||||
// Aggiunta dei riferimenti ai documenti
|
||||
if ($riga->hasOriginal()) {
|
||||
if ($riga->hasOriginalComponent()) {
|
||||
echo '
|
||||
<small class="pull-right text-right text-muted">'.reference($riga->getOriginal()->parent, tr('Origine')).'</small>';
|
||||
<small class="pull-right text-right text-muted">'.reference($riga->getOriginalComponent()->getDocument(), tr('Origine')).'</small>';
|
||||
}
|
||||
|
||||
// Descrizione
|
||||
|
|
|
@ -20,24 +20,10 @@
|
|||
namespace Modules\Contratti\Components;
|
||||
|
||||
use Common\Components\Article;
|
||||
use Modules\Articoli\Articolo as Original;
|
||||
use Modules\Contratti\Contratto;
|
||||
|
||||
class Articolo extends Article
|
||||
{
|
||||
use RelationTrait;
|
||||
|
||||
protected $table = 'co_righe_contratti';
|
||||
|
||||
/**
|
||||
* Crea un nuovo articolo collegato ad un contratto.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Contratto $contratto, Original $articolo)
|
||||
{
|
||||
$model = parent::build($contratto, $articolo);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,23 +20,10 @@
|
|||
namespace Modules\Contratti\Components;
|
||||
|
||||
use Common\Components\Description;
|
||||
use Modules\Contratti\Contratto;
|
||||
|
||||
class Descrizione extends Description
|
||||
{
|
||||
use RelationTrait;
|
||||
|
||||
protected $table = 'co_righe_contratti';
|
||||
|
||||
/**
|
||||
* Crea una nuova riga collegata ad un contratto.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Contratto $contratto)
|
||||
{
|
||||
$model = parent::build($contratto);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,18 +23,18 @@ use Modules\Contratti\Contratto;
|
|||
|
||||
trait RelationTrait
|
||||
{
|
||||
public function getParentID()
|
||||
public function getDocumentID()
|
||||
{
|
||||
return 'idcontratto';
|
||||
}
|
||||
|
||||
public function parent()
|
||||
public function document()
|
||||
{
|
||||
return $this->belongsTo(Contratto::class, $this->getParentID());
|
||||
return $this->belongsTo(Contratto::class, $this->getDocumentID());
|
||||
}
|
||||
|
||||
public function contratto()
|
||||
{
|
||||
return $this->parent();
|
||||
return $this->document();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,23 +20,10 @@
|
|||
namespace Modules\Contratti\Components;
|
||||
|
||||
use Common\Components\Row;
|
||||
use Modules\Contratti\Contratto;
|
||||
|
||||
class Riga extends Row
|
||||
{
|
||||
use RelationTrait;
|
||||
|
||||
protected $table = 'co_righe_contratti';
|
||||
|
||||
/**
|
||||
* Crea una nuova riga collegata ad un contratto.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Contratto $contratto)
|
||||
{
|
||||
$model = parent::build($contratto);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,23 +20,10 @@
|
|||
namespace Modules\Contratti\Components;
|
||||
|
||||
use Common\Components\Discount;
|
||||
use Modules\Contratti\Contratto;
|
||||
|
||||
class Sconto extends Discount
|
||||
{
|
||||
use RelationTrait;
|
||||
|
||||
protected $table = 'co_righe_contratti';
|
||||
|
||||
/**
|
||||
* Crea un nuovo sconto collegato ad un contratto.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Contratto $contratto)
|
||||
{
|
||||
$model = parent::build($contratto);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ namespace Modules\Contratti;
|
|||
|
||||
use Carbon\Carbon;
|
||||
use Carbon\CarbonInterval;
|
||||
use Common\Components\Description;
|
||||
use Common\Components\Component;
|
||||
use Common\Document;
|
||||
use Modules\Anagrafiche\Anagrafica;
|
||||
use Modules\Interventi\Intervento;
|
||||
|
@ -63,7 +63,7 @@ class Contratto extends Document
|
|||
*/
|
||||
public static function build(Anagrafica $anagrafica, $nome)
|
||||
{
|
||||
$model = parent::build();
|
||||
$model = new static();
|
||||
|
||||
$stato_documento = Stato::where('descrizione', 'Bozza')->first();
|
||||
|
||||
|
@ -225,7 +225,7 @@ class Contratto extends Document
|
|||
* Effettua un controllo sui campi del documento.
|
||||
* Viene richiamato dalle modifiche alle righe del documento.
|
||||
*/
|
||||
public function triggerEvasione(Description $trigger)
|
||||
public function triggerEvasione(Component $trigger)
|
||||
{
|
||||
parent::triggerEvasione($trigger);
|
||||
|
||||
|
|
|
@ -19,10 +19,13 @@
|
|||
|
||||
namespace Modules\Contratti;
|
||||
|
||||
use Common\Model;
|
||||
use Common\SimpleModelTrait;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Stato extends Model
|
||||
{
|
||||
use SimpleModelTrait;
|
||||
|
||||
protected $table = 'co_staticontratti';
|
||||
|
||||
public function preventivi()
|
||||
|
|
|
@ -74,7 +74,7 @@ switch (filter('op')) {
|
|||
'title' => '<b>Int. '.$sessione['codice'].'</b> '.$sessione['cliente'].'<br><b>'.tr('Tecnici').':</b> '.$sessione['nome_tecnico'].' '.(($sessione['have_attachments']) ? '<i class="fa fa-paperclip" aria-hidden="true"></i>' : ''),
|
||||
'start' => $sessione['orario_inizio'],
|
||||
'end' => $sessione['orario_fine'],
|
||||
'url' => ROOTDIR.'/editor.php?id_module='.$modulo_interventi->id.'&id_record='.$sessione['idintervento'],
|
||||
'url' => base_path().'/editor.php?id_module='.$modulo_interventi->id.'&id_record='.$sessione['idintervento'],
|
||||
'backgroundColor' => $sessione['colore'],
|
||||
'textColor' => color_inverse($sessione['colore']),
|
||||
'borderColor' => ($sessione['colore_tecnico'] == '#FFFFFF') ? color_darken($sessione['colore_tecnico'], 100) : $sessione['colore_tecnico'],
|
||||
|
|
|
@ -31,10 +31,11 @@ echo '
|
|||
<ul class="dropdown-menu" role="menu">';
|
||||
|
||||
// Stati intervento
|
||||
$stati_sessione = session_get('dashboard.idstatiintervento', []);
|
||||
$stati_intervento = $dbo->fetchArray('SELECT idstatointervento AS id, descrizione, colore FROM in_statiintervento WHERE deleted_at IS NULL ORDER BY descrizione ASC');
|
||||
foreach ($stati_intervento as $stato) {
|
||||
$attr = '';
|
||||
if (in_array("'".$stato['id']."'", $_SESSION['dashboard']['idstatiintervento'])) {
|
||||
if (in_array("'".$stato['id']."'", $stati_sessione)) {
|
||||
$attr = 'checked="checked"';
|
||||
}
|
||||
|
||||
|
@ -68,10 +69,11 @@ echo '
|
|||
<ul class="dropdown-menu" role="menu">';
|
||||
|
||||
// Tipi intervento
|
||||
$tipi_sessione = session_get('dashboard.idtipiintervento', []);
|
||||
$tipi_intervento = $dbo->fetchArray('SELECT idtipointervento AS id, descrizione FROM in_tipiintervento ORDER BY descrizione ASC');
|
||||
foreach ($tipi_intervento as $tipo) {
|
||||
$attr = '';
|
||||
if (in_array("'".$tipo['id']."'", $_SESSION['dashboard']['idtipiintervento'])) {
|
||||
if (in_array("'".$tipo['id']."'", $tipi_sessione)) {
|
||||
$attr = 'checked="checked"';
|
||||
}
|
||||
|
||||
|
@ -104,12 +106,13 @@ echo '
|
|||
</button>
|
||||
<ul class="dropdown-menu" role="menu">';
|
||||
|
||||
$tecnici_sessione = session_get('dashboard.idtecnici', []);
|
||||
$tecnici_disponibili = $dbo->fetchArray("SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale, colore FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica
|
||||
LEFT OUTER JOIN in_interventi_tecnici ON in_interventi_tecnici.idtecnico = an_anagrafiche.idanagrafica INNER JOIN in_interventi ON in_interventi_tecnici.idintervento=in_interventi.id
|
||||
WHERE an_anagrafiche.deleted_at IS NULL AND an_tipianagrafiche.descrizione='Tecnico' ".Modules::getAdditionalsQuery('Interventi').' GROUP BY an_anagrafiche.idanagrafica ORDER BY ragione_sociale ASC');
|
||||
foreach ($tecnici_disponibili as $tecnico) {
|
||||
$attr = '';
|
||||
if (in_array("'".$tecnico['id']."'", $_SESSION['dashboard']['idtecnici'])) {
|
||||
if (in_array("'".$tecnico['id']."'", $tecnici_sessione)) {
|
||||
$attr = 'checked="checked"';
|
||||
}
|
||||
|
||||
|
@ -143,10 +146,11 @@ echo '
|
|||
<ul class="dropdown-menu" role="menu">';
|
||||
|
||||
// Zone
|
||||
$zone_sessione = session_get('dashboard.idzone', []);
|
||||
$zone = $dbo->fetchArray('(SELECT 0 AS ordine, \'0\' AS id, \'Nessuna zona\' AS descrizione) UNION (SELECT 1 AS ordine, id, descrizione FROM an_zone) ORDER BY ordine, descrizione ASC');
|
||||
foreach ($zone as $zona) {
|
||||
$attr = '';
|
||||
if (in_array("'".$zona['id']."'", $_SESSION['dashboard']['idzone'])) {
|
||||
if (in_array("'".$zona['id']."'", $zone_sessione)) {
|
||||
$attr = 'checked="checked"';
|
||||
}
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ if (empty($notes)) {
|
|||
|
||||
$moduli = $notes->groupBy('id_module')->sortBy('notification_date');
|
||||
foreach ($moduli as $module_id => $note) {
|
||||
$modulo = Module::get($module_id);
|
||||
$modulo = Module::pool($module_id);
|
||||
|
||||
echo '
|
||||
<h4>'.$modulo->title.'</h4>
|
||||
|
|
|
@ -51,7 +51,7 @@ foreach ($rs as $r) {
|
|||
|
||||
$numero = empty($r['numero_esterno']) ? $r['numero'] : $r['numero_esterno'];
|
||||
|
||||
$result['link'] = ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$r['id'];
|
||||
$result['link'] = base_path().'/editor.php?id_module='.$link_id.'&id_record='.$r['id'];
|
||||
$result['title'] = $r['tipologia'].' num. '.$numero.' del '.Translator::dateToLocale($r['data']);
|
||||
$result['category'] = $r['tipologia'];
|
||||
|
||||
|
|
|
@ -324,7 +324,7 @@ if (!$block_edit) {
|
|||
$ordini = $dbo->fetchArray($ordini_query)[0]['tot'];
|
||||
|
||||
echo '
|
||||
<a class="btn btn-sm btn-primary'.(!empty($ordini) ? '' : ' disabled').'" data-href="'.$rootdir.'/modules/ddt/add_ordine.php?id_module='.$id_module.'&id_record='.$id_record.'" data-toggle="modal" data-title="Aggiungi ordine">
|
||||
<a class="btn btn-sm btn-primary'.(!empty($ordini) ? '' : ' disabled').'" data-href="'.base_path().'/modules/ddt/add_ordine.php?id_module='.$id_module.'&id_record='.$id_record.'" data-toggle="modal" data-title="Aggiungi ordine">
|
||||
<i class="fa fa-plus"></i> '.tr('Ordine').'
|
||||
</a>';
|
||||
|
||||
|
|
|
@ -76,9 +76,9 @@ foreach ($righe as $riga) {
|
|||
</button>';
|
||||
|
||||
// Aggiunta dei riferimenti ai documenti
|
||||
if ($riga->hasOriginal()) {
|
||||
if ($riga->hasOriginalComponent()) {
|
||||
echo '
|
||||
<br>'.reference($riga->getOriginal()->parent, tr('Origine'));
|
||||
<br>'.reference($riga->getOriginalComponent()->getDocument(), tr('Origine'));
|
||||
}
|
||||
echo '
|
||||
</small>';
|
||||
|
|
|
@ -29,16 +29,4 @@ class Articolo extends Article
|
|||
|
||||
protected $table = 'dt_righe_ddt';
|
||||
protected $serialRowID = 'ddt';
|
||||
|
||||
/**
|
||||
* Crea un nuovo articolo collegato ad una ddt.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(DDT $ddt, Original $articolo)
|
||||
{
|
||||
$model = parent::build($ddt, $articolo);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,16 +27,4 @@ class Descrizione extends Description
|
|||
use RelationTrait;
|
||||
|
||||
protected $table = 'dt_righe_ddt';
|
||||
|
||||
/**
|
||||
* Crea una nuova riga collegata ad una ddt.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(DDT $ddt)
|
||||
{
|
||||
$model = parent::build($ddt);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,18 +23,18 @@ use Modules\DDT\DDT;
|
|||
|
||||
trait RelationTrait
|
||||
{
|
||||
public function getParentID()
|
||||
public function getDocumentID()
|
||||
{
|
||||
return 'idddt';
|
||||
}
|
||||
|
||||
public function parent()
|
||||
public function document()
|
||||
{
|
||||
return $this->belongsTo(DDT::class, $this->getParentID());
|
||||
return $this->belongsTo(DDT::class, $this->getDocumentID());
|
||||
}
|
||||
|
||||
public function ddt()
|
||||
{
|
||||
return $this->parent();
|
||||
return $this->document();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,16 +27,4 @@ class Riga extends Row
|
|||
use RelationTrait;
|
||||
|
||||
protected $table = 'dt_righe_ddt';
|
||||
|
||||
/**
|
||||
* Crea una nuova riga collegata ad una ddt.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(DDT $ddt)
|
||||
{
|
||||
$model = parent::build($ddt);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,16 +27,4 @@ class Sconto extends Discount
|
|||
use RelationTrait;
|
||||
|
||||
protected $table = 'dt_righe_ddt';
|
||||
|
||||
/**
|
||||
* Crea un nuovo sconto collegato ad un ddt.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(DDT $ddt)
|
||||
{
|
||||
$model = parent::build($ddt);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
namespace Modules\DDT;
|
||||
|
||||
use Auth;
|
||||
use Common\Components\Description;
|
||||
use Common\Components\Component;
|
||||
use Common\Document;
|
||||
use Modules\Anagrafiche\Anagrafica;
|
||||
use Traits\RecordTrait;
|
||||
|
@ -53,7 +53,7 @@ class DDT extends Document
|
|||
*/
|
||||
public static function build(Anagrafica $anagrafica, Tipo $tipo_documento, $data)
|
||||
{
|
||||
$model = parent::build();
|
||||
$model = new static();
|
||||
|
||||
$user = Auth::user();
|
||||
|
||||
|
@ -204,7 +204,7 @@ class DDT extends Document
|
|||
* Effettua un controllo sui campi del documento.
|
||||
* Viene richiamato dalle modifiche alle righe del documento.
|
||||
*/
|
||||
public function triggerEvasione(Description $trigger)
|
||||
public function triggerEvasione(Component $trigger)
|
||||
{
|
||||
parent::triggerEvasione($trigger);
|
||||
|
||||
|
|
|
@ -19,10 +19,13 @@
|
|||
|
||||
namespace Modules\DDT;
|
||||
|
||||
use Common\Model;
|
||||
use Common\SimpleModelTrait;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Stato extends Model
|
||||
{
|
||||
use SimpleModelTrait;
|
||||
|
||||
protected $table = 'dt_statiddt';
|
||||
|
||||
public function ddt()
|
||||
|
|
|
@ -19,10 +19,13 @@
|
|||
|
||||
namespace Modules\DDT;
|
||||
|
||||
use Common\Model;
|
||||
use Common\SimpleModelTrait;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Tipo extends Model
|
||||
{
|
||||
use SimpleModelTrait;
|
||||
|
||||
protected $table = 'dt_tipiddt';
|
||||
|
||||
public function ddt()
|
||||
|
|
|
@ -20,14 +20,16 @@
|
|||
namespace Modules\Emails;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Common\Model;
|
||||
use Common\SimpleModelTrait;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Notifications\EmailNotification;
|
||||
use Traits\StoreTrait;
|
||||
use Traits\LocalPoolTrait;
|
||||
|
||||
class Account extends Model
|
||||
{
|
||||
use StoreTrait;
|
||||
use SimpleModelTrait;
|
||||
use LocalPoolTrait;
|
||||
use SoftDeletes;
|
||||
|
||||
protected $table = 'em_accounts';
|
||||
|
|
|
@ -19,7 +19,8 @@
|
|||
|
||||
namespace Modules\Emails;
|
||||
|
||||
use Common\Model;
|
||||
use Common\SimpleModelTrait;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Models\PrintTemplate;
|
||||
use Models\Upload;
|
||||
use Models\User;
|
||||
|
@ -27,13 +28,15 @@ use Modules\Newsletter\Newsletter;
|
|||
|
||||
class Mail extends Model
|
||||
{
|
||||
use SimpleModelTrait;
|
||||
|
||||
protected $table = 'em_emails';
|
||||
|
||||
protected $options = null;
|
||||
|
||||
public static function build(User $user, $template = null, $id_record = null, $account = null)
|
||||
{
|
||||
$model = parent::build();
|
||||
$model = new static();
|
||||
|
||||
$model->created_by = $user->id;
|
||||
|
||||
|
|
|
@ -19,17 +19,20 @@
|
|||
|
||||
namespace Modules\Emails;
|
||||
|
||||
use Common\Model;
|
||||
use Common\SimpleModelTrait;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Receiver extends Model
|
||||
{
|
||||
use SimpleModelTrait;
|
||||
|
||||
protected $table = 'em_email_receiver';
|
||||
|
||||
/* Relazioni Eloquent */
|
||||
|
||||
public static function build(Mail $mail, $address, $type = null)
|
||||
{
|
||||
$model = parent::build();
|
||||
$model = new static();
|
||||
|
||||
$model->email()->associate($mail);
|
||||
|
||||
|
|
|
@ -19,15 +19,17 @@
|
|||
|
||||
namespace Modules\Emails;
|
||||
|
||||
use Common\Model;
|
||||
use Common\SimpleModelTrait;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Models\Module;
|
||||
use Models\PrintTemplate;
|
||||
use Traits\StoreTrait;
|
||||
use Traits\LocalPoolTrait;
|
||||
|
||||
class Template extends Model
|
||||
{
|
||||
use StoreTrait;
|
||||
use SimpleModelTrait;
|
||||
use LocalPoolTrait;
|
||||
use SoftDeletes;
|
||||
|
||||
protected $table = 'em_templates';
|
||||
|
|
|
@ -143,7 +143,7 @@ switch (post('op')) {
|
|||
if ($stato_fe && empty($checks)) {
|
||||
try {
|
||||
$fattura_pa = new FatturaElettronica($id_record);
|
||||
$file = $fattura_pa->save(DOCROOT.'/'.FatturaElettronica::getDirectory());
|
||||
$file = $fattura_pa->save(base_dir().'/'.FatturaElettronica::getDirectory());
|
||||
|
||||
flash()->info(tr('Fattura elettronica generata correttamente!'));
|
||||
|
||||
|
@ -304,7 +304,7 @@ switch (post('op')) {
|
|||
$righe = $fattura->getRighe();
|
||||
foreach ($righe as $riga) {
|
||||
$new_riga = $riga->replicate();
|
||||
$new_riga->setParent($new);
|
||||
$new_riga->setDocument($new);
|
||||
|
||||
// Rimozione riferimenti (deorecati)
|
||||
$new_riga->idpreventivo = 0;
|
||||
|
|
|
@ -44,7 +44,7 @@ echo '
|
|||
'_NUM_' => $numero,
|
||||
]).'</p>
|
||||
|
||||
<form action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<form action="'.base_path().'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<input type="hidden" name="op" value="add_intervento">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
<input type="hidden" name="dir" value="'.$dir.'">';
|
||||
|
|
|
@ -75,7 +75,7 @@ $rs = $dbo->fetchArray('SELECT mg_articoli.id AS idarticolo, mg_articoli.codice,
|
|||
echo '
|
||||
<p>'.tr('Articolo').': '.$rs[0]['codice'].' - '.$rs[0]['descrizione'].'</p>
|
||||
|
||||
<form action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<form action="'.base_path().'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<input type="hidden" name="op" value="add_serial">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
<input type="hidden" name="idriga" value="'.$idriga.'">
|
||||
|
|
|
@ -53,7 +53,7 @@ foreach ($rs as $r) {
|
|||
|
||||
$numero = empty($r['numero_esterno']) ? $r['numero'] : $r['numero_esterno'];
|
||||
|
||||
$result['link'] = ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$r['id'];
|
||||
$result['link'] = base_path().'/editor.php?id_module='.$link_id.'&id_record='.$r['id'];
|
||||
$result['title'] = $r['tipologia'].' num. '.$numero.' del '.Translator::dateToLocale($r['data']);
|
||||
$result['category'] = $r['tipologia'];
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ use Util\Zip;
|
|||
|
||||
switch (post('op')) {
|
||||
case 'export-bulk':
|
||||
$dir = DOCROOT.'/files/export_fatture/';
|
||||
$dir = base_dir().'/files/export_fatture/';
|
||||
directory($dir.'tmp/');
|
||||
|
||||
$dir = slashes($dir);
|
||||
|
@ -113,7 +113,7 @@ switch (post('op')) {
|
|||
break;
|
||||
|
||||
case 'export-xml-bulk':
|
||||
$dir = DOCROOT.'/files/export_fatture/';
|
||||
$dir = base_dir().'/files/export_fatture/';
|
||||
directory($dir.'tmp/');
|
||||
|
||||
$dir = slashes($dir);
|
||||
|
@ -240,7 +240,7 @@ switch (post('op')) {
|
|||
$righe = $fattura->getRighe();
|
||||
foreach ($righe as $riga) {
|
||||
$new_riga = $riga->replicate();
|
||||
$new_riga->setParent($new);
|
||||
$new_riga->setDocument($new);
|
||||
|
||||
if (!post('riferimenti')) {
|
||||
$new_riga->idpreventivo = 0;
|
||||
|
@ -301,7 +301,7 @@ $operations['registrazione-contabile'] = [
|
|||
'title' => tr('Registrazione contabile'),
|
||||
'type' => 'modal',
|
||||
'origine' => 'fatture',
|
||||
'url' => $rootdir.'/add.php?id_module='.Modules::get('Prima nota')['id'],
|
||||
'url' => base_path().'/add.php?id_module='.Modules::get('Prima nota')['id'],
|
||||
],
|
||||
];
|
||||
|
||||
|
|
|
@ -42,11 +42,11 @@ if ($dir == 'entrata') {
|
|||
</button>
|
||||
|
||||
<ul class="dropdown-menu dropdown-menu-right">
|
||||
<li><a href="'.ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&op=nota_addebito&backto=record-edit">
|
||||
<li><a href="'.base_path().'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&op=nota_addebito&backto=record-edit">
|
||||
'.tr('Nota di debito').'
|
||||
</a></li>
|
||||
|
||||
<li><a data-href="'.ROOTDIR.'/modules/fatture/crea_documento.php?id_module='.$id_module.'&id_record='.$id_record.'&iddocumento='.$id_record.'" data-title="Aggiungi nota di credito">
|
||||
<li><a data-href="'.base_path().'/modules/fatture/crea_documento.php?id_module='.$id_module.'&id_record='.$id_record.'&iddocumento='.$id_record.'" data-title="Aggiungi nota di credito">
|
||||
'.tr('Nota di credito').'
|
||||
</a></li>
|
||||
</ul>
|
||||
|
@ -72,7 +72,7 @@ if (!empty($record['is_fiscale'])) {
|
|||
}
|
||||
|
||||
echo '
|
||||
<a class="btn btn-primary '.(!empty($modulo_prima_nota) && empty($registrazione_insoluto) ? '' : 'disabled').'" data-href="'.ROOTDIR.'/add.php?id_module='.$modulo_prima_nota['id'].'&id_documenti='.$id_record.'&single=1&is_insoluto=1" data-title="'.tr('Registra insoluto').'">
|
||||
<a class="btn btn-primary '.(!empty($modulo_prima_nota) && empty($registrazione_insoluto) ? '' : 'disabled').'" data-href="'.base_path().'/add.php?id_module='.$modulo_prima_nota['id'].'&id_documenti='.$id_record.'&single=1&is_insoluto=1" data-title="'.tr('Registra insoluto').'">
|
||||
<i class="fa fa-ban fa-inverse"></i> '.tr('Registra insoluto').'
|
||||
</a>';
|
||||
|
||||
|
@ -87,7 +87,7 @@ if (!empty($record['is_fiscale'])) {
|
|||
}
|
||||
|
||||
echo '
|
||||
<a class="btn btn-primary '.(!empty($modulo_prima_nota) && empty($registrazione_contabile) ? '' : 'disabled').'" data-href="'.ROOTDIR.'/add.php?id_module='.$modulo_prima_nota['id'].'&id_documenti='.$id_record.'&single=1" data-title="'.tr('Registra contabile').'">
|
||||
<a class="btn btn-primary '.(!empty($modulo_prima_nota) && empty($registrazione_contabile) ? '' : 'disabled').'" data-href="'.base_path().'/add.php?id_module='.$modulo_prima_nota['id'].'&id_documenti='.$id_record.'&single=1" data-title="'.tr('Registra contabile').'">
|
||||
<i class="fa fa-euro"></i> '.tr('Registra contabile').'
|
||||
</a>';
|
||||
|
||||
|
|
|
@ -597,7 +597,7 @@ if (!$block_edit) {
|
|||
|
||||
echo '
|
||||
<div class="tip" data-toggle="tooltip" title="'.tr('Attività completate non collegate a preventivi o contratti e che non siano già state fatturate.').'">
|
||||
<a class="btn btn-sm btn-primary '.(!empty($interventi) ? '' : ' disabled').'" data-href="'.$rootdir.'/modules/fatture/add_intervento.php?id_module='.$id_module.'&id_record='.$id_record.'" data-title="Aggiungi attività">
|
||||
<a class="btn btn-sm btn-primary '.(!empty($interventi) ? '' : ' disabled').'" data-href="'.base_path().'/modules/fatture/add_intervento.php?id_module='.$id_module.'&id_record='.$id_record.'" data-title="Aggiungi attività">
|
||||
<i class="fa fa-plus"></i> Attività
|
||||
</a>
|
||||
</div>';
|
||||
|
@ -607,7 +607,7 @@ if (!$block_edit) {
|
|||
$preventivi = $dbo->fetchArray($prev_query)[0]['tot'];
|
||||
echo '
|
||||
<div class="tip">
|
||||
<a class="btn btn-sm btn-primary '.(!empty($preventivi) ? '' : ' disabled').'" data-href="'.$rootdir.'/modules/fatture/add_preventivo.php?id_module='.$id_module.'&id_record='.$id_record.'" data-title="Aggiungi preventivo" data-toggle="tooltip">
|
||||
<a class="btn btn-sm btn-primary '.(!empty($preventivi) ? '' : ' disabled').'" data-href="'.base_path().'/modules/fatture/add_preventivo.php?id_module='.$id_module.'&id_record='.$id_record.'" data-title="Aggiungi preventivo" data-toggle="tooltip">
|
||||
<i class="fa fa-plus"></i> Preventivo
|
||||
</a>
|
||||
</div>';
|
||||
|
@ -617,7 +617,7 @@ if (!$block_edit) {
|
|||
$contratti = $dbo->fetchArray($contr_query)[0]['tot'];
|
||||
echo '
|
||||
<div class="tip">
|
||||
<a class="btn btn-sm btn-primary '.(!empty($contratti) ? '' : ' disabled').'" data-href="'.$rootdir.'/modules/fatture/add_contratto.php?id_module='.$id_module.'&id_record='.$id_record.'" data-title="Aggiungi contratto" data-toggle="tooltip">
|
||||
<a class="btn btn-sm btn-primary '.(!empty($contratti) ? '' : ' disabled').'" data-href="'.base_path().'/modules/fatture/add_contratto.php?id_module='.$id_module.'&id_record='.$id_record.'" data-title="Aggiungi contratto" data-toggle="tooltip">
|
||||
<i class="fa fa-plus"></i> Contratto
|
||||
</a>
|
||||
</div>';
|
||||
|
@ -635,7 +635,7 @@ if (!$block_edit) {
|
|||
AND dt_ddt.id IN (SELECT idddt FROM dt_righe_ddt WHERE dt_righe_ddt.idddt = dt_ddt.id AND (qta - qta_evasa) > 0)';
|
||||
$ddt = $dbo->fetchArray($ddt_query)[0]['tot'];
|
||||
echo '
|
||||
<a class="btn btn-sm btn-primary'.(!empty($ddt) ? '' : ' disabled').'" data-href="'.$rootdir.'/modules/fatture/add_ddt.php?id_module='.$id_module.'&id_record='.$id_record.'" data-toggle="tooltip" data-title="Aggiungi ddt">
|
||||
<a class="btn btn-sm btn-primary'.(!empty($ddt) ? '' : ' disabled').'" data-href="'.base_path().'/modules/fatture/add_ddt.php?id_module='.$id_module.'&id_record='.$id_record.'" data-toggle="tooltip" data-title="Aggiungi ddt">
|
||||
<i class="fa fa-plus"></i> Ddt
|
||||
</a>';
|
||||
|
||||
|
@ -643,7 +643,7 @@ if (!$block_edit) {
|
|||
$ordini_query = 'SELECT COUNT(*) AS tot FROM or_ordini WHERE idanagrafica='.prepare($record['idanagrafica']).' AND idstatoordine IN (SELECT id FROM or_statiordine WHERE descrizione IN(\'Accettato\', \'Evaso\', \'Parzialmente evaso\', \'Parzialmente fatturato\')) AND idtipoordine=(SELECT id FROM or_tipiordine WHERE dir='.prepare($dir).') AND or_ordini.id IN (SELECT idordine FROM or_righe_ordini WHERE or_righe_ordini.idordine = or_ordini.id AND (qta - qta_evasa) > 0)';
|
||||
$ordini = $dbo->fetchArray($ordini_query)[0]['tot'];
|
||||
echo '
|
||||
<a class="btn btn-sm btn-primary'.(!empty($ordini) ? '' : ' disabled').'" data-href="'.$rootdir.'/modules/fatture/add_ordine.php?id_module='.$id_module.'&id_record='.$id_record.'" data-toggle="tooltip" data-title="Aggiungi ordine">
|
||||
<a class="btn btn-sm btn-primary'.(!empty($ordini) ? '' : ' disabled').'" data-href="'.base_path().'/modules/fatture/add_ordine.php?id_module='.$id_module.'&id_record='.$id_record.'" data-toggle="tooltip" data-title="Aggiungi ordine">
|
||||
<i class="fa fa-plus"></i> Ordine
|
||||
</a>';
|
||||
}
|
||||
|
|
|
@ -65,8 +65,8 @@ foreach ($righe as $riga) {
|
|||
$extra_riga = '';
|
||||
if (!$riga->isDescrizione()) {
|
||||
// Informazioni su CIG, CUP, ...
|
||||
if ($riga->hasOriginal()) {
|
||||
$documento_originale = $riga->getOriginal()->parent;
|
||||
if ($riga->hasOriginalComponent()) {
|
||||
$documento_originale = $riga->getOriginalComponent()->getDocument();
|
||||
|
||||
$num_item = $documento_originale['num_item'];
|
||||
$codice_cig = $documento_originale['codice_cig'];
|
||||
|
@ -102,9 +102,9 @@ foreach ($righe as $riga) {
|
|||
'.$extra_riga;
|
||||
|
||||
// Aggiunta dei riferimenti ai documenti
|
||||
if ($riga->hasOriginal()) {
|
||||
if ($riga->hasOriginalComponent()) {
|
||||
echo '
|
||||
<br>'.reference($riga->getOriginal()->parent, tr('Origine'));
|
||||
<br>'.reference($riga->getOriginalComponent()->getDocument(), tr('Origine'));
|
||||
}
|
||||
|
||||
echo '
|
||||
|
|
|
@ -20,9 +20,10 @@
|
|||
namespace Modules\Fatture\Components;
|
||||
|
||||
use Common\Components\Article;
|
||||
use Modules\Articoli\Articolo as Original;
|
||||
use Modules\Fatture\Fattura;
|
||||
|
||||
/**
|
||||
* @extends Article<\Modules\Fatture\Fattura>
|
||||
*/
|
||||
class Articolo extends Article
|
||||
{
|
||||
use RelationTrait;
|
||||
|
@ -30,18 +31,6 @@ class Articolo extends Article
|
|||
protected $table = 'co_righe_documenti';
|
||||
protected $serialRowID = 'documento';
|
||||
|
||||
/**
|
||||
* Crea un nuovo articolo collegato ad una fattura.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Fattura $fattura, Original $articolo)
|
||||
{
|
||||
$model = parent::build($fattura, $articolo);
|
||||
|
||||
return $model;
|
||||
}
|
||||
|
||||
public function movimenta($qta)
|
||||
{
|
||||
if (!$this->parent->movimenta_magazzino) {
|
||||
|
@ -52,9 +41,9 @@ class Articolo extends Article
|
|||
|
||||
// Movimenta il magazzino solo se l'articolo non è già stato movimentato da un documento precedente
|
||||
// Movimentazione forzata per Note di credito/debito
|
||||
if ($this->hasOriginal() && !$this->parent->isNota()) {
|
||||
$original = $this->getOriginal();
|
||||
$movimenta = !$original->parent->movimenta_magazzino;
|
||||
if ($this->hasOriginalComponent() && !$this->getDocument()->isNota()) {
|
||||
$original = $this->getOriginalComponent();
|
||||
$movimenta = !$original->getDocument()->movimenta_magazzino;
|
||||
}
|
||||
|
||||
if ($movimenta) {
|
||||
|
|
|
@ -20,23 +20,13 @@
|
|||
namespace Modules\Fatture\Components;
|
||||
|
||||
use Common\Components\Description;
|
||||
use Modules\Fatture\Fattura;
|
||||
|
||||
/**
|
||||
* @extends Description<\Modules\Fatture\Fattura>
|
||||
*/
|
||||
class Descrizione extends Description
|
||||
{
|
||||
use RelationTrait;
|
||||
|
||||
protected $table = 'co_righe_documenti';
|
||||
|
||||
/**
|
||||
* Crea una nuova riga collegata ad una fattura.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Fattura $fattura)
|
||||
{
|
||||
$model = parent::build($fattura);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,26 +26,26 @@ use Modules\Rivalse\RivalsaINPS;
|
|||
|
||||
trait RelationTrait
|
||||
{
|
||||
public function getParentID()
|
||||
public function getDocumentID()
|
||||
{
|
||||
return 'iddocumento';
|
||||
}
|
||||
|
||||
public function parent()
|
||||
public function document()
|
||||
{
|
||||
return $this->belongsTo(Fattura::class, $this->getParentID());
|
||||
return $this->belongsTo(Fattura::class, $this->getDocumentID());
|
||||
}
|
||||
|
||||
public function fattura()
|
||||
{
|
||||
return $this->parent();
|
||||
return $this->document();
|
||||
}
|
||||
|
||||
public function getNettoAttribute()
|
||||
{
|
||||
$result = $this->totale - $this->ritenuta_acconto - $this->ritenuta_contributi;
|
||||
|
||||
if ($this->parent->split_payment) {
|
||||
if ($this->getDocument()->split_payment) {
|
||||
$result = $result - $this->iva;
|
||||
}
|
||||
|
||||
|
@ -113,7 +113,7 @@ trait RelationTrait
|
|||
{
|
||||
if ($this->attributes['ritenuta_contributi']) {
|
||||
$result = $this->totale_imponibile;
|
||||
$ritenuta = $this->parent->ritenutaContributi;
|
||||
$ritenuta = $this->getDocument()->ritenutaContributi;
|
||||
|
||||
$result = $result * $ritenuta->percentuale_imponibile / 100;
|
||||
|
||||
|
|
|
@ -20,23 +20,13 @@
|
|||
namespace Modules\Fatture\Components;
|
||||
|
||||
use Common\Components\Row;
|
||||
use Modules\Fatture\Fattura;
|
||||
|
||||
/**
|
||||
* @extends Row<\Modules\Fatture\Fattura>
|
||||
*/
|
||||
class Riga extends Row
|
||||
{
|
||||
use RelationTrait;
|
||||
|
||||
protected $table = 'co_righe_documenti';
|
||||
|
||||
/**
|
||||
* Crea una nuova riga collegata ad una fattura.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Fattura $fattura)
|
||||
{
|
||||
$model = parent::build($fattura);
|
||||
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue