<?php
//ini_set('display_errors', 1);
include '/home/jjglover/phptosql/GLSeditor.php';
include '/home/jjglover/phptosql/datadbinfo.php';
include '/home/jjglover/phptosql/GLSuserConnection.php';
include '/home/jjglover/phptosql/GLSusers.php';

#test files
//include '/JJCodeDepot/DBfiles/GLSeditor.php';
//include '/JJCodeDepot/DBfiles/datadbinfo.php';
//include '/JJCodeDepot/DBfiles/GLSusers.php';

$step = 1;
#include_once 'login.php';

function getDistinctClassPerms($userid) {
	$setDBH = createGLSUser();
	
	$permissionSQL = 'SELECT DISTINCT entityPermission FROM userperms WHERE userRef = :iduser AND userpermActive = 1';
	$permissionfetch = $setDBH->prepare($permissionSQL);
	$permissionfetch->bindParam(':iduser', $userid, PDO::PARAM_INT );
	$permissionfetch->execute();
	$permissions = $permissionfetch->fetchAll(PDO::FETCH_ASSOC);

return $permissions;	
}

function createUser($userName, $supabaseAuth, $perms) {
	$setDBH = createGLSEdit();
	
	$createGLSUserSQL = 'INSERT INTO userprofile (AuthorName, authUserID, requestedPerms) VALUES (:authorName, :authUserID, :perms)';
	$createGLSUser = $setDBH->prepare($createGLSUserSQL);
	$createGLSUser->bindParam(':authorName', $userName, PDO::PARAM_STR );
	$createGLSUser->bindParam(':authUserID', $supabaseAuth, PDO::PARAM_STR );
	$createGLSUser->bindParam(':perms', $perms, PDO::PARAM_STR );
	$createGLSUser->execute();
}

function updateuserpermsRequest($userID, $newPerms) {
	$setDBH = createGLSEdit();
	
	$createGLSUserSQL = 'UPDATE userprofile SET requestedPerms = :newPerms, permsApplied = "No" WHERE idUserref = :userID';
	$createGLSUser = $setDBH->prepare($createGLSUserSQL);
	$createGLSUser->bindParam(':newPerms', $newPerms, PDO::PARAM_STR );
	$createGLSUser->bindParam(':userID', $userID, PDO::PARAM_INT );
	$createGLSUser->execute();
}

function findUser($supabaseAuth) {
	$setDBH = createGLSEdit();
	
	$findGLSUserSQL = 'SELECT idUserref FROM userprofile WHERE authUserID = :authUserID LIMIT 1';
	$findGLSUser = $setDBH->prepare($findGLSUserSQL);
	$findGLSUser->bindParam(':authUserID', $supabaseAuth, PDO::PARAM_STR );
	$findGLSUser->execute();
	$userFetched = $findGLSUser->fetch(PDO::FETCH_ASSOC);

	return $userFetched['idUserref'];
}

function findUserPermissionRequest($userID) {
	$setDBH = createGLSEdit();
	
	$findRequestedPermsSQL = 'SELECT requestedPerms, permsApplied FROM userprofile WHERE idUserref = :userID LIMIT 1';
	$findGLSUserRequest = $setDBH->prepare($findRequestedPermsSQL);
	$findGLSUserRequest->bindParam(':userID', $userID, PDO::PARAM_STR );
	$findGLSUserRequest->execute();
	$userRequestFetched = $findGLSUserRequest->fetch(PDO::FETCH_ASSOC);

	return $userRequestFetched;
}

function getClassPerms($userid) {
	$setDBH = createGLSUser();
	
	$permissionSQL = 'SELECT DISTINCT idPerms, entityPermission, entitykeyRef FROM userperms WHERE userRef = :iduser AND userpermActive = 1';
	$permissionfetch = $setDBH->prepare($permissionSQL);
	$permissionfetch->bindParam(':iduser', $userid, PDO::PARAM_INT );
	$permissionfetch->execute();
	$permissions = $permissionfetch->fetchAll(PDO::FETCH_ASSOC);

return $permissions;	
}

function getPerms($userid, $permission) {
	$setDBH = createGLSUser();
	
	$permissionSQL = 'SELECT idPerms, entityPermission, entitykeyRef FROM userperms WHERE userRef = :iduser AND entityPermission = :permission AND userpermActive = 1';
	$permissionfetch = $setDBH->prepare($permissionSQL);
	$permissionfetch->bindParam(':iduser', $userid, PDO::PARAM_INT );
	$permissionfetch->bindParam(':permission', $permission, PDO::PARAM_STR );
	$permissionfetch->execute();
	$permissions = $permissionfetch->fetchAll(PDO::FETCH_ASSOC);

return $permissions;	
}

function SearchBlog($idblog) {
	## 2) Search Blogs - Searches Blogs on the system - Must be active
	$setDBH = createGLSEdit();

	$BlogQuery = $setDBH->prepare('SELECT idblog, blogName FROM blog WHERE idblog = :idblog LIMIT 1');
	$BlogQuery->bindParam(':idblog', $idblog, PDO::PARAM_INT );
	$BlogQuery->execute();

	$BlogReturn = $BlogQuery->fetch(PDO::FETCH_ASSOC);

return $BlogReturn;
}

function SearchSeason($idseason) {
	## 2) Search Season - Searches Eligibles Seasons within a league
	$setDBH = createGLSdbuser();

	$SeasonQuery = $setDBH->prepare('SELECT idSeason, SeasonDisplay FROM season WHERE idSeason = :idSeason LIMIT 1');
	$SeasonQuery->bindParam(':idSeason', $idseason, PDO::PARAM_INT );
	$SeasonQuery->execute();

	$SeasonReturn = $SeasonQuery->fetch(PDO::FETCH_ASSOC);

return $SeasonReturn;
}

function SearchLevel($idlevel) {
	## 1) Search League - Search Eligible Leagues
	$setDBH = createGLSdbuser();

	$LevelQuery = $setDBH->prepare('SELECT idSeasonLevel, Level, SeasonDisplay FROM level JOIN SeasonLevels ON level.idLevelSeason = SeasonLevels.idLevel JOIN season ON SeasonLevels.idSeason = season.idSeason WHERE idSeasonLevel = :idlevel');
	$LevelQuery->bindParam(':idlevel', $idlevel, PDO::PARAM_INT );
	$LevelQuery->execute();

	$LevelReturn = $LevelQuery->fetch(PDO::FETCH_ASSOC);

return $LevelReturn;
}

function SearchTeam($teamid) {
	$setDBH = createGLSdbuser();

	$TeamQuery = $setDBH->prepare('SELECT idTeamAssignment, TeamName FROM teamassignment JOIN team ON teamassignment.idTeamkey = team.idTeam WHERE idTeamAssignment = :idteam');
	$TeamQuery->bindParam(':idteam', $teamid, PDO::PARAM_INT );
	$TeamQuery->execute();
	$TeamReturn = $TeamQuery->fetch(PDO::FETCH_ASSOC);

return $TeamReturn;
}

function SearchPerson($playerid) {
	$setDBH = createGLSdbuser();

	$PlayerQuery = $setDBH->prepare('SELECT PlayerLast, PlayerFirst FROM players WHERE idPlayers = :idplayer');
	$PlayerQuery->bindParam(':idplayer', $playerid, PDO::PARAM_INT );
	$PlayerQuery->execute();
	$PlayerReturn = $PlayerQuery->fetch(PDO::FETCH_ASSOC);
	#print_r($PlayerReturn);
return $PlayerReturn;	
}

function SearchPersonTeam($playerid) {
	$setDBH = createGLSdbuser();

	$PlayerQuery = $setDBH->prepare('SELECT idPlayerAssignment, SeasonDisplay, TeamName, idTeamAssignment, PlayerLast, PlayerFirst FROM players JOIN playerassignment ON players.idPlayers = playerassignment.idPlayerskey JOIN teamassignment ON playerassignment.idTeamassignmentKey = teamassignment.idTeamassignment JOIN team ON teamassignment.idTeamkey = team.idTeam JOIN season ON teamassignment.idSeasonkey = season.idSeason WHERE CurrentSeason = 1 AND  DATE_ADD(season.SeasonEnd, Interval 1 Year) >= CURDATE() AND idPlayers = :idplayer AND (PlayerStatus <> "Sub Goalie" OR PlayerStatus IS NULL) ORDER BY season.SeasonStart DESC');
	$PlayerQuery->bindParam(':idplayer', $playerid, PDO::PARAM_INT );
	$PlayerQuery->execute();
	$PlayerReturn = $PlayerQuery->fetchAll(PDO::FETCH_ASSOC);
	#print_r($PlayerReturn);
return $PlayerReturn;	
}

function getgames($targetclass, $targetid) {
	$setDBH = createGLSdbuser();
	
	$gamessearchSQL = 'SELECT idGame, GameDate, HomeTeamNames.TeamName AS HomeName, AwayTeamNames.TeamName AS AwayName FROM game JOIN teamassignment AS HomeTeamFound ON game.HomeTeam = HomeTeamFound.idTeamAssignment JOIN teamstatassignment AS HomeStat ON HomeTeamFound.idTeamAssignment = HomeStat.idTeamAssignmentkey AND HomeStat.idsubseasonkey = game.idsubseasonkey JOIN team AS HomeTeamNames ON HomeTeamFound.idTeamkey = HomeTeamNames.idTeam JOIN teamassignment AS AwayTeamFound ON game.AwayTeam = AwayTeamFound.idTeamAssignment JOIN teamstatassignment AS AwayStat ON AwayTeamFound.idTeamAssignment = AwayStat.idTeamAssignmentkey AND AwayStat.idsubseasonkey = game.idsubseasonkey JOIN team AS AwayTeamNames ON AwayTeamFound.idTeamkey = AwayTeamNames.idTeam JOIN location ON game.idLocationkey = location.idLocation JOIN subseason ON game.idsubseasonkey = subseason.idsubseason JOIN season ON game.idSeasonkey = season.idSeason JOIN level ON HomeStat.idLevelSeasonkey = level.idLevelSeason';

	if ($targetclass == 'team') {
		$gamessearchSQL .= ' WHERE (HomeTeam = :target OR AwayTeam = :target)';
	} elseif ($targetclass == 'level') {
		$gamessearchSQL .= ' WHERE idLevelSeason = :target';
	} elseif ($targetclass == 'season') {
		$gamessearchSQL .= ' WHERE idSeasonkey = :target';
	}
	
	if ($_GET['newsclass'] == 'game') {$gamessearchSQL .= ' AND GameDate <= CURDATE() ORDER BY GameDate DESC';}
	elseif ($_GET['newsclass'] == 'preview') {$gamessearchSQL .= ' AND GameDate >= CURDATE() ORDER BY GameDate ASC';}
	
	$gamessearchSQL .= ' LIMIT 5';
	#echo $gamessearchSQL;
	$gameselector = $setDBH->prepare($gamessearchSQL);
	$gameselector->bindParam(':target', $targetid, PDO::PARAM_INT );
	$gameselector->execute();
	$counter = $gameselector->rowCount();

	$gamesFound = $gameselector->fetchAll(PDO::FETCH_ASSOC);

return $gamesFound;
}

function getteamassignid ($teamid, $seasonid) {
	$setDBH = createGLSdbuser();
	
	$TeamAssignmentQuery = $setDBH->prepare('SELECT idTeamassignment FROM teamassignment WHERE idTeamkey = :teamid AND idSeasonkey = :idseason LIMIT 1');
	$TeamAssignmentQuery->bindParam(':teamid', $teamid, PDO::PARAM_INT );
	$TeamAssignmentQuery->bindParam(':idseason', $seasonid, PDO::PARAM_INT );
	$TeamAssignmentQuery->execute();
	$targetteam = $TeamQuery->fetch(PDO::FETCH_ASSOC);
	
return $targetteam['idTeamassignment'];	
}

function setupTeamURL ($teamid) {
	$setDBH = createGLSdbuser();
	
	$TeamQuery = $setDBH->prepare('SELECT AHAteamid, AHAteamURL, AHAsmallimage, AHAlargeimage FROM team WHERE idTeam = :teamid LIMIT 1');
	$TeamQuery->bindParam(':teamid', $teamid, PDO::PARAM_INT );
	$TeamQuery->execute();
	
	$TeamReturn .= '<h5>AHA Data</h5>';
	
	$row = $TeamQuery->fetch(PDO::FETCH_ASSOC);
	
	$TeamReturn .= 'AHA ID: <input id="AHAid" type="text" name="AHAid" value="'.$row['AHAteamid'].'"><br />
	AHA URL: <input name="AHAid" type="text" id="AHAid" value="'.$row['AHAteamURL'].'"><br />
	AHA imagesmall: <input name="AHAsmall" type="text" id="AHAsmall" value="'.$row['AHAsmallimage'].'"><br />
	AHA imagelarge: <input name="AHAlarge" type="text" id="AHAlarge" value="'.$row['AHAlargeimage'].'"><br />
	';
echo $TeamReturn;}

