<!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'];
  $details = $_POST['details'];
  $contacts = $_POST['contacts'];
  $pointers = $_POST['pointers'];
  $comments = $_POST['comments'];
  $ircnick = $_POST['ircnick'];
  $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));
      $details = trim(stripslashes($details));
      $contacts = trim(stripslashes($contacts));
      $pointers = trim(stripslashes($pointers));
      $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 (!$details || $details == "") {
          $bad_elements[] = "details";
          $errors[] = "Please enter a more detailed description of your contributions.";
        }
        if ((!$contacts || $contacts == "") && $pointers == "") {
          $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 .= "irc.gnome.org nickname (if any): " . $ircnick . "\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 .= "Detailed description:\n" . $details . "\n";
        $formmail .= "\n";
        $formmail .= "Contacts:\n" . $obfuscated_contacts . "\n";
        $formmail .= "\n";
        $formmail .= "Pointers:\n" . $pointers . "\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 the delay for your application\nto be processed can be up to one month.";

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

        <tr>
          <td>irc.gnome.org nickname (if any):</td>
          <td>
            <input type="text" name="ircnick" size="20"
                   value="<?php if ($ircnick) { echo $ircnick; } ?>" />
          </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>

        <tr>
          <td colspan="2">&nbsp;</td>
        </tr>

        <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>
        Membership in the GNOME Foundation requires that the candidate has
        contributed to a non-trivial improvement in the GNOME Project. Please
        use the following sections to explain how you have contributed to the
        project, providing enough detail to allow the committee to verify your
        application.
      </p>

      <p>
        Please provide a short list of areas of GNOME to which you have made a
        non-trivial contribution (for entry into the public membership list).
        For example, "<i>Documentation, gnomecal, Debian packaging.</i>":
      </p>

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

      <p>
        Please provide a more detailed description of your contributions to
        help the membership committee determine your eligibility. In general,
        anything listed above should be explained here, and additional
        contributions can be included. For example: "<i>Wrote a chapter "How to
        Use the GNOME Calendaring System" for the GNOME Users Guide. Several
        patches for gnomecal related to color support. Packaged the 1.4 release
        for Debian.</i>":
      </p>

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

      <p>
        Please list individuals (frequently, but not necessarily, project
        maintainers and foundation members) who can help the membership 
	committee determine your eligibility. You should provide their 
	name, e-mail address, and a brief description of their role as a 
	reference. To continue the earlier example: "<i>Dan Mueth 
	(d-mueth&#64;uchicago&#46;edu) (GDP coordinator); Russell Steinthal 
	(rms39&#64;columbia&#46;edu) (gnome-pim maintainer)</i>".<br />
        <b>Beware that applications without contacts take relatively 
	longer to process.</b>
      </p>

      <textarea name="contacts" rows="5" cols="72"><?php if ($contacts) { echo $contacts; } ?></textarea>
      <p>
      If there's nobody you can think of, please list pointers to your contributions here:
      If there is nobody you can think of for contacts, feel free to 
      suggest another way for the membership committee to verify your
      contributions clearly, such as a pointer to a project ChangeLog, etc.
      For example: "<i>packaging logs at http://www.debian.org/packages/gnome/</i>"
      </p>
	<textarea name="pointers" rows="5" cols="72"><?php if ($pointers) { echo $pointers; } ?></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>

      <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>