270 lines
8.4 KiB
PHP
270 lines
8.4 KiB
PHP
<?php
|
|
/*
|
|
|
|
File con utili funzioni generali
|
|
|
|
*/
|
|
use App\Models\Commesse_Model;
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
|
|
|
|
// Funzione che imposta i dati della sessione in base al alvoratore che si è loggato
|
|
function SetUserSession($lavoratore){
|
|
try {
|
|
$data = [
|
|
'lavoratore' => $lavoratore,
|
|
'isLoggedIn' => true,
|
|
'pager_num' => 20,
|
|
'filter_dal' => date("Y-m-d", strtotime("first day of this month")),
|
|
'filter_al' => date("Y-m-d", strtotime("last day of this month")),
|
|
'filter_tipo_ore' => '-1',
|
|
'filter_commessa' => '-1',
|
|
'filter_rimborso' => '-1',
|
|
'filter_ccStato' => '-1',
|
|
'filter_caStato' => '-1',
|
|
'filter_smStato' => '-1',
|
|
'filter_cc' => '-1',
|
|
'filter_car' => '-1',
|
|
'filter_sim' => '-1',
|
|
'sort' => [
|
|
'tab' => 'Lavoratori',
|
|
'col'=> 'lvIDLavoratore',
|
|
'dir'=> 'ASC',
|
|
],
|
|
];
|
|
if ($lavoratore->Level>=4) {
|
|
// root di default non filtra gli utenti
|
|
$data['filter_lavoratore'] = '-1';
|
|
} else {
|
|
if ($lavoratore->Level>=3) {
|
|
// Gli amministratori filtrano gli utenti ma possono editare il filtro
|
|
$data['filter_lavoratore'] = $lavoratore->lvIDlavoratore;
|
|
} else {
|
|
// Gli utenti normali filtrano per se stessi
|
|
$data['filter_lavoratore'] = $lavoratore->lvIDlavoratore;
|
|
}
|
|
}
|
|
|
|
session()->set($data);
|
|
|
|
return true;
|
|
} catch (Exception $e) {
|
|
return false;
|
|
}
|
|
}//function setUserSession
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
|
|
|
|
// Funzione che verifica se l'utente loggato ha il livello richiesto: 0=Guest; 1=Oper; 2=Inven; 3=Admin; 4=Root
|
|
function CheckLevel($level=0, $verbose = true){
|
|
|
|
// Verifico sessione e livello:
|
|
if ( (session()->get('lavoratore') != null) && (session()->get('lavoratore')->lvLevel>=$level) ) {
|
|
return true;
|
|
}
|
|
|
|
if ($verbose) {
|
|
session()->setFlashdata('warning', 'AMMINISTRAZIONE:<br /> L\'utente utilizzato non ha i diritti necessari per la sezione richiesta.');
|
|
}
|
|
return false;
|
|
} // function CheckLevel
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
|
|
/**
|
|
* Verifico se l'ordinamento atuale riguarda la tabella in uso, se init true, forzo i valori di default
|
|
*/
|
|
function CheckSort($tab, $init=false){
|
|
try {
|
|
$data = [];
|
|
helper(['tools']);
|
|
|
|
$sort = session()->get('sort');
|
|
|
|
if ($sort['tab']==$tab){
|
|
return true;
|
|
}
|
|
|
|
if ($init){
|
|
$sort['tab'] = $tab;
|
|
switch ($tab) {
|
|
case 'articoli':
|
|
case 'Articoli':
|
|
$sort['col'] = 'arIDarticolo';
|
|
$sort['dir'] = 'ASC';
|
|
break;
|
|
case 'articoloevents':
|
|
case 'ArticoloEvents':
|
|
$sort['col'] = 'earData';
|
|
$sort['dir'] = 'DESC';
|
|
break;
|
|
case 'categorie':
|
|
case 'Categorie':
|
|
$sort['col'] = 'caNome';
|
|
$sort['dir'] = 'ASC';
|
|
break;
|
|
case 'clienti':
|
|
case 'Clienti':
|
|
$sort['col'] = 'clNome';
|
|
$sort['dir'] = 'ASC';
|
|
break;
|
|
case 'commesse':
|
|
case 'Commesse':
|
|
$sort['col'] = 'coNome';
|
|
$sort['dir'] = 'ASC';
|
|
break;
|
|
case 'evncredit':
|
|
case 'creditcardevents':
|
|
case 'CreditCardEvents':
|
|
$sort['col'] = 'eccData';
|
|
$sort['dir'] = 'DESC';
|
|
break;
|
|
case 'credit':
|
|
case 'creditcards':
|
|
case 'CreditCards':
|
|
$sort['col'] = 'ccNumero';
|
|
$sort['dir'] = 'ASC';
|
|
break;
|
|
case 'evncar':
|
|
case 'csicocarevents':
|
|
case 'CSiCoCarEvents':
|
|
$sort['col'] = 'ecaData';
|
|
$sort['dir'] = 'DESC';
|
|
break;
|
|
case 'cars':
|
|
case 'csicocars':
|
|
case 'CSiCoCars':
|
|
$sort['col'] = 'caTarga';
|
|
$sort['dir'] = 'ASC';
|
|
break;
|
|
case 'issues':
|
|
case 'Issues':
|
|
$sort['col'] = 'isIDissue';
|
|
$sort['dir'] = 'DESC';
|
|
break;
|
|
case 'anagrafica':
|
|
case 'lavoratori':
|
|
case 'Lavoratori':
|
|
$sort['col'] = 'lvNickname';
|
|
$sort['dir'] = 'ASC';
|
|
break;
|
|
case 'orari':
|
|
case 'Orari':
|
|
$sort['col'] = 'orData';
|
|
$sort['dir'] = 'DESC';
|
|
break;
|
|
case 'posizioni':
|
|
case 'Posizioni':
|
|
$sort['col'] = 'psCode';
|
|
$sort['dir'] = 'ASC';
|
|
break;
|
|
case 'evnsim':
|
|
case 'simevents':
|
|
case 'SIMEvents':
|
|
$sort['col'] = 'esmData';
|
|
$sort['dir'] = 'DESC';
|
|
break;
|
|
case 'sims':
|
|
case 'SIMs':
|
|
$sort['col'] = 'smNumero';
|
|
$sort['dir'] = 'ASC';
|
|
break;
|
|
case 'spese':
|
|
case 'Spese':
|
|
$sort['col'] = 'spData';
|
|
$sort['dir'] = 'DESC';
|
|
break;
|
|
case 'staticommessa':
|
|
case 'StatiCommessa':
|
|
$sort['col'] = 'stIDstatoCommessa';
|
|
$sort['dir'] = 'ASC';
|
|
break;
|
|
case 'stime':
|
|
case 'Stime':
|
|
$sort['col'] = 'stIDcommessa';
|
|
$sort['dir'] = 'ASC';
|
|
break;
|
|
case 'tipoore':
|
|
case 'TipoOre':
|
|
$sort['col'] = 'toOrdinamento';
|
|
$sort['dir'] = 'ASC';
|
|
break;
|
|
case 'tipiwork':
|
|
case 'TipiWork':
|
|
$sort['col'] = 'twOrdinamento';
|
|
$sort['dir'] = 'ASC';
|
|
break;
|
|
default:
|
|
throw new Exception("Not find the sort reference!");
|
|
}
|
|
session()->set('sort', $sort);
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
} catch (Exception $e) {
|
|
return false;
|
|
}
|
|
}//function CheckSort
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
|
|
/**
|
|
* Imposta l'ìordinamento voluto per la tabella visualizzata:
|
|
*/
|
|
function SetSort($tab, $col, $dir){
|
|
try {
|
|
$data = [];
|
|
helper(['tools']);
|
|
|
|
$sort = session()->get('sort');
|
|
$sort['tab'] = $tab;
|
|
$sort['col'] = $col;
|
|
$sort['dir'] = $dir;
|
|
|
|
session()->set('sort', $sort);
|
|
return true;
|
|
} catch (Exception $e) {
|
|
return false;
|
|
}
|
|
}//function CheckSort
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
|
|
function UpdateCommessa($IDcommessa){
|
|
$model = new Commesse_Model();
|
|
$newData = [
|
|
'coIDcommessa' => $IDcommessa,
|
|
];
|
|
$model->save($newData);
|
|
}
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
|
|
function Field_Text(){
|
|
|
|
}
|
|
|
|
|
|
//--------------------------------------------------------------------
|
|
|
|
|