Advertisement
Guest User

Untitled

a guest
Sep 30th, 2014
267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2. //error_reporting(E_ALL); ini_set('display_errors', '1');
  3.     if(! $logged_in ) {
  4.  
  5.         require_once('form-login.php');
  6.     } else { ?>
  7.  
  8.         <div class="col-md-10 col-md-offset-2  col-sm-9 main">
  9.           <h1 class="page-header">Timesheets</h1>
  10.          
  11.           <form action="https://portal.designloud.com/index.php?do=timesheets" method="POST" class="form-horizontal" role="form">
  12.                 <div class="form-group">
  13.                     <legend>View Timesheet</legend>
  14.                 </div>
  15.                 <div class="form-group">
  16.                     <?php if($level === '5') { ?>
  17.                     <label for="employee" class="col-sm-2 col-lg-1 control-label">Employee</label>
  18.                     <div class="col-sm-10 col-lg-11">
  19.                         <select name="employee" id="employee" class="form-control">
  20.                             <option value="" disabled selected>Select an Employee</option>
  21.                             <?php
  22.                             $connect = mysqli_connect(HOST, USER, PASSWORD, DATABASE);
  23.                             if (mysqli_connect_errno()) {
  24.                                 echo "Failed to connect to Database: " . mysqli_connect_error();
  25.                             }
  26.  
  27.                             $check = mysqli_query($connect, "SELECT id, firstname, lastname
  28.                                 FROM members") or die('Error: ' . mysqli_error($connect));
  29.  
  30.                             if(mysqli_num_rows($check)>0){
  31.                                 while ($row = mysqli_fetch_array($check, MYSQL_ASSOC)) {
  32.                                     $firstname = $row['firstname'];
  33.                                     $lastname = $row['lastname'];
  34.                                     $userID = $row['id'];
  35.  
  36.                                     echo '<option value="' . $userID . '">' . $firstname . ' ' . $lastname . '</option>';
  37.  
  38.                                 }
  39.                             } ?>
  40.                         </select>
  41.                     </div>
  42.                     <?php }
  43.                     else {
  44.                         $user_id = $_SESSION['user_id'];
  45.                         echo '<input type="hidden" name="employee" id="employee" value="' . $user_id . '" />';
  46.                     } ?>
  47.                 </div>
  48.                
  49.                 <div class="form-group col-sm-12 col-md-6 col-lg-6">
  50.                     <label for="from_date" class="col-sm-6 col-md-3 col-lg-3 control-label">From Date</label>
  51.                     <div class="col-sm-6 col-md-9 col-lg-9">
  52.                         <input type="text" name="from_date" id="from_date" class="form-control">
  53.                     </div>
  54.                 </div>
  55.                 <div class="form-group col-sm-12 col-md-6 col-lg-6">
  56.                     <label for="to_date" class="col-sm-6 col-md-3 col-lg-3 control-label">To Date</label>
  57.                     <div class="col-sm-6 col-md-9 col-lg-9">
  58.                         <input type="text" name="to_date" id="to_date" class="form-control">
  59.                     </div>
  60.                 </div>
  61.  
  62.                 <div class="form-group col-sm-12 col-md-12 col-lg-12">
  63.                     <div class="col-sm-offset-10 col-sm-2 col-lg-offset-11 col-lg-1">
  64.                         <button type="submit" class="btn btn-primary">Submit</button>
  65.                     </div>
  66.                 </div>
  67.         </form>
  68.  
  69.         <?php
  70.         if (isset($_POST['employee']) && isset($_POST['to_date']) && isset($_POST['from_date']) ) {
  71.  
  72.             include_once 'includes/db_connect.php';
  73.             include_once 'includes/psl-config.php';
  74.  
  75.                 $employee = $_POST['employee'];
  76.                 $fromDate = $_POST['from_date'];
  77.                 $toDate = $_POST['to_date'];
  78.  
  79.  
  80.                 $connect = mysqli_connect(HOST, USER, PASSWORD, DATABASE);
  81.                 if (mysqli_connect_errno()) {
  82.                     echo "Failed to connect to Database: " . mysqli_connect_error();
  83.                 }
  84.  
  85.                 /**************************************************
  86.                     General Timesheet
  87.                 **************************************************/
  88.                 $timesheet = mysqli_query($connect, "SELECT DATE_FORMAT(punch, '%Y/%m/%d') AS punch_date, DATE_FORMAT(punch, '%H:%i:%s') AS punch_time, comment
  89.                     FROM timesheet WHERE user_id = '$employee' AND punch BETWEEN '$fromDate' AND '$toDate'") or die('Error: ' . mysqli_error($connect));
  90.  
  91.                 if(mysqli_num_rows($timesheet)>0){
  92.  
  93.                     $output = '<table class="table table-striped">
  94.                                   <thead>
  95.                                     <tr>
  96.                                       <th>Date</th>
  97.                                       <th>Time</th>
  98.                                       <th>Status</th>
  99.                                     </tr>
  100.                                   </thead>
  101.                                   <tbody>';
  102.  
  103.                         $iterations = mysqli_num_rows($timesheet) % 2 == 0 ? mysqli_num_rows($timesheet) : mysqli_num_rows($timesheet) - 1;
  104.    
  105.                         $total = 0;
  106.  
  107.                     while ($row = mysqli_fetch_array($timesheet, MYSQL_ASSOC)) {
  108.  
  109.                         $date = $row['punch_date'];
  110.                         $time = $row['punch_time'];
  111.                         $status = $row['comment'];
  112.  
  113.                         $output .= '<tr>
  114.                                       <td>' . $date . '</td>
  115.                                       <td ';
  116.  
  117.                         $parts = explode(':', $row['punch_time']);
  118.  
  119.                         $seconds = (int) $parts[0] * 3600 + (int) $parts[1] * 60 + (int) $parts[2];
  120.  
  121.                         if($status === 'In'){
  122.  
  123.                            $output .= 'class="in-time"';
  124.  
  125.                            $total -= $iterations ? $seconds : 0; // Subtract from total when in and there is out coming
  126.  
  127.                         } else if($status === 'Out') {
  128.  
  129.                            $output .= 'class="out-time"';
  130.  
  131.                            $total += $seconds; // Add  to total when out
  132.                         }
  133.  
  134.                         $output .= '>' . $time . '</td>
  135.                                       <td>' . $status . '</td>
  136.                                     </tr>';
  137.                         $iterations--;
  138.  
  139.                     } //end while
  140.  
  141.                     $output .= '</tbody>
  142.                                 </table>';
  143.  
  144.                    
  145.                     echo $output;
  146.  
  147.                     $hours = floor($total / 3600);
  148.  
  149.                     $minutes = floor(($total / 60) % 60);
  150.  
  151.                     $seconds = $total % 60;
  152.  
  153.                     echo "<strong>Total: </strong> $hours:$minutes:$seconds";
  154.  
  155.                 } //end if mysqli_num_rows
  156.  
  157.             } // end if isset
  158.             ?>
  159.            
  160.         </div> <!-- /.main -->
  161.     <?php    
  162.         }
  163. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement