Редактировал(а) HRlink 30.05.2025

От версии 31.1
отредактировано HRlink
на 25.09.2024
Изменить комментарий: К данной версии нет комментариев
К версии 32.1
отредактировано HRlink
на 30.05.2025
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -139,5 +139,63 @@
139 139  
140 140  Если однотипный документ необходимо отправить сразу нескольким сотрудникам, то добавьте необходимых сотрудников в документ по [[инструкции>>https://wiki.myhrlink.ru/bin/view/Main/Кадровик/Документы/Добавить%20в%20документ%20нескольких%20сотрудников%20/]] или отправьте [[документ на подпись>>https://wiki.myhrlink.ru/bin/view/Main/Кадровик/Документы/Отправить%20документ%20на%20подпись%20/]]
141 141  
142 -(% class="wikigeneratedid" id="H41443E43143043243B43543D43843543F43E43B44344743044243543B43543943243C430440448440443442AB41D43043E43743D43043A43E43C43B43543D438435BB" %)
143 -
142 +
143 +{{velocity}}
144 +#set($likesDocName = "XWiki.LikesStorage." + $doc.fullName.replaceAll("[^a-zA-Z0-9]", "_"))
145 +#set($likesDoc = $xwiki.getDocument($likesDocName))
146 +#set($likesObject = $likesDoc.getObject("XWiki.LikesStorageClass"))
147 +
148 +#if(!$likesObject)
149 + #set($discard = $likesDoc.newObject("XWiki.LikesStorageClass"))
150 + $likesDoc.set("key", $doc.fullName)
151 + $likesDoc.set("value", 0)
152 + #set($discard = $xwiki.saveDocument($likesDoc))
153 +#end
154 +
155 +#if($request.getParameter("like") == "1" && $xcontext.action != "save")
156 + #set($likes = $likesDoc.get("value"))
157 + $likesDoc.set("value", $math.add($likes, 1))
158 + #set($discard = $xwiki.saveDocument($likesDoc))
159 +#end
160 +
161 +#set($likes = $likesDoc.get("value"))
162 +{{html clean="false"}}
163 +<div id="like-container" style="margin-top:20px; display:flex; align-items:center; gap:10px;">
164 + <button id="like-button" style="cursor:pointer; font-size: 22px; background: none; border: none;" title="Лайк">
165 + 👍
166 + </button>
167 + <span id="like-count" style="font-size:18px;">$likes</span>
168 + <span style="font-size:14px; color:#555;">Нравится статья?</span>
169 +</div>
170 +<script>
171 + document.addEventListener('DOMContentLoaded', function () {
172 + const key = "$doc.fullName";
173 + const likeButton = document.getElementById('like-button');
174 +
175 + function setCookie(name, value, days) {
176 + const d = new Date();
177 + d.setTime(d.getTime() + (days*24*60*60*1000));
178 + document.cookie = name + "=" + value + "; expires=" + d.toUTCString() + "; path=/";
179 + }
180 +
181 + function getCookie(name) {
182 + const value = `; ${document.cookie}`;
183 + const parts = value.split(`; ${name}=`);
184 + if (parts.length === 2) return parts.pop().split(';').shift();
185 + }
186 +
187 + if (getCookie("liked-" + key) === "true") {
188 + likeButton.disabled = true;
189 + likeButton.style.opacity = 0.6;
190 + }
191 +
192 + likeButton.addEventListener('click', function () {
193 + if (getCookie("liked-" + key) !== "true") {
194 + setCookie("liked-" + key, "true", 365);
195 + window.location.href = window.location.href + (window.location.href.indexOf('?') > -1 ? '&' : '?') + "like=1";
196 + }
197 + });
198 + });
199 +</script>
200 +{{/html}}
201 +{{/velocity}}