1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-06-05 22:09:38 +02:00

Miglioramento gestione identificatori

This commit is contained in:
Thomas Zilio
2018-09-19 10:44:32 +02:00
parent 0480497128
commit 4bd004a421
30 changed files with 119 additions and 140 deletions

View File

@@ -2,19 +2,7 @@
include_once __DIR__.'/core.php'; include_once __DIR__.'/core.php';
// Lettura parametri iniziali if (empty($structure) || empty($structure['enabled'])) {
if (!empty($id_plugin)) {
$element = Plugins::get($id_plugin);
$directory = '/plugins/'.$element['directory'];
$id_module = $element['idmodule_to'];
} else {
$element = Modules::get($id_module);
$directory = '/modules/'.$element['directory'];
}
if (empty($element) || empty($element['enabled'])) {
die(tr('Accesso negato')); die(tr('Accesso negato'));
} }
@@ -131,8 +119,8 @@ if (filter('op') == 'link_file' || filter('op') == 'unlink_file') {
} }
// Inclusione di eventuale plugin personalizzato // Inclusione di eventuale plugin personalizzato
if (!empty($element['script'])) { if (!empty($structure['script'])) {
include $element->getEditFile(); include $structure->getEditFile();
$database->commitTransaction(); $database->commitTransaction();
@@ -140,13 +128,13 @@ if (!empty($element['script'])) {
} }
// Caricamento funzioni del modulo // Caricamento funzioni del modulo
$modutil = App::filepath($directory.'|custom|', 'modutil.php'); $modutil = $structure->filepath('modutil.php');
if (!empty($modutil)) { if (!empty($modutil)) {
include_once $modutil; include_once $modutil;
} }
// Lettura risultato query del modulo // Lettura risultato query del modulo
$init = App::filepath($directory.'|custom|', 'init.php'); $init = $structure->filepath('init.php');
if (!empty($init)) { if (!empty($init)) {
include_once $init; include_once $init;
} }
@@ -164,7 +152,7 @@ if (!isset($record) && isset($records[0])) {
// Registrazione del record // Registrazione del record
HTMLBuilder\HTMLBuilder::setRecord($record); HTMLBuilder\HTMLBuilder::setRecord($record);
if ($element->permission == 'rw') { if ($structure->permission == 'rw') {
// Esecuzione delle operazioni di gruppo // Esecuzione delle operazioni di gruppo
$id_records = post('id_records'); $id_records = post('id_records');
$id_records = is_array($id_records) ? $id_records : explode(';', $id_records); $id_records = is_array($id_records) ? $id_records : explode(';', $id_records);
@@ -173,7 +161,7 @@ if ($element->permission == 'rw') {
}); });
$id_records = array_unique($id_records); $id_records = array_unique($id_records);
$bulk = App::filepath($directory.'|custom|', 'bulk.php'); $bulk = $structure->filepath('bulk.php');
$bulk = empty($bulk) ? [] : include $bulk; $bulk = empty($bulk) ? [] : include $bulk;
$bulk = empty($bulk) ? [] : $bulk; $bulk = empty($bulk) ? [] : $bulk;
@@ -181,7 +169,7 @@ if ($element->permission == 'rw') {
redirect(ROOTDIR.'/controller.php?id_module='.$id_module, 'js'); redirect(ROOTDIR.'/controller.php?id_module='.$id_module, 'js');
} else { } else {
// Esecuzione delle operazioni del modulo // Esecuzione delle operazioni del modulo
include App::filepath($directory.'|custom|', 'actions.php'); include $structure->filepath('actions.php');
// Operazioni generiche per i campi personalizzati // Operazioni generiche per i campi personalizzati
if (post('op') != null) { if (post('op') != null) {

View File

@@ -15,7 +15,7 @@ echo '
<div id="form_'.$id_module.'-'.$id_plugin.'"> <div id="form_'.$id_module.'-'.$id_plugin.'">
'; ';
include !empty(get('edit')) ? $element->getEditFile() : $element->getAddFile(); include !empty(get('edit')) ? $structure->getEditFile() : $structure->getAddFile();
echo ' echo '
</div>'; </div>';

View File

@@ -48,10 +48,6 @@ switch (get('op')) {
break; break;
case 'list_attachments': case 'list_attachments':
$id_module = get('id_module');
$id_record = get('id_record');
$id_plugin = get('id_plugin');
echo '{( "name": "filelist_and_upload", "id_module": "'.$id_module.'", "id_record": "'.$id_record.'", "id_plugin": "'.$id_plugin.'" )}'; echo '{( "name": "filelist_and_upload", "id_module": "'.$id_module.'", "id_record": "'.$id_record.'", "id_plugin": "'.$id_plugin.'" )}';
break; break;

View File

@@ -11,13 +11,7 @@ $order = filter('order')[0];
$order['column'] = $order['column'] - 1; $order['column'] = $order['column'] - 1;
array_shift($columns); array_shift($columns);
// Lettura parametri iniziali $total = App::readQuery($structure);
if (!empty($id_plugin)) {
$element = Plugins::get($id_plugin);
} else {
$element = Modules::get($id_module);
}
$total = App::readQuery($element);
// Lettura parametri modulo // Lettura parametri modulo
$result_query = $total['query']; $result_query = $total['query'];

View File

@@ -22,10 +22,10 @@ echo '
<ul class="nav nav-tabs pull-right" id="tabs" role="tablist"> <ul class="nav nav-tabs pull-right" id="tabs" role="tablist">
<li class="pull-left active header"> <li class="pull-left active header">
<a data-toggle="tab" href="#tab_0"> <a data-toggle="tab" href="#tab_0">
<i class="'.$element['icon'].'"></i> '.$element['title']; <i class="'.$structure['icon'].'"></i> '.$structure['title'];
// Pulsante "Aggiungi" solo se il modulo è di tipo "table" e se esiste il template per la popup // Pulsante "Aggiungi" solo se il modulo è di tipo "table" e se esiste il template per la popup
if ($element->hasAddFile() && $element->permission == 'rw') { if ($structure->hasAddFile() && $structure->permission == 'rw') {
echo ' echo '
<button type="button" class="btn btn-primary" data-toggle="modal" data-title="'.tr('Aggiungi').'..." data-target="#bs-popup" data-href="add.php?id_module='.$id_module.'&id_plugin='.$id_plugin.'"><i class="fa fa-plus"></i></button>'; <button type="button" class="btn btn-primary" data-toggle="modal" data-title="'.tr('Aggiungi').'..." data-target="#bs-popup" data-href="add.php?id_module='.$id_module.'&id_plugin='.$id_plugin.'"><i class="fa fa-plus"></i></button>';
} }

View File

@@ -202,14 +202,6 @@ if (!API::isAPIRequest()) {
$theme = !empty($theme) ? $theme : 'default'; $theme = !empty($theme) ? $theme : 'default';
if ($continue) { if ($continue) {
$id_module = filter('id_module');
$id_record = filter('id_record');
$id_plugin = filter('id_plugin');
$id_parent = filter('id_parent');
Modules::setCurrent($id_module);
Plugins::setCurrent($id_plugin);
// Periodo di visualizzazione dei record // Periodo di visualizzazione dei record
// Personalizzato // Personalizzato
if (!empty($_GET['period_start'])) { if (!empty($_GET['period_start'])) {
@@ -222,13 +214,23 @@ if (!API::isAPIRequest()) {
$_SESSION['period_end'] = date('Y').'-12-31'; $_SESSION['period_end'] = date('Y').'-12-31';
} }
$id_record = filter('id_record');
$id_parent = filter('id_parent');
Modules::setCurrent(filter('id_module'));
Plugins::setCurrent(filter('id_plugin'));
// Variabili fondamentali
$module = Modules::getCurrent();
$plugin = Plugins::getCurrent();
$structure = isset($plugin) ? $plugin : $module;
$id_module = $module['id'];
$id_plugin = $plugin['id'];
$user = Auth::user(); $user = Auth::user();
if (!empty($id_module)) { if (!empty($id_module)) {
$module = Modules::get($id_module);
$pageTitle = $module['title'];
// Segmenti // Segmenti
if (!isset($_SESSION['module_'.$id_module]['id_segment'])) { if (!isset($_SESSION['module_'.$id_module]['id_segment'])) {
$segments = Modules::getSegments($id_module); $segments = Modules::getSegments($id_module);

View File

@@ -45,10 +45,10 @@ if (empty($record)) {
<ul class="nav nav-tabs pull-right" id="tabs" role="tablist"> <ul class="nav nav-tabs pull-right" id="tabs" role="tablist">
<li class="pull-left active header"> <li class="pull-left active header">
<a data-toggle="tab" href="#tab_0"> <a data-toggle="tab" href="#tab_0">
<i class="'.$element['icon'].'"></i> '.$element['title']; <i class="'.$structure['icon'].'"></i> '.$structure['title'];
// Pulsante "Aggiungi" solo se il modulo è di tipo "table" e se esiste il template per la popup // Pulsante "Aggiungi" solo se il modulo è di tipo "table" e se esiste il template per la popup
if ($element->hasAddFile() && $element->permission == 'rw') { if ($structure->hasAddFile() && $structure->permission == 'rw') {
echo ' echo '
<button type="button" class="btn btn-primary" data-toggle="modal" data-title="'.tr('Aggiungi').'..." data-target="#bs-popup" data-href="add.php?id_module='.$id_module.'&id_plugin='.$id_plugin.'"><i class="fa fa-plus"></i></button>'; <button type="button" class="btn btn-primary" data-toggle="modal" data-title="'.tr('Aggiungi').'..." data-target="#bs-popup" data-href="add.php?id_module='.$id_module.'&id_plugin='.$id_plugin.'"><i class="fa fa-plus"></i></button>';
} }
@@ -140,7 +140,7 @@ if (empty($record)) {
<br>'; <br>';
// Pulsanti personalizzati // Pulsanti personalizzati
$buttons = Modules::filepath($id_module, 'buttons.php'); $buttons = $structure->filepath('buttons.php');
if (!empty($buttons)) { if (!empty($buttons)) {
ob_start(); ob_start();
include $buttons; include $buttons;
@@ -160,7 +160,7 @@ if (empty($record)) {
<div id="module-edit">'; <div id="module-edit">';
include $element->getEditFile(); include $structure->getEditFile();
echo ' echo '
</div> </div>
@@ -292,7 +292,7 @@ echo '
<script>'; <script>';
// Se l'utente ha i permessi in sola lettura per il modulo, converto tutti i campi di testo in span // Se l'utente ha i permessi in sola lettura per il modulo, converto tutti i campi di testo in span
$read_only = $element->permission == 'r'; $read_only = $structure->permission == 'r';
if ($read_only || !empty($block_edit)) { if ($read_only || !empty($block_edit)) {
$not = $read_only ? '' : '.not(".unblockable")'; $not = $read_only ? '' : '.not(".unblockable")';

View File

@@ -2,31 +2,27 @@
include_once __DIR__.'/../core.php'; include_once __DIR__.'/../core.php';
// Lettura parametri iniziali // Compatibilità per controller ed editor
if (!empty($id_plugin)) { if (!empty($id_plugin)) {
$element = Plugins::get($id_plugin); $structure = Plugins::get($id_plugin);
$directory = '/plugins/'.$element['directory'];
} else { } else {
$element = Modules::get($id_module); $structure = Modules::get($id_module);
$directory = '/modules/'.$element['directory'];
} }
if (!empty($id_plugin)) { if (!empty($id_plugin)) {
// Inclusione di eventuale plugin personalizzato // Inclusione di eventuale plugin personalizzato
if (!empty($element['script'])) { if (!empty($structure['script'])) {
include $element->getEditFile(); include $structure->getEditFile();
return; return;
} }
echo ' echo '
<h4> <h4>
<span class="'.(!empty($element['help']) ? ' tip' : '').'"'.(!empty($element['help']) ? ' title="'.prepareToField($element['help']).'" data-position="bottom"' : '').' > <span class="'.(!empty($structure['help']) ? ' tip' : '').'"'.(!empty($structure['help']) ? ' title="'.prepareToField($structure['help']).'" data-position="bottom"' : '').' >
'.$element['title'].(!empty($element['help']) ? ' <i class="fa fa-question-circle-o"></i>' : '').'</span>'; '.$structure['title'].(!empty($structure['help']) ? ' <i class="fa fa-question-circle-o"></i>' : '').'</span>';
if ($element->hasAddFile()) { if ($structure->hasAddFile()) {
echo ' echo '
<button type="button" class="btn btn-primary" data-toggle="modal" data-title="'.tr('Aggiungi').'..." data-target="#bs-popup" data-href="add.php?id_module='.$id_module.'&id_plugin='.$id_plugin.'&id_parent='.$id_record.'"><i class="fa fa-plus"></i></button>'; <button type="button" class="btn btn-primary" data-toggle="modal" data-title="'.tr('Aggiungi').'..." data-target="#bs-popup" data-href="add.php?id_module='.$id_module.'&id_plugin='.$id_plugin.'&id_parent='.$id_record.'"><i class="fa fa-plus"></i></button>';
} }
@@ -35,19 +31,19 @@ if (!empty($id_plugin)) {
</h4>'; </h4>';
} }
$type = $element['option']; $type = $structure['option'];
// Caricamento funzioni del modulo // Caricamento funzioni del modulo
$modutil = App::filepath($directory.'|custom|', 'modutil.php'); $modutil = $structure->filepath('modutil.php');
if (!empty($modutil)) { if (!empty($modutil)) {
include_once $modutil; include_once $modutil;
} }
// Lettura risultato query del modulo // Lettura risultato query del modulo
// include App::filepath($directory.'|custom|', 'init.php'); // include $structure->filepath('init.php');
// Caricamento file aggiuntivo su elenco record // Caricamento file aggiuntivo su elenco record
$controller_before = App::filepath($directory.'|custom|', 'controller_before.php'); $controller_before = $structure->filepath('controller_before.php');
if (!empty($controller_before)) { if (!empty($controller_before)) {
include $controller_before; include $controller_before;
} }
@@ -56,7 +52,7 @@ if (!empty($controller_before)) {
* Datatables con record * Datatables con record
*/ */
if (!empty($type) && $type != 'menu' && $type != 'custom') { if (!empty($type) && $type != 'menu' && $type != 'custom') {
$total = App::readQuery($element); $total = App::readQuery($structure);
if (empty($id_plugin) && count(Modules::getSegments($id_module)) > 1) { if (empty($id_plugin) && count(Modules::getSegments($id_module)) > 1) {
echo ' echo '
@@ -220,11 +216,11 @@ if (!empty($type) && $type != 'menu' && $type != 'custom') {
* Inclusione modulo personalizzato * Inclusione modulo personalizzato
*/ */
elseif ($type == 'custom') { elseif ($type == 'custom') {
include $element->getEditFile(); include $structure->getEditFile();
} }
// Caricamento file aggiuntivo su elenco record // Caricamento file aggiuntivo su elenco record
$controller_after = App::filepath($directory.'|custom|', 'controller_after.php'); $controller_after = $structure->filepath('controller_after.php');
if (!empty($controller_after)) { if (!empty($controller_after)) {
include $controller_after; include $controller_after;
} }

View File

@@ -5,6 +5,8 @@ include_once __DIR__.'/../core.php';
$paths = App::getPaths(); $paths = App::getPaths();
$user = Auth::user(); $user = Auth::user();
$pageTitle = $pageTitle ?: $structure->title;
$messages = flash()->getMessages(); $messages = flash()->getMessages();
echo '<!DOCTYPE html> echo '<!DOCTYPE html>

View File

@@ -195,7 +195,7 @@ $(document).ready(function () {
stop: function (event, ui) { stop: function (event, ui) {
var order = $(this).sortable('toArray').toString(); var order = $(this).sortable('toArray').toString();
$.post(globals.rootdir + "/modules/aggiornamenti/actions.php?id_module=" + globals.aggiornamenti_id, { $.post(globals.rootdir + "/actions.php?id_module=" + globals.aggiornamenti_id, {
op: 'sortmodules', op: 'sortmodules',
ids: order ids: order
}); });
@@ -404,7 +404,7 @@ function start_widgets($widgets) {
var new_class = ""; var new_class = "";
var order = $(this).sortable('toArray').toString(); var order = $(this).sortable('toArray').toString();
$.post(globals.rootdir + "/modules/aggiornamenti/actions.php?id_module=" + globals.aggiornamenti_id, { $.post(globals.rootdir + "/actions.php?id_module=" + globals.aggiornamenti_id, {
op: 'updatewidget', op: 'updatewidget',
location: dst_list, location: dst_list,
id_module: globals.id_module, id_module: globals.id_module,
@@ -413,7 +413,7 @@ function start_widgets($widgets) {
id: ui.item.attr('id') id: ui.item.attr('id')
}); });
$.post(globals.rootdir + "/modules/aggiornamenti/actions.php?id_module=" + globals.aggiornamenti_id, { $.post(globals.rootdir + "/actions.php?id_module=" + globals.aggiornamenti_id, {
op: 'sortwidget', op: 'sortwidget',
location: dst_list, location: dst_list,
ids: order, ids: order,

View File

@@ -292,12 +292,12 @@ function get_client_ip()
*/ */
function translateTemplate() function translateTemplate()
{ {
$id_module = filter('id_module');
$id_plugin = filter('id_plugin');
$id_record = filter('id_record'); $id_record = filter('id_record');
$id_email = filter('id_email');
$id_parent = filter('id_parent'); $id_parent = filter('id_parent');
$id_email = filter('id_email');
$id_module = Modules::getCurrent()['id'];
$id_plugin = Plugins::getCurrent()['id'];
$template = ob_get_clean(); $template = ob_get_clean();

View File

@@ -134,8 +134,6 @@ switch (post('op')) {
break; break;
case 'sortwidget': case 'sortwidget':
$id_module = post('id_module');
$id_record = post('id_record');
$location = post('location'); $location = post('location');
$location = empty($id_record) ? 'controller_'.$location : 'editor_'.$location; $location = empty($id_record) ? 'controller_'.$location : 'editor_'.$location;
@@ -155,8 +153,6 @@ switch (post('op')) {
break; break;
case 'updatewidget': case 'updatewidget':
$id_module = post('id_module');
$id_record = post('id_record');
$location = post('location'); $location = post('location');
$class = post('class'); $class = post('class');
$id = explode('_', post('id')); $id = explode('_', post('id'));

View File

@@ -6,7 +6,7 @@ include_once __DIR__.'/../../../core.php';
Anagrafiche Anagrafiche
*/ */
$id_module = Modules::get('Anagrafiche')['id']; $link_id = Modules::get('Anagrafiche')['id'];
$fields = [ $fields = [
'Codice' => 'codice', 'Codice' => 'codice',
@@ -50,7 +50,7 @@ $rs = $dbo->fetchArray($query);
foreach ($rs as $r) { foreach ($rs as $r) {
$result = []; $result = [];
$result['link'] = ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$r['id']; $result['link'] = ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$r['id'];
$result['title'] = $r['ragione_sociale']; $result['title'] = $r['ragione_sociale'];
$result['title'] .= !empty($r['deleted_at']) ? ' <small class="text-danger"><em>('.tr('Eliminato').')</em></small>' : ''; $result['title'] .= !empty($r['deleted_at']) ? ' <small class="text-danger"><em>('.tr('Eliminato').')</em></small>' : '';
$result['category'] = 'Anagrafiche'; $result['category'] = 'Anagrafiche';
@@ -97,7 +97,7 @@ $plugin = $dbo->fetchArray("SELECT id FROM zz_plugins WHERE name='Referenti'");
foreach ($rs as $r) { foreach ($rs as $r) {
$result = []; $result = [];
$result['link'] = ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$r['id'].'#tab_'.$plugin[0]['id']; $result['link'] = ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$r['id'].'#tab_'.$plugin[0]['id'];
$result['title'] = $r['nome']; $result['title'] = $r['nome'];
$result['category'] = 'Referenti'; $result['category'] = 'Referenti';

View File

@@ -24,8 +24,8 @@ switch ($resource) {
for ($i = 0; $i < sizeof($fatture); ++$i) { for ($i = 0; $i < sizeof($fatture); ++$i) {
($fatture[$i]['n2_fattura'] != '') ? $n_fattura = $fatture[$i]['n2_fattura'] : $n_fattura = $fatture[$i]['n_fattura']; ($fatture[$i]['n2_fattura'] != '') ? $n_fattura = $fatture[$i]['n2_fattura'] : $n_fattura = $fatture[$i]['n_fattura'];
$id_module = Modules::get('Fatture di vendita')['id']; $link_id = Modules::get('Fatture di vendita')['id'];
echo "<tr><td class='first_cell text-left'><a href='".ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$fatture[$i]['iddocumento']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">Fatt. n. ".$n_fattura."</a></td>\n"; echo "<tr><td class='first_cell text-left'><a href='".ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$fatture[$i]['iddocumento']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">Fatt. n. ".$n_fattura."</a></td>\n";
echo "<td class='table_cell text-left'>".Translator::dateToLocale($fatture[$i]['data_fattura'])."</td>\n"; echo "<td class='table_cell text-left'>".Translator::dateToLocale($fatture[$i]['data_fattura'])."</td>\n";
echo "<td class='table_cell text-right'>".Translator::numberToLocale($fatture[$i]['costo_unitario'])." &euro;</td></tr>\n"; echo "<td class='table_cell text-right'>".Translator::numberToLocale($fatture[$i]['costo_unitario'])." &euro;</td></tr>\n";
@@ -54,8 +54,8 @@ switch ($resource) {
for ($i = 0; $i < sizeof($fatture); ++$i) { for ($i = 0; $i < sizeof($fatture); ++$i) {
($fatture[$i]['n2_fattura'] != '') ? $n_fattura = $fatture[$i]['n2_fattura'] : $n_fattura = $fatture[$i]['n_fattura']; ($fatture[$i]['n2_fattura'] != '') ? $n_fattura = $fatture[$i]['n2_fattura'] : $n_fattura = $fatture[$i]['n_fattura'];
$id_module = Modules::get('Fatture di vendita')['id']; $link_id = Modules::get('Fatture di vendita')['id'];
echo "<tr><td class='first_cell text-left'><a href='".ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$fatture[$i]['iddocumento']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">Fatt. n. ".$n_fattura."</a></td>\n"; echo "<tr><td class='first_cell text-left'><a href='".ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$fatture[$i]['iddocumento']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">Fatt. n. ".$n_fattura."</a></td>\n";
echo "<td class='table_cell text-left'>".Translator::dateToLocale($fatture[$i]['data_fattura'])."</td>\n"; echo "<td class='table_cell text-left'>".Translator::dateToLocale($fatture[$i]['data_fattura'])."</td>\n";
echo "<td class='table_cell text-right'>".Translator::numberToLocale($fatture[$i]['costo_unitario'])." &euro;</td></tr>\n"; echo "<td class='table_cell text-right'>".Translator::numberToLocale($fatture[$i]['costo_unitario'])." &euro;</td></tr>\n";
@@ -84,8 +84,8 @@ switch ($resource) {
for ($i = 0; $i < sizeof($fatture); ++$i) { for ($i = 0; $i < sizeof($fatture); ++$i) {
($fatture[$i]['n2_fattura'] != '') ? $n_fattura = $fatture[$i]['n2_fattura'] : $n_fattura = $fatture[$i]['n_fattura']; ($fatture[$i]['n2_fattura'] != '') ? $n_fattura = $fatture[$i]['n2_fattura'] : $n_fattura = $fatture[$i]['n_fattura'];
$id_module = Modules::get('Fatture di acquisto')['id']; $link_id = Modules::get('Fatture di acquisto')['id'];
echo "<tr><td class='first_cell text-left'><a href='".ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$fatture[$i]['iddocumento']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">Fatt. n. ".$n_fattura."</a></td>\n"; echo "<tr><td class='first_cell text-left'><a href='".ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$fatture[$i]['iddocumento']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">Fatt. n. ".$n_fattura."</a></td>\n";
echo "<td class='table_cell text-left'>".Translator::dateToLocale($fatture[$i]['data_fattura'])."</td>\n"; echo "<td class='table_cell text-left'>".Translator::dateToLocale($fatture[$i]['data_fattura'])."</td>\n";
echo "<td class='table_cell text-right'>".Translator::numberToLocale($fatture[$i]['costo_unitario'])." &euro;</td></tr>\n"; echo "<td class='table_cell text-right'>".Translator::numberToLocale($fatture[$i]['costo_unitario'])." &euro;</td></tr>\n";

View File

@@ -2,7 +2,7 @@
include_once __DIR__.'/../../../core.php'; include_once __DIR__.'/../../../core.php';
$id_module = Modules::get('Articoli')['id']; $link_id = Modules::get('Articoli')['id'];
$fields = [ $fields = [
'Codice' => 'codice', 'Codice' => 'codice',
@@ -31,7 +31,7 @@ $rs = $dbo->fetchArray($query);
foreach ($rs as $r) { foreach ($rs as $r) {
$result = []; $result = [];
$result['link'] = ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$r['id']; $result['link'] = ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$r['id'];
$result['title'] = $r['codice'].' - '.$r['descrizione']; $result['title'] = $r['codice'].' - '.$r['descrizione'];
$result['category'] = 'Articoli'; $result['category'] = 'Articoli';

View File

@@ -2,7 +2,7 @@
include_once __DIR__.'/../../../core.php'; include_once __DIR__.'/../../../core.php';
$id_module = Modules::get('Automezzi')['id']; $link_id = Modules::get('Automezzi')['id'];
$fields = [ $fields = [
'Nome' => 'nome', 'Nome' => 'nome',
@@ -29,7 +29,7 @@ $rs = $dbo->fetchArray($query);
foreach ($rs as $r) { foreach ($rs as $r) {
$result = []; $result = [];
$result['link'] = ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$r['id']; $result['link'] = ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$r['id'];
$result['title'] = $r['nome']; $result['title'] = $r['nome'];
$result['category'] = 'Automezzi'; $result['category'] = 'Automezzi';

View File

@@ -30,11 +30,11 @@ foreach ($rs as $r) {
$result = []; $result = [];
$module = ($r['dir'] == 'uscita') ? 'Ddt di acquisto' : 'Ddt di vendita'; $module = ($r['dir'] == 'uscita') ? 'Ddt di acquisto' : 'Ddt di vendita';
$id_module = Modules::get($module)['id']; $link_id = Modules::get($module)['id'];
$numero = empty($r['numero_esterno']) ? $r['numero'] : $r['numero_esterno']; $numero = empty($r['numero_esterno']) ? $r['numero'] : $r['numero_esterno'];
$result['link'] = ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$r['id']; $result['link'] = ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$r['id'];
$result['title'] = $r['tipologia'].' num. '.$numero.' del '.Translator::dateToLocale($r['data']); $result['title'] = $r['tipologia'].' num. '.$numero.' del '.Translator::dateToLocale($r['data']);
$result['category'] = $r['tipologia']; $result['category'] = $r['tipologia'];

View File

@@ -32,11 +32,11 @@ foreach ($rs as $r) {
$result = []; $result = [];
$module = ($r['dir'] == 'uscita') ? 'Fatture di acquisto' : 'Fatture di vendita'; $module = ($r['dir'] == 'uscita') ? 'Fatture di acquisto' : 'Fatture di vendita';
$id_module = Modules::get($module)['id']; $link_id = Modules::get($module)['id'];
$numero = empty($r['numero_esterno']) ? $r['numero'] : $r['numero_esterno']; $numero = empty($r['numero_esterno']) ? $r['numero'] : $r['numero_esterno'];
$result['link'] = ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$r['id']; $result['link'] = ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$r['id'];
$result['title'] = $r['tipologia'].' num. '.$numero.' del '.Translator::dateToLocale($r['data']); $result['title'] = $r['tipologia'].' num. '.$numero.' del '.Translator::dateToLocale($r['data']);
$result['category'] = $r['tipologia']; $result['category'] = $r['tipologia'];

View File

@@ -456,7 +456,7 @@ $(".btn-sm[data-toggle=\"tooltip\"]").each(function() {
form.find("input:disabled, select:disabled").removeAttr("disabled"); form.find("input:disabled, select:disabled").removeAttr("disabled");
$.ajax({ $.ajax({
url: globals.rootdir + "/modules/fatture/actions.php?id_module=" + globals.id_module , url: globals.rootdir + "/actions.php?id_module=" + globals.id_module ,
cache: false, cache: false,
type: "POST", type: "POST",
processData: false, processData: false,

View File

@@ -2,7 +2,7 @@
include_once __DIR__.'/../../../core.php'; include_once __DIR__.'/../../../core.php';
$id_module = Modules::get('Interventi')['id']; $link_id = Modules::get('Interventi')['id'];
$fields = [ $fields = [
'Codice intervento' => 'codice', 'Codice intervento' => 'codice',
@@ -33,7 +33,7 @@ $rs = $dbo->fetchArray($query);
foreach ($rs as $r) { foreach ($rs as $r) {
$result = []; $result = [];
$result['link'] = ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$r['id']; $result['link'] = ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$r['id'];
$result['title'] = 'Intervento '.$r['codice'].' del '.Translator::dateToLocale($r['data']); $result['title'] = 'Intervento '.$r['codice'].' del '.Translator::dateToLocale($r['data']);
$result['category'] = 'Interventi'; $result['category'] = 'Interventi';

View File

@@ -2,7 +2,7 @@
include_once __DIR__.'/../../../core.php'; include_once __DIR__.'/../../../core.php';
$id_module = Modules::get('MyImpianti')['id']; $link_id = Modules::get('MyImpianti')['id'];
$fields = [ $fields = [
'Matricola' => 'matricola', 'Matricola' => 'matricola',
@@ -32,7 +32,7 @@ $rs = $dbo->fetchArray($query);
foreach ($rs as $r) { foreach ($rs as $r) {
$result = []; $result = [];
$result['link'] = ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$r['id']; $result['link'] = ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$r['id'];
$result['title'] = $r['matricola'].' - '.$r['nome']; $result['title'] = $r['matricola'].' - '.$r['nome'];
$result['category'] = 'MyImpianti'; $result['category'] = 'MyImpianti';

View File

@@ -2,7 +2,7 @@
include_once __DIR__.'/../../../core.php'; include_once __DIR__.'/../../../core.php';
$id_module = Modules::get('Preventivi')['id']; $link_id = Modules::get('Preventivi')['id'];
$fields = [ $fields = [
'Codice preventivo' => 'numero', 'Codice preventivo' => 'numero',
@@ -29,7 +29,7 @@ $rs = $dbo->fetchArray($query);
foreach ($rs as $r) { foreach ($rs as $r) {
$result = []; $result = [];
$result['link'] = ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$r['id']; $result['link'] = ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$r['id'];
$result['title'] = 'Preventivo '.$r['numero']; $result['title'] = 'Preventivo '.$r['numero'];
if ($rs[$r]['data_accettazione'] == '0000-00-00') { if ($rs[$r]['data_accettazione'] == '0000-00-00') {

View File

@@ -106,7 +106,7 @@ class API extends \Util\Singleton
try { try {
if (in_array($resource, array_keys($resources))) { if (in_array($resource, array_keys($resources))) {
// Inclusione funzioni del modulo // Inclusione funzioni del modulo
include_once App::filepath(DOCROOT.'/modules/'.$resources[$resource].'|custom|', 'modutil.php'); include_once App::filepath('modules/'.$resources[$resource].'|custom|', 'modutil.php');
// Esecuzione delle operazioni personalizzate // Esecuzione delle operazioni personalizzate
$filename = DOCROOT.'/modules/'.$resources[$resource].'/api/'.$kind.'.php'; $filename = DOCROOT.'/modules/'.$resources[$resource].'/api/'.$kind.'.php';
@@ -222,7 +222,7 @@ class API extends \Util\Singleton
} }
// Inclusione funzioni del modulo // Inclusione funzioni del modulo
include_once App::filepath(DOCROOT.'/modules/'.$resources[$resource].'|custom|', 'modutil.php'); include_once App::filepath('modules/'.$resources[$resource].'|custom|', 'modutil.php');
// Database // Database
$dbo = $database = Database::getConnection(); $dbo = $database = Database::getConnection();

View File

@@ -374,8 +374,11 @@ class App
*/ */
public static function replacePlaceholder($query) public static function replacePlaceholder($query)
{ {
$id_module = filter('id_module');
$id_parent = filter('id_parent'); $id_parent = filter('id_parent');
$id_module = Modules::getCurrent()['id'];
$id_plugin = Plugins::getCurrent()['id'];
$user = Auth::user(); $user = Auth::user();
$segment = !empty($_SESSION['module_'.$id_module]['id_segment']); $segment = !empty($_SESSION['module_'.$id_module]['id_segment']);

View File

@@ -51,15 +51,15 @@ class HTMLBuilder
/** @var array Elenco dei gestori dei campi HTML */ /** @var array Elenco dei gestori dei campi HTML */
protected static $handlers = [ protected static $handlers = [
'list' => [ 'list' => [
'default' => 'HTMLBuilder\Handler\DefaultHandler', 'default' => Handler\DefaultHandler::class,
'image' => 'HTMLBuilder\Handler\MediaHandler', 'image' => Handler\MediaHandler::class,
'select' => 'HTMLBuilder\Handler\SelectHandler', 'select' => Handler\SelectHandler::class,
'checkbox' => 'HTMLBuilder\Handler\ChoicesHandler', 'checkbox' => Handler\ChoicesHandler::class,
'radio' => 'HTMLBuilder\Handler\ChoicesHandler', 'radio' => Handler\ChoicesHandler::class,
'bootswitch' => 'HTMLBuilder\Handler\ChoicesHandler', 'bootswitch' => Handler\ChoicesHandler::class,
'timestamp' => 'HTMLBuilder\Handler\DateHandler', 'timestamp' => Handler\DateHandler::class,
'date' => 'HTMLBuilder\Handler\DateHandler', 'date' => Handler\DateHandler::class,
'time' => 'HTMLBuilder\Handler\DateHandler', 'time' => Handler\DateHandler::class,
'ckeditor' => Handler\CKEditorHandler::class, 'ckeditor' => Handler\CKEditorHandler::class,
], ],
'instances' => [], 'instances' => [],
@@ -67,18 +67,18 @@ class HTMLBuilder
/** @var array Generatore del contenitore per i campi HTML */ /** @var array Generatore del contenitore per i campi HTML */
protected static $wrapper = [ protected static $wrapper = [
'class' => 'HTMLBuilder\Wrapper\HTMLWrapper', 'class' => Wrapper\HTMLWrapper::class,
'istance' => null, 'istance' => null,
]; ];
/** @var array Elenco dei gestori delle strutture HTML */ /** @var array Elenco dei gestori delle strutture HTML */
protected static $managers = [ protected static $managers = [
'list' => [ 'list' => [
'filelist_and_upload' => 'HTMLBuilder\Manager\FileManager', 'filelist_and_upload' => Manager\FileManager::class,
'button' => 'HTMLBuilder\Manager\ButtonManager', 'button' => Manager\ButtonManager::class,
'csrf' => 'HTMLBuilder\Manager\CSRFManager', 'csrf' => Manager\CSRFManager::class,
'custom_fields' => 'HTMLBuilder\Manager\FieldManager', 'custom_fields' => Manager\FieldManager::class,
'widgets' => 'HTMLBuilder\Manager\WidgetManager', 'widgets' => Manager\WidgetManager::class,
], ],
'instances' => [], 'instances' => [],
]; ];

View File

@@ -2,6 +2,8 @@
namespace HTMLBuilder\Wrapper; namespace HTMLBuilder\Wrapper;
use Modules;
/** /**
* @since 2.3 * @since 2.3
*/ */
@@ -98,17 +100,16 @@ class HTMLWrapper implements WrapperInterface
$pieces = explode('|', $string); $pieces = explode('|', $string);
$id_module = $pieces[1]; $module_id = $pieces[1];
$module = Modules::get($module_id);
$get = !empty($pieces[2]) ? '&'.$pieces[2] : null; $get = !empty($pieces[2]) ? '&'.$pieces[2] : null;
$classes = !empty($pieces[3]) ? ' '.$pieces[3] : null; $classes = !empty($pieces[3]) ? ' '.$pieces[3] : null;
$extras = !empty($pieces[4]) ? ' '.$pieces[4] : null; $extras = !empty($pieces[4]) ? ' '.$pieces[4] : null;
$module = \Modules::get($id_module);
if (in_array($module->permission, ['r', 'rw'])) { if (in_array($module->permission, ['r', 'rw'])) {
$result = ' $result = '
<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.'"> <button '.$extras.' data-href="'.ROOTDIR.'/add.php?id_module='.$module->id.$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>';
} }

View File

@@ -344,16 +344,13 @@ class Modules
/** /**
* Individua il percorso per il file. * Individua il percorso per il file.
* *
* @param string|int $module * @param string|int $element
* @param string $file * @param string $file
* *
* @return string|null * @return string|null
*/ */
public static function filepath($module, $file) public static function filepath($element, $file)
{ {
$module = self::get($module); return self::get($element)->filepath($file);
$directory = 'modules/'.$module['directory'].'|custom|';
return App::filepath($directory, $file);
} }
} }

View File

@@ -78,21 +78,21 @@ class Plugins
// Fix modulo // Fix modulo
$plugin = self::getCurrent(); $plugin = self::getCurrent();
if (isset($plugin)) {
Modules::setCurrent($plugin->module()->id);
}
} }
/** /**
* Individua il percorso per il file. * Individua il percorso per il file.
* *
* @param string|int $plugin * @param string|int $element
* @param string $file * @param string $file
* *
* @return string|null * @return string|null
*/ */
public static function filepath($plugin, $file) public static function filepath($element, $file)
{ {
$plugin = self::get($plugin); return self::get($element)->filepath($file);
$directory = 'plugins/'.$plugin['directory'].'|custom|';
return App::filepath($directory, $file);
} }
} }

View File

@@ -278,7 +278,7 @@ class Prints
$user = Auth::user(); $user = Auth::user();
// Impostazioni di default // Impostazioni di default
$default = include App::filepath(DOCROOT.'/templates/base|custom|', 'settings.php'); $default = include App::filepath('templates/base|custom|', 'settings.php');
// Impostazioni personalizzate della stampa // Impostazioni personalizzate della stampa
$custom = include self::filepath($id_print, 'settings.php'); $custom = include self::filepath($id_print, 'settings.php');

View File

@@ -73,6 +73,10 @@ trait StoreTrait
*/ */
public static function getCurrent() public static function getCurrent()
{ {
if(!isset(self::$current)){
return null;
}
return self::get(self::$current); return self::get(self::$current);
} }