Skip to content
This repository was archived by the owner on Apr 11, 2022. It is now read-only.

Commit 0f4c4bd

Browse files
authored
0.0.4.5
1 parent b04981c commit 0f4c4bd

File tree

3 files changed

+107
-64
lines changed

3 files changed

+107
-64
lines changed

Diff for: assets/integr.js

+68-61
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ var afullpage = document.querySelector('fullpage'),
77
chess = 'a-dota2smile', storageCache = _getStorage(),
88
storagePage = JSON.parse(localStorage.getItem('page')),
99
alert = document.querySelector('fullpage alert'), list = [], aflag = true,
10-
version = '0.0.4';
10+
version = '0.0.4',
11+
mode = document.location.href.match(/forum\/(.*?)\//),
12+
mode = (mode != null)? mode[1] : 'unknown',
13+
tinyMods = [ 'threads', 'conversation' ],
14+
otherMods = [ 'conversations', 'category', 'forums', 'notifications', 'settings', 'unknown' ];
1115

1216
/**
1317
* Обновление элементов сайта под текущие значения
@@ -110,70 +114,73 @@ if (localStorage.getItem('version') != version)
110114
}
111115

112116
// Переносить ради такого фунцкцию из extension не вижу смысла, плюс нужно её переделать
113-
setInterval
114-
( function () {
115-
// Получаем активный tinyMCE
116-
if (typeof tinymce !== 'undefined')
117-
{ var content = tinymce.activeEditor.contentDocument }
118-
119-
if (content)
120-
{
121-
var head = content.querySelector('head style:not(.resized)');
122-
123-
// Проверяем, существуют ли (для стабильности, проскакивает "of null")
124-
if (head)
125-
{
126-
// Добавляем стили и присваиваем класс, чтобы больше на глаза не попадался
127-
head.innerHTML += 'img[data-smile][data-shortcut="canEdit=false"] { width: auto; height: 30px; }';
128-
head.classList.add('resized');
129-
}
130-
131-
var allCont = content.querySelectorAll('img[data-smile]:not(.resized)');
117+
if (tinyMods.indexOf(mode))
118+
{
119+
setInterval
120+
( function () {
121+
// Получаем активный tinyMCE
122+
if (typeof tinymce !== 'undefined')
123+
{ var content = tinymce.activeEditor.contentDocument }
132124

133-
// Если есть неизменённые смайлы
134-
if (allCont.length > 0)
125+
if (content)
135126
{
136-
allCont.forEach(function (a) {
137-
var getter = a.dataset.shortcut,
138-
getters = getter.split('&'),
139-
list = {};
140-
141-
if (a.dataset.shortcut.indexOf('=') > -1)
142-
{
143-
getters.forEach
144-
( function (b) {
145-
b = b.split('=');
146-
147-
list[b[0]] = b[1];
148-
});
127+
var head = content.querySelector('head style:not(.resized)');
128+
129+
// Проверяем, существуют ли (для стабильности, проскакивает "of null")
130+
if (head)
131+
{
132+
// Добавляем стили и присваиваем класс, чтобы больше на глаза не попадался
133+
head.innerHTML += 'img[data-smile][data-shortcut="canEdit=false"] { width: auto; height: 30px; }';
134+
head.classList.add('resized');
135+
}
136+
137+
var allCont = content.querySelectorAll('img[data-smile]:not(.resized)');
138+
139+
// Если есть неизменённые смайлы
140+
if (allCont.length > 0)
141+
{
142+
allCont.forEach(function (a) {
143+
var getter = a.dataset.shortcut,
144+
getters = getter.split('&'),
145+
list = {};
149146

150-
// Проверяем, разрешили ли мы вообще изменять размер, мало ли
151-
if (list.canEdit == 'true')
147+
if (a.dataset.shortcut.indexOf('=') > -1)
152148
{
153-
/**
154-
* Но на всякий случай проверяем, указаны ли значения, ибо всякое бывает
155-
*/
156-
157-
a.width = (list.width != '')? list.width : a.width;
158-
a.height = (list.height != '')? list.height : a.height;
149+
getters.forEach
150+
( function (b) {
151+
b = b.split('=');
152+
153+
list[b[0]] = b[1];
154+
});
159155

160-
a.classList.add('resized');
156+
// Проверяем, разрешили ли мы вообще изменять размер, мало ли
157+
if (list.canEdit == 'true')
158+
{
159+
/**
160+
* Но на всякий случай проверяем, указаны ли значения, ибо всякое бывает
161+
*/
162+
163+
a.width = (list.width != '')? list.width : a.width;
164+
a.height = (list.height != '')? list.height : a.height;
165+
166+
a.classList.add('resized');
167+
}
168+
else
169+
{
170+
a.height = '30';
171+
a.width = a.width;
172+
}
161173
}
162174
else
163175
{
164176
a.height = '30';
165177
a.width = a.width;
166178
}
167-
}
168-
else
169-
{
170-
a.height = '30';
171-
a.width = a.width;
172-
}
173-
})
179+
})
180+
}
174181
}
175-
}
176-
}, 200);
182+
}, 200);
183+
}
177184

