Exemplo n.º 1
0
 public static function json()
 {
     $progress = new progress();
     $data = $progress->fetch_raid($_GET['raid']);
     header('Content-Type: application/json');
     return json_encode($data, JSON_PRETTY_PRINT);
 }
Exemplo n.º 2
0
function raidOverview()
{
    $userRank = user::rank();
    // Call DB Connector
    $callDB = new PGSdb();
    $callDB->connDB();
    $raidFetch = $_GET['raid'];
    $validRaids = array("Firelands" => "FL", "Dragon Soul" => "DS", "Mogu'shan Vaults" => "MSV", "Heart of Fear" => "HoF", "Terrace of Endless Spring" => "ToES", "Throne of Thunder" => "ToT", "Siege of Orgrimmar" => "SoO", "Highmaul" => "HM", "Blackrock Foundry" => "BRF");
    if (array_search($raidFetch, $validRaids, true)) {
        $raidFullName = array_search($raidFetch, $validRaids, true);
        //For ease of use
        $progress = new progress();
        $data = $progress->fetch_raid($raidFetch);
        //Fetch media for the specific raid
        //Prepare
        $raidMediaPrep = $callDB->db->prepare("SELECT * FROM guildmedia WHERE mediaRaid = :raidShort AND Status='1'");
        $raidMediaPrep->execute(array('raidShort' => $raidFetch));
        //Result
        $raidMedia = $raidMediaPrep->fetchAll(PDO::FETCH_ASSOC);
        //Prepare
        $raidSpecificsPrep = $callDB->db->prepare("SELECT * FROM raid_archive WHERE short = :raidShort");
        $raidSpecificsPrep->execute(array('raidShort' => $raidFetch));
        //Result
        $raidSpecifics = $raidSpecificsPrep->fetch(PDO::FETCH_ASSOC);
        $raidMediaArr = json_decode($raidSpecifics['media'], true);
        //Split boss names apart
        $bossSeperator = '/,\\s*/';
        $bossNames = preg_split($bossSeperator, $raidSpecifics['bossNames']);
        echo '
		<div id="content-header-wrapper">
			<div id="content-header-content"><div id="content-header-content-expand">&#9660;</div>
				<div class="navLocBar-noWrap"><a href="' . site_url . 'progress">Raid</a> &#62;&nbsp;' . $raidFullName . '</div>
					<div id="content-header-btns-right">';
        if ($userRank >= 1) {
            echo '<button type="button" class="btn btn-green" onclick="wbox.show(\'addMediaDiv\');"><span class="ion-plus"></span> Add Media</button>';
        }
        echo '
					</div>
			</div>
		</div>
			<div id="content-content">
				<div class="progressionBarFull ' . $raidFetch . '">';
        if ($userRank >= "4") {
            echo '
							<div id="raidProgressionSettingsBtn" class="aniObj" onclick="wbox.show(\'editProgression\');editProgression();">
								<span class="ion-gear-b"></span>
							</div>';
        }
        if (@$data->info['bossCount']['M'] != null) {
            echo '<div id="raidProgressionNumbers"><span id="regRaidProgression">' . $data->progress['N'] . '</span>/' . $data->info['bossCount']['N'] . 'R | <span id="hRaidProgression">' . $data->progress['H'] . '</span>/' . $data->info['bossCount']['H'] . 'H | <span id="mRaidProgression">' . $data->progress['M'] . '</span>/' . $data->info['bossCount']['M'] . 'M</div>';
        } else {
            echo '<div id="raidProgressionNumbers"><span id="regRaidProgression">' . $data->progress['N'] . '</span>/' . $data->info['bossCount']['N'] . 'R | <span id="hRaidProgression">' . $data->progress['H'] . '</span>/' . $data->info['bossCount']['H'] . 'H</div>';
        }
        foreach ($data->modes as $mode) {
            echo '<div class="progressBarFrame"><div id="' . $mode . 'Progressbar"><div class="raidDifcProgressBarText"></div></div></div>';
        }
        echo '
					<br/>
				</div>
				
				
			<script>';
        foreach ($data->modes as $mode) {
            echo 'window.setTimeout(function(){progress.raidBar(\'' . $mode . 'Progressbar\',\'' . $data->progress[$mode] / $data->info['bossCount'][$mode] * 100 . '\');}, 500);';
        }
        echo '
			</script>
				
				<div class="progressTopicContents">
					<div id="mediaGallery">';
        $curBoss = 0;
        foreach ($bossNames as $boss) {
            $mediaIDItem = 0;
            echo '<div class="media-boss">
									<div class="media-boss-name"><strong>' . $boss . '</strong></div>';
            //	echo var_dump($raidMediaArr[$curBoss]['screenshots'][0]);
            if (@$raidMediaArr[$curBoss] != null) {
                foreach ($raidMediaArr[$curBoss]['screenshots'] as $mediaItems) {
                    echo '<div class="progressMediaFullItem b-lazy-loading"><img class="b-lazy" src="/img/1080placeholder.png" data-src="' . $mediaItems['url'] . '" />';
                    if ($userRank >= "4") {
                        echo '<div class="editMediaWrapper"><div class="editMedia" onclick="wbox.show(\'editMedia\');progress.media.info(\'' . $raidFetch . '\', ' . $curBoss . ', \'screenshots\',' . $mediaIDItem . ');"><span class="ion-edit"></span></div></div>';
                    }
                    echo '</div>';
                    $mediaIDItem = $mediaIDItem + 1;
                }
            }
            echo '</div>';
            $curBoss = $curBoss + 1;
        }
        echo '</div>';
        // Closing for #content-content
        // foreach (($raidMedia) as $row){
        // 	if ($row['mediaType'] === 'screenshot'){
        // 		echo '
        // 			<div class="progressMedia">
        // 				<div class="mediaPreview">
        // 					<div class="progressMediaImg">';
        // 						if ($userRank >= "4")
        // 							{
        // 								echo'<div class="editMediaWrapper"><div class="editMedia" onclick="wbox.show(\'editMedia\');fetchMediaInfo('.$row['id'].');"><span class="ui-icon ui-icon-pencil"></span></div></div>';
        // 							}
        // 						echo '
        // 						<img src="'.$row['mediaLink'].'" onclick="WBoxmedia(\'img\',\''.$row['mediaLink'].'\');">
        // 					</div>
        // 				</div>
        // 				<div class="progressmediaLink">
        // 					[Img] '.$row['mediaTitle'].'</a><br/>
        // 				</div>
        // 			</div>';
        // 	}
        // 	elseif ($row['mediaType'] === 'video'){
        // 		echo '
        // 			<div class="progressMedia">
        // 				<div class="mediaPreview">
        // 					<div class="progressMediaImg">';
        // 						if ($userRank >= "4"){
        // 							echo'<div class="editMediaWrapper"><div class="editMedia" onclick="wbox.show(\'editMedia\');fetchMediaInfo('.$row['id'].');"><span class="ui-icon ui-icon-pencil"></span></div></div>';
        // 						}
        // 						echo '
        // 						<img src="http://img.youtube.com/vi/'.$row['mediaLink'].'/1.jpg" onclick="WBoxmedia(\'vid\',\''.$row['mediaLink'].'\');" />
        // 					</div>
        // 				</div>
        // 				<div class="progressmediaLink">
        // 					[Vid] '.$row['mediaTitle'].'</a><br/>
        // 				</div>
        // 			</div>
        // 			';
        // 	}
        // 	else
        // 		{}
        // }
        if ($userRank >= "4") {
            ?>
				<script>
					function editProgression(){
						<?php 
            foreach ($data->modes as $mode) {
                ?>
								$(function(){ // Progress Sliders
									$('#slider<?php 
                echo $mode;
                ?>
', '#WBox').slider({
										value:<?php 
                echo $data->progress[$mode];
                ?>
,
										min:0,
										max:<?php 
                echo $data->info['bossCount'][$mode];
                ?>
,
										step:1,
										slide:function(event,ui){
											$('#<?php 
                echo $mode;
                ?>
ProgressionEditor', '#WBox').val(ui.value);							
										}
									});
									$('#<?php 
                echo $mode;
                ?>
ProgressionEditor', '#WBox').val($('#slider<?php 
                echo $mode;
                ?>
', '#WBox').slider('value'));
								});
						<?php 
            }
            ?>
					}
				</script>
				
				
				<div id="editMedia" class="wbox" data-height="215px" data-width="335px" data-max-width="100%">
					<div class="wbox-title">Edit media</div>
					<div class="wbox-content">
						<input type="text" id="mediaTitleEdit" class="lot" placeholder="Media Title" disabled="disabled">
						<input type="text" id="mediaLinkEdit" class="lot" placeholder="Media Link" disabled="disabled"><br/><br/>
						<select id="mediaTypeEdit" class="TmpstLoT" placeholder="Media Type" disabled="disabled">
							<option value="screenshot">Screenshot (Image)</option>
							<option value="video">Video (YouTube)</option>
						</select>
						<select id="raidBossSelUpdate" class="lot aniObject">
							<option value="Blank">-- Select instance encounter --</option>
						</select><br/><br/>
					</div>
					<div class="WBoxBtns">
						<input type="button" id="mediaUpdateBtn" class="WBox-btn btn-green aniObject" value="Save" onclick="progress.media.update('<?php 
            echo $raidFetch;
            ?>
');" disabled="disabled" />
					</div>
				</div>
				
				<div id="editProgression" class="wbox" data-height="300px" data-width="345px" data-max-width="100%">
					<div class="wbox-title">Edit media</div>
					<div class="wbox-content">
						<div id="<?php 
            echo $raidFetch;
            ?>
" class="progressionEditorTop <?php 
            echo $raidFetch;
            ?>
">
							<div class="progressionEditorRaid"><?php 
            echo $raidFullName;
            ?>
</div>
							<div class="progressionEditorVals"><input id="NProgressionEditor" maxlength="2" readonly="readonly" style="width:20px; font-size:18px; color:white; background:transparent; border:0px; text-align:right;" value="<?php 
            echo $data->progress['N'];
            ?>
" />/<?php 
            echo $data->info['bossCount']['N'];
            ?>
R | <input id="HProgressionEditor" maxlength="2" readonly="readonly" style="width:20px; font-size:18px; color:white; background:transparent; border:0px; text-align:right;" value="<?php 
            echo $data->progress['H'];
            ?>
" />/<?php 
            echo $data->info['bossCount']['H'];
            ?>
H | <input id="MProgressionEditor" maxlength="2" readonly="readonly" style="width:20px; font-size:18px; color:white; background:transparent; border:0px; text-align:right;" value="<?php 
            echo $data->progress['M'];
            ?>
" />/<?php 
            echo @$data->info['bossCount']['M'];
            ?>
M</div>
						</div><br/>
						<?php 
            foreach ($data->modes as $mode) {
                echo '
								<div class="progressionMiniSliderDIV">
									<span class="progressionEditorDiff">' . $mode . ' ' . $raidFetch . ' Progression:</span>
									<div id="slider' . $mode . '"></div>
								</div>';
            }
            ?>
					</div>
					<div class="WBoxBtns">
						<input type="button" onclick="progress.update('<?php 
            echo $raidFetch;
            ?>
');" class="WBox-btn btn-green aniObj" value="Save" />
					</div>
				</div>
				
			<?php 
        }
        if ($userRank >= 1) {
            ?>
				<div id="addMediaDiv" class="wbox" data-height="195px" data-width="335px" data-max-width="100%">
					<div class="wbox-title">Add guild media</div>
					<div class="wbox-content">
						<select id="mediaType" class="lot aniObject">
							<option value="Blank">-- Select media type --</option>
							<option value="screenshot">Screenshot (Image)</option>
							<option value="video">Video (YouTube)</option>
						</select>
						<select id="raidBossSel" class="lot aniObject">
							<option value="Blank">-- Select instance encounter --</option>
						</select>
						<input type="text" id="mediaTitle" class="lot aniObject" name="mediaTitle" placeholder="Media Title">
						<input type="text" id="mediaLink" class="lot aniObject" name="mediaLink" placeholder="Img ID or Video ID">
					</div>
					<div class="WBoxBtns">
						<input type="button" id="addMediaBtn" class="WBox-btn btn-green aniObject" onclick="progress.media.submit('<?php 
            echo $raidFetch;
            ?>
');" value="Submit">
					</div>
				</div>
				
				<script>
					window.setTimeout(function(){
						progress.media.getRaidDetails('<?php 
            echo $raidFetch;
            ?>
');
					}, 500);
				</script>
			<?php 
        }
        echo '</div></div>
			
			<div class="progressClearSpace"></div>
				<script>
					var bLazy = new Blazy({ 
						success: function(element){
							setTimeout(function(){
								var parent = element.parentNode;
								parent.className = parent.className.replace(/\\bloading\\b/,"");
							}, 200);
						}
					});
				</script>
		';
    } else {
        echo 'Invalid Raid';
    }
}