function updateAHATeamURL ($teamid) {
	$setDBH = createGLSdbuser();
	
	$AHAid = $_GET['AHAid'];
	$AHAURL = $_GET['AHAURL'];
	$AHAsmallimage = $_GET['AHAsmallimage'];
	$AHAlargeimage = $_GET['AHAlargeimage'];
	
	$TeamUpdateQuery = $setDBH->prepare('UPDATE team SET AHAteamid = :AHAid, AHAteamURL = :AHAURL, AHAsmallimage = :AHAsmallimage, AHAlargeimage = :AHAlargeimage WHERE idTeam = :teamid');
	$TeamUpdateQuery->bindParam(':AHAid', $AHAid, PDO::PARAM_INT );
	$TeamUpdateQuery->bindParam(':AHAURL', $AHAURL, PDO::PARAM_STR );
	$TeamUpdateQuery->bindParam(':AHAsmallimage', $AHAsmallimage, PDO::PARAM_STR );
	$TeamUpdateQuery->bindParam(':AHAlargeimage', $AHAlargeimage, PDO::PARAM_STR );
	$TeamUpdateQuery->bindParam(':teamid', $teamid, PDO::PARAM_INT );
	$TeamUpdateQuery->execute();
}

function getPositionChart() {
	$setDBHedit = createGLSEdit();
	$SQLPositionTable = 'SELECT ShortPosition FROM jjglover_GLSHockey_NewsCss.hockeyposition JOIN hockeyposition ON jjglover_GLSHockey_cssplayerassignment.PlayerPosition = hockeyposition.idPosition';
	$fetchPositionTable = $setDBHedit->prepare($SQLPositionTable);
	$setPositionTable = $fetchPositionTable->fetchAll(PDO::FETCH_ASSOC);

	return $setPositionTable;
}

function searchCSSPlayer($profile) {
	$setDBHedit = createGLSEdit();
	
	$targetid = substr($profile, strpos($profile, "-")+1);
	$targetclass = substr($profile, 0, strpos($profile, "-"));

	$SearchPlayerCSSImage = 'SELECT imagelocation, PlayerPosition FROM jjglover_GLSHockey_NewsCss.cssplayerassignment WHERE PlayertableRef = :assignment AND PlayeridRef = :playerid ORDER BY imageUpload DESC LIMIT 1';
	$SearchPlayerCSSSQL = $setDBHedit->prepare($SearchPlayerCSSImage);
	$SearchPlayerCSSSQL->bindParam(':assignment', $targetclass, PDO::PARAM_STR);
	$SearchPlayerCSSSQL->bindParam(':playerid', $targetid, PDO::PARAM_INT);
	$SearchPlayerCSSSQL->execute();
	$foundPlayerImage = $SearchPlayerCSSSQL->fetch(PDO::FETCH_ASSOC);
	
	if (empty($foundPlayerImage['imagelocation'])) {
		$imagecode = null;
	} else {
		$imagecode = $foundPlayerImage['imagelocation'];
	}
return $imagecode;
}

function searchCSSImageTeam() {
	$setDBHedit = createGLSEdit();
	
	$profile = $_GET['teamProfile'];
	
	$targetid = substr($profile, strpos($profile, "-")+1);
	$targetclass = substr($profile, 0, strpos($profile, "-"));
	
	$SearchTeamCSSImage = 'SELECT imagelocation FROM CSSteamassignment WHERE TeamtableRef = :assignment AND TeamidRef = :teamid LIMIT 1';
	$SearchTeamCSSSQL = $setDBHedit->prepare($SearchTeamCSSImage);
	$SearchTeamCSSSQL->bindParam(':assignment', $targetclass, PDO::PARAM_STR);
	$SearchTeamCSSSQL->bindParam(':teamid', $targetid, PDO::PARAM_INT);
	$SearchTeamCSSSQL->execute();
	$foundTeamImage = $SearchTeamCSSSQL->fetch(PDO::FETCH_ASSOC);
	
	if (empty($foundTeamImage['imagelocation'])) {
		$imagecode = 'No Photo Found';
	} else {
		$imagecode = '<img class="imageTeam" src="../AHA/teamimages/'.$foundTeamImage['imagelocation'].'">';
	}
echo $imagecode;
}


function count_playerCSS($playerassign, $playerid) {
	$setDBHedit = createGLSEdit();
	
	$SearchPlayerCSS = 'SELECT PlayertableRef, PlayeridRef FROM cssplayerassignment WHERE PlayertableRef = :assignment AND PlayeridRef = :playerid';
	$SearchPlayerCSSSQL = $setDBHedit->prepare($SearchPlayerCSS);
	$SearchPlayerCSSSQL->bindParam(':assignment', $playerassign, PDO::PARAM_STR);
	$SearchPlayerCSSSQL->bindParam(':playerid', $playerid, PDO::PARAM_INT);
	$SearchPlayerCSSSQL->execute();
	$countPlayer = $SearchPlayerCSSSQL->rowCount();
	
return $countPlayer;
}

function insert_playerCSS($playerassign, $playerid) {
	$setDBHedit = createGLSEdit();

	$AddTeamCSS = 'INSERT IGNORE INTO cssplayerassignment (PlayertableRef, PlayeridRef) SELECT :assignment, :playerid FROM DUAL WHERE NOT EXISTS (SELECT PlayertableRef, PlayeridRef FROM cssplayerassignment WHERE PlayertableRef = :assignment AND PlayeridRef =:playerid)';
	$AddTeamCSSSQL = $setDBHedit->prepare($AddTeamCSS);
	$AddTeamCSSSQL->bindParam(':assignment', $playerassign, PDO::PARAM_STR);
	$AddTeamCSSSQL->bindParam(':playerid', $playerid, PDO::PARAM_INT);
	$AddTeamCSSSQL->execute();
}
/*
function update_player_position($position, $playerassign, $playerid) {
	$setDBHedit = createGLSEdit();

	$AddTeamCSS = 'UPDATE CSSplayerassignment SET PlayerPosition = :position WHERE PlayertableRef = :assignment, PlayeridRef = :playerid';
	$AddTeamCSSSQL = $setDBHedit->prepare($AddTeamCSS);
	$AddTeamCSSSQL->bindParam(':position', $position, PDO::PARAM_STR);
	$AddTeamCSSSQL->bindParam(':assignment', $playerassign, PDO::PARAM_STR);
	$AddTeamCSSSQL->bindParam(':playerid', $playerid, PDO::PARAM_INT);
	$AddTeamCSSSQL->execute();
}

function update_player_cssImage($imageset, $playerassign, $playerid) {
	$setDBHedit = createGLSEdit();

	$AddTeamCSS = 'UPDATE cssplayerassignment SET imagelocation = :imageset WHERE PlayertableRef = :assignment AND PlayeridRef = :playerid';
	$AddTeamCSSSQL = $setDBHedit->prepare($AddTeamCSS);
	$AddTeamCSSSQL->bindParam(':imageset', $imageset, PDO::PARAM_STR);
	$AddTeamCSSSQL->bindParam(':assignment', $playerassign, PDO::PARAM_STR);
	$AddTeamCSSSQL->bindParam(':playerid', $playerid, PDO::PARAM_INT);
	$AddTeamCSSSQL->execute();
}
*/
function count_teamCSS ($teamassign, $teamid) {
	$setDBHedit = createGLSEdit();

	$SearchTeamCSS = 'SELECT TeamtableRef, TeamidRef FROM CSSteamassignment WHERE TeamtableRef = :assignment AND TeamidRef = :teamid';
	$SearchTeamCSSSQL = $setDBHedit->prepare($SearchTeamCSS);
	$SearchTeamCSSSQL->bindParam(':assignment', $playerassign, PDO::PARAM_STR);
	$SearchTeamCSSSQL->bindParam(':teamid', $teamid, PDO::PARAM_INT);
	$SearchTeamCSSSQL->execute();
	$countTeam = $SearchTeamCSSSQL->rowCount();
	
return $countTeam;
}

function insert_teamCSS ($teamassign, $teamid) {
	$setDBHedit = createGLSEdit();

	$AddTeamCSS = 'INSERT INTO CSSteamassignment (TeamtableRef, TeamidRef) VALUES (:assignment, :teamid)';
	$AddTeamCSSSQL = $setDBHedit->prepare($AddTeamCSS);
	$AddTeamCSSSQL->bindParam(':assignment', $teamassign, PDO::PARAM_STR);
	$AddTeamCSSSQL->bindParam(':teamid', $teamid, PDO::PARAM_INT);
	$AddTeamCSSSQL->execute();
}

function search_team_color() {
	$setDBHedit = createGLSEdit();

	$profile = $_GET['teamProfile'];
	
	$targetid = substr($profile, strpos($profile, "-")+1);
	$targetclass = substr($profile, 0, strpos($profile, "-"));
	
	$sqlCSSColor = 'SELECT HomeColorPrimary, HomeColorSecondary, HomeColorTernary, AwayColorPrimary, AwayColorSecondary, AwayColorTernary FROM CSSteamassignment WHERE TeamtableRef = :assignment AND TeamidRef = :teamid LIMIT 1';
	
	$editCSSColor = $setDBHedit->prepare($sqlCSSColor);
	$editCSSColor->bindParam(':assignment', $targetclass, PDO::PARAM_STR);
	$editCSSColor->bindParam(':teamid', $targetid, PDO::PARAM_INT);
	$editCSSColor->execute();
	
	$menuReturn = '';
	$row = $editCSSColor->fetch(PDO::FETCH_ASSOC);
	
	$menuReturn .= '<label for="primaryColor">Primary Color: </label><input type="color" id="primaryColor" name="primaryColor" value="'.$row['HomeColorPrimary'].'">
		<br />';
	$menuReturn .= '<label for="secondaryColor">Secondary Color: </label><input type="color" id="secondaryColor" name="secondaryColor" value="'.$row['HomeColorSecondary'].'">
		<br />';
	$menuReturn .= '<label for="tertiaryColor">Tertiary Color: </label><input type="color" id="tertiaryColor" name="tertiaryColor" value="'.$row['HomeColorTernary'].'">
		<br />';
	/*$menuReturn .= 'Primary Away Color: '.$row['AwayColorPrimary']. 'Selected: <span id="AwayColorPrimary" type="text" class="colorselected">
		<input id="AwayColorPrimary" type="color">
		<br />';
	$menuReturn .= 'Secondary Away Color: '.$row['AwayColorSecondary']. 'Selected: <span id="AwayColorSecondary" type="text" class="colorselected">
		<input id="AwayColorSecondary" type="color">
		<br />';
	$menuReturn .= 'Ternary Away Color: '.$row['AwayColorTernary']. 'Selected: <span id="AwayColorTernary" type="text" class="colorselected">
		<input id="AwayColorTernary" type="color">
		<br />';		
		*/
	$menuReturn .= '<input type="button" value="Change Team Colors" onClick="changeTeamColors();">';

return $menuReturn;
}

function change_team_color() {
	$setDBHedit = createGLSEdit();
	
	$profile = $_GET['teamProfile'];
	
	$targetid = substr($profile, strpos($profile, "-")+1);
	$targetclass = substr($profile, 0, strpos($profile, "-"));	
	
	$primaryColor = $_GET['primaryColor'];
	$secondaryColor = $_GET['secondaryColor'];
	$tertiaryColor = $_GET['tertiaryColor'];
	
	$sqlCSSColor = 'UPDATE CSSteamassignment SET HomeColorPrimary = :primarycolor, HomeColorSecondary = :secondarycolor, HomeColorTernary = :ternarycolor WHERE TeamtableRef = :assignment AND TeamidRef = :teamid';
	$editCSSColor = $setDBHedit->prepare($sqlCSSColor);
	$editCSSColor->bindParam(':primarycolor', $primaryColor, PDO::PARAM_STR);
	$editCSSColor->bindParam(':secondarycolor', $secondaryColor, PDO::PARAM_STR);
	$editCSSColor->bindParam(':ternarycolor', $tertiaryColor, PDO::PARAM_STR);
	$editCSSColor->bindParam(':assignment', $targetclass, PDO::PARAM_STR);
	$editCSSColor->bindParam(':teamid', $targetid, PDO::PARAM_INT);
	$editCSSColor->execute();
	
echo 'Team colors have been updated!';
}

function change_team_image($image) {
	$setDBHedit = createGLSEdit();
	
	$sqlImageChange = 'UPDATE CSSteamassignment SET imagelocation = :filelocation WHERE TeamtableRef = :assignment AND TeamidRef = :teamid';
	$editCSSImage = $setDBHedit->prepare($sqlImageChange);
	$editCSSImage->bindParam(':filelocation', $field, PDO::PARAM_STR);
	$editCSSImage->bindParam(':assignment', $color, PDO::PARAM_STR);
	$editCSSImage->bindParam(':teamid', $color, PDO::PARAM_INT);
	$editCSSImage->execute();
}

function convertNewstoHTML($passage) {
$search = 
	array('#\[b\]#iUs','#\[/b\]#iUs',
	'#\[i\]#iUs','#\[/i\]#iUs',
	'#\[u\]#iUs','#\[/u\]#iUs',
	'#\[h5\]#iUs','#\[/h5\]#iUs');

	$replace = 
	array('<span style="font-weight:bold;">','</span>',
	'<i>','</i>',
	'<span style="font-weight:underline;">','</span>',
	'<h5>','</h5>',);
	
	$HTMLtext = preg_replace($search,$replace,$passage);

return $HTMLtext;
}

