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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations)
Mon Apr 7 14:16:29 2025 UTC (11 months, 1 week ago) by sysadm
Branch: MAIN
Refact s_favor with AJAX and theme support

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     <link rel="stylesheet" href="<? echo get_theme_view_file("css"); ?>" type="text/css">
13     <script src="../js/polyfill.min.js"></script>
14     <script src="../js/axios.min.js"></script>
15     <script type="text/javascript">
16     function select_class(cid, flag)
17     {
18     for (var element of document.getElementById("class_" + cid).getElementsByTagName("input"))
19     {
20     element.checked = flag;
21     };
22     }
23    
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 s_favor_sub(f)
32     {
33     let sidList = [];
34    
35     for (const sid of f.sid_list)
36     {
37     if (sid.checked)
38     {
39     sidList.push(sid.value);
40     }
41     }
42    
43     instance.post('s_favor_sub.php', {
44     sid_list: sidList,
45     })
46     .then(function (response) {
47     var ret = response.data;
48     var errorFieldMap = new Map();
49     switch (ret.return.code)
50     {
51     case 0: // OK
52     errorFieldMap.set("err_msg_prompt", "更新成功");
53     refresh_err_msg(errorFieldMap);
54     break;
55     case -2: // Internal error
56     console.log(ret.return.message);
57     errorFieldMap.set("err_msg_prompt", "内部错误");
58     refresh_err_msg(errorFieldMap);
59     break;
60     default:
61     console.log(ret.return.code);
62     break;
63     }
64     })
65     .catch(function (error) {
66     console.log(error);
67     });
68    
69     return false;
70     }
71    
72     const instance = axios.create({
73     withCredentials: true,
74     timeout: 3000,
75     baseURL: document.location.protocol + '//' + document.location.hostname + (document.location.port=='' ? '' : (':' + document.location.port)) + '/bbs/',
76     });
77    
78     window.addEventListener("load", () => {
79     var f = document.getElementById("s_favor_form");
80     f.addEventListener("submit", (e) => {
81     e.preventDefault();
82     s_favor_sub(f);
83     });
84     });
85    
86     </script>
87     </head>
88     <body>
89     <?
90     include get_theme_view_file("member_service_guide");
91     ?>
92     <center>
93     <p align="center" style="FONT-WEIGHT: bold; FONT-SIZE: 16px; COLOR: red; FONT-FAMILY: 楷体">
94     设定版块收藏
95     </p>
96     <p>
97     <span id="err_msg_prompt" name="err_msg" style="color: red"></span>
98     </p>
99     <form method="post" action="#" id="s_favor_form" name="s_favor_form">
100     <table border="1" cellpadding="5" cellspacing="0" width="90%" bgcolor="#ffdead" id="TABLE1">
101     <?
102     foreach ($result_set["data"] as $c_index => $section_class)
103     {
104     ?>
105     <tr>
106     <td align="left">
107     <? echo $section_class["title"];?>
108     <a class="s2" href="#" onclick="return select_class(<? echo $section_class['cid'];?>, true);">全选</a>
109     <a class="s2" href="#" onclick="return select_class(<? echo $section_class['cid'];?>, false);">不选</a>
110     </td>
111     </tr>
112     <tr>
113     <td id="class_<? echo $section_class["cid"]; ?>" align="left">
114     <?
115     foreach ($section_class["sections"] as $s_index => $section)
116     {
117     ?>
118     <input type="checkbox" id="sid_list" name="sid_list[]" value="<? echo $section["sid"]; ?>" <? echo ($section["is_favor"] ? "checked" : ""); ?>><a class="s2" href="bbs.php?sid=<? echo $section["sid"]; ?>" target=_blank><? echo $section["title"]; ?></a>
119     <?
120     }
121     ?>
122     </td>
123     </tr>
124     <?
125     }
126     ?>
127     </table>
128     <p>
129     <input type="submit" value="提交" name="Submit">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
130     <input type="reset" value="重填" name="Reset">
131     </p>
132     </form>
133     </center>
134     </body>
135     </html>

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