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

From version Icon 34.1 Icon
edited by XWikiGuest
on 2026/03/22 00:26
Change comment: There is no comment for this version
To version 1.1 Icon
edited by Super Admin
on 2026/03/05 22:05
Change comment: There is no comment for this version

Summary

Details

Icon Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.XWikiGuest
1 +XWiki.superadmin
Content
... ... @@ -64,36 +64,35 @@
64 64   $response.sendRedirect($xwiki.getURL("SeitokaiCode.MyPage", "view"))
65 65  #end
66 66  
67 -= $profileDisplayName =
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 =
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" viewBox="0 0 24 24"><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" 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>
73 73   #elseif($profileAccountType == 'verified')
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>
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>
75 75   #elseif($profileAccountType == 'referred')
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>
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>
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" 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
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>
86 86   #elseif($profileUserRole == 'teacher')
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>
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>
88 88   #elseif($profileUserRole == 'graduate')
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>
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>
90 90   #end
87 + #if($profileGrade && $profileGrade != '')
88 + <span class="badge badge-grade">$profileGrade</span>
89 + #end
91 91   #if($profileUserStatus == 'graduated')
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>
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>
93 93   #elseif($profileUserStatus == 'on_leave')
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>
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>
95 95   #elseif($profileUserStatus == 'transferred')
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>
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>
97 97   #end
98 98  </div>
99 99  {{/html}}
... ... @@ -102,7 +102,7 @@
102 102  
103 103  {{html clean="false"}}
104 104  <div class="school-info-card">
105 - <h2><span><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> 公開情報</span></h2>
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>
106 106   <table class="wiki-table school-info-table">
107 107   <tr><th>表示名</th><td><strong>$profileDisplayName</strong></td></tr>
108 108   <tr><th>アカウント種別</th><td>
... ... @@ -117,49 +117,48 @@
117 117   #elseif($profileUserRole == 'graduate')卒業生
118 118   #else$!profileUserRole#end
119 119   </td></tr>
120 - ## --- 学校情報を中学・高校・現任校ラベルで表示 ---
121 - #set($profileSecondarySchoolCode = $!targetDoc.getValue('secondarySchoolCode'))
122 - #set($profileSecondarySchoolName = $!targetDoc.getValue('secondarySchoolName'))
123 - #set($profileAlumniSchoolCode = $!targetDoc.getValue('alumniSchoolCode'))
124 - #set($profileAlumniSchoolName = $!targetDoc.getValue('alumniSchoolName'))
125 - #set($pMidCode = '')#set($pMidName = '')
126 - #set($pHiCode = '')#set($pHiName = '')
127 - #if($profileSchoolCode && $profileSchoolCode.length() >= 2)
128 - #set($pst = $profileSchoolCode.substring(0, 2))
129 - #if($pst == 'C1' || $pst == 'C2')#set($pMidCode = $profileSchoolCode)#set($pMidName = $profileSchoolName)
130 - #elseif($pst == 'D1' || $pst == 'D2')#set($pHiCode = $profileSchoolCode)#set($pHiName = $profileSchoolName)#end
131 - #end
132 - #if($profileSecondarySchoolCode && $profileSecondarySchoolCode.length() >= 2)
133 - #set($ps2t = $profileSecondarySchoolCode.substring(0, 2))
134 - #if($ps2t == 'C1' || $ps2t == 'C2')#set($pMidCode = $profileSecondarySchoolCode)#set($pMidName = $profileSecondarySchoolName)
135 - #elseif($ps2t == 'D1' || $ps2t == 'D2')#set($pHiCode = $profileSecondarySchoolCode)#set($pHiName = $profileSecondarySchoolName)#end
136 - #end
137 - #set($pIsGrad = ($profileUserRole == 'graduate'))
138 - #if($profileUserRole == 'teacher')
119 + <tr><th>所属校</th><td>
139 139   #if($profileSchoolCode && $profileSchoolCode != '')
140 - <tr><th>現任校</th><td><a href="/bin/Schools/${profileSchoolCode}/WebHome">$!profileSchoolName</a></td></tr>
121 + <a href="/xwiki/bin/view/Schools/${profileSchoolCode}/WebHome">$!profileSchoolName</a>
122 + #else
123 + 未公開
141 141   #end
142 - ## 教員の出身校を alumni から復元
143 - #if($profileAlumniSchoolCode && $profileAlumniSchoolCode.length() >= 2)
144 - #set($pat = $profileAlumniSchoolCode.substring(0, 2))
145 - #if(($pat == 'D1' || $pat == 'D2') && $pHiCode == '')#set($pHiCode = $profileAlumniSchoolCode)#set($pHiName = $profileAlumniSchoolName)#end
146 - #if(($pat == 'C1' || $pat == 'C2') && $pMidCode == '')#set($pMidCode = $profileAlumniSchoolCode)#set($pMidName = $profileAlumniSchoolName)#end
147 - #end
125 + </td></tr>
126 + #if($profileUserRole == 'student' && $profileGrade != '')
127 + <tr><th>学年</th><td>$profileGrade</td></tr>
148 148   #end
149 - #if($pMidCode != '')
150 - <tr><th>#if($pIsGrad || $profileUserRole == 'teacher')出身学#else中学校#end</th><td><a href="/bin/Schools/${pMidCode}/WebHome">$!pMidName</a></td></tr>
151 - #end
152 - #if($pHiCode != '')
153 - <tr><th>#if($pIsGrad || $profileUserRole == 'teacher')出身高校#else高等学校#end</th><td><a href="/bin/Schools/${pHiCode}/WebHome">$!pHiName</a></td></tr>
154 - #end
155 - ## 学年はプライバシー保護のため公開プロフィールには表示しない
129 + <tr><th>在籍状態</th><td>
130 + #if($profileUserStatus == 'active')在籍
131 + #elseif($profileUserStatus == 'graduated')卒業済み
132 + #elseif($profileUserStatus == 'on_leave')休学中
133 + #elseif($profileUserStatus == 'transferred')転校済み
134 + #else$!profileUserStatus#end
135 + </td></tr>
156 156   </table>
157 157  </div>
158 158  {{/html}}
159 159  
140 +== このユーザーの投稿・編集履歴 ==
141 +
142 +{{velocity}}
143 +#set($query = $services.query.xwql("where doc.author = '${targetUser}' order by doc.date desc"))
144 +#set($query = $query.setLimit(20))
145 +#set($results = $query.execute())
146 +
147 +#if($results.size() > 0)
148 +|=ページ|=日時
149 +#foreach($docName in $results)
150 + #set($actDoc = $xwiki.getDocument($docName))
151 +|[[$actDoc.title>>$docName]]|$xwiki.formatDate($actDoc.date, "yyyy/MM/dd HH:mm")
152 +#end
153 +#else
154 +//このユーザーの公開投稿はまだありません。//
155 +#end
156 +{{/velocity}}
157 +
160 160  {{html clean="false"}}
161 -<div class="info-note info-note-lg" style="margin-top:24px;text-align:center;">
162 - <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> 本名・メールアドレス・警告状態などの個人情報は非公開です
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> 本名・メールアドレス・警告状態などの個人情報は非公開です
163 163  </div>
164 164  {{/html}}
165 165