<?php $skip_permissions = true; include_once(__DIR__."/core.php"); $op = filter('op'); $username = filter('username'); // LOGIN switch ($op) { case 'login' : $password = filter('password'); if ($dbo_state == true) { $query = "SELECT *, (SELECT nome FROM zz_gruppi WHERE id=idgruppo) AS gruppo FROM zz_utenti WHERE username=" . prepare($username) . " AND password=MD5(" . prepare($password) . ")"; $rs = $dbo->fetchArray($query); $cont = count($rs); if($cont == 0) { $rs[0]['idutente'] = 0; $rs[0]['enabled'] = 0; $rs[0]['gruppo'] = 0; } logaccessi($rs[0]['idutente'], $username, $password, sizeof($rs), $rs[0]['enabled'], $rs[0]['gruppo']); // loggo gli accessi if ($cont <= 0) { array_push($_SESSION['errors'], _("Autenticazione fallita!")); } else if ($rs[0]['enabled'] == 0) { array_push($_SESSION['errors'], _("Utente non abilitato!")); } else { // registo la chiave per mobile $query_mobile="UPDATE zz_utenti SET chiave_mobile=MD5(CONCAT('".$username."', MD5('".$password."'))) WHERE idutente='".$rs[0]['idutente']."'"; $dbo->query($query_mobile); if (isset($_POST['keep_alive']) && $_POST['keep_alive'] == 'on') { $_SESSION['keep_alive'] = true; } $_SESSION['idutente'] = $rs[0]['idutente']; $_SESSION['idanagrafica'] = $rs[0]['idanagrafica']; $_SESSION['username'] = $rs[0]['username']; $_SESSION['gruppo'] = $rs[0]['gruppo']; // ricerco impostazione utente $rs_profilo = $dbo->fetchArray("SELECT profilo_pannello FROM zz_utenti WHERE idutente=\"".$_SESSION['idutente']."\""); $_SESSION['profilo_pannello']=$rs_profilo[0]['profilo_pannello']; if ($rs[0]['gruppo'] == 'Amministratori') { $_SESSION['is_admin'] = true; } // Auto backup del database giornaliero if (get_var("Backup automatico")) { $folders = glob($backup_dir . '*'); $regexp = '/' . date('Y\-m\-d') . '/'; // Controllo se esiste già un backup zip o folder creato per oggi if (! empty($folders)) { $found = false; foreach ($folders as $folder) { if (preg_match($regexp, $folder, $matches)) { $found = true; } } } if ($found) { array_push($_SESSION['infos'], _("Backup saltato perché già esistente!")); } else if (do_backup()) { array_push($_SESSION['infos'], _("Backup automatico eseguito correttamente!")); } else if ($backup_dir == "") { array_push($_SESSION['errors'], _("Non è possibile eseguire i backup poichè la cartella di backup non esiste!!!")); } else if (! file_exists($backup_dir)) { if (mkdir($backup_dir)) { array_push($_SESSION['infos'], _("La cartella di backup è stata creata correttamente.")); do_backup(); } else { array_push($_SESSION['errors'], _("Non è stato possibile creare la cartella di backup!")); } } } } } break; case 'logout' : logout(); redirect("index.php", "php"); exit(); break; } if (isUserAutenticated() && isset($dbo) && $is_db_installed) { // Redirect al primo modulo su cui l'utente ha accesso se l'utente è già loggato if (isAdminAutenticated()) $q = "SELECT id, module_dir, options FROM zz_modules WHERE parent='0' AND enabled='1' ORDER BY `order` ASC"; else $q = "SELECT id, module_dir, options FROM zz_modules WHERE parent='0' AND enabled='1' AND id IN (SELECT idmodule FROM zz_permessi WHERE idgruppo=(SELECT id FROM zz_gruppi WHERE nome=" . prepare($_SESSION['gruppo']) . ") AND permessi IN ('r', 'rw') ) ORDER BY `order` ASC"; $rs = $dbo->fetchArray($q); if (count($rs) != 0) { for($i = 0; $i < sizeof($rs); $i ++) { if ($rs[$i]['options'] != '') { redirect($rootdir . "/controller.php?id_module=" . $rs[0]['id'], "js"); exit(); } } } else if (! isAdminAutenticated() && $op != 'logout') array_push($_SESSION['errors'], _("L'utente non ha nessun permesso impostato!")); } echo '<!DOCTYPE html> <html class="bg-black"> <head> <meta charset="UTF-8"> <title>' . _("GEST366") . ' ' . _("Login") . '</title> <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"> <link href="' . $css . '/AdminLTE.min.css?v=' . $version . '" rel="stylesheet" type="text/css"> <link href="' . $css . '/_all-skins.min.css?v=' . $version . '" rel="stylesheet" type="text/css"> <link href="' . $css . '/bootstrap.min.css?v=' . $version . '" rel="stylesheet" type="text/css"> <link href="' . $css . '/font-awesome.min.css?v=' . $version . '" rel="stylesheet" type="text/css"> <link href="' . $css . '/jquery-ui.min.css?v=' . $version . '" rel="stylesheet" type="text/css"> <link href="' . $css . '/jquery.steps.min.css?v=' . $version . '" rel="stylesheet" type="text/css"> <link href="' . $css . '/parsley.min.css?v=' . $version . '" rel="stylesheet" type="text/css"> <link href="' . $css . '/style.min.css?v=' . $version . '" rel="stylesheet" type="text/css"> <link href="' . $css . '/switch.css?v=' . $version . '" rel="stylesheet" type="text/css"> <link rel="shortcut icon" href="assets/img/favicon.ico"> <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn\'t work if you view the page via file:// --> <!--[if lt IE 9]> <script src="' . $js . '/html5shiv.min.js?v=' . $version . '"></script> <script src="' . $js . '/respond.min.js?v=' . $version . '"></script> <![endif]--> <script src="' . $js . '/jquery.min.js?v=' . $version . '"></script> <script src="' . $js . '/jquery-ui.min.js?v=' . $version . '"></script> <script src="' . $js . '/jquery.steps.min.js?v=' . $version . '"></script> <script src="' . $js . '/js.cookie.min.js?v=' . $version . '"></script> <script src="' . $js . '/bootstrap.min.js?v=' . $version . '"></script> <script src="' . $js . '/jquery.ui.shake.min.js?v=' . $version . '"></script> <script src="' . $js . '/parsley.min.js?v=' . $version . '"></script> <script src="' . $js . '/i18n/parsleyjs/it.min.js?v=' . $version . '"></script> <script src="' . $js . '/app.min.js?v=' . $version . '"></script> </head> <body class="hold-transition login-page"> <div class="wrapper">'; include ($docroot . "/update/update_checker.php"); $is_db_installed = $dbo->fetchNum("SHOW TABLES LIKE 'zz_modules'"); // Controllo se è una beta e in caso mostro un warning if (strpos($version, "beta") !== false) { echo ' <script>$(document).ready( function(){ $("#beta").addClass("in"); });</script> <div id="beta" class="alert alert-warning alert-dismissable pull-right fade"> <i class="fa fa-warning"></i> <button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button> <b>' . _("Attenzione!") . '</b> ' . _("Stai utilizzando una versione <b>non stabile</b> di Gestionale 360.") . ' </div>'; } if (sizeof($_SESSION['infos']) != 0) { echo ' <div class="box box-center box-success box-solid text-center"> <div class="box-header with-border"> <h3 class="box-title">' . _("Informazioni") . '</h3> </div> <div class="box-body">'; for($i = 0; $i < sizeof($_SESSION['infos']); $i ++) { echo ' <p><i class="fa fa-check"></i> ' . $_SESSION['infos'][$i] . '</p>'; } echo ' </div> </div>'; } if (sizeof($_SESSION['errors']) != 0) { echo ' <div class="box box-center box-danger box-solid text-center"> <div class="box-header with-border"> <h3 class="box-title">' . _("Errori") . '</h3> </div> <div class="box-body">'; for($i = 0; $i < sizeof($_SESSION['errors']); $i ++) { echo ' <p><i class="fa fa-warning"></i> ' . $_SESSION['errors'][$i] . '</p>'; } echo ' </div> </div> <script> $(document).ready( function(){ $(".login-box").shake(); }); </script>'; } unset($_SESSION['infos']); unset($_SESSION['errors']); // Cerco logo e descrizione $query_logo="Select * from zz_utenti_logo"; $rs_logo = $dbo->fetchArray($query_logo); $file_logo=$rootdir."/assets/img/".$rs_logo[0]['immagine']; $descr_logo=$rs_logo[0]['descrizione']; $_SESSION['nome_gestonale360'] = $descr_logo; echo ' <form action="?op=login" method="post" class="login-box box"> <div class="box-header with-border text-center"> <img src="' . $file_logo . '" class="img-thumbnail" alt="' . _("") . '"> </div> <!-- /.box-header --> <div class="login-box-body box-body"> <div class="form-group input-group"> <span class="input-group-addon"><i class="fa fa-user"></i> </span> <input type="text" name="username" autocomplete="off" class="form-control" placeholder="' . _("Nome utente") . '"'; if(isset($username)) echo ' value="' . $username . '"'; echo'> </div> <div class="form-group input-group"> <span class="input-group-addon"><i class="fa fa-lock"></i> </span> <input type="password" name="password" autocomplete="off" class="form-control" placeholder="' . _("Password") . '"> </div> <div class="form-group"> <input type="checkbox" name="keep_alive"'; if (filter("keep_alive") != null) echo ' checked'; echo '/> ' . _("Mantieni attiva la sessione") . ' </div> </div> <!-- /.box-body --> <div class="box-footer"> <button type="submit" id="login" class="btn btn-danger btn-block">' . _("Accedi") . '</button> </div> <!-- box-footer --> </form> <!-- /.box --> </div> <script> $(document).ready( function(){ $("#login").click(function(){ $("#login").text(\''; if (isset($is_db_installed) && $is_db_installed == 1 && get_var("Backup automatico")) echo _("Backup automatico in corso..."); else echo _("Autenticazione..."); echo '\'); }); if( $(\'input[name=username]\').val() == \'\' ){ $(\'input[name=username]\').focus(); } else{ $(\'input[name=password]\').focus(); } }); </script> </body> </html>'; ?>