178185
/**
179186
* Добавление смайла в стеш окна редактора смайлов
@@ -350,12 +357,12 @@ function saveTo ()
350357
/**
351358
* Подгрузка смайлов с пака пользователя к своим смайлам
352359
*/
353-
function loadFrom ()
360+
function loadFrom (bool)
354361
{
355362
// Будет обидно, если изменения не сохранятся, верно?)
356363
save();
357364

358-
var area = document.querySelector('fullpage loadfrom textarea'),
365+
var area = (bool)? document.querySelector('div.bbCodeBlock.asmile') : document.querySelector('fullpage loadfrom textarea'),
359366
your = (typeof storageCache == 'string')? JSON.parse(storageCache) : storageCache,
360367
load = (typeof area.value == 'string')? JSON.parse(area.value) : area.value,
361368
oth = Object.assign(load, your);
@@ -400,13 +407,12 @@ function savePages ()
400407
function sendSmiles ({you, to, username})
401408
{
402409
var you = you, user = to, username = username,
403-
title = '[dota2smile] '+ you +' поделился с '+ username +' своими смайлами',
410+
title = '[dota2smile] '+ you +' поделился с '+ username,
404411
content =
405-
`<div class="bbCodeBlock bbCodeQuote">
412+
`<p><a href="https://dota2.ru/forum/threads/legalno-sozdajom-svoi-smajly-dlja-foruma.1275974/" data-mce-href="https://dota2.ru/forum/threads/legalno-sozdajom-svoi-smajly-dlja-foruma.1275974/" data-mce-selected="inline-boundary">У вас не установлено расширение для использования кастомных смайлов<br>Для продолжения проследуйте сюда.</a></p>
413+
<div class="bbCodeBlock bbCodeQuote">
406414
<blockquote class="quoteContainer">
407-
<div class="quote">
408-
<p>`+ JSON.stringify( _getStorage() ) +`</p>
409-
</div>
415+
<p>`+ JSON.stringify( _getStorage() ) +`</p>
410416
</blockquote>
411417
</div>`;
412418

@@ -426,6 +432,7 @@ function sendSmiles ({you, to, username})
426432
else
427433
{
428434
openAlert({text: 'Ошибка: некорректный никнейм пользователя'});
435+
console.log(response);
429436
}
430437
}
431438
)
@@ -458,7 +465,7 @@ function findUser ()
458465
<pass>
459466
<name><t>Имя</t> `+ username +`</name>
460467
<id><t>ID</t> `+ id +`</id>
461-
<confirmation>Это верный пользователь?</confirmation>
468+
<confirmation>При подтверждении ниже будет создана переписка с пользователем, где ему будут предоставлены смайлы и кнопка, при нажатии на которую он сможет добавить смайлы себе. Вы уверены, что это тот самый пользователь?</confirmation>
462469
<fing onclick="sendSmiles({you: '`+ you +`', to: '`+ id +`', username: '`+ username +`'})">Да, отправить</fing>
463470
</pass>`;
464471
});

Diff for: extension.css

+13-1
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,8 @@ fullpage smile-settings
273273

274274
information img
275275
{
276-
width: 128px;
276+
width: 150px;
277+
height: 150px;
277278
}
278279

279280
fullpage pass
@@ -441,4 +442,15 @@ chan finder input:last-child
441442
{
442443
margin: 0!important;
443444
background: linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%)!important;
445+
}
446+
447+
quotebutton
448+
{
449+
padding: 5px 10px;
450+
border-radius: 4px;
451+
color: #a8b5ba;
452+
background-color: #000;
453+
border: 1px solid #343434;
454+
455+
cursor: pointer;
444456
}

Diff for: extension.js

+26-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,32 @@
11
/**
22
* Переменные
33
*/
4-
let index = -2, button, tabs, name = 'Собственные', chess = 'a-dota2smile', storageCache = _getStorage(),
5-
list = [], reloadInterval = setInterval(reload, 3000);
4+
var index = -2, button, tabs, name = 'Собственные', chess = 'a-dota2smile', storageCache = _getStorage(),
5+
list = [], reloadInterval = setInterval(reload, 3000),
6+
mode = document.location.href.match(/forum\/(.*?)\//),
7+
mode = (mode != null)? mode[1] : 'unknown',
8+
tinyMods = [ 'threads', 'conversation' ],
9+
otherMods = [ 'conversations', 'category', 'forums', 'notifications', 'settings', 'unknown' ];
10+
11+
if (mode == 'conversation')
12+
{
13+
var butt = document.querySelector('blockquote.messageText.baseHtml');
14+
15+
if (butt)
16+
{
17+
if (butt.querySelector('p').innerHTML
18+
.indexOf('У вас не установлено расширение для использования кастомных смайлов') > -1)
19+
{
20+
butt.querySelector('p').outerHTML = '';
21+
butt.appendChild
22+
(dom(
23+
`<quotebutton onclick='loadFrom(true)'>
24+
Активировать себе
25+
</quotebutton>`
26+
));
27+
}
28+
}
29+
};
630

731
/**
832
* Обновление элементов и сортировка по алфавиту

0 commit comments

Comments
 (0)