PageSourceSearch

https://tcublog.tcu.edu.tw/index.php?op=honor

html tcu.edu.tw collected 2026-10-01 12:13:05 UTC 20,771 bytes, 417 lines download raw bytes

1<!DOCTYPE html>
2<html lang="zh-Hant-TW">
3<head>
4    <meta charset="UTF-8">
5    <meta http-equiv="cache-control" content="no-cache">
6    <meta http-equiv="pragma" content="no-cache">
7    <meta http-equiv="expires" content="0">
8    <meta name="viewport" content="width=device-width, initial-scale=1.0">
9    <meta name="description" content="" />
10    <meta http-equiv="content-language" content="zh-Hant-TW" />
11    <title>慈濟大學-校園日誌 榮譽榜</title>
12    <link rel="stylesheet" href="src/bootstrap-4.5.0/css/bootstrap.min.css">
13    <link rel="stylesheet" href="src/css/styles.css">
14    <link rel="stylesheet" href="src/fontawesome/css/all.min.css">
15    
15<script src="src/js/jquery-3.7.1.min.js"></script>
15
16    
16<script src="src/bootstrap-4.5.0/js/popper.min.js"></script>
16
17    
17<script src="src/bootstrap-4.5.0/js/bootstrap.min.js"></script>
17
18</head>
19<body><nav class="navbar sticky-top navbar-expand-lg navbar-dark bg-blue py-3">
20  <span class="navbar-brand" ><h4 style="font-weight:bold;">慈濟大學</h4></span>
21  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
22    <span class="navbar-toggler-icon"></span>
23  </button>
24
25  <div class="collapse navbar-collapse" id="navbarSupportedContent">
26    <ul class="navbar-nav mr-auto">
27      <li class="nav-item" id="school">
28        <a class="nav-link" href="index.php?op=school">校園日誌</a>
29      </li>
30      <li class="nav-item" id="honor">
31        <a class="nav-link" href="index.php?op=honor">榮譽榜</a>
32      </li>
33      <li class="nav-item" id="student">
34        <a class="nav-link" href="index.php?op=student">優秀校友</a>
35      </li>
36      <li class="nav-item" id="news">
37        <a class="nav-link" href="index.php?op=news">大愛新聞</a>
38      </li>
39      <li class="nav-item" id="overseas">
40        <a class="nav-link" href="index.php?op=overseas">海外交流</a>
41      </li>
42    </ul>
43    <form class="form-inline">
44      <!-- <button class="btn btn-success d-none d-lg-inline" type="button" onclick="$('#DescriptionModal').modal('show');"><i class="fas fa-bookmark"></i></button> -->
45      <div class="d-none d-lg-block">
46        <div class="bg-white rounded d-inline" style="height:38px;">
47          <input class="form-control search-input" type="text" name="search_string" placeholder="關鍵字" onkeypress="return EnterSearch(event)">
48          <button class="btn btn-light bg-white search-btn" style="margin-left:-4px" type="button" onclick="Search()"><i class="fas fa-search"></i></button>
49        </div>
50        <br>
51        <small class="text-white">可用多個關鍵字搜尋,需用空白將關鍵字分隔。</small>
52      </div>
53    </form>
54  </div>
55</nav>
56<div class="fixed-bottom p-1 bg-blue d-none rwd-search" id="rwd-search">
57  <div class="container">
58    <form class="bg-white rounded row m-2">
59      <div class="col p-0"><input class="form-control search-input" type="text" name="rwd_search_string" placeholder="關鍵字" onkeypress="return EnterSearch(event)"></div>
60      <div class="col-auto p-0"><button class="btn btn-light bg-white search-btn btn-block" type="button" onclick="RwdSearch()"><i class="fas fa-search"></i></button></div>
61    </form>
62  </div>
63</div>
64<nav class="navbar fixed-bottom navbar-light bg-light d-lg-none d-block border-top">
65  <div class="row">
66    <div class="col-4 text-center"><button class="btn btn-light w-100" onclick="ShowDate()"><i class="fas fa-table"></i><span class="d-md-block d-none">學年度</span></button></div>
67    <div class="col-4 text-center"><button class="btn btn-light w-100" onclick="$('#DescriptionModal').modal('show');"><i class="fas fa-bookmark"></i><span class="d-md-block d-none">說明</span></button></div>
68    <div class="col-4 text-center"><button class="btn btn-light w-100" onclick="$('#rwd-search').removeClass('d-none');"><i class="fas fa-search"></i><span class="d-md-block d-none">搜尋</span></button></div>
69  </div>
70</nav>
71<div class="modal fade" id="DescriptionModal" tabindex="-1" aria-labelledby="DescriptionModalLabel" aria-hidden="true">
72  <div class="modal-dialog">
73    <div class="modal-content">
74      <div class="modal-header">
75        <h5 class="modal-title">關鍵字搜尋規則</h5>
76        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
77          <span aria-hidden="true">&times;</span>
78        </button>
79      </div>
80      <div class="modal-body">
81        <p>可用多個關鍵字搜尋,需用空白將關鍵字分隔。</p>
82        <p>例如:「大使 學生」。</p>
83      </div>
84    </div>
85  </div>
86</div>
87<div class="container">
88    <div class="mt-5" style="font-size:1.25rem;" id="Keywords"><span class="text-danger"></span>榮譽榜</div>
89    <div class="row my-5" id="have-article">
90        <div class="col-lg-8">
91            <div id="exmple-article-card" class="d-none">
92                <div class="card card-article">
93                    <div class="card-body px-0">
94                        <div class="row">
95                            <div class="col-md-9">
96                                <a class="fw-bold article-link" href=""><h5 class="article-title">文章名稱</h5></a>
97                                <div class="card-data">
98                                    <span class="article-author"></span>
99                                </div>
100                                <div class="text-secondary card-data">
101                                    <span class="art-date">日期</span>
102                                    <span class="ml-3"><i class="fas fa-eye mr-2"></i><span class="viewNumber">點閱率</span></span>
103                                </div>
104                                <div class="mt-3 article-content">
105                                    內容簡述...
106                                </div>
107                            </div>
108                            <div class="col-md-3">
109                                <div class="img-fluid img-thumbnail art-img" loading="lazy"></div>
110                            </div>
111                        </div>
112                    </div>
113                </div>
114            </div>
115            <div id="article-cards">
116            </div>
117            <div class="my-4">
118                <div class="row d-none" id="Pick-Page">
119                    <div class="col-6">
120                        <a href="" id="Page-Prev" class="btn btn-outline-primary disabled">&laquo; 上一頁</a>
121                    </div>
122                    <div class="col-6 text-right">
123                        <a href="" id="Page-Next" class="btn btn-outline-primary">下一頁 &raquo;</a>
124                    </div>
125                </div>
126            </div>
127        </div>
128        <div class="col-lg-1"></div>
129        <div class="col-lg-3 d-none d-lg-inline">
130            <div class="list-group" id="year-group">
131            </div>
132        </div>
133    </div>
134    <div class="card mt-5 d-none" id="no-article">
135        <div class="card-body text-center">
136            <h2 class="my-5"><i class="fas fa-question"></i></h2>
137            <h4 class="my-5" style="font-weight:bold;">無符合條件的日誌。</h4>
138        </div>
139    </div>
140</div>
141<div class="modal fade" id="DateModal" tabindex="-1" aria-labelledby="DateModalLabel" aria-hidden="true">
142    <div class="modal-dialog">
143        <div class="modal-content">
144            <div class="modal-body p-0" id="media">
145                <div class="list-group" id="modal-year-group">
146                </div>
147            </div>
148        </div>
149    </div>
150</div>
151<script>
152
153    var selfUrl=decodeURI(location.href);
154    var selfUrlParams={};
155    if(selfUrl.indexOf('?')!=-1){
156        var paramsStr=selfUrl.split('?')[1];
157        var paramsArr=paramsStr.split('&');
158        for(i=0;i<paramsArr.length;i++){
159            var param=paramsArr[i].split('=');
160            selfUrlParams[param[0]]=param[1];
161        }
162    }
163
164    if(selfUrlParams.q=='' || selfUrlParams.q==undefined){
165        $('#Keywords').find('span').text('');
166    }else{
167        $('#Keywords').find('span').text('"'+selfUrlParams.q+'"');
168    }
169
170    function GetArticles(){
171        var year;
172        var Op=(selfUrlParams.op==undefined)?'':selfUrlParams.op;
173        if(Op!=''){
174            $('#'+Op).addClass('active');
175        }else{
176            $('#school').addClass('active');
177        }
178        if(selfUrlParams.q!=undefined){
179            $('input[name=search_string]').val(selfUrlParams.q.replace('+',' '));
180            $('input[name=rwd_search_string]').val(selfUrlParams.q.replace('+',' '));
181            var SearchString=selfUrlParams.q.replace('+',' ');
182        }else{
183            var SearchString=$('input[name=search_string]').val();
184        }
185        if(selfUrlParams.page!=undefined){
186            var nowPage=selfUrlParams.page;
187        }else{
188            var nowPage=1;
189        }
190        $.ajax({
191            url:'https://tcublog.tcu.edu.tw/controller/LogController.php',
192            data:{
193                OpType:'GetYears',
194                SearchString:SearchString,
195                Op:Op,
196            },
197            dataType:'json',
198            type:'GET',
199            async:false
200        })
201        .done(function(resp){
202            if(resp.data.length>0){
203                if(selfUrlParams.year!=undefined && selfUrlParams.year!=null && selfUrlParams.year!=''){
204                    year=selfUrlParams.year;
205                }else{
206                    year=resp.data[0].year;
207                }
208                years=resp.data;
209                var yearClone=$('<div>').append($('<a>').addClass('list-group-item list-group-item-action d-flex justify-content-between align-items-center').append($('<span>').addClass('year-text'),$('<span>').addClass('badge bg-primary rounded-pill text-white art-number bg-success')));
210                var modalYearClone=$('<div>').append($('<a>').addClass('list-group-item list-group-item-action d-flex justify-content-between align-items-center').append($('<span>').addClass('year-text'),$('<span>').addClass('badge bg-primary rounded-pill text-white art-number bg-success')));
211                $('#year-group').html('');
212                $('#modal-year-group').html('');
213                for(i=0;i<years.length;i++){
214                    var params='';
215                    if(selfUrlParams.op!=undefined && selfUrlParams.op!=null && selfUrlParams.op!=''){
216                        params+="op="+selfUrlParams.op+"&";
217                    }
218                    if(year==years[i].year){
219                        yearClone.find('a').addClass('active');
220                        modalYearClone.find('a').addClass('active');
221                    }else{
222                        yearClone.find('a').removeClass('active');
223                        modalYearClone.find('a').removeClass('active');
224                    }
225                    params+="year="+years[i].year+"&";
226                    if(SearchString!=''){
227                        params+="q="+SearchString.replace(' ','+')+"&";
228                    }
229                    if(params!=''){
230                        var href="index.php?"+params.substring(0,params.length-1);
231                    }
232                    yearClone.find('a').attr('href',href);
233                    yearClone.find('.year-text').text(years[i].year);
234                    yearClone.find('.art-number').text(years[i].cnt);
235                    modalYearClone.find('a').attr('href',href);
236                    modalYearClone.find('.year-text').text(years[i].year);
237                    modalYearClone.find('.art-number').text(years[i].cnt);
238                    $('#year-group').append(yearClone.html());
239                    $('#modal-year-group').append(modalYearClone.html());
240                }
241            }else{
242                year='';
243            }
244        })
245
246        $.ajax({
247            url:'https://tcublog.tcu.edu.tw/controller/LogController.php',
248            data:{
249                OpType:'GetLogs',
250                SearchString:SearchString,
251                page:nowPage,
252                Op:Op,
253                Year:year,
254            },
255            dataType:'json',
256            type:'GET'
257        })
258        .done(function(resp){
259            var nDate=Date.now();
260            var articles=resp.data;
261            var cardclone=$('#exmple-article-card').clone();
262            $('#article-cards').html('');
263            if(articles.length>0){
264                for(i=0;i<articles.length;i++){
265                    if(i<=9){
266                        cardclone.find('.article-title').text(articles[i].title);
267                        cardclone.find('.article-author').text(articles[i].author);
268                        cardclone.find('.art-date').text(articles[i].date);
269                        cardclone.find('.viewNumber').text(articles[i].cnt);
270                        cardclone.find('.article-content').text(articles[i].content);
271                        cardclone.find('.article-link').attr('href','index.php?view=article&id='+articles[i].id)
272                        if(articles[i].previewpath==null){
273                            cardclone.find('.art-img').parent().hide();
274                            cardclone.find('.col-md-9').addClass('col-12').removeClass('col-md-9');
275                        }else{
276                            cardclone.find('.art-img').parent().show();
277                            cardclone.find('.col-12').addClass('col-md-9').removeClass('col-12');
278                            cardclone.find('.art-img').css({'background-image':'url(https://tcublog.tcu.edu.tw/uploads/'+articles[i].previewpath+'?t='+nDate+'),url(https://blog.tcust.edu.tw/uploads/'+articles[i].previewpath+'?t='+nDate+')'})
279                        }
280                        $('#article-cards').append(cardclone.html());
281                    }
282                }
283                if(articles.length>=10 || (selfUrlParams.page!=undefined && selfUrlParams.page!=1)){
284                    $('#Pick-Page').removeClass('d-none');
285                    var endIndex=selfUrl.indexOf('?page=',0);
286                    if (Object.keys(selfUrlParams).length === 0 || endIndex>0) {
287                        if(endIndex>0){
288                            if(selfUrlParams.page!=undefined && selfUrlParams.page!='' && selfUrlParams.page!='1'){
289                                $('#Page-Prev').removeClass('disabled').attr('href',selfUrl.substring(0,endIndex)+'?page='+(Number(selfUrlParams.page)-1));
290                                if(articles.length>10){
291                                    $('#Page-Next').attr('href',selfUrl.substring(0,endIndex)+'?page='+(Number(selfUrlParams.page)+1));
292                                }else{
293                                    $('#Page-Next').addClass('disabled');
294                                }
295                            }else{
296                                $('#Page-Next').attr('href',selfUrl.substring(0,endIndex)+'?page='+2);
297                            }
298                        }else{
299                            if(selfUrlParams.page!=undefined && selfUrlParams.page!='' && selfUrlParams.page!='1'){
300                                $('#Page-Prev').removeClass('disabled').attr('href',selfUrl+'?page='+(Number(selfUrlParams.page)-1));
301                                if(articles.length>10){
302                                    $('#Page-Next').attr('href',selfUrl+'?page='+(Number(selfUrlParams.page)+1));
303                                }else{
304                                    $('#Page-Next').addClass('disabled');
305                                }
306                            }else{
307                                $('#Page-Next').attr('href',selfUrl+'?page='+2);
308                            }
309                        }
310                    }else{
311                        var endIndex=selfUrl.indexOf('&page=',0);
312                        if(endIndex>0){
313                            if(selfUrlParams.page!=undefined && selfUrlParams.page!='' && selfUrlParams.page!='1'){
314                                $('#Page-Prev').removeClass('disabled').attr('href',selfUrl.substring(0,endIndex)+'&page='+(Number(selfUrlParams.page)-1));
315                                if(articles.length>10){
316                                    $('#Page-Next').attr('href',selfUrl.substring(0,endIndex)+'&page='+(Number(selfUrlParams.page)+1));
317                                }else{
318                                    $('#Page-Next').addClass('disabled');
319                                }
320                            }else{
321                                $('#Page-Next').attr('href',selfUrl.substring(0,endIndex)+'&page='+2);
322                            }
323                        }else{
324                            if(selfUrlParams.page!=undefined && selfUrlParams.page!='' && selfUrlParams.page!='1'){
325                                $('#Page-Prev').removeClass('disabled').attr('href',selfUrl+'&page='+(Number(selfUrlParams.page)-1));
326                                if(articles.length>10){
327                                    $('#Page-Next').attr('href',selfUrl+'&page='+(Number(selfUrlParams.page)+1));
328                                }else{
329                                    $('#Page-Next').addClass('disabled');
330                                }
331                            }else{
332                                $('#Page-Next').attr('href',selfUrl+'&page='+2);
333                            }
334                        }
335                    }
336                }
337            }else{
338                $('#have-article').hide();
339                $('#no-article').removeClass('d-none');
340            }
341        })
342    }
343
344    function ShowDate(){
345        $('#DateModal').modal('show');
346    }
347
348    GetArticles();
349
350    function Search(){
351        var SearchString=$('input[name=search_string]').val();
352        $('input[name=rwd_search_string]').val(SearchString);
353        var selfUrl=decodeURI(location.href);
354        var selfUrlParams={};
355        if(selfUrl.indexOf('?')!=-1){
356            var paramsStr=selfUrl.split('?')[1];
357            var paramsArr=paramsStr.split('&');
358            for(i=0;i<paramsArr.length;i++){
359                var param=paramsArr[i].split('=');
360                selfUrlParams[param[0]]=param[1];
361            }
362        }
363        if(SearchString==''){
364            var endIndex=selfUrl.indexOf('&q=',0);
365            var endIndex1=selfUrl.indexOf('?q=',0);
366            if(endIndex>0){
367                location.href=selfUrl.substring(0,endIndex);
368            }else if(endIndex1>0){
369                location.href=selfUrl.substring(0,endIndex1);
370            }else{
371                location.href=selfUrl;
372            }
373            return false;
374        }else{
375            SearchString.replace(' ','+');
376            var endIndex=selfUrl.indexOf('&q=',0);
377            var endIndex1=selfUrl.indexOf('?q=',0);
378            if(endIndex>0){
379                location.href=selfUrl.substring(0,endIndex)+'&q='+SearchString;
380            }else if(endIndex1>0){
381                location.href=selfUrl.substring(0,endIndex1)+'?q='+SearchString;
382            }else{
383                if (Object.keys(selfUrlParams).length === 0) {
384                    location.href=selfUrl+'?q='+SearchString;
385                }else{
386                    var pageIndex=selfUrl.indexOf('&page=',0);
387                    var pageIndex1=selfUrl.indexOf('?page=',0);
388                    if(pageIndex>0){
389                        selfUrl=selfUrl.replace('&page='+selfUrlParams['page'],'');
390                        location.href=selfUrl+'&q='+SearchString;
391                    }else if(pageIndex1>0){
392                        selfUrl=selfUrl.replace('?page='+selfUrlParams['page'],'');
393                        location.href=selfUrl+'?q='+SearchString;
394                    }else{
395                        location.href=selfUrl+'&q='+SearchString;
396                    }
397                }
398            }
399        }
400    }
401
402    function RwdSearch(){
403        $('input[name=search_string]').val($('input[name=rwd_search_string]').val());
404        Search();
405    }
406
407    function EnterSearch(e){
408        if(e.which == 13 || e.keyCode == 13){
409            $('.form-inline')[0].submit(function(){
410                return false;
411            })
412            Search();
413            return false;
414        }
415    }
416</script>
416<script src="./src/assets/js/G-WR9D1FPPK7.js"></script>
416<script src="./src/assets/js/UA-32566647-6.js"></script>
416</body>
417</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.