Files
CRM/Veille.php
BACHIR SOULDI 2794e62571 first commit
2025-09-28 08:49:37 +01:00

1001 lines
29 KiB
PHP

<?php
require_once 'include/utils/utils.php';
require_once 'includes/Loader.php';
require_once 'SUtiles.php';
vimport ('includes.runtime.EntryPoint');
@session_start();
global $adb;
$current_user = Users_Record_Model::getCurrentUserModel();
$roleid = $current_user->get('roleid');
$userid = $current_user->get('id');
$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','Veille');
$viewer->view('CustomDashboard.tpl');
if(isset($_POST['Evenement']) && isset($_POST['Produit'])) {
if($_FILES['fileToUpload']['name'] != ""){
$file_name = $_FILES['fileToUpload']['name'];
$file_tmp =$_FILES['fileToUpload']['tmp_name'];
$lien="file_upload/".date("Ymdhis")."_".$file_name;
move_uploaded_file($file_tmp,$lien);
$query = "INSERT INTO `veilleconc`(`event`, `product`, `ppa`, `ug`, `mpc`, `pc`, `type`, `action`,`lien_image`,`creatorid`, `date_create`)
VALUES ('".addslashes($_POST['Evenement'])."','".addslashes($_POST['Produit'])."','".addslashes($_POST['PPA'])."','".addslashes($_POST['UG'])."','".addslashes($_POST['MPC'])."','".addslashes($_POST['PC'])."','".addslashes($_POST['type'])."','".addslashes($_POST['action'])."','".$lien."','".$userid."', CURDATE());";
$adb->query($query);
}else{
$query = "INSERT INTO `veilleconc`(`event`, `product`, `ppa`, `ug`, `mpc`, `pc`, `type`, `action`,`creatorid`, `date_create`)
VALUES ('".addslashes($_POST['Evenement'])."','".addslashes($_POST['Produit'])."','".addslashes($_POST['PPA'])."','".addslashes($_POST['UG'])."','".addslashes($_POST['MPC'])."','".addslashes($_POST['PC'])."','".addslashes($_POST['type'])."','".addslashes($_POST['action'])."','".$userid."', CURDATE());";
$adb->query($query);
}
}
if(!isResponsable($roleid)) $userid = "%";
$param = "like '".$userid."'";
if(isMedecin($roleid) || isPharma($roleid)) {
$subusers = array_values(getSubordinateRoleAndUsers($roleid))[0];
$subarr = array();
foreach($subusers as $key => $value){
array_push($subarr, $key);
}
$subusers_str = '('.implode (", ", $subarr).')';
$param = "in ".$subusers_str;
}
if (isVM($roleid) || isVP($roleid)) $param = "like '".$current_user->get('id')."'";
$query = "SELECT * FROM `veilleconc` v
Join vtiger_users u ON v.creatorid = u.id where creatorid ".$param.";";
$sql_get_result = $adb->pquery($query);
$results = array();
while ($recordinfo = $adb->fetch_array($sql_get_result)) {
$results[] = $recordinfo;
}
echo '<div class="container-fluid main-container">
<div class="row">
<div class="detailViewContainer viewContent clearfix">
<div class="col-sm-12 col-xs-12 content-area" style="padding-left: 18px; padding-top: 0px;">
<div class="detailview-content container-fluid" >
<div class="related-tabs row">
<div class=" detailview-header-block">
<div class="row" >
<div class="col-md-2">
<button class="btn btn-default addButton addButtonLeft" onclick ="showVeillePopUp();">
<div class="fa fa-plus" aria-hidden="true"></div>
&nbsp;&nbsp;Ajouter
</button>
</div>
</div>
</div>
</div>
<div class="details row" style="margin-top:10px;">
<div class="relatedContainer">
<div class="relatedContents col-lg-12 col-md-12 col-sm-12 table-container">
<div class="bottomscroll-div">
<table id="listview-table" class="table table-bordered table-striped">
<thead>
<tr class="listViewHeaders">
<th class="nowrap"><a class="listViewContentHeaderValues"><i class="fa fa-sort customsort"></i>&nbsp;Type&nbsp;&nbsp;</a></th>
<th class="nowrap">&nbsp;Image&nbsp;&nbsp;</th>
<th class="nowrap"><a class="listViewContentHeaderValues"><i class="fa fa-sort customsort"></i>&nbsp;&nbsp;&nbsp;Evenement&nbsp;&nbsp;</a></th>
<th class="nowrap"><a class="listViewContentHeaderValues"><i class="fa fa-sort customsort"></i>&nbsp;Produit&nbsp;&nbsp;</a></th>
<th class="nowrap"><a class="listViewContentHeaderValues"><i class="fa fa-sort customsort"></i>&nbsp;Lieu&nbsp;&nbsp;</a></th>
<th class="nowrap"><a class="listViewContentHeaderValues"><i class="fa fa-sort customsort"></i>&nbsp;UG Laboratoire&nbsp;&nbsp;</a></th>
<th class="nowrap"><a class="listViewContentHeaderValues"><i class="fa fa-sort customsort"></i>&nbsp;Matériel promotionel concurrents&nbsp;&nbsp;</a></th>
<th class="nowrap"><a class="listViewContentHeaderValues"><i class="fa fa-sort customsort"></i>&nbsp;Prise en charge&nbsp;&nbsp;</a></th>
<th class="nowrap"><a class="listViewContentHeaderValues"><i class="fa fa-sort customsort"></i>&nbsp;Action&nbsp;&nbsp;</a></th>
<th class="nowrap"><a class="listViewContentHeaderValues"><i class="fa fa-sort customsort"></i>&nbsp;Assigné a&nbsp;&nbsp;</a></th>
<th class="nowrap" style="width : 99px;"><a class="listViewContentHeaderValues"><i class="fa fa-sort customsort"></i>&nbsp;Date&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></th>
</tr>
</thead>
<tbody id="accounttabcenter">
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>';
$viewer->view('CustomDashboardFooter.tpl');
echo'
<div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" >
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myModalLabel">Création rapide</h4>
</div>
<div class="modal-body">
<form id="formulaire" action="?module=Veille&view=Veille" method="POST" enctype="multipart/form-data">
<table class="table table-borderless">
<tr>
<td class="fieldLabel alignMiddle">Type</td>
<td class="fieldValue">
<select class="js-example-basic-single form-control" id="type" name="type" onchange="typeTraitement(this)">
<option value=""></option>
<option value="Commerciale">Commerciale</option>
<option value="Médicale">Médicale</option>
</select>
</td>
</tr>
<tr>
<td class="fieldLabel alignMiddle">Evenement</td>
<td class="fieldValue">
<select class="js-example-basic-single form-control" id="Evenement" name="Evenement">
<option value=""></option>
<option value="Laboratoire">Laboratoire</option>
<option value="Grossiste">Grossiste</option>
</select>
</td>
</tr>
<tr>
<td class="fieldLabel alignMiddle">Theme</td>
<td class="fieldValue">
<select class="js-example-basic-single form-control" id="action" name="action">
<option value=""></option>
<option value="Matériel Promotionnel">Matériel Promotionnel</option>
<option value="Pack">Pack</option>
<option value="Unité Gratuite">Unité Gratuite</option>
<option value="Convention">Convention</option>
</select>
</td>
</tr>
<tr>
<td class="fieldLabel alignMiddle">Produit </td>
<td class="fieldValue">
<input type="text" class="inputElement nameField" id="Produit" name="Produit" autocomplete="off">
</td>
</tr>
<tr>
<td class="fieldLabel alignMiddle">UG Laboratoire</td>
<td class="fieldValue">
<input type="text" class="inputElement nameField" id="UG" name="UG" autocomplete="off" >
</td>
</tr>
<tr>
<td class="fieldLabel alignMiddle">Matériel promotionel concurrents</td>
<td class="fieldValue">
<input type="text" class="inputElement nameField" id="MPC" name="MPC" autocomplete="off" >
</td>
</tr>
<tr hidden id="Lieu">
<td class="fieldLabel alignMiddle">Lieu</td>
<td class="fieldValue">
<input type="text" class="inputElement nameField" id="PPA" name="PPA" autocomplete="off" >
</td>
</tr>
<tr>
<td class="fieldLabel alignMiddle">Prise en charge</td>
<td class="fieldValue">
<select class="js-example-basic-single form-control" id="PC" name="PC">
<option value=""></option>
<option value="Laboratoire">Laboratoire</option>
<option value="Grossiste">Grossiste</option>
</select>
</td>
</tr>
<tr>
<td class="fieldLabel alignMiddle">Image/Photo&nbsp;&nbsp;</td>
<td class="fieldValue">
<div class="fileUploadContainer text-left">
<div class="fileUploadBtn btn btn-primary">
<span><i class="fa fa-laptop"></i> Télécharger</span>
<input onchange="ValidateSize(this)" type="file" class="inputElement" name="fileToUpload" accept="image/*" >
</div>
</div>
<div class="redColor" id="message"></div>
</td>
</tr>
</table>
</div>
<div class="modal-footer">
<center>
<input type="hidden" name="idUser" value="">
<button type="submit" name="Enregistrer" class="btn addButton btn-success" >Enregistrer</button>
<a href="#" class="cancelLink" type="reset" data-dismiss="modal">Annuler</a>
</form>
</center>
</div>
</div>
</div>
</div>';
echo'<div id="divImage"></div>';
?>
<style>
:root {
--gray-color: rgb(220, 220, 220);
--light-gray-color: rgb(240, 240, 240);
--my-color: rgb(20, 160, 217);
}
</style>
<script type="text/javascript">
$(document).ready(function() {
$('.js-example-basic-single').select2();
});
function showVeillePopUp() {
$("#formulaire")[0].reset();
$('#exampleModalCenter').modal('show');
}
function showImagePopUp(e){
$( '#divImage').empty();
$('#divImage').append(
'<div class="modal fade" id="exampleModalCenterImage" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle2" aria-hidden="true">'+
'<div class="modal-dialog modal-lg modal-dialog-centered" role="document">'+
'<div class="modal-content">'+
' <div class="modal-header">'+
'<h5 class="modal-title" id="exampleModalLongTitle2"></h5>'+
'<button type="button" class="close" data-dismiss="modal" aria-label="Close">'+
'<span aria-hidden="true">&times;</span>'+
'</button>'+
'</div>'+
'<div class="modal-body">'+
'<div class="row" style="margin: 5px 0px 0px 0px;">'+
'<div><img id="output" src="'+$(e).attr('name')+'" style="width: 100%; height:520px;"/></div>'+
'</div>'+
' </div>'+
'<div class="modal-footer">'+
'<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>'+
'</div>'+
'</div>'+
'</div>'+
'</div>' );
$('#exampleModalCenterImage').modal('show');
}
function typeTraitement(typechoosen) {
var selectobject = document.getElementById("Evenement");
var selectobject2 = document.getElementById("action");
if(typechoosen.value == "Médicale") {
for (var i=0; i<selectobject.length; i++) {
if (selectobject.options[i].value == 'Grossiste')
selectobject.remove(i);
}
for (var i=0; i<selectobject2.length; i++) {
if (selectobject2.options[i].value == 'Pack')
selectobject2.remove(i);
if (selectobject2.options[i].value == 'Unité Gratuite')
selectobject2.remove(i);
if (selectobject2.options[i].value == 'Convention')
selectobject2.remove(i);
}
$('#Evenement').val("Laboratoire").trigger('change');
$('#action').val("Matériel Promotionnel").trigger('change');
document.getElementById("Lieu").removeAttribute("hidden");
} else {
$('#Evenement').val("").trigger('change');
$('#action').val("").trigger('change');
document.getElementById("Lieu").hidden = true;
var isexiste = 0;
for (var i=0; i<selectobject.length; i++) {
if (selectobject.options[i].value == 'Grossiste')
isexiste = 1;
}
if(isexiste == 0) {
var opt = document.createElement('option');
opt.value = "Grossiste";
opt.innerHTML = "Grossiste";
selectobject.appendChild(opt);
}
isexiste = 0;
for (var i=0; i<selectobject2.length; i++) {
if (selectobject2.options[i].value == 'Pack')
isexiste = 1;
}
if(isexiste == 0) {
var opt = document.createElement('option');
opt.value = "Pack";
opt.innerHTML = "Pack";
selectobject2.appendChild(opt);
opt = document.createElement('option');
opt.value = "Unité Gratuite";
opt.innerHTML = "Unité Gratuite";
selectobject2.appendChild(opt);
opt = document.createElement('option');
opt.value = "Convention";
opt.innerHTML = "Convention";
selectobject2.appendChild(opt);
}
}
}
function ValidateSize(file) {
var FileSize = file.files[0].size / 1024 / 1024; // in MB
var extension = file.files[0].type;
if (extension == "image/jpeg" || extension == "image/jpg" || extension == "image/png" ) {
if (FileSize > 3 ) {
alert('Taille maximum autorisée 3 MB');
}else{
document.getElementById("message").textContent = file.files[0].name;
}
}else{
alert('Vérifier le format du fichier');
}
}
var result = <?php echo json_encode($results); ?>;
function loadTable(data) {
if(data.length > 0) {
for(var i = 0; i < data.length; i++) {
var row = data[i];
if(row['lien_image'] == null){
var ima = "<td></td>"
}else{
var ima = "<td class='relatedListEntryValues' style='text-align: center;' ><a name='"+row['lien_image']+"' onclick ='showImagePopUp(this)'><i title='Voir' class='fa fa-picture-o alignMiddle'></i></a></td>";
}
$('#accounttabcenter').append(
"<tr class='listViewEntries'> "
+"<td class='relatedListEntryValues' style='text-align: center;' title='"+row['type']+"'>"+row['type']+"</td>"
+ima
+"<td class='relatedListEntryValues' style='text-align: center;' title='"+row['event']+"'>"+row['event']+"</td>"
+"<td class='relatedListEntryValues' style='text-align: center;' title='"+row['product']+"'>"+row['product']+"</td>"
+"<td class='relatedListEntryValues' style='text-align: center;' title='"+row['ppa']+"'>"+row['ppa']+"</td>"
+"<td class='relatedListEntryValues' style='text-align: center;' title='"+row['ug']+"'>"+row['ug']+"</td>"
+"<td class='relatedListEntryValues' style='text-align: center;' title='"+row['mpc']+"'>"+row['mpc']+"</td>"
+"<td class='relatedListEntryValues' style='text-align: center;' title='"+row['pc']+"'>"+row['pc']+"</td>"
+"<td class='relatedListEntryValues' style='text-align: center;' title='"+row['action']+"'>"+row['action']+"</td>"
+"<td class='relatedListEntryValues' style='text-align: center;' title='"+row['user_name']+"'>"+row['user_name']+"</td>"
+"<td class='relatedListEntryValues' style='text-align: center;' title='"+row['date_create']+"'>"+row['date_create']+"</td>"
+"</tr>"
);
}
}
}
loadTable(result);
</script>
<script>
var th = $(this);
function sortdata(col) {
if (th.is('.asc')) {
th.removeClass('asc');
th.addClass('desc selected');
sortOrder = 1;
} else {
th.addClass('asc selected');
th.removeClass('desc');
sortOrder = -1;
}
th.siblings().removeClass('asc selected');
th.siblings().removeClass('desc selected');
var arrData = $('#listview-table').find('tbody >tr:has(td)').get();
arrData.sort(function (a, b) {
var val1 = $(a).children('td').eq(col).text().toUpperCase();
var val2 = $(b).children('td').eq(col).text().toUpperCase();
if ($.isNumeric(val1) && $.isNumeric(val2))
return sortOrder == 1 ? val1 - val2 : val2 - val1;
else
return (val1 < val2) ? -sortOrder : (val1 > val2) ? sortOrder : 0;
});
$.each(arrData, function (index, row) {
$('#accounttabcenter').append(row);
});
}
sortdata(0);
$(document).ready(function () {
$('th').each(function (col) {
$(this).hover(
function () {
$(this).addClass('focus');
},
function () {
$(this).removeClass('focus');
}
);
$(this).click(function () {
sortdata(col);
});
th = $(this);
});
});
</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>