Last modified by Super Admin on 2026/03/22 00:39

From version 1.1 Icon
edited by Super Admin
on 2026/03/05 22:05
Change comment: There is no comment for this version
To version Icon 26.1 Icon
edited by Super Admin
on 2026/03/13 16:41
Change comment: There is no comment for this version

Summary

Details

Icon Page properties
Content
... ... @@ -64,35 +64,36 @@
64 64   $response.sendRedirect($xwiki.getURL("SeitokaiCode.MyPage", "view"))
65 65  #end
66 66  
67 -= <svg class="ico" style="width:1.1em;height:1.1em;vertical-align:-0.15em;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2"/><circle cx="12" cy="7" r="4"/></svg> $profileDisplayName =
67 += $profileDisplayName =
68 68  
69 69  {{html clean="false"}}
70 70  <div class="seitokai-badge-container">
71 71   #if($profileAccountType == 'admin')
72 - <span class="badge badge-admin"><svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg> 管理者</span>
72 + <span class="badge badge-admin"><svg class="ico" viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg> 管理者</span>
73 73   #elseif($profileAccountType == 'verified')
74 - <span class="badge badge-verified"><svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg> 承認済み</span>
74 + <span class="badge badge-verified"><svg class="ico" viewBox="0 0 24 24" stroke-width="2.5"><path d="M20 6L9 17l-5-5"/></svg> 承認済み</span>
75 75   #elseif($profileAccountType == 'referred')
76 - <span class="badge badge-referred"><svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71"/></svg> 紹介</span>
76 + <span class="badge badge-referred"><svg class="ico" viewBox="0 0 24 24"><path d="M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71"/></svg> 紹介</span>
77 77   #else
78 78   <span class="badge badge-general">一般</span>
79 79   #end
80 80   #if($profileUserRole == 'student')
81 - <span class="badge badge-role-student"><svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 10l-10-5L2 10l10 5 10-5z"/><path d="M6 12v5c0 1.66 2.69 3 6 3s6-1.34 6-3v-5"/></svg> 生徒</span>
81 + <span class="badge badge-role-student"><svg class="ico" viewBox="0 0 24 24"><path d="M22 10l-10-5L2 10l10 5 10-5z"/><path d="M6 12v5c0 1.66 2.69 3 6 3s6-1.34 6-3v-5"/></svg> 生徒</span>
82 + #set($profileIsOfficer = $!targetDoc.getValue('isOfficer'))
83 + #if($profileIsOfficer == 'true')
84 + <span class="badge badge-role-officer"><svg class="ico" viewBox="0 0 24 24"><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/></svg> 役員</span>
85 + #end
82 82   #elseif($profileUserRole == 'teacher')
83 - <span class="badge badge-role-teacher"><svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 19.5A2.5 2.5 0 016.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 014 19.5v-15A2.5 2.5 0 016.5 2z"/></svg> 教員</span>
87 + <span class="badge badge-role-teacher"><svg class="ico" viewBox="0 0 24 24"><path d="M4 19.5A2.5 2.5 0 016.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 014 19.5v-15A2.5 2.5 0 016.5 2z"/></svg> 教員</span>
84 84   #elseif($profileUserRole == 'graduate')
85 - <span class="badge badge-role-graduate"><svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 10l-10-5L2 10l10 5 10-5z"/><path d="M6 12v5c0 1.66 2.69 3 6 3s6-1.34 6-3v-5"/></svg> 卒業生</span>
89 + <span class="badge badge-role-graduate"><svg class="ico" viewBox="0 0 24 24"><path d="M22 10l-10-5L2 10l10 5 10-5z"/><path d="M6 12v5c0 1.66 2.69 3 6 3s6-1.34 6-3v-5"/></svg> 卒業生</span>
86 86   #end
87 - #if($profileGrade && $profileGrade != '')
88 - <span class="badge badge-grade">$profileGrade</span>
89 - #end
90 90   #if($profileUserStatus == 'graduated')
91 - <span class="badge badge-status-graduated"><svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 10l-10-5L2 10l10 5 10-5z"/><path d="M6 12v5c0 1.66 2.69 3 6 3s6-1.34 6-3v-5"/></svg> 卒業済み</span>
92 + <span class="badge badge-status-graduated"><svg class="ico" viewBox="0 0 24 24"><path d="M22 10l-10-5L2 10l10 5 10-5z"/><path d="M6 12v5c0 1.66 2.69 3 6 3s6-1.34 6-3v-5"/></svg> 卒業済み</span>
92 92   #elseif($profileUserStatus == 'on_leave')
93 - <span class="badge badge-status-onleave"><svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24" fill="currentColor"><rect x="6" y="4" width="4" height="16" rx="1"/><rect x="14" y="4" width="4" height="16" rx="1"/></svg> 休学中</span>
94 + <span class="badge badge-status-onleave"><svg class="ico" viewBox="0 0 24 24" fill="currentColor"><rect x="6" y="4" width="4" height="16" rx="1"/><rect x="14" y="4" width="4" height="16" rx="1"/></svg> 休学中</span>
94 94   #elseif($profileUserStatus == 'transferred')
95 - <span class="badge badge-status-transferred"><svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="23 4 23 10 17 10"/><polyline points="1 20 1 14 7 14"/><path d="M3.51 9a9 9 0 0114.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0020.49 15"/></svg> 転校済み</span>
96 + <span class="badge badge-status-transferred"><svg class="ico" viewBox="0 0 24 24"><polyline points="23 4 23 10 17 10"/><polyline points="1 20 1 14 7 14"/><path d="M3.51 9a9 9 0 0114.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0020.49 15"/></svg> 転校済み</span>
96 96   #end
97 97  </div>
98 98  {{/html}}
... ... @@ -101,7 +101,7 @@
101 101  
102 102  {{html clean="false"}}
103 103  <div class="school-info-card">
104 - <h2><svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2"/><circle cx="12" cy="7" r="4"/></svg> 公開情報</h2>
105 + <h2><svg class="ico" viewBox="0 0 24 24"><path d="M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2"/><circle cx="12" cy="7" r="4"/></svg> 公開情報</h2>
105 105   <table class="wiki-table school-info-table">
106 106   <tr><th>表示名</th><td><strong>$profileDisplayName</strong></td></tr>
107 107   <tr><th>アカウント種別</th><td>
... ... @@ -118,14 +118,12 @@
118 118   </td></tr>
119 119   <tr><th>所属校</th><td>
120 120   #if($profileSchoolCode && $profileSchoolCode != '')
121 - <a href="/xwiki/bin/view/Schools/${profileSchoolCode}/WebHome">$!profileSchoolName</a>
122 + <a href="/bin/Schools/${profileSchoolCode}/WebHome">$!profileSchoolName</a>
122 122   #else
123 123   未公開
124 124   #end
125 125   </td></tr>
126 - #if($profileUserRole == 'student' && $profileGrade != '')
127 - <tr><th>学年</th><td>$profileGrade</td></tr>
128 - #end
127 + ## 学年はプライバシー保護のため公開プロフィールには表示しない
129 129   <tr><th>在籍状態</th><td>
130 130   #if($profileUserStatus == 'active')在籍中
131 131   #elseif($profileUserStatus == 'graduated')卒業済み
... ... @@ -140,7 +140,7 @@
140 140  == このユーザーの投稿・編集履歴 ==
141 141  
142 142  {{velocity}}
143 -#set($query = $services.query.xwql("where doc.author = '${targetUser}' order by doc.date desc"))
142 +#set($query = $services.query.xwql("where doc.author = :author order by doc.date desc").bindValue('author', $targetUser))
144 144  #set($query = $query.setLimit(20))
145 145  #set($results = $query.execute())
146 146  
... ... @@ -148,7 +148,7 @@
148 148  |=ページ|=日時
149 149  #foreach($docName in $results)
150 150   #set($actDoc = $xwiki.getDocument($docName))
151 -|[[$actDoc.title>>$docName]]|$xwiki.formatDate($actDoc.date, "yyyy/MM/dd HH:mm")
150 +|[[$actDoc.title>>$docName]]|$datetool.format("yyyy/MM/dd HH:mm", $actDoc.date)
152 152  #end
153 153  #else
154 154  //このユーザーの公開投稿はまだありません。//
... ... @@ -156,8 +156,8 @@
156 156  {{/velocity}}
157 157  
158 158  {{html clean="false"}}
159 -<div style="margin-top:24px; padding:14px 18px; background:#f4f5fb; border-radius:8px; font-size:0.85em; color:#4a4e6a; text-align:center;">
160 - <svg class="ico" style="width:1em;height:1em;vertical-align:-0.125em;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg> 本名・メールアドレス・警告状態などの個人情報は非公開です
158 +<div class="info-note info-note-lg" style="margin-top:24px;text-align:center;">
159 + <svg class="ico" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg> 本名・メールアドレス・警告状態などの個人情報は非公開です
161 161  </div>
162 162  {{/html}}
163 163