<?php
include($O__libPath . "/functions/server/O__tableMaker.php");

$O__output = "";

function O__removeLabel($O__value, $O__delim){
	$O__valueLabelSplit = strpos($O__value, $O__delim) + 1;
	$O__valueSplit = substr($O__value, $O__valueLabelSplit);
	$O__value = trim($O__valueSplit);	

	return $O__value;
}

function O__createOutput(){
	global $O__libPath,$O__DBpath,$O__logPath,$O__PT,$O__output,$O__URLpath,$O__PTATinputs;
		
	// Load settings
	$O__fileData = O__XMLdata($O__DBpath . "/pageTypes/" . $O__PT . "/configs/settings.xml", 0, 0);
	$O__defaultInput = O__XMLgetData($O__fileData,"/settings/setting[@id='defaultInput']/value");
	$O__displayMax = O__XMLgetData($O__fileData,"/settings/setting[@id='displayMax']/value");
	$O__dataOrder = O__XMLgetData($O__fileData,"/settings/setting[@id='dataOrder']/value");
	$O__labelRemove = O__XMLgetData($O__fileData,"/settings/setting[@id='labelRemove']/value");
	unset($O__fileData);
	
	// Set log file to read, if it exists
	$O__dataFile = $O__defaultInput;
	if (file_exists($O__logPath . $O__URLpath[1])){
		$O__dataFile = $O__URLpath[1];
	}
	
	// Read log file
	$O__output .= "<h2>Logs Viewer</h2>";
	$O__output .= "<b>Now viewing '" . $O__dataFile . "'</b>";
	$O__colLabels = array("Date","Time","Page","Status","User","IP","Notes");
	$O__fileData = O__dataRead($O__logPath . $O__dataFile);
	$O__fileDataRows = explode("\n",$O__fileData);
	
	// Set order of rows
	if ($O__dataOrder == "d"){ $O__fileDataRows = array_reverse($O__fileDataRows); }
	
	// Define maximum rows to show
	if ($O__displayMax > count($O__fileDataRows)){ // if less rows available than max defined
		$O__rowCount = count($O__fileDataRows);
	} else {
		$O__rowCount = $O__displayMax;
	}
	
	// Build row data
	for($i=1;$i<$O__rowCount;$i++){ // start after the label
		$O__fileDataRowData = explode("\t",$O__fileDataRows[$i]);
		//echo($i. " " . count($O__fileDataRowData) . "<br>");
		if (count($O__fileDataRowData) > 1){ // if there's row data
			if ($O__labelRemove == 1){
				$O__data[$i][0] = O__removeLabel($O__fileDataRowData[0], ":");
				$O__data[$i][1] = O__removeLabel($O__fileDataRowData[1], ":");
				$O__data[$i][2] = O__removeLabel($O__fileDataRowData[2], ":");
				$O__data[$i][3] = O__removeLabel($O__fileDataRowData[3], ":");
				$O__data[$i][4] = O__removeLabel($O__fileDataRowData[4], ":");
				$O__data[$i][5] = O__removeLabel($O__fileDataRowData[5], ":");
				$O__data[$i][6] = O__removeLabel($O__fileDataRowData[6], ":");
			} else {		
				$O__data[$i][0] = $O__fileDataRowData[0];
				$O__data[$i][1] = $O__fileDataRowData[1];
				$O__data[$i][2] = $O__fileDataRowData[2];
				$O__data[$i][3] = $O__fileDataRowData[3];
				$O__data[$i][4] = $O__fileDataRowData[4];
				$O__data[$i][5] = $O__fileDataRowData[5];
				$O__data[$i][6] = $O__fileDataRowData[6];
			}
		}
	}

	$O__output .= O__tableMaker($O__colLabels,$O__data,"O__table","O__tableLogs",0);
	
	return $O__output;
}

$O__output = O__createOutput();
?>
