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

Contents of /fenglin/bbs/themes/default/preference.view.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.5 - (show annotations)
Tue Apr 8 01:58:33 2025 UTC (11 months, 1 week ago) by sysadm
Branch: MAIN
Changes since 1.4: +33 -0 lines
Add user TZ setting

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 <link rel="stylesheet" href="<? echo get_theme_file('css/default'); ?>" type="text/css">
13 <script type="text/javascript" src="../js/nw_open.js"></script>
14 <script src="../js/polyfill.min.js"></script>
15 <script src="../js/axios.min.js"></script>
16 <script type="text/javascript">
17 function tz_select(s, value)
18 {
19 for (i = 0; i < s.options.length; i++)
20 {
21 if (s.options[i].value == value)
22 {
23 s.options.selectedIndex = i;
24 break;
25 }
26 }
27
28 return false;
29 }
30
31 function refresh_err_msg(errorFieldMap)
32 {
33 document.getElementsByName("err_msg").forEach(element => {
34 element.innerHTML = (errorFieldMap.has(element.id) ? errorFieldMap.get(element.id) : "");
35 });
36 }
37
38 function refresh_textarea(updateFieldMap)
39 {
40 document.getElementsByName("textarea").forEach(element => {
41 if (updateFieldMap.has(element.id))
42 {
43 element.value = updateFieldMap.get(element.id);
44 }
45 });
46 }
47
48 function update_preference(f)
49 {
50 instance.post('preference_service.php', {
51 user_tz: f.user_tz.value,
52 photo: f.photo.value,
53 introduction: f.textarea_introduction.value,
54 sign_1: f.textarea_sign_1.value,
55 sign_2: f.textarea_sign_2.value,
56 sign_3: f.textarea_sign_3.value,
57 })
58 .then(function (response) {
59 var ret = response.data;
60 var errorFieldMap = new Map();
61 var updateFieldMap = new Map();
62 switch (ret.return.code)
63 {
64 case 0: // OK
65 errorFieldMap.set("err_msg_prompt", "更新成功");
66 refresh_err_msg(errorFieldMap);
67 break;
68 case -1: // Input validation failed
69 ret.return.errorFields.forEach(field => {
70 errorFieldMap.set("err_msg_" + field.id, field.errMsg + "<br />");
71 updateFieldMap.set("textarea_" + field.id, field.updateValue);
72 });
73 refresh_err_msg(errorFieldMap);
74 refresh_textarea(updateFieldMap);
75 break;
76 case -2: // Internal error
77 console.log(ret.return.message);
78 errorFieldMap.set("err_msg_prompt", "内部错误");
79 refresh_err_msg(errorFieldMap);
80 break;
81 default:
82 console.log(ret.return.code);
83 break;
84 }
85 })
86 .catch(function (error) {
87 console.log(error);
88 });
89
90 return false;
91 }
92
93 const instance = axios.create({
94 withCredentials: true,
95 timeout: 3000,
96 baseURL: document.location.protocol + '//' + document.location.hostname + (document.location.port=='' ? '' : (':' + document.location.port)) + '/bbs/',
97 });
98
99 window.addEventListener("load", () => {
100 var f = document.getElementById("preference_form");
101 f.addEventListener("submit", (e) => {
102 e.preventDefault();
103 update_preference(f);
104 });
105 });
106
107 </script>
108 </head>
109 <body>
110 <?
111 include get_theme_file("view/member_service_guide");
112 ?>
113 <center>
114 <p style="FONT-WEIGHT: bold; FONT-SIZE: 16px; COLOR: red; FONT-FAMILY: 楷体">更改个人设定</p>
115 <p><span id="err_msg_prompt" name="err_msg" style="color: red"></span></p>
116 <form method="post" action="preference_sub.php" id="preference_form" name="preference_form">
117 <table border="1" cellpadding="10" cellspacing="0" width="90%" bgcolor="#ffdead" id="TABLE1">
118 <tr>
119 <td align="right">时区设置</td>
120 <td>
121 <span id="err_msg_user_tz" name="err_msg" style="color: red;"></span>
122 <select id="user_tz" name="user_tz" size="1">
123 <?
124 $timezone_identifiers = DateTimeZone::listIdentifiers();
125 foreach ($timezone_identifiers as $tz)
126 {
127 ?>
128 <option value="<? echo $tz; ?>" <? echo ($tz == $result_set["data"]["user_tz"] ? "selected" : ""); ?>><? echo $tz; ?></option>
129 <?
130 }
131 ?>
132 </select>
133 <a class="s2" href="#" onclick="return tz_select(user_tz, '<? echo $BBS_timezone; ?>');">恢复默认</a>
134 </td>
135 </tr>
136 <tr>
137 <td width="30%" align="right">个人头像</td>
138 <td width="70%">
139 <input type="text" maxlength="3" id="photo" name="photo" size="3" value="<? echo $result_set["data"]["photo"]; ?>">
140 <a class="s2" title="查看脸谱代号" href="#" onclick="return NW_open('facelist.php', 'bbs_face', 250, 400);">查看头像代号</a>
141 <a class="s2" title="上传头像" href="#" onclick="return NW_open('upload_photo.php', 'bbs_upload_photo', 300, 300);">上传头像</a>
142 </td>
143 </tr>
144 <tr>
145 <td align="right">个人介绍</td>
146 <td>
147 <span id="err_msg_introduction" name="err_msg" style="color: red;"></span>
148 <textarea id="textarea_introduction" name="textarea" cols="80" rows="7"><? echo htmlspecialchars($result_set["data"]["introduction"], ENT_HTML401, 'UTF-8'); ?></textarea>
149 不超过10行,每行不超过40个全角字符
150 </td>
151 </tr>
152 <tr>
153 <td align="right">签名1</td>
154 <td>
155 <span id="err_msg_sign_1" name="err_msg" style="color: red;"></span>
156 <textarea id="textarea_sign_1" name="textarea" cols="80" rows="7"><? echo htmlspecialchars($result_set["data"]["sign_1"], ENT_HTML401, 'UTF-8'); ?></textarea>
157 不超过10行,每行不超过40个全角字符
158 </td>
159 </tr>
160 <tr>
161 <td align="right">签名2</td>
162 <td>
163 <span id="err_msg_sign_2" name="err_msg" style="color: red;"></span>
164 <textarea id="textarea_sign_2" name="textarea" cols="80" rows="7"><? echo htmlspecialchars($result_set["data"]["sign_2"], ENT_HTML401, 'UTF-8'); ?></textarea>
165 不超过10行,每行不超过40个全角字符
166 </td>
167 </tr>
168 <tr>
169 <td align="right">签名3</td>
170 <td>
171 <span id="err_msg_sign_3" name="err_msg" style="color: red;"></span>
172 <textarea id="textarea_sign_3" name="textarea" cols="80" rows="7"><? echo htmlspecialchars($result_set["data"]["sign_3"], ENT_HTML401, 'UTF-8'); ?></textarea>
173 不超过10行,每行不超过40个全角字符
174 </td>
175 </tr>
176 </table>
177 <p>
178 <input type="submit" value="提交" name="Submit">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
179 <input type="reset" value="重填" name="Reset">
180 </p>
181 </form>
182 </center>
183 </body>
184 </html>

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