<?php
$res = 0;
// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined)
if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) {
    $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"] . "/main.inc.php";
}
// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME
$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME'];
$tmp2 = realpath(__FILE__);
$i = strlen($tmp) - 1;
$j = strlen($tmp2) - 1;
while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) {
    $i--;
    $j--;
}
if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1)) . "/main.inc.php")) {
    $res = @include substr($tmp, 0, ($i + 1)) . "/main.inc.php";
}
if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1))) . "/main.inc.php")) {
    $res = @include dirname(substr($tmp, 0, ($i + 1))) . "/main.inc.php";
}
// Try main.inc.php using relative path
if (!$res && file_exists("../main.inc.php")) {
    $res = @include "../main.inc.php";
}
if (!$res && file_exists("../../main.inc.php")) {
    $res = @include "../../main.inc.php";
}
if (!$res && file_exists("../../../main.inc.php")) {
    $res = @include "../../../main.inc.php";
}
if (!$res) {
    die("Include of main fails");
}

require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php';
require_once DOL_DOCUMENT_ROOT . '/user/class/usergroup.class.php';
require_once DOL_DOCUMENT_ROOT . '/custom/settlements/class/groupusers.class.php';
require_once DOL_DOCUMENT_ROOT . '/custom/financialreport/class/helper.class.php';
require_once DOL_DOCUMENT_ROOT . '/custom/financialreport/class/userinvoice.class.php';
require_once DOL_DOCUMENT_ROOT . '/custom/bbus/class/commissionhandler.class.php';
require_once DOL_DOCUMENT_ROOT . '/user/class/user.class.php';



$helper = new HelperUserInvoice($db);
$commmissionhandler = new CommissionHandler();
$userObj = new User($db);

// Load translation files required by the page
$langs->loadLangs(array("financialreport@financialreport"));

$action = GETPOST('action', 'aZ09');
$id = GETPOST('id', 'int');
$idmenu = GETPOST('idmenu', 'int');

$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit;
$sortfield = GETPOST('sortfield', 'aZ09comma');
$sortorder = GETPOST('sortorder', 'aZ09comma');
$search_nickname = GETPOST('search_nickname', 'alpha');
$search_name = GETPOST('search_name', 'alpha');
$search_login = GETPOST('search_login', 'alpha');
$searchArray = ['search_name' => $search_name, 'search_nickname' => $search_nickname];
$confirmmakeupto = GETPOST('confirmmakeupto', 'alpha');
$datastring = GETPOST('datastring', 'alpha');
$year = GETPOST('year', 'int');
$month = GETPOST('month', 'int');

//print_r($_REQUEST);

$search = array();
foreach ($searchArray as $key => $val) {
    if (GETPOST($key, 'alpha') !== '') {
        $search[$key] = GETPOST($key, 'alpha');
    }
}

if (GETPOST('button_removefilter_x', 'alpha')) {
    foreach ($searchArray as $key => $val) {
        $search[$key] = '';
        $searchArray[$key] = '';
        $$key = '';
    }
}

if (!$sortorder) {
    $sortorder = "ASC";
}

$form = new Form($db);
$formfile = new FormFile($db);

include DOL_DOCUMENT_ROOT . '/custom/financialreport/core/actions_addupdatedelete.inc.php';


$sql = "SELECT u.rowid, u.lastname, u.firstname, u.login, ue.nickname 
    FROM llx_user AS u 
    LEFT JOIN llx_user_extrafields AS ue ON u.rowid = ue.fk_object 
    WHERE ue.user_category = '1'";
if ($search_nickname) {
    $sql .= " AND ue.nickname LIKE '%{$search_nickname}%'";
}
if ($search_name) {
    $sql .= " AND (u.firstname LIKE '%{$search_name}%' OR u.lastname LIKE '%{$search_name}%')";
}
if ($search_login) {
    $sql .= " AND u.login LIKE '%{$search_login}%'";
}
$sql .= " ORDER BY u.lastname";
$sql .= " {$sortorder}";

$allSalesUsers = $helper->getAllSalesWithSQL($sql);

if($year == '' || $year == 0 || empty($year) || is_null($year)){
    $year = date("Y");
}
if($month == '' || $month == 0 || empty($month) || is_null($month)){
    $month = date("n");
}

if($confirmmakeupto){
    $TMPArray = explode('|', $confirmmakeupto);
    $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?datastring=' . $confirmmakeupto, $langs->trans('MakeUpToConfirm'), $langs->trans('MakeUpToConfirmObject', end($TMPArray), $helper->correctNumber($TMPArray[1])), 'confirm_makeupto', '', 0, 1);
}

$title = '';
$help_url = '';
$morejs = '';
$morecss = '';
llxHeader('', $title, $help_url, '', 0, 0, $morejs, $morecss, '', 'classforhorizontalscrolloftabs');

if ($confirmmakeupto) {
	print $formconfirm;
}

$url = $_SERVER["PHP_SELF"] . '?idmenu=' . $idmenu . '&mainmenu=financialreport&leftmenu=';

print '<form method="POST" id="witholdingForm" action="' . $url . '">' . "\n";
print '<input type="hidden" name="token" value="' . newToken() . '">';
print '<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
print '<input type="hidden" name="action" value="list">';
print '<input type="hidden" name="sortfield" value="' . $sortfield . '">';
print '<input type="hidden" name="sortorder" value="' . $sortorder . '">';
print '<input type="hidden" name="year" value="' . $year . '">';
print load_fiche_titre($langs->trans("OptionId"), '', 'financialreport.png@financialreport');

print '<div style="height: 50px; background-color: lightgray; text-align: center; padding-top: 20px; border-radius: 10px;">';
include DOL_DOCUMENT_ROOT . '/custom/financialreport/core/tpl/daterangedivbasecommission.tpl.php';
print '</div>';

print '
<table style="width:100%;">
    <tr>
        <th>' . $langs->trans("username") . '</th>
        <th>' . $langs->trans("nickname") . '</th>
        <th>' . $langs->trans("MinimumCommission") . '</th>
        <th>' . $langs->trans("CommissionSupplement") . '</th>
        <th>' . $langs->trans("commission") . '</th>
    </tr>';
$basicCommissionPage = true;
include DOL_DOCUMENT_ROOT . '/custom/financialreport/core/tpl/search_fields_for_userslist.tpl.php';

$rownum = 0;
$helper->tableDrawerForBasicCommission($allSalesUsers, $db, $idmenu, $year, $month);
print '</table>';

print '</form>' . "\n";

// End of page
llxFooter();
$db->close();