science-ation/testapi.php
james bd4eb9a9cc Reorder status array for Michael
Remove registrations_id from field list
Adjust remove dateofbirth in favour of birthdate
2011-03-03 19:24:49 +00:00

270 lines
8.8 KiB
PHP

<?
include "common.inc.php";
?>
<html>
<head>
<script type="text/javascript" src="js/jquery/jquery-1.4.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.get('api/role/list', {}, function(results){
var list, disabled;
var selector = [];
selector[0] = $('<select name="role_id"></select>');
selector[1] = $('<select name="role_id"></select>');
eval('list = ' + results);
for(n in list['roles']){
disabled = '';
if(list['roles'][n].registration == 'not available'){
disabled = ' disabled ';
}
selector[0].append($('<option ' + disabled + ' value="' + list['roles'][n].id + '">' + list['roles'][n].name + '</option>'));
selector[1].append($('<option ' + disabled + ' value="' + list['roles'][n].id + '">' + list['roles'][n].name + '</option>'));
}
$('#rolediv_1').prepend(selector[0]);
$('#rolediv_2').prepend(selector[1]);
});
});
function submitAccountUpdate(){
// using this to avoid passing blank values to the account update API
var submitDat = {}, field, value, n, hasvals = false;
for(n = 0; n < 4; n++){
switch(n){
case 0: field = 'username'; value = $('#username').val(); break;
case 1: field = 'password'; value = $('#password').val(); break;
case 2: field = 'email'; value = $('#email').val(); break;
case 3: field = 'link_username_to_email'; value = $('[name=' + field + ']:checked').val(); break;
}
if(value != undefined && value != ''){
eval('submitDat.' + field + ' = value;');
hasvals = true;
}
}
if(hasvals){
$.post('api/account/edit', submitDat,
function(result){
alert(result);
}
);
}
}
function dateListForConference() {
var o=document.getElementById('conferences_id');
window.location.href='api/dates/'+o.value;
return false;
}
</script>
<style type="text/css">
div.subset {margin: 2em}
</style>
</head>
<body>
<h1>Test API Page</h1>
<a href="apidoc.php">API Documentation</a><br />
<a href="doc/dictionary.php">Registration Group/Fields Dictionary Documentation</a><br/>
<!-- ******************************************** -->
<h2>General Commands</h2>
Login
<form method="post" action="api/auth/login">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" value="Login">
</form>
Logout
<form method="post" action="api/auth/logout">
<input type="submit" value="Logout">
</form>
<a href="api/conferences">Conference List</a><br />
Switch Conference
<form method="post" action="api/conferences/switch">
<input type="text" size=2 name="conferences_id">
<input type="submit" value="Switch Conference">
</form>
<a href="api/dates">Dates List (current conference)</a><br />
<form method="post" onsubmit="return dateListForConference()">
Date List
<input type="text" size=2 id="conferences_id" name="conferences_id">
<input type="submit" value="Conference Date List">
</form>
<!-- ******************************************** -->
<h2>Account Settings</h2>
<strong>Edit account information</strong><br/>
Username: <input type="text" id="username"></input><br/>
Password: <input type="text" id="password"></input><br/>
email: <input type="text" id="email"></input><br/>
Link username to email? <input type="radio" name="link_username_to_email" value="yes"></input>Yes &nbsp; &nbsp; &nbsp; <input type="radio" name="link_username_to_email" value="no"></input>No<br/>
<button onclick = "submitAccountUpdate(); return false;">Update account information</button>
<br/><br/><strong>Create an account:</strong><br/>
<form method="post" action="api/account/create">
username: <input type="text" name="username"></input><br/>
password: <input type="text" name="password"></input><br/>
email address: <input type="text" name="email"></input><br/>
<input type="submit" value="Create Account"></input>
</form>
<!-- ******************************************** -->
<h2>Project related commands</h2>
<div class="subset">
<h3>Start a new project</h3>
<a href="api/project/add">start a new project</a><br/>
<h3>Join a project</h3>
<form method = "post" action = "api/project/join">
<label>project e-mail address:<input type="text" name="email"></input></label><br/>
<label>registration number:<input type="text" name="registration_number"></input></label><br/>
<input type="submit" value="Join"></input>
</form>
<h3>Leave a project</h3>
<form method ="post" action = "api/project/remove">
<input type="submit" value="Leave"></input>
</form>
<h3>Manage mentors for the current project</h3>
<div class="subset">
<h4>Add a mentor</h4>
<form method="post" action="api/project/mentor/add">
<input type="submit" value="Submit"></input>
</form>
<h4>Remove a mentor</h4>
<form method="post" action="api/project/mentor/remove">
<label>mentor id:<input type="text" name="id"></input></label><br/>
<input type="submit" value="Submit"></input>
</form>
<h4>View mentors</h4>
<form method="post" action="api/project/mentor/view">
<input type="submit" value="Submit"></input>
</form>
</div>
</div>
<!-- ******************************************** -->
<h2>Teacher Specific Commands</h2>
<a href="api/scienceolympics/teams/list">Science Olympic Teams List</a><br />
<form method="post" action="api/scienceolympics/teams/add">
<input type="text" name="teamname">
<input type="submit" value="Add Team">
</form>
<form method="post" action="api/scienceolympics/teams/delete">
<input type="text" size=2 name="id">
<input type="submit" value="Delete Team">
</form>
<form method="post" action="api/scienceolympics/teams/edit">
<input type="text" size=2 name="id">
<input type="text" name="teamname">
<input type="submit" value="Edit Team">
</form>
<!-- ******************************************** -->
<h2>User Stuff</h2>
<a href="api/user/view/">View the user</a><br/>
<br/><strong>List users of a specific role that I'm allowed to modify</strong><br/>
<form method="post" action="api/user/list">
role id: <input type="text" name="roles_id"></input><br/>
<input type="submit" value="Get List"></input>
</form>
<br/><strong>Invite a user:</strong><br/>
<form method="post" action="api/user/invite">
username: <input type="text" name="username"></input><br/>
password: <input type="text" name="password"></input><br/>
email address: <input type="text" name="email"></input><br/>
role id: <input type="text" name="roles_id"></input><br/>
<input type="submit" value="Invite User"></input>
</form>
<br/><strong>Uninvite a user:</strong><br/>
<form method="post" action="api/user/uninvite">
user id: <input type="text" name="users_id"></input><br/>
role id: <input type="text" name="roles_id"></input><br/>
<input type="submit" value="Uninvite User"></input>
</form>
<!-- ******************************************** -->
<h2>Event Schedule</h2>
<a href="api/schedule/list">Schedule Listing</a><br/>
<a href="api/locations/list">Location Listing</a><br/>
Register a team for a scheduled event<br/>
<form method="post" action="api/schedule/register">
Team Id: <input type="text" name="team_id"></input>,
Schedule ID: <input type="text" name="schedule_id"></input>
<input type="submit" value="Register"></input>
</form>
Un-Register a team for a scheduled event<br/>
<form method="post" action="api/schedule/unregister">
Team Id: <input type="text" name="team_id"></input>,
Schedule ID: <input type="text" name="schedule_id"></input>
<input type="submit" value="Unregister"></input>
</form>
<!-- ******************************************** -->
<h2>Roles</h2>
<a href="api/role/list">Get a list of roles for this conference</a><br/>
Add a role to this account
<form method="post" action="api/role/add">
<div id="rolediv_1">
Password: <input name="password" type="password"></input>
<input type="submit" value="Add Role"></input>
</div>
</form>
Remove a role from this account
<form method="post" action="api/role/remove">
<div id="rolediv_2">
<input type="submit" value="Remove Role"></input>
</div>
</form>
<!-- ******************************************** -->
<h2>Registration Fields</h2>
<a href="api/registration/dictionary">View the dictionary of registration fields</a> &nbsp;
<a href="doc/dictionary.php">View Documentation Generated by this API call</a><br/>
<br />
(leave all blank to use currently logged in users fields)<br />
<form method="post" action="api/registration/fields">
<?
foreach($roles AS $role=>$r) {
echo "<label><input type=\"checkbox\" name=\"roles[]\" value=\"{$r['type']}\">$role</label><br />\n";
}?>
<input type="submit" value="List Registration Fields for Selected Roles">
</form>
<!-- ******************************************** -->
<h2>Schools</h2>
<a href="api/school/list">School Listing</a><br/>
<form method="post" action="api/user/connect_to_school">
<input type="text" size=4 name="schools_id">
<input type="text" size=6 name="accesscode">
<input type="submit" value="Set user's school">
</form>
<!-- ******************************************** -->
<h2>Session Variables</h2>
<?
echo json_encode($_SESSION);
?>
</body>
</html>