123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879 |
- <?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();
- require_once 'PHPExcel-1.8.2/Classes/PHPExcel.php';
- $url = explode('?',$_SERVER["REQUEST_URI"])[0];
- 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];
- $project_id = \Yii::$app->request->get('project_id');
- $post = \Yii::$app->request->post();
- if ( $project_id ) {
- \Yii::$app->session->set('ProjectId', $project_id );
- } else {
- $project_id = \Yii::$app->session->get('ProjectId' );
- }
- $projEntity = \app\models\entity\ProjectsLocotech::findOne(['id' => $project_id]);
- //$taskEntity = \app\models\entity\Tasks::find()->where(['input_id' => $project_id])->orderBy(['parent_id' => SORT_ASC,'priority'=> SORT_ASC,'type'=> SORT_ASC,'text'=> SORT_ASC])->all();
- $taskEntity = \app\models\entity\Tasks::find()->where(['input_id' => $project_id])->orderBy(['id'=> SORT_ASC])->all();
- $arrayTest = explode(',',$projEntity->tasks);
- $priorityarray = [];
- $filterSelectArray = [];
- $filterParentIdArray = [];
- $count = 1;
- foreach ( $arrayTest as $m ) {
- $priorityarray[$count * 1000] = $m;
- $count++;
- }
- $priorityarray = array_flip($priorityarray);
- //var_dump($priorityarray);
- $data = '{
- "data": [';
- $currentTime = strtotime(date("Y-m-d H:i:s"));
- $start_date = $currentTime;
- $tempArrayForTasks = [];
- $tempArrayDuringForTasks = [];
- $parent_id = '';
- $tempArrayForStartTime = [];
- $start_date_str = date ( "d-m-Y H:i",$currentTime );
- $tempArrayCountDuringForTasks = [];
- $tempArrayDuringForTasksPlus = [];
- $progress = 0;
- $counter = 0;
- // массив с ожидаемой длительностью родительских тасков
- foreach ( $taskEntity as $task ) {
- $duration = $task->tasktypes->time_to_complete_minutes;
- $tempArrayDuringForTasks[$task->parent_id][] = $duration;
- }
-
- // массив родительских тасков с ожидаемым временем выполнения в часах
- foreach( $tempArrayDuringForTasks as $key => &$a) {
- $tempArrayDuringForTasks[$key] = array_sum($a)*60;
- }
-
- $e = 0;
- foreach ( $taskEntity as $task ) {
-
- $text = \app\models\HelperModel::stripWhitespaces($task->text);
- $readonly = 'true';
- if ( (null != $task->created) and (null == $task->accepted_time) and (null == $task->finished_time) ) {
- $readonly = 'false';
- }
- if ( 0 == $task->parent_id) {//var_dump($task->id,$task->text);
- preg_match('/#(.*)#/', $text, $matches);
- $id_job = $matches[1];
-
- if ( null == $tempArrayDuringForTasksPlus[$id_job]) {
- $tempArrayForStartTime[$task->id] = 0;
- } else {
- $tempArrayForStartTime[$task->id] += $tempArrayDuringForTasksPlus[$id_job]/60;
- }
- if ( null != $task->accepted_time && null == $task->finished_time){
- $start_date_str = date ( "d-m-Y H:i",strtotime($task->accepted_time) );
- }
- }
-
- if ( 0 != $task->parent_id) {
- $parent_id = ', "parent": "'.$task->parent_id.'"';
- }
-
- switch ($task->status) {
- case 5:
- $progress = 1.0;
- break;
- case 1:
- $progress = 0.0;
- break;
- default:
- $progress = 0.5;
- break;
- }
- $start_finish_time = '';
- $duration = $task->tasktypes->time_to_complete_minutes;
- if ( null != $task->accepted_time ){
- $start_finish_time = '/' . date ('H:i' , strtotime($task->accepted_time));
- }
- if ( 'true' === $readonly ) {
- $start_finish_time = '/' . date ('H:i' , strtotime($task->accepted_time)). ' - ' . date ('H:i' , strtotime($task->finished_time));
- }
-
- // ЕСЛИ ККОМАНДА ЗАВЕРШЕНА НАЧАЛО
- if ( null != $task->finished_time ){
- $duration_sec = strtotime($task->finished_time) - strtotime($task->accepted_time);
- $duration = floor($duration_sec/60);
- }
- // ЕСЛИ ККОМАНДА ЗАВЕРШЕНА КОНЕЦ
- // ЕСЛИ ККОМАНДА ВЫПОЛНЯЕТСЯ НО НЕ ЗАВЕРШЕНА НАЧАЛО
- if ( null != $task->accepted_time && null == $task->finished_time){
- $duration_sec = $currentTime - strtotime($task->accepted_time);
- $duration = floor($duration_sec/60);
- }
- // ЕСЛИ ККОМАНДА ВЫПОЛНЯЕТСЯ НО НЕ ЗАВЕРШЕНА КОНЕЦ
- if ( 0 == $task->parent_id) {
- preg_match('/#(.*)#/', $text, $matches);
- $id_job = $matches[1];
- $query = 'SELECT min(coalesce(accepted_time, NOW())) as time FROM tasks WHERE parent_id = ' . $task->id;
- $res = \Yii::$app->db->createCommand($query)->queryOne();
- $timeCompare = $start_date_str = date ('d-m-Y H:i' , strtotime($res['time']));
- $start_date_str = date ('d-m-Y H:i' ,strtotime($start_date_str)+$tempArrayCountDuringForTasks[$id_job]);
- if(strtotime($timeCompare) == (strtotime($start_date_str)+$tempArrayCountDuringForTasks[$id_job])) {
- $prior[$id_job] = $priorityarray[$task->id];
- } else {
- $prior[$id_job] += 100;
- }
- $priorParent[$task->id] = $prior[$id_job];
- $tempArrayCountDuringForTasks[$id_job] += $tempArrayDuringForTasks[$task->id];
- $tempArrayDuringForTasksPlus[$id_job] = $tempArrayCountDuringForTasks[$id_job];
-
- // ЕСЛИ ККОМАНДА ЗАВЕРШЕНА НАЧАЛО
-
- $oneTaskEntity = \app\models\entity\Tasks::find()->where(['parent_id' => $task->id])->orderBy(['priority'=> SORT_ASC ])->all();
- $Finished = false;
- $Accepted = false;
- foreach( $oneTaskEntity as $one) {
- if ( 1 == $one->priority ){
- $Accepted = $one->accepted_time;
- }
- $Finished = $one->finished_time;
- }
-
- if ( null != $Finished and null != $Accepted ){
- $duration_sec = strtotime($Finished) - strtotime($Accepted);
- $duration = floor($duration_sec/60);
- }
- if ( null != $Accepted ){
- $start_date_str = date ( "d-m-Y H:i",strtotime($Accepted) );
- }
-
- // ЕСЛИ ККОМАНДА ЗАВЕРШЕНА КОНЕЦ
-
- }
-
- $text = preg_replace('/#(.*)#/', '', $text);
- $text = preg_replace('/([0-9]|[0-9][0-9])\/[АБВГ](.*)$/u', '', $text);
- if ( 0 != $task->parent_id && 0 != $task->assignees_arr) {
- $accountsEntity = \app\models\entity\Accounts::findOne($task->assignees_arr);
- $text = $accountsEntity->name;
- }
-
- $tasktypesName = \app\models\HelperModel::stripWhitespaces($task->tasktypes->name);
- $tasktypesName = addslashes($tasktypesName);
-
- $prior[$id_job] = sprintf("%08d", $prior[$id_job]);
- if ( 0 == $task->parent_id) {
- $filterSelectArray[]= $text;
- ////////////////////////////////////////////// FILTER
- if (!empty($post)) {
- if (!letterFilter($post,$tasktypesName) and $post['command'] != 'false') {
- $filterParentIdArray = $task->id;
- continue;
- }
- if ( $post['job'] != $text and $post['job'] != 'false') {
- continue;
- }
- }
- //var_dump($tempArrayForTasks);
- ////////////////////////////////////////////// FILTER
- $tempArrayForTasks[$id_job][] = '{ "id": ' . $task->id . ', "calendar_id": "global", "text": " ' . $tasktypesName . ':' . $text . ''.$start_finish_time.' ", "type": "project", "start_date": "' . $start_date_str . '", "duration": "' . $duration . '","progress": '.$progress.', "open": true, "readonly" : '.$readonly.',"sort": "'.$prior[$id_job].'"}';
- }
- $counter++;
- }
- $filterSelectArray = array_unique($filterSelectArray);
- //var_dump($tempArrayForTasks);
- //////////////////////////////////////////////////////////////
- $taskEntity = \app\models\entity\Tasks::find()->where(['input_id' => $project_id])->andWhere(['>','parent_id', 0 ])->orderBy(['priority'=> SORT_ASC])->all();
- $arrayTest = explode(',',$projEntity->tasks);
- $priorityarray = [];
- $count = 1;
- foreach ( $arrayTest as $m ) {
- $priorityarray[$count * 1000] = $m;
- $count++;
- }
- $priorityarray = array_flip($priorityarray);
- //var_dump($priorityarray);
- //$currentTime = strtotime(date("Y-m-d H:i:s"));
- //$start_date = $currentTime;
- //$tempArrayDuringForTasks = [];
- $parent_id = '';
- //$tempArrayForStartTime = [];
- //$start_date_str = date ( "d-m-Y H:i",$currentTime );
- //$tempArrayCountDuringForTasks = [];
- //$tempArrayDuringForTasksPlus = [];
- $progress = 0;
- $counter = 0;
- foreach ( $taskEntity as $task ) {
- $duration = $task->tasktypes->time_to_complete_minutes;
- $tempArrayDuringForTasks[$task->parent_id][] = $duration;
- }
-
- foreach( $tempArrayDuringForTasks as $key => &$a) {
- $tempArrayDuringForTasks[$key] = array_sum($a)*60;
- }
- $e = 0;
- foreach ( $taskEntity as $task ) {
-
- $text = \app\models\HelperModel::stripWhitespaces($task->text);
- $readonly = 'true';
- if ( (null != $task->created) and (null == $task->accepted_time) and (null == $task->finished_time) ) {
- $readonly = 'false';
- }
- if ( 0 == $task->parent_id) {//echo "<br>";
- preg_match('/#(.*)#/', $text, $matches);
- $id_job = $matches[1];
-
- if ( null == $tempArrayDuringForTasksPlus[$id_job]) {
- $tempArrayForStartTime[$task->id] = 0;
- } else {
- $tempArrayForStartTime[$task->id] += $tempArrayDuringForTasksPlus[$id_job]/60;
- }
- if ( null != $task->accepted_time && null == $task->finished_time){
- $start_date_str = date ( "d-m-Y H:i",strtotime($task->accepted_time) );
- }
- } else {
-
- $start_date = $currentTime + ($tempArrayForStartTime[$task->parent_id] * 60 );
- $start_date_str = date ( "d-m-Y H:i",$start_date ); //echo ' || 2=>' .$start_date_str;
-
- if ( null != $task->finished_time ){
- $start_date_str = date ( "d-m-Y H:i",strtotime($task->accepted_time) ); //echo ' || 3 =>' .$start_date_str;
- }
- if ( null != $task->accepted_time && null == $task->finished_time){
- $start_date_str = date ( "d-m-Y H:i",strtotime($task->accepted_time) );
- }
- //var_dump($tempArrayForStartTime[$task->parent_id]);
-
- $tempArrayForStartTime[$task->parent_id] += $task->tasktypes->time_to_complete_minutes;
- }
-
- if ( 0 != $task->parent_id) {
- $parent_id = ', "parent": "'.$task->parent_id.'"';
- }
-
- switch ($task->status) {
- case 5:
- $progress = 1.0;
- break;
- case 1:
- $progress = 0.0;
- break;
- default:
- $progress = 0.5;
- break;
- }
- $start_finish_time = '';
- $duration = $task->tasktypes->time_to_complete_minutes;
- if ( null != $task->accepted_time ){
- $start_finish_time = '/' . date ('H:i' , strtotime($task->accepted_time));
- }
- if ( 'true' === $readonly ) {
- $start_finish_time = '/' . date ('H:i' , strtotime($task->accepted_time)). ' - ' . date ('H:i' , strtotime($task->finished_time));
- }
-
- // ЕСЛИ ККОМАНДА ЗАВЕРШЕНА НАЧАЛО
- if ( null != $task->finished_time ){
- $duration_sec = strtotime($task->finished_time) - strtotime($task->accepted_time);
- $duration = floor($duration_sec/60);
- }
- // ЕСЛИ ККОМАНДА ЗАВЕРШЕНА КОНЕЦ
- // ЕСЛИ ККОМАНДА ВЫПОЛНЯЕТСЯ НО НЕ ЗАВЕРШЕНА НАЧАЛО
- if ( null != $task->accepted_time && null == $task->finished_time){
- $duration_sec = $currentTime - strtotime($task->accepted_time);
- $duration = floor($duration_sec/60);
- }
- // ЕСЛИ ККОМАНДА ВЫПОЛНЯЕТСЯ НО НЕ ЗАВЕРШЕНА КОНЕЦ
- if ( 0 == $task->parent_id) {
- preg_match('/#(.*)#/', $text, $matches);
- $id_job = $matches[1];
- $query = 'SELECT min(coalesce(accepted_time, NOW())) as time FROM tasks WHERE parent_id = ' . $task->id;
- $res = \Yii::$app->db->createCommand($query)->queryOne();
- $timeCompare = $start_date_str = date ('d-m-Y H:i' , strtotime($res['time']));
-
-
- $start_date_str = date ('d-m-Y H:i' ,strtotime($start_date_str)+$tempArrayCountDuringForTasks[$id_job]);
-
-
- if(strtotime($timeCompare) == (strtotime($start_date_str)+$tempArrayCountDuringForTasks[$id_job])) {
- $prior[$id_job] = $priorityarray[$task->id];
- //var_dump($prior[$id_job], '$priorityarray['.$task->id.']'); echo "<br>";
- } else {//echo $prior[$task->id];
- $prior[$id_job] += 100;
- //var_dump($prior[$id_job], '$priorityarray['.$task->id.']');
- }
- //var_dump($task->id);
- //var_dump($id_job, $prior[$id_job],$task->id,$priorityarray[$task->id]); echo "<br>";
- $priorParent[$task->id] = $prior[$id_job];
- $tempArrayCountDuringForTasks[$id_job] += $tempArrayDuringForTasks[$task->id];
- $tempArrayDuringForTasksPlus[$id_job] = $tempArrayCountDuringForTasks[$id_job];
- //var_dump($prior[$id_job], $task->id, $start_date_str,$text,date ('d-m-Y H:i')); echo "<br>";
-
- } else {
- $prior[$id_job] = $priorParent[$task->parent_id] + $task->priority;
-
- }
- //var_dump($prior[$id_job], $task->id);
-
- $text = preg_replace('/#(.*)#/', '', $text);
- $text = preg_replace('/([0-9]|[0-9][0-9])\/[АБВГ](.*)$/u', '', $text);
- if ( 0 != $task->parent_id && 0 != $task->assignees_arr) {
- $accountsEntity = \app\models\entity\Accounts::findOne($task->assignees_arr);
- $text = $accountsEntity->name;
-
- }
- //echo " |name=". $task->id."=>".$prior[$id_job]." |" ;
- $tasktypesName = \app\models\HelperModel::stripWhitespaces($task->tasktypes->name);
- $tasktypesName = addslashes($tasktypesName);
- //echo $tasktypesName.'-';
-
- $prior[$id_job] = sprintf("%08d", $prior[$id_job]);
-
- ////////////////////////////////////////////// FILTER
-
- if ( in_array($task->parent_id,$filterParentIdArray)) {
- continue;
- }
- ////////////////////////////////////////////// FILTER
-
- $tempArrayForTasks[$id_job][] = '{ "id": ' . $task->id . ', "calendar_id": "global", "text": " ' . $tasktypesName . ':' . $text . ''.$start_finish_time.' ", "type": "project", "start_date": "' . $start_date_str . '", "duration": "' . $duration . '","progress": '.$progress.', "open": true, "readonly" : '.$readonly.$parent_id.',"sort": "'.$prior[$id_job].'"}';
- $counter++;
- //$prior = '';
- }
- ////////////////////////////////////////////////////////////
- foreach( $tempArrayForTasks as &$items){
- $items = implode(',', $items);
- }
- ksort($tempArrayForTasks);
- $data .= implode(',', $tempArrayForTasks);
- $data .= '],
- "links": []
- }';
- ?>
- <!DOCTYPE html>
- <head>
- <meta http-equiv="Content-type" content="text/html; charset=utf-8">
- <title>Project level calendars</title>
- <script src="/gantt_source/codebase/dhtmlxgantt.js?v=6.2.7"></script>
-
-
-
-
- <!-- Basic Page Needs
- –––––––––––––––––––––––––––––––––––––––––––––––––– -->
- <meta charset="utf-8">
- <title>ASUSG</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">
-
- <link rel="stylesheet" href="/gantt_source/codebase/dhtmlxgantt.css?v=6.2.7">
- <style>
- html,
- body {
- height: 100%;
- padding: 0px;
- margin: 0px;
- overflow: hidden;
- }
- </style>
- <style>
- .gantt_task_cell.week_end {
- background-color: #e8e8e8;
- }
- .gantt_task_row.gantt_selected .gantt_task_cell.week_end {
- background-color: #e0e0dd;
- }
- </style>
- </head>
- <body>
- <?
- $mycompany = getCompanyByAccount($id);
- if (!isset($companyID))
- {
- 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;
- }
- $sectionsArray = ['А','Б','В'];
- ?>
- <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>
-
- <div class="raw">
- <div class="col-md-3">
- <div class="box-body">
- <form id="filterGantt" method="post" action="<? echo $_SERVER["REQUEST_URI"];?>" role="form" >
- <!-- select -->
- <select name='command' class="form-control">
- <option value="false">Все секции</option>
- <? foreach($sectionsArray as $letter):?>
- <option value="<? echo $letter;?>" <? if( $post['command'] == $letter ){ echo 'selected=selected'; } ?>><? echo $letter;?></option>
- <? endforeach;?>
- </select>
- </div>
- </div>
- <div class="col-md-3">
- <div class="box-body">
- <!-- select -->
- <select name='job' class="form-control">
- <option value="false">Все должности</option>
- <? foreach($filterSelectArray as $job):?>
- <option value="<? echo $job;?>" <? if( $post['job'] == $job ){ echo 'selected=selected'; } ?>><? echo $job;?></option>
- <? endforeach;?>
- </select>
- </div>
- </div>
- <div class="col-md-3">
- <div class="box-body" >
- <button type="submit" class="btn btn-default">Пофильтровать</button>
- </div>
- </form>
- </div>
- </div>
-
- </nav>
- </header>
-
-
- <div id="gantt_here" style='width:100%; height:90%;'></div>
-
- <div class="box-body">
- <div class="row">
- <div class="col-xs-2">
- <div class="form-group">
- <button id="gantt_compl_edit" type="button" class="btn btn-block btn-primary" data_id="<?php echo \Yii::$app->request->get('project_id');?>">Сохранить</button><br>
- </div>
- </div>
- </div>
- </div>
-
- </div>
- <script>
-
- gantt.config.work_time = false;
- gantt.config.scale_unit = "day";
- gantt.config.date_scale = "%D, %d";
- gantt.config.min_column_width = 15;
- gantt.config.duration_unit = "minute";
- gantt.config.scale_height = 20 * 3;
- gantt.config.row_height = 25;
- gantt.config.inherit_calendar = true;
- //gantt.config.smart_scales = true;
- gantt.config.smart_rendering = false;
- gantt.config.order_branch = "marker";
- gantt.config.order_branch_free = true;
- var weekScaleTemplate = function (date) {
- var dateToStr = gantt.date.date_to_str("%d %M");
- var weekNum = gantt.date.date_to_str("(week %W)");
- var endDate = gantt.date.add(gantt.date.add(date, 1, "week"), -1, "day");
- return dateToStr(date) + " - " + dateToStr(endDate) + " " + weekNum(date);
- };
- gantt.config.subscales = [
- //{ unit: "month", step: 1, date: "%F, %Y" },
- //{ unit: "week", step: 1, template: weekScaleTemplate },
- {unit: "hour", step: 1, date: "%G"},
- {unit: "minute", step: 5, date: "%i"}
- ];
- gantt.addCalendar({
- id: "custom",
- worktime: {
- hours: [8, 17],
- days: [1, 1, 1, 1, 1, 1, 1]
- }
- });
- gantt.templates.timeline_cell_class = function (task, date) {
- if (!gantt.isWorkTime({ date: date, task: task }))
- return "week_end";
- return "";
- };
- gantt.templates.task_text = function (syart, end, task) {
- var calendar = gantt.getTaskCalendar(task);
- return task.text ;//+ ", <b>" + (calendar.id == "custom" ? "Full week" : "Workweek") + "</b> calendar";
- };
- gantt.locale.labels.section_calendar = "Calendar";
- gantt.config.lightbox.project_sections = gantt.config.lightbox.sections = [
- { name: "description", height: 38, map_to: "text", type: "textarea", focus: true },
- {
- name: "calendar", height: 22, map_to: "calendar_id", type: "select", options: [
- { key: "", label: "Default" },
- { key: "global", label: "Workweek" },
- { key: "custom", label: "Full week" }
- ]
- },
- { name: "time", type: "duration", map_to: "auto" }
- ];
- function updateTaskTiming(task) {
- task.start_date = gantt.getClosestWorkTime({
- dir: "future",
- date: task.start_date,
- unit: gantt.config.duration_unit,
- task: task
- });
- task.end_date = gantt.calculateEndDate(task);
- }
- var summaryCalendarChanged = false;
- gantt.attachEvent("onLightboxSave", function (id, task, is_new) {
- summaryCalendarChanged = false;
- if (gantt.isSummaryTask(task) && gantt.getTaskCalendar(task).id != gantt.getTaskCalendar(gantt.getTask(id)).id) {
- summaryCalendarChanged = id;
- }
- updateTaskTiming(task);
- gantt.eachTask(function (child) {
- updateTaskTiming(child);
- }, id);
- return true;
- });
- gantt.attachEvent("onAfterTaskMove", function (id, parent, tindex) {
- var task = gantt.getTask(id);
- updateTaskTiming(task);
- return true;
- });
- gantt.attachEvent("onAfterTaskUpdate", function (id, task) {
- if (summaryCalendarChanged == id) {
- summaryCalendarChanged = false;
- gantt.eachTask(function (child) {
- updateTaskTiming(child);
- gantt.updateTask(child.id)
- }, id)
- }
- });
-
- var det = <?php echo $data;?>;
- gantt.init("gantt_here");
-
- gantt.parse(det);
- //gantt.sort("text",true);
- gantt.sort("sort",false);
- </script>
-
-
- <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>
- <script>
- $( function() {
- $( ".sortable" ).sortable();
- $( ".sortable" ).disableSelection();
- } );
- </script>
- </body>
- <?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 letterFilter($post,$tasktypesName){
- if (empty($post)){
- return false;
- }
- $letterArr = explode(' ', $tasktypesName);
- $letter = substr($letterArr[1],0,-1);
-
- if( 1 == mb_strlen($letter)) {
- if( $letter == $post['command']) {
- return true;
- } else {
- return false;
- }
- }
- }
- ?>
|