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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.6 - (hide annotations)
Tue Apr 8 09:27:52 2025 UTC (11 months, 1 week ago) by sysadm
Branch: MAIN
Changes since 1.5: +5 -5 lines
Refine

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 sysadm 1.4 <link rel="stylesheet" href="<? echo get_theme_file('css/default'); ?>" type="text/css">
13 sysadm 1.1 <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 sysadm 1.5 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 sysadm 1.1 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 sysadm 1.5 user_tz: f.user_tz.value,
52 sysadm 1.1 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 sysadm 1.4 include get_theme_file("view/member_service_guide");
112 sysadm 1.1 ?>
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 sysadm 1.6 <form method="post" action="#" id="preference_form" name="preference_form">
117 sysadm 1.1 <table border="1" cellpadding="10" cellspacing="0" width="90%" bgcolor="#ffdead" id="TABLE1">
118     <tr>
119 sysadm 1.5 <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 sysadm 1.1 <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 sysadm 1.6 限10行80列以内
150 sysadm 1.1 </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 sysadm 1.6 限10行80列以内
158 sysadm 1.1 </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 sysadm 1.6 限10行80列以内
166 sysadm 1.1 </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 sysadm 1.6 限10行80列以内
174 sysadm 1.1 </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