function NewsAdd($articleDataset) {
	$setDBHedit = createGLSEdit();
	
	$Title = $articleDataset['title'];
	$imagelibrary = $articleDataset['imgurRef'];
	$videolibrary = $articleDataset['youTubeID'];
	$target = $articleDataset['entityID'];
	$articleType = $articleDataset['articleType'];
	$newsBody = $articleDataset['newsbody'];
	$newsUserApprove = $articleDataset['userApprove'];

	$targetclass = substr($target, strpos($target, "-")+1);
	$targetid = substr($target, 0, strpos($target, "-"));

	//Test Authentication
	$setAuthorName = "JJ Glover";
	$setIDUser = $articleDataset['idUser'];
	$setPropogate = $articleDataset['propogate'];

	if ($articleType == 'game' || $articleType == 'preview') {
		$GameRecapTeam = $targetid;
		$targetclass = $articleType;
	}

	$AddNewsQuery = $setDBHedit->prepare('INSERT INTO news (NewsDate, NewsTitle, NewsItem, NewsAuthor, idUserref, TeamAssignmentidauthor, newsImageLibrary, newsYoutube, newsUserApprove) VALUES (CURDATE(), :NewsTitle, :NewsItem, :NewsAuthor, :iduser, :TeamAssignmentid, :imageLibrary, :videoID, :newsUserApprove)');
	$AddNewsQuery->bindParam(':NewsTitle', $Title, PDO::PARAM_STR);
	$AddNewsQuery->bindParam(':NewsItem', $newsBody, PDO::PARAM_STR);
	$AddNewsQuery->bindParam(':NewsAuthor', $setAuthorName, PDO::PARAM_STR);
	$AddNewsQuery->bindParam(':iduser', $setIDUser, PDO::PARAM_INT);
	$AddNewsQuery->bindParam(':TeamAssignmentid', $GameRecapTeam, PDO::PARAM_INT);
	$AddNewsQuery->bindParam(':imageLibrary', $imagelibrary, PDO::PARAM_STR);
	$AddNewsQuery->bindParam(':videoID', $videolibrary, PDO::PARAM_STR);
	$AddNewsQuery->bindParam(':newsUserApprove', $newsUserApprove, PDO::PARAM_INT);
	$AddNewsQuery->execute();

	$InsertNewsID = $setDBHedit->lastInsertId();
	$NewsClass = $targetclass;
	$NewsPropogate = $setPropogate;
	if ($articleType == 'game' || $articleType == 'preview') {
		$NewsTarget = $articleDataset['gameRecapID'];
	} else {
		$NewsTarget = $targetid;
	}
	
	if(isset($articleDataset['targetdivision'])) {$NewsTargetDivision = $articleDataset['targetdivision'];} 
	else {$NewsTargetDivision = NULL;}

	$AddNewsDestination = $setDBHedit->prepare('INSERT INTO newsdeliver (NewsidRef, Target, Targetid, TargetDivision, NoPropogate) VALUES (:newsid, :targetclass, :targetid, :targetdivision, :propogate)');
	$AddNewsDestination->bindValue(':newsid', $InsertNewsID, PDO::PARAM_STR);
	$AddNewsDestination->bindParam(':targetclass', $NewsClass, PDO::PARAM_STR);
	$AddNewsDestination->bindParam(':targetid', $NewsTarget, PDO::PARAM_STR);
	$AddNewsDestination->bindParam(':targetdivision', $NewsTargetDivision, PDO::PARAM_STR);
	$AddNewsDestination->bindParam(':propogate', $NewsPropogate, PDO::PARAM_INT);
	$AddNewsDestination->execute();	

	echo $Title.' was entered successfully and published<br/>';
}

function NewsUpdate($articleDataset) {
	$setDBHedit = createGLSEdit();
	
	$setNewsID = $articleDataset['newsID'];
	$Title = $articleDataset['title'];
	$NewsDate = date("Y-m-d H:i:s");
	$newsbody = $articleDataset['newsbody'];	
	$imagelibrary = $articleDataset['imgurRef'];
	$videolibrary = $articleDataset['youTubeID'];
	$setUserApprove = $articleDataset['userApprove'];
	
	$UpdateNewsQuery = $setDBHedit->prepare('UPDATE news SET newsEditDate = CURDATE(), NewsTitle = :NewsTitle, NewsItem = :NewsItem, newsImageLibrary = :imageLibrary, newsYoutube = :videoID, newsUserApprove = :userApprove, newsApprove = 0 WHERE idNews = :newsid');
	$UpdateNewsQuery->bindParam(':NewsTitle', $Title, PDO::PARAM_STR);
	$UpdateNewsQuery->bindParam(':NewsItem', $newsbody, PDO::PARAM_STR);
	$UpdateNewsQuery->bindParam(':newsid', $setNewsID, PDO::PARAM_INT);
	$UpdateNewsQuery->bindParam(':imageLibrary', $imagelibrary, PDO::PARAM_STR);
	$UpdateNewsQuery->bindParam(':videoID', $videolibrary, PDO::PARAM_STR);
	$UpdateNewsQuery->bindParam(':userApprove', $setUserApprove, PDO::PARAM_INT);
	$UpdateNewsQuery->execute();
	$counter = $UpdateNewsQuery->rowCount();


	echo $Title.' was successfully updated.<br/>Rows Updated: '.$counter;
}

function NewsDelete($articleID) {
	$setDBHedit = createGLSEdit();

	$DeleteNewsQuery = $setDBHedit->prepare('UPDATE news SET newsApprove = 3, newsUserApprove = 0 WHERE idNews = :newsid');
	$DeleteNewsQuery->bindParam(':newsid', $articleID, PDO::PARAM_INT);
	$DeleteNewsQuery->execute();
	$counter = $DeleteNewsQuery->rowCount();

	echo 'Article was deleted';
}

function fetchNews($userID) {
	$setDBHedit = createGLSEdit();
	
	$fetchUserNews = $setDBHedit->prepare('SELECT idNews, NewsDate, NewsTitle, Target, newsApprove, newsUserApprove FROM news JOIN newsdeliver ON news.idNews = newsdeliver.NewsidRef WHERE idUserref = :userID AND newsApprove = 0 OR newsApprove = 1 OR newsApprove = 2 ORDER BY NewsDate DESC LIMIT 10');
	$fetchUserNews->bindParam(':userID', $userID, PDO::PARAM_INT);
	$fetchUserNews->execute();
	
	$UserNewsList = $fetchUserNews->fetchAll(PDO::FETCH_ASSOC);
	#print_r($UserNewsList);
return $UserNewsList;
}

function fetchNewsArticle($newsID) {
	$setDBHedit = createGLSEdit();
	
	$fetchNewsArticle = $setDBHedit->prepare('SELECT idNews, NewsDate, NewsTitle, NewsItem, NewsAuthor, idUserref, TeamAssignmentidAuthor, newsImageLibrary, newsYoutube, newsUserApprove AS draft, newsRevisionMsg, Target, Targetid FROM news JOIN newsdeliver ON news.idNews = newsdeliver.newsidRef WHERE idNews = :newsID LIMIT 1');
	$fetchNewsArticle->bindParam(':newsID', $newsID, PDO::PARAM_INT);
	$fetchNewsArticle->execute();
	
	$NewsArticle = $fetchNewsArticle->fetch(PDO::FETCH_ASSOC);
	#print_r($NewsArticle);
return $NewsArticle;
}

