<?php
require_once('../config.php');
$user_id = $_SESSION['user_id'];
$emp_id = $_SESSION['emp_id'];
$user_role = $_SESSION['user_role'];


// SQL server connection information
// $sql_details = $search_db;
$sql_details = $search_db;


if(!isset($_GET['isset'])){
    exit();
}


$table = <<<EOT
(
    SELECT 
        t1.*,
        t2.name
    FROM fnf t1
    INNER JOIN users t2 ON t2.employee_id = t1.employee_id
) join_table
EOT;



$whereResult = null;
$whereAll = null;
if (isset($_GET['where_condition']) && !empty($_GET['where_condition'])) {
    $whereAll = $_GET['where_condition'];
}

// Table's primary key
$primaryKey = 'id';

// Array of database columns which should be read and sent back to DataTables.
// The `db` parameter represents the column name in the database, while the `dt`
// parameter represents the DataTables column identifier. In this case simple
// indexes
$columns = array(
    array('db' => 'id', 'dt' => 'id'),
    array('db' => 'employee_id', 'dt' => 'employee_id'),
    array('db' => 'name', 'dt' => 'name'),
    array(
        'db' => 'fnf_details', 
        'dt' => 'fnf_details',
        'formatter' => function($cell, $row){
            $fnf_details = json_decode($cell, true);
            $returnValue = '<div>';
            foreach($fnf_details as $month_year => $month_data) {
                $returnValue .= '<p class="mb-0 month_year" style="cursor:pointer;"><strong>'.$month_year.' <i class="uil uil-angle-down"></i></strong></p><ul style="display:none;">';
                foreach($month_data as $type => $data) {
                    $returnValue .= '<li><strong>'.$type.':</strong></li><li><ul>';
                    foreach($data as $item) {
                        $returnValue .= '<li>'.$item['title'].': '.$item['value'].'</li>';
                    }
                    $returnValue .= '</ul></li>';
                }
                $returnValue .= '</ul>';
            }
            $returnValue .= '</div>';
            return $returnValue;
        }
    ),
    array('db' => 'net_payable', 'dt' => 'net_payable'),
    array(
        'db' => 'created_at', 
        'dt' => 'created_at',
        'formatter' => function($cell, $row){
            $returnValue = '';
            $returnValue = '
            <a href="pay_slip/fnf_slip?slip_id='.base64_encode($row['id']).'" title="View FNF Slip" target="_blank"><i class="uil uil-file-copy-alt"></i></a>
            <a href="javascript:;" onclick="_delete_(\''.$row['id'].'\');" title="Delete"><i class="uil uil-trash-alt text-danger"></i></a>
            ';
            return $returnValue;
        }
    ),
);


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * If you just want to use the basic configuration for DataTables with PHP
 * server-side, there is no need to edit below this line.
 */
require('ssp.class.php');

echo json_encode(
    // SSP::simple($_GET, $sql_details, $table, $primaryKey, $columns)
    SSP::complex($_GET, $sql_details, $table, $primaryKey, $columns, $whereResult, $whereAll)
);
