<?php defined('YII_DEBUG') or define('YII_DEBUG', true); defined('YII_ENV') or define('YII_ENV', 'dev'); require __DIR__ . '/api/vendor/autoload.php'; require __DIR__ . '/api/vendor/yiisoft/yii2/Yii.php'; $config = require __DIR__ . '/api/config/web.php'; (new yii\web\Application($config)); require_once "doctrine/bootstrap.php"; include 'CheckPoint.php'; include 'CheckPointType.php'; use CheckPoints\CheckPoint; use CheckPointTypes\CheckPointType; header("Expires: 0"); header("Content-Type: text/html; charset=utf-8"); session_start(); if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 6000)) { // last request was more than 30 minutes ago session_unset(); // unset $_SESSION variable for the run-time session_destroy(); // destroy session data in storage } $_SESSION['LAST_ACTIVITY'] = time(); // update last activity time stamp $add = 'Login Area'; foreach (array_keys($_REQUEST) as $var) { ${$var} = $_REQUEST[$var]; //if ($name == "Admin12") { // echo "<b>$var:</b> ${$var} <br>"; //} } if ($act == "exit") { session_unset(); session_destroy(); session_start(); } if ($_SESSION['cmdlevel']) $cmdlevel = $_SESSION['cmdlevel']; if ($_SESSION['hostid']) $agent_id = $_SESSION['hostid']; if ($_SESSION['add']) $add = $_SESSION['add']; if ($_SESSION['id']) $id = $_SESSION['id']; if ($_SESSION['login']) $login = $_SESSION['login']; if ($_SESSION['name']) $name = $_SESSION['name']; foreach (array_keys($_SESSION) as $var) { ${$var} = $_SESSION[$var]; //if ($name == "Admin12") { //echo "from session: <b>$var:</b> ${$var} <br>"; //} } include 'functions.php'; include 'auth.php'; $logged_me_in_successfully234 = 0; $incl = ''; if (!$_SESSION['pass'] && !$_SESSION['login']) { $table = 'accounts'; $result=mysqli_query($link, "SELECT id, login, name, cmdlevel FROM $table WHERE login='".$login."' AND password='".md5($pass)."'"); $res1 = mysqli_fetch_array($result); $cmdlevel = $res1['cmdlevel']; $name = $res1['name']; $id = $res1['id']; if ($cmdlevel == '10') { $add = "Head Administrator"; } else if ($cmdlevel == '1') { $add = "Company Administrator"; } else if ($cmdlevel == '2') { $add = "Company Operator"; } if (mysqli_num_rows($result)) { $_SESSION['pass']=$pass; $_SESSION['login']=$login; $_SESSION['name']=$name; $_SESSION['add']=$add; $_SESSION['cmdlevel']=$cmdlevel; $_SESSION['id']=$id; $logged_me_in_successfully234 = 1; } } else $logged_me_in_successfully234 = 1; $query = mysqli_query($link, "update accounts set last_seen_web =NOW() where id=".$id); $getincl = GetInclude($act, intval($cmdlevel)); $incl = $getincl[0]; $accnum = $getincl[1]; ?> <!DOCTYPE html> <html lang="en"> <head> <!-- Basic Page Needs –––––––––––––––––––––––––––––––––––––––––––––––––– --> <meta charset="utf-8"> <title>ASUS</title> <meta name="description" content=""> <meta name="author" content=""> <!-- Mobile Specific Metas –––––––––––––––––––––––––––––––––––––––––––––––––– --> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- FONT –––––––––––––––––––––––––––––––––––––––––––––––––– --> <link rel="stylesheet" href="/lte/bower_components/bootstrap/dist/css/bootstrap.min.css"> <!-- Font Awesome --> <link rel="stylesheet" href="/lte/bower_components/font-awesome/css/font-awesome.min.css"> <!-- Ionicons --> <link rel="stylesheet" href="/lte/bower_components/Ionicons/css/ionicons.min.css"> <!-- Theme style --> <link rel="stylesheet" href="/lte/dist/css/AdminLTE.min.css"> <!-- AdminLTE Skins. Choose a skin from the css/skins folder instead of downloading all of them to reduce the load. --> <link rel="stylesheet" href="/lte/dist/css/skins/_all-skins.min.css"> <!-- Morris chart --> <link rel="stylesheet" href="/lte/bower_components/morris.js/morris.css"> <!-- jvectormap --> <link rel="stylesheet" href="/lte/bower_components/jvectormap/jquery-jvectormap.css"> <!-- Date Picker --> <link rel="stylesheet" href="/lte/bower_components/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css"> <!-- Daterange picker --> <link rel="stylesheet" href="/lte/bower_components/bootstrap-daterangepicker/daterangepicker.css"> <!-- bootstrap wysihtml5 - text editor --> <link rel="stylesheet" href="/lte/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css"> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic"> <link rel="stylesheet" href="/lte/bower_components/select2/dist/css/select2.min.css"> </head> <body onload="accon(<? echo $accnum;?>)" > <!--<div style="min-width: 960px; height: 100%;">--> <? $mycompany = getCompanyByAccount($id); if (!isset($companyID)) { // echo "ses com ".$_SESSION['company']; if ($_SESSION['company']) $companyID = $_SESSION['company']; else { $companyID = $mycompany[0]; $_SESSION['company'] = $companyID; } } else { $_SESSION['company'] = $companyID; } $companyname = getCompanyByID($companyID)[1]; if ((int)$_POST['appMykey'] == 123465) {$logged_me_in_successfully234 = 1;} if ($logged_me_in_successfully234 == 0) { echo "<center>"; GetEnterForm(); echo("<font color='red'><b>Access denied. Incorrect login or password</b><font>"); echo "</center>"; return; } $asusgTaskTemplatesEntity = \app\models\entity\AsusgTasktemplate::find()->all(); $accountsEntity = \app\models\entity\Accounts::find()->orderBy(['name' => SORT_ASC])->all(); $asusgEmployeeEntity = \app\models\entity\AsusgEmployee::find()->orderBy(['name' => SORT_ASC])->all(); $asusgJobplanEntity = \app\models\entity\AsusgJobplan::find()->orderBy(['name' => SORT_ASC])->all(); $tasksEntity = \app\models\entity\Tasktypes::find()->where(['main_task' => 1])->orderBy(['name' => SORT_ASC])->all(); //$tasksEntity = \app\models\entity\Tasks::find()->all(); //$projectsLocotechEntity = getLocomotiveList(); $projectsLocotechEntity = \app\models\entity\ProjectsLocotech::find()->where(["!=", "uuid" , ''])->all(); $series = LocoSeries::GetAllNames(); $subtasks=0; ?> <!-- HTML --> <div class="wrapper"> <header class="main-header"> <!-- Logo --> <a href="/asusg_plan.php" class="logo"> <!-- mini logo for sidebar mini 50x50 pixels --> <span class="logo-mini"><b>A</b>LT</span> <!-- logo for regular state and mobile devices --> <span class="logo-lg"><b>АСУ</b>СГ</span> </a> <!-- Header Navbar: style can be found in header.less --> <nav class="navbar navbar-static-top"> <!-- Sidebar toggle button--> <a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button"> <span class="sr-only">Toggle navigation</span> </a> </nav> </header> <!-- Left side column. contains the logo and sidebar --> <aside class="main-sidebar"> <!-- sidebar: style can be found in sidebar.less --> <section class="sidebar"> <!-- Sidebar user panel --> <!-- search form --> <form action="#" method="get" class="sidebar-form"> <div class="input-group"> <input type="text" name="q" class="form-control" placeholder="Search..."> <span class="input-group-btn"> <button type="submit" name="search" id="search-btn" class="btn btn-flat"><i class="fa fa-search"></i> </button> </span> </div> </form> <!-- /.search form --> <!-- sidebar menu: : style can be found in sidebar.less --> <ul class="sidebar-menu" data-widget="tree"> <li class="header">Главное меню</li> <li class="active treeview"> <a href="#"> <i class="fa fa-dashboard"></i> <span>Настройки</span> <span class="pull-right-container"> <i class="fa fa-angle-left pull-right"></i> </span> </a> <ul class="treeview-menu"> <li class="active"><a href="asusg_settings.php"><i class="fa fa-circle-o"></i>Соответствие работ</a></li> <li><a href="asusg_settings_employees.php"><i class="fa fa-circle-o"></i>Cоответствие сотрудников</a></li> </ul> </li> </ul> </section> <!-- /.sidebar --> </aside> <!-- Content Wrapper. Contains page content --> <div class="content-wrapper"> <!-- Content Header (Page header) --> <section class="content-header"> <h1> Страница настройки маппинга </h1> <ol class="breadcrumb"> <li><a href="#"><i class="fa fa-dashboard"></i> Home</a></li> <li class="active">Dashboard</li> </ol> </section> <!-- Main content --> <section class="content"> <div class="row"> <div class="col-xs-12"> <div class="box"> <div class="box-header"> <h3 class="box-title">Список сотрудников</h3> </div> <!-- /.box-header --> <div class="box-body"> <table id="example2" class="table table-bordered table-hover"> <thead> <tr> <th style="width: 520px;">Сотрудник АСУ СГ</th> <th style="width: 280px;">ИД сотрудника АСУ СГ</th> <th>Привязка SMoPP</th> </tr> </thead> <tbody> <? foreach($asusgEmployeeEntity as $employee):?> <tr> <td><?php echo "[". $employee->id."] " . $employee->name?></td> <td><?php echo $employee->asu_id;?> </td> <td> <div class="row"> <div class="col-xs-5"> <div class="form-group"> <label>ИД сотрудника SMOPP</label> <select id="selectBindEmployee_<?php echo $employee->asu_id;?>" class="form-control select2" style="width: 100%;"> <? foreach( $accountsEntity as $empl):?> <option <?php echo ($employee->smopp_id == $empl->id)?'selected=selected':'';?> value="<?php echo $empl->id;?>"><?php echo $empl->name?></option> <? endforeach;?> </select> </div> </div> <div class="col-xs-5 col-xs-offset-2"> <div class="form-group"> <label for="exampleInputEmail1">#</label> <button type="button" data_id="<?php echo $employee->asu_id;?>" class="btn btn-block btn-primary selectBindEmployee">Привязать</button> </div> </div> </div> </td> </tr> <? endforeach;?> </tbody> </table> </div> <!-- /.box-body --> </div> </div> <!-- /.box --> </div> </div> </section> <!-- /.content --> </div> <!-- /.content-wrapper --> <footer class="main-footer"> </footer> <!-- Add the sidebar's background. This div must be placed immediately after the control sidebar --> <div class="control-sidebar-bg"></div> </div> <!-- HTML --> <!-- End Document –––––––––––––––––––––––––––––––––––––––––––––––––– --> <script src="/lte/bower_components/jquery/dist/jquery.min.js"></script> <!-- jQuery UI 1.11.4 --> <script src="/lte/bower_components/jquery-ui/jquery-ui.min.js"></script> <!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip --> <script> $.widget.bridge('uibutton', $.ui.button); </script> <!-- Bootstrap 3.3.7 --> <script src="/lte/bower_components/bootstrap/dist/js/bootstrap.min.js"></script> <!-- Morris.js charts --> <script src="/lte/bower_components/raphael/raphael.min.js"></script> <script src="/lte/bower_components/morris.js/morris.min.js"></script> <!-- Sparkline --> <script src="/lte/bower_components/jquery-sparkline/dist/jquery.sparkline.min.js"></script> <!-- jvectormap --> <script src="/lte/plugins/jvectormap/jquery-jvectormap-1.2.2.min.js"></script> <script src="/lte/plugins/jvectormap/jquery-jvectormap-world-mill-en.js"></script> <!-- jQuery Knob Chart --> <script src="/lte/bower_components/jquery-knob/dist/jquery.knob.min.js"></script> <!-- daterangepicker --> <script src="/lte/bower_components/moment/min/moment.min.js"></script> <script src="/lte/bower_components/bootstrap-daterangepicker/daterangepicker.js"></script> <!-- datepicker --> <script src="/lte/bower_components/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js"></script> <!-- Bootstrap WYSIHTML5 --> <script src="/lte/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.min.js"></script> <!-- Slimscroll --> <script src="/lte/bower_components/jquery-slimscroll/jquery.slimscroll.min.js"></script> <!-- FastClick --> <script src="/lte/bower_components/fastclick/lib/fastclick.js"></script> <!-- AdminLTE App --> <script src="/lte/dist/js/adminlte.min.js"></script> <!-- AdminLTE dashboard demo (This is only for demo purposes) --> <script src="/lte/dist/js/pages/dashboard.js"></script> <!-- AdminLTE for demo purposes --> <script src="/lte/dist/js/demo.js"></script> <script src="/loco.js"></script> <script src="/mail.js"></script> <script src="/lte/bower_components/select2/dist/js/select2.full.min.js"></script> </body> </html> <?php function GetEnterForm() { echo "<article> <form method='post' action='?login'> <table> <tr> <td width=70> <b>Login</b> </td> <td> </td> <td> <input type='text' name=login value=''><br/> </td> </tr> <tr> <td> <b>Password </b> </td> <td> </td> <td> <input type='password' name=pass value=''> </td> </tr> <tr> <td></td> <td> </td> <td> <input type='submit' value='Enter'> </td> </tr> </table> </form> </article>"; } function getLocomotiveList(){ $result = []; //var_dump($companyID); $projectsLocotechEntity = \app\models\entity\ProjectsLocotech::find()->where(['company' => 2] )->orderBy(['id' => SORT_DESC])->all(); $listArray = []; foreach( $projectsLocotechEntity as $item){ //var_dump($item->projecttypes->name);echo "\n"; //$tempArray = GetTasksForProject($item->id); $status = GetProjectStatus($item->id); if ($status != 2 && $status != 1) {continue;} $countDone = ['done' => 0, 'all' => 0 ]; foreach( GetTasksForProject($item->id) as $proj) { //var_dump($proj);echo "<br>"; $countDone['all']++; $tempArray = $proj; $tempArray['status'] = CheckAcceptedStatus($proj); $tempArray['name'] = GetTaskNameAndDesc($proj['type'])[0]; //$tempArray['listAccounts'] = $this->getAccountListForTask($proj['type']); if ( 5 == $tempArray['status'] ) {$countDone['done']++;} //$countDone['all'] ." / " . $countDone['done']; $listArray[] = $tempArray; } $result[$item->id]['countDone'] = [ 'done' => $countDone['done'], 'all' => $countDone['all'] ]; //$tempArray['name'] = GetTaskNameAndDesc($tempArray['type'])[0]; $result[$item->id]['arr'] = $listArray;//GetTasksForProject($item->id); $result[$item->id]['obj'] = $item; $listArray = []; } //exit; return $result; } function CheckAcceptedStatus($task) { $result = false; $query = "select if(tx.total = tx.finished, 5, if (tx.accepted <> tx.finished, if(tx.attention > 0, 7, 2), if (tx.accepted = 0, 1, 3))) as taskstatus from (select count(t.id) as total, sum(if(t.accepted_time is not null, 1, 0)) as accepted, sum(if(t.finished_time is not null, 1, 0)) as finished, sum(if(t.finished_time is null, if(timestampdiff(MINUTE, t.accepted_time, NOW()) > tt.time_to_complete_minutes, 1, 0), 0)) as attention from tasks t right join tasktypes tt on t.type = tt.id where t.parent_id = ".$task['id'].") tx;"; $result = \Yii::$app->db->createCommand($query)->queryAll(); $result = $result[0]["taskstatus"]; return $result; } ?>