| 1 |
csmall |
1.1 |
<? |
| 2 |
|
|
include("config.inc"); |
| 3 |
|
|
include("common.inc"); |
| 4 |
|
|
|
| 5 |
|
|
function email_user($db, $forename, $surname, $email,$adate) { |
| 6 |
|
|
$body = "Hello $forename $surname,\n"; |
| 7 |
|
|
$body .= "Thank you for your interest in becoming a Debian\n"; |
| 8 |
|
|
$body .= "Developer. Your name and email address has been\n"; |
| 9 |
|
|
$body .= "entered into the new maintainer database (nm.debian.org)\n"; |
| 10 |
|
|
$body .= "\n"; |
| 11 |
|
|
$body .= "This email address was entered into the Debian New Maintainer\n"; |
| 12 |
|
|
$body .= "website from IP address ". getenv(REMOTE_ADDR) . ", if you did not\n"; |
| 13 |
|
|
$body .= "apply on that website, then email new-maintainer@debian.org\n"; |
| 14 |
|
|
$body .= "asking to be removed.\n"; |
| 15 |
|
|
$body .= "\n"; |
| 16 |
csmall |
1.5 |
$body .= "Please ask your advocate to verify your application. When he has\n"; |
| 17 |
|
|
$body .= "done that, a Application Manager (AM) will be assigned to you.\n"; |
| 18 |
tbm |
1.12 |
$body .= "It may take a while until your AM contacts you regarding your\n"; |
| 19 |
csmall |
1.5 |
$body .= "application, as there are many applicants in the database.\n\n"; |
| 20 |
|
|
|
| 21 |
csmall |
1.1 |
$body .= "In the meanwhile, please review the membership\n"; |
| 22 |
|
|
$body .= "information on http://www.debian.org/devel/join/ and\n"; |
| 23 |
|
|
$body .= "http://www.debian.org/devel/join/newmaint You do\n"; |
| 24 |
|
|
$body .= "not need to send any additional information at this\n"; |
| 25 |
|
|
$body .= "time.\n"; |
| 26 |
|
|
$body .= "\n"; |
| 27 |
|
|
$body .= "Please be patient, we are working the list of\n"; |
| 28 |
|
|
$body .= "applicants as quickly as we can.\n"; |
| 29 |
|
|
|
| 30 |
|
|
$headers = "From: new-maintainer@debian.org\nReply-To: new-maintainer@debian.org\nX-Mailer: PHP/" . phpversion(); |
| 31 |
|
|
mail($email, "New Debian Maintainer: $email", $body, $headers); |
| 32 |
|
|
return TRUE; |
| 33 |
|
|
} |
| 34 |
|
|
|
| 35 |
|
|
function check_user($db, $myuser) { |
| 36 |
|
|
$sql = "SELECT * FROM applicant WHERE email='$myuser'"; |
| 37 |
|
|
if (! ($query = pg_exec($db, $sql))) { |
| 38 |
|
|
echo "Problem with interrogating database: ", pg_ErrorMessage($db), "<BR>\n"; |
| 39 |
|
|
return FALSE; |
| 40 |
|
|
} |
| 41 |
|
|
if (pg_NumRows($query) == 1) { |
| 42 |
|
|
echo "This email address already exists<BR>\n"; |
| 43 |
|
|
return FALSE; |
| 44 |
|
|
} |
| 45 |
|
|
return TRUE; |
| 46 |
|
|
} |
| 47 |
|
|
function register_user($db, $forename, $surname, $email, $adate) |
| 48 |
|
|
{ |
| 49 |
|
|
$sql = "INSERT INTO applicant (forename, surname, email, apply_date) VALUES ('$forename', '$surname', '$email', '$adate')"; |
| 50 |
|
|
|
| 51 |
|
|
if (! ($result = pg_exec($db, $sql))) { |
| 52 |
|
|
echo "Problem with interrogating database: ", pg_ErrorMessage($db), "<BR>\n"; |
| 53 |
|
|
return FALSE; |
| 54 |
|
|
} |
| 55 |
|
|
if (($tuples = pg_CmdTuples($result)) != 1) { |
| 56 |
|
|
echo "Only one row should be effected but $tuples rows were<BR>\n"; |
| 57 |
|
|
return FALSE; |
| 58 |
|
|
} |
| 59 |
|
|
return TRUE; |
| 60 |
|
|
} |
| 61 |
|
|
?> |
| 62 |
|
|
#use wml::nmpage title="Debian New Maintainer Application" |
| 63 |
|
|
<H1>New Maintainer Application</H1> |
| 64 |
|
|
<? |
| 65 |
|
|
if ($what == "new") { |
| 66 |
|
|
if ( ($db = open_db())) { |
| 67 |
|
|
|
| 68 |
|
|
$forename = trim(strip_tags($forename)); |
| 69 |
|
|
$surname = trim(strip_tags($surname)); |
| 70 |
|
|
$email = trim(strip_tags($email)); |
| 71 |
|
|
$adate = strftime('%Y-%m-%d'); |
| 72 |
|
|
|
| 73 |
csmall |
1.2 |
$errors = ""; |
| 74 |
|
|
if ( ! $dfsgcheck ) { |
| 75 |
|
|
$errors .= "<LI>You have not checked the box saying you have read and agreed to the Debian Social Contract and the DFSG.\n"; |
| 76 |
|
|
} |
| 77 |
|
|
if ( ! $idcheck ) { |
| 78 |
|
|
$errors .= "<LI>You have not checked the box saying you either have a signed GPG or a scanned and signed photo ID.\n"; |
| 79 |
|
|
} |
| 80 |
|
|
if ( ! $tnscheck ) { |
| 81 |
|
|
$errors .= "<LI>You have not checked the box saying you have either a package built or some other proof of experience in other Debian activites.\n"; |
| 82 |
|
|
} |
| 83 |
|
|
if ( ! $doccheck ) { |
| 84 |
|
|
$errors .= "<LI>You have not checked the box saying you have read the Debian developers documentation.\n"; |
| 85 |
|
|
} |
| 86 |
|
|
if ($forename == "") { $errors .= "<LI>You did not supply a first name.\n"; } |
| 87 |
|
|
if ($surname == "") { $errors .= "<LI>You did not supply a surname.\n"; } |
| 88 |
|
|
if ($email == "") { $errors .= "<LI>You did not supply an email address.\n"; } |
| 89 |
csmall |
1.4 |
# This is not an error but a warning. |
| 90 |
tbm |
1.6 |
if ( ! $advcheck && ! $errors ) { |
| 91 |
csmall |
1.4 |
echo "<P>You have not checked the box saying you have a Debian Developer advocate.\n"; |
| 92 |
|
|
echo "If an adovcate does not verify your application within two weeks, it will\n"; |
| 93 |
|
|
echo " be deleted.<BR>\n"; |
| 94 |
|
|
|
| 95 |
|
|
} |
| 96 |
csmall |
1.2 |
if ($errors != "") { |
| 97 |
|
|
echo "<P>There were problems with your application:<UL>$errors</UL><BR>\n"; |
| 98 |
|
|
} else { # fields are there |
| 99 |
csmall |
1.1 |
if (!check_user($db, $email)) { |
| 100 |
|
|
?> |
| 101 |
|
|
<P>There is something wrong with the database, or this email address is already |
| 102 |
|
|
registered. Registration failed. |
| 103 |
|
|
<? |
| 104 |
|
|
} else { #user is ok |
| 105 |
|
|
if (!register_user($db, $forename, $surname, $email,$adate)) { |
| 106 |
|
|
?> |
| 107 |
|
|
<P>Problem with registering you into the database for some reason, try again |
| 108 |
|
|
later. |
| 109 |
|
|
<? |
| 110 |
|
|
} else { #register ok |
| 111 |
tbm |
1.11 |
echo "<P>Your registration was successful! Your application date is $adate. Please ask your advocate to visit "; |
| 112 |
|
|
echo "<A HREF = \"nmadvocate.php?email="; |
| 113 |
tbm |
1.10 |
echo urlencode($email); |
| 114 |
|
|
echo "\">this web page</A> and verify your application.\n"; |
| 115 |
csmall |
1.1 |
email_user($db, $forename, $surname, $email,$adate); |
| 116 |
tbm |
1.15 |
logger($db, "", "", "APPLY", ($forename . " " . $surname), $email); |
| 117 |
csmall |
1.1 |
} #register ok |
| 118 |
|
|
} #user ok |
| 119 |
|
|
} # fields ok |
| 120 |
|
|
} # db open |
| 121 |
|
|
} else { #not called yet |
| 122 |
|
|
?> |
| 123 |
kraai |
1.7 |
<P>Thank you for your interest in Debian, if you would like to be put into |
| 124 |
csmall |
1.1 |
the new maintainer list then enter in the information below. Before you |
| 125 |
|
|
apply, you should have a look at the <A href="http://www.debian.org/devel/join/nm-checklist">Applicant's Checklist</A> |
| 126 |
|
|
to see what the Application Manager is looking for. It is a great help if |
| 127 |
|
|
you can be ready with the information that the checklist asks for |
| 128 |
|
|
<STRONG>before</STRONG> you apply. |
| 129 |
|
|
<P>There is a large backlog of applicants which means it may take some time |
| 130 |
|
|
to get you through the system. To assist applicants coming behind you, |
| 131 |
|
|
please try to be prompt in replying to your application manager. If, at the |
| 132 |
|
|
moment, outside life is busy and you cannot reply in a timely fashion, then |
| 133 |
|
|
perhaps you should hold off applying until the workload abates. |
| 134 |
|
|
<P>Finally remember all Application Managers, Front Desk members and |
| 135 |
|
|
Developer Accounts Managers are all Debian volunteers with things outside |
| 136 |
|
|
of new maintainer processing to take up their time. We are trying to |
| 137 |
|
|
be quick, but it helps if you are patient. |
| 138 |
|
|
<P> <B>-- Debian New Maintainer Committee</B> |
| 139 |
|
|
<HR> |
| 140 |
|
|
<FORM method="post" action="newnm.php"> |
| 141 |
|
|
<INPUT type="hidden" name="what" value="new"> |
| 142 |
csmall |
1.2 |
<TABLE width="90%"> |
| 143 |
|
|
<TR><TD colspan="3" ><P> |
| 144 |
|
|
Have you read the Social Contract and DFSG and agree to abide by them |
| 145 |
|
|
in your Debian-related work? (You can read them |
| 146 |
|
|
<a href="http://www.debian.org/social_contract">here</a>.)</TD> |
| 147 |
|
|
<TD><INPUT name="dfsgcheck" type="checkbox"></TD></TR> |
| 148 |
|
|
<TR><TD colspan="3" ><P> |
| 149 |
|
|
Do you yet have a GPG key signed by a current developer or some |
| 150 |
|
|
other photo ID scanned in and signed with your GPG key? (Click |
| 151 |
|
|
<a href=" http://www.debian.org/devel/join/nm-step2">here</a> |
| 152 |
|
|
for more information on this.) </TD> |
| 153 |
|
|
<TD><INPUT name="idcheck" type="checkbox"></TD></TR> |
| 154 |
|
|
<TR><TD colspan="3" ><P> |
| 155 |
|
|
If you intend to package software, do you have a Debian package you |
| 156 |
|
|
have adopted or created ready to show your AM? And if you intend to |
| 157 |
|
|
do other things (e.g. port Debian to other architectures, help with |
| 158 |
|
|
documentation, Quality Assurance or Security), do you have experience |
| 159 |
|
|
in those things which you can tell your AM about? (You may want to |
| 160 |
|
|
get sponsorship to achieve this goal. Click |
| 161 |
|
|
<a href="http://www.internatif.org/bortzmeyer/debian/sponsor">here</a> |
| 162 |
|
|
for more information on the sponsorship system.)</TD> |
| 163 |
|
|
<TD><INPUT name="tnscheck" type="checkbox"></TD></TR> |
| 164 |
|
|
<TR><TD colspan="3" ><P> |
| 165 |
|
|
Have you read the relevant documentation (Debian Policy, |
| 166 |
joy |
1.13 |
Developers' Reference, New Maintainers' Guide, etc) |
| 167 |
csmall |
1.2 |
found <a href="http://www.debian.org/devel/">here</a>?</TD> |
| 168 |
|
|
<TD><INPUT name="doccheck" type="checkbox"></TD></TR> |
| 169 |
csmall |
1.4 |
<TR><TD colspan="3"> <P> |
| 170 |
|
|
Has an existing Debian developer agreed to be an advocate and verify your |
| 171 |
tbm |
1.9 |
application? (Click |
| 172 |
|
|
<a href=" http://www.debian.org/devel/join/nm-step1">here</a> |
| 173 |
|
|
for more information on this.) |
| 174 |
csmall |
1.4 |
</TD><TD><INPUT name="advcheck" type="checkbox"></TD></TR> |
| 175 |
csmall |
1.3 |
<TR><TD colspan="4"> |
| 176 |
|
|
<P> |
| 177 |
tbm |
1.8 |
<B>PLEASE NOTE:</B> <EM>If you are unable to answer "yes" to all of the questions |
| 178 |
csmall |
1.3 |
asked, you are not yet ready to apply to the New Maintainer process. |
| 179 |
tbm |
1.8 |
If you answer "yes" anyway, your AM may choose to reject your application |
| 180 |
|
|
and tell you to apply again when you are ready.</EM> |
| 181 |
csmall |
1.3 |
</TD></TR> |
| 182 |
csmall |
1.2 |
</TABLE><HR><TABLE width="90%"> |
| 183 |
|
|
<TR><TD>First Name:</TD><TD><INPUT name="forename" type=text></TD></TR> |
| 184 |
|
|
<TR><TD>Surname:</TD> <TD><INPUT name="surname" type=text></TD></TR> |
| 185 |
|
|
<TR><TD>Email Address:</TD> <TD><INPUT name="email" type=text></TD></TR> |
| 186 |
csmall |
1.1 |
<TR><TD> </TD><TD><INPUT type="submit" value="Apply!"></TD></TR> |
| 187 |
|
|
</TABLE> |
| 188 |
|
|
</FORM> |
| 189 |
|
|
<? } # not called yet ?> |