boen_robot Posted February 26, 2011 Share Posted February 26, 2011 Damn... the changelog in 5.3.3 and 5.3.4 don't give any hints. There are barely any "core" fixes (a huge deal of extension fixes instead), and your code is affected by none of them.But then again, running your latest full code on my computer didn't really worked... could you copy&paste the exact code the school server is running? Without the debugging statements and everything (I'll uncomment them if I need them). Link to comment Share on other sites More sharing options...
Caitlin-havener Posted February 26, 2011 Author Share Posted February 26, 2011 While your at it maybe you can tell me why bad guesses is printing "array" and not the letters. Latest version: <?php // woffer02.php error_reporting(0); session_start(); if (empty($_SESSION)) { //Initialize session variables $_SESSION['bad_guess_index'] = 0; $_SESSION['all_guess_index'] = 0; $_SESSION['guess_array'] = array(); $_SESSION['index']=0; $_SESSION['turn']="GOLD"; //GOOD}?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <link rel="stylesheet" type="text/css" href="style_project_two.css" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title></title> <style type="text/css"> .mtable td { width:50px; } </style> </head> <body> <div id="wrap"> <div id="header"><h1>Caitlin's Jeopardy</h1></div> <div id="right"> <form method="post"> <?php #textloader: function textloader($whatfile) { if (!file_exists($whatfile)) { print "Sorry, can't find $whatfile."; exit; } else { $textarray=file($whatfile); return $textarray; } }# textloader #display: Draws the Jeopardy table function display($visible, $letters) { $letterlength=count($letters); print "<table class='mtable' border=1><tr>"; for ($i=1; $i<$letterlength; $i++) { //print "i=$i,visible=".$visible[$i]."<br />"; if ($letters[$i]==' ') print "</tr></table><br/> <table class='mtable'><tr>"; else if ($visible[$i]) { print "<td><center>".$letters[$i]."</center></td>"; } else print "<td> </td>"; } print "</tr></table>"; } #drawinputscreen: Asks for input. function drawinputscreen($guesses) { print "<input type='text' name='guessletter'>"; print "Guess a letter. You have $guesses guesses left."; print "<input type='submit' name='action' value='GUESS'>"; print "<input type='submit' name='action' value='REVEAL'>"; print "<input type='submit' name='action' value='NEXT PHRASE'>"; //print "<input type='submit' name='action' value='END SESSION'> (then refresh)"; } ######## MAIN PROGRAM ########## print"<img src='images/vanna.jpg' alt=''/>"; //initialize variables $array= textloader("clichefile.txt"); $index=$_SESSION['index']; //$letters = array(); $act=isset($_POST['action']) ? $_POST['action'] : ''; $text = array_key_exists($index, $array) ? $array[$index] : "There are no more phrases left."; $txtarr=($text); //Print whos turn $turn_print=$_SESSION['turn']; print"<div id='team'>It is $turn_print team's turn.</div>"; //print "$text"; //Assign each letter to letters array and uppercase it for ($i=0; $i<strlen($text);$i++) { $_SESSION['letters'][$i+1]=strtoupper($text[$i]); } $_SESSION['letterlength']=count($_SESSION['letters']); ; switch ($act) { case '': //If there are no more phrases left if ($text=="There are no more phrases left."){ for ($i=1; $i<=$_SESSION['letterlength']; $i++) $_SESSION['visible'][$i]=1; } else{ for ($i=1; $i<=$_SESSION['letterlength']; $i++) $_SESSION['visible'][$i]=0; } $_SESSION['guesses']=16; break; case "GUESS": $_SESSION['guessletter'][]=strtoupper($_POST['guessletter']); // a-> A, etc. uppercase for ($i=1; $i<=$_SESSION['letterlength']; $i++) { for($j=0;$j<=count($_SESSION['guessletter']);$j++){ $guessletter= $_SESSION['guessletter'][$j]; if ($_SESSION['guessletter'][$j]==$_SESSION['letters'][$i]) { $_SESSION['visible'][$i]=1; } else if (!(preg_match("/$guessletter/i",$text))){ $_SESSION['guess_array'][] = $_SESSION['guessletter']; } } } //WHOS TURN?? $turn=$_SESSION['turn']; if ($turn=="GOLD"){ $_SESSION['turn']="BLACK"; } else if($turn=="BLACK"){ $_SESSION['turn']="GOLD"; } #End whos turn $_SESSION['guesses']-= 1; break; case "NEXT PHRASE": unset($_SESSION['bad_guess_index']); unset($_SESSION['all_guess_index']); unset($_SESSION['guessletter']); unset($_SESSION['guess_array']); unset($_SESSION['visible']); unset($_SESSION['letters']); unset($_SESSION['guesses']); $_SESSION['index']+= 1; $_SESSION['guesses']=16; for ($i=1; $i<=$_SESSION['letterlength']; $i++) $_SESSION['visible'][$i]=0; break; case "REVEAL": for ($i=1; $i<=$_SESSION['letterlength']; $i++) $_SESSION['visible'][$i]=1; break; case "END SESSION": session_destroy(); break; } //RUN OUT OF GUESSES if ($_SESSION['guesses']==0){ print"<div id='lose'>You lose! Click NEXT PHRASE.</div>"; } else if ($_SESSION['guesses']==1){ print"<div id='last'>This is your last guess!!!</div>"; } print"</div>"; print"<div id='left'>"; $letters=$_SESSION['letters']; $visible=$_SESSION['visible']; $guesses=$_SESSION['guesses']; //var_dump($_SESSION); display($visible,$letters); drawinputscreen($guesses); print"</div>"; //print out the bad guesses $bad_guess_print=$_SESSION['guess_array']; print"<div id='bad_guesses'><p>Bad Guesses</p> <br />"; for ($k=0; $k<=count($_SESSION['guess_array']); $k++){ print"<p class='right_side' style='color:red'>$bad_guess_print[$k], </p>"; } print"</div>"; $_SESSION['visible']=$visible; $_SESSION['guesses']=$guesses; $_SESSION['letters']=$letters; ?></div></form></body></html> I'm also going to try to load on godaddy acct see if that works Link to comment Share on other sites More sharing options...
boen_robot Posted February 26, 2011 Share Posted February 26, 2011 Well, it works, but let's deal with the notifications... they are messengers of issues to come is what I always say, and in your case, it seems they've come already.... for ($k=0; $k<=count($_SESSION['guess_array']); $k++){ print"<p class='right_side' style='color:red'>$bad_guess_print[$k], </p>"; } should be for ($k = 0; $k < count($_SESSION['guess_array']); $k++) { print"<p class='right_side' style='color:red'>$bad_guess_print[$k], </p>"; } (note the missing "=")and similarly for($j=0;$j<=count($_SESSION['guessletter']);$j++){ should be for($j=0;$j<count($_SESSION['guessletter']);$j++){ Also, it seems your session data isn't really cleared properly, which could be causing problems for some of your tests. Remove case "END SESSION": session_destroy(); break; and instead move it to the top along with an actual refresh, like: session_start();if (isset($_POST['action']) && $_POST['action'] === 'END SESSION') { $_SESSION = array(); if (ini_get('session.use_cookies')) { $params = session_get_cookie_params(); setcookie(session_name(), '', time() - 42000, $params['path'], $params['domain'], $params['secure'], $params['httponly'] ); } session_destroy(); header('Location: ' . $_SERVER['REQUEST_URI']); exit;} (majority of extra code taken from the PHP manual)As for the Array thing... var_dump($_SESSION['guess_array']); right before the printing shows that this is an array of arrays with one member each. Even on one bad letter, you get members from 0 to 36 with 0 as a submember. The cause is this portion: $_SESSION['guessletter'][]=strtoupper($_POST['guessletter']); // a-> A, etc. uppercase for ($i=1; $i<=$_SESSION['letterlength']; $i++) { for($j=0;$j<=count($_SESSION['guessletter']);$j++){ $guessletter= $_SESSION['guessletter'][$j]; if ($_SESSION['guessletter'][$j]==$_SESSION['letters'][$i]) { $_SESSION['visible'][$i]=1; } else if (!(preg_match("/$guessletter/i",$text))){ $_SESSION['guess_array'][] = $_SESSION['guessletter']; } } } but I'm not entirely certain what your intended logic is... [researching...] Link to comment Share on other sites More sharing options...
Caitlin-havener Posted February 26, 2011 Author Share Posted February 26, 2011 Well it was the version because it is working on godaddy! Link to comment Share on other sites More sharing options...
birbal Posted February 26, 2011 Share Posted February 26, 2011 Help! Whos going to be my hero!? Well it was the version because it is working on godaddy! so at last godaddy becomes hero Link to comment Share on other sites More sharing options...
boen_robot Posted February 26, 2011 Share Posted February 26, 2011 For the bad letters array issue, you should swap the loops and only merge the guess array in the first. Here's what I got it to with some trial&error (and what you should replace the problematic section above with): $_SESSION['guessletter'][] = strtoupper($_POST['guessletter']); // a-> A, etc. uppercase for ($j = 0; $j < count($_SESSION['guessletter']); $j++) { $guessletter = $_SESSION['guessletter'][$j]; for ($i = 1; $i <= $_SESSION['letterlength']; $i++) { if ($_SESSION['guessletter'][$j] == $_SESSION['letters'][$i]) { $_SESSION['visible'][$i] = 1; } } if (!(preg_match("/$guessletter/i", $text))) { $_SESSION['guess_array'] = array_merge($_SESSION['guess_array'], array_diff(array($guessletter), $_SESSION['guess_array'])); } } Link to comment Share on other sites More sharing options...
Caitlin-havener Posted February 26, 2011 Author Share Posted February 26, 2011 You all were heros! Link to comment Share on other sites More sharing options...
boen_robot Posted February 26, 2011 Share Posted February 26, 2011 You all were heros!Is it all working now, or are you just being nice and everything ? Link to comment Share on other sites More sharing options...
Caitlin-havener Posted February 26, 2011 Author Share Posted February 26, 2011 I've implemented your suggestions and the bad print is not printing??Whole thing: <?php // woffer02.php error_reporting(0); session_start(); if (isset($_POST['action']) && $_POST['action'] === 'END SESSION') { $_SESSION = array(); if (ini_get('session.use_cookies')) { $params = session_get_cookie_params(); setcookie(session_name(), '', time() - 42000, $params['path'], $params['domain'], $params['secure'], $params['httponly'] ); } session_destroy(); header('Location: ' . $_SERVER['REQUEST_URI']); exit;} if (empty($_SESSION)) { //Initialize session variables $_SESSION['bad_guess_index'] = 0; $_SESSION['all_guess_index'] = 0; $_SESSION['guess_array'] = array(); $_SESSION['index']=0; $_SESSION['turn']="GOLD"; //GOOD}?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <link rel="stylesheet" type="text/css" href="style_project_two.css" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title></title> <style type="text/css"> .mtable td { width:50px; } </style> </head> <body> <div id="wrap"> <div id="header"><h1>Caitlin's Jeopardy</h1></div> <div id="right"> <form method="post"> <?php #textloader: function textloader($whatfile) { if (!file_exists($whatfile)) { print "Sorry, can't find $whatfile."; exit; } else { $textarray=file($whatfile); return $textarray; } }# textloader #display: Draws the Jeopardy table function display($visible, $letters) { $letterlength=count($letters); print "<table class='mtable' border=1><tr>"; for ($i=1; $i<$letterlength; $i++) { //print "i=$i,visible=".$visible[$i]."<br />"; if ($letters[$i]==' ') print "</tr></table><br/> <table class='mtable'><tr>"; else if ($visible[$i]) { print "<td><center>".$letters[$i]."</center></td>"; } else print "<td> </td>"; } print "</tr></table>"; } #drawinputscreen: Asks for input. function drawinputscreen($guesses) { print "<input type='text' name='guessletter'>"; print "Guess a letter. You have $guesses guesses left."; print "<input type='submit' name='action' value='GUESS'>"; print "<input type='submit' name='action' value='REVEAL'>"; print "<input type='submit' name='action' value='NEXT PHRASE'>"; //print "<input type='submit' name='action' value='END SESSION'> (then refresh)"; } ######## MAIN PROGRAM ########## print"<img src='images/vanna.jpg' alt=''/>"; //initialize variables $array= textloader("clichefile.txt"); $index=$_SESSION['index']; //$letters = array(); $act=isset($_POST['action']) ? $_POST['action'] : ''; $text = array_key_exists($index, $array) ? $array[$index] : "There are no more phrases left."; $txtarr=($text); //Print whos turn $turn_print=$_SESSION['turn']; print"<div id='team'>It is $turn_print team's turn.</div>"; //print "$text"; //Assign each letter to letters array and uppercase it for ($i=0; $i<strlen($text);$i++) { $_SESSION['letters'][$i+1]=strtoupper($text[$i]); } $_SESSION['letterlength']=count($_SESSION['letters']); ; switch ($act) { case '': //If there are no more phrases left if ($text=="There are no more phrases left."){ for ($i=1; $i<=$_SESSION['letterlength']; $i++) $_SESSION['visible'][$i]=1; } else{ for ($i=1; $i<=$_SESSION['letterlength']; $i++) $_SESSION['visible'][$i]=0; } $_SESSION['guesses']=16; break; case "GUESS": $_SESSION['guessletter'][]=strtoupper($_POST['guessletter']); // a-> A, etc. uppercase for ($i=1; $i<=$_SESSION['letterlength']; $i++) { for($j=0;$j<count($_SESSION['guessletter']);$j++){ $guessletter= $_SESSION['guessletter'][$j]; if ($_SESSION['guessletter'][$j]==$_SESSION['letters'][$i]) { $_SESSION['visible'][$i]=1; } } if (!(preg_match("/$guessletter/i",$text))){ $_SESSION['guess_array'] = array_merge($_SESSION['guess_array'], array_diff(array($guessletter), $_SESSION['guess_array'])); } } //WHOS TURN?? $turn=$_SESSION['turn']; if ($turn=="GOLD"){ $_SESSION['turn']="BLACK"; } else if($turn=="BLACK"){ $_SESSION['turn']="GOLD"; } #End whos turn $_SESSION['guesses']-= 1; break; case "NEXT PHRASE": unset($_SESSION['bad_guess_index']); unset($_SESSION['all_guess_index']); unset($_SESSION['guessletter']); unset($_SESSION['guess_array']); unset($_SESSION['visible']); unset($_SESSION['letters']); unset($_SESSION['guesses']); $_SESSION['index']+= 1; $_SESSION['guesses']=16; for ($i=1; $i<=$_SESSION['letterlength']; $i++) $_SESSION['visible'][$i]=0; break; case "REVEAL": for ($i=1; $i<=$_SESSION['letterlength']; $i++) $_SESSION['visible'][$i]=1; break; case "END SESSION": session_destroy(); break; } //RUN OUT OF GUESSES if ($_SESSION['guesses']==0){ print"<div id='lose'>You lose! Click NEXT PHRASE.</div>"; } else if ($_SESSION['guesses']==1){ print"<div id='last'>This is your last guess!!!</div>"; } print"</div>"; print"<div id='left'>"; $letters=$_SESSION['letters']; $visible=$_SESSION['visible']; $guesses=$_SESSION['guesses']; //var_dump($_SESSION); display($visible,$letters); drawinputscreen($guesses); print"</div>"; //print out the bad guesses $bad_guess_print=$_SESSION['guess_array']; print"<div id='bad_guesses'><p>Bad Guesses</p> <br />"; for ($k = 0; $k < count($_SESSION['guess_array']); $k++) { print"<p class='right_side' style='color:red'>$bad_guess_print[$k], </p>"; } print"</div>"; $_SESSION['visible']=$visible; $_SESSION['guesses']=$guesses; $_SESSION['letters']=$letters; ?></div></form></body></html> Link to comment Share on other sites More sharing options...
Caitlin-havener Posted February 26, 2011 Author Share Posted February 26, 2011 Also- when you push "NEXT PHRASE" you have to make a guess before the table shows up...then your heros hahaha Link to comment Share on other sites More sharing options...
boen_robot Posted February 27, 2011 Share Posted February 27, 2011 You haven't exactly implemented my suggestions, but anyway... on my compuer at least, the bad guesses are printing even despite that. And as for the "Next Phrase" issue... $text is already assigned at that point, which is why things become confused. It would probably be best if that too moves at the top (before the $text assignment), along with proper reinitialization of session variables.Here's the full code that appears to work flawlessly on my computer at least: <?php// woffer02.php//error_reporting(0);session_start();if (isset($_POST['action'])) { switch ($_POST['action']) { case 'END SESSION': $_SESSION = array(); if (ini_get('session.use_cookies')) { $params = session_get_cookie_params(); setcookie(session_name(), '', time() - 42000, $params['path'], $params['domain'], $params['secure'], $params['httponly'] ); } session_destroy(); header('Location: ' . $_SERVER['REQUEST_URI']); exit; case 'NEXT PHRASE': if (!empty($_SESSION)) { unset($_SESSION['guessletter']); unset($_SESSION['visible']); unset($_SESSION['letters']); unset($_SESSION['guesses']); $_SESSION['bad_guess_index'] = 0; $_SESSION['all_guess_index'] = 0; $_SESSION['guess_array'] = array(); $_SESSION['index']+= 1; $_SESSION['guesses'] = 16; for ($i = 1; $i <= $_SESSION['letterlength']; $i++) $_SESSION['visible'][$i] = 0; header('Location: ' . $_SERVER['REQUEST_URI']); exit; } }}if (empty($_SESSION)) { //Initialize session variables $_SESSION['bad_guess_index'] = 0; $_SESSION['all_guess_index'] = 0; $_SESSION['guess_array'] = array(); $_SESSION['index'] = 0; $_SESSION['turn'] = "GOLD"; //GOOD}?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <link rel="stylesheet" type="text/css" href="style_project_two.css" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Caitlin's Jeopardy</title> <style type="text/css"> .mtable td { width:50px; border:1px solid black; } </style> </head> <body> <div id="wrap"> <div id="header"><h1>Caitlin's Jeopardy</h1></div> <div id="right"> <form action="" method="post"> <?php #textloader: function textloader($whatfile) { if (!file_exists($whatfile)) { print "Sorry, can't find $whatfile."; exit; }else { $textarray = file($whatfile); return $textarray; } }# textloader #display: Draws the Jeopardy table function display($visible, $letters) { $letterlength = count($letters); print "<table class='mtable'><tr>"; for ($i = 1; $i < $letterlength; $i++) { //print "i=$i,visible=".$visible[$i]."<br />"; if ($letters[$i] == ' ') print "</tr></table><br/> <table class='mtable'><tr>"; else if ($visible[$i]) { print "<td><center>" . $letters[$i] . "</center></td>"; } else print "<td> </td>"; } print "</tr></table>"; } #drawinputscreen: Asks for input. function drawinputscreen($guesses) { print "<input type='text' name='guessletter'>"; print "Guess a letter. You have $guesses guesses left."; print "<input type='submit' name='action' value='GUESS'>"; print "<input type='submit' name='action' value='REVEAL'>"; print "<input type='submit' name='action' value='NEXT PHRASE'>"; print "<input type='submit' name='action' value='END SESSION'> (then refresh)"; } ######## MAIN PROGRAM ########## print"<img src='images/vanna.jpg' alt=''/>"; //initialize variables $array = textloader("clichefile.txt"); $index = $_SESSION['index']; //$letters = array(); $act = isset($_POST['action']) ? $_POST['action'] : ''; $text = array_key_exists($index, $array) ? $array[$index] : "There are no more phrases left."; $txtarr = ($text); //Print whos turn $turn_print = $_SESSION['turn']; print"<div id='team'>It is $turn_print team's turn.</div>"; //print "$text"; //Assign each letter to letters array and uppercase it for ($i = 0; $i < strlen($text); $i++) { $_SESSION['letters'][$i + 1] = strtoupper($text[$i]); } $_SESSION['letterlength'] = count($_SESSION['letters']); ; switch ($act) { case '': //If there are no more phrases left if ($text == "There are no more phrases left.") { for ($i = 1; $i <= $_SESSION['letterlength']; $i++) $_SESSION['visible'][$i] = 1; }else { for ($i = 1; $i <= $_SESSION['letterlength']; $i++) $_SESSION['visible'][$i] = 0; } $_SESSION['guesses'] = 16; break; case "GUESS": $_SESSION['guessletter'][] = strtoupper($_POST['guessletter']); // a-> A, etc. uppercase for ($i = 0; $i < count($_SESSION['guessletter']); $i++) { $guessletter = $_SESSION['guessletter'][$i]; for ($j = 1; $j <= $_SESSION['letterlength']; $j++) { if ($_SESSION['guessletter'][$i] == $_SESSION['letters'][$j]) { $_SESSION['visible'][$j] = 1; } } if (!(preg_match("/$guessletter/i", $text))) { $_SESSION['guess_array'] = array_merge($_SESSION['guess_array'], array_diff(array($guessletter), $_SESSION['guess_array'])); } } //WHOS TURN?? $turn = $_SESSION['turn']; if ($turn == "GOLD") { $_SESSION['turn'] = "BLACK"; }else if ($turn == "BLACK") { $_SESSION['turn'] = "GOLD"; } #End whos turn $_SESSION['guesses']-= 1; break; case "REVEAL": for ($i = 1; $i <= $_SESSION['letterlength']; $i++) $_SESSION['visible'][$i] = 1; break; } //RUN OUT OF GUESSES if ($_SESSION['guesses'] == 0) { print "<div id='lose'>You lose! Click NEXT PHRASE.</div>"; }else if ($_SESSION['guesses'] == 1) { print "<div id='last'>This is your last guess!!!</div>"; } print "</div>"; print "<div id='left'>"; $letters = $_SESSION['letters']; $visible = $_SESSION['visible']; $guesses = $_SESSION['guesses']; //var_dump($_SESSION); display($visible, $letters); drawinputscreen($guesses); print "</div>"; //print out the bad guesses $bad_guess_print = $_SESSION['guess_array']; print "<div id='bad_guesses'><p>Bad Guesses</p> <br />"; for ($k = 0; $k < count($_SESSION['guess_array']); $k++) { print "<p class='right_side' style='color:red'>$bad_guess_print[$k], </p>"; } print"</div>"; $_SESSION['visible'] = $visible; $_SESSION['guesses'] = $guesses; $_SESSION['letters'] = $letters; ?> </form></div></div></body></html> (I've also fixed some minor HTML errors) Link to comment Share on other sites More sharing options...
birbal Posted February 27, 2011 Share Posted February 27, 2011 <?php$guessme='itshouldworknow';session_start();if(!isset($_SESSION['hangman']))$_SESSION['hangman']=array();echo "<a href='{$_SERVER['PHP_SELF']}?act=reset'>Reset</a><br/><br/><form action='{$_SERVER['PHP_SELF']}' method='post'><input type='text' name='guess' value='' /><input type='submit' name='act' value='guess' /></form>";if(isset($_REQUEST['act'])){ switch($_REQUEST['act']) { case 'guess': if(preg_match("/[{$_POST['guess']}]/i",$guessme)&&!in_array($_POST['guess'],$_SESSION['hangman'])) $_SESSION['hangman'][]=$_POST['guess']; $whitelist=implode('',$_SESSION['hangman']); echo preg_replace("/[^$whitelist]/i",'*',$guessme,-1,$count); if($count==0) { echo "<br/><b>You won</b><br/>"; //reset the all unset($_SESSION['hangman']); } //uncmment the var dump if you want see the process //var_dump($_SESSION['hangman']); break; case 'reset': //reset the $guessme //destroy the session unset($_SESSION['hangman']); break; }}?> i actulally did not understand the flow of your code. (i was getting confused). as i wrote in previous post it is same implement (its just a demo)..i just tested it ..s working on my pc...modifying it in some place may fit your situation appropiately. Link to comment Share on other sites More sharing options...
Caitlin-havener Posted February 27, 2011 Author Share Posted February 27, 2011 YAY thanks guys! I got it!!! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.