summaryrefslogtreecommitdiffstats
path: root/pages/process.php
blob: 5591954aceddfa221cf7751e9a4d63f11dc89ee9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<?php
//include_once('./includes/maps.php');
//include_once('./includes/mapclass.php');

//Self-ajax.
if ($_REQUEST['command'] == 'updateTask') {
	$taskName = 'FAKE RECALCULATION';
	$progress = $_SESSION['tmp'];
	
	if ($progress >= 100) $_SESSION['dotask'] = false;
	
	if ($_SESSION['dotask'] !== true) {
		$json['percentComplete'] = $_SESSION['tmp'];
		$json['taskName'] = $taskName;
		$json['completed'] = true;
		echo json_encode($json);
		exit;
	}
	
	$_SESSION['tmp'] = $_SESSION['tmp'] + 25;
	
	
	$json['percentComplete'] = $_SESSION['tmp'];
	$json['taskName'] = $taskName;
	$json['completed'] = 'false';
	echo json_encode($json);
	exit;
}

if ($_REQUEST['command'] == 'recalculateStats') {
	//Already working on a task?
	if ($_SESSION['dotask'] == true) {
		$json['error'] = 'Task in progress!';
		echo json_encode($json);
		exit;
	}

	$_SESSION['tmp'] = 0;
	$_SESSION['dotask'] = true;
	$json['percentComplete'] = $_SESSION['tmp'];
	$json['taskName'] = 'FAKE_Recalculation of stats';
	echo json_encode($json);
	exit;
}

htmlHeader(array('stats', 'achievements'), 'Process Tasks', 
	'Process Tasks',
	array());
	

?>

<body>
<?php
topbar($Links);

?>
<script>
//setTimeout("start();", 500);
function start() {
}

var requestComplete = true;
processTimer();
function processTimer() {
	setTimeout("processTimer()", 3000);
	if (requestComplete == false) return;
	getTaskUpdate('updateTask');
}

function recalculate() {
	if (!confirm('Are you sure?')) return;
	getTaskUpdate('recalculateStats');
}

function getTaskUpdate(command) {
	//var URLString = 'process?initiate=true&x'+JSON.stringify(testMap);
	requestComplete = false;
	var URLString = 'process?command='+command;
	$.ajax({
		type: "GET",  
		url: URLString,
		cache: true,
		data: '', 
		fail: function() { alert("error"); },
		complete: function(data) {
			if (data.responseText.length <= 1) {
				console.log('null response');
				requestComplete = true;
				return;
			}
			json = decryptJSON(data.responseText);
			if (json.error) {
				alert('ERROR: "' + json.error + '".')
				requestComplete = true;
				return;
			}
			$('#taskProgressDisp').width(json.percentComplete+'%');
			$('#taskProgressName').html(json.taskName);
			// if (json.completed == true) {
				// alert("TASK COMPLETE!");
			// }
			requestComplete = true;
		}
	});
}


</script>

<div class='wrapper'>

<h3>Task Processor</h3>
	<div class='wrapper'>
		<form>
			<fieldset>
				<legend>Tasks:</legend>
					<div class='plusMinus'>
					Recalculate all statistics: <input type="button" value="Recalculate!" class="forminput" onclick='recalculate()'/>
					</div>
					Processing: "<span id='taskProgressName'>Loading...</span>"
					<div class='progressBar' style='width:600px'> 
						<div id='taskProgressDisp' style='width:0%;'>
						</div>
					</div>
					
			</fieldset>
			
		</form>
	</div>
</div>

<?php
htmlFooter();
?>