2 include('common.php');
\r
4 function between($str, $strStart, $strEnd) {
\r
5 $posStart = strpos($str, $strStart);
\r
6 $posEnd = strpos($str, $strEnd, $posStart);
\r
7 return substr($str, $posStart + strlen($strStart), $posEnd - $posStart - strlen($strStart));
\r
10 if ($_SERVER['REQUEST_METHOD'] == 'GET') {
\r
11 $twitter = req('https://twitter.com/signup', false, false);
\r
12 $recaptha_params = between($twitter, 'https://api-secure.recaptcha.net/challenge', '">');
\r
13 $recaptcha = req('https://api-secure.recaptcha.net/challenge'.$recaptha_params, false, false);
\r
15 $auth_key = between($twitter, '<input name="authenticity_token" type="hidden" value="', '" />');
\r
16 $challenge = between($recaptcha, "challenge : '", "',");
\r
21 <title>Let\'s tear down this wall!</title>
\r
22 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
\r
23 <link href="style.css" media="screen" rel="stylesheet" type="text/css" />
\r
26 <form action="'.$_SERVER["REQUEST_URI"].'" method="POST">
\r
27 <input name="authenticity_token" type="hidden" value="'.$auth_key.'" />
\r
28 <input id="follow" name="follow" type="hidden" />
\r
29 <input name="recaptcha_challenge_field" type="hidden" value="'.$challenge.'" />
\r
31 <label for="user_name">姓名(可以为中文)</label><br/>
\r
32 <input autocomplete="off" class="text_field" id="user_name" name="user[name]" size="30" type="text" /><span></span>
\r
35 <label for="user_screen_name">用户名(用于登录,只能是英文字母、数字及下划线的组合)</label><br/>
\r
36 <input autocomplete="off" class="text_field" id="user_screen_name" maxlength="15" name="user[screen_name]" size="15" type="text" /><span></span>
\r
39 <label for="user_user_password">密码(至少六位)</label><br/>
\r
40 <input autocomplete="off" class="text_field" id="user_user_password" name="user[user_password]" size="30" type="password" /><span></span>
\r
43 <label for="user_email">邮箱(请填写真实邮箱,注册成功后会收到注册邮件)</label><br/>
\r
44 <input autocomplete="off" class="text_field" id="user_email" name="user[email]" size="30" type="text" /><span></span>
\r
46 <input name="user[send_email_newsletter]" type="hidden" value="1" />
\r
48 <label for="recaptcha_response_field">输入下面的两个单词(以半角空格分开)</label><br/>
\r
49 <img src="image.php?c='.$challenge.'" alt="recaptcha" /><br/>
\r
50 <input type="text" id="recaptcha_response_field" name="recaptcha_response_field" class="text_field">
\r
52 <input name="user[send_email_newsletter]" type="hidden" value="0" />
\r
53 <p><input alt="我同意。创建我的账号。" class="btn btn-m" id="user_create_submit" name="commit" onclick="this.disabled=true,this.form.submit();" type="submit" value="创建账号" /></p>
\r
55 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
\r
56 <script type="text/javascript" src="main.js"></script>
\r
59 } else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
\r
61 $fields = array( 'name', 'screen_name', 'user_password', 'email' );
\r
62 foreach ($fields as $field) {
\r
63 if (!strcmp($_POST['user'][$field], '')) {
\r
64 $error_msg = '所有选项均为必填。';
\r
68 if (!$error_msg && strlen($_POST['user']['user_password']) < 6) {
\r
69 $error_msg = '密码长度不够。';
\r
73 $r = req('https://twitter.com/account/create', @file_get_contents('php://input'), false);
\r
75 'You can\'t do that right now.' => '出现未知错误。',
\r
76 'Please try to match the 2 words shown above' => '验证码输入错误。',
\r
77 'has already been taken' => '用户名或邮箱已有人使用。',
\r
78 'is not a valid email address' => '邮箱格式不正确。'
\r
80 foreach ($err_msg as $k => $v) {
\r
81 if (strpos($r, $k) !== false) {
\r
88 echo '注册成功,请到注册的邮箱中查收邮件。';
\r
90 echo $error_msg.'请返回<a href="'.$_SERVER["REQUEST_URI"].'">注册页面</a>重试。';
\r