SitePoint Sponsor

User Tag List

Results 1 to 14 of 14
  1. #1
    SitePoint Addict
    Join Date
    Jul 2003
    Location
    Texas
    Posts
    330
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Help with reCAPTCHA (for a php novice)

    I've been having some trouble with spam on our contact forms recently, and have decided to add a reCAPTCHA, but given my (extremely) limited knowledge of PHP, I'm having trouble implementing it correctly even with the instructions provided on their website.

    Here's my current contact form code (for this page):
    Code:
    <!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>
     <title>a dozen trees &nbsp;|&nbsp; contact us</title>
      <style type="text/css" media="screen">@import "style.css";</style>
      <link rel="stylesheet" type="text/css" media="print" href="print.css" />
      <link rel="shortcut icon" href="favicon.ico" >
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <meta http-equiv="imagetoolbar" content="no" />
      <meta name="MSSmartTagsPreventParsing" content="true" />
      <meta name="robots" content="all" />
      <meta name="Rating" content="General" />
      <meta name="revisit-after" content="20 Days" />
    </head>
    <?php
    
    if (isset($_POST['submit']))
    {
    	$to = 'inquiry@adozentrees.com';
    	$subject = '12T Inquiry';
    	$headers = "From: $_POST[customer_name] <$_POST[email]>\r\n" .
    		"MIME-Version: 1.0\r\n" .
    		"Content-type: text/html; charset=iso-8859-1";
    	$message = <<<EOF
    <html>
    <head>
    <title>12T Inquiry - $_POST[subject]</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body>
    <font size="3" face="Helvetica, Arial, San-Serif">
    <p><strong>Subject</strong>: $_POST[subject]<p>
    <p>Dear 12T,</p>
    <p>$_POST[message]</p>
    <p>Regards,<br>$_POST[customer_name]</p>
    </font>
    </body>
    </html>
    EOF;
    
    	if (@mail($to, $subject, $message, $headers))
    	{
    		echo '<br/><br/><p>Your request has been sent. Thanks for your interest!</p><br/><br/><p><a href="index.htm">Click here to return to the A Dozen Trees website</a></p>';
    	}
    	else
    	{
    		echo '<br/><br/><p>An error occurred while processing your information. Please call us at 214-695-1230.</p><br/><br/><p><a href="index.htm">Click here to return to the A Dozen Trees website</a></p>';
    	}
    }
    else
    {
    
    ?>
    
    <body>
    <div id="container">
    <div id="leftcol">
    <a id="logo" href="index.htm"><em>A Dozen Trees</em></a>
    
    <h2>What We Do</h2>
    <ul id="nav">
        <li><a href="charityid.htm">charity identification</a></li>
        <li><a href="donationmgmt.htm">donation management</a></li>
    	<li><a href="reporting.htm">project reporting</a></li>
    	<li><a href="howitworks.htm">how it works</a></li>
    	<li><a href="clients.htm">featured clients</a></li>
    	<li><a href="signup.php"><strong>sign up</strong></a></li>
    </ul>
    
    <h2>About Us</h2>
    <ul id="nav">
        <li><a href="ourvision.htm">our vision</a></li>
    	<li><a href="principals.htm">principals</a></li>
    	<li><a href="adboard.htm">advisory board</a></li>
    	<li><a href="partners.htm">featured partners</a></li>
    	<li><a href="resources.htm">resources</a></li>
    </ul>
    
    <h2><a class="on" href="contact.php">Contact Us</a></h2>
    </div>
    
    <div id="rightcol">
    
    <h2>Email Us</h2>
    <p style="margin-bottom:50px;">We&rsquo;d love to hear your thoughts, questions, and comments. Please shoot us an email using the form below.</p>
    <div class="clear"><div>
    <div id="digits">
    <h3>or give us a call</h3>
    <h4>Client Services</h4>
    Alexandre Terrien<br/>
    +1 857-928-4293
    <h4>Media Contact</h4>
    Justin Wohlstadter<br/>
    +1 214-695-1230
    </div>
    
    <form id="contact" name="registration" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
      <fieldset style="border:none;">
      <table>
        <tr>
          <td class="leftCol">Name:</td>
          <td class="rightCol"><input name="customer_name" type="text" size="25" />
          </td>
        </tr>
            <tr>
          <td class="leftCol">Email:</td>
          <td class="rightCol"><input name="email" type="text" size="25" />
          </td>
        </tr>
         <tr>
          <td class="leftCol">Subject:</td>
          <td class="rightCol"><input name="subject" type="text" size="25" />
          </td>
        </tr>
      </table>
        <div id="comment"><textarea cols="55" rows="10" name="message"></textarea></div>
      </fieldset>
     <input id="submit" name="submit" type="submit" value="Send Email" />
    </form>
    
    
    </div>
    
    </div>
    
    <?php
    
    }
    
    ?>
    </body>
    </html>
    I know I need to add the following code above the submit button, but I just don't understand how to combine this with what I currently have in order for it to send the email instead of saying "You got it":
    Code:
    <?php
    
    require_once('recaptchalib.php');
    
    // Get a key from http://recaptcha.net/api/getkey
    $publickey = "Key goes here";
    $privatekey = "Key goes here";
    
    # the response from reCAPTCHA
    $resp = null;
    # the error code from reCAPTCHA, if any
    $error = null;
    
    # was there a reCAPTCHA response?
    if ($_POST["recaptcha_response_field"]) {
            $resp = recaptcha_check_answer ($privatekey,
                                            $_SERVER["REMOTE_ADDR"],
                                            $_POST["recaptcha_challenge_field"],
                                            $_POST["recaptcha_response_field"]);
    
            if ($resp->is_valid) {
                    echo "You got it!";
            } else {
                    # set the error code so that we can display it
                    $error = $resp->error;
            }
    }
    echo recaptcha_get_html($publickey, $error);
    ?>
    So can some one inform me how to combine the two properly?

    Thanks!

  2. #2
    Visible Ninja bronze trophy
    JeffWalden's Avatar
    Join Date
    Sep 2002
    Location
    Los Angeles
    Posts
    1,709
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    You'll want to include that snippet from reCAPTCHA in your form processing section.

    PHP Code:
    <!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>
     <title>a dozen trees &nbsp;|&nbsp; contact us</title>
      <style type="text/css" media="screen">@import "style.css";</style>
      <link rel="stylesheet" type="text/css" media="print" href="print.css" />
      <link rel="shortcut icon" href="favicon.ico" >
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <meta http-equiv="imagetoolbar" content="no" />
      <meta name="MSSmartTagsPreventParsing" content="true" />
      <meta name="robots" content="all" />
      <meta name="Rating" content="General" />
      <meta name="revisit-after" content="20 Days" />
    </head>
    <?php

    if (isset($_POST['submit']))
    {

    require_once(
    'recaptchalib.php');

    // Get a key from http://recaptcha.net/api/getkey
    $publickey "Key goes here";
    $privatekey "Key goes here";

    # the response from reCAPTCHA
    $resp null;
    # the error code from reCAPTCHA, if any
    $error null;

    # was there a reCAPTCHA response?
    if ($_POST["recaptcha_response_field"]) {
            
    $resp recaptcha_check_answer ($privatekey,
                                            
    $_SERVER["REMOTE_ADDR"],
                                            
    $_POST["recaptcha_challenge_field"],
                                            
    $_POST["recaptcha_response_field"]);

            if (
    $resp->is_valid) {
                    echo 
    "You got it!";
            } else {
                    
    # set the error code so that we can display it
                    
    $error $resp->error;
            }
    }
    echo 
    recaptcha_get_html($publickey$error);

        
    $to 'inquiry@adozentrees.com';
        
    $subject '12T Inquiry';
        
    $headers "From: $_POST[customer_name] <$_POST[email]>\r\n" .
            
    "MIME-Version: 1.0\r\n" .
            
    "Content-type: text/html; charset=iso-8859-1";
        
    $message = <<<EOF
    <html>
    <head>
    <title>12T Inquiry - 
    $_POST[subject]</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body>
    <font size="3" face="Helvetica, Arial, San-Serif">
    <p><strong>Subject</strong>: 
    $_POST[subject]<p>
    <p>Dear 12T,</p>
    <p>
    $_POST[message]</p>
    <p>Regards,<br>
    $_POST[customer_name]</p>
    </font>
    </body>
    </html>
    EOF;

        if (@
    mail($to$subject$message$headers))
        {
            echo 
    '<br/><br/><p>Your request has been sent. Thanks for your interest!</p><br/><br/><p><a href="index.htm">Click here to return to the A Dozen Trees website</a></p>';
        }
        else
        {
            echo 
    '<br/><br/><p>An error occurred while processing your information. Please call us at 214-695-1230.</p><br/><br/><p><a href="index.htm">Click here to return to the A Dozen Trees website</a></p>';
        }
    }
    else
    {

    ?>

    <body>
    <div id="container">
    <div id="leftcol">
    <a id="logo" href="index.htm"><em>A Dozen Trees</em></a>

    <h2>What We Do</h2>
    <ul id="nav">
        <li><a href="charityid.htm">charity identification</a></li>
        <li><a href="donationmgmt.htm">donation management</a></li>
        <li><a href="reporting.htm">project reporting</a></li>
        <li><a href="howitworks.htm">how it works</a></li>
        <li><a href="clients.htm">featured clients</a></li>
        <li><a href="signup.php"><strong>sign up</strong></a></li>
    </ul>

    <h2>About Us</h2>
    <ul id="nav">
        <li><a href="ourvision.htm">our vision</a></li>
        <li><a href="principals.htm">principals</a></li>
        <li><a href="adboard.htm">advisory board</a></li>
        <li><a href="partners.htm">featured partners</a></li>
        <li><a href="resources.htm">resources</a></li>
    </ul>

    <h2><a class="on" href="contact.php">Contact Us</a></h2>
    </div>

    <div id="rightcol">

    <h2>Email Us</h2>
    <p style="margin-bottom:50px;">We&rsquo;d love to hear your thoughts, questions, and comments. Please shoot us an email using the form below.</p>
    <div class="clear"><div>
    <div id="digits">
    <h3>or give us a call</h3>
    <h4>Client Services</h4>
    Alexandre Terrien<br/>
    +1 857-928-4293
    <h4>Media Contact</h4>
    Justin Wohlstadter<br/>
    +1 214-695-1230
    </div>

    <form id="contact" name="registration" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
      <fieldset style="border:none;">
      <table>
        <tr>
          <td class="leftCol">Name:</td>
          <td class="rightCol"><input name="customer_name" type="text" size="25" />
          </td>
        </tr>
            <tr>
          <td class="leftCol">Email:</td>
          <td class="rightCol"><input name="email" type="text" size="25" />
          </td>
        </tr>
         <tr>
          <td class="leftCol">Subject:</td>
          <td class="rightCol"><input name="subject" type="text" size="25" />
          </td>
        </tr>
      </table>
        <div id="comment"><textarea cols="55" rows="10" name="message"></textarea></div>
      </fieldset>
     <input id="submit" name="submit" type="submit" value="Send Email" />
    </form>


    </div>

    </div>

    <?php

    }

    ?>
    </body>
    </html>
    TAKE A WALK OUTSIDE YOUR MIND.

  3. #3
    SitePoint Addict
    Join Date
    Jul 2003
    Location
    Texas
    Posts
    330
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks for the reply. I tried copying and pasting that in (and adding in the keys), but no captcha appeared. Also, from the looks of what you put above, it seems like if it did appear, it would still say "you got it." Was I supposed to change something else?

  4. #4
    Visible Ninja bronze trophy
    JeffWalden's Avatar
    Join Date
    Sep 2002
    Location
    Los Angeles
    Posts
    1,709
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    My apologies... I guess it's time for more coffee! The idea is that the first part of the code actually displays the captcha device. This will always be displayed and should go in your form. The other part of the reCAPTCHA code goes in after that IF statement but before the actual processing is done. This is so that the captcha is only checked for accuracy when the form is submitted.

    Here's another go at the code (I'm still working on getting that coffee...)

    PHP Code:
    <!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>
     <title>a dozen trees &nbsp;|&nbsp; contact us</title>
      <style type="text/css" media="screen">@import "style.css";</style>
      <link rel="stylesheet" type="text/css" media="print" href="print.css" />
      <link rel="shortcut icon" href="favicon.ico" >
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <meta http-equiv="imagetoolbar" content="no" />
      <meta name="MSSmartTagsPreventParsing" content="true" />
      <meta name="robots" content="all" />
      <meta name="Rating" content="General" />
      <meta name="revisit-after" content="20 Days" />
    </head>
    <?php

    if (isset($_POST['submit']))
    {

    require_once(
    'recaptchalib.php');
    $privatekey "...";
    $resp recaptcha_check_answer ($privatekey,
                                    
    $_SERVER["REMOTE_ADDR"],
                                    
    $_POST["recaptcha_challenge_field"],
                                    
    $_POST["recaptcha_response_field"]);

    if (!
    $resp->is_valid) {
      die (
    "The reCAPTCHA wasn't entered correctly. Go back and try it again." .
           
    "(reCAPTCHA said: " $resp->error ")");
    }

        
    $to 'inquiry@adozentrees.com';
        
    $subject '12T Inquiry';
        
    $headers "From: $_POST[customer_name] <$_POST[email]>\r\n" .
            
    "MIME-Version: 1.0\r\n" .
            
    "Content-type: text/html; charset=iso-8859-1";
        
    $message = <<<EOF
    <html>
    <head>
    <title>12T Inquiry - 
    $_POST[subject]</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body>
    <font size="3" face="Helvetica, Arial, San-Serif">
    <p><strong>Subject</strong>: 
    $_POST[subject]<p>
    <p>Dear 12T,</p>
    <p>
    $_POST[message]</p>
    <p>Regards,<br>
    $_POST[customer_name]</p>
    </font>
    </body>
    </html>
    EOF;

        if (@
    mail($to$subject$message$headers))
        {
            echo 
    '<br/><br/><p>Your request has been sent. Thanks for your interest!</p><br/><br/><p><a href="index.htm">Click here to return to the A Dozen Trees website</a></p>';
        }
        else
        {
            echo 
    '<br/><br/><p>An error occurred while processing your information. Please call us at 214-695-1230.</p><br/><br/><p><a href="index.htm">Click here to return to the A Dozen Trees website</a></p>';
        }
    }
    else
    {

    ?>

    <body>
    <div id="container">
    <div id="leftcol">
    <a id="logo" href="index.htm"><em>A Dozen Trees</em></a>

    <h2>What We Do</h2>
    <ul id="nav">
        <li><a href="charityid.htm">charity identification</a></li>
        <li><a href="donationmgmt.htm">donation management</a></li>
        <li><a href="reporting.htm">project reporting</a></li>
        <li><a href="howitworks.htm">how it works</a></li>
        <li><a href="clients.htm">featured clients</a></li>
        <li><a href="signup.php"><strong>sign up</strong></a></li>
    </ul>

    <h2>About Us</h2>
    <ul id="nav">
        <li><a href="ourvision.htm">our vision</a></li>
        <li><a href="principals.htm">principals</a></li>
        <li><a href="adboard.htm">advisory board</a></li>
        <li><a href="partners.htm">featured partners</a></li>
        <li><a href="resources.htm">resources</a></li>
    </ul>

    <h2><a class="on" href="contact.php">Contact Us</a></h2>
    </div>

    <div id="rightcol">

    <h2>Email Us</h2>
    <p style="margin-bottom:50px;">We&rsquo;d love to hear your thoughts, questions, and comments. Please shoot us an email using the form below.</p>
    <div class="clear"><div>
    <div id="digits">
    <h3>or give us a call</h3>
    <h4>Client Services</h4>
    Alexandre Terrien<br/>
    +1 857-928-4293
    <h4>Media Contact</h4>
    Justin Wohlstadter<br/>
    +1 214-695-1230
    </div>

    <form id="contact" name="registration" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
      <fieldset style="border:none;">
      <table>
        <tr>
          <td class="leftCol">Name:</td>
          <td class="rightCol"><input name="customer_name" type="text" size="25" />
          </td>
        </tr>
            <tr>
          <td class="leftCol">Email:</td>
          <td class="rightCol"><input name="email" type="text" size="25" />
          </td>
        </tr>
         <tr>
          <td class="leftCol">Subject:</td>
          <td class="rightCol"><input name="subject" type="text" size="25" />
          </td>
        </tr>
         <tr>
          <td class="leftCol">Captcha:</td>
          <td class="rightCol">
    <?php require_once('recaptchalib.php');
    $publickey "..."// you got this from the signup page
    echo recaptcha_get_html($publickey); ?>
          </td>
        </tr>
      </table>
        <div id="comment"><textarea cols="55" rows="10" name="message"></textarea></div>
      </fieldset>
     <input id="submit" name="submit" type="submit" value="Send Email" />
    </form>


    </div>

    </div>

    <?php

    }

    ?>
    </body>
    </html>
    Try that and let me know how it works for you.
    TAKE A WALK OUTSIDE YOUR MIND.

  5. #5
    Visible Ninja bronze trophy
    JeffWalden's Avatar
    Join Date
    Sep 2002
    Location
    Los Angeles
    Posts
    1,709
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    By the way, you have downloaded the library file for the captcha, right?

    http://code.google.com/p/recaptcha/d...:phplib-Latest

    This should be put into the same directory as where your forms live.
    TAKE A WALK OUTSIDE YOUR MIND.

  6. #6
    SitePoint Addict
    Join Date
    Jul 2003
    Location
    Texas
    Posts
    330
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    This works perfectly, thanks! One more question though: Is there any way to present the error if they get it wrong without taking them to a new page?

  7. #7
    Visible Ninja bronze trophy
    JeffWalden's Avatar
    Join Date
    Sep 2002
    Location
    Los Angeles
    Posts
    1,709
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    Glad to hear it worked. Yes, technically speaking it is but it would involve using your own CAPTCHA code and some iframes or fancy AJAX. Someone on here with more knowledge than me may correct me, but that's my understanding.

    If getting reCAPTCHA working was a difficulty level of 3 on a scale of 1-10 then showing the error before submitting the form will be a 9.
    TAKE A WALK OUTSIDE YOUR MIND.

  8. #8
    SitePoint Addict
    Join Date
    Jul 2003
    Location
    Texas
    Posts
    330
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Got it. What about how they do it in the example file that's included in the download? The code states:
    Code:
            if ($resp->is_valid) {
                    echo "You got it!";
            } else {
                    # set the error code so that we can display it
                    $error = $resp->error;
            }
    }
    echo recaptcha_get_html($publickey, $error);
    So when you type it in wrong the text in the reCAPTCHA module the instructions change from "Type the two words" to "Incorrect. Try again."

    I tried copying what you gave me before into the first part to replace "You got it," but that didn't seem to work. Could this be a solution?

  9. #9
    Visible Ninja bronze trophy
    JeffWalden's Avatar
    Join Date
    Sep 2002
    Location
    Los Angeles
    Posts
    1,709
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    You need to remember that reCAPTCHA is written in PHP, which is a server side language. What that means is that the code you just posted with if/then statements is never sent to the browser. The server reads through the code and then compiles HTML to send to the browser.

    In order to change what the user is actually seeing as they type things one needs to use JavaScript. JavaScript is different than PHP as it is processed client side (in the browser) rather than server side (before it gets to the browser).

    If you wanted to do error checking with a captcha you would to have JavaScript that submits the value of the captcha entry and verifies it against a session that was created when the page was initially loaded. It's possible, but as far as I know not with reCAPTCHA. Finally, if the user had JavaScript disabled (about 10&#37; of users) this functionality wouldn't work anyway.
    TAKE A WALK OUTSIDE YOUR MIND.

  10. #10
    SitePoint Addict
    Join Date
    Jul 2003
    Location
    Texas
    Posts
    330
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I see what you're saying, but the example file that is in the package you download from the reCAPTCHA site has no javascript (or anything other than PHP for that matter). See for yourself here (type it wrong and you'll see what I'm talking about).

    This is all the code that is on that page:
    Code:
    <html>
      <body>
        <form action="" method="post">
        <p>hello</p>
    <?php
    
    require_once('recaptchalib.php');
    
    // Get a key from http://recaptcha.net/api/getkey
    $publickey = "...";
    $privatekey = "...";
    
    # the response from reCAPTCHA
    $resp = null;
    # the error code from reCAPTCHA, if any
    $error = null;
    
    # was there a reCAPTCHA response?
    if ($_POST["recaptcha_response_field"]) {
            $resp = recaptcha_check_answer ($privatekey,
                                            $_SERVER["REMOTE_ADDR"],
                                            $_POST["recaptcha_challenge_field"],
                                            $_POST["recaptcha_response_field"]);
    
            if ($resp->is_valid) {
                    echo "You got it!";
            } else {
                    # set the error code so that we can display it
                    $error = $resp->error;
            }
    }
    echo recaptcha_get_html($publickey, $error);
    ?>
        <br/>
        <input type="submit" value="submit" />
        </form>
      </body>
    </html>

  11. #11
    Visible Ninja bronze trophy
    JeffWalden's Avatar
    Join Date
    Sep 2002
    Location
    Los Angeles
    Posts
    1,709
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    The example that you posted gives the error message in the CAPTCHA box on the page reload. It does not present the error without loading the page.

    Am I missing your question completely?
    TAKE A WALK OUTSIDE YOUR MIND.

  12. #12
    SitePoint Addict
    Join Date
    Jul 2003
    Location
    Texas
    Posts
    330
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Ah - I didn't realize the whole page was refreshing! Nevermind then! Thanks for your help.

  13. #13
    SitePoint Member
    Join Date
    Dec 2008
    Posts
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi,

    I tried this code and it all worked out fine but when testing I sent to myself, the email shows up like this:

    PHP Code:
    Subjecttesting

    Dear CRaiGaFeR14
    ,

    hey it\'s me. just emailing to test out if it\'s working. :) -CRaiGaFeR14-

    Regards,
    dgenx210 
    When it should be like this as formatted:

    Code PHP:
    hey it's me. 
     
    just emailing to test out if it's working. :) 
     
    -CRaiGaFeR14-

    How can I fix this?

    Thanks

  14. #14
    Visible Ninja bronze trophy
    JeffWalden's Avatar
    Join Date
    Sep 2002
    Location
    Los Angeles
    Posts
    1,709
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    CRaiGaFeR14, I'm not sure I understand your question...
    TAKE A WALK OUTSIDE YOUR MIND.


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •