Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function playerfix($parameter,$key){
- if(!is_numeric($parameter)){// Between two values
- $split = strpos($parameter,"-");
- $low = substr($parameter, 0, strlen($parameter)-$split-1);
- $high = substr($parameter, $split+1);
- if ($low > $high){
- $temp = $high;
- $high = $low;
- $low = $temp;
- }
- $newlist = " ".$key." <=".$high." AND ".$key." >=".$low." ";
- return $newlist;}
- else{
- if($parameter >= 0){ //One Positive Value
- $newlist = " ".$key." >=".$parameter." ";
- return $newlist;}
- else{ //One negative value
- $newlist = " ".$key." <=".abs($parameter)." ";
- return $newlist;
- }
- }
- }
- function renameup($input){
- switch($input){
- default: $out = $input; break;
- case "Online": $out = 0; break;
- case "Queued for Upload": $out = 1; break;
- case "Queued for Archival": $out = 2; break;
- case "Archived": $out = 3; break;
- }
- return $out;
- }
- function renamest($input){
- $out = array();
- switch(strtolower($input[0])){
- default: $out[0] = $input[0]; break;
- case "isoladicapraia": $out[0] = "Capraia"; break;
- case "plr_mana": $out[0] = "Mana Island"; break;
- case "provinggrounds_pmc": $out[0] = "Proving Grounds"; break;
- case "desert_e": $out[0] = "Desert"; break;
- case "fallujah": $out[0] = "Fallujah"; break;
- case "namalsk": $out[0] = "Namalsk"; break;
- case "chernarus": $out[0] = "Chernarus"; break;
- case "fdf_isle1_a": $out[0] = "Podagorsk"; break;
- case "eden": $out[0] = "Everon"; break;
- case "afghan_village": $out[0] = "Afghan Village"; break;
- case "razani": $out[0] = "Razani"; break;
- case "schmalfelden": $out[0] = "Schmalfelden"; break;
- case "porto": $out[0] = "Porto"; break;
- case "intro": $out[0] = "Rahmadi"; break;
- case "sara": $out[0] = "Sahrani"; break;
- case "sara_dbe1": $out[0] = "United Sahrani"; break;
- case "saralite": $out[0] = "South Sahrani"; break;
- case "quishkibrul": $out[0] = "Quesh-Kibrul"; break;
- case "sbrodj": $out[0] = "Sbrodj"; break;
- case "aiaktalik": $out[0] = "Aiaktalik"; break;
- case "celle": $out[0] = "Celle"; break;
- case "thirskw": $out[0] = "Thirsk Winter"; break;
- case "mbg_kellu": $out[0] = "Kellu"; break;
- case "isladuala": $out[0] = "Isla Duala"; break;
- case "shapur_baf": $out[0] = "Shapur"; break;
- case "razoreniya": $out[0] = "Razoneniya"; break;
- case "utes": $out[0] = "Utes"; break;
- }
- switch($input[1]){
- default: $out[1] = $input[1]; break;
- case 0: $out[1] = "Online"; break;
- case 1: $out[1] = "Queued for Upload"; break;
- case 2: $out[1] = "Queued for Archival"; break;
- case 3: $out[1] = "Archived"; break;
- }
- return $out;
- }
- /*====================================
- SQL List Function
- ======================================*/
- function sql_list($u = NULL){
- $where = 'WHERE ';
- $end = 'DESC';
- if($u == NULL){
- $where = "WHERE up = 0";
- //$where = "WHERE island = 'plr_mana'";
- }else{
- $limit = count($u);
- $i = 1;
- if(array_key_exists('count', $u)){
- $limit--;}
- if(array_key_exists('date', $u)){
- $limit--;}
- foreach ($u as $key => $val){
- if($key != 'players' AND $key != 'date' AND $key != 'count'){
- $where .= $key." = '".$val."'";
- if($i < $limit){
- $where .= " AND ";}
- $i++;}
- elseif($key == 'players'){
- $where .= playerfix($val,$key);
- if($i < $limit){
- $where .= " AND ";}
- $i++;
- }
- elseif($key == 'date'){
- $end = $val;}
- elseif($key == 'count'){
- $end .= ', count '.$val;}
- }
- if(!array_key_exists('author', $u) AND !array_key_exists('type', $u) AND !array_key_exists('dac', $u) AND !array_key_exists('players', $u) AND !array_key_exists('up', $u) AND !array_key_exists('island', $u)){
- $where = '';
- }
- }
- $string = "SELECT * from st_mission ".$where." ORDER by island ASC, date ".$end;
- $sql = mysql_query($string);
- $last = '';
- $i = 0;
- $j = 0;
- $body = '';
- /* $body .= '<br><br><center><div class="navbar" style="width: 818px; font-size: 1.25em; line-height: 1.5em;"><div class="inner" style="text-align: left;">';
- $body .= '<span class="corners-top"><span></span></span>'."\n";
- $body .= '<div>';
- $body .= '</div>';
- $body .= '<span class="corners-bottom"><span></span></span></div></div></center>'."\n"; */
- while($result = mysql_fetch_assoc($sql)){
- $fix = renamest(array($result['island'],$result['up']));
- $current = $fix[0];
- $mission = str_replace('.pbo','',$result['filename']);
- $end = strrpos($mission,".");
- $mission = substr($mission,0,$end);
- //$body .= $mission;
- $counter = mysql_query("SELECT * FROM missionhistory WHERE mission = '".$mission."'");
- $count = mysql_num_rows($counter);
- if($current != $last){
- if($i != 0){
- $body .= '</table></div>';
- $body .= '<span class="corners-bottom"><span></span></span></div></div></center>'."\n";
- }
- $body .= '<br><br><center><div class="navbar" style="width: 818px;"><div class="inner" style="text-align: left;">';
- $body .= '<span class="corners-top"><span></span></span>'."\n";
- $body .= "<span style='width: 100%; font-size: 1.1em;'>";
- $body .= "<span style='color: #ffffff; float:right;'><strong>".$fix[1]."</strong></span>";
- $body .= "<span style='color: #ffffff;'><strong><a href=#".$result['island']." name=".$result['island'].">".$current."</a></strong></span><hr noshadow />";
- $body .= "</span>";
- $body .= '<div>';
- }
- $zebra = 'style="background: #524c43;" ';
- if ($j % 2 != 0) $zebra = 'style="background: #3f3d33;" ';
- $j++;
- $body .= "<table cellpadding=0 cellspacing=0 style='font-size: 1.1em; width:100%;'>";
- $body .= "<tr $zebra>";
- $body .= "<td style='padding-right: 1em; width: 5%;' nowrap>" . date('Y-m-d h:i', $result['date']) . " " . "</td>";
- $body .= '<td style="padding-right: 1em; color:#aaaaaa;" width: 70%;><a class="playerList" href="/missions/Missions/'.$result['filename'].'">'.$result['framework'].'_'.$result['type'].'_'.$result['players'].'_'.str_replace(" ","_",trim($result['name']));
- $body .= "<span><div style='color: #ffffff;'>\n";
- $body .= "<strong>" . $result['name'] . "</strong>, ";
- $body .= $fix[0]. "<br />\n";
- $body .= $result['type'] . " - ";
- $body .= " " . $result['players'] . "<br />\n";
- $body .= "<br /></div>";
- $body .= "<div style='color: #aaaaaa;'>". $result['description']. "</div><br />";
- $body .= $result['framework'];
- if($result['dac'] == 1){
- $body .= '<i> - DAC Enabled</i>';
- }
- $body .= "</span></a></td>";
- $body .= "<td style='padding-right: 1em; width: 5%;' nowrap>Played " . $count . " time(s)" . "</td>";
- $body .= "<td style='padding-right: 1em; width: 20%;'>".$result['author']."</td>";
- $body .= "</tr>";
- $last = $current;
- $i++;
- }
- $body .= '</table>';
- $body .= '</div>';
- $body .= '<span class="corners-bottom"><span></span></span></div></div></center>'."\n";
- //$body = $where;
- return $body;
- //return $string;
- }
- /*====================================*/
- /*====================================
- SQL Check Function
- ======================================*/
- function sql_check($name = NULL){
- if($name != NULL){
- $sql = mysql_query("SELECT * FROM st_mission WHERE filename = '".$name."'");}
- else{
- $sql = mysql_query("SELECT * FROM st_mission");}
- return mysql_num_rows($sql);
- }
- /*====================================*/
- /*====================================
- SQL Check Function
- ======================================*/
- function sql_keycheck($key,$val){
- $sql = mysql_query("SELECT * FROM st_mission WHERE ".$key." = '".$val."'");
- return mysql_num_rows($sql);
- }
- /*====================================*/
- /*====================================
- SQL Update Function
- ======================================*/
- function sql_update($file,$up,$info = NULL){
- //echo $file.' '.$up.' '.$info;
- $page = $user->data['username'];
- if(sql_check(basename($file)) == 0 or $info != NULL){
- //echo "I'm adding a new entry";
- //print_r($info);
- //Add entry to database
- if(mysql_query("
- INSERT INTO st_mission
- (
- author,
- filename,
- name,
- description,
- type,
- players,
- date,
- up,
- island,
- framework,
- dac,
- count)
- VALUES
- ('".addslashes($info['author'])."',
- '".basename($file)."',
- '".addslashes($info['name'])."',
- '".addslashes($info['description'])."',
- '".addslashes($info['type'])."',
- ".addslashes($info['players']).",
- '".time()."',
- '".$up."',
- '".addslashes($info['island'])."',
- '".addslashes($info['framework'])."',
- '".$info['dac']."',
- 0
- ) ")){
- }else{
- $page = "There was an error adding this entry to the database. Most likely the naming convention wasn't followed.<br><br>The mission has NOT been uploaded.";
- }}
- else{
- //echo "I should be updating an existing entry.";
- mysql_query("UPDATE st_mission SET up = '".$up."' WHERE filename = '".basename($file)."'");}
- return $page;
- }
- /*====================================*/
- /*====================================
- Upload to webserver
- ======================================*/
- function upfile($gameState,$user_st,$np){
- if(!empty($_FILES['uploadedfile'])){
- $page = '';
- $type = array("pbo");
- $info = pathinfo( $_FILES['uploadedfile']['name']);
- $name = basename( $_FILES['uploadedfile']['name']);
- if (!in_array($info['extension'],$type)){
- $page = "Invalid filetype. Only pbo are allowed";
- }
- else{
- // Valid filetype, check in sql database to see if the mission already exists
- $checker = sql_check($name);
- if($checker > 0){
- $page = "This mission has already been uploaded.";
- }else{
- $target_path = "./missions/Missions/"; //This is where the temporary directory will be.
- $target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
- if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
- //echo "The file ".basename( $_FILES['uploadedfile']['name'])." has been uploaded to the Temporary Missions directory.<br><br>";
- $pbo = de_pbo($target_path,$user_st);
- //print_r($pbo);
- $page = sql_update($target_path,3,$pbo);
- $page .= ftp_upload($target_path,$gameState,$np);
- }}}}
- else{
- $page = "No Files";
- }
- return $page;
- }
- /*====================================*/
- /*====================================
- Upload to FTP
- ======================================*/
- function ftp_upload($file,$gameState,$np){
- $page = '';
- $ftp_server = "alabasterslim.bounceme.net";
- $ftp_user = "oamissions";
- $ftp_pass = "testing";
- // set up a connection or die
- $conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
- // try to login
- if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
- //echo "Connected as $ftp_user@$ftp_server\n";
- } else {
- //echo "Couldn't connect as $ftp_user\n";
- }
- // get contents of the current directory
- $contents = ftp_nlist($conn_id, ".");
- if(($gameState == 1 AND $np == 0) or $gameState == 7 or $gameState == 9){ // Upload file
- $check = basename($file);
- if(in_array("./".$check,$contents)){
- $page = 'The mission '.$check.' already exists on the server!';
- }
- else{
- $fp = fopen($file, 'r');
- chdir(dirname($file));
- if (ftp_fput($conn_id, $check, $fp, FTP_ASCII)) {
- $page = 'Successfully uploaded '.basename($file).'<br>';
- } else {
- $page = 'There was a problem while uploading '.basename($file).'<br>The file has been queued for upload, you will be emailed when this is completed.<br>';
- // Set SQL flag as 2
- sql_update($check,1);
- }
- chdir("../../");
- fclose($fp);
- }}
- else{ //Server is not in a good state, don't upload now.
- switch($gameState){
- case 1: $state = "Players are joining the server"; break;
- case 3: $state = "The server is currently at slot selection"; break;
- case 5: $state = "The server is currently loading a mission"; break;
- case 6: $state = "The server is currently at the mission briefing stage"; break;
- }
- $check = basename($file);
- $page = "$state. Your mission ($check) will be uploaded at the next available opportunity and an email notification will be sent when completed.<br>";
- sql_update($check,1);
- //SQL Flag leave as 0
- }
- //echo '<br><br><b>Missions:</b><br>';
- // output $contents
- $contents = ftp_nlist($conn_id, ".");
- foreach($contents as $key => $val){
- //echo $val.'<br>';
- sql_update(substr($val,2),0);//Update SQL Flags
- }
- // close the connection
- ftp_close($conn_id);
- return $page;
- }
- /*====================================*/
- function de_pbo($file,$user_st){
- //briefingName="STOACE_ADV_86_Tropico_Quickfight";
- //briefingDescription="Fight for your banana republic! At night, full moon, no NVGs";
- $pbo = file_get_contents($file);
- if(substr_count($pbo, 'briefingName="')>0){
- $name = stcutter($pbo, 'briefingName="','";');
- $words = explode("_",$name);
- $length = count($words);
- $i = 3;
- $name = '';
- while($i < $length){
- $name .= $words[$i].' ';
- $i++;
- }
- //$name = str_replace("_", " ",$name);
- }
- else{
- $name = basename($file);}
- if(substr_count($pbo, 'briefingDescription="')>0){
- $description = stcutter($pbo, 'briefingDescription="', '";');}
- else{
- $description = "No description provided.";
- }
- $val = basename($file);
- $island = str_replace(".pbo", "", $val);
- $dot = strrpos(basename($island),'.') + 1;
- $island = substr(basename($island),$dot);
- $words = explode("_",$val);
- //print_r($words);
- $length = count($words);
- //echo"<br><br>";
- $framework = strtoupper($words[0]);
- $type = strtoupper($words[1]);
- if($type == 'COOP'){
- $type = 'CO';
- }
- $players = $words[2];
- $dac = 0;
- if(substr_count(strtolower($pbo),"dac_config_creator.sqf")>0){
- $dac = 1;}
- $file_info = array("author" => $user_st, "name" => $name, "description" => $description, "island" => $island, "framework" => $framework, "type" => $type,"players" => $players, "dac" => $dac);
- //print_r($file_info);
- return $file_info;
- //echo '<h1>'.$name.'</h1>';
- //echo '<h1>'.$description.'</h1>';
- }
- function stcutter($pContent, $pStartTag, $pEndTag){
- $content = trim($pContent);
- $startPos = strpos($content, $pStartTag) + strlen($pStartTag);
- $endPos = strpos(substr($content, $startPos), $pEndTag);
- $content = trim(substr($content, $startPos, $endPos));
- return $content;
- }
- function getVar($name, $type = REQUEST)
- {
- $var = NULL;
- switch($type)
- {
- case GET:
- if(isset($_GET[$name]))
- {
- $var = $_GET[$name];
- }
- break;
- case POST:
- if(isset($_POST[$name]))
- {
- $var = $_POST[$name];
- }
- break;
- case SESSION:
- if(isset($_SESSION[$name]))
- {
- $var = $_SESSION[$name];
- }
- break;
- case REQUEST:
- if(isset($_REQUEST[$name]))
- {
- $var = $_REQUEST[$name];
- }
- case COOKIE:
- if(isset($_COOKIE[$name]))
- {
- $var = $_COOKIE[$name];
- }
- }
- if(is_string($var))
- {
- $var = trim(stripslashes($var));
- }
- elseif(is_array($var))
- {
- $var = r_stripSlashes($var);
- }
- return $var;
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement