<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>

  <head>
    <title>GNOME Foundation Membership Application</title>
    <meta name="cvsdate" content="$Date$" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  </head>

  <body>
    <h1>GNOME Foundation Membership Application</h1>
    

<?php
  $bad_elements = array();
  $errors = array();

  $submit = $_POST['submit'];
  $name = $_POST['name'];
  $email = $_POST['email'];
  $summary = $_POST['summary'];
  $contacts = $_POST['contacts'];
  $comments = $_POST['comments'];
  $cvsuser = $_POST['cvsuser'];
  $previousmember = $_POST['previousmember'];
  $spam = $_POST['spam'];

  if ($submit) {
      /* remove the slashes */
      $name = trim(stripslashes($name));
      $email = trim(stripslashes($email));
      $summary = trim(stripslashes($summary));
      $contacts = trim(stripslashes($contacts));
      $comments = trim(stripslashes($comments));

      if (!$name || $name == "") {
        $bad_elements[] = "name";
        $errors[] = "Please enter your name.";
      }
      if (!$email || !ereg("^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9_.-]+\.[a-zA-Z]+$", $email)) {
        $bad_elements[] = "email";
        $errors[] = "Please enter an email address we can use to contact you.";
      }
      $obfuscated_email = preg_replace("/@/", " AT ", $email);
      $obfuscated_contacts = preg_replace("/@/", " AT ", $contacts);
      if (!$previousmember) {
        if (!$summary || $summary == "") {
          $bad_elements[] = "summary";
          $errors[] = "Please enter a list of areas of GNOME to which you have made a non-trivial contribution.";
        }
        if (!$contacts || $contacts == "") {
          $bad_elements[] = "contacts";
          $errors[] = "Please enter a list of individuals with their e-mails who can confirm your contributions or indicate us how the Membership Committee can verify your contributions.";
        }
        if ($contacts && $contacts != "" && (strpos ($contacts, '@') === FALSE)) { 
          $bad_elements[] = "contacts";
          $errors[] = "Please provide e-mails of the contacts you've provided.";
        }
      }
      if ($spam != "not spam") {
        $bad_elements[] = "spam";
        $errors[] = "Please fill the \"not spam\" field.";
      }

      if (count($bad_elements) == 0) {
        // make the mail

        $formmail = "Contact Information:\n--------------------\n";
        $formmail .= "Name: " . $name . "\n";
        $formmail .= "E-mail: " . $obfuscated_email . "\n";
        $formmail .= "git.gnome.org username (if any): " . $cvsuser . "\n";
        $formmail .= "\n";
        $formmail .= "Previous GNOME Foundation member: ";
        if ($previousmember) {
          $formmail .= "yes\n";
        } else {
          $formmail .= "no\n";
        }
        $formmail .= "\n";
        $formmail .= "GNOME contributions:\n--------------------\n";
        $formmail .= "\n";
        $formmail .= "Summary:\n" . $summary . "\n";
        $formmail .= "\n";
        $formmail .= "Contacts:\n" . $obfuscated_contacts . "\n";
        $formmail .= "\n";
        $formmail .= "Other comments:\n---------------\n";
        $formmail .= $comments . "\n";
        $formmail .= "\n";
        $formmail .= "[Application received at " . date("D M j G:i:s Y") . " (Eastern time)]\n";
        $formmail .= "\n";
        $formmail .= "If you have any questions, you can contact the Membership Committee by\nreplying to this mail. Please note that it usually takes up to a week for an application to be fully processed.";

        $headers = "From: GNOME Foundation Membership Committee Script <membership-committee@gnome.org>\nCc: $email\n";

        if ($previousmember) {
          $subject = "[RENEWAL] Application received from $name ($obfuscated_email)";
        } else {
          $subject = "Application received from $name ($obfuscated_email)";
        }
        // send the mail

        mail("membership-applications@gnome.org", $subject, $formmail, $headers);

        // print the thank you page

        print ("
          <p>
            Thank you for your submission. It has been forwarded to the
            Membership Committee, which will inform you when it has been
            processed. The Membership Committee tries to process applications
            within a week or two after their reception.
          </p>
          <p>
            As a confirmation, you should receive your application by mail too.
          </p>
          <p>
            If you have any questions, please e-mail the <a
            href=\"mailto:membership-committee&#64;gnome&#46;org\">Membership Committee</a>.
          </p>
          <br /><br />
          <class div=\"center\">
            <a href=\"../\">Return to the GNOME Foundation home page</a>
          </div>
          ");
      }
  }

  if (! $submit || count($bad_elements) != 0) {  ?>

    <p>
      To apply for membership in the GNOME Foundation, please complete the
      following form as completely as possible. Your application will then be
      reviewed by the Foundation's Membership and Elections Committee, which
      will notify you when your application has been accepted or rejected; the
      committee may also ask you for additional information. For details on the
      standards used in evaluating applications, see the <a
      href="index.html">GNOME Foundation membership policy</a>, adopted by the
      Board of Directors.
    </p>
    <p>
     Please consider reading <a href="http://live.gnome.org/MembershipCommittee/ApplicationTips">Application Tips</a> page so as to get informed about what kind of information is helpful to make your application processed faster. 
    </p>
    <p>
      Once you have applied, you will get a ticket number per email and 
      you can see the status of your application at <a 
      href="http://www.gnome.org/rt3-stats/membership.html">the stats page</a>.
      If you have any questions regarding the application process, please feel
      free to e-mail the Committee at <a
      href="mailto:membership-committee&#64;gnome&#46;org">membership-committee&#64;gnome&#46;org</a>.
    </p>

      <?php  if (count($bad_elements) != 0) {
             print("<font color=\"red\">");
             foreach ($errors as $error) {
               print("<li>$error</li>");
             }
             print("</font>");
          }
      ?>

    <h3>Note about privacy</h3>

    <p>
      The GNOME Foundation tries to be as transparent as possible. This
      includes making it easy to find out who is a member of the Foundation
      and why an application is accepted or denied.
      Thus, all the information you will submit through this form will be
      publically available: the form will send an e-mail to a mailing list
      whose archives are publically available on the Internet and your
      application will be accessible through mail archives.
    </p>

    <form action="<?php echo $PHP_SELF; ?>" method="POST">

      <h2>Application Form</h2>
      
      <h3>Contact Information</h3>

      <table summary="Membership form">
        <tr>
          <td>Full Name:</td>
          <td>
            <input type="text" name="name" size="40"
                   value="<?php if ($name) { echo $name; } ?>" />
          </td>
        </tr>

        <tr>
          <td>Permanent E-mail address:</td>
          <td>
            <input type="text" name="email" size="40"
                   value="<?php if ($email) { echo $email; } ?>" />
          </td>
        </tr>

        <tr>
          <td>git.gnome.org username (if any):</td>
          <td>
            <input type="text" name="cvsuser" size="20"
                   value="<?php if ($cvsuser) { echo $cvsuser; } ?>" />
          </td>
        </tr>
      </table>

      <h3>Renew Option</h3>

      <p>
        If you are an existing Foundation member and would like to renew your application,
        check out the <b>"Previous GNOME Foundation member"</b> flag down here.
        Please also remember to fill out the full form even if you are renewing your application.
        (just a few details are usually fine, no need to be verbose)
      </p>
     <table>
        <tr>
          <td colspan="2">
          <input type="checkbox" name="previousmember"
                 <?php if ($previousmember) { ?> checked="checked" <?php } ?> />
            Previous GNOME Foundation member
          </td>
        </tr>
     </table>

      <h3>GNOME Contributions</h3>

      <p>
        Please provide a detailed description of all your past and present 
        contributions to help the Membership Committee determine your
        eligibility to join the Foundation. Remember that any contribution made
        for the GNOME Foundation is valid, so either if you package GNOME software
        for a certain distribution (like Debian, Ubuntu or Fedora), translate, develop,
        write documentation or simply sponsor GNOME through talks and conferences, 
        you will be definitely welcome to join the GNOME Foundation.
      </p>

      <textarea name="summary" rows="3" cols="72"><?php if ($summary) { echo $summary; } ?></textarea>

      <h3>Vouchers / Contacts Informations</h3>

      <p>
        Please list at least <b>two contacts</b> (project maintainers or most of all
        existing Foundation members) who can confirm your contributions or indicate to
        the Membership Committee the best way to verify your contributions. You should provide their
        name, a valid e-mail address to contact them, and a brief description of their role as 
        a reference. <b>Remember that two contacts are mandatory for an application to be accepted.</b>
      </p>

      <textarea name="contacts" rows="5" cols="72"><?php if ($contacts) { echo $contacts; } ?></textarea>


      <h3>Other Comments</h3>

      <p>
        Please feel free to include any additional information which you
        believe the Membership Committee should consider while reviewing your
        application:
      </p>

      <p>
      <textarea name="comments" rows="10" cols="72"><?php if ($comments) { echo $comments; } ?></textarea>
      </p>

      <h3>Anti-spam Measures</h3>

      <table summary="Antispam form">
        <tr>
          <td>Please type "not spam" here:</td>
          <td>
            <input type="text" name="spam" size="20" value="" />
          </td>
        </tr>
      </table>
      
      <p>
        <div class="center">
          <input type="submit" name="submit" value="Submit Application" />
          <input type="reset" />
        </div>
      </p>

    </form>

<?php } ?>

  </body>
</html>