Contact Times: Simplify Timer with jQuery ajax instead.

This commit is contained in:
Nate Jones
2015-05-17 09:08:52 +00:00
parent 741dbd876c
commit d9de58b0cd
+18 -64
View File
@@ -146,7 +146,7 @@ if (!permission_exists('contact_time_add')) { echo "access denied"; exit; }
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'> <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'>
<head> <head>
<title>Timer: <?php echo $contact; ?></title> <title><?php echo $text['label-time_timer']; ?>: <?php echo $contact; ?></title>
<style> <style>
body { body {
color: #5f5f5f; color: #5f5f5f;
@@ -297,71 +297,25 @@ if (!permission_exists('contact_time_add')) { echo "access denied"; exit; }
</style> </style>
<script language="JavaScript" type="text/javascript" src="<?php echo PROJECT_PATH; ?>/resources/jquery/jquery-1.11.1.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//ajax for refresh $(document).ready(function(){
var refresh = 1500; //ajax for refresh
var source_url = 'contact_timer_inc.php?domain_uuid=<?php echo $domain_uuid; ?>&contact_uuid=<?php echo $contact_uuid; ?>&contact_time_uuid=<?php echo $contact_time_uuid; ?>'; var refresh = 1500;
var interval_timer_id; var source_url = 'contact_timer_inc.php?domain_uuid=<?php echo $domain_uuid; ?>&contact_uuid=<?php echo $contact_uuid; ?>&contact_time_uuid=<?php echo $contact_time_uuid; ?>';
function loadXmlHttp(url, id) { var ajax_get = function () {
var f = this; $.ajax({
f.xmlHttp = null; url: source_url, success: function(response){
/*@cc_on @*/ // used here and below, limits try/catch to those IE browsers that both benefit from and support it $("#ajax_reponse").html(response);
/*@if(@_jscript_version >= 5) // prevents errors in old browsers that barf on try/catch & problems in IE if Active X disabled }
try {f.ie = window.ActiveXObject}catch(e){f.ie = false;} });
@end @*/ setTimeout(ajax_get, refresh);
if (window.XMLHttpRequest&&!f.ie||/^http/.test(window.location.href)) };
f.xmlHttp = new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari, others, IE 7+ when live - this is the standard method <? if ($timer_state == 'running') { ?>
else if (/(object)|(function)/.test(typeof createRequest)) ajax_get();
f.xmlHttp = createRequest(); // ICEBrowser, perhaps others <? } ?>
else { });
f.xmlHttp = null;
// Internet Explorer 5 to 6, includes IE 7+ when local //
/*@cc_on @*/
/*@if(@_jscript_version >= 5)
try{f.xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}
catch (e){try{f.xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}catch(e){f.xmlHttp=null;}}
@end @*/
}
if(f.xmlHttp != null){
f.el = document.getElementById(id);
f.xmlHttp.open("GET",url,true);
f.xmlHttp.onreadystatechange = function(){f.stateChanged();};
f.xmlHttp.send(null);
}
}
loadXmlHttp.prototype.stateChanged=function () {
if (this.xmlHttp.readyState == 4 && (this.xmlHttp.status == 200 || !/^http/.test(window.location.href)))
//this.el.innerHTML = this.xmlHttp.responseText;
document.getElementById('ajax_reponse').innerHTML = this.xmlHttp.responseText;
if (document.getElementById('title_script')) {
eval(document.getElementById('title_script').innerHTML);
}
}
<? if ($timer_state == 'running') { ?>
var requestTime = function() {
var url = source_url;
new loadXmlHttp(url, 'ajax_reponse');
refresh_start();
}
if (window.addEventListener) {
window.addEventListener('load', requestTime, false);
}
else if (window.attachEvent) {
window.attachEvent('onload', requestTime);
}
<? } ?>
//refresh controls
function refresh_start() {
interval_timer_id = setInterval( function() {
url = source_url;
new loadXmlHttp(url, 'ajax_reponse');
}, refresh);
}
//set window title to time when timer is running //set window title to time when timer is running
function set_title(title_text) { function set_title(title_text) {