function fetch_socialmedia($team, $facebook, $twitter) {
	$setDBHedit = createGLSEdit();
	
	$socialSQL = 'SELECT (idTeamkeyRef, FacebookURL, TwitterURL) FROM socialTeam WHERE idTeamkeyRef = :idTeam';
	$fetchSocial = $setDBHedit->prepare($sqlImageChange);
	$fetchSocial->bindParam(':idTeam', $team, PDO::PARAM_STR);
	$fetchSocial->execute();
}

function change_socialmedia($team, $facebook, $twitter) {
	$setDBHedit = createGLSEdit();
	
	$socialSQL = 'INSERT INTO socialTeam (idTeamkeyRef, FacebookURL, TwitterURL) VALUES (:idTeam, :facebook, :twitter) ON DUPLICATE KEY UPDATE FacebookURL = :facebook, Twitter = :twitter';
	$editSocial = $setDBHedit->prepare($sqlImageChange);
	$editSocial->bindParam(':teamid', $team, PDO::PARAM_INT);
	$editSocial->bindParam(':facebook', $facebook, PDO::PARAM_STR);
	$editSocial->bindParam(':twitter', $twitter, PDO::PARAM_STR);
	$editSocial->execute();
}

function fetchPosition($playerClass, $playerID) {
	$setDBHedit = createGLSEdit();
	
	$playerPosition = 'SELECT ShortPosition FROM cssplayerassignment JOIN hockeyposition ON cssplayerassignment.PlayerPosition = hockeyposition.idPosition WHERE PlayeridRef = :playerID AND playertableRef = :playerClass';
	$fetchPosition = $setDBHedit->prepare($playerPosition);
	$fetchPosition->bindParam(':playerClass', $playerClass, PDO::PARAM_STR);
	$fetchPosition->bindParam(':playerID', $playerID, PDO::PARAM_INT);
	$fetchPosition->execute();
	$foundPosition = $fetchPosition->fetch(PDO::FETCH_ASSOC);
	return $foundPosition;
}

function setPosition($playerClass, $playerID, $setPosition) {
	$setDBHedit = createGLSEdit();
	
	$playerPosition = 'UPDATE cssplayerassignment SET PlayerPosition=:position WHERE PlayeridRef = :playerID AND playertableRef = :playerClass';
	$settingPosition = $setDBHedit->prepare($playerPosition);
	$settingPosition->bindParam(':playerClass', $playerClass, PDO::PARAM_STR);
	$settingPosition->bindParam(':playerID', $playerID, PDO::PARAM_INT);
	$settingPosition->bindParam(':position', $setPosition, PDO::PARAM_INT);
	$settingPosition->execute();

}

$post = null;
$userid = null;
$stepset = null;

if (!empty($_GET['step'])) {
	$step = $_GET['step'];
	} else {

		//$step = $_POST['step'];
		//print_r(json_decode($setPost, true));
		//print_r(file_get_contents('php://input'), true);
		//$post = json_decode(key($_POST), true);
		
		//print_r(is_array($stepset));
		if(isset($_POST['step'])) {$step = $_POST['step'];}
		else {
			$setPost = json_decode(file_get_contents('php://input'), true);
			$step = $setPost['step'];
		}
		//print_r($step);
	}
#$userid = $_SESSION['idUser'];
if(!empty($_GET['idUser'])) {
	$userid = $_GET['idUser'];
	} elseif ($step == 'newuser') {
		//continue as normal
	} else {
		//print_r($_POST);
		$stepset = json_decode(file_get_contents('php://input'), true);
		if(is_array($stepset)) {$userid = $stepset['idUser'];}
}


//$classNewsSelected = $_GET['classSelected'];

