public function __construct(&$page, $params)
 {
     $this->page =& $page;
     $this->params = $params;
     switch (count($params)) {
         case 0:
             break;
         case 1:
             $slug = $params[0];
             /* We try to find a subpage of the calendar page, so the event's page can be customized */
             $page_found = Page::findBySlug($slug, $this->page, true);
             if (is_a($page_found, "Page")) {
                 $this->page = $page_found;
             } else {
                 /* A subpage is not found, so try to parse a date and then create an event's page */
                 try {
                     $datetime = new DateTime($slug);
                 } catch (Exception $e) {
                     pageNotFound();
                     exit;
                 }
                 $events = CalendarEvent::findEventsByDate($datetime->format('Y-m-d'));
                 $this->page->title = strftime("%x", $datetime->getTimestamp());
                 /* The date should be localized */
                 $this->beginCapture();
                 showEvents($events);
                 $this->endCapture();
             }
             break;
         case 2:
             $year = $params[0];
             $month = $params[1];
             $this->beginCapture();
             $this->showCalendarForMonth($year, $month);
             $this->endCapture();
             break;
         default:
             pageNotFound();
             exit;
     }
 }
예제 #2
0
        echo "</td>\n</tr>\n</table>\n<br>\n";
    }
}
//sanity check
if (empty($lcV)) {
    exit('not permitted (' . substr(basename(__FILE__), 0, -4) . ')');
}
//launch via script only
//main program
$evtList = array();
$fromD = isset($_POST['fromD']) ? DDtoID($_POST['fromD']) : date('Y-m-d');
$fromD = min($fromD, date('Y-m-d'));
//display header
echo "<div class='subHead'>\n\t<form method='post' id='selectD' name='selectD' action='index.php?lc'>{$xx['chg_from_date']}: \n\t<input type='hidden' name='token' value='{$_SESSION['token']}'>\n\t<input type='text' id='fromD' name='fromD' value='" . IDtoDD($fromD) . "' size='10'>\n\t<button class='noPrint' title=\"{$xx['chg_select_date']}\" onclick=\"dPicker(0,'selectD','fromD');return false;\">&larr;</button>\n\t</form>\n</div>\n";
// retrieve changed events
grabChanges($fromD, 0);
//query db for changes
//display changes
echo '<div class="eventBg' . ($_SESSION['mobile'] ? '"' : ' scrollBoxCh"') . ">\n";
if ($fromD != date('Y-m-d')) {
    echo "<h4>" . makeD($fromD, 2) . " - " . makeD(date('Y-m-d'), 2) . "</h4>\n<br>\n";
}
if ($evtList) {
    foreach ($evtList as $date => &$events) {
        echo "<br><h6>" . $xx['chg_changed_on'] . " " . makeD($date, 5) . "</h6><br>\n";
        showEvents($events, $date);
    }
} else {
    echo "<br>{$xx['chg_no_changes']}<br>\n";
}
echo "</div>\n<br>";
예제 #3
0
function showDay($cDate, $caption = "")
{
    global $set, $evtList;
    //build day
    $tsHeight = $set['dwTsHeight'] - 1;
    echo "<div class='timeFrame'>\n";
    echo "<var style='height:{$tsHeight}px;' id='a00:00:{$cDate}'></var>\n";
    $i = $set['dwStartHour'];
    $j = 0;
    if ($set['dwStartHour']) {
        echo "<var style='height:{$tsHeight}px;' id='t00:30:{$cDate}'></var>\n";
    }
    while ($i < $set['dwEndHour']) {
        echo "<var style='height:{$tsHeight}px;' id='t" . str_pad($i, 2, "0", STR_PAD_LEFT) . ":" . str_pad($j, 2, "0", STR_PAD_LEFT) . ":{$cDate}'></var>\n";
        if (($j += $set['dwTimeSlot']) >= 60) {
            $i++;
            $j -= 60;
        }
    }
    if ($set['dwEndHour'] < 24) {
        echo "<var style='height:{$tsHeight}px;' id='t" . str_pad($i, 2, "0", STR_PAD_LEFT) . ":" . str_pad($j, 2, "0", STR_PAD_LEFT) . ":{$cDate}'></var>\n";
    }
    echo "<div class=dates>\n";
    if (!empty($evtList[$cDate])) {
        showEvents($cDate);
    }
    echo "</div>";
    echo "</div>\n";
}
예제 #4
0
파일: checkin.php 프로젝트: sendtobo/eWeek
function eweek_render_checkin()
{
    ?>
	<style>
	#individualPoints_resultBox{
		margin-top: 2em;
		background: #fafafa;
	}
	/*By Bo*/
	#individualPoints_resultBox_table{
		width:100%;
	}
	#individualPoints_resultBox_table thead{
		font-weight: bold;
	}
	#individualPoints_resultBox_table tbody tr{
		margin-bottom: 10px;
	}
	#individualPoints_resultBox_table tbody td{
		padding: 5px;
	}
	.Yes{
		background-color: #b2ff59;
		color:black;
	}
	.No{
		background-color: #e62739;
		color: white;
	}
	.Maybe{
		background-color: #ffeb3b;
		color: black;
	}
	.btn{
		display: inline-block;
		margin-bottom: 0;
		font-weight: 400;
		text-align: center;
		vertical-align: middle;
		cursor: pointer;
		background-image: none;
		border: 1px solid transparent;
		white-space: nowrap;
		padding: 6px 12px;
		font-size: 14px;
		line-height: 1.42857143;
		border-radius: 4px;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none
	}
	.hidden{
		display: none;
	}
	</style>
	<a href="admin.php?page=eweek_index">back to eWeek</a>
	<h1>Checkin</h1>
		<div id="initial">
			<?php 
    showEvents();
    ?>
			<h3>Swipe PolyCard or Search to Checkin</h3>
			<h3 style="display:inline;margin-right:10px;">Name:</h3><input type='text' id='name' name='name' autocomplete="off"/></br>
			<h3 style="display:inline;margin-right:10px;">Email:</h3><input type='text' id='email' name='email' autocomplete="off"/></br>
			<button id="searchBtn" class="btn btn-primary">Search</button>
		</div>
		<div id="message"></div>
		<form id="checkinForm">

		</form>
		<div id="individualPoints_resultBox" class="contentBox">
      <table id="individualPoints_resultBox_table">
        <tr>
          <td>
            <p>
      				Press 'Search' to See Results
      			</p>
          </td>
        </tr>
      </table>
		</div>
		<script>
		function registerCardReader(){
			var cardNum = "";
			var reading = false;
			function dealWithKeyboard(e){
				var str = String.fromCharCode(e.charCode);
				if(str.match("^[a-zA-Z\(\)]+$")){
					cardNum = "";
				}
				if(str == "?"){
					reading = false;
				}
				if(reading){
					cardNum += str;
				}
				if(str == ";"){
					reading = true;
				}
				if(str == "?" && cardNum.length > 3){
					window.removeEventListener("keypress", dealWithKeyboard, false);
					console.log(cardNum);
					checkCardNum(cardNum);
				}
			}
			window.addEventListener("keypress", dealWithKeyboard, false);
		}

		registerCardReader();

		function checkCardNum(cardNum){
		  if(cardNum.length > 3){
				lookUpCardNum(cardNum);
		  }else{
		    alert("There was a problem reading the card, try again");
		    registerCardReader();
		  }
		}
		var searchingCard = false;
		function lookUpCardNum(cardNum){
			searchingCard = true;
			var data = {
	      'action' : 'lookUpCardNum',
	      'cardNum' : ''+cardNum
	    };
			jQuery("#name").val("");
			jQuery("#email").val("");
	    // post the data through AJAX and make sure its all good
			jQuery("#searchBtn").empty();
			jQuery("#searchBtn").append("Loading");
	    jQuery.post("<?php 
    echo admin_url('admin-ajax.php');
    ?>
", data, function(response) {
				jQuery("#searchBtn").empty();
				jQuery("#searchBtn").append("Search");
				jQuery("#name").val("");
				jQuery("#email").val("");
				console.log(response);
	      if(response != "notFound"){
					var json = eval("(" + response + ")");
				var results = jQuery("#individualPoints_resultBox_table");
				results.empty();
				var append = "<thead><tr><td>Name</td><td>Email</td><td>TShirt</td><td>Checked In</td></tr></thead><tbody>";
				for (var i = 0; i < json.length; i++) {
					var person = json[i];
					var tshirt = person.has_tshirt;
					var checkedIn = "No";
					var checkText = "Checkin";
					if(hasAttended(person)){
						checkedIn = "Yes";
						checkText = "Checked";
					}
					if(tshirt == 1){
						tshirt = "Yes";
					}else{
						tshirt = "No";
					}
					var personStr = "<tr>";
					personStr += "<td>"+person.name+"</td>";
					personStr += "<td>"+person.email+"</td>";
					personStr += "<td><button id='"+person.id+"Tshirt' class='btn "+tshirt+"' onclick='giveTshirt("+person.id+")'>"+tshirt+"</button></td>";
					personStr += "<td><button id='"+person.id+"Checkin' class='btn clickMe "+checkedIn+"' onclick='checkin("+person.id+")'>"+checkText+"</button></td>";
					personStr += "</tr>";
					append += personStr;
				}
				append += "</tbody>";
				results.append(append);
				searchingCard = false;
				if(checkedIn == "No"){
					checkin(""+person.id);
				}

	      }else{
	        console.log("Could Not Find Person");
					searchingCard = false;
	        assignCardNum(cardNum);
	      }
				registerCardReader();
	    });
		}
		var newCard = false;
		function assignCardNum(cardNum){
			jQuery("#name").val("");
			jQuery("#email").val("");
			var checkinForm = jQuery('#checkinForm');
			checkinForm.empty();
			checkinForm.append("<h2>"+cardNum+" was not found</h2>")
			checkinForm.append("<input type='hidden' id='newCardNum' name='cardNum' value='" + cardNum + "' readonly/>");
			newCard = true;
		}

		jQuery("#name").on('input',function(e){
		 //searchForParticipant();
		});
		jQuery("#email").on('input',function(e){
		 //searchForParticipant();
		});
		jQuery("#events").on('change',function(e){
		 //searchForParticipant();
		});
		jQuery("#searchBtn").click(function(e){
			if(jQuery("#events").val() != 5208){
				searchForParticipant();
			}else{
				searchForCasino();
			}
		})

		function assign(personID){
			var data = {
				'action' : 'card',
				'name' : personID,
				'card' : ""+jQuery("#newCardNum").val(),
				'event': ""+jQuery("#events").val()
			};
			jQuery("#searchBtn").empty();
			jQuery("#searchBtn").append("Loading");
			element = jQuery("#"+personID+"Assign");
			element.toggleClass("Maybe");
			ajaxReq = jQuery.post("<?php 
    echo admin_url('admin-ajax.php');
    ?>
", data, function(response) {
				newCard = false;
				jQuery("#searchBtn").empty();
				jQuery("#searchBtn").append("Search");
				console.log(response);
				if(response == "added"){
					element.removeClass("Maybe");
					element.toggleClass("Yes");
					element.toggleClass("No");
					element.empty();
					element.append("Assigned/CheckedIn");
				}else if(response == "failed"){
					alert("Something went wrong, try again");
				}
			});
		}

		function searchForCasino(){
			var lastName = jQuery( "#name" ).val();
			var userEmail = jQuery("#email").val();
			var data = {
				'action' : 'lookup',
				'name' : lastName,
				'email' : userEmail,
			};
			if(ajaxReq != null){
				ajaxReq.abort();
			}
			if(!searchingCard){
				jQuery("#searchBtn").empty();
				jQuery("#searchBtn").append("Loading");
				ajaxReq = jQuery.post("<?php 
    echo admin_url('admin-ajax.php');
    ?>
", data, function(response) {
					jQuery("#searchBtn").empty();
					jQuery("#searchBtn").append("Search");
					if(response.length > 1){
						var json = eval("(" + response + ")");
						var results = jQuery("#individualPoints_resultBox_table");
						results.empty();
						var append = "<thead><tr><td>Name</td><td>Email</td><td>Points</td><td>Saved Points</td></tr></thead><tbody>";
						for (var i = 0; i < json.length; i++) {
							var person = json[i];
							var casino_points = person.casino_points;
							if(casino_points == undefined){
								casino_points = 0;
							}
							var personStr = "<tr>";
							personStr += "<td>"+person.name+"</td>";
							personStr += "<td>"+person.email+"</td>";
							personStr += "<td><input type='text' id='"+person.id+"newCasino' value='"+casino_points+"'\></td>";
							personStr += "<td><button id='"+person.id+"currentCasino' class='btn Yes' onclick='saveCasino("+person.id+")'>"+casino_points+"</button></td>";
							personStr += "</tr>";
							append += personStr;
						}
						append += "</tbody>";
						results.append(append);
					}
				});
			}
		}

		var ajaxReq;
		function searchForParticipant(){
			var lastName = jQuery( "#name" ).val();
			var userEmail = jQuery("#email").val();
			var data = {
				'action' : 'lookup',
				'name' : lastName,
				'email' : userEmail,
			};
			if(ajaxReq != null){
				ajaxReq.abort();
			}
			if(!searchingCard){
				jQuery("#searchBtn").empty();
				jQuery("#searchBtn").append("Loading");
				ajaxReq = jQuery.post("<?php 
    echo admin_url('admin-ajax.php');
    ?>
", data, function(response) {
					jQuery("#searchBtn").empty();
					jQuery("#searchBtn").append("Search");
					if(response.length > 1){
						var json = eval("(" + response + ")");
						var results = jQuery("#individualPoints_resultBox_table");
						results.empty();
						var append = "<thead><tr><td>Name</td><td>Email</td><td>TShirt</td><td>Checked In</td></tr></thead><tbody>";
						if(newCard){
							append = "<thead><tr><td>Name</td><td>Email</td><td>TShirt</td><td>Assign</td></tr></thead><tbody>";
						}
						for (var i = 0; i < json.length; i++) {
							var person = json[i];
							var tshirt = person.has_tshirt;
							var checkedIn = "No";
							var checkText = "Checkin";
							if(tshirt == 1){
								tshirt = "Yes";
							}else{
								tshirt = "No";
							}
							if(newCard){
								if(person.card_num != undefined && person.card_num[0].length > 0){
									checkText = "Assigned";
									checkedIn = "hidden";
								}else{
									checkedIn = "No"
									checkText = "Assign";
								}
								var personStr = "<tr>";
								personStr += "<td>"+person.name+"</td>";
								personStr += "<td>"+person.email+"</td>";
								personStr += "<td><button id='"+person.id+"Tshirt' class='btn "+tshirt+"' onclick='giveTshirt("+person.id+")'>"+tshirt+"</button></td>";
								personStr += "<td><button id='"+person.id+"Assign' class='btn "+checkedIn+"' onclick='assign("+person.id+")'>"+checkText+"</button></td>";
								personStr += "</tr>";
								append += personStr;
							}else{
								if(hasAttended(person)){
									checkedIn = "Yes";
									checkText = "Checked In";
								}
								var personStr = "<tr>";
								personStr += "<td>"+person.name+"</td>";
								personStr += "<td>"+person.email+"</td>";
								personStr += "<td><button id='"+person.id+"Tshirt' class='btn "+tshirt+"' onclick='giveTshirt("+person.id+")'>"+tshirt+"</button></td>";
								personStr += "<td><button id='"+person.id+"Checkin' class='btn "+checkedIn+"' onclick='checkin("+person.id+")'>"+checkText+"</button></td>";
								personStr += "</tr>";
								append += personStr;
							}
						}
						append += "</tbody>";
						results.append(append);
					}
				});
			}
		}

		function hasAttended(person,event){
				var eventsAttended = person.events_attended[0];
				console.log(eventsAttended);
				if(eventsAttended == null){
					eventsAttended = "";
				}
				var eventID = jQuery("#events").val();
				return (eventsAttended.indexOf("\""+eventID+"\"") != -1);
		}

		var casinoAJAX;
		function saveCasino(personID){
			var newPoints = jQuery("#"+personID+"newCasino").val();
			var element = jQuery("#"+personID+"currentCasino");
			element.toggleClass("Maybe");
			var data = {
				'action' : 'casino',
				'name' : personID,
				'points' : newPoints,
			};
			if(checkinAJAX != null){
				checkinAJAX.abort();
			}
			if(!searchingCard){
				jQuery("#searchBtn").empty();
				jQuery("#searchBtn").append("Loading");
				checkinAJAX = jQuery.post("<?php 
    echo admin_url('admin-ajax.php');
    ?>
", data, function(response) {
					jQuery("#searchBtn").empty();
					jQuery("#searchBtn").append("Search");
					console.log(response);
					element.removeClass("Maybe");
					element.addClass("Yes");
					element.removeClass("No");
					element.empty();
					element.append(response);
				});
			}
		}

		var checkinAJAX;
		function checkin(personID){
			var eventID = jQuery("#events").val();
			var element = jQuery("#"+personID+"Checkin");
			element.toggleClass("Maybe");
			var data = {
				'action' : 'checkin',
				'name' : personID,
				'event' : eventID,
			};
			if(checkinAJAX != null){
				checkinAJAX.abort();
			}
			if(!searchingCard){
				jQuery("#searchBtn").empty();
				jQuery("#searchBtn").append("Loading");
				checkinAJAX = jQuery.post("<?php 
    echo admin_url('admin-ajax.php');
    ?>
", data, function(response) {
					jQuery("#searchBtn").empty();
					jQuery("#searchBtn").append("Search");
					console.log(response);
					if(response == "added"){
						element.removeClass("Maybe");
						element.toggleClass("Yes");
						element.toggleClass("No");
						element.empty();
						element.append("Checked");
					}else if(response == "removed"){
						element.removeClass("Maybe");
						element.toggleClass("Yes");
						element.toggleClass("No");
						element.empty();
						element.append("Checkin");
					}else if(response == "failed"){
						alert("Something went wrong, try again");
					}
				});
			}
		}

		var tShirtAJAX;
		function giveTshirt(personID){
			var element = jQuery("#"+personID+"Tshirt");
			element.toggleClass("Maybe");
			var data = {
				'action' : 'tshirt',
				'name' : personID,
			};
			if(tShirtAJAX != null){
				tShirtAJAX.abort();
			}
			jQuery("#searchBtn").empty();
			jQuery("#searchBtn").append("Loading");
			tShirtAJAX = jQuery.post("<?php 
    echo admin_url('admin-ajax.php');
    ?>
", data, function(response) {
				jQuery("#searchBtn").empty();
				jQuery("#searchBtn").append("Search");
					if(response == "added"){
						element.removeClass("Maybe");
						element.toggleClass("Yes");
						element.toggleClass("No");
						element.empty();
						element.append("Yes");
					}else if(response == "removed"){
						element.removeClass("Maybe");
						element.toggleClass("Yes");
						element.toggleClass("No");
						element.empty();
						element.append("No");
					}else if(response == "failed"){
						alert("Something went wrong, try again");
					}
			});
		}
		</script>
	<?php 
}
예제 #5
0
        $class = ($curD == "1" or $curD . $curM == "11") ? 'firstDom' : 'dom';
        if (!$_SESSION['hdr']) {
            $day = "<span class='{$class} floatR'>{$day}</span>";
        } else {
            $day = "<span class='{$class} floatR hyper' onclick=\"goDay('{$cDate}');\" title=\"{$xx['vws_view_day']}\">{$day}</span>";
        }
        if ($cDate == date("Y-m-d")) {
            $dow .= ' today';
            $celcol = " style='background:#AA9944'";
        } elseif (isset($_SESSION['nD']) and $cDate == $_SESSION['nD']) {
            $dow .= ' slday';
        }
        $dHead = $privs > 1 ? " class='hyper' onclick=\"newE('{$cDate}');\" title=\"{$xx['vws_add_event']}\"" : '';
        if ($set['weeksToShow'] > 0 or $i >= $sOffset and $i < $eOffset) {
            //no single month or day inside
            echo "<td class='{$dow}'{$dayBg}>{$day}<div{$dHead}>&nbsp;</div>\n";
            if (!empty($evtList[$cDate])) {
                showEvents($cDate);
            }
        } else {
            //one month and day outside
            echo "<td class='blank'>\n";
        }
        echo "</td>\n";
    }
    if ($i % 7 == 6) {
        echo "</tr>\n";
    }
    //if last day of week, wrap to left
}
echo "</table>\n</div>\n";
예제 #6
0
파일: get.php 프로젝트: nuxi/MiningBuddy
function process_get()
{
    global $page;
    global $MySelf;
    $ajax = 0;
    switch ($_GET['action']) {
        // Maintenance!
        case "maintenance":
            $page = maintenance();
            break;
            // a specific run is requested.
        // a specific run is requested.
        case "show":
            $page = listRun();
            $ajax = 20;
            break;
            // a profile is requested.
        // a profile is requested.
        case "profile":
            $page = profile();
            break;
            // a profile change is requested.
        // a profile change is requested.
        case "modprofile":
            $page = modProfile();
            break;
            // Admin request to delete an api key (NOT user deleting own!)
        // Admin request to delete an api key (NOT user deleting own!)
        case "delapi":
            $page = deleteAPIKey();
            break;
            // Quick toggle of login capabilities.
        // Quick toggle of login capabilities.
        case "toggleLogin":
            $page = toggleLogin();
            break;
            // Quick confirm an account.
        // Quick confirm an account.
        case "quickconfirm":
            $page = quickConfirm();
            break;
            // Change of eMail requested
        // Change of eMail requested
        case "changeemail":
            $page = makeEmailChangeForm();
            break;
            // Show corp hierarchy
        // Show corp hierarchy
        case "hierarchy":
            $page = showHierarchy();
            break;
            // Browser solar Systems
        // Browser solar Systems
        case "browse":
            $page = browser();
            break;
            // User wants to delete a run.
        // User wants to delete a run.
        case "deleterun":
            deleteRun();
            break;
            // User wants to see the preferences page.
        // User wants to see the preferences page.
        case "preferences":
            $page = makePreferences();
            break;
            // A banker wants to see the transaction log for a user.
        // A banker wants to see the transaction log for a user.
        case "showTransactions":
            $page = showTransactions();
            break;
            // User wants to manage his cans.
        // User wants to manage his cans.
        case "cans":
            $page = makeCanPage();
            break;
            // Print out fancy global statistics
        // Print out fancy global statistics
        case "globstats":
            $page = globalStatistics();
            break;
            // User wants to re-validate his email.
        // User wants to re-validate his email.
        case "revalidate":
            validate();
            break;
            // User wants to pop a can.
        // User wants to pop a can.
        case "popcan":
            $page = popCan();
            break;
            // Kick a user.
        // Kick a user.
        case "kickban":
            $page = kick();
            break;
            // User wants to toggle the empty/full setting of a can.
        // User wants to toggle the empty/full setting of a can.
        case "togglecan":
            $page = toggleCan();
            break;
            // close a run.
        // close a run.
        case "endrun":
            endrun();
            break;
            // Show ore values
        // Show ore values
        case "showorevalue":
            $page = showOreValue();
            break;
            // Show ship values
        // Show ship values
        case "showshipvalue":
            $page = showShipValue();
            break;
            // Show Corp Hierarchy
        // Show Corp Hierarchy
        case "hier":
            $page = showHierarchy();
            break;
            // manage payouts
        // manage payouts
        case "payout":
            $page = payout();
            break;
            // set/view the online time
        // set/view the online time
        case "onlinetime":
            $page = onlineTime();
            break;
            // Mods a template
        // Mods a template
        case "edittemplate":
            $page = editTemplate();
            break;
            // Some Admin wants to change the ore values.
        // Some Admin wants to change the ore values.
        case "changeow":
            $page = makeOreWorth();
            break;
            // Some Admin wants to change the ore values.
        // Some Admin wants to change the ore values.
        case "changesv":
            $page = makeShipValue();
            break;
            // Password change request. We wont touch that.
        // Password change request. We wont touch that.
        case "changepw":
            $page = makePWChangeForm();
            break;
            // User wants to join the selected run.
        // User wants to join the selected run.
        case "joinrun":
            $page = joinRun();
            break;
            // User wants to part the selected run.
        // User wants to part the selected run.
        case "partrun":
            $page = leaveRun();
            break;
            // Password change request. We wont touch that.
        // Password change request. We wont touch that.
        case "lostpass":
            $page = makeLostPassForm();
            break;
            // Lotto: Create group
        // Lotto: Create group
        case "lotto_createGroup":
            $page = lotto_createGroup();
            break;
            // add ore from a haul to an open run.
        // add ore from a haul to an open run.
        case "addhaul":
            $page = addHaulPage();
            break;
            // Edit site configuration
        // Edit site configuration
        case "configuration":
            $page = configuration();
            break;
            // Add an event.
        // Add an event.
        case "addevent":
            $page = addEvent();
            break;
            // Show all events.
        // Show all events.
        case "showevents":
            $page = showEvents();
            break;
            // Join an Event
        // Join an Event
        case "joinevent":
            $page = joinEvent();
            break;
            // Show an event.
        // Show an event.
        case "showevent":
            $page = showEvent();
            break;
            // lists all ore runs.
        // lists all ore runs.
        case "list":
            $page = listRuns();
            $ajax = 60;
            break;
            // Manage wallet
        // Manage wallet
        case "manageWallet":
            $page = manageWallet();
            break;
            // Show current ranks
        // Show current ranks
        case "showranks":
            $page = showRanks();
            break;
            // delete a rank
        // delete a rank
        case "deleterank":
            $page = delRank();
            break;
            // delete an event from the database.
        // delete an event from the database.
        case "deleteevent":
            $page = deleteEvent();
            break;
            // lists all users.
        // lists all users.
        case "editusers":
            $page = listUsers();
            break;
            // lists one user.
        // lists one user.
        case "edituser":
            $page = listUser();
            break;
            // prints the form for a new run.
        // prints the form for a new run.
        case "newrun":
            $page = makeNewOreRunPage();
            break;
            // add a new user.
        // add a new user.
        case "newuser":
            $page = makeAddUserForm();
            break;
            // Toggle the charity flag.
        // Toggle the charity flag.
        case "toggleCharity":
            toggleCharity();
            break;
            /* Locking unlocking */
        /* Locking unlocking */
        case "lockrun":
            toggleLock();
            break;
            // prints the main welcome page.
        // prints the main welcome page.
        default:
            $page = makeWelcome();
            break;
            /* LOTTO STUFF */
        /* LOTTO STUFF */
        case "editLotto":
            $page = lotto_editLottery();
            break;
        case "lotto":
            $page = lotto_playLotto();
            break;
        case "claimTicket":
            lotto_claimTicket();
            break;
        case "drawLotto":
            lotto_draw();
            break;
        case "buycredits":
            $page = lotto_buyTickets();
            break;
        case "style":
            $page = style();
            break;
        case "getItemList":
            $page = getItemList();
            break;
        case "switch":
            $MySelf = null;
            $_SESSION['MySelf'] = null;
            unset($_SERVER[QUERY_STRING]);
            makeLoginPage($SUPPLIED_USERNAME);
            break;
    }
    if ($ajax > 1) {
        $ajaxHtml = "<script>window.setTimeout(function(){\$.ajax({";
        if (isset($_REQUEST['ajax'])) {
            $ajaxHtml .= "url: '?" . $_SERVER['QUERY_STRING'] . "',";
        } else {
            $ajaxHtml .= "url: '?" . $_SERVER['QUERY_STRING'] . "&ajax',";
        }
        $ajaxHtml .= "success: function(data) {\$('#content').html(data);}";
        $ajaxHtml .= "});},(" . $ajax * 1000 . "));</script>";
        $page .= $ajaxHtml;
    }
    if (isset($_REQUEST['ajax'])) {
        $html = new html();
        $page = $html->clean($page);
        print $page;
    } else {
        // Clean & Print the page.
        $html = new html();
        $html->addBody($page);
        print $html->flush();
    }
}