OSDN Git Service

embr
[embrj/master.git] / signup / index.php
1 <?php\r
2 include('common.php');\r
3 \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
8 }\r
9 \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
14     \r
15     $auth_key = between($twitter, '<input name="authenticity_token" type="hidden" value="', '" />');\r
16     $challenge = between($recaptcha, "challenge : '", "',");\r
17     echo \r
18 '<!doctype html>\r
19 <html>\r
20     <head>\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
24     </head>\r
25     <body>\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
30             <p>\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
33             <p>\r
34             <p>\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
37             </p>\r
38             <p>\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
41             </p>\r
42             <p>\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
45             </p>\r
46             <input name="user[send_email_newsletter]" type="hidden" value="1" />\r
47             <p>\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
51             </p>\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
54         </form>\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
57     </body>\r
58 </html>';\r
59 } else if ($_SERVER['REQUEST_METHOD'] == 'POST') {\r
60     $error_msg = false;\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
65             break;\r
66         }\r
67     }\r
68     if (!$error_msg && strlen($_POST['user']['user_password']) < 6) {\r
69         $error_msg = '密码长度不够。';\r
70     }\r
71 \r
72     if (!$error_msg) {\r
73         $r = req('https://twitter.com/account/create', @file_get_contents('php://input'), false);    \r
74         $err_msg = array(\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
79         );\r
80         foreach ($err_msg as $k => $v) {\r
81             if (strpos($r, $k) !== false) {\r
82                 $error_msg = $v;\r
83                 break;\r
84             }\r
85         }\r
86     }\r
87     if (!$error_msg) {\r
88         echo '注册成功,请到注册的邮箱中查收邮件。';\r
89     } else {\r
90         echo $error_msg.'请返回<a href="'.$_SERVER["REQUEST_URI"].'">注册页面</a>重试。';\r
91     }\r
92 }\r
93 ?>\r