<?php
	require_once('config.php');
	require_once($CFG->libdir.'/accesslib.php');
	require_once($CFG->libdir.'/weblib.php');

	require_login();
	print_header_simple();

	//
	// The function originally had a $userid parameter, but I removed it
	// because of problems loading access data for a user other than the
	// current user.  The function now prints the permission table for the
	// current user.
	//
	function print_permissions_table($capability,$contextlevel,$instanceid){

		$result = get_permissions_table($capability,$contextlevel,$instanceid);
		$table = $result->table;
		//
		// Create a new 2-D table with lots of padding so it prints nicely 
		//
		$n = count($table);
		for($i=0;$i<$n;$i++){
			for($j=0;$j<$n;$j++){
				$pc = count($table[$i][$j]);
				if( $pc > 0 ){
					$perm_string = $table[$i][$j][0];
					for($k=1;$k<$pc;$k++){
						$perm_string .= ", ".$table[$i][$j][$k];
					}
					$newtable[$i][$j] = $perm_string;
				}else{
					$newtable[$i][$j] = "-";
				}
			}
		}
		$table_structure = new object();
		$table_structure->data = $newtable;
		$table_structure->head = $result->context_names;
		//
		// This is the final output:
		//
		print("capability = ".$capability."<br/>"); 
		print("contextlevel = ".$contextlevel."<br/>"); 
		print("instanceid = ".$instanceid."<br/>"); 
		print("-<br/>");
		print("user = ".$result->user."<br/>");
		print("context = ".$result->full_target_context_name."<br/>"); 

		foreach($result->rolenames as $id => $shortname){
			print("$id"." = "."$shortname"."<br/>");
		}
		print_table($table_structure);
		//
		// show the result calculated by has_capability()
		//
		print("has_capability() gives $result->calculated_result<br/>");
	}
?>
	<h3>
		<form method="GET" action="rolesdebug2.php">
			capability
			<input name="capability" type="text">
			<br/>context level
			<select name="contextlevel">
				<option value=100 selected="selected">NONE</option>
				<option value=10>SYSTEM</option>
				<option value=30>USER</option>
				<option value=40>COURSECAT</option>
				<option value=50>COURSE</option>
				<option value=60>GROUP</option>
				<option value=70>MODULE</option>
				<option value=80>BLOCK</option>
			</select>
			<br/>instance id
			<input name="instanceid" type="integer">
			<br/>
			<input type="submit" value="go">
		</form>
	</h3>
<?php

	$capability = $_GET["capability"];
	$contextlevel = $_GET["contextlevel"];
	$instanceid = $_GET["instanceid"];

	if(isset($capability) && ($capability != "NONE") ){
		print_permissions_table($capability,$contextlevel,$instanceid);
	}
	print_footer();
?>

