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; } }
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;\">←</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>";
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"; }
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 }
$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}> </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";
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(); } }