gestione gare pubbliche
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 
 

283 righe
15 KiB

<?
$configPath = substr(__DIR__,0,strpos(__DIR__,"/public_html"))."/config.php";
include_once($configPath);
if (!empty($_SESSION["utente"]) && $_SESSION["utente"]->permission($radice) && !empty($_GET["codice_form"])) {
$bind = array();
$bind[":codice"]=$_GET["codice_form"];
$sql = "SELECT * FROM b_form WHERE codice = :codice AND soft_delete = 'N' ";
$risultato = $pdo->go($sql,$bind);
if ($risultato->rowCount() > 0) {
$form = $risultato->fetch(PDO::FETCH_ASSOC);
if ($_SESSION["utente"]->permission($radice,$form["codice"])) {
$bind = array();
$bind[":codice"]=$_GET["codice"];
$sql = "SELECT * FROM b_form_group WHERE codice = :codice AND soft_delete = 'N' ";
$risultato = $pdo->go($sql,$bind);
if ($risultato->rowCount() > 0) {
$record = $risultato->fetch(PDO::FETCH_ASSOC);
} else if (empty($_GET["codice"]) && $_SESSION["utente"]->permission($radice)) {
$record = get_campi("b_form_group");
if (!empty($_GET["codice_gruppo"])) { $record["codice_gruppo"] = $_GET["codice_gruppo"]; }
}
}
}
if (!empty($record)) {
if (!empty($record["codice_gruppo"])) {
$bind = array();
$bind[":codice"]=$record["codice_gruppo"];
$sql = "SELECT * FROM b_form_group WHERE codice = :codice AND soft_delete = 'N' ";
$risultato = $pdo->go($sql,$bind);
if ($risultato->rowCount() > 0) {
$gruppo = $risultato->fetch(PDO::FETCH_ASSOC);
}
}
$breadcrumb = array();
$breadcrumb["/impostazioni/index.php"] = __("Avanzate");
$breadcrumb["/".$radice."/"] = Modulo::getInfo($radice)["titolo"];
$breadcrumb["/".$radice."/edit.php?codice=".$form["codice"]] = json_decode($form["titolo"],true)[$_SESSION["language"]];
if (!empty($gruppo)) { $breadcrumb["/".$radice."/edit-group.php?codice=".$gruppo["codice"]."&codice_form=".$form["codice"]] = json_decode($gruppo["titolo"],true)[$_SESSION["language"]]; }
$breadcrumb[""] = __("Modifica");
include_once ($beRoot."/layout/top.php");
?>
<form rel="validate" method="post" action="save-group.php" id="edit-form">
<input id="token" type="hidden" name="token" value="<?= tokenGen() ?>">
<input id="codice" type="hidden" name="codice" value="<?= $record["codice"] ?>">
<input id="codice" type="hidden" name="codice_form" value="<?= $form["codice"] ?>">
<input id="codice" type="hidden" name="codice_gruppo" value="<?= $record["codice_gruppo"] ?>">
<div id="commands" class="mb-5">
<div class="commands container-fluid">
<div class="row">
<div class="col-12 text-right">
<button class="btn btn-primary"><span class="fa fa-save"></span> <?= __("Salva") ?></button>
<? if (!empty($record["codice"])) { ?><button onClick="elimina(<?= $record["codice"] ?>,'form/group'); return false" class="btn btn-danger"><span class="fa fa-times"></span> <?= __("Elimina") ?></button><? } ?>
<button title='<?= __("anteprima") ?>' class='btn btn-warning' onclick='showModalWithURL("preview.php?codice=<?= $form["codice"] ?>"); return false;'><span class='fa fa-search'></span> <?= __("Anteprima") ?></button>
</div>
</div>
</div>
</div>
<div class="card mb-3">
<div class="card-header">
<h4 class="mb-0"><?= __("Info") ?></h4>
</div>
<div class="card-body">
<div class="row">
<div class="col-sm-4">
<strong class="h4"><?= __("Titolo") ?></strong><br>
<?
foreach($lang_disp AS $sigla => $arrLang) {
$input = array("name"=>"titolo","id"=>"group-titolo","title"=>__("Titolo"));
$valori = json_decode($record["titolo"],TRUE);
include("dict-form.php");
}
?>
</div>
<div class="col-sm-8">
<strong class="h4"><?= __("Descrizione") ?></strong><br>
<?
foreach($lang_disp AS $sigla => $arrLang) {
$input = array("name"=>"descrizione","id"=>"group-descrizione","title"=>__("Descrizione"));
$valori = json_decode($record["descrizione"],TRUE);
include("dict-form.php");
}
?>
</div>
</div>
<div class="row">
<!-- <div class="form-group">
<label>Bootstrap col</label>
<input type="text" id="group-col" class="form-control" name="col" value="<?= $record["col"] ?>" title="Col" rel="N;2;0;A">
</div> -->
<div class="form-group col-sm-3">
<label>ID</label>
<input type="text" id="group-id" class="form-control" name="id" value="<?= $record["id"] ?>" title="ID" rel="N;2;0;A">
</div>
<?
if (!empty($gruppo)) { ?>
<div class="form-group col-sm-3">
<label><?= __("Multi") ?></label>
<select class="form-control" id="group-multi" name="multi" rel="S;1;1;A" title="<?= __("multi") ?>" onChange="if ($(this).val() == 'S') { $('#group-quesito_condizionale').val(''); $('#rowQuesito').slideUp(); } else { $('#rowQuesito').slideDown(); } ">
<option value=""><?= __("seleziona") ?></option>
<option value="S">Si</option>
<option value="N">No</option>
</select>
<? if (!empty($record["multi"])) { ?>
<script>$("#group-multi").val('<?= $record["multi"] ?>');</script>
<? } ?>
</div>
<div class="form-group col-sm-3">
<label><?= __("Obbligatorio") ?>*</label>
<select class="form-control" id="group-obbligatorio" name="obbligatorio" rel="S;1;1;A" title="<?= __("Obbligatorio") ?>">
<option value=""><?= __("seleziona") ?></option>
<option value="S">Si</option>
<option value="N">No</option>
</select>
<? if (!empty($record["obbligatorio"])) { ?>
<script>$("#group-obbligatorio").val('<?= $record["obbligatorio"] ?>');</script>
<? } ?>
</div>
<? } ?>
<div class="form-group col-sm-3">
<label><?= __("attivo") ?></label>
<select class="form-control" id="group-attivo" name="attivo" rel="S;1;1;A" title="<?= __("attivo") ?>">
<option value=""><?= __("seleziona") ?></option>
<option value="S">Si</option>
<option value="N">No</option>
</select>
<? if (!empty($record["attivo"])) { ?>
<script>$("#group-attivo").val('<?= $record["attivo"] ?>');</script>
<? } ?>
</div>
</div>
<div class="row <?= ($record["multi"] == "S") ? "collapse" : "" ?>" id="rowQuesito">
<div class="form-group col-12">
<label>
<?= __("Quesito condizionale") ?><br>
<small><?= __("Impostando il quesito sarà automaticamente predisposta una domanda con risposta SI/NO dove in caso di risposta affermativa sar&agrave; possibile procedere alla compilazione del form") ?></small>
</label>
<input type="text" id="group-quesito_condizionale" class="form-control" name="quesito_condizionale" value="<?= $record["quesito_condizionale"] ?>" title="Quesito condizionale" rel="N;2;0;A">
</div>
</div>
</div>
</div>
<? if (!empty($record["codice"])) { ?>
<div class="card mb-3">
<div class="card-body">
<div id="components">
<?
$sql = "SELECT * FROM b_form_group WHERE codice_gruppo = :codice_gruppo AND soft_delete = 'N' ORDER BY ordinamento ";
$ris = $pdo->go($sql,array(":codice_gruppo"=>$record["codice"]));
if ($ris->rowCount() > 0) {
?>
<table class="table table-striped table-hover">
<thead>
<tr>
<th width="10"></th>
<th><?= __("Titolo") ?></th>
<th><?= __("Descrizione") ?></th>
<th width="10"><?= __("Multi") ?></th>
<th width="10"><?= __("Obbligatorio") ?></th>
<th width="10"></th>
<th width="10"></th>
<th width="10"></th>
<th width="10"></th>
</tr>
</thead>
<tbody id="sortable">
<? while($group = $ris->fetch(PDO::FETCH_ASSOC)) {
$stato = "bg-disabled";
$stato_label = __('disattivo');
if ($group["attivo"]=="S") {
$stato = "bg-active";
$stato_label = __('attivo');
}
$group["titolo"] = json_decode($group["titolo"],true)[$_SESSION["language"]];
$group["descrizione"] = json_decode($group["descrizione"],true)[$_SESSION["language"]];
?>
<tr id="gruppo-<?= $group["codice"] ?>" data-id="<?= $group["codice"] ?>">
<td>
<input class="ordinamento" type="hidden" name="ordinamento[<?= $group["codice"] ?>]" value="<?= $group["ordinamento"] ?>">
<div id="flag_<?= $group["codice"] ?>" class="status_flag <?= $stato ?>"><span class="sr-only"><?= $stato_label ?></span></div>
</td>
<td><strong><?= $group["titolo"] ?></strong></td>
<td><?= $group["descrizione"] ?></td>
<td class="text-center"><?= $group["multi"] ?></td>
<td class="text-center"><?= $group["obbligatorio"] ?></td>
<td class="text-center">
<a href="edit-group.php?codice_form=<?= $form["codice"] ?>&codice=<?= $group["codice"] ?>" title="<?= __("modifica") ?>" class="btn btn-sm btn-info"><span class="fa fa-pencil-alt"></span></a>
</td>
<td class="text-center"><button title="<?= __("Attiva/Disattiva") ?>" class='btn btn-sm btn-warning' onclick='disabilita("<?= $group["codice"] ?>","form/group"); return false;'><span class='fa fa-sync'></span></button></td>
<td class="text-center"><button title="<?= __("elimina") ?>" class='btn btn-sm btn-danger' onclick='elimina("<?= $group["codice"] ?>","form/group"); return false;'><span class='fa fa-times'></span></button></td>
<td>
<span class="handle btn btn-sm btn-muted"><span class="fa fa-sort"></span></span>
</td>
</tr>
<? } ?>
</tbody>
</table>
<script>
$( "#sortable" ).sortable({
handle: ".handle",
update: function( event, ui ) {
$("tr","#sortable").each(function(index, el) {
$(this).find(".ordinamento").val(index);
});
$.ajax({
type: "POST",
url: 'save-order.php',
data: $('.ordinamento').serialize(),
async: true
});
}
});
// $( "#sortable" ).disableSelection();
</script>
<?
} else {
$sql = "SELECT * FROM b_form_input WHERE codice_gruppo = :codice_gruppo AND soft_delete = 'N' ORDER BY ordinamento ";
$ris_input = $pdo->go($sql,array(":codice_gruppo"=>$record["codice"]));
if ($ris_input->rowCount() > 0) {
?>
<div id="sortable">
<?
while($r_input = $ris_input->fetch(PDO::FETCH_ASSOC)) {
$id = $r_input["codice"];
include("edit-input.php");
}
?>
</div>
<script>
$( "#sortable" ).sortable({
handle: ".handle",
update: function( event, ui ) {
$(".input-edit","#sortable").each(function(index, el) {
$(this).find(".ordinamento").val(index);
});
}
});
// $( "#sortable" ).disableSelection();
</script>
<?
}
}
?>
</div>
</div>
<div class="card-footer">
<a id="group-button" <? if (isset($ris_input) && $ris_input->rowCount() > 0) { ?>style="display:none"<? } ?> href="edit-group.php?codice_form=<?= $form["codice"] ?>&codice_gruppo=<?= $record["codice"] ?>&codice=0" title="<?= __("Aggiungi nuovo") ?> <?= __("gruppo") ?>" class="btn btn-lg btn-success btn-block"><span class="fa fa-plus-circle"></span> <?= __("Aggiungi nuovo") ?> <?= __("gruppo") ?></a>
<button id="input-button" <? if ($ris->rowCount() > 0) { ?>style="display:none"<? } ?> onclick="aggiungi('edit-input.php?codice=0','#components'); $('#group-button').slideUp(); return false" class="btn btn-lg btn-success btn-block"><span class="fa fa-plus-circle"></span> <?= __("Aggiungi nuovo") ?> input</button>
</div>
</div>
<? } ?>
</form>
<script>
function addOption(id) {
html = '<div class="input-group input-group-sm" style="margin-bottom:2px;">';
html += '<input type="text" rel="S;1;0;A" title="Option" class="input-sm form-control" name="input['+id+'][opzioni][]">';
html += '<div class="input-group-append"><button class="btn btn btn-sm btn-danger" onClick="$(this).parent().parent().remove(); return false;"><span class="fa fa-times"></span></button></div>';
html += '</div>';
$('#options-'+id+'-list').append(html);
f_ready();
}
function removeEmptyOptions(id) {
$('.input-sm',id).each(function(i,el) {
if ($(el).val() === '') {
$(el).parent().remove();
}
});
}
</script>
<?
include_once ($beRoot."/layout/bottom.php");
} else {
echo '<meta http-equiv="refresh" content="0;URL=/index.php">';
die();
}
} else {
echo '<meta http-equiv="refresh" content="0;URL=/index.php">';
die();
}
?>