switch ($step) {
	case 1:
		$getuserperms = getDistinctClassPerms($userid);

		#print_r($getuserperms);
		if (count($getuserperms) > 0) {

			$NewsTypeMenu = array();

			foreach($getuserperms as $class) {
				if ($class['entityPermission'] == "player") {
					$NewsTypeMenu[] = array("value"=>"player", "text"=>"Player Recap");
					$NewsTypeMenu[] = array("value"=>"game", "text"=>"Game Recap");
					$NewsTypeMenu[] = array("value"=>"preview", "text"=>"Preview Game");
				} elseif ($class['entityPermission'] == "team") {
					$NewsTypeMenu[] = array("value"=>"team", "text"=>"Team Update");
				} elseif ($class['entityPermission']== "level") {
					$NewsTypeMenu[] = array("value"=>"level", "text"=>"Level Update");
				} elseif ($class['entityPermission']== "season") {
					$NewsTypeMenu[] = array("value"=>"season", "text"=>"League Update");
				} elseif ($class['entityPermission'] == "blog") {
					$NewsTypeMenu[] = array("value"=>"blog", "text"=>"Blog Update");
				}
			}
		}
		
		else {$NewsTypeMenu = 'The system couldn\'t find any permissions for you!';}
		$sendTypeSelect = json_encode($NewsTypeMenu);
		echo $sendTypeSelect;	
			
		break;

	case 2:
		$classNewsSelected = $_GET['classSelected'];
		
		if ($classNewsSelected == 'game' || $classNewsSelected == 'preview') {
			$classNewsPerms = 'player';
		} else {$classNewsPerms = $classNewsSelected;}
		
		$listPerms = getPerms($userid, $classNewsPerms);

		$sendListPerms = array();

		foreach($listPerms as $value) {
			if ($value['entityPermission'] == "player" && $classNewsSelected == 'player') {
				$sendListPerms[] = array("value"=>$value['entitykeyRef'].'-player', "text"=>"Update Player Profile - Master");
			
				$GetPlayer = SearchPersonTeam($value['entitykeyRef']);

				foreach($GetPlayer as $teamplayerentry) {
					$sendListPerms[] = array("value"=>$teamplayerentry['idPlayerAssignment'].'-playerteam', "text"=>$teamplayerentry['TeamName'].' Player Profile - '.$teamplayerentry['SeasonDisplay']);
				}	
			} else if ($value['entityPermission']== "player" && ($classNewsSelected == "preview" || $classNewsSelected == 'game')) {
				$GetTeamPlayer = SearchPersonTeam($value['entitykeyRef']);
				foreach ($GetTeamPlayer as $teamplayerpreview) {
					$sendListPerms[] = array("value"=>$teamplayerpreview['idTeamAssignment'].'-team', "text"=>$teamplayerpreview['TeamName']);
				}
			} elseif ($value['entityPermission']== "team") {
				$GetTeam = SearchTeam($value['entitykeyRef']);
				$sendListPerms[] = array("value"=>$GetTeam['idTeamAssignment'].'-team', "text"=>$GetTeam['TeamName']);
			} elseif ($value['entityPermission']== "level") {
				$GetLevel = SearchLevel($value['entitykeyRef']);
				$sendListPerms[] = array("value"=>$GetLevel['idSeasonLevel'].'-level', "text"=>$GetLevel['Level'].' - '.$GetLevel['SeasonDisplay']);
			} elseif ($value['entityPermission']== "season") {
				$GetSeason = SearchSeason($value['entitykeyRef']);
				$sendListPerms[] = array("value"=>$GetSeason['idSeason'].'-season', "text"=>$GetSeason['SeasonDisplay']);
			} elseif ($value['entityPermission']== "blog") {
				$GetBlog = SearchBlog($value['entitykeyRef']);
				$sendListPerms[] = array("value"=>$GetBlog['idblog'].'-blog', "text"=>$GetBlog['blogName']);
			}
		}

		$JSONListPerms = json_encode($sendListPerms);
		echo $JSONListPerms;	

		break; 
	case 3:
		$newstype = $_GET['newsclass'];
		$target = $_GET['entityID'];
		$targetclass = substr($target, strpos($target, "-")+1);
		$targetid = substr($target, 0, strpos($target, "-"));

		$gameList = array();

		if ($newstype == 'game' || $newstype == 'preview') {
			
			$arrayGames = getgames($targetclass, $targetid);
			
			if (count($arrayGames) > 0) {
				foreach($arrayGames as $value) {				
					$gameList[] = array("value"=>$value['idGame'], "text"=>$value['HomeName'].' vs. '.$value['AwayName'].' - '.$value['GameDate']);
				}
			} else {$gameList[] = 'No games available';}
		}

		$JSONGameList = json_encode($gameList);
		echo $JSONGameList;

		break;
	case 4: 
		
	case 5:
		$teamid = $_GET['teamid'];
		$seasonid = $_GET['seasonid'];
		
		if (!empty($seasonid)) {
			$teamassignid = getteamassignid($teamid, $seasonid);
			$idclass = 'teamassign';
		} else {
			$teamassignid = $teamid;
			$idclass = 'team';
		}
		
		setupTeamURL ($teamid);
		search_team_color($idclass, $teamassignid);
		break;
	case 7:
		$articleData = json_decode(file_get_contents('php://input'), true);
		print_r($articleData);
		$newsid = $articleData['newsID'];
		$target = $articleData['entityID'];
		//print_r($post);
		//$body = strip_tags($_GET['newsbody']);
		//$body_adjusted = convertNewstoHTML($body);
		#print_r($newsid); 

		$articleData['targetclass'] = substr($target, strpos($target, "-")+1);
		$articleData['targetid'] = substr($target, 0, strpos($target, "-"));
		
		if ($newsid == 0) {NewsAdd($articleData);}
		elseif ($newsid > 0) {NewsUpdate($articleData);}
		break;
	case 8: 
		$newsList = fetchNews($userid);
		#print_r($newsList);
		
		if (count($newsList) > 0) {
			foreach($newsList as $news) {
				
				$setdate = strtotime($news['NewsDate']);
				$newsDate = date('M d, Y',$setdate);
				
				if ($news['Target'] == 'game') {$newsClass = 'Game Recap';}
				elseif ($news['Target'] == 'player') {$newsClass = 'Player Update';}
				elseif ($news['Target'] == 'preview') {$newsClass = 'Game Preview';}
				elseif ($news['Target'] == 'team') {$newsClass = 'Team Update';}
				elseif ($news['Target'] == 'league') {$newsClass = 'League Update';}
				else {$newsClass = '';}

				$returnNewsList[] = array("value"=>$news['idNews'], "title"=>$news['NewsTitle'],"text"=>$newsDate, "type"=>$newsClass, "draft"=>$news['newsUserApprove'], "approval"=>$news['newsApprove']);
			}
		} else {$returnNewsList = 'No games available';}
		$JSONNewsList = json_encode($returnNewsList);
		echo $JSONNewsList;
		break;
	case 9: 
		$newsID = $_GET['newsID'];
		$getNewsArticle = fetchNewsArticle($newsID);
		$prepjsonArticle = json_encode($getNewsArticle);
		echo $prepjsonArticle;
		break;
	case 10: 
		$newsID = $_GET['newsID'];
		$deleteMessage = NewsDelete($newsID);
		echo $deleteMessage;
		break;
	case 'gameLog': 
		
		$gameID = $_GET['gameID'];
		//prod
		//$articleData = json_decode(file_get_contents('../AHAapi/gamerecapJSON.php?gameID='+$gameID), true);

		//dev
		$articleData = json_decode(file_get_contents('http://localhost/goallinestats/pages/AHA/AHAapi/gamerecapJSON.php?gameID='.$gameID), true);


		//$gameEvents = array_merge($articleData['goalevents'], $articleData['penaltyevents']);
		$exportarticleData = json_encode($articleData);
		echo $exportarticleData;
		break;
	case 'PlayerEdit-1':
		$getuserperms = getClassPerms($userid);
		$getPositionTable = getPositionChart();
		$setPlayerID = null;
		$arrayProfiles = [];
		
		foreach ($getuserperms as $checkPlayer) {
			if ($checkPlayer['entityPermission'] == 'player') {
				$setPlayerID = $checkPlayer['entitykeyRef'];
				insert_playerCSS($checkPlayer['entityPermission'], $setPlayerID);
				$arrayProfiles[] = array("value"=>'player-'.$checkPlayer['entitykeyRef'], "text"=>"Master Profile", "image"=>searchCSSPlayer($checkPlayer['entityPermission'].'-'.$checkPlayer['entitykeyRef']));
			}
		}
		
		$getTeamPlayer = SearchPersonTeam($setPlayerID);
		
		//$NewsTypeMenu = 
		//	'<select id="playerProfile" name="playerProfile" onChange="getPlayerImage()">
		//		<option disabled selected value>--Select Profile to Edit--</option>
		//<option value="player-'.$arrayPlayer[0]['entitykeyRef'].'">Master Player Profile</option>';

		if (count($getTeamPlayer) > 0) {
			foreach($getTeamPlayer as $teamplayerentry) {
				insert_playerCSS("playerassignment", $teamplayerentry['idPlayerAssignment']);
				$arrayProfiles[] = array("value"=>"playerassignment-".$teamplayerentry['idPlayerAssignment'], "text" => $teamplayerentry['TeamName'].' Player Profile - '.$teamplayerentry['SeasonDisplay'], "image"=> searchCSSPlayer("playerassignment-".$teamplayerentry['idPlayerAssignment']));
			}
		}
		/*
		elseif (count($outputarray) == 1) {
			$setValue = $class['entityPermission'];
			
			if ($setValue == 'player') {$setText = 'Player Recap';}
			elseif ($setValue == 'team') {$setText = 'Team News';}
			elseif ($setValue == 'game') {$setText = 'Game Recap';}
			elseif ($setValue == 'preview') {$setText = 'Game Preview';}
			elseif ($setValue == 'level') {$setText = 'Level News';}
			elseif ($setValue == 'league') {$setText = 'League News';}
			
			$NewsTypeMenu = '<input type="hidden" id="newsclasschooser" value="'.$setValue.'">'.$setText;
		}*/
		
		$sendArrayProfiles = json_encode($arrayProfiles);	
		echo $sendArrayProfiles;
		break;
	case 'PlayerEdit-2':
		$playerassign = $_GET['playerAssign'];
		$playerid = $_GET['playerID'];
		$position = $_GET['position'];

		update_player_position($position, $playerassign, $playerid);

		break;
	case 'PlayerEdit-3':
		include 'imagehandler.php';
		break;
	case 'PlayerEdit-4':
		include 'imagehandler.php';
		break;

	case 'PlayerImageFetch':
		$profileFetch = $_GET['playerProfile'];
		$playerProfile = searchCSSPlayer($profileFetch);
		print_r($playerProfile);
		break;
	case 'TeamEdit-1':
		$getuserperms = getClassPerms($userid);
	
		$arrayTeam = [];
		
		foreach ($getuserperms as $checkTeam) {
			if ($checkTeam['entityPermission'] == 'team') {
				array_push($arrayTeam, $checkTeam);
			}
		}
		
		$NewsTypeMenu = 
			'<select id="teamProfile" name="teamProfile" onChange="getTeamImage()">
				<option disabled selected value>--Select Profile to Edit--</option>';

		if (count($arrayTeam) > 0) {
			foreach($arrayTeam as $teamentry) {
				
				$getTeam = SearchTeam($teamentry['entitykeyRef']);
				$NewsTypeMenu .= '<option value="teamassignment-'.$getTeam['idTeamAssignment'].'">'.$getTeam['TeamName'].' Team Profile</option>';
			}
		}

		else {$NewsTypeMenu = 'The system couldn\'t find any permissions for you!';}
		
		$NewsTypeMenu .= '</select>';
		
		echo $NewsTypeMenu;	
			
		break;
	case 'TeamEdit-2':
		searchCSSImageTeam();
		break;
	case 'TeamEdit-3':
		include 'teamimagehandler.php';
		print_r($_GET);
		#print_r($_FILES);
		break;
	case 'TeamColors-1':
		echo search_team_color();
		break;
	case 'TeamColors-2':
		change_team_color();
		break;
	case 'newUser':
		$userName = $_GET['newName'];
		$supabaseAuth = $_GET['supabaseAuth'];
		$permsRequest = $_GET['permsRequest'];

		createUser($userName, $supabaseAuth, $permsRequest);
		break;
	case 'findUser':
		$supabaseID = $_GET['supaAuth'];
		$reportUser = findUser($supabaseID);

		print_r($reportUser);
		break;

	case 'checkPerms':
		$userid = 0;
		$userid = $_GET['idUser'];
		$reportPerms = getClassPerms($userid);
		$JSONreportPerms = json_encode($reportPerms);
		echo $JSONreportPerms;
		break;
	case 'requestedPerms':
		$userid = 0;
		$userid = $_GET['idUser'];
		$fetchPermsRequested = findUserPermissionRequest($userid);
		$JSONpermsRequested = json_encode($fetchPermsRequested);
		echo $JSONpermsRequested;
		break;

	case 'newPerms':
		$userid = 0;
		$userid = $_GET['idUser'];
		$newPermsSet = $_GET['newPermsSet'];
		$reportPerms = updateuserpermsRequest($userid, $newPermsSet);
		break;
	case 'getPerms':
		$userid = 0;
		$userid = $_GET['idUser'];
		$listPerms = getClassPerms($userid);

		$sendListPerms = array();

		foreach($listPerms as $value) {
			if ($value['entityPermission'] == "player") {
				$getPlayerName = SearchPerson($value['entitykeyRef']);
				
				$sendListPerms[] = array("value"=>$value['entitykeyRef'], "text"=>"Linked AHA Name: ".$getPlayerName['PlayerFirst']." ".$getPlayerName['PlayerLast']);

				$getPlayerTeams = SearchPersonTeam($value['entitykeyRef']);
			
				foreach($getPlayerTeams as $teamplayerentry) {
					$sendListPerms[] = array(
						"value"=>$teamplayerentry['idPlayerAssignment'].'-playerteam', 
						"text"=>'Player Permissions - '.$teamplayerentry['SeasonDisplay'].' '.$teamplayerentry['TeamName']);
				}	
			} elseif ($value['entityPermission']== "team") {
				$GetTeam = SearchTeam($value['entitykeyRef']);
				$sendListPerms[] = array("value"=>$GetTeam['idTeamAssignment'].'-team', "text"=>'Team Permissions - '.$GetTeam['TeamName']);
			} elseif ($value['entityPermission']== "level") {
				$GetLevel = SearchLevel($value['entitykeyRef']);
				$sendListPerms[] = array("value"=>$GetLevel['idSeasonLevel'].'-level', "text"=>'Level Permissions - '.$GetLevel['Level'].' - '.$GetLevel['SeasonDisplay']);
			} elseif ($value['entityPermission']== "season") {
				$GetSeason = SearchSeason($value['entitykeyRef']);
				$sendListPerms[] = array("value"=>$GetSeason['idSeason'].'-season', "text"=>'League Permissions: '.$GetSeason['SeasonDisplay']);
			} elseif ($value['entityPermission']== "blog") {
				$GetBlog = SearchBlog($value['entitykeyRef']);
				$sendListPerms[] = array("value"=>$GetBlog['idblog'].'-blog', "text"=>'Blog Permissions - '.$GetBlog['blogName']);
			}
		}

			$JSONpermissionsList = json_encode($sendListPerms);
		echo $JSONpermissionsList;
		break;
		case 'fetchPosition': 
			$playerClass = null;
			$playerClass = $_GET['playerClass'];
			$playerID = 0;
			$playerID = $_GET['playerID'];

			$positionFound = fetchPosition($playerClass, $playerID);
			$JSONpositionFound = json_encode($positionFound);
			echo $JSONpositionFound;
		break;
		case 'setPosition':
			$playerClass = null;
			$playerClass = $_GET['playerClass'];
			$playerID = 0;
			$playerID = $_GET['playerID'];
			$position = 0;
			$position = $_GET['position'];

			setPosition($playerClass, $playerID, $position);
			echo "Position Changed";
		break;
	default:
		echo 'Something has gone wrong!';
}

?>