315 lines
18 KiB
PHP
315 lines
18 KiB
PHP
<?php
|
|
|
|
|
|
|
|
require_once 'include/utils/utils.php';
|
|
|
|
require_once 'includes/Loader.php';
|
|
|
|
vimport ('includes.runtime.EntryPoint');
|
|
|
|
|
|
|
|
|
|
|
|
$current_user = Users_Record_Model::getCurrentUserModel();
|
|
|
|
$roleid = $current_user->get('roleid');
|
|
|
|
|
|
|
|
$viewer = new Vtiger_Viewer();
|
|
|
|
$viewer->assign('MODULE', 'Home');
|
|
|
|
$viewer->assign('SELECTED_MENU_CATEGORY', 'MARKETING');
|
|
|
|
|
|
|
|
$viewer->assign('COMPANY_LOGO', Vtiger_CompanyDetails_Model::getInstanceById()->getLogo());
|
|
|
|
$viewer->assign('COMPANY_DETAILS_SETTINGS',new Settings_Vtiger_CompanyDetails_Model());
|
|
|
|
$viewer->assign('USER_MODEL', $current_user);
|
|
|
|
$viewer->assign('CURRENT_USER_MODEL', $current_user);
|
|
|
|
|
|
|
|
$viewer->assign('PAGETITLE','Tableau de bord');
|
|
|
|
|
|
|
|
$viewer->view('CustomDashboard.tpl');
|
|
|
|
|
|
|
|
|
|
|
|
global $adb;
|
|
|
|
$query = "SELECT CONCAT(first_name,' ', last_name) as fullname, CAST(SUM(DISTINCT(total)) AS UNSIGNED) as total, CAST(SUM(CASE WHEN p.cf_972 = 'A' THEN margin END) AS UNSIGNED) as classa, CAST(SUM(CASE WHEN p.cf_972 = 'B' THEN margin END) AS UNSIGNED) as classb
|
|
|
|
FROM vtiger_salesorder so
|
|
|
|
JOIN vtiger_inventoryproductrel ip ON ip.id = so.salesorderid
|
|
|
|
JOIN vtiger_productcf p ON ip.productid = p.productid
|
|
|
|
JOIN vtiger_crmentity e ON so.salesorderid = e.crmid
|
|
|
|
JOIN vtiger_users u ON u.id = e.smownerid
|
|
|
|
JOIN vtiger_user2role ur on u.id = ur.userid
|
|
|
|
WHERE u.status <> 'Inactive' and ur.roleid in (SELECT roleid FROM `vtiger_role` WHERE `parentrole` like '%{$roleid}%') AND e.deleted = 0
|
|
|
|
GROUP BY e.smownerid";
|
|
|
|
$sql_get_result = $adb->query($query);
|
|
|
|
|
|
|
|
$result = array();
|
|
|
|
while ($recordinfo = $adb->fetch_array($sql_get_result)) {
|
|
|
|
$result[] = $recordinfo;
|
|
|
|
}
|
|
|
|
|
|
|
|
echo '<div class="grid-container"><div class="convention"> <table id="tabcenter" class="tabcenter">
|
|
|
|
|
|
|
|
<tr class="center borderline">
|
|
|
|
<td> <input class="form-control center" type="text" name="nomprenom" placeholder="Nom prenom" onchange="fullNameChange(this)"></td>
|
|
|
|
<td></td>
|
|
|
|
<td></td>
|
|
|
|
<td></td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr class="center borderline">
|
|
|
|
|
|
|
|
<th id="fullname"> Nom & Prenom</th>
|
|
|
|
<th id="total"> Total </th>
|
|
|
|
<th id="classa"> Class A </th>
|
|
|
|
<th id="classb"> Class B </th>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
</table></div>';
|
|
|
|
|
|
|
|
|
|
|
|
$query = "SELECT ac.accountname, CAST(SUM(DISTINCT(total)) AS UNSIGNED) as total, CAST(SUM(CASE WHEN p.cf_972 = 'A' THEN margin END) AS UNSIGNED) as classa, CAST(SUM(CASE WHEN p.cf_972 = 'B' THEN margin END) AS UNSIGNED) as classb
|
|
|
|
FROM vtiger_salesorder so
|
|
|
|
JOIN vtiger_account ac ON so.accountid = ac.accountid
|
|
|
|
JOIN vtiger_inventoryproductrel ip ON ip.id = so.salesorderid
|
|
|
|
JOIN vtiger_productcf p ON ip.productid = p.productid
|
|
|
|
JOIN vtiger_crmentity e ON so.salesorderid = e.crmid
|
|
|
|
JOIN vtiger_users u ON u.id = e.smownerid
|
|
|
|
JOIN vtiger_user2role ur on u.id = ur.userid
|
|
|
|
WHERE u.status <> 'Inactive' and ur.roleid in (SELECT roleid FROM `vtiger_role` WHERE `parentrole` like '%{$roleid}%') and e.deleted = 0
|
|
|
|
GROUP BY e.smownerid";
|
|
|
|
$sql_get_result = $adb->query($query);
|
|
|
|
|
|
|
|
$resultAccount = array();
|
|
|
|
while ($recordinfo = $adb->fetch_array($sql_get_result)) {
|
|
|
|
$resultAccount[] = $recordinfo;
|
|
|
|
}
|
|
|
|
|
|
|
|
echo '<div class="convention2"> <table id="accounttabcenter" class="tabcenter">
|
|
|
|
|
|
|
|
<tr class="center borderline">
|
|
|
|
<td> <input class="form-control center" type="text" name="nomcompte" placeholder="Nom" onchange="accountNameChange(this)"></td>
|
|
|
|
<td></td>
|
|
|
|
<td></td>
|
|
|
|
<td></td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr class="center borderline">
|
|
|
|
|
|
|
|
<th id="nomcompte"> Nom </th>
|
|
|
|
<th id="totalCompte"> Total </th>
|
|
|
|
<th id="classaCompte"> Class A </th>
|
|
|
|
<th id="classbCompte"> Class B </th>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
</table></div></div>';
|
|
|
|
|
|
|
|
$viewer->view('CustomDashboardFooter.tpl');
|
|
|
|
|
|
|
|
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<style>
|
|
|
|
|
|
|
|
:root {
|
|
|
|
--gray-color: rgb(220, 220, 220);
|
|
|
|
--light-gray-color: rgb(240, 240, 240);
|
|
|
|
--my-color: rgb(20, 160, 217);
|
|
|
|
}
|
|
|
|
|
|
|
|
table
|
|
|
|
{
|
|
|
|
width: 100%;
|
|
|
|
border-collapse : collapse;
|
|
|
|
}
|
|
|
|
|
|
|
|
tr {
|
|
|
|
border-bottom: 1px solid var(--gray-color);
|
|
|
|
}
|
|
|
|
|
|
|
|
th, td
|
|
|
|
{
|
|
|
|
padding-left: 3px;
|
|
|
|
padding-right: 3px;
|
|
|
|
height: 35px;
|
|
|
|
<!-- background: var(--light-gray-color); -->
|
|
|
|
min-width: 80px;
|
|
|
|
|
|
|
|
text-align : center;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.convention {
|
|
|
|
/*width: 35%;*/
|
|
|
|
|
|
|
|
margin-top: 20px;
|
|
|
|
border: 1px solid var(--gray-color);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
border: 3px solid #E2E2E4;
|
|
|
|
overflow-y: scroll;
|
|
|
|
height: 70%;
|
|
|
|
|
|
|
|
}
|
|
|
|
.convention2 {
|
|
|
|
/*width: 35%;*/
|
|
|
|
margin-left: 20px;
|
|
|
|
margin-top: 20px;
|
|
|
|
border: 1px solid var(--gray-color);
|
|
|
|
|
|
|
|
|
|
|
|
border: 3px solid #E2E2E4;
|
|
|
|
overflow-y: scroll;
|
|
|
|
height: 70%;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
.center
|
|
|
|
{
|
|
|
|
text-align : center;
|
|
|
|
}
|
|
|
|
.grid-container {
|
|
|
|
display: grid;
|
|
|
|
grid-template-columns: auto auto;
|
|
|
|
margin-left: 230px;
|
|
|
|
padding: 20px;
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
|
|
|
function fullNameChange(e) {
|
|
|
|
var res = result.filter(a => a.fullname.toUpperCase().includes(e.value.toUpperCase()) );
|
|
|
|
loadTable(res);
|
|
|
|
}
|
|
|
|
|
|
|
|
$('#nomprenom').on('click', function(e) {
|
|
|
|
loadByFullName();
|
|
|
|
});
|
|
|
|
|
|
|
|
function loadTable(data)
|
|
|
|
{
|
|
|
|
$('#tabcenter tr').slice(2).remove();
|
|
|
|
|
|
|
|
if(data.length > 0) {
|
|
|
|
|
|
|
|
for(var i = 0; i < data.length; i++) {
|
|
|
|
var row = data[i];
|
|
|
|
var classa = "0";
|
|
|
|
var classb = "0";
|
|
|
|
if(row['classa'] != null) classa = row['classa'];
|
|
|
|
if(row['classb'] != null) classb = row['classb'];
|
|
|
|
|
|
|
|
var click = "";
|
|
|
|
/*if(role == 1)
|
|
|
|
click = " onclick=\"location.href='../controller/employe.php?id="+row['MATRICULE']+"'\"";
|
|
|
|
*/
|
|
|
|
$('#tabcenter').append(
|
|
|
|
"<tr class='center borderline'"+click+">"
|
|
|
|
+"<td>"+row['fullname'].trim()+"</td>"
|
|
|
|
+"<td>"+row['total']+"</td>"
|
|
|
|
+"<td>"+classa+"</td>"
|
|
|
|
+"<td>"+classb+"</td>"
|
|
|
|
+"</tr>"
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
var result = <?php echo json_encode($result); ?>;
|
|
|
|
|
|
|
|
function loadByFullName() {
|
|
|
|
var fullnames = Array.prototype.slice.call(result).sort(function(a, b){
|
|
|
|
if(a.fullname < b.fullname) { return -1; }
|
|
|
|
if(a.fullname > b.fullname) { return 1; }
|
|
|
|
return 0;
|
|
|
|
});
|
|
|
|
loadTable(fullnames);
|
|
|
|
}
|
|
|
|
|
|
|
|
loadByFullName();
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
|
|
|
function accountNameChange(e) {
|
|
|
|
var res = resultAccount.filter(a => a.accountname.toUpperCase().includes(e.value.toUpperCase()) );
|
|
|
|
loadAccountTable(res);
|
|
|
|
}
|
|
|
|
|
|
|
|
$('#nomcompte').on('click', function(e) {
|
|
|
|
loadByNameAccount();
|
|
|
|
});
|
|
|
|
|
|
|
|
function loadAccountTable(data)
|
|
|
|
{
|
|
|
|
$('#accounttabcenter tr').slice(2).remove();
|
|
|
|
|
|
|
|
if(data.length > 0) {
|
|
|
|
|
|
|
|
for(var i = 0; i < data.length; i++) {
|
|
|
|
var row = data[i];
|
|
|
|
var classa = "0";
|
|
|
|
var classb = "0";
|
|
|
|
if(row['classa'] != null) classa = row['classa'];
|
|
|
|
if(row['classb'] != null) classb = row['classb'];
|
|
|
|
|
|
|
|
var click = "";
|
|
|
|
/*if(role == 1)
|
|
|
|
click = " onclick=\"location.href='../controller/employe.php?id="+row['MATRICULE']+"'\"";
|
|
|
|
*/
|
|
|
|
$('#accounttabcenter').append(
|
|
|
|
"<tr class='center borderline'"+click+">"
|
|
|
|
+"<td>"+row['accountname'].trim()+"</td>"
|
|
|
|
+"<td>"+row['total']+"</td>"
|
|
|
|
+"<td>"+classa+"</td>"
|
|
|
|
+"<td>"+classb+"</td>"
|
|
|
|
+"</tr>"
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
var resultAccount = <?php echo json_encode($resultAccount ); ?>;
|
|
|
|
|
|
|
|
function loadByNameAccount() {
|
|
|
|
var names = Array.prototype.slice.call(resultAccount).sort(function(a, b){
|
|
|
|
if(a.accountname < b.accountname) { return -1; }
|
|
|
|
if(a.accountname > b.accountname) { return 1; }
|
|
|
|
return 0;
|
|
|
|
});
|
|
|
|
loadAccountTable(names);
|
|
|
|
}
|
|
|
|
|
|
|
|
loadByNameAccount();
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="layouts/v7/lib/jquery/purl.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/select2/select2.min.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/jquery.class.min.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/jquery-ui-1.11.3.custom/jquery-ui.js"></script><script type="text/javascript" src="layouts/v7/lib/todc/js/bootstrap.min.js"></script><script type="text/javascript" src="libraries/jquery/jstorage.min.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/jquery-validation/jquery.validate.min.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/jquery.slimscroll.min.js"></script><script type="text/javascript" src="libraries/jquery/jquery.ba-outside-events.min.js"></script><script type="text/javascript" src="libraries/jquery/defunkt-jquery-pjax/jquery.pjax.js"></script><script type="text/javascript" src="libraries/jquery/multiplefileupload/jquery_MultiFile.js"></script><script type="text/javascript" src="resources/jquery.additions.js"></script><script type="text/javascript" src="layouts/v7/lib/bootstrap-notify/bootstrap-notify.min.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/websockets/reconnecting-websocket.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/jquery-play-sound/jquery.playSound.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/malihu-custom-scrollbar/jquery.mousewheel.min.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/malihu-custom-scrollbar/jquery.mCustomScrollbar.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/autoComplete/jquery.textcomplete.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/jquery.qtip.custom/jquery.qtip.js"></script><script type="text/javascript" src="libraries/jquery/jquery-visibility.min.js"></script><script type="text/javascript" src="layouts/v7/lib/momentjs/moment.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/daterangepicker/moment.min.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/daterangepicker/jquery.daterangepicker.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/jquery.timeago.js"></script><script type="text/javascript" src="libraries/jquery/ckeditor/ckeditor.js"></script><script type="text/javascript" src="libraries/jquery/ckeditor/adapters/jquery.js"></script><script type='text/javascript' src='layouts/v7/lib/anchorme_js/anchorme.min.js'></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Class.js?v=7.1.0"></script><script type='text/javascript' src="layouts/v7/resources/helper.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/resources/application.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Utils.js?v=7.1.0"></script><script type='text/javascript' src="layouts/v7/modules/Vtiger/resources/validation.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/lib/bootbox/bootbox.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Base.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Vtiger.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Calendar/resources/TaskManagement.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Import/resources/Import.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Emails/resources/EmailPreview.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Base.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Google/resources/Settings.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/CkEditor.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Documents/resources/Documents.js?v=7.1.0"></script><script type="text/javascript" src="libraries/bootstrap/js/eternicode-bootstrap-datepicker/js/bootstrap-datepicker.js?v=7.1.0"></script><script type="text/javascript" src="libraries/bootstrap/js/eternicode-bootstrap-datepicker/js/locales/bootstrap-datepicker.fr.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/lib/jquery/timepicker/jquery.timepicker.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/lazyYT/lazyYT.min.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Header.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Edit.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Popup.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Field.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jquery_windowmsg.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/BasicSearch.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/AdvanceFilter.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/SearchAdvanceFilter.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/AdvanceSearch.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/BaseList.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/List.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/AdvanceSearchList.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/RecordSelectTracker.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Pagination.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Import/resources/Popup.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Emails/resources/MassEdit.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/EmailsRelatedPopup.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/lib/jquery/sadropdown.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/posabsolute-jQuery-Validation-Engine/js/languages/jquery.validationEngine-fr.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Vtiger.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jquery.stickytableheaders.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/gridster/jquery.gridster.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jqplot/jquery.jqplot.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.canvasTextRenderer.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.canvasAxisTickRenderer.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.pieRenderer.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.barRenderer.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.categoryAxisRenderer.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.pointLabels.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.canvasAxisLabelRenderer.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.funnelRenderer.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.logAxisRenderer.min.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/VtJqplotInterface.js?v=7.1.0"></script><script type="text/javascript" src="libraries/jquery/vtchart.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/lib/jquery/gridster/jquery.gridster.min.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/DashBoard.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/dashboards/Widget.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Detail.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Reports/resources/Detail.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Reports/resources/ChartDetail.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/CkEditor.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/lib/bootstrap-daterangepicker/moment.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/lib/bootstrap-daterangepicker/daterangepicker.js?v=7.1.0"></script><script type="text/javascript" src="layouts/v7/resources/v7_client_compat.js?v=7.1.0"></script><!-- Added in the end since it should be after less file loaded --><script type="text/javascript" src="libraries/bootstrap/js/less.min.js"></script>
|
|
|
|
<!-- Enable tracking pageload time -->
|
|
|
|
<script type="text/javascript">var _REQSTARTTIME = "1589749969";jQuery(document).ready(function() { window._PAGEREADYAT = new Date(); });
|
|
|
|
jQuery(window).load(function() {
|
|
|
|
window._PAGELOADAT = new Date();
|
|
|
|
window._PAGELOADREQSENT = false;
|
|
|
|
// Transmit the information to server about page render time now.
|
|
|
|
if (typeof _REQSTARTTIME != 'undefined') {
|
|
|
|
// Work with time converting it to GMT (assuming _REQSTARTTIME set by server is also in GMT)
|
|
|
|
var _PAGEREADYTIME = _PAGEREADYAT.getTime() / 1000.0; // seconds
|
|
|
|
var _PAGELOADTIME = _PAGELOADAT.getTime() / 1000.0; // seconds
|
|
|
|
var data = { page_request: _REQSTARTTIME, page_ready: _PAGEREADYTIME, page_load: _PAGELOADTIME };
|
|
|
|
data['page_xfer'] = (_PAGELOADTIME - _REQSTARTTIME).toFixed(3);
|
|
|
|
data['client_tzoffset']= -1*_PAGELOADAT.getTimezoneOffset()*60;
|
|
|
|
data['client_now'] = JSON.parse(JSON.stringify(new Date()));
|
|
|
|
if (!window._PAGELOADREQSENT) {
|
|
|
|
// To overcome duplicate firing on Chrome
|
|
|
|
window._PAGELOADREQSENT = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
</html>
|