Rimozione di vari warning
This commit is contained in:
parent
5a8deafa01
commit
893d1b6081
|
@ -102,7 +102,7 @@ if (!empty($result_query) && $result_query != 'menu' && $result_query != 'custom
|
|||
|
||||
// Query effettiva
|
||||
$query = str_replace_once('SELECT', 'SELECT SQL_CALC_FOUND_ROWS', $result_query);
|
||||
|
||||
|
||||
$rs = $dbo->fetchArray($query);
|
||||
|
||||
// Conteggio dei record filtrati
|
||||
|
@ -187,7 +187,7 @@ if (!empty($result_query) && $result_query != 'menu' && $result_query != 'custom
|
|||
|
||||
// Colore del testo
|
||||
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
|
||||
|
|
5
bug.php
5
bug.php
|
@ -72,7 +72,6 @@ if (filter('op') == 'send') {
|
|||
}
|
||||
|
||||
$pageTitle = tr('Bug');
|
||||
$jscript_modules[] = App::getPaths()['js'].'/ckeditor/ckeditor.js';
|
||||
|
||||
if (file_exists($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')) {
|
||||
include $docroot.'/include/custom/bottom.php';
|
||||
|
|
|
@ -41,5 +41,6 @@ $formatter = [
|
|||
// Ulteriori file CSS e JS da includere
|
||||
$assets = [
|
||||
'css' => [],
|
||||
'print' => [],
|
||||
'js' => [],
|
||||
];
|
||||
|
|
27
core.php
27
core.php
|
@ -65,7 +65,7 @@ if (!API::isAPIRequest()) {
|
|||
|
||||
// Impostazioni di 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);
|
||||
|
||||
// File di log ordinato in base alla data
|
||||
|
@ -178,21 +178,13 @@ if (!API::isAPIRequest()) {
|
|||
register_shutdown_function('translateTemplate');
|
||||
|
||||
// Impostazione della sessione di base
|
||||
$_SESSION['infos'] = array_unique((array) $_SESSION['infos']);
|
||||
$_SESSION['warnings'] = array_unique((array) $_SESSION['warnings']);
|
||||
$_SESSION['errors'] = array_unique((array) $_SESSION['errors']);
|
||||
$_SESSION['infos'] = isset($_SESSION['infos']) ? array_unique($_SESSION['infos']) : [];
|
||||
$_SESSION['warnings'] = isset($_SESSION['warnings']) ? array_unique($_SESSION['warnings']) : [];
|
||||
$_SESSION['errors'] = isset($_SESSION['errors']) ? array_unique($_SESSION['errors']) : [];
|
||||
|
||||
// Impostazione del tema grafico di default
|
||||
$theme = !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) {
|
||||
$id_module = filter('id_module');
|
||||
$id_record = filter('id_record');
|
||||
|
@ -211,11 +203,6 @@ if (!API::isAPIRequest()) {
|
|||
$_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();
|
||||
|
||||
if (!empty($id_module)) {
|
||||
|
@ -223,6 +210,12 @@ if (!API::isAPIRequest()) {
|
|||
|
||||
$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);
|
||||
}
|
||||
|
||||
|
|
|
@ -33,11 +33,16 @@ echo '<!DOCTYPE html>
|
|||
|
||||
<link href="'.$paths['img'].'/favicon.png" rel="icon" type="image/x-icon" />';
|
||||
|
||||
foreach ($css_modules as $style) {
|
||||
$style = (is_array($style)) ? $style : ['href' => $style, 'media' => 'all'];
|
||||
|
||||
// CSS
|
||||
foreach (App::getAssets()['css'] as $style) {
|
||||
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()) {
|
||||
|
@ -128,7 +133,8 @@ if (Auth::check()) {
|
|||
</script>';
|
||||
}
|
||||
|
||||
foreach ($jscript_modules as $js) {
|
||||
// JS
|
||||
foreach (App::getAssets()['js'] as $js) {
|
||||
echo '
|
||||
<script type="text/javascript" charset="utf-8" src="'.$js.'"></script>';
|
||||
}
|
||||
|
|
10
mail.php
10
mail.php
|
@ -131,8 +131,11 @@ echo '
|
|||
<script>
|
||||
var emails = [];
|
||||
|
||||
$(document).ready(function(){
|
||||
$(document).ready(function(){';
|
||||
|
||||
// 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) {
|
||||
emails = JSON.parse(response);
|
||||
|
||||
|
@ -144,7 +147,10 @@ echo '
|
|||
$(this).autocomplete("search", $(this).val())
|
||||
});;
|
||||
});
|
||||
});
|
||||
});';
|
||||
}
|
||||
|
||||
echo '
|
||||
|
||||
CKEDITOR.replace("body", {
|
||||
toolbar: globals.ckeditorToolbar,
|
||||
|
|
|
@ -4,9 +4,7 @@ include_once __DIR__.'/../../../core.php';
|
|||
|
||||
switch ($resource) {
|
||||
case 'clienti':
|
||||
//$citta_cliente = ", IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')'))";
|
||||
|
||||
$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";
|
||||
$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';
|
||||
|
||||
foreach ($elements as $element) {
|
||||
$filter[] = 'an_anagrafiche.idanagrafica='.prepare($element);
|
||||
|
|
|
@ -5,7 +5,7 @@ include_once __DIR__.'/../../core.php';
|
|||
/**
|
||||
* 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();
|
||||
|
||||
|
@ -13,8 +13,12 @@ function add_movimento_magazzino($idarticolo, $qta, $array = [], $descrizone = '
|
|||
return false;
|
||||
}
|
||||
|
||||
//Info Articolo
|
||||
$rs_art = $dbo->fetchArray("SELECT * FROM mg_articoli WHERE id='".$idarticolo."'");
|
||||
$nome = null;
|
||||
$tipo = null;
|
||||
$numero = null;
|
||||
|
||||
// Informazioni articolo
|
||||
$articolo = $dbo->fetchOne('SELECT * FROM mg_articoli WHERE id='.prepare($id_articolo));
|
||||
$manuale = 0;
|
||||
|
||||
// Ddt
|
||||
|
@ -22,7 +26,7 @@ function add_movimento_magazzino($idarticolo, $qta, $array = [], $descrizone = '
|
|||
$rs = $dbo->fetchArray('SELECT numero, numero_esterno, dt_tipiddt.descrizione AS tipo, dt_tipiddt.dir FROM dt_ddt LEFT JOIN dt_tipiddt ON dt_tipiddt.id = dt_ddt.idtipoddt WHERE dt_ddt.id='.prepare($array['idddt']));
|
||||
$numero = (!empty($rs[0]['numero_esterno'])) ? $rs[0]['numero_esterno'] : $rs[0]['numero'];
|
||||
$tipo = strtolower($rs[0]['tipo']);
|
||||
|
||||
|
||||
$rs_data = $dbo->fetchArray("SELECT data FROM dt_ddt WHERE id='".$array['idddt']."'");
|
||||
$data = $rs_data[0]['data'];
|
||||
}
|
||||
|
@ -32,7 +36,7 @@ function add_movimento_magazzino($idarticolo, $qta, $array = [], $descrizone = '
|
|||
$rs = $dbo->fetchArray('SELECT numero, numero_esterno, co_tipidocumento.descrizione AS tipo, co_tipidocumento.dir FROM co_documenti LEFT JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento WHERE co_documenti.id='.prepare($array['iddocumento']));
|
||||
$numero = (!empty($rs[0]['numero_esterno'])) ? $rs[0]['numero_esterno'] : $rs[0]['numero'];
|
||||
$tipo = strtolower($rs[0]['tipo']);
|
||||
|
||||
|
||||
$rs_data = $dbo->fetchArray("SELECT data FROM co_documenti WHERE id='".$array['iddocumento']."'");
|
||||
$data = $rs_data[0]['data'];
|
||||
}
|
||||
|
@ -54,20 +58,18 @@ function add_movimento_magazzino($idarticolo, $qta, $array = [], $descrizone = '
|
|||
|
||||
$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');
|
||||
}
|
||||
|
||||
// Intervento
|
||||
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'];
|
||||
$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_');
|
||||
$numero = $codice_intervento;
|
||||
|
||||
}
|
||||
|
||||
// Manuale
|
||||
|
@ -79,8 +81,8 @@ function add_movimento_magazzino($idarticolo, $qta, $array = [], $descrizone = '
|
|||
if (empty($movimento)) {
|
||||
$movimento = ($qta > 0) ? tr('Carico magazzino') : tr('Scarico magazzino');
|
||||
}
|
||||
|
||||
if($data==''){
|
||||
|
||||
if ($data == '') {
|
||||
$data = date('Y-m-d');
|
||||
}
|
||||
}
|
||||
|
@ -99,16 +101,16 @@ function add_movimento_magazzino($idarticolo, $qta, $array = [], $descrizone = '
|
|||
|
||||
$new = ($qta > 0 ? '+' : '').$qta;
|
||||
|
||||
//Movimento il magazzino solo se l'articolo non è un servizio
|
||||
if ($rs_art[0]['servizio'] == 0) {
|
||||
// Movimento il magazzino solo se l'articolo non è un servizio
|
||||
if ($articolo['servizio'] == 0) {
|
||||
// Movimentazione effettiva
|
||||
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
|
||||
$dbo->insert('mg_movimenti', array_merge($array, [
|
||||
'idarticolo' => $idarticolo,
|
||||
'idarticolo' => $id_articolo,
|
||||
'qta' => $qta,
|
||||
'movimento' => $movimento,
|
||||
'data' => $data,
|
||||
|
|
|
@ -11,9 +11,9 @@ echo '
|
|||
</div>
|
||||
<div class="panel-body">';
|
||||
|
||||
$search_lotto = $get['search_lotto'];
|
||||
$search_serial = $get['search_serial'];
|
||||
$search_altro = $get['search_altro'];
|
||||
$search_lotto = get('search_lotto');
|
||||
$search_serial = get('search_serial');
|
||||
$search_altro = get('search_altro');
|
||||
|
||||
// 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));
|
||||
|
|
|
@ -418,7 +418,7 @@ if (!empty($fatture)) {
|
|||
|
||||
?>
|
||||
|
||||
{( "name": "filelist_and_upload", "id_module": "<?php echo $id_module; ?>", "id_record": "<?php echo $id_record; ?>", "ajax":"true" )}
|
||||
{( "name": "filelist_and_upload", "id_module": "<?php echo $id_module; ?>", "id_record": "<?php echo $id_record; ?>", "ajax": "true" )}
|
||||
|
||||
<a class="btn btn-danger ask" data-backto="record-list">
|
||||
<i class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
|
||||
|
|
|
@ -10,45 +10,37 @@ $disabled = '';
|
|||
$hide = 'hide';
|
||||
$op = 'edit-pianifica';
|
||||
|
||||
|
||||
//mi ricavo informazioni del contratto
|
||||
$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'];
|
||||
|
||||
$list = '\"1\":\"'.tr('Pianificare a partire da oggi ').date('d/m/Y').'\"';
|
||||
|
||||
|
||||
//promemoria esistente
|
||||
if (!empty($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;
|
||||
$rsp = $dbo->fetchArray($qp);
|
||||
if (!empty($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;
|
||||
$rsp = $dbo->fetchArray($qp);
|
||||
|
||||
$data_richiesta = readDate($rsp[0]['data_richiesta']);
|
||||
$matricoleimpianti = trim($rsp[0]['idimpianti']);
|
||||
$idsede = $rsp[0]['idsede'];
|
||||
$tempo_standard = $rsp[0]['tempo_standard'];
|
||||
|
||||
$readonly = 'readonly';
|
||||
$hide = '';
|
||||
$list .= ', \"0\":\"'.tr('Pianificare a partire da questo promemoria ').$data_richiesta.'\"';
|
||||
|
||||
$op = 'pianificazione';
|
||||
|
||||
|
||||
$data_richiesta = readDate($rsp[0]['data_richiesta']);
|
||||
$matricoleimpianti = trim($rsp[0]['idimpianti']);
|
||||
$idsede = $rsp[0]['idsede'];
|
||||
$tempo_standard = $rsp[0]['tempo_standard'];
|
||||
|
||||
$readonly = 'readonly';
|
||||
$hide = '';
|
||||
$list .= ', \"0\":\"'.tr('Pianificare a partire da questo promemoria ').$data_richiesta.'\"';
|
||||
|
||||
$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
|
||||
(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 : '';
|
||||
|
||||
|
||||
|
||||
//orari inizio fine interventi (8h standard)
|
||||
$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 '
|
||||
<form id="add_form" action="'.$rootdir.'/editor.php?id_module='.Modules::get('Contratti')['id'].'&id_record='.$id_record.'&idcontratto_riga='.$idcontratto_riga.'" method="post">
|
||||
|
@ -56,7 +48,7 @@ echo '
|
|||
<input type="hidden" name="backto" value="record-edit">
|
||||
<input type="hidden" name="op" value="'.$op.'">';
|
||||
|
||||
echo '
|
||||
echo '
|
||||
<!-- DATI PROMEMORIA? -->
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
|
@ -64,34 +56,34 @@ echo '
|
|||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "date", "label": "'.tr('Data promemoria').'", "name": "data_richiesta", "required": 1, "value": "'.$data_richiesta.'", "extra":"'.$readonly.'" ]}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "'.tr('Tipo intervento').'", "name": "idtipointervento", "required": 1, "id": "idtipointervento_", "values": "query=SELECT idtipointervento AS id, descrizione FROM in_tipiintervento ORDER BY descrizione ASC", "value": "'.$rsp[0]['idtipointervento'].'", "extra": "'.$readonly.'", "ajax-source": "tipiintervento" ]}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "multiple": "1", "label": "'.tr('Impianti').'", "name": "idimpianti[]", "values": "query=SELECT my_impianti.id AS id, my_impianti.nome AS descrizione FROM my_impianti_contratti INNER JOIN my_impianti ON my_impianti_contratti.idimpianto = my_impianti.id WHERE my_impianti_contratti.idcontratto = '.$id_record.' ORDER BY descrizione", "value": "'.$matricoleimpianti.'", "extra":"'.$readonly.'" ]}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "'.tr('Sede').'", "name": "idsede_c", "values": "query=SELECT 0 AS id, \'Sede legale\' AS descrizione UNION SELECT id, CONCAT( CONCAT_WS( \' (\', CONCAT_WS(\', \', `nomesede`, `citta`), `indirizzo` ), \')\') AS descrizione FROM an_sedi WHERE idanagrafica='.$idanagrafica.'", "value": "'.$idsede.'", "extra":"'.$readonly.'" ]}
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-12">
|
||||
|
@ -99,10 +91,9 @@ echo '
|
|||
</div>
|
||||
|
||||
</div>';
|
||||
|
||||
|
||||
?>
|
||||
|
||||
|
||||
<!-- ARTICOLI -->
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
|
@ -115,16 +106,16 @@ echo '
|
|||
</div>
|
||||
|
||||
<?php if (empty($readonly)) {
|
||||
?>
|
||||
?>
|
||||
<button type="button" class="btn btn-primary" data-title="<?php echo tr('Aggiungi articolo'); ?>" data-target="#bs-popup2" data-toggle="modal" data-href="<?php echo $rootdir; ?>/modules/contratti/plugins/add_articolo.php?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>&idcontratto_riga=<?php echo $idcontratto_riga; ?>" ><i class="fa fa-plus"></i> <?php echo tr('Aggiungi articolo'); ?>...</button>
|
||||
<?php
|
||||
} ?>
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- SPESE AGGIUNTIVE -->
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
|
@ -133,23 +124,23 @@ echo '
|
|||
|
||||
<div class="panel-body">
|
||||
<div id="righe">
|
||||
<?php include $docroot.'/modules/contratti/plugins/ajax_righe.php' ?>
|
||||
<?php include $docroot.'/modules/contratti/plugins/ajax_righe.php'; ?>
|
||||
</div>
|
||||
|
||||
<?php if (empty($readonly)) {
|
||||
?>
|
||||
?>
|
||||
<button type="button" class="btn btn-primary" data-title="<?php echo tr('Aggiungi altre spese'); ?>" data-target="#bs-popup2" data-toggle="modal" data-href="<?php echo $rootdir; ?>/modules/contratti/plugins/add_righe.php?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>&idcontratto_riga=<?php echo $idcontratto_riga; ?>"><i class="fa fa-plus"></i> <?php echo tr('Aggiungi altre spese'); ?>...</button>
|
||||
<?php
|
||||
} ?>
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
|
||||
|
||||
<?php
|
||||
|
||||
echo '
|
||||
|
||||
{( "name": "filelist_and_upload", "id_record": "'.$idcontratto_riga.'", "id_plugin": "'.$id_plugin.'", "ajax":"true", '.((!empty($readonly)) ? '"readonly":"true"' : '"readonly":"false"' ). ' )}
|
||||
|
||||
|
||||
{( "name": "filelist_and_upload", "id_record": "'.$idcontratto_riga.'", "id_plugin": "'.$id_plugin.'", "ajax": "true", '.((!empty($readonly)) ? '"readonly": "true"' : '"readonly":"false"').' )}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -159,7 +150,6 @@ echo '
|
|||
|
||||
';
|
||||
|
||||
|
||||
echo '
|
||||
<!-- PIANIFICAZIONE CICLICA? -->
|
||||
<div class="panel panel-primary '.$hide.'">
|
||||
|
@ -168,17 +158,16 @@ echo '
|
|||
</div>
|
||||
|
||||
<div class="panel-body">';
|
||||
|
||||
|
||||
|
||||
echo '<div class="row">
|
||||
<div class="col-md-2">
|
||||
{[ "type": "number", "label": "'.tr('Intervallo').'", "name": "intervallo", "class": "", "decimals": 0, "required": 1, "icon-after": "GG", "min-value": "1" ]}
|
||||
</div>';
|
||||
|
||||
|
||||
?>
|
||||
|
||||
<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>
|
||||
|
||||
<?php
|
||||
|
@ -192,13 +181,11 @@ echo '
|
|||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
|
||||
|
||||
echo '
|
||||
<!-- PIANIFICARE INTERVENTI? -->
|
||||
<div class="panel panel-primary '.$hide.'">
|
||||
|
@ -207,7 +194,7 @@ echo '
|
|||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
|
||||
|
@ -229,7 +216,7 @@ echo '
|
|||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
<?php
|
||||
|
||||
$rs = $dbo->fetchArray('SELECT *,
|
||||
$r = $dbo->fetchOne('SELECT *,
|
||||
(SELECT email FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=co_contratti.idanagrafica) AS email
|
||||
FROM co_contratti WHERE id='.prepare($id_record));
|
||||
|
||||
// Risultato effettivo
|
||||
$r = $rs[0];
|
||||
|
||||
// Variabili da sostituire
|
||||
return [
|
||||
'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 ); ";
|
||||
}
|
||||
|
@ -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 ); ";
|
||||
}
|
||||
|
@ -234,6 +234,8 @@ if ($totale_tecnici == 0) {
|
|||
|
||||
<?php
|
||||
// Zone
|
||||
$allcheckzone = null;
|
||||
|
||||
$checks = '';
|
||||
$count = 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";
|
||||
|
||||
$allcheckzone .= "session_set_array( 'dashboard,idzone', '".$rs[$i]['id']."', 0 ); ";
|
||||
$allcheckzone = "session_set_array( 'dashboard,idzone', '".$rs[$i]['id']."', 0 ); ";
|
||||
}
|
||||
|
||||
if ($count == $total) {
|
||||
|
@ -304,8 +306,8 @@ if (!empty($rsp)) {
|
|||
<h4>'.tr('Promemoria contratti da pianificare').'</h4>';
|
||||
|
||||
// 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())
|
||||
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())";
|
||||
$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())';
|
||||
$rsp_old = $dbo->fetchNum($qp_old);
|
||||
|
||||
if ($rsp_old > 0) {
|
||||
|
|
|
@ -7,15 +7,13 @@ $module = Modules::get($id_module);
|
|||
if ($module['name'] == 'Ddt di vendita') {
|
||||
$dir = 'entrata';
|
||||
|
||||
$rs = $dbo->fetchArray("SELECT id FROM dt_tipiddt WHERE descrizione='Ddt di vendita' LIMIT 0,1");
|
||||
$id_tipoddt = $rs[0]['id'];
|
||||
$id_tipoddt = $dbo->fetchOne("SELECT id FROM dt_tipiddt WHERE descrizione='Ddt di vendita'")['id'];
|
||||
|
||||
$tipo_anagrafica = tr('Cliente');
|
||||
} else {
|
||||
$dir = 'uscita';
|
||||
|
||||
$rs = $dbo->fetchArray("SELECT id FROM dt_tipiddt WHERE descrizione='Ddt di acquisto' LIMIT 0,1");
|
||||
$id_tipoddt = $rs[0]['id'];
|
||||
$id_tipoddt = $dbo->fetchOne("SELECT id FROM dt_tipiddt WHERE descrizione='Ddt di acquisto'")['id'];
|
||||
|
||||
$tipo_anagrafica = tr('Fornitore');
|
||||
}
|
||||
|
@ -31,7 +29,7 @@ if ($module['name'] == 'Ddt di vendita') {
|
|||
</div>
|
||||
|
||||
<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 class="col-md-4">
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
<?php
|
||||
|
||||
$rs = $dbo->fetchArray('SELECT *,
|
||||
$r = $dbo->fetchOne('SELECT *,
|
||||
(SELECT email FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=dt_ddt.idanagrafica) AS email
|
||||
FROM dt_ddt WHERE id='.prepare($id_record));
|
||||
|
||||
// Risultato effettivo
|
||||
$r = $rs[0];
|
||||
|
||||
// Variabili da sostituire
|
||||
return [
|
||||
'email' => $r['email'],
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
<?php
|
||||
|
||||
$rs = $dbo->fetchArray('SELECT *,
|
||||
$r = $dbo->fetchOne('SELECT *,
|
||||
(SELECT email FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=co_documenti.idanagrafica) AS email
|
||||
FROM co_documenti WHERE id='.prepare($id_record));
|
||||
|
||||
// Risultato effettivo
|
||||
$r = $rs[0];
|
||||
|
||||
// Variabili da sostituire
|
||||
return [
|
||||
'email' => $r['email'],
|
||||
|
|
|
@ -52,7 +52,7 @@ foreach ($records as $record) {
|
|||
else {
|
||||
$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';
|
||||
|
||||
echo '
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
<?php
|
||||
|
||||
if (file_exists( __DIR__.'/../../../core.php')) {
|
||||
include_once __DIR__.'/../../../core.php';
|
||||
}else {
|
||||
include_once __DIR__.'/../../core.php';
|
||||
if (file_exists(__DIR__.'/../../../core.php')) {
|
||||
include_once __DIR__.'/../../../core.php';
|
||||
} else {
|
||||
include_once __DIR__.'/../../core.php';
|
||||
}
|
||||
|
||||
if (file_exists($docroot.'/modules/interventi/custom/modutil.php')) {
|
||||
include_once $docroot.'/modules/interventi/custom/modutil.php';
|
||||
} 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_km_unitario_tecnico['.$id.']" value="'.$costo_km_unitario_tecnico.'" />
|
||||
<input type="hidden" name="prezzo_dirittochiamata_tecnico['.$id.']" value="'.$costo_dirittochiamata_tecnico.'" />';
|
||||
|
||||
echo '
|
||||
<tr>
|
||||
<td class="tecn_'.$r['idtecnico'].'" style="min-width:200px;" >';
|
||||
|
||||
if ($rs[0]['stato'] != 'Fatturato') {
|
||||
// Elenco tipologie di interventi
|
||||
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.'" ]}';
|
||||
}
|
||||
<input type="hidden" name="prezzo_dirittochiamata_tecnico['.$id.']" value="'.$costo_dirittochiamata_tecnico.'" />
|
||||
|
||||
<tr>';
|
||||
|
||||
// Elenco tipologie di interventi
|
||||
echo '
|
||||
<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.'" ]}
|
||||
</td>';
|
||||
|
||||
// Orario di inizio
|
||||
echo '
|
||||
<td>';
|
||||
if ($rs[0]['stato'] == 'Fatturato') {
|
||||
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>
|
||||
{[ "type": "timestamp", "name": "orario_inizio['.$id.']", "id": "inizio_'.$id.'", "value": "'.$orario_inizio.'", "class": "orari min-width", "extra": "'.$readonly.'" ]}
|
||||
</td>';
|
||||
|
||||
// Orario di fine
|
||||
echo '
|
||||
<td>';
|
||||
if ($rs[0]['stato'] == 'Fatturato') {
|
||||
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>
|
||||
{[ "type": "timestamp", "name": "orario_fine['.$id.']", "id": "fine_'.$id.'", "value": "'.$orario_fine.'", "class": "orari min-width", "min-date": "'.$orario_inizio.'", "extra": "'.$readonly.'" ]}
|
||||
</td>';
|
||||
|
||||
// ORE
|
||||
|
@ -296,18 +276,18 @@ if (!$flag_completato) {
|
|||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
|
||||
<?php
|
||||
if (count($rs2)==0) {
|
||||
<?php
|
||||
if (count($rs2) == 0) {
|
||||
echo '$(".btn-details").attr("disabled", true);';
|
||||
echo '$(".btn-details").addClass("disabled");';
|
||||
echo '$("#showall_dettagli").removeClass("hide");';
|
||||
echo '$("#dontshowall_dettagli").addClass("hide");';
|
||||
}else{
|
||||
} else {
|
||||
echo '$(".btn-details").attr("disabled", false);';
|
||||
echo '$(".btn-details").removeClass("disabled");';
|
||||
echo '$(".btn-details").removeClass("disabled");';
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
$('.orari').on("dp.change", function(){
|
||||
idriga = $(this).attr('id').split('_')[1];
|
||||
|
||||
|
|
|
@ -158,11 +158,11 @@ $_SESSION['superselect']['idanagrafica'] = $records[0]['idanagrafica'];
|
|||
|
||||
<div class="row">
|
||||
<div class="col-md-12" id="tecnici">
|
||||
<?php
|
||||
<?php
|
||||
if (file_exists($docroot.'/modules/interventi/custom/ajax_tecnici.php')) {
|
||||
?>
|
||||
<script>$('#tecnici').load('<?php echo $rootdir; ?>/modules/interventi/custom/ajax_tecnici.php?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>');</script>
|
||||
<?php
|
||||
<?php
|
||||
}else{
|
||||
?>
|
||||
<script>$('#tecnici').load('<?php echo $rootdir; ?>/modules/interventi/ajax_tecnici.php?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>');</script>
|
||||
|
@ -183,7 +183,7 @@ $_SESSION['superselect']['idanagrafica'] = $records[0]['idanagrafica'];
|
|||
|
||||
<div class="panel-body">
|
||||
<div id="articoli">
|
||||
<?php
|
||||
<?php
|
||||
if (file_exists($docroot.'/modules/interventi/custom/ajax_articoli.php')) {
|
||||
include $docroot.'/modules/interventi/custom/ajax_articoli.php';
|
||||
}else{
|
||||
|
@ -234,11 +234,11 @@ $_SESSION['superselect']['idanagrafica'] = $records[0]['idanagrafica'];
|
|||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12" id="costi">
|
||||
<?php
|
||||
<?php
|
||||
if (file_exists($docroot.'/modules/interventi/custom/ajax_costi.php')) {
|
||||
?>
|
||||
<script>$('#costi').load('<?php echo $rootdir; ?>/modules/interventi/custom/ajax_costi.php?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>');</script>
|
||||
<?php
|
||||
<?php
|
||||
}else{
|
||||
?>
|
||||
<script>$('#costi').load('<?php echo $rootdir; ?>/modules/interventi/ajax_costi.php?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>');</script>
|
||||
|
@ -251,7 +251,7 @@ $_SESSION['superselect']['idanagrafica'] = $records[0]['idanagrafica'];
|
|||
</div>
|
||||
</form>
|
||||
|
||||
{( "name": "filelist_and_upload", "id_module": "<?php echo $id_module; ?>", "id_record": "<?php echo $id_record; ?>", <?php echo ($records[0]['flag_completato']) ? '"readonly":"true"' : '"readonly":"false"'; ?> )}
|
||||
{( "name": "filelist_and_upload", "id_module": "<?php echo $id_module; ?>", "id_record": "<?php echo $id_record; ?>", <?php echo ($records[0]['flag_completato']) ? '"readonly": "true"' : '"readonly":"false"'; ?> )}
|
||||
|
||||
<!-- EVENTUALE FIRMA GIA' EFFETTUATA -->
|
||||
<div class="text-center">
|
||||
|
|
|
@ -1,13 +1,10 @@
|
|||
<?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 email FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=in_interventi.idanagrafica) AS email
|
||||
FROM in_interventi WHERE id='.prepare($id_record));
|
||||
|
||||
// Risultato effettivo
|
||||
$r = $rs[0];
|
||||
|
||||
// Variabili da sostituire
|
||||
return [
|
||||
'email' => $r['email'],
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
<?php
|
||||
|
||||
$rs = $dbo->fetchArray('SELECT *,
|
||||
$r = $dbo->fetchOne('SELECT *,
|
||||
(SELECT email FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=or_ordini.idanagrafica) AS email
|
||||
FROM or_ordini WHERE id='.prepare($id_record));
|
||||
|
||||
// Risultato effettivo
|
||||
$r = $rs[0];
|
||||
|
||||
// Variabili da sostituire
|
||||
return [
|
||||
'email' => $r['email'],
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
<?php
|
||||
|
||||
$rs = $dbo->fetchArray('SELECT *,
|
||||
$r = $dbo->fetchOne('SELECT *,
|
||||
(SELECT email FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=co_preventivi.idanagrafica) AS email
|
||||
FROM co_preventivi WHERE id='.prepare($id_record));
|
||||
|
||||
// Risultato effettivo
|
||||
$r = $rs[0];
|
||||
|
||||
// Variabili da sostituire
|
||||
return [
|
||||
'email' => $r['email'],
|
||||
|
|
|
@ -131,7 +131,7 @@ class AJAX
|
|||
$results = self::completeResults($query, $where, $filter, $search_fields, $custom);
|
||||
}
|
||||
|
||||
return $results;
|
||||
return isset($results) ? $results : null;
|
||||
}
|
||||
|
||||
protected static function getSelectInfo()
|
||||
|
|
61
src/App.php
61
src/App.php
|
@ -18,10 +18,11 @@ class App
|
|||
'app.min.css',
|
||||
'style.min.css',
|
||||
'themes.min.css',
|
||||
[
|
||||
'href' => 'print.min.css',
|
||||
'media' => 'print',
|
||||
],
|
||||
],
|
||||
|
||||
// Print CSS
|
||||
'print' => [
|
||||
'print.min.css',
|
||||
],
|
||||
|
||||
// JS
|
||||
|
@ -155,49 +156,39 @@ class App
|
|||
// Assets aggiuntivi
|
||||
$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
|
||||
$paths = self::getPaths();
|
||||
$lang = Translator::getInstance()->getCurrentLocale();
|
||||
|
||||
foreach ($css as $key => $value) {
|
||||
if (is_array($value)) {
|
||||
$path = $value['href'];
|
||||
} else {
|
||||
$path = $value;
|
||||
// Sezioni: nome - percorso
|
||||
$sections = [
|
||||
'css' => 'css',
|
||||
'print' => 'css',
|
||||
'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;
|
||||
$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;
|
||||
$assets[$section] = $result;
|
||||
}
|
||||
|
||||
// JS aggiuntivi per gli utenti connessi
|
||||
if (Auth::check()) {
|
||||
$js[] = ROOTDIR.'/lib/functions.js';
|
||||
$js[] = ROOTDIR.'/lib/init.js';
|
||||
$assets['js'][] = ROOTDIR.'/lib/functions.js';
|
||||
$assets['js'][] = ROOTDIR.'/lib/init.js';
|
||||
}
|
||||
|
||||
return [
|
||||
'css' => $css,
|
||||
'js' => $js,
|
||||
];
|
||||
return $assets;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -286,8 +286,28 @@ class Database extends Util\Singleton
|
|||
*/
|
||||
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);
|
||||
if (is_array($result)) {
|
||||
|
||||
if (isset($result[0])) {
|
||||
return $result[0];
|
||||
}
|
||||
|
||||
|
@ -390,7 +410,7 @@ class Database extends Util\Singleton
|
|||
throw new UnexpectedValueException();
|
||||
}
|
||||
|
||||
if (!is_array($array[0])) {
|
||||
if (!isset($array[0]) || !is_array($array[0])) {
|
||||
$array = [$array];
|
||||
}
|
||||
|
||||
|
|
|
@ -204,7 +204,7 @@ class HTMLBuilder
|
|||
unset($json[$key]);
|
||||
}
|
||||
// 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) {
|
||||
$record = isset($records[0][$m[1][$i]]) ? $records[0][$m[1][$i]] : '';
|
||||
$json[$key] = str_replace($m[0][$i], prepareToField($record), $json[$key]);
|
||||
|
|
|
@ -48,7 +48,7 @@ class ChoicesHandler implements HandlerInterface
|
|||
|
||||
// Generazione del codice HTML
|
||||
// "+ this.checked" rende il valore booleano un numero
|
||||
$result .= '
|
||||
$result = '
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon">
|
||||
<input |attr| onchange="$(this).parent().find(\'[type=hidden]\').val( + this.checked)">
|
||||
|
|
|
@ -18,7 +18,7 @@ class DateHandler implements HandlerInterface
|
|||
'min-date',
|
||||
];
|
||||
foreach ($detect as $attr) {
|
||||
if ($values[$attr] == '-now-') {
|
||||
if (isset($values[$attr]) && $values[$attr] == '-now-') {
|
||||
$values[$attr] = date(\Intl\Formatter::getStandardFormats()['timestamp']);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -46,8 +46,13 @@ class SelectHandler implements HandlerInterface
|
|||
<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")
|
||||
if (preg_match_all('/^query=(.+?)$/', $values['values'], $matches)) {
|
||||
elseif (preg_match_all('/^query=(.+?)$/', $values['values'], $matches)) {
|
||||
$result .= $this->selectQuery($matches[1][0], $values['value']);
|
||||
}
|
||||
|
||||
|
@ -55,11 +60,6 @@ class SelectHandler implements HandlerInterface
|
|||
elseif (preg_match_all('/^list=(.+?)$/', $values['values'], $matches)) {
|
||||
$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
|
||||
|
@ -155,6 +155,8 @@ class SelectHandler implements HandlerInterface
|
|||
*/
|
||||
protected function selectArray($array, $values)
|
||||
{
|
||||
$result = '';
|
||||
|
||||
$prev = '';
|
||||
foreach ($array as $element) {
|
||||
if (!empty($element['optgroup'])) {
|
||||
|
|
|
@ -9,6 +9,8 @@ class ButtonManager implements ManagerInterface
|
|||
{
|
||||
public function manage($options)
|
||||
{
|
||||
$options['parameters'] = isset($options['parameters']) ? $options['parameters'] : null;
|
||||
|
||||
$result = '';
|
||||
|
||||
if (isset($options['id'])) {
|
||||
|
@ -111,6 +113,7 @@ class ButtonManager implements ManagerInterface
|
|||
'id_module' => $options['id_module'],
|
||||
'id_record' => $options['id_record'],
|
||||
'class' => $options['class'],
|
||||
'parameters' => $options['parameters'],
|
||||
]);
|
||||
|
||||
unset($list[$main]);
|
||||
|
@ -131,6 +134,7 @@ class ButtonManager implements ManagerInterface
|
|||
'id_module' => $options['id_module'],
|
||||
'id_record' => $options['id_record'],
|
||||
'class' => false,
|
||||
'parameters' => $options['parameters'],
|
||||
]).'</li>';
|
||||
}
|
||||
|
||||
|
@ -144,6 +148,7 @@ class ButtonManager implements ManagerInterface
|
|||
'id_module' => $options['id_module'],
|
||||
'id_record' => $options['id_record'],
|
||||
'class' => $options['class'],
|
||||
'parameters' => $options['parameters'],
|
||||
]);
|
||||
} else {
|
||||
$result = ' ';
|
||||
|
|
|
@ -9,27 +9,31 @@ namespace HTMLBuilder\Manager;
|
|||
*/
|
||||
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" )}.
|
||||
*
|
||||
* @param array $options
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
||||
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['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').':';
|
||||
|
||||
// Riferimento ad un plugin
|
||||
$plugin = null;
|
||||
if (!empty($options['id_plugin'])) {
|
||||
$plugin = '_'.$options['id_plugin'];
|
||||
}
|
||||
|
||||
$dbo = \Database::getConnection();
|
||||
|
||||
$result .= '
|
||||
<div id="attachments_'.$options['id_record'].((!empty($options['id_plugin'])) ? '_'.$options['id_plugin'] : '').'" >
|
||||
$result = '
|
||||
<div id="attachments_'.$options['id_record'].$plugin.'" >
|
||||
<a name="attachments_'.rand().'"></a>';
|
||||
|
||||
if (!empty($options['showpanel'])) {
|
||||
|
@ -65,43 +69,40 @@ $result .= '
|
|||
</td>
|
||||
<td>'.\Translator::timestampToLocale($r['created_at']).'</td>
|
||||
<td class="text-center">
|
||||
|
||||
|
||||
<a class="btn btn-sm btn-primary" href="'.ROOTDIR.'/actions.php?id_module='.$options['id_module'].'&op=download_file&id='.$r['id'].'&filename='.$r['filename'].'" target="_blank">
|
||||
<i class="fa fa-download"></i>
|
||||
</a>';
|
||||
|
||||
|
||||
//Anteprime supportate dal browser
|
||||
$extension = strtolower(end((explode('.', $r['original']))));
|
||||
$supported_extensions = ['pdf','jpg','png','gif','jpeg','bmp'];
|
||||
if ( in_array($extension, $supported_extensions)){
|
||||
|
||||
$result .= "<div class='hide' id='view-".$r['id']."' >";
|
||||
|
||||
if ($extension=='pdf'){
|
||||
$result .= "
|
||||
<iframe src=\"".ROOTDIR.'/files/'.\Modules::get($options['id_module'])['directory'].'/'.$r['filename']."\" frameborder=\"0\" scrolling=\"no\" width=\"100%\" height=\"550\"></iframe>";
|
||||
}else{
|
||||
$result .= "
|
||||
<img src=\"".ROOTDIR.'/files/'.\Modules::get($options['id_module'])['directory'].'/'.$r['filename']."\" width=\"100%\" ></img>";
|
||||
}
|
||||
|
||||
$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>";
|
||||
|
||||
}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";
|
||||
}
|
||||
|
||||
if (!$options['readonly']){
|
||||
$result .= '
|
||||
|
||||
//Anteprime supportate dal browser
|
||||
$extension = strtolower(end((explode('.', $r['original']))));
|
||||
$supported_extensions = ['pdf', 'jpg', 'png', 'gif', 'jpeg', 'bmp'];
|
||||
if (in_array($extension, $supported_extensions)) {
|
||||
$result .= "<div class='hide' id='view-".$r['id']."' >";
|
||||
|
||||
if ($extension == 'pdf') {
|
||||
$result .= '
|
||||
<iframe src="'.ROOTDIR.'/files/'.\Modules::get($options['id_module'])['directory'].'/'.$r['filename'].'" frameborder="0" scrolling="no" width="100%" height="550"></iframe>';
|
||||
} else {
|
||||
$result .= '
|
||||
<img src="'.ROOTDIR.'/files/'.\Modules::get($options['id_module'])['directory'].'/'.$r['filename'].'" width="100%" ></img>';
|
||||
}
|
||||
|
||||
$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>";
|
||||
} 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";
|
||||
}
|
||||
|
||||
if (!$options['readonly']) {
|
||||
$result .= '
|
||||
<a class="btn btn-sm btn-danger ask" data-backto="record-edit" data-msg="'.tr('Vuoi eliminare questo file?').'" data-op="unlink_file" data-id="'.$r['id'].'" data-filename="'.$r['filename'].'">
|
||||
<i class="fa fa-trash"></i>
|
||||
</a>';
|
||||
}
|
||||
|
||||
$result .= '
|
||||
}
|
||||
|
||||
$result .= '
|
||||
</td>
|
||||
</tr>';
|
||||
}
|
||||
|
@ -110,63 +111,69 @@ $result .= '
|
|||
</table>
|
||||
<div class="clearfix"></div>
|
||||
<br>';
|
||||
}else{
|
||||
//in caso di readonly, se non è stato caricato nessun allegato mostro almeno box informativo
|
||||
if ($options['readonly']){
|
||||
$result .= '
|
||||
} else {
|
||||
//in caso di readonly, se non è stato caricato nessun allegato mostro almeno box informativo
|
||||
if ($options['readonly']) {
|
||||
$result .= '
|
||||
<div class="alert alert-info" style="margin-bottom:0px;" >
|
||||
<i class="fa fa-info-circle"></i>
|
||||
'.tr('Nessun allegato è stato caricato', []).'.
|
||||
</div>';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!$options['readonly']){
|
||||
|
||||
// Form per l'upload di un nuovo file
|
||||
$result .= '
|
||||
if (!$options['readonly']) {
|
||||
// Form per l'upload di un nuovo file
|
||||
$result .= '
|
||||
<b>'.$options['label'].'</b>
|
||||
<div class="row">
|
||||
|
||||
|
||||
<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 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>';
|
||||
|
||||
$result .= '
|
||||
|
||||
$result .= '
|
||||
<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').'
|
||||
</button>
|
||||
</div>';
|
||||
|
||||
$result .= '
|
||||
|
||||
$result .= '
|
||||
</div>';
|
||||
}
|
||||
}
|
||||
|
||||
$result .= '
|
||||
<script>
|
||||
function saveFile_'.$options['id_record'].((!empty($options['id_plugin'])) ? '_'.$options['id_plugin'] : '').' (btn){
|
||||
if(!$("#blob_'.$options['id_record'].((!empty($options['id_plugin'])) ? '_'.$options['id_plugin'] : '').'").val()){
|
||||
function saveFile_'.$options['id_record'].$plugin.' (btn){
|
||||
if(!$("#blob_'.$options['id_record'].$plugin.'").val()){
|
||||
swal("'.addslashes(tr('Attenzione!')).'", "'.addslashes(tr('Devi selezionare un file con il tasto "Sfoglia"')).'...", "warning");
|
||||
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();
|
||||
|
||||
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("id_record","'.$options['id_record'].'");
|
||||
form_data.append("id_module", "'.$options['id_module'].'");
|
||||
form_data.append("id_plugin","'.$options['id_plugin'].'");
|
||||
form_data.append("id_module", "'.$options['id_module'].'");';
|
||||
|
||||
if (!empty($options['id_plugin'])) {
|
||||
$result .= '
|
||||
form_data.append("id_plugin","'.$options['id_plugin'].'");';
|
||||
}
|
||||
|
||||
$result .= '
|
||||
|
||||
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);
|
||||
|
||||
$.ajax({
|
||||
|
@ -178,17 +185,17 @@ $result .= '
|
|||
dataType : "html",
|
||||
data: form_data,
|
||||
success: function(data) {
|
||||
|
||||
|
||||
btn.html(prev_html);
|
||||
btn.prop("disabled", false);';
|
||||
|
||||
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'] : '').'" );';
|
||||
}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 .= '},
|
||||
|
||||
if ($options['ajax']) {
|
||||
$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 {
|
||||
$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 .= '},
|
||||
error: function(data) {
|
||||
alert(data);
|
||||
}
|
||||
|
@ -205,4 +212,4 @@ $result .= '
|
|||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -81,12 +81,13 @@ class WidgetManager implements ManagerInterface
|
|||
$value = null;
|
||||
if (!empty($query)) {
|
||||
$value = $database->fetchArray($query)[0]['dato'];
|
||||
if (!preg_match('/\\d/', $value))
|
||||
if (!preg_match('/\\d/', $value)) {
|
||||
$value = '-';
|
||||
}
|
||||
}
|
||||
|
||||
// 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(); }); };" >
|
||||
<span aria-hidden="true">×</span><span class="sr-only">'.tr('Chiudi').'</span>
|
||||
</button>';
|
||||
|
|
|
@ -12,8 +12,8 @@ class HTMLWrapper implements WrapperInterface
|
|||
$result = '';
|
||||
|
||||
// Valori particolari
|
||||
$values['icon-before'] = $this->parser($values, $values['icon-before']);
|
||||
$values['icon-after'] = $this->parser($values, $values['icon-after']);
|
||||
$values['icon-before'] = isset($values['icon-before']) ? $this->parser($values, $values['icon-before']) : null;
|
||||
$values['icon-after'] = isset($values['icon-after']) ? $this->parser($values, $values['icon-after']) : null;
|
||||
|
||||
// Generazione dell'etichetta
|
||||
if (!empty($values['label'])) {
|
||||
|
@ -100,17 +100,15 @@ class HTMLWrapper implements WrapperInterface
|
|||
|
||||
$id_module = $pieces[1];
|
||||
|
||||
$extra = empty($pieces[2]) ? '' : '&'.$pieces[2];
|
||||
|
||||
$classes = empty($pieces[3]) ? '' : ' '.$pieces[3];
|
||||
|
||||
$extras = empty($pieces[4]) ? '' : ' '.$pieces[4];
|
||||
$get = !empty($pieces[2]) ? '&'.$pieces[2] : null;
|
||||
$classes = !empty($pieces[3]) ? ' '.$pieces[3] : null;
|
||||
$extras = !empty($pieces[4]) ? ' '.$pieces[4] : null;
|
||||
|
||||
$module = \Modules::get($id_module);
|
||||
|
||||
if (in_array($module['permessi'], ['r', 'rw'])) {
|
||||
$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>
|
||||
</button>';
|
||||
}
|
||||
|
@ -124,7 +122,7 @@ class HTMLWrapper implements WrapperInterface
|
|||
|
||||
$pieces = explode('|', $string);
|
||||
$type = $pieces[1];
|
||||
$extra = $pieces[3];
|
||||
$extra = !empty($pieces[3]) ? $pieces[3] : null;
|
||||
|
||||
if ($type == 'untprc') {
|
||||
$choices = [
|
||||
|
|
|
@ -54,9 +54,7 @@ class Import
|
|||
*/
|
||||
public static function get($module)
|
||||
{
|
||||
if (!is_numeric($module) && !empty(self::getModules()[$module])) {
|
||||
$module = self::getModules()[$module];
|
||||
}
|
||||
$module = Modules::get($module)['id'];
|
||||
|
||||
return self::getImports()[$module];
|
||||
}
|
||||
|
|
|
@ -144,6 +144,7 @@ class Formatter
|
|||
*/
|
||||
public function parseNumber($value)
|
||||
{
|
||||
$sign = null;
|
||||
if ($value[0] == '+' || $value[0] == '-') {
|
||||
$sign = $value[0];
|
||||
$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 */
|
||||
protected static $templates = [];
|
||||
protected static $references = [];
|
||||
/** @var array Elenco dei template email per modulo */
|
||||
protected static $modules = [];
|
||||
|
||||
|
@ -80,18 +81,20 @@ class Mail extends PHPMailer\PHPMailer\PHPMailer
|
|||
|
||||
$templates = [];
|
||||
|
||||
// Inizializzazione dei riferimenti
|
||||
foreach (Modules::getModules() as $module) {
|
||||
self::$modules[$module['id']] = [];
|
||||
}
|
||||
|
||||
foreach ($results as $result) {
|
||||
$templates[$result['id']] = $result;
|
||||
$templates[$result['name']] = $result['id'];
|
||||
|
||||
if (!isset(self::$modules[$result['id_module']])) {
|
||||
self::$modules[$result['id_module']] = [];
|
||||
}
|
||||
$references[$result['name']] = $result['id'];
|
||||
|
||||
self::$modules[$result['id_module']][] = $result['id'];
|
||||
}
|
||||
|
||||
self::$templates = $templates;
|
||||
self::$references = $references;
|
||||
}
|
||||
|
||||
return self::$templates;
|
||||
|
@ -106,8 +109,8 @@ class Mail extends PHPMailer\PHPMailer\PHPMailer
|
|||
*/
|
||||
public static function getTemplate($template)
|
||||
{
|
||||
if (!is_numeric($template) && !empty(self::getTemplates()[$template])) {
|
||||
$template = self::getTemplates()[$template];
|
||||
if (!is_numeric($template) && !empty(self::$references[$template])) {
|
||||
$template = self::$references[$template];
|
||||
}
|
||||
|
||||
return self::getTemplates()[$template];
|
||||
|
|
|
@ -14,6 +14,7 @@ class Modules
|
|||
|
||||
/** @var array Elenco dei moduli disponibili */
|
||||
protected static $modules = [];
|
||||
protected static $references = [];
|
||||
/** @var array Elenco delle condizioni aggiuntive disponibili */
|
||||
protected static $additionals = [];
|
||||
/** @var array Elenco dei segmenti disponibili */
|
||||
|
@ -61,11 +62,12 @@ class Modules
|
|||
unset($result['idmodule']);
|
||||
|
||||
$modules[$result['id']] = $result;
|
||||
$modules[$result['name']] = $result['id'];
|
||||
$references[$result['name']] = $result['id'];
|
||||
}
|
||||
}
|
||||
|
||||
self::$modules = $modules;
|
||||
self::$references = $references;
|
||||
}
|
||||
|
||||
return self::$modules;
|
||||
|
@ -80,6 +82,7 @@ class Modules
|
|||
{
|
||||
// Individuazione dei moduli con permesso di accesso
|
||||
$modules = self::getModules();
|
||||
|
||||
foreach ($modules as $key => $module) {
|
||||
if ($module['permessi'] == '-') {
|
||||
unset($modules[$key]);
|
||||
|
@ -98,8 +101,8 @@ class Modules
|
|||
*/
|
||||
public static function get($module)
|
||||
{
|
||||
if (!is_numeric($module) && !empty(self::getModules()[$module])) {
|
||||
$module = self::getModules()[$module];
|
||||
if (!is_numeric($module) && !empty(self::$references[$module])) {
|
||||
$module = self::$references[$module];
|
||||
}
|
||||
|
||||
return self::getModules()[$module];
|
||||
|
@ -129,7 +132,7 @@ class Modules
|
|||
$module = self::get($module);
|
||||
$user = Auth::user();
|
||||
|
||||
if (!isset(self::$additionals[$module])) {
|
||||
if (!isset(self::$additionals[$module['id']])) {
|
||||
$database = Database::getConnection();
|
||||
|
||||
$additionals['WHR'] = [];
|
||||
|
@ -337,7 +340,7 @@ class Modules
|
|||
$options = ($element['options2'] != '') ? $element['options2'] : $element['options'];
|
||||
$link = ($options != '' && $options != 'menu') ? ROOTDIR.'/controller.php?id_module='.$element['id'] : 'javascript:;';
|
||||
$title = $element['title'];
|
||||
$target = ($element['new'] == 1) ? '_blank' : '_self';
|
||||
$target = '_self'; // $target = ($element['new'] == 1) ? '_blank' : '_self';
|
||||
$active = ($actual == $element['name']);
|
||||
$show = (self::getPermission($element['id']) != '-' && !empty($element['enabled'])) ? true : false;
|
||||
|
||||
|
|
|
@ -26,16 +26,17 @@ class Prints
|
|||
|
||||
$prints = [];
|
||||
|
||||
// Inizializzazione dei riferimenti
|
||||
foreach (Modules::getModules() as $module) {
|
||||
self::$modules[$module['id']] = [];
|
||||
}
|
||||
|
||||
foreach ($results as $result) {
|
||||
$result['full_directory'] = DOCROOT.'/templates/'.$result['directory'];
|
||||
|
||||
$prints[$result['id']] = $result;
|
||||
$prints[$result['name']] = $result['id'];
|
||||
|
||||
if (!isset(self::$modules[$result['id_module']])) {
|
||||
self::$modules[$result['id_module']] = [];
|
||||
}
|
||||
|
||||
self::$modules[$result['id_module']][] = $result['id'];
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue