Rimozione di vari warning
This commit is contained in:
parent
5a8deafa01
commit
893d1b6081
|
@ -187,7 +187,7 @@ if (!empty($result_query) && $result_query != 'menu' && $result_query != 'custom
|
||||||
|
|
||||||
// Colore del testo
|
// Colore del testo
|
||||||
if (!empty($column['data-background'])) {
|
if (!empty($column['data-background'])) {
|
||||||
$column['data-color'] = $column['data-color'] ?: color_inverse($column['data-background']);
|
$column['data-color'] = isset($column['data-color']) ? $column['data-color'] : color_inverse($column['data-background']);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Link della colonna
|
// Link della colonna
|
||||||
|
|
5
bug.php
5
bug.php
|
@ -72,7 +72,6 @@ if (filter('op') == 'send') {
|
||||||
}
|
}
|
||||||
|
|
||||||
$pageTitle = tr('Bug');
|
$pageTitle = tr('Bug');
|
||||||
$jscript_modules[] = App::getPaths()['js'].'/ckeditor/ckeditor.js';
|
|
||||||
|
|
||||||
if (file_exists($docroot.'/include/custom/top.php')) {
|
if (file_exists($docroot.'/include/custom/top.php')) {
|
||||||
include $docroot.'/include/custom/top.php';
|
include $docroot.'/include/custom/top.php';
|
||||||
|
@ -191,7 +190,9 @@ echo '
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>';
|
</script>
|
||||||
|
|
||||||
|
<script type="text/javascript" charset="utf-8" src="'.App::getPaths()['js'].'/ckeditor/ckeditor.js'.'"></script>';
|
||||||
|
|
||||||
if (file_exists($docroot.'/include/custom/bottom.php')) {
|
if (file_exists($docroot.'/include/custom/bottom.php')) {
|
||||||
include $docroot.'/include/custom/bottom.php';
|
include $docroot.'/include/custom/bottom.php';
|
||||||
|
|
|
@ -41,5 +41,6 @@ $formatter = [
|
||||||
// Ulteriori file CSS e JS da includere
|
// Ulteriori file CSS e JS da includere
|
||||||
$assets = [
|
$assets = [
|
||||||
'css' => [],
|
'css' => [],
|
||||||
|
'print' => [],
|
||||||
'js' => [],
|
'js' => [],
|
||||||
];
|
];
|
||||||
|
|
27
core.php
27
core.php
|
@ -65,7 +65,7 @@ if (!API::isAPIRequest()) {
|
||||||
|
|
||||||
// Impostazioni di debug
|
// Impostazioni di debug
|
||||||
if (!empty($debug)) {
|
if (!empty($debug)) {
|
||||||
// Ignoramento degli avvertimenti e delle informazioni relative alla deprecazione di componenti
|
// Ignora gli avvertimenti e le informazioni relative alla deprecazione di componenti
|
||||||
error_reporting(E_ALL & ~E_WARNING & ~E_NOTICE & ~E_USER_DEPRECATED);
|
error_reporting(E_ALL & ~E_WARNING & ~E_NOTICE & ~E_USER_DEPRECATED);
|
||||||
|
|
||||||
// File di log ordinato in base alla data
|
// File di log ordinato in base alla data
|
||||||
|
@ -178,21 +178,13 @@ if (!API::isAPIRequest()) {
|
||||||
register_shutdown_function('translateTemplate');
|
register_shutdown_function('translateTemplate');
|
||||||
|
|
||||||
// Impostazione della sessione di base
|
// Impostazione della sessione di base
|
||||||
$_SESSION['infos'] = array_unique((array) $_SESSION['infos']);
|
$_SESSION['infos'] = isset($_SESSION['infos']) ? array_unique($_SESSION['infos']) : [];
|
||||||
$_SESSION['warnings'] = array_unique((array) $_SESSION['warnings']);
|
$_SESSION['warnings'] = isset($_SESSION['warnings']) ? array_unique($_SESSION['warnings']) : [];
|
||||||
$_SESSION['errors'] = array_unique((array) $_SESSION['errors']);
|
$_SESSION['errors'] = isset($_SESSION['errors']) ? array_unique($_SESSION['errors']) : [];
|
||||||
|
|
||||||
// Impostazione del tema grafico di default
|
// Impostazione del tema grafico di default
|
||||||
$theme = !empty($theme) ? $theme : 'default';
|
$theme = !empty($theme) ? $theme : 'default';
|
||||||
|
|
||||||
$assets = App::getAssets();
|
|
||||||
|
|
||||||
// CSS di base del progetto
|
|
||||||
$css_modules = $assets['css'];
|
|
||||||
|
|
||||||
// JS di base del progetto
|
|
||||||
$jscript_modules = $assets['js'];
|
|
||||||
|
|
||||||
if ($continue) {
|
if ($continue) {
|
||||||
$id_module = filter('id_module');
|
$id_module = filter('id_module');
|
||||||
$id_record = filter('id_record');
|
$id_record = filter('id_record');
|
||||||
|
@ -211,11 +203,6 @@ if (!API::isAPIRequest()) {
|
||||||
$_SESSION['period_end'] = date('Y').'-12-31';
|
$_SESSION['period_end'] = date('Y').'-12-31';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Segmenti
|
|
||||||
if (empty($_SESSION['m'.$id_module]['id_segment'])) {
|
|
||||||
$_SESSION['m'.$id_module]['id_segment'] = Modules::getSegments($id_module)[0]['id'];
|
|
||||||
}
|
|
||||||
|
|
||||||
$user = Auth::user();
|
$user = Auth::user();
|
||||||
|
|
||||||
if (!empty($id_module)) {
|
if (!empty($id_module)) {
|
||||||
|
@ -223,6 +210,12 @@ if (!API::isAPIRequest()) {
|
||||||
|
|
||||||
$pageTitle = $module['title'];
|
$pageTitle = $module['title'];
|
||||||
|
|
||||||
|
// Segmenti
|
||||||
|
if (!isset($_SESSION['m'.$id_module]['id_segment'])) {
|
||||||
|
$segments = Modules::getSegments($id_module);
|
||||||
|
$_SESSION['m'.$id_module]['id_segment'] = isset($segments[0]['id']) ? $segments[0]['id'] : null;
|
||||||
|
}
|
||||||
|
|
||||||
Permissions::addModule($id_module);
|
Permissions::addModule($id_module);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,11 +33,16 @@ echo '<!DOCTYPE html>
|
||||||
|
|
||||||
<link href="'.$paths['img'].'/favicon.png" rel="icon" type="image/x-icon" />';
|
<link href="'.$paths['img'].'/favicon.png" rel="icon" type="image/x-icon" />';
|
||||||
|
|
||||||
foreach ($css_modules as $style) {
|
// CSS
|
||||||
$style = (is_array($style)) ? $style : ['href' => $style, 'media' => 'all'];
|
foreach (App::getAssets()['css'] as $style) {
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
<link rel="stylesheet" type="text/css" media="'.$style['media'].'" href="'.$style['href'].'"/>';
|
<link rel="stylesheet" type="text/css" media="all" href="'.$style.'"/>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Print CSS
|
||||||
|
foreach (App::getAssets()['print'] as $style) {
|
||||||
|
echo '
|
||||||
|
<link rel="stylesheet" type="text/css" media="print" href="'.$style.'"/>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Auth::check()) {
|
if (Auth::check()) {
|
||||||
|
@ -128,7 +133,8 @@ if (Auth::check()) {
|
||||||
</script>';
|
</script>';
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($jscript_modules as $js) {
|
// JS
|
||||||
|
foreach (App::getAssets()['js'] as $js) {
|
||||||
echo '
|
echo '
|
||||||
<script type="text/javascript" charset="utf-8" src="'.$js.'"></script>';
|
<script type="text/javascript" charset="utf-8" src="'.$js.'"></script>';
|
||||||
}
|
}
|
||||||
|
|
10
mail.php
10
mail.php
|
@ -131,8 +131,11 @@ echo '
|
||||||
<script>
|
<script>
|
||||||
var emails = [];
|
var emails = [];
|
||||||
|
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){';
|
||||||
|
|
||||||
// Autocompletamento destinatario
|
// Autocompletamento destinatario
|
||||||
|
if (!empty($variables['id_anagrafica'])) {
|
||||||
|
echo '
|
||||||
$(document).load(globals.rootdir + "/ajax_complete.php?module=Anagrafiche&op=get_email&id_anagrafica='.$variables['id_anagrafica'].'", function(response) {
|
$(document).load(globals.rootdir + "/ajax_complete.php?module=Anagrafiche&op=get_email&id_anagrafica='.$variables['id_anagrafica'].'", function(response) {
|
||||||
emails = JSON.parse(response);
|
emails = JSON.parse(response);
|
||||||
|
|
||||||
|
@ -144,7 +147,10 @@ echo '
|
||||||
$(this).autocomplete("search", $(this).val())
|
$(this).autocomplete("search", $(this).val())
|
||||||
});;
|
});;
|
||||||
});
|
});
|
||||||
});
|
});';
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '
|
||||||
|
|
||||||
CKEDITOR.replace("body", {
|
CKEDITOR.replace("body", {
|
||||||
toolbar: globals.ckeditorToolbar,
|
toolbar: globals.ckeditorToolbar,
|
||||||
|
|
|
@ -4,9 +4,7 @@ include_once __DIR__.'/../../../core.php';
|
||||||
|
|
||||||
switch ($resource) {
|
switch ($resource) {
|
||||||
case 'clienti':
|
case 'clienti':
|
||||||
//$citta_cliente = ", IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')'))";
|
$query = 'SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale) AS descrizione, idtipointervento_default 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 |where| ORDER BY ragione_sociale';
|
||||||
|
|
||||||
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale $citta_cliente) AS descrizione, idtipointervento_default 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 |where| ORDER BY ragione_sociale";
|
|
||||||
|
|
||||||
foreach ($elements as $element) {
|
foreach ($elements as $element) {
|
||||||
$filter[] = 'an_anagrafiche.idanagrafica='.prepare($element);
|
$filter[] = 'an_anagrafiche.idanagrafica='.prepare($element);
|
||||||
|
|
|
@ -5,7 +5,7 @@ include_once __DIR__.'/../../core.php';
|
||||||
/**
|
/**
|
||||||
* Funzione per inserire i movimenti di magazzino.
|
* Funzione per inserire i movimenti di magazzino.
|
||||||
*/
|
*/
|
||||||
function add_movimento_magazzino($idarticolo, $qta, $array = [], $descrizone = '', $data='')
|
function add_movimento_magazzino($id_articolo, $qta, $array = [], $descrizone = '', $data = '')
|
||||||
{
|
{
|
||||||
$dbo = Database::getConnection();
|
$dbo = Database::getConnection();
|
||||||
|
|
||||||
|
@ -13,8 +13,12 @@ function add_movimento_magazzino($idarticolo, $qta, $array = [], $descrizone = '
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Info Articolo
|
$nome = null;
|
||||||
$rs_art = $dbo->fetchArray("SELECT * FROM mg_articoli WHERE id='".$idarticolo."'");
|
$tipo = null;
|
||||||
|
$numero = null;
|
||||||
|
|
||||||
|
// Informazioni articolo
|
||||||
|
$articolo = $dbo->fetchOne('SELECT * FROM mg_articoli WHERE id='.prepare($id_articolo));
|
||||||
$manuale = 0;
|
$manuale = 0;
|
||||||
|
|
||||||
// Ddt
|
// Ddt
|
||||||
|
@ -54,20 +58,18 @@ function add_movimento_magazzino($idarticolo, $qta, $array = [], $descrizone = '
|
||||||
|
|
||||||
$new = ($qta < 0 ? '+' : '').-$qta;
|
$new = ($qta < 0 ? '+' : '').-$qta;
|
||||||
|
|
||||||
$dbo->query('UPDATE mg_articoli_automezzi SET qta = qta + '.$new.' WHERE idarticolo = '.prepare($idarticolo).' AND idautomezzo = '.prepare($array['idautomezzo']));
|
$dbo->query('UPDATE mg_articoli_automezzi SET qta = qta + '.$new.' WHERE idarticolo = '.prepare($id_articolo).' AND idautomezzo = '.prepare($array['idautomezzo']));
|
||||||
$data = date('Y-m-d');
|
$data = date('Y-m-d');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Intervento
|
// Intervento
|
||||||
elseif (!empty($array['idintervento'])) {
|
elseif (!empty($array['idintervento'])) {
|
||||||
|
|
||||||
$rs_data = $dbo->fetchArray('SELECT IFNULL(MAX(orario_fine), data_richiesta) AS data, codice FROM in_interventi LEFT JOIN in_interventi_tecnici ON in_interventi.id=in_interventi_tecnici.idintervento WHERE in_interventi.id = '.prepare($array['idintervento']));
|
$rs_data = $dbo->fetchArray('SELECT IFNULL(MAX(orario_fine), data_richiesta) AS data, codice FROM in_interventi LEFT JOIN in_interventi_tecnici ON in_interventi.id=in_interventi_tecnici.idintervento WHERE in_interventi.id = '.prepare($array['idintervento']));
|
||||||
$data = $rs_data[0]['data'];
|
$data = $rs_data[0]['data'];
|
||||||
$codice_intervento = $rs_data[0]['codice'];
|
$codice_intervento = $rs_data[0]['codice'];
|
||||||
|
|
||||||
$movimento = ($qta > 0) ? tr('Ripristino articolo da intervento _NUM_') : tr('Scarico magazzino per intervento _NUM_');
|
$movimento = ($qta > 0) ? tr('Ripristino articolo da intervento _NUM_') : tr('Scarico magazzino per intervento _NUM_');
|
||||||
$numero = $codice_intervento;
|
$numero = $codice_intervento;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Manuale
|
// Manuale
|
||||||
|
@ -100,15 +102,15 @@ function add_movimento_magazzino($idarticolo, $qta, $array = [], $descrizone = '
|
||||||
$new = ($qta > 0 ? '+' : '').$qta;
|
$new = ($qta > 0 ? '+' : '').$qta;
|
||||||
|
|
||||||
// Movimento il magazzino solo se l'articolo non è un servizio
|
// Movimento il magazzino solo se l'articolo non è un servizio
|
||||||
if ($rs_art[0]['servizio'] == 0) {
|
if ($articolo['servizio'] == 0) {
|
||||||
// Movimentazione effettiva
|
// Movimentazione effettiva
|
||||||
if (empty($array['idintervento']) || empty($array['idautomezzo'])) {
|
if (empty($array['idintervento']) || empty($array['idautomezzo'])) {
|
||||||
$dbo->query('UPDATE mg_articoli SET qta = qta + '.$new.' WHERE id = '.prepare($idarticolo));
|
$dbo->query('UPDATE mg_articoli SET qta = qta + '.$new.' WHERE id = '.prepare($id_articolo));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Registrazione della movimentazione
|
// Registrazione della movimentazione
|
||||||
$dbo->insert('mg_movimenti', array_merge($array, [
|
$dbo->insert('mg_movimenti', array_merge($array, [
|
||||||
'idarticolo' => $idarticolo,
|
'idarticolo' => $id_articolo,
|
||||||
'qta' => $qta,
|
'qta' => $qta,
|
||||||
'movimento' => $movimento,
|
'movimento' => $movimento,
|
||||||
'data' => $data,
|
'data' => $data,
|
||||||
|
|
|
@ -11,9 +11,9 @@ echo '
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">';
|
<div class="panel-body">';
|
||||||
|
|
||||||
$search_lotto = $get['search_lotto'];
|
$search_lotto = get('search_lotto');
|
||||||
$search_serial = $get['search_serial'];
|
$search_serial = get('search_serial');
|
||||||
$search_altro = $get['search_altro'];
|
$search_altro = get('search_altro');
|
||||||
|
|
||||||
// Calcolo prossimo lotto e serial number
|
// Calcolo prossimo lotto e serial number
|
||||||
$rs = $dbo->fetchArray('SELECT MAX(lotto) AS max_lotto, MAX(serial) AS max_serial, MAX(altro) AS max_altro FROM mg_prodotti WHERE id_articolo='.prepare($id_record));
|
$rs = $dbo->fetchArray('SELECT MAX(lotto) AS max_lotto, MAX(serial) AS max_serial, MAX(altro) AS max_altro FROM mg_prodotti WHERE id_articolo='.prepare($id_record));
|
||||||
|
|
|
@ -10,17 +10,14 @@ $disabled = '';
|
||||||
$hide = 'hide';
|
$hide = 'hide';
|
||||||
$op = 'edit-pianifica';
|
$op = 'edit-pianifica';
|
||||||
|
|
||||||
|
|
||||||
//mi ricavo informazioni del contratto
|
//mi ricavo informazioni del contratto
|
||||||
$data_conclusione = $dbo->fetchArray('SELECT `data_conclusione` FROM `co_contratti` WHERE `id` = '.prepare($id_record))[0]['data_conclusione'];
|
$data_conclusione = $dbo->fetchArray('SELECT `data_conclusione` FROM `co_contratti` WHERE `id` = '.prepare($id_record))[0]['data_conclusione'];
|
||||||
$idanagrafica = $dbo->fetchArray('SELECT `idanagrafica` FROM `co_contratti` WHERE `id` = '.prepare($id_record))[0]['idanagrafica'];
|
$idanagrafica = $dbo->fetchArray('SELECT `idanagrafica` FROM `co_contratti` WHERE `id` = '.prepare($id_record))[0]['idanagrafica'];
|
||||||
|
|
||||||
$list = '\"1\":\"'.tr('Pianificare a partire da oggi ').date('d/m/Y').'\"';
|
$list = '\"1\":\"'.tr('Pianificare a partire da oggi ').date('d/m/Y').'\"';
|
||||||
|
|
||||||
|
|
||||||
//promemoria esistente
|
//promemoria esistente
|
||||||
if (!empty($get['idcontratto_riga'])) {
|
if (!empty($get['idcontratto_riga'])) {
|
||||||
|
|
||||||
$idcontratto_riga = $get['idcontratto_riga'];
|
$idcontratto_riga = $get['idcontratto_riga'];
|
||||||
$qp = 'SELECT *, (SELECT descrizione FROM in_tipiintervento WHERE idtipointervento=co_righe_contratti.idtipointervento) AS tipointervento, (SELECT tempo_standard FROM in_tipiintervento WHERE idtipointervento = co_righe_contratti.idtipointervento) AS tempo_standard FROM co_righe_contratti WHERE id = '.$idcontratto_riga;
|
$qp = 'SELECT *, (SELECT descrizione FROM in_tipiintervento WHERE idtipointervento=co_righe_contratti.idtipointervento) AS tipointervento, (SELECT tempo_standard FROM in_tipiintervento WHERE idtipointervento = co_righe_contratti.idtipointervento) AS tempo_standard FROM co_righe_contratti WHERE id = '.$idcontratto_riga;
|
||||||
$rsp = $dbo->fetchArray($qp);
|
$rsp = $dbo->fetchArray($qp);
|
||||||
|
@ -35,21 +32,16 @@ if (!empty($get['idcontratto_riga'])){
|
||||||
$list .= ', \"0\":\"'.tr('Pianificare a partire da questo promemoria ').$data_richiesta.'\"';
|
$list .= ', \"0\":\"'.tr('Pianificare a partire da questo promemoria ').$data_richiesta.'\"';
|
||||||
|
|
||||||
$op = 'pianificazione';
|
$op = 'pianificazione';
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//se non è impostata idcontratto_riga allora sono in fase di inserimento di nuovo promemoria e mi calcolo il prossimo id per co_righe_contratti
|
//se non è impostata idcontratto_riga allora sono in fase di inserimento di nuovo promemoria e mi calcolo il prossimo id per co_righe_contratti
|
||||||
(empty($idcontratto_riga)) ? $idcontratto_riga = $dbo->fetchArray('SELECT MAX(id) AS max_idcontratto_riga FROM `co_righe_contratti`')[0]['max_idcontratto_riga'] : '';
|
(empty($idcontratto_riga)) ? $idcontratto_riga = $dbo->fetchArray('SELECT MAX(id) AS max_idcontratto_riga FROM `co_righe_contratti`')[0]['max_idcontratto_riga'] : '';
|
||||||
(empty($idcontratto_riga)) ? $idcontratto_riga = 1 : '';
|
(empty($idcontratto_riga)) ? $idcontratto_riga = 1 : '';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//orari inizio fine interventi (8h standard)
|
//orari inizio fine interventi (8h standard)
|
||||||
$orario_inizio = '09:00';
|
$orario_inizio = '09:00';
|
||||||
$orario_fine = (!empty($tempo_standard)) ? date('H:i', strtotime($orario_inizio) + ((60 * 60) * $tempo_standard)) : '17:00';
|
$orario_fine = (!empty($tempo_standard)) ? date('H:i', strtotime($orario_inizio) + ((60 * 60) * $tempo_standard)) : '17:00';
|
||||||
|
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
<form id="add_form" action="'.$rootdir.'/editor.php?id_module='.Modules::get('Contratti')['id'].'&id_record='.$id_record.'&idcontratto_riga='.$idcontratto_riga.'" method="post">
|
<form id="add_form" action="'.$rootdir.'/editor.php?id_module='.Modules::get('Contratti')['id'].'&id_record='.$id_record.'&idcontratto_riga='.$idcontratto_riga.'" method="post">
|
||||||
|
|
||||||
|
@ -100,7 +92,6 @@ echo '
|
||||||
|
|
||||||
</div>';
|
</div>';
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!-- ARTICOLI -->
|
<!-- ARTICOLI -->
|
||||||
|
@ -133,7 +124,7 @@ echo '
|
||||||
|
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<div id="righe">
|
<div id="righe">
|
||||||
<?php include $docroot.'/modules/contratti/plugins/ajax_righe.php' ?>
|
<?php include $docroot.'/modules/contratti/plugins/ajax_righe.php'; ?>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php if (empty($readonly)) {
|
<?php if (empty($readonly)) {
|
||||||
|
@ -159,7 +150,6 @@ echo '
|
||||||
|
|
||||||
';
|
';
|
||||||
|
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
<!-- PIANIFICAZIONE CICLICA? -->
|
<!-- PIANIFICAZIONE CICLICA? -->
|
||||||
<div class="panel panel-primary '.$hide.'">
|
<div class="panel panel-primary '.$hide.'">
|
||||||
|
@ -169,7 +159,6 @@ echo '
|
||||||
|
|
||||||
<div class="panel-body">';
|
<div class="panel-body">';
|
||||||
|
|
||||||
|
|
||||||
echo '<div class="row">
|
echo '<div class="row">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
{[ "type": "number", "label": "'.tr('Intervallo').'", "name": "intervallo", "class": "", "decimals": 0, "required": 1, "icon-after": "GG", "min-value": "1" ]}
|
{[ "type": "number", "label": "'.tr('Intervallo').'", "name": "intervallo", "class": "", "decimals": 0, "required": 1, "icon-after": "GG", "min-value": "1" ]}
|
||||||
|
@ -178,7 +167,7 @@ echo '<div class="row">
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="col-md-7">
|
<div class="col-md-7">
|
||||||
{[ "type": "select", "label": "<?php echo tr('Inizio pianificazione'); ?>", "name": "parti_da_oggi", "values": "list=<?php echo $list ?>", "value": "" ]}
|
{[ "type": "select", "label": "<?php echo tr('Inizio pianificazione'); ?>", "name": "parti_da_oggi", "values": "list=<?php echo $list; ?>", "value": "" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
@ -197,8 +186,6 @@ echo '
|
||||||
</div>
|
</div>
|
||||||
</div>';
|
</div>';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
<!-- PIANIFICARE INTERVENTI? -->
|
<!-- PIANIFICARE INTERVENTI? -->
|
||||||
<div class="panel panel-primary '.$hide.'">
|
<div class="panel panel-primary '.$hide.'">
|
||||||
|
|
|
@ -1,12 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$rs = $dbo->fetchArray('SELECT *,
|
$r = $dbo->fetchOne('SELECT *,
|
||||||
(SELECT email FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=co_contratti.idanagrafica) AS email
|
(SELECT email FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=co_contratti.idanagrafica) AS email
|
||||||
FROM co_contratti WHERE id='.prepare($id_record));
|
FROM co_contratti WHERE id='.prepare($id_record));
|
||||||
|
|
||||||
// Risultato effettivo
|
|
||||||
$r = $rs[0];
|
|
||||||
|
|
||||||
// Variabili da sostituire
|
// Variabili da sostituire
|
||||||
return [
|
return [
|
||||||
'email' => $r['email'],
|
'email' => $r['email'],
|
||||||
|
|
|
@ -65,7 +65,7 @@ for ($i = 0; $i < count($rs); ++$i) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$checks .= "<li><input type='checkbox' id='idstato_".$rs[$i]['id']."' value=\"".$rs[$i]['id'].'" '.$attr." onclick=\"$.when ( session_set_array( 'dashboard,idstatiintervento', '".$rs[$i]['id']."' ) ).promise().then(function( ){ $('#calendar').fullCalendar('refetchEvents'); }); update_counter( 'idstati_count', $('#idstati_ul').find('input:checked').length ); \"> <label for='idstato_".$rs[$i]['id']."'> <span class='badge' style=\"color:".color_inverse($rs[$i]['colore'])."; background:".$rs[$i]['colore'].";\">".$rs[$i]['descrizione']."</span></label></li>\n";
|
$checks .= "<li><input type='checkbox' id='idstato_".$rs[$i]['id']."' value=\"".$rs[$i]['id'].'" '.$attr." onclick=\"$.when ( session_set_array( 'dashboard,idstatiintervento', '".$rs[$i]['id']."' ) ).promise().then(function( ){ $('#calendar').fullCalendar('refetchEvents'); }); update_counter( 'idstati_count', $('#idstati_ul').find('input:checked').length ); \"> <label for='idstato_".$rs[$i]['id']."'> <span class='badge' style=\"color:".color_inverse($rs[$i]['colore']).'; background:'.$rs[$i]['colore'].';">'.$rs[$i]['descrizione']."</span></label></li>\n";
|
||||||
|
|
||||||
$allchecksstati .= "session_set_array( 'dashboard,idstatiintervento', '".$rs[$i]['id']."', 0 ); ";
|
$allchecksstati .= "session_set_array( 'dashboard,idstatiintervento', '".$rs[$i]['id']."', 0 ); ";
|
||||||
}
|
}
|
||||||
|
@ -176,7 +176,7 @@ for ($i = 0; $i < count($rs); ++$i) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$checks .= "<li><input type='checkbox' id='tech_".$rs[$i]['id']."' value=\"".$rs[$i]['id'].'" '.$attr." onclick=\"$.when ( session_set_array( 'dashboard,idtecnici', '".$rs[$i]['id']."' ) ).promise().then(function( ){ $('#calendar').fullCalendar('refetchEvents'); }); update_counter( 'idtecnici_count', $('#idtecnici_ul').find('input:checked').length ); \"> <label for='tech_".$rs[$i]['id']."'><span class='badge' style=\"color:#000; background:transparent; border: 1px solid ".$rs[$i]['colore'].";\">".$rs[$i]['ragione_sociale']."</span></label></li>\n";
|
$checks .= "<li><input type='checkbox' id='tech_".$rs[$i]['id']."' value=\"".$rs[$i]['id'].'" '.$attr." onclick=\"$.when ( session_set_array( 'dashboard,idtecnici', '".$rs[$i]['id']."' ) ).promise().then(function( ){ $('#calendar').fullCalendar('refetchEvents'); }); update_counter( 'idtecnici_count', $('#idtecnici_ul').find('input:checked').length ); \"> <label for='tech_".$rs[$i]['id']."'><span class='badge' style=\"color:#000; background:transparent; border: 1px solid ".$rs[$i]['colore'].';">'.$rs[$i]['ragione_sociale']."</span></label></li>\n";
|
||||||
|
|
||||||
$allchecktecnici .= "session_set_array( 'dashboard,idtecnici', '".$rs[$i]['id']."', 0 ); ";
|
$allchecktecnici .= "session_set_array( 'dashboard,idtecnici', '".$rs[$i]['id']."', 0 ); ";
|
||||||
}
|
}
|
||||||
|
@ -234,6 +234,8 @@ if ($totale_tecnici == 0) {
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
// Zone
|
// Zone
|
||||||
|
$allcheckzone = null;
|
||||||
|
|
||||||
$checks = '';
|
$checks = '';
|
||||||
$count = 0;
|
$count = 0;
|
||||||
$total = 0;
|
$total = 0;
|
||||||
|
@ -253,7 +255,7 @@ for ($i = 0; $i < count($rs); ++$i) {
|
||||||
|
|
||||||
$checks .= "<li><input type='checkbox' id='idzone_".$rs[$i]['id']."' value=\"".$rs[$i]['id'].'" '.$attr." onclick=\"$.when ( session_set_array( 'dashboard,idzone', '".$rs[$i]['id']."' ) ).promise().then(function( ){ $('#calendar').fullCalendar('refetchEvents'); update_counter( 'idzone_count', $('#idzone_ul').find('input:checked').length ); }); \"> <label for='idzone_".$rs[$i]['id']."'> ".$rs[$i]['descrizione']."</label></li>\n";
|
$checks .= "<li><input type='checkbox' id='idzone_".$rs[$i]['id']."' value=\"".$rs[$i]['id'].'" '.$attr." onclick=\"$.when ( session_set_array( 'dashboard,idzone', '".$rs[$i]['id']."' ) ).promise().then(function( ){ $('#calendar').fullCalendar('refetchEvents'); update_counter( 'idzone_count', $('#idzone_ul').find('input:checked').length ); }); \"> <label for='idzone_".$rs[$i]['id']."'> ".$rs[$i]['descrizione']."</label></li>\n";
|
||||||
|
|
||||||
$allcheckzone .= "session_set_array( 'dashboard,idzone', '".$rs[$i]['id']."', 0 ); ";
|
$allcheckzone = "session_set_array( 'dashboard,idzone', '".$rs[$i]['id']."', 0 ); ";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($count == $total) {
|
if ($count == $total) {
|
||||||
|
@ -304,8 +306,8 @@ if (!empty($rsp)) {
|
||||||
<h4>'.tr('Promemoria contratti da pianificare').'</h4>';
|
<h4>'.tr('Promemoria contratti da pianificare').'</h4>';
|
||||||
|
|
||||||
// Controllo pianificazioni mesi precedenti
|
// Controllo pianificazioni mesi precedenti
|
||||||
$qp_old = "SELECT co_righe_contratti.id FROM co_righe_contratti INNER JOIN co_contratti ON co_righe_contratti.idcontratto=co_contratti.id WHERE idstato IN(SELECT id FROM co_staticontratti WHERE pianificabile = 1) AND idintervento IS NULL AND UNIX_TIMESTAMP(co_righe_contratti.data_richiesta)+86400<UNIX_TIMESTAMP(NOW())
|
$qp_old = 'SELECT co_righe_contratti.id FROM co_righe_contratti INNER JOIN co_contratti ON co_righe_contratti.idcontratto=co_contratti.id WHERE idstato IN(SELECT id FROM co_staticontratti WHERE pianificabile = 1) AND idintervento IS NULL AND UNIX_TIMESTAMP(co_righe_contratti.data_richiesta)+86400<UNIX_TIMESTAMP(NOW())
|
||||||
UNION SELECT co_ordiniservizio.id FROM co_ordiniservizio INNER JOIN co_contratti ON co_ordiniservizio.idcontratto=co_contratti.id WHERE idstato IN(SELECT id FROM co_staticontratti WHERE pianificabile = 1) AND idintervento IS NULL AND UNIX_TIMESTAMP(co_ordiniservizio.data_scadenza)+86400<UNIX_TIMESTAMP(NOW())";
|
UNION SELECT co_ordiniservizio.id FROM co_ordiniservizio INNER JOIN co_contratti ON co_ordiniservizio.idcontratto=co_contratti.id WHERE idstato IN(SELECT id FROM co_staticontratti WHERE pianificabile = 1) AND idintervento IS NULL AND UNIX_TIMESTAMP(co_ordiniservizio.data_scadenza)+86400<UNIX_TIMESTAMP(NOW())';
|
||||||
$rsp_old = $dbo->fetchNum($qp_old);
|
$rsp_old = $dbo->fetchNum($qp_old);
|
||||||
|
|
||||||
if ($rsp_old > 0) {
|
if ($rsp_old > 0) {
|
||||||
|
|
|
@ -7,15 +7,13 @@ $module = Modules::get($id_module);
|
||||||
if ($module['name'] == 'Ddt di vendita') {
|
if ($module['name'] == 'Ddt di vendita') {
|
||||||
$dir = 'entrata';
|
$dir = 'entrata';
|
||||||
|
|
||||||
$rs = $dbo->fetchArray("SELECT id FROM dt_tipiddt WHERE descrizione='Ddt di vendita' LIMIT 0,1");
|
$id_tipoddt = $dbo->fetchOne("SELECT id FROM dt_tipiddt WHERE descrizione='Ddt di vendita'")['id'];
|
||||||
$id_tipoddt = $rs[0]['id'];
|
|
||||||
|
|
||||||
$tipo_anagrafica = tr('Cliente');
|
$tipo_anagrafica = tr('Cliente');
|
||||||
} else {
|
} else {
|
||||||
$dir = 'uscita';
|
$dir = 'uscita';
|
||||||
|
|
||||||
$rs = $dbo->fetchArray("SELECT id FROM dt_tipiddt WHERE descrizione='Ddt di acquisto' LIMIT 0,1");
|
$id_tipoddt = $dbo->fetchOne("SELECT id FROM dt_tipiddt WHERE descrizione='Ddt di acquisto'")['id'];
|
||||||
$id_tipoddt = $rs[0]['id'];
|
|
||||||
|
|
||||||
$tipo_anagrafica = tr('Fornitore');
|
$tipo_anagrafica = tr('Fornitore');
|
||||||
}
|
}
|
||||||
|
@ -31,7 +29,7 @@ if ($module['name'] == 'Ddt di vendita') {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
{[ "type": "select", "label": "<?php echo $tipo_anagrafica; ?>", "name": "idanagrafica", "required": 1, "values": "query=SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione 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 WHERE descrizione='<?php echo $tipo_anagrafica; ?>' AND deleted=0 ORDER BY ragione_sociale", "value": "<?php echo $idanagrafica; ?>", "icon-after": "add|<?php echo Modules::get('Anagrafiche')['id']; ?>|tipoanagrafica=<?php echo $tipo_anagrafica; ?>" ]}
|
{[ "type": "select", "label": "<?php echo $tipo_anagrafica; ?>", "name": "idanagrafica", "required": 1, "values": "query=SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione 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 WHERE descrizione='<?php echo $tipo_anagrafica; ?>' AND deleted=0 ORDER BY ragione_sociale", "value": "<?php echo $user['idanagrafica']; ?>", "icon-after": "add|<?php echo Modules::get('Anagrafiche')['id']; ?>|tipoanagrafica=<?php echo $tipo_anagrafica; ?>" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
|
|
|
@ -1,12 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$rs = $dbo->fetchArray('SELECT *,
|
$r = $dbo->fetchOne('SELECT *,
|
||||||
(SELECT email FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=dt_ddt.idanagrafica) AS email
|
(SELECT email FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=dt_ddt.idanagrafica) AS email
|
||||||
FROM dt_ddt WHERE id='.prepare($id_record));
|
FROM dt_ddt WHERE id='.prepare($id_record));
|
||||||
|
|
||||||
// Risultato effettivo
|
|
||||||
$r = $rs[0];
|
|
||||||
|
|
||||||
// Variabili da sostituire
|
// Variabili da sostituire
|
||||||
return [
|
return [
|
||||||
'email' => $r['email'],
|
'email' => $r['email'],
|
||||||
|
|
|
@ -1,12 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$rs = $dbo->fetchArray('SELECT *,
|
$r = $dbo->fetchOne('SELECT *,
|
||||||
(SELECT email FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=co_documenti.idanagrafica) AS email
|
(SELECT email FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=co_documenti.idanagrafica) AS email
|
||||||
FROM co_documenti WHERE id='.prepare($id_record));
|
FROM co_documenti WHERE id='.prepare($id_record));
|
||||||
|
|
||||||
// Risultato effettivo
|
|
||||||
$r = $rs[0];
|
|
||||||
|
|
||||||
// Variabili da sostituire
|
// Variabili da sostituire
|
||||||
return [
|
return [
|
||||||
'email' => $r['email'],
|
'email' => $r['email'],
|
||||||
|
|
|
@ -52,7 +52,7 @@ foreach ($records as $record) {
|
||||||
else {
|
else {
|
||||||
$numerico = in_array($record['tipo'], ['integer', 'decimal']);
|
$numerico = in_array($record['tipo'], ['integer', 'decimal']);
|
||||||
|
|
||||||
$tipo = (preg_match('/password/i', $record['nome'], $m)) ? 'password' : $tipo;
|
$tipo = preg_match('/password/i', $record['nome'], $m) ? 'password' : $record['tipo'];
|
||||||
$tipo = $numerico ? 'number' : 'text';
|
$tipo = $numerico ? 'number' : 'text';
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
|
|
|
@ -5,6 +5,7 @@ if (file_exists( __DIR__.'/../../../core.php')) {
|
||||||
} else {
|
} else {
|
||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (file_exists($docroot.'/modules/interventi/custom/modutil.php')) {
|
if (file_exists($docroot.'/modules/interventi/custom/modutil.php')) {
|
||||||
include_once $docroot.'/modules/interventi/custom/modutil.php';
|
include_once $docroot.'/modules/interventi/custom/modutil.php';
|
||||||
} else {
|
} else {
|
||||||
|
@ -124,47 +125,26 @@ if (!empty($rs2)) {
|
||||||
|
|
||||||
<input type="hidden" name="prezzo_ore_unitario_tecnico['.$id.']" value="'.$costo_ore_unitario_tecnico.'" />
|
<input type="hidden" name="prezzo_ore_unitario_tecnico['.$id.']" value="'.$costo_ore_unitario_tecnico.'" />
|
||||||
<input type="hidden" name="prezzo_km_unitario_tecnico['.$id.']" value="'.$costo_km_unitario_tecnico.'" />
|
<input type="hidden" name="prezzo_km_unitario_tecnico['.$id.']" value="'.$costo_km_unitario_tecnico.'" />
|
||||||
<input type="hidden" name="prezzo_dirittochiamata_tecnico['.$id.']" value="'.$costo_dirittochiamata_tecnico.'" />';
|
<input type="hidden" name="prezzo_dirittochiamata_tecnico['.$id.']" value="'.$costo_dirittochiamata_tecnico.'" />
|
||||||
|
|
||||||
echo '
|
<tr>';
|
||||||
<tr>
|
|
||||||
<td class="tecn_'.$r['idtecnico'].'" style="min-width:200px;" >';
|
|
||||||
|
|
||||||
if ($rs[0]['stato'] != 'Fatturato') {
|
|
||||||
// Elenco tipologie di interventi
|
// Elenco tipologie di interventi
|
||||||
echo '
|
echo '
|
||||||
{[ "type": "select", "name": "idtipointerventot['.$id.']", "value": "'.$r['idtipointervento'].'", "values": "query=SELECT idtipointervento AS id, descrizione, IFNULL((SELECT costo_ore FROM in_tariffe WHERE idtipointervento=in_tipiintervento.idtipointervento AND idtecnico='.prepare($r['idtecnico']).'), 0) AS costo_orario FROM in_tipiintervento ORDER BY descrizione", "extra": "'.$readonly.'" ]}';
|
<td class="tecn_'.$r['idtecnico'].'" style="min-width:200px;">
|
||||||
}
|
{[ "type": "select", "name": "idtipointerventot['.$id.']", "value": "'.$r['idtipointervento'].'", "values": "query=SELECT idtipointervento AS id, descrizione, IFNULL((SELECT costo_ore FROM in_tariffe WHERE idtipointervento=in_tipiintervento.idtipointervento AND idtecnico='.prepare($r['idtecnico']).'), 0) AS costo_orario FROM in_tipiintervento ORDER BY descrizione", "extra": "'.$readonly.'" ]}
|
||||||
|
|
||||||
echo '
|
|
||||||
</td>';
|
</td>';
|
||||||
|
|
||||||
// Orario di inizio
|
// Orario di inizio
|
||||||
echo '
|
echo '
|
||||||
<td>';
|
<td>
|
||||||
if ($rs[0]['stato'] == 'Fatturato') {
|
{[ "type": "timestamp", "name": "orario_inizio['.$id.']", "id": "inizio_'.$id.'", "value": "'.$orario_inizio.'", "class": "orari min-width", "extra": "'.$readonly.'" ]}
|
||||||
echo '
|
|
||||||
<span>'.$orario_inizio.'</span>
|
|
||||||
<input type="hidden" name="orario_inizio['.$id.']" value="'.$orario_inizio.'">';
|
|
||||||
} else {
|
|
||||||
echo '
|
|
||||||
{[ "type": "timestamp", "name": "orario_inizio['.$id.']", "id": "inizio_'.$id.'", "value": "'.$orario_inizio.'", "class": "orari min-width", "extra": "'.$readonly.'" ]}';
|
|
||||||
}
|
|
||||||
echo '
|
|
||||||
</td>';
|
</td>';
|
||||||
|
|
||||||
// Orario di fine
|
// Orario di fine
|
||||||
echo '
|
echo '
|
||||||
<td>';
|
<td>
|
||||||
if ($rs[0]['stato'] == 'Fatturato') {
|
{[ "type": "timestamp", "name": "orario_fine['.$id.']", "id": "fine_'.$id.'", "value": "'.$orario_fine.'", "class": "orari min-width", "min-date": "'.$orario_inizio.'", "extra": "'.$readonly.'" ]}
|
||||||
echo '
|
|
||||||
<span>'.$orario_fine.'</span>
|
|
||||||
<input type="hidden" name="orario_fine['.$id.']" value="'.$orario_fine.'">';
|
|
||||||
} else {
|
|
||||||
echo '
|
|
||||||
{[ "type": "timestamp", "name": "orario_fine['.$id.']", "id": "fine_'.$id.'", "value": "'.$orario_fine.'", "class": "orari min-width", "min-date": "'.$orario_inizio.'", "extra": "'.$readonly.'" ]}';
|
|
||||||
}
|
|
||||||
echo '
|
|
||||||
</td>';
|
</td>';
|
||||||
|
|
||||||
// ORE
|
// ORE
|
||||||
|
|
|
@ -1,13 +1,10 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$rs = $dbo->fetchArray('SELECT *,
|
$r = $dbo->fetchOne('SELECT *,
|
||||||
(SELECT MAX(orario_fine) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS data_fine,
|
(SELECT MAX(orario_fine) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS data_fine,
|
||||||
(SELECT email FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=in_interventi.idanagrafica) AS email
|
(SELECT email FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=in_interventi.idanagrafica) AS email
|
||||||
FROM in_interventi WHERE id='.prepare($id_record));
|
FROM in_interventi WHERE id='.prepare($id_record));
|
||||||
|
|
||||||
// Risultato effettivo
|
|
||||||
$r = $rs[0];
|
|
||||||
|
|
||||||
// Variabili da sostituire
|
// Variabili da sostituire
|
||||||
return [
|
return [
|
||||||
'email' => $r['email'],
|
'email' => $r['email'],
|
||||||
|
|
|
@ -1,12 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$rs = $dbo->fetchArray('SELECT *,
|
$r = $dbo->fetchOne('SELECT *,
|
||||||
(SELECT email FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=or_ordini.idanagrafica) AS email
|
(SELECT email FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=or_ordini.idanagrafica) AS email
|
||||||
FROM or_ordini WHERE id='.prepare($id_record));
|
FROM or_ordini WHERE id='.prepare($id_record));
|
||||||
|
|
||||||
// Risultato effettivo
|
|
||||||
$r = $rs[0];
|
|
||||||
|
|
||||||
// Variabili da sostituire
|
// Variabili da sostituire
|
||||||
return [
|
return [
|
||||||
'email' => $r['email'],
|
'email' => $r['email'],
|
||||||
|
|
|
@ -1,12 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$rs = $dbo->fetchArray('SELECT *,
|
$r = $dbo->fetchOne('SELECT *,
|
||||||
(SELECT email FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=co_preventivi.idanagrafica) AS email
|
(SELECT email FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=co_preventivi.idanagrafica) AS email
|
||||||
FROM co_preventivi WHERE id='.prepare($id_record));
|
FROM co_preventivi WHERE id='.prepare($id_record));
|
||||||
|
|
||||||
// Risultato effettivo
|
|
||||||
$r = $rs[0];
|
|
||||||
|
|
||||||
// Variabili da sostituire
|
// Variabili da sostituire
|
||||||
return [
|
return [
|
||||||
'email' => $r['email'],
|
'email' => $r['email'],
|
||||||
|
|
|
@ -131,7 +131,7 @@ class AJAX
|
||||||
$results = self::completeResults($query, $where, $filter, $search_fields, $custom);
|
$results = self::completeResults($query, $where, $filter, $search_fields, $custom);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $results;
|
return isset($results) ? $results : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static function getSelectInfo()
|
protected static function getSelectInfo()
|
||||||
|
|
59
src/App.php
59
src/App.php
|
@ -18,10 +18,11 @@ class App
|
||||||
'app.min.css',
|
'app.min.css',
|
||||||
'style.min.css',
|
'style.min.css',
|
||||||
'themes.min.css',
|
'themes.min.css',
|
||||||
[
|
|
||||||
'href' => 'print.min.css',
|
|
||||||
'media' => 'print',
|
|
||||||
],
|
],
|
||||||
|
|
||||||
|
// Print CSS
|
||||||
|
'print' => [
|
||||||
|
'print.min.css',
|
||||||
],
|
],
|
||||||
|
|
||||||
// JS
|
// JS
|
||||||
|
@ -155,49 +156,39 @@ class App
|
||||||
// Assets aggiuntivi
|
// Assets aggiuntivi
|
||||||
$config = self::getConfig();
|
$config = self::getConfig();
|
||||||
|
|
||||||
$css = array_unique(array_merge(self::$assets['css'], $config['assets']['css']));
|
|
||||||
$js = array_unique(array_merge(self::$assets['js'], $config['assets']['js']));
|
|
||||||
|
|
||||||
// Impostazione dei percorsi
|
// Impostazione dei percorsi
|
||||||
$paths = self::getPaths();
|
$paths = self::getPaths();
|
||||||
$lang = Translator::getInstance()->getCurrentLocale();
|
$lang = Translator::getInstance()->getCurrentLocale();
|
||||||
|
|
||||||
foreach ($css as $key => $value) {
|
// Sezioni: nome - percorso
|
||||||
if (is_array($value)) {
|
$sections = [
|
||||||
$path = $value['href'];
|
'css' => 'css',
|
||||||
} else {
|
'print' => 'css',
|
||||||
$path = $value;
|
'js' => 'js',
|
||||||
|
];
|
||||||
|
|
||||||
|
$assets = [];
|
||||||
|
|
||||||
|
foreach ($sections as $section => $dir) {
|
||||||
|
$result = array_unique(array_merge(self::$assets[$section], $config['assets'][$section]));
|
||||||
|
|
||||||
|
foreach ($result as $key => $element) {
|
||||||
|
$element = $paths[$dir].'/'.$element;
|
||||||
|
$element = str_replace('|lang|', $lang, $element);
|
||||||
|
|
||||||
|
$result[$key] = $element;
|
||||||
}
|
}
|
||||||
|
|
||||||
$path = $paths['css'].'/'.$path;
|
$assets[$section] = $result;
|
||||||
$path = str_replace('|lang|', $lang, $path);
|
|
||||||
|
|
||||||
if (is_array($value)) {
|
|
||||||
$value['href'] = $path;
|
|
||||||
} else {
|
|
||||||
$value = $path;
|
|
||||||
}
|
|
||||||
|
|
||||||
$css[$key] = $value;
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($js as $key => $value) {
|
|
||||||
$value = $paths['js'].'/'.$value;
|
|
||||||
$value = str_replace('|lang|', $lang, $value);
|
|
||||||
|
|
||||||
$js[$key] = $value;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// JS aggiuntivi per gli utenti connessi
|
// JS aggiuntivi per gli utenti connessi
|
||||||
if (Auth::check()) {
|
if (Auth::check()) {
|
||||||
$js[] = ROOTDIR.'/lib/functions.js';
|
$assets['js'][] = ROOTDIR.'/lib/functions.js';
|
||||||
$js[] = ROOTDIR.'/lib/init.js';
|
$assets['js'][] = ROOTDIR.'/lib/init.js';
|
||||||
}
|
}
|
||||||
|
|
||||||
return [
|
return $assets;
|
||||||
'css' => $css,
|
|
||||||
'js' => $js,
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -286,8 +286,28 @@ class Database extends Util\Singleton
|
||||||
*/
|
*/
|
||||||
public function fetchRow($query)
|
public function fetchRow($query)
|
||||||
{
|
{
|
||||||
|
return $this->fetchOne($query);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Restituisce il primo elemento della selezione, strutturato in base ai nomi degli attributi.
|
||||||
|
* Attenzione: aggiunge il LIMIT relativo a fine della query.
|
||||||
|
*
|
||||||
|
* @since 2.4
|
||||||
|
*
|
||||||
|
* @param string $query Query da eseguire
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function fetchOne($query)
|
||||||
|
{
|
||||||
|
if (!str_contains($query, 'LIMIT')) {
|
||||||
|
$query .= ' LIMIT 1';
|
||||||
|
}
|
||||||
|
|
||||||
$result = $this->fetchArray($query);
|
$result = $this->fetchArray($query);
|
||||||
if (is_array($result)) {
|
|
||||||
|
if (isset($result[0])) {
|
||||||
return $result[0];
|
return $result[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -390,7 +410,7 @@ class Database extends Util\Singleton
|
||||||
throw new UnexpectedValueException();
|
throw new UnexpectedValueException();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!is_array($array[0])) {
|
if (!isset($array[0]) || !is_array($array[0])) {
|
||||||
$array = [$array];
|
$array = [$array];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -204,7 +204,7 @@ class HTMLBuilder
|
||||||
unset($json[$key]);
|
unset($json[$key]);
|
||||||
}
|
}
|
||||||
// Sostituzione delle variabili $nome$ col relativo valore da database
|
// Sostituzione delle variabili $nome$ col relativo valore da database
|
||||||
elseif (preg_match_all('/\$([a-z0-9\_]+)\$/i', $json[$key], $m)) {
|
elseif (is_string($json[$key]) && preg_match_all('/\$([a-z0-9\_]+)\$/i', $json[$key], $m)) {
|
||||||
for ($i = 0; $i < count($m[0]); ++$i) {
|
for ($i = 0; $i < count($m[0]); ++$i) {
|
||||||
$record = isset($records[0][$m[1][$i]]) ? $records[0][$m[1][$i]] : '';
|
$record = isset($records[0][$m[1][$i]]) ? $records[0][$m[1][$i]] : '';
|
||||||
$json[$key] = str_replace($m[0][$i], prepareToField($record), $json[$key]);
|
$json[$key] = str_replace($m[0][$i], prepareToField($record), $json[$key]);
|
||||||
|
|
|
@ -48,7 +48,7 @@ class ChoicesHandler implements HandlerInterface
|
||||||
|
|
||||||
// Generazione del codice HTML
|
// Generazione del codice HTML
|
||||||
// "+ this.checked" rende il valore booleano un numero
|
// "+ this.checked" rende il valore booleano un numero
|
||||||
$result .= '
|
$result = '
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-addon">
|
<span class="input-group-addon">
|
||||||
<input |attr| onchange="$(this).parent().find(\'[type=hidden]\').val( + this.checked)">
|
<input |attr| onchange="$(this).parent().find(\'[type=hidden]\').val( + this.checked)">
|
||||||
|
|
|
@ -18,7 +18,7 @@ class DateHandler implements HandlerInterface
|
||||||
'min-date',
|
'min-date',
|
||||||
];
|
];
|
||||||
foreach ($detect as $attr) {
|
foreach ($detect as $attr) {
|
||||||
if ($values[$attr] == '-now-') {
|
if (isset($values[$attr]) && $values[$attr] == '-now-') {
|
||||||
$values[$attr] = date(\Intl\Formatter::getStandardFormats()['timestamp']);
|
$values[$attr] = date(\Intl\Formatter::getStandardFormats()['timestamp']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,8 +46,13 @@ class SelectHandler implements HandlerInterface
|
||||||
<option></option>';
|
<option></option>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Gestione del select dal formato JSON completo, convertito in array
|
||||||
|
if (is_array($values['values'])) {
|
||||||
|
$result .= $this->selectArray($values['values'], $values['value']);
|
||||||
|
}
|
||||||
|
|
||||||
// Gestione del select da query specifica (se il campo "values" è impostato a "query=SQL")
|
// Gestione del select da query specifica (se il campo "values" è impostato a "query=SQL")
|
||||||
if (preg_match_all('/^query=(.+?)$/', $values['values'], $matches)) {
|
elseif (preg_match_all('/^query=(.+?)$/', $values['values'], $matches)) {
|
||||||
$result .= $this->selectQuery($matches[1][0], $values['value']);
|
$result .= $this->selectQuery($matches[1][0], $values['value']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,11 +60,6 @@ class SelectHandler implements HandlerInterface
|
||||||
elseif (preg_match_all('/^list=(.+?)$/', $values['values'], $matches)) {
|
elseif (preg_match_all('/^list=(.+?)$/', $values['values'], $matches)) {
|
||||||
$result .= $this->selectList(json_decode('{'.$matches[1][0].'}', true), $values);
|
$result .= $this->selectList(json_decode('{'.$matches[1][0].'}', true), $values);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Gestione del select dal formato JSON completo, convertito in array
|
|
||||||
elseif (is_array($values['values'])) {
|
|
||||||
$result .= $this->selectArray($values['values'], $values['value']);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Impostazione del placeholder
|
// Impostazione del placeholder
|
||||||
|
@ -155,6 +155,8 @@ class SelectHandler implements HandlerInterface
|
||||||
*/
|
*/
|
||||||
protected function selectArray($array, $values)
|
protected function selectArray($array, $values)
|
||||||
{
|
{
|
||||||
|
$result = '';
|
||||||
|
|
||||||
$prev = '';
|
$prev = '';
|
||||||
foreach ($array as $element) {
|
foreach ($array as $element) {
|
||||||
if (!empty($element['optgroup'])) {
|
if (!empty($element['optgroup'])) {
|
||||||
|
|
|
@ -9,6 +9,8 @@ class ButtonManager implements ManagerInterface
|
||||||
{
|
{
|
||||||
public function manage($options)
|
public function manage($options)
|
||||||
{
|
{
|
||||||
|
$options['parameters'] = isset($options['parameters']) ? $options['parameters'] : null;
|
||||||
|
|
||||||
$result = '';
|
$result = '';
|
||||||
|
|
||||||
if (isset($options['id'])) {
|
if (isset($options['id'])) {
|
||||||
|
@ -111,6 +113,7 @@ class ButtonManager implements ManagerInterface
|
||||||
'id_module' => $options['id_module'],
|
'id_module' => $options['id_module'],
|
||||||
'id_record' => $options['id_record'],
|
'id_record' => $options['id_record'],
|
||||||
'class' => $options['class'],
|
'class' => $options['class'],
|
||||||
|
'parameters' => $options['parameters'],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
unset($list[$main]);
|
unset($list[$main]);
|
||||||
|
@ -131,6 +134,7 @@ class ButtonManager implements ManagerInterface
|
||||||
'id_module' => $options['id_module'],
|
'id_module' => $options['id_module'],
|
||||||
'id_record' => $options['id_record'],
|
'id_record' => $options['id_record'],
|
||||||
'class' => false,
|
'class' => false,
|
||||||
|
'parameters' => $options['parameters'],
|
||||||
]).'</li>';
|
]).'</li>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -144,6 +148,7 @@ class ButtonManager implements ManagerInterface
|
||||||
'id_module' => $options['id_module'],
|
'id_module' => $options['id_module'],
|
||||||
'id_record' => $options['id_record'],
|
'id_record' => $options['id_record'],
|
||||||
'class' => $options['class'],
|
'class' => $options['class'],
|
||||||
|
'parameters' => $options['parameters'],
|
||||||
]);
|
]);
|
||||||
} else {
|
} else {
|
||||||
$result = ' ';
|
$result = ' ';
|
||||||
|
|
|
@ -9,7 +9,6 @@ namespace HTMLBuilder\Manager;
|
||||||
*/
|
*/
|
||||||
class FileManager implements ManagerInterface
|
class FileManager implements ManagerInterface
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gestione "filelist_and_upload".
|
* Gestione "filelist_and_upload".
|
||||||
* Esempio: {( "name": "filelist_and_upload", "id_module": "2", "id_record": "1", "readonly": "false", "ajax": "true" )}.
|
* Esempio: {( "name": "filelist_and_upload", "id_module": "2", "id_record": "1", "readonly": "false", "ajax": "true" )}.
|
||||||
|
@ -18,18 +17,23 @@ class FileManager implements ManagerInterface
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public function manage($options)
|
public function manage($options)
|
||||||
{
|
{
|
||||||
$options['readonly'] = ($options['readonly']=='true') ? true : false;
|
$options['readonly'] = !empty($options['readonly']) ? true : false;
|
||||||
$options['ajax'] = isset($options['ajax']) ? $options['ajax'] : false;
|
$options['ajax'] = isset($options['ajax']) ? $options['ajax'] : false;
|
||||||
$options['showpanel'] = isset($options['showpanel']) ? $options['showpanel'] : true;
|
$options['showpanel'] = isset($options['showpanel']) ? $options['showpanel'] : true;
|
||||||
$options['label'] = isset($options['label']) ? $options['label'] : tr('Nuovo allegato').':';
|
$options['label'] = isset($options['label']) ? $options['label'] : tr('Nuovo allegato').':';
|
||||||
|
|
||||||
|
// Riferimento ad un plugin
|
||||||
|
$plugin = null;
|
||||||
|
if (!empty($options['id_plugin'])) {
|
||||||
|
$plugin = '_'.$options['id_plugin'];
|
||||||
|
}
|
||||||
|
|
||||||
$dbo = \Database::getConnection();
|
$dbo = \Database::getConnection();
|
||||||
|
|
||||||
$result .= '
|
$result = '
|
||||||
<div id="attachments_'.$options['id_record'].((!empty($options['id_plugin'])) ? '_'.$options['id_plugin'] : '').'" >
|
<div id="attachments_'.$options['id_record'].$plugin.'" >
|
||||||
<a name="attachments_'.rand().'"></a>';
|
<a name="attachments_'.rand().'"></a>';
|
||||||
|
|
||||||
if (!empty($options['showpanel'])) {
|
if (!empty($options['showpanel'])) {
|
||||||
|
@ -70,28 +74,25 @@ $result .= '
|
||||||
<i class="fa fa-download"></i>
|
<i class="fa fa-download"></i>
|
||||||
</a>';
|
</a>';
|
||||||
|
|
||||||
|
|
||||||
//Anteprime supportate dal browser
|
//Anteprime supportate dal browser
|
||||||
$extension = strtolower(end((explode('.', $r['original']))));
|
$extension = strtolower(end((explode('.', $r['original']))));
|
||||||
$supported_extensions = ['pdf', 'jpg', 'png', 'gif', 'jpeg', 'bmp'];
|
$supported_extensions = ['pdf', 'jpg', 'png', 'gif', 'jpeg', 'bmp'];
|
||||||
if (in_array($extension, $supported_extensions)) {
|
if (in_array($extension, $supported_extensions)) {
|
||||||
|
|
||||||
$result .= "<div class='hide' id='view-".$r['id']."' >";
|
$result .= "<div class='hide' id='view-".$r['id']."' >";
|
||||||
|
|
||||||
if ($extension == 'pdf') {
|
if ($extension == 'pdf') {
|
||||||
$result .= "
|
$result .= '
|
||||||
<iframe src=\"".ROOTDIR.'/files/'.\Modules::get($options['id_module'])['directory'].'/'.$r['filename']."\" frameborder=\"0\" scrolling=\"no\" width=\"100%\" height=\"550\"></iframe>";
|
<iframe src="'.ROOTDIR.'/files/'.\Modules::get($options['id_module'])['directory'].'/'.$r['filename'].'" frameborder="0" scrolling="no" width="100%" height="550"></iframe>';
|
||||||
} else {
|
} else {
|
||||||
$result .= "
|
$result .= '
|
||||||
<img src=\"".ROOTDIR.'/files/'.\Modules::get($options['id_module'])['directory'].'/'.$r['filename']."\" width=\"100%\" ></img>";
|
<img src="'.ROOTDIR.'/files/'.\Modules::get($options['id_module'])['directory'].'/'.$r['filename'].'" width="100%" ></img>';
|
||||||
}
|
}
|
||||||
|
|
||||||
$result .= "</div>";
|
$result .= '</div>';
|
||||||
|
|
||||||
$result .= " <button class=\"btn btn-sm btn-info\" data-target=\"#bs-popup\" type=\"button\" data-title=\"".htmlentities($r['nome'], ENT_QUOTES, "UTF-8")." <small><em>(".$r['filename'].")</em></small>\" data-href=\"#view-".$r['id']."\" ><i class='fa fa-eye'></i></button>";
|
|
||||||
|
|
||||||
|
$result .= ' <button class="btn btn-sm btn-info" data-target="#bs-popup" type="button" data-title="'.htmlentities($r['nome'], ENT_QUOTES, 'UTF-8').' <small><em>('.$r['filename'].')</em></small>" data-href="#view-'.$r['id']."\" ><i class='fa fa-eye'></i></button>";
|
||||||
} else {
|
} else {
|
||||||
$result .= " <button class=\"btn btn-sm btn-default\" title=\"".tr('Anteprima file non disponibile').".\" onclick=\"alert('".tr('Anteprima file di tipo "'.$extension.'" non supportata.')."');\" ><i class='fa fa-eye'></i></button>\n";
|
$result .= ' <button class="btn btn-sm btn-default" title="'.tr('Anteprima file non disponibile').".\" onclick=\"alert('".tr('Anteprima file di tipo "'.$extension.'" non supportata.')."');\" ><i class='fa fa-eye'></i></button>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$options['readonly']) {
|
if (!$options['readonly']) {
|
||||||
|
@ -121,25 +122,23 @@ $result .= '
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (!$options['readonly']) {
|
if (!$options['readonly']) {
|
||||||
|
|
||||||
// Form per l'upload di un nuovo file
|
// Form per l'upload di un nuovo file
|
||||||
$result .= '
|
$result .= '
|
||||||
<b>'.$options['label'].'</b>
|
<b>'.$options['label'].'</b>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
<div class="col-lg-4">
|
<div class="col-lg-4">
|
||||||
{[ "type": "text", "placeholder": "'.tr('Nome').'", "name": "nome_allegato", "id": "nome_allegato_'.$options['id_record'].((!empty($options['id_plugin'])) ? '_'.$options['id_plugin'] : '').'" ]}
|
{[ "type": "text", "placeholder": "'.tr('Nome').'", "name": "nome_allegato", "id": "nome_allegato_'.$options['id_record'].$plugin.'" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
{[ "type": "file", "placeholder": "'.tr('File').'", "name": "blob", "id": "blob_'.$options['id_record'].((!empty($options['id_plugin'])) ? '_'.$options['id_plugin'] : '').'", "required": 0 ]}
|
{[ "type": "file", "placeholder": "'.tr('File').'", "name": "blob", "id": "blob_'.$options['id_record'].$plugin.'", "required": 0 ]}
|
||||||
</div>';
|
</div>';
|
||||||
|
|
||||||
$result .= '
|
$result .= '
|
||||||
<div class="col-lg-2 text-right">
|
<div class="col-lg-2 text-right">
|
||||||
<button type="button" class="btn btn-success" onclick="saveFile_'.$options['id_record'].((!empty($options['id_plugin'])) ? '_'.$options['id_plugin'] : '').' ( $(this) );">
|
<button type="button" class="btn btn-success" onclick="saveFile_'.$options['id_record'].$plugin.' ( $(this) );">
|
||||||
<i class="fa fa-upload"></i> '.tr('Carica').'
|
<i class="fa fa-upload"></i> '.tr('Carica').'
|
||||||
</button>
|
</button>
|
||||||
</div>';
|
</div>';
|
||||||
|
@ -150,23 +149,31 @@ $result .= '
|
||||||
|
|
||||||
$result .= '
|
$result .= '
|
||||||
<script>
|
<script>
|
||||||
function saveFile_'.$options['id_record'].((!empty($options['id_plugin'])) ? '_'.$options['id_plugin'] : '').' (btn){
|
function saveFile_'.$options['id_record'].$plugin.' (btn){
|
||||||
if(!$("#blob_'.$options['id_record'].((!empty($options['id_plugin'])) ? '_'.$options['id_plugin'] : '').'").val()){
|
if(!$("#blob_'.$options['id_record'].$plugin.'").val()){
|
||||||
swal("'.addslashes(tr('Attenzione!')).'", "'.addslashes(tr('Devi selezionare un file con il tasto "Sfoglia"')).'...", "warning");
|
swal("'.addslashes(tr('Attenzione!')).'", "'.addslashes(tr('Devi selezionare un file con il tasto "Sfoglia"')).'...", "warning");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_data = $("#blob_'.$options['id_record'].((!empty($options['id_plugin'])) ? '_'.$options['id_plugin'] : '').'").prop("files")[0];
|
var file_data = $("#blob_'.$options['id_record'].$plugin.'").prop("files")[0];
|
||||||
|
|
||||||
var form_data = new FormData();
|
var form_data = new FormData();
|
||||||
|
|
||||||
form_data.append("blob", file_data);
|
form_data.append("blob", file_data);
|
||||||
form_data.append("nome_allegato", $("input[id=nome_allegato_'.$options['id_record'].((!empty($options['id_plugin'])) ? '_'.$options['id_plugin'] : '').']").val());
|
form_data.append("nome_allegato", $("input[id=nome_allegato_'.$options['id_record'].$plugin.']").val());
|
||||||
form_data.append("op","link_file");
|
form_data.append("op","link_file");
|
||||||
form_data.append("id_record","'.$options['id_record'].'");
|
form_data.append("id_record","'.$options['id_record'].'");
|
||||||
form_data.append("id_module", "'.$options['id_module'].'");
|
form_data.append("id_module", "'.$options['id_module'].'");';
|
||||||
form_data.append("id_plugin","'.$options['id_plugin'].'");
|
|
||||||
|
if (!empty($options['id_plugin'])) {
|
||||||
|
$result .= '
|
||||||
|
form_data.append("id_plugin","'.$options['id_plugin'].'");';
|
||||||
|
}
|
||||||
|
|
||||||
|
$result .= '
|
||||||
|
|
||||||
prev_html = btn.html();
|
prev_html = btn.html();
|
||||||
btn.html("<i class=\"fa fa-spinner fa-pulse fa-fw\"></i>'.tr("Attendere...").'");
|
btn.html("<i class=\"fa fa-spinner fa-pulse fa-fw\"></i>'.tr('Attendere...').'");
|
||||||
btn.prop("disabled", true);
|
btn.prop("disabled", true);
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
|
@ -182,8 +189,8 @@ $result .= '
|
||||||
btn.html(prev_html);
|
btn.html(prev_html);
|
||||||
btn.prop("disabled", false);';
|
btn.prop("disabled", false);';
|
||||||
|
|
||||||
if (($options['ajax'])) {
|
if ($options['ajax']) {
|
||||||
$result .= '$("#attachments_'.$options['id_record'].((!empty($options['id_plugin'])) ? '_'.$options['id_plugin'] : '').'").load( globals.rootdir + "/ajax.php?op=list_attachments&id_module='.$options['id_module'].'&id_record='.$options['id_record'].((!empty($options['id_plugin'])) ? '&id_plugin='.$options['id_plugin'].'#tab_'.$options['id_plugin'] : '').'" );';
|
$result .= '$("#attachments_'.$options['id_record'].$plugin.'").load( globals.rootdir + "/ajax.php?op=list_attachments&id_module='.$options['id_module'].'&id_record='.$options['id_record'].((!empty($options['id_plugin'])) ? '&id_plugin='.$options['id_plugin'].'#tab_'.$options['id_plugin'] : '').'" );';
|
||||||
} else {
|
} else {
|
||||||
$result .= 'location.href = globals.rootdir + "/editor.php?id_module='.$options['id_module'].'&id_record='.$options['id_record'].((!empty($options['id_plugin'])) ? '#tab_'.$options['id_plugin'] : '').'";';
|
$result .= 'location.href = globals.rootdir + "/editor.php?id_module='.$options['id_module'].'&id_record='.$options['id_record'].((!empty($options['id_plugin'])) ? '#tab_'.$options['id_plugin'] : '').'";';
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,12 +81,13 @@ class WidgetManager implements ManagerInterface
|
||||||
$value = null;
|
$value = null;
|
||||||
if (!empty($query)) {
|
if (!empty($query)) {
|
||||||
$value = $database->fetchArray($query)[0]['dato'];
|
$value = $database->fetchArray($query)[0]['dato'];
|
||||||
if (!preg_match('/\\d/', $value))
|
if (!preg_match('/\\d/', $value)) {
|
||||||
$value = '-';
|
$value = '-';
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Generazione del codice HTML
|
// Generazione del codice HTML
|
||||||
$result .= '
|
$result = '
|
||||||
<button type="button" class="close" onclick="if(confirm(\'Disabilitare questo widget?\')) { $.post( \''.ROOTDIR.'/modules/aggiornamenti/actions.php?id_module='.$widget['id_module'].'\', { op: \'disable_widget\', id: \''.$widget['id'].'\' }, function(response){ location.reload(); }); };" >
|
<button type="button" class="close" onclick="if(confirm(\'Disabilitare questo widget?\')) { $.post( \''.ROOTDIR.'/modules/aggiornamenti/actions.php?id_module='.$widget['id_module'].'\', { op: \'disable_widget\', id: \''.$widget['id'].'\' }, function(response){ location.reload(); }); };" >
|
||||||
<span aria-hidden="true">×</span><span class="sr-only">'.tr('Chiudi').'</span>
|
<span aria-hidden="true">×</span><span class="sr-only">'.tr('Chiudi').'</span>
|
||||||
</button>';
|
</button>';
|
||||||
|
|
|
@ -12,8 +12,8 @@ class HTMLWrapper implements WrapperInterface
|
||||||
$result = '';
|
$result = '';
|
||||||
|
|
||||||
// Valori particolari
|
// Valori particolari
|
||||||
$values['icon-before'] = $this->parser($values, $values['icon-before']);
|
$values['icon-before'] = isset($values['icon-before']) ? $this->parser($values, $values['icon-before']) : null;
|
||||||
$values['icon-after'] = $this->parser($values, $values['icon-after']);
|
$values['icon-after'] = isset($values['icon-after']) ? $this->parser($values, $values['icon-after']) : null;
|
||||||
|
|
||||||
// Generazione dell'etichetta
|
// Generazione dell'etichetta
|
||||||
if (!empty($values['label'])) {
|
if (!empty($values['label'])) {
|
||||||
|
@ -100,17 +100,15 @@ class HTMLWrapper implements WrapperInterface
|
||||||
|
|
||||||
$id_module = $pieces[1];
|
$id_module = $pieces[1];
|
||||||
|
|
||||||
$extra = empty($pieces[2]) ? '' : '&'.$pieces[2];
|
$get = !empty($pieces[2]) ? '&'.$pieces[2] : null;
|
||||||
|
$classes = !empty($pieces[3]) ? ' '.$pieces[3] : null;
|
||||||
$classes = empty($pieces[3]) ? '' : ' '.$pieces[3];
|
$extras = !empty($pieces[4]) ? ' '.$pieces[4] : null;
|
||||||
|
|
||||||
$extras = empty($pieces[4]) ? '' : ' '.$pieces[4];
|
|
||||||
|
|
||||||
$module = \Modules::get($id_module);
|
$module = \Modules::get($id_module);
|
||||||
|
|
||||||
if (in_array($module['permessi'], ['r', 'rw'])) {
|
if (in_array($module['permessi'], ['r', 'rw'])) {
|
||||||
$result = '
|
$result = '
|
||||||
<button '.$extras.' data-href="'.ROOTDIR.'/add.php?id_module='.$id_module.$extra.'&select='.$values['id'].'&ajax=yes" data-target="#bs-popup2" data-toggle="modal" data-title="'.tr('Aggiungi').'" type="button" class="btn'.$classes.'">
|
<button '.$extras.' data-href="'.ROOTDIR.'/add.php?id_module='.$id_module.$get.'&select='.$values['id'].'&ajax=yes" data-target="#bs-popup2" data-toggle="modal" data-title="'.tr('Aggiungi').'" type="button" class="btn'.$classes.'">
|
||||||
<i class="fa fa-plus"></i>
|
<i class="fa fa-plus"></i>
|
||||||
</button>';
|
</button>';
|
||||||
}
|
}
|
||||||
|
@ -124,7 +122,7 @@ class HTMLWrapper implements WrapperInterface
|
||||||
|
|
||||||
$pieces = explode('|', $string);
|
$pieces = explode('|', $string);
|
||||||
$type = $pieces[1];
|
$type = $pieces[1];
|
||||||
$extra = $pieces[3];
|
$extra = !empty($pieces[3]) ? $pieces[3] : null;
|
||||||
|
|
||||||
if ($type == 'untprc') {
|
if ($type == 'untprc') {
|
||||||
$choices = [
|
$choices = [
|
||||||
|
|
|
@ -54,9 +54,7 @@ class Import
|
||||||
*/
|
*/
|
||||||
public static function get($module)
|
public static function get($module)
|
||||||
{
|
{
|
||||||
if (!is_numeric($module) && !empty(self::getModules()[$module])) {
|
$module = Modules::get($module)['id'];
|
||||||
$module = self::getModules()[$module];
|
|
||||||
}
|
|
||||||
|
|
||||||
return self::getImports()[$module];
|
return self::getImports()[$module];
|
||||||
}
|
}
|
||||||
|
|
|
@ -144,6 +144,7 @@ class Formatter
|
||||||
*/
|
*/
|
||||||
public function parseNumber($value)
|
public function parseNumber($value)
|
||||||
{
|
{
|
||||||
|
$sign = null;
|
||||||
if ($value[0] == '+' || $value[0] == '-') {
|
if ($value[0] == '+' || $value[0] == '-') {
|
||||||
$sign = $value[0];
|
$sign = $value[0];
|
||||||
$value = substr($value, 1);
|
$value = substr($value, 1);
|
||||||
|
|
17
src/Mail.php
17
src/Mail.php
|
@ -12,6 +12,7 @@ class Mail extends PHPMailer\PHPMailer\PHPMailer
|
||||||
|
|
||||||
/** @var array Elenco dei template email disponibili */
|
/** @var array Elenco dei template email disponibili */
|
||||||
protected static $templates = [];
|
protected static $templates = [];
|
||||||
|
protected static $references = [];
|
||||||
/** @var array Elenco dei template email per modulo */
|
/** @var array Elenco dei template email per modulo */
|
||||||
protected static $modules = [];
|
protected static $modules = [];
|
||||||
|
|
||||||
|
@ -80,18 +81,20 @@ class Mail extends PHPMailer\PHPMailer\PHPMailer
|
||||||
|
|
||||||
$templates = [];
|
$templates = [];
|
||||||
|
|
||||||
|
// Inizializzazione dei riferimenti
|
||||||
|
foreach (Modules::getModules() as $module) {
|
||||||
|
self::$modules[$module['id']] = [];
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($results as $result) {
|
foreach ($results as $result) {
|
||||||
$templates[$result['id']] = $result;
|
$templates[$result['id']] = $result;
|
||||||
$templates[$result['name']] = $result['id'];
|
$references[$result['name']] = $result['id'];
|
||||||
|
|
||||||
if (!isset(self::$modules[$result['id_module']])) {
|
|
||||||
self::$modules[$result['id_module']] = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
self::$modules[$result['id_module']][] = $result['id'];
|
self::$modules[$result['id_module']][] = $result['id'];
|
||||||
}
|
}
|
||||||
|
|
||||||
self::$templates = $templates;
|
self::$templates = $templates;
|
||||||
|
self::$references = $references;
|
||||||
}
|
}
|
||||||
|
|
||||||
return self::$templates;
|
return self::$templates;
|
||||||
|
@ -106,8 +109,8 @@ class Mail extends PHPMailer\PHPMailer\PHPMailer
|
||||||
*/
|
*/
|
||||||
public static function getTemplate($template)
|
public static function getTemplate($template)
|
||||||
{
|
{
|
||||||
if (!is_numeric($template) && !empty(self::getTemplates()[$template])) {
|
if (!is_numeric($template) && !empty(self::$references[$template])) {
|
||||||
$template = self::getTemplates()[$template];
|
$template = self::$references[$template];
|
||||||
}
|
}
|
||||||
|
|
||||||
return self::getTemplates()[$template];
|
return self::getTemplates()[$template];
|
||||||
|
|
|
@ -14,6 +14,7 @@ class Modules
|
||||||
|
|
||||||
/** @var array Elenco dei moduli disponibili */
|
/** @var array Elenco dei moduli disponibili */
|
||||||
protected static $modules = [];
|
protected static $modules = [];
|
||||||
|
protected static $references = [];
|
||||||
/** @var array Elenco delle condizioni aggiuntive disponibili */
|
/** @var array Elenco delle condizioni aggiuntive disponibili */
|
||||||
protected static $additionals = [];
|
protected static $additionals = [];
|
||||||
/** @var array Elenco dei segmenti disponibili */
|
/** @var array Elenco dei segmenti disponibili */
|
||||||
|
@ -61,11 +62,12 @@ class Modules
|
||||||
unset($result['idmodule']);
|
unset($result['idmodule']);
|
||||||
|
|
||||||
$modules[$result['id']] = $result;
|
$modules[$result['id']] = $result;
|
||||||
$modules[$result['name']] = $result['id'];
|
$references[$result['name']] = $result['id'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self::$modules = $modules;
|
self::$modules = $modules;
|
||||||
|
self::$references = $references;
|
||||||
}
|
}
|
||||||
|
|
||||||
return self::$modules;
|
return self::$modules;
|
||||||
|
@ -80,6 +82,7 @@ class Modules
|
||||||
{
|
{
|
||||||
// Individuazione dei moduli con permesso di accesso
|
// Individuazione dei moduli con permesso di accesso
|
||||||
$modules = self::getModules();
|
$modules = self::getModules();
|
||||||
|
|
||||||
foreach ($modules as $key => $module) {
|
foreach ($modules as $key => $module) {
|
||||||
if ($module['permessi'] == '-') {
|
if ($module['permessi'] == '-') {
|
||||||
unset($modules[$key]);
|
unset($modules[$key]);
|
||||||
|
@ -98,8 +101,8 @@ class Modules
|
||||||
*/
|
*/
|
||||||
public static function get($module)
|
public static function get($module)
|
||||||
{
|
{
|
||||||
if (!is_numeric($module) && !empty(self::getModules()[$module])) {
|
if (!is_numeric($module) && !empty(self::$references[$module])) {
|
||||||
$module = self::getModules()[$module];
|
$module = self::$references[$module];
|
||||||
}
|
}
|
||||||
|
|
||||||
return self::getModules()[$module];
|
return self::getModules()[$module];
|
||||||
|
@ -129,7 +132,7 @@ class Modules
|
||||||
$module = self::get($module);
|
$module = self::get($module);
|
||||||
$user = Auth::user();
|
$user = Auth::user();
|
||||||
|
|
||||||
if (!isset(self::$additionals[$module])) {
|
if (!isset(self::$additionals[$module['id']])) {
|
||||||
$database = Database::getConnection();
|
$database = Database::getConnection();
|
||||||
|
|
||||||
$additionals['WHR'] = [];
|
$additionals['WHR'] = [];
|
||||||
|
@ -337,7 +340,7 @@ class Modules
|
||||||
$options = ($element['options2'] != '') ? $element['options2'] : $element['options'];
|
$options = ($element['options2'] != '') ? $element['options2'] : $element['options'];
|
||||||
$link = ($options != '' && $options != 'menu') ? ROOTDIR.'/controller.php?id_module='.$element['id'] : 'javascript:;';
|
$link = ($options != '' && $options != 'menu') ? ROOTDIR.'/controller.php?id_module='.$element['id'] : 'javascript:;';
|
||||||
$title = $element['title'];
|
$title = $element['title'];
|
||||||
$target = ($element['new'] == 1) ? '_blank' : '_self';
|
$target = '_self'; // $target = ($element['new'] == 1) ? '_blank' : '_self';
|
||||||
$active = ($actual == $element['name']);
|
$active = ($actual == $element['name']);
|
||||||
$show = (self::getPermission($element['id']) != '-' && !empty($element['enabled'])) ? true : false;
|
$show = (self::getPermission($element['id']) != '-' && !empty($element['enabled'])) ? true : false;
|
||||||
|
|
||||||
|
|
|
@ -26,16 +26,17 @@ class Prints
|
||||||
|
|
||||||
$prints = [];
|
$prints = [];
|
||||||
|
|
||||||
|
// Inizializzazione dei riferimenti
|
||||||
|
foreach (Modules::getModules() as $module) {
|
||||||
|
self::$modules[$module['id']] = [];
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($results as $result) {
|
foreach ($results as $result) {
|
||||||
$result['full_directory'] = DOCROOT.'/templates/'.$result['directory'];
|
$result['full_directory'] = DOCROOT.'/templates/'.$result['directory'];
|
||||||
|
|
||||||
$prints[$result['id']] = $result;
|
$prints[$result['id']] = $result;
|
||||||
$prints[$result['name']] = $result['id'];
|
$prints[$result['name']] = $result['id'];
|
||||||
|
|
||||||
if (!isset(self::$modules[$result['id_module']])) {
|
|
||||||
self::$modules[$result['id_module']] = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
self::$modules[$result['id_module']][] = $result['id'];
|
self::$modules[$result['id_module']][] = $result['id'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue