mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-06-05 22:09:38 +02:00
Introduzione inizializzazione di OSM
Introduzione della sezione di inizializzazione delle informazioni di base per il funzionamento del gestionale.
This commit is contained in:
171
include/init/init.php
Normal file
171
include/init/init.php
Normal file
@@ -0,0 +1,171 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
$has_azienda = $dbo->fetchNum('SELECT * FROM `an_anagrafiche` LIMIT 1') != 0;
|
||||
$has_user = $dbo->fetchNum('SELECT * FROM `zz_users` LIMIT 1') != 0;
|
||||
|
||||
if (Update::isUpdateAvailable() || ($has_azienda && $has_user)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$pageTitle = tr('Inizializzazione');
|
||||
|
||||
include_once App::filepath('include|custom|', 'top.php');
|
||||
|
||||
// Controllo sull'esistenza di nuovi parametri di configurazione
|
||||
if (post('action') == 'init') {
|
||||
// Azienda predefinita
|
||||
if (!$has_azienda) {
|
||||
Filter::set('post', 'op', 'add');
|
||||
$id_module = Modules::get('Anagrafiche')['id'];
|
||||
include DOCROOT.'/modules/anagrafiche/actions.php';
|
||||
|
||||
// Logo stampe
|
||||
if (!empty($_FILES) && !empty($_FILES['blob']['name'])) {
|
||||
$file_id = Uploads::upload($_FILES['blob']['tmp_name'], $_FILES['blob']['name'], DOCROOT.'/files/anagrafiche', [
|
||||
'name' => 'Logo stampe',
|
||||
'id_module' => $id_module,
|
||||
'id_record' => $id_record,
|
||||
]);
|
||||
|
||||
$file = $dbo->selectOne('zz_files', ['filename'], [
|
||||
'id' => $file_id,
|
||||
]);
|
||||
|
||||
Settings::set('Logo stampe', $file['filename']);
|
||||
}
|
||||
}
|
||||
|
||||
// Utente amministratore
|
||||
if (!$has_user) {
|
||||
$admin = $dbo->selectOne('zz_groups', ['id'], [
|
||||
'nome' => 'Amministratori',
|
||||
]);
|
||||
|
||||
$dbo->insert('zz_users', [
|
||||
'username' => post('admin_username'),
|
||||
'password' => Auth::hashPassword(post('admin_password')),
|
||||
'email' => post('admin_email'),
|
||||
'idgruppo' => $admin['id'],
|
||||
'idanagrafica' => isset($id_record) ? $id_record : 0,
|
||||
'enabled' => 1,
|
||||
]);
|
||||
}
|
||||
|
||||
redirect(ROOTDIR, 'js');
|
||||
exit();
|
||||
}
|
||||
|
||||
$img = App::getPaths()['img'];
|
||||
|
||||
// Visualizzazione dell'interfaccia di impostazione iniziale, nel caso il file di configurazione sia mancante oppure i paramentri non siano sufficienti
|
||||
echo '
|
||||
<div class="box box-center-large box-warning">
|
||||
<div class="box-header with-border text-center">
|
||||
<img src="'.$img.'/logo.png" alt="'.tr('OSM Logo').'">
|
||||
<h3 class="box-title">'.tr('OpenSTAManager').'</h3>
|
||||
</div>
|
||||
|
||||
<div class="box-body">
|
||||
<form action="" method="post" id="init-form" enctype="multipart/form-data">
|
||||
<input type="hidden" name="action" value="init">';
|
||||
|
||||
if (!$has_user) {
|
||||
echo '
|
||||
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">'.tr('Amministrazione').'</h3>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
{[ "type": "text", "label": "'.tr('Username').'", "name": "admin_username", "value": "'.$osm_password.'", "placeholder": "'.tr("Digita l'username dell'amministratore").'", "required": 1 ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "password", "label": "'.tr('Password').'", "name": "admin_password", "value": "'.$osm_password.'", "placeholder": "'.tr("Digita la password dell'amministratore").'", "required": 1 ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "email", "label": "'.tr('Email').'", "name": "admin_email", "value": "'.$osm_email.'", "placeholder": "'.tr("Digita l'indirizzo email dell'amministratore").'" ]}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
if (!$has_azienda) {
|
||||
echo '
|
||||
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">'.tr('Azienda predefinita').'</h3>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">';
|
||||
|
||||
$idtipoanagrafica = $dbo->fetchArray("SELECT idtipoanagrafica FROM an_tipianagrafiche WHERE descrizione='Azienda'")[0]['idtipoanagrafica'];
|
||||
$readonly_tipo = true;
|
||||
|
||||
ob_start();
|
||||
include DOCROOT.'/modules/anagrafiche/add.php';
|
||||
$anagrafica = ob_get_clean();
|
||||
|
||||
echo str_replace('</form>', '', $anagrafica);
|
||||
|
||||
echo '
|
||||
<div class="box box-success collapsed-box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">'.tr('Logo stampe').'</h3>
|
||||
<div class="box-tools pull-right">
|
||||
<button type="button" class="btn btn-box-tool" data-widget="collapse">
|
||||
<i class="fa fa-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body collapse">
|
||||
|
||||
<div class="col-md-12">
|
||||
{[ "type": "file", "placeholder": "'.tr('File').'", "name": "blob" ]}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
echo '
|
||||
</div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
echo '
|
||||
<!-- PULSANTI -->
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<span>*<small><small>'.tr('Campi obbligatori').'</small></small></span>
|
||||
</div>
|
||||
<div class="col-md-4 text-right">
|
||||
<button type="submit" id="config" class="btn btn-success btn-block">
|
||||
<i class="fa fa-cog"></i> '.tr('Configura').'
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
echo '
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
$("button[type=submit]").not("#config").remove();
|
||||
});
|
||||
</script>
|
||||
<script src="'.$rootdir.'/lib/functions.js"></script>
|
||||
<script src="'.$rootdir.'/lib/init.js"></script>';
|
||||
|
||||
include_once App::filepath('include|custom|', 'bottom.php');
|
||||
|
||||
exit();
|
Reference in New Issue
Block a user