/[LeafOK_CVS]/fenglin/bbs/themes/default/update_profile.view.php
ViewVC logotype

Annotation of /fenglin/bbs/themes/default/update_profile.view.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations)
Mon Apr 7 06:35:05 2025 UTC (11 months, 1 week ago) by sysadm
Branch: MAIN
Add default theme view files

1 sysadm 1.1 <?
2     // Prevent load standalone
3     if (!isset($result_set))
4     {
5     exit();
6     }
7     ?>
8     <html>
9     <head>
10     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
11     <title>更改用户资料</title>
12     <?
13     $css_file = get_theme_view_file("css", "default");
14     if ($css_file == null)
15     {
16     $css_file = "css/default.css"; // Fallback
17     }
18     ?>
19     <link rel="stylesheet" href="<? echo $css_file; ?>" type="text/css">
20     <script type="text/javascript" src="../js/nw_open.js"></script>
21     <script src="../js/polyfill.min.js"></script>
22     <script src="../js/axios.min.js"></script>
23     <script type="text/javascript">
24     function refresh_err_msg(errorFieldMap)
25     {
26     document.getElementsByName("err_msg").forEach(element => {
27     element.innerHTML = (errorFieldMap.has(element.id) ? errorFieldMap.get(element.id) : "");
28     });
29     }
30    
31     function update_profile(f)
32     {
33     instance.post('update_profile_service.php', {
34     realname: f.realname.value,
35     gender: f.gender.value,
36     gender_public: (f.gender_public.checked ? "1" : "0"),
37     email: f.email.value,
38     year: f.year.value,
39     month: f.month.value,
40     day: f.day.value,
41     qq: f.qq.value,
42     })
43     .then(function (response) {
44     var ret = response.data;
45     var errorFieldMap = new Map();
46     switch (ret.return.code)
47     {
48     case 0: // OK
49     errorFieldMap.set("err_msg_prompt", "更新成功");
50     refresh_err_msg(errorFieldMap);
51     break;
52     case -1: // Input validation failed
53     ret.return.errorFields.forEach(field => {
54     errorFieldMap.set("err_msg_" + field.id, field.errMsg + "<br />");
55     });
56     refresh_err_msg(errorFieldMap);
57     break;
58     case -2: // Internal error
59     console.log(ret.return.message);
60     errorFieldMap.set("err_msg_prompt", "内部错误");
61     refresh_err_msg(errorFieldMap);
62     break;
63     default:
64     console.log(ret.return.code);
65     break;
66     }
67     })
68     .catch(function (error) {
69     console.log(error);
70     });
71    
72     return false;
73     }
74    
75     const instance = axios.create({
76     withCredentials: true,
77     timeout: 3000,
78     baseURL: document.location.protocol + '//' + document.location.hostname + (document.location.port=='' ? '' : (':' + document.location.port)) + '/bbs/',
79     });
80    
81     window.addEventListener("load", () => {
82     var f = document.getElementById("profile_form");
83     f.addEventListener("submit", (e) => {
84     e.preventDefault();
85     update_profile(f);
86     });
87     });
88    
89     </script>
90     </head>
91     <body>
92     <?
93     // Output with theme view
94     $theme_view_file = get_theme_view_file("member_service_guide", "default");
95     if ($theme_view_file != null)
96     {
97     include $theme_view_file;
98     }
99     ?>
100     <center>
101     <p style="FONT-WEIGHT: bold; FONT-SIZE: 16px; COLOR: red; FONT-FAMILY: 楷体">更改用户资料</p>
102     <p><span id="err_msg_prompt" name="err_msg" style="color: red"></span></p>
103     <form method="post" id="profile_form" name="profile_form" action="#">
104     <table border="1" cellpadding="10" cellspacing="0" width="90%" bgcolor="#ffdead" id=TABLE1>
105     <tr>
106     <td width="26%" align="right">
107     密码
108     </td>
109     <td width="74%">
110     密码修改请<a href="reset_pass.php" target=_blank>点击此处</a>通过邮箱重置。
111     </td>
112     </tr>
113     <tr>
114     <td align="right">
115     昵称
116     </td>
117     <td>
118     <span id="err_msg_nickname" name="err_msg" style="color: red;"></span><input id="nickname" name="nickname" value="<? echo htmlspecialchars($result_set["data"]["nickname"], ENT_HTML401, 'UTF-8'); ?>" readonly>
119     <input type="button" onclick="NW_open('ch_nick.php','ch_nick',250,200);" value="修改昵称">
120     </td>
121     </tr>
122     <tr>
123     <td align="right">
124     姓名
125     </td>
126     <td>
127     <span id="err_msg_realname" name="err_msg" style="color: red;"></span><input id="realname" name="realname" value="<? echo htmlspecialchars($result_set["data"]["name"], ENT_HTML401, 'UTF-8'); ?>">
128     <span style="color: red">*</span>
129     长度不超过5个全角字符
130     </td>
131     </tr>
132     <tr>
133     <td align="right">
134     性别
135     </td>
136     <td>
137     <span id="err_msg_gender" name="err_msg" style="color: red;"></span><input type="radio" id="gender_male" name="gender" value="M" <? echo ($result_set["data"]["gender"] == "M" ? "checked" : ""); ?>>男
138     <input type="radio" id="gender_female" name="gender" value="F" <? echo ($result_set["data"]["gender"] == "F" ? "checked" : ""); ?>>女
139     <span style="color: red">*</span>
140     <input type="checkbox" id="gender_public" name="gender_public" value="1" <? echo ($result_set["data"]["gender_pub"] ? "checked" : ""); ?>>公开
141     </td>
142     </tr>
143     <tr>
144     <td align="right">
145     邮件地址
146     </td>
147     <td>
148     <span id="err_msg_email" name="err_msg" style="color: red;"></span><input id="email" name="email" value="<? echo $result_set["data"]["email"]; ?>">
149     <span style="color: red">*</span>
150     修改邮箱后,请按照确认邮件提示操作<br>
151     </td>
152     </tr>
153     <tr>
154     <td align="right">
155     出生日期
156     </td>
157     <td>
158     <span id="err_msg_birthday" name="err_msg" style="color: red;"></span><select id="year" name="year" size="1">
159     <?
160     $birthday = (new DateTimeImmutable($result_set["data"]["birthday"]));
161    
162     $year_current = intval(date("Y", time()));
163     $year_max = $year_current - 16; // Accept registrant of 16+ only
164     $year_min = $year_current - 80;
165     $year_selected = intval($birthday->format("Y"));
166     for ($year = $year_min; $year <= $year_max; $year++)
167     {
168     ?>
169     <option value="<? echo $year; ?>" <? echo ($year == $year_selected ? "selected" : ""); ?>><? echo $year; ?></option>
170     <?
171     }
172     ?>
173    
174     </select>年
175     <select id="month" name="month" size="1">
176     <?
177     $month_selected = intval($birthday->format("m"));
178     for ($month = 1; $month <= 12; $month++)
179     {
180     ?>
181     <option value="<? echo $month; ?>" <? echo ($month == $month_selected ? "selected" : ""); ?>><? echo $month; ?></option>
182     <?
183     }
184     ?>
185     </select>月
186     <select id="day" name="day" size="1">
187     <?
188     $day_selected = intval($birthday->format("d"));
189     for ($day = 1; $day <= 31; $day++)
190     {
191     ?>
192     <option value="<? echo $day; ?>" <? echo ($day == $day_selected ? "selected" : ""); ?>><? echo $day; ?></option>
193     <?
194     }
195     ?>
196     </select>日
197     <span style="color: red">*</span>
198     </td>
199     </tr>
200     <tr>
201     <td align="right">
202     QQ号码
203     </td>
204     <td>
205     <span id="err_msg_qq" name="err_msg" style="color: red;"></span><input id="qq" name="qq" size="20" value="<? echo $result_set["data"]["qq"]; ?>">
206     </td>
207     </tr>
208     </table>
209     <p>
210     <input type="submit" value="提交">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
211     <input type="reset" value="重填">
212     </p>
213     </form>
214     </center>
215     </body>
216     </html>

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1