generic-skin 2.3.2 → 2.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/vueDefault.js +3 -3
- package/apps/vueDefault.min.js +1 -1
- package/frameworks/FNRFramework.js +225 -228
- package/frameworks/FNRFramework.min.js +1 -1
- package/general.js +12 -8
- package/general.min.js +1 -1
- package/package.json +1 -1
- package/frameworks/FMHelper.js +0 -279
- package/frameworks/FMHelper.min.js +0 -1
- package/plugins/customProfile.js +0 -39
- package/plugins/customProfile.min.js +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
const FNR = {
|
|
2
|
-
execFn:
|
|
2
|
+
execFn: (callback) => {
|
|
3
3
|
document.addEventListener('forumReady', callback, false);
|
|
4
4
|
},
|
|
5
5
|
forum: {
|
|
6
|
-
getColors:
|
|
6
|
+
getColors: () => {
|
|
7
7
|
return Object.values(forumColours)
|
|
8
8
|
.map((item) => {
|
|
9
9
|
return {
|
|
@@ -12,7 +12,7 @@ const FNR = {
|
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
14
|
},
|
|
15
|
-
|
|
15
|
+
getTopics: (array, limit) => {
|
|
16
16
|
return new Promise((resolve, reject) => {
|
|
17
17
|
const addContent = (elmt) => {
|
|
18
18
|
const titleElmnt = $(elmt).find('.topictitle');
|
|
@@ -40,7 +40,7 @@ const FNR = {
|
|
|
40
40
|
const getPage = (url) => {
|
|
41
41
|
$.get(url, (data) => {
|
|
42
42
|
$(data).find('.ipbform').find('tbody').find('tr').each(function() {
|
|
43
|
-
if (finalArray.length < limit &&
|
|
43
|
+
if (finalArray.length < limit && array.indexOf(parseInt($(this).find('.row2 + .row2:not(.centered) a').attr('href').split('/f')[1].split('-')[0])) === -1) {
|
|
44
44
|
addContent(this);
|
|
45
45
|
}
|
|
46
46
|
});
|
|
@@ -58,15 +58,15 @@ const FNR = {
|
|
|
58
58
|
getPage('/latest?change_version=invision');
|
|
59
59
|
});
|
|
60
60
|
},
|
|
61
|
-
getMembers:
|
|
61
|
+
getMembers: (option) => {
|
|
62
62
|
return new Promise((resolve, reject) => {
|
|
63
63
|
let members = [];
|
|
64
64
|
|
|
65
65
|
const getUserData = (user, color) => {
|
|
66
66
|
return {
|
|
67
|
-
user: $(user).find('.
|
|
68
|
-
id: $(user).find('.
|
|
69
|
-
img: $(user).find('.avatar
|
|
67
|
+
user: $(user).find('.membername span').text().trim(),
|
|
68
|
+
id: $(user).find('.popupmenu popupmenu-item a').attr('href').split('?')[0],
|
|
69
|
+
img: $(user).find('.mini-avatar img').attr('src'),
|
|
70
70
|
color: color
|
|
71
71
|
};
|
|
72
72
|
};
|
|
@@ -74,13 +74,13 @@ const FNR = {
|
|
|
74
74
|
const getUsersPage = (page) => {
|
|
75
75
|
let users = [];
|
|
76
76
|
|
|
77
|
-
$(page).find('
|
|
78
|
-
const group = FNR.utility.getGroup($(this).find('.
|
|
77
|
+
$(page).find('.member-list .member').each(function() {
|
|
78
|
+
const group = FNR.utility.getGroup($(this).find('.membername span').attr('style').split('color:')[1]);
|
|
79
79
|
|
|
80
80
|
if (option) {
|
|
81
81
|
users.push(getUserData(this, group));
|
|
82
82
|
} else {
|
|
83
|
-
if (group !== 'unknown' && group !==
|
|
83
|
+
if (group !== 'unknown' && group !== forumConfig.skinOptions.adminGroup) {
|
|
84
84
|
users.push(getUserData(this, group));
|
|
85
85
|
}
|
|
86
86
|
}
|
|
@@ -110,21 +110,20 @@ const FNR = {
|
|
|
110
110
|
getPage('/memberlist?change_version=invision');
|
|
111
111
|
});
|
|
112
112
|
},
|
|
113
|
-
getGroups:
|
|
113
|
+
getGroups: (cache) => {
|
|
114
114
|
const getData = () => {
|
|
115
115
|
return new Promise((resolve, reject) => {
|
|
116
116
|
$.get('/groups?change_version=invision', (data) => {
|
|
117
117
|
let groups = [];
|
|
118
118
|
|
|
119
119
|
$(data).find('.group_list > li').each(function() {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}
|
|
120
|
+
groups.push({
|
|
121
|
+
id: parseInt($(this).find('a').attr('href').split('/g')[1].split('-')[0]),
|
|
122
|
+
name: $(this).find('a').text().trim(),
|
|
123
|
+
color: $(this).find('a').css('color'),
|
|
124
|
+
url: Vue.filter('url-to-normal')($(this).find('a').attr('href')),
|
|
125
|
+
count: parseInt($(this).find('div > span').text()) - 1
|
|
126
|
+
});
|
|
128
127
|
});
|
|
129
128
|
|
|
130
129
|
resolve(groups);
|
|
@@ -151,7 +150,7 @@ const FNR = {
|
|
|
151
150
|
|
|
152
151
|
return readGroupsCache();
|
|
153
152
|
},
|
|
154
|
-
getAffiliates:
|
|
153
|
+
getAffiliates: () => {
|
|
155
154
|
return new Promise((resolve, reject) => {
|
|
156
155
|
const tops = forumConfig.affiliatesMax;
|
|
157
156
|
|
|
@@ -178,111 +177,207 @@ const FNR = {
|
|
|
178
177
|
});
|
|
179
178
|
},
|
|
180
179
|
},
|
|
181
|
-
content: {
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
}
|
|
180
|
+
content: {
|
|
181
|
+
isAutosave: () => {
|
|
182
|
+
if (document.post === undefined) return false;
|
|
183
|
+
else return _userdata.user_id !== -1 && document.post.mode.value === 'reply' && document.post.t !== undefined
|
|
184
|
+
},
|
|
185
|
+
getPost: (url) => {
|
|
186
|
+
return new Promise((resolve, reject) => {
|
|
187
|
+
$.get(Vue.filter('url-to-invision')(url), (data) => {
|
|
188
|
+
const post = $(data).find("#p" + url.split("#")[1]);
|
|
189
|
+
|
|
190
|
+
resolve({
|
|
191
|
+
author: {
|
|
192
|
+
text: post.find(".author a").text(),
|
|
193
|
+
color: post.find(".author a span").css("color"),
|
|
194
|
+
url: Vue.filter('url-to-normal')(post.find(".author a").attr("href")),
|
|
195
|
+
},
|
|
196
|
+
content: post.find(".post-entry > div").html(),
|
|
197
|
+
date: post.find(".author").html().split("</a>")[1],
|
|
197
198
|
});
|
|
198
199
|
});
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
const self = data;
|
|
205
|
-
|
|
206
|
-
const processData = (data) => {
|
|
207
|
-
const getLast = (page) => {
|
|
208
|
-
return $(page).find('.post').parent().children().last().prev();
|
|
209
|
-
};
|
|
210
|
-
|
|
211
|
-
const check = getLast(data).find('.author a').text() !== '';
|
|
212
|
-
|
|
213
|
-
return {
|
|
214
|
-
author: {
|
|
215
|
-
text: (check) ? getLast(data).find('.author a').text() : 'Invitado',
|
|
216
|
-
color: (check) ? getLast(data).find('.author a span').css('color') : '#bdbdbd',
|
|
217
|
-
url: (check) ? getLast(data).find('.author a').attr('href').replace('?change_version=invision', '') : '#'
|
|
218
|
-
},
|
|
219
|
-
locate: {
|
|
220
|
-
text: $(data).find('#navstrip').find('li').last().text(),
|
|
221
|
-
url: $(data).find('#navstrip').find('li').last().find('a').attr('href').replace('?change_version=invision', '')
|
|
222
|
-
},
|
|
223
|
-
url: getLast(data).find('.postbody-head h3 a').attr('href').replace('?change_version=invision', ''),
|
|
224
|
-
content: getLast(data).find('.post-entry > div').html(),
|
|
225
|
-
date: (check) ? getLast(data).find('.author').html().split('</a>')[1].trim() : getLast(data).find('.author').html().split('Invitado')[1].trim()
|
|
226
|
-
};
|
|
227
|
-
};
|
|
200
|
+
});
|
|
201
|
+
},
|
|
202
|
+
genPost: (id, content) => {
|
|
203
|
+
return new Promise((resolve, reject) => {
|
|
204
|
+
let save = document.createElement('iframe');
|
|
228
205
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
206
|
+
save.id = 'forum-save';
|
|
207
|
+
save.src = '/post?t=' + id + '&mode=reply&change_version=invision';
|
|
208
|
+
save.width = 0;
|
|
209
|
+
save.height = 0;
|
|
210
|
+
save.onload = () => {
|
|
211
|
+
saveDOM.onload = () => {
|
|
212
|
+
$('#forum-save').remove();
|
|
213
|
+
|
|
214
|
+
console.clear();
|
|
215
|
+
|
|
216
|
+
resolve(true);
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
$('#forum-save').contents().find('.subtitle:contains("Mensaje")').next().find('textarea').val(content);
|
|
220
|
+
$('#forum-save').contents().find('.formbuttonrow.center input[value="Enviar"]').click();
|
|
221
|
+
};
|
|
222
|
+
|
|
223
|
+
document.querySelector('body > header').prepend(save);
|
|
224
|
+
|
|
225
|
+
const saveDOM = document.getElementById('forum-save');
|
|
226
|
+
});
|
|
227
|
+
},
|
|
228
|
+
genTopic: (id, name, content) => {
|
|
229
|
+
return new Promise((resolve, reject) => {
|
|
230
|
+
let save = document.createElement('iframe');
|
|
231
|
+
|
|
232
|
+
save.id = 'forum-save';
|
|
233
|
+
save.src = '/post?f=' + id + '&mode=newtopic&change_version=invision';
|
|
234
|
+
save.width = 0;
|
|
235
|
+
save.height = 0;
|
|
236
|
+
save.onload = () => {
|
|
237
|
+
saveDOM.onload = () => {
|
|
238
|
+
$('#forum-save').remove();
|
|
239
|
+
|
|
240
|
+
console.clear();
|
|
241
|
+
|
|
242
|
+
resolve(true);
|
|
243
|
+
};
|
|
244
|
+
|
|
245
|
+
$('#forum-save').contents().find('dl dt:contains("Título del tema")').parent().find('input').val(name);
|
|
246
|
+
$('#forum-save').contents().find('.subtitle:contains("Mensaje")').next().find('textarea').val(content);
|
|
247
|
+
$('#forum-save').contents().find('.formbuttonrow.center input[value="Enviar"]').click();
|
|
248
|
+
};
|
|
249
|
+
|
|
250
|
+
document.querySelector('body > header').prepend(save);
|
|
251
|
+
|
|
252
|
+
const saveDOM = document.getElementById('forum-save');
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
},
|
|
256
|
+
user: {
|
|
257
|
+
getUrl: (name) => {
|
|
258
|
+
let character =
|
|
259
|
+
name !== undefined ? encodeURIComponent(name)
|
|
260
|
+
.replace(/[!'()]/g, escape)
|
|
261
|
+
.replace(/\*/g, "%2A") :
|
|
262
|
+
_userdata.user_id;
|
|
263
|
+
|
|
264
|
+
return "/profile?mode=viewprofile&u=" + character;
|
|
265
|
+
},
|
|
266
|
+
getLevel: () => {
|
|
267
|
+
return new Promise((resolve, reject) => {
|
|
268
|
+
switch (_userdata.user_level) {
|
|
269
|
+
case 2:
|
|
270
|
+
resolve('mod');
|
|
271
|
+
case 1:
|
|
272
|
+
resolve('admin');
|
|
273
|
+
case 0:
|
|
274
|
+
return -1 == _userdata.user_id ? resolve('guest') : resolve('user');
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
},
|
|
278
|
+
getGroup: () => {
|
|
279
|
+
return new Promise((resolve, reject) => {
|
|
280
|
+
FNR.user.getLevel().then((status) => {
|
|
281
|
+
if (status === 'guest') {
|
|
282
|
+
resolve('unknown');
|
|
283
|
+
} else {
|
|
284
|
+
FNR.user.getProfile(_userdata.user_id, .25).then((data) => {
|
|
285
|
+
resolve(data['colour']);
|
|
286
|
+
});
|
|
287
|
+
}
|
|
237
288
|
});
|
|
238
|
-
}
|
|
289
|
+
});
|
|
239
290
|
},
|
|
240
|
-
|
|
241
|
-
|
|
291
|
+
getProfile: (name, time) => {
|
|
292
|
+
const character = name != undefined ? FNR.user.getUrl(name) : FNR.user.getUrl();
|
|
293
|
+
const cache = time || 5;
|
|
294
|
+
|
|
295
|
+
const processData = (content) => {
|
|
296
|
+
if (content.find('a').length) return Vue.filter('url-to-normal')(content.find('a').attr('href'));
|
|
297
|
+
else if (content.find('table').length) return content.find('table').html();
|
|
298
|
+
else if (content.find('img').length) return content.find('img').attr('src');
|
|
299
|
+
else if (content.find('textarea').length) return content.find('textarea').val();
|
|
300
|
+
else if (content.find('span').length) return content.find('span').text().trim();
|
|
301
|
+
else if (content.text().trim() === '-') return '';
|
|
302
|
+
else return content.text();
|
|
303
|
+
};
|
|
304
|
+
|
|
305
|
+
const getData = () => {
|
|
242
306
|
return new Promise((resolve, reject) => {
|
|
243
|
-
|
|
307
|
+
$.get(character + '&change_version=invision', (data) => {
|
|
308
|
+
let user = {};
|
|
244
309
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
save.onload = () => {
|
|
250
|
-
saveDOM.onload = () => {
|
|
251
|
-
$('#forum-save').remove();
|
|
310
|
+
user['name'] = $(data).find('.maintitle h1 span').text();
|
|
311
|
+
user['lastvisit'] = $(data).find('dt:contains("Última visita")').parent().find('dd').text();
|
|
312
|
+
user['colour'] = FNR.utility.getGroup($(data).find('.maintitle h1 span').css('color').replace('rgb(', 'rgb_').replace(/, /g, '_').replace(')', ''));
|
|
313
|
+
user['avatar'] = $(data).find('.real_avatar img').attr('src');
|
|
252
314
|
|
|
253
|
-
|
|
315
|
+
user['links'] = {
|
|
316
|
+
profile: '/u' + character.split('&u=')[1],
|
|
317
|
+
mp: '/privmsg?mode=post&u=' + character.split('&u=')[1],
|
|
318
|
+
};
|
|
254
319
|
|
|
255
|
-
|
|
320
|
+
user['messages'] = {
|
|
321
|
+
public: parseInt($(data).find('span:contains("Mensajes")').parent().parent().find('dd > div').text()) || 0,
|
|
322
|
+
private: parseInt($(data).find('dt:contains("Mensajes privados")').parent().find('dd').text()) || 0
|
|
256
323
|
};
|
|
257
324
|
|
|
258
|
-
|
|
259
|
-
$('#forum-save').contents().find('.subtitle:contains("Mensaje")').next().find('textarea').val(content);
|
|
260
|
-
$('#forum-save').contents().find('.formbuttonrow.center input[value="Enviar"]').click();
|
|
261
|
-
};
|
|
325
|
+
user['fields'] = {};
|
|
262
326
|
|
|
263
|
-
|
|
327
|
+
$(data).find('dl[id^="field_id"]').each(function() {
|
|
328
|
+
if ($(this).find('dt span').text() !== '') {
|
|
329
|
+
if ($(this).find('dt span').text() === 'Mensajes') return;
|
|
264
330
|
|
|
265
|
-
|
|
331
|
+
user.fields[FNR.utility.genSlug($(this).find('dt span').text())] = {
|
|
332
|
+
name: $(this).find('dt span').text(),
|
|
333
|
+
content: processData($(this).find('dd .field_uneditable'))
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
});
|
|
337
|
+
|
|
338
|
+
$(data).find('.ipbform2 > dl').each(function() {
|
|
339
|
+
if ($(this).find('dt span').length && $(this).find('dt span').text() !== '') {
|
|
340
|
+
if ($(this).find('dt span').text() === 'Mensajes') return;
|
|
341
|
+
|
|
342
|
+
user.fields[FNR.utility.genSlug($(this).find('dt span').text())] = {
|
|
343
|
+
name: $(this).find('dt span').text(),
|
|
344
|
+
content: processData($(this).find('dd'))
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
});
|
|
348
|
+
|
|
349
|
+
user.fields['rango'] = {
|
|
350
|
+
name: 'Rango',
|
|
351
|
+
content: $(data).find('dt:contains("Rango:")').parent().find('dd').text()
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
resolve(user);
|
|
355
|
+
});
|
|
266
356
|
});
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
357
|
+
};
|
|
358
|
+
|
|
359
|
+
const readUserCache = (dat) => {
|
|
360
|
+
const id = "userInfo" + dat;
|
|
361
|
+
|
|
362
|
+
return new Promise((resolve, reject) => {
|
|
363
|
+
FNR.cache.useData(id, cache).then(
|
|
364
|
+
(result) => {
|
|
365
|
+
resolve(result);
|
|
366
|
+
},
|
|
367
|
+
(err) => {
|
|
368
|
+
getData().then((data) => {
|
|
369
|
+
FNR.cache.setData(id, data);
|
|
370
|
+
|
|
371
|
+
resolve(data);
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
);
|
|
375
|
+
});
|
|
376
|
+
};
|
|
377
|
+
|
|
378
|
+
return readUserCache(name);
|
|
284
379
|
},
|
|
285
|
-
changeAccount:
|
|
380
|
+
changeAccount: (out, username, password) => {
|
|
286
381
|
return new Promise((resolve, reject) => {
|
|
287
382
|
let save = document.createElement('iframe');
|
|
288
383
|
|
|
@@ -312,16 +407,7 @@ const FNR = {
|
|
|
312
407
|
});
|
|
313
408
|
},
|
|
314
409
|
profile: {
|
|
315
|
-
|
|
316
|
-
let character =
|
|
317
|
-
name !== undefined ? encodeURIComponent(name)
|
|
318
|
-
.replace(/[!'()]/g, escape)
|
|
319
|
-
.replace(/\*/g, "%2A") :
|
|
320
|
-
_userdata.user_id;
|
|
321
|
-
|
|
322
|
-
return "/profile?mode=viewprofile&u=" + character;
|
|
323
|
-
},
|
|
324
|
-
getData: function(array) {
|
|
410
|
+
getData: (array) => {
|
|
325
411
|
return new Promise((resolve, reject) => {
|
|
326
412
|
$.get('/profile?change_version=invision&mode=editprofile', (data) => {
|
|
327
413
|
const fields = data;
|
|
@@ -386,7 +472,7 @@ const FNR = {
|
|
|
386
472
|
});
|
|
387
473
|
});
|
|
388
474
|
},
|
|
389
|
-
setData:
|
|
475
|
+
setData: (array) => {
|
|
390
476
|
return new Promise((resolve, reject) => {
|
|
391
477
|
const resolveSetter = () => {
|
|
392
478
|
$('#forum-save').remove();
|
|
@@ -450,96 +536,7 @@ const FNR = {
|
|
|
450
536
|
const saveDOM = document.getElementById('forum-save');
|
|
451
537
|
});
|
|
452
538
|
},
|
|
453
|
-
|
|
454
|
-
const character = name != undefined ? FNR.user.profile.getUrl(name) : FNR.user.profile.getUrl();
|
|
455
|
-
const cache = time || 5;
|
|
456
|
-
|
|
457
|
-
const processData = (content) => {
|
|
458
|
-
if (content.find('a').length) return Vue.filter('url-to-normal')(content.find('a').attr('href'));
|
|
459
|
-
else if (content.find('table').length) return content.find('table').html();
|
|
460
|
-
else if (content.find('img').length) return content.find('img').attr('src');
|
|
461
|
-
else if (content.find('textarea').length) return content.find('textarea').val();
|
|
462
|
-
else if (content.find('span').length) return content.find('span').text().trim();
|
|
463
|
-
else if (content.text().trim() === '-') return '';
|
|
464
|
-
else return content.text();
|
|
465
|
-
};
|
|
466
|
-
|
|
467
|
-
const getData = () => {
|
|
468
|
-
return new Promise((resolve, reject) => {
|
|
469
|
-
$.get(character + '&change_version=invision', (data) => {
|
|
470
|
-
let user = {};
|
|
471
|
-
|
|
472
|
-
user['name'] = $(data).find('.maintitle h1 span').text();
|
|
473
|
-
user['lastvisit'] = $(data).find('dt:contains("Última visita")').parent().find('dd').text();
|
|
474
|
-
user['colour'] = FNR.utility.getGroup($(data).find('.maintitle h1 span').css('color').replace('rgb(', 'rgb_').replace(/, /g, '_').replace(')', ''));
|
|
475
|
-
user['avatar'] = $(data).find('.real_avatar img').attr('src');
|
|
476
|
-
|
|
477
|
-
user['links'] = {
|
|
478
|
-
profile: '/u' + character.split('&u=')[1],
|
|
479
|
-
mp: '/privmsg?mode=post&u=' + character.split('&u=')[1],
|
|
480
|
-
};
|
|
481
|
-
|
|
482
|
-
user['messages'] = {
|
|
483
|
-
public: parseInt($(data).find('span:contains("Mensajes")').parent().parent().find('dd > div').text()) || 0,
|
|
484
|
-
private: parseInt($(data).find('dt:contains("Mensajes privados")').parent().find('dd').text()) || 0
|
|
485
|
-
};
|
|
486
|
-
|
|
487
|
-
user['fields'] = {};
|
|
488
|
-
|
|
489
|
-
$(data).find('dl[id^="field_id"]').each(function() {
|
|
490
|
-
if ($(this).find('dt span').text() !== '') {
|
|
491
|
-
if ($(this).find('dt span').text() === 'Mensajes') return;
|
|
492
|
-
|
|
493
|
-
user.fields[FNR.utility.genSlug($(this).find('dt span').text())] = {
|
|
494
|
-
name: $(this).find('dt span').text(),
|
|
495
|
-
content: processData($(this).find('dd .field_uneditable'))
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
|
-
});
|
|
499
|
-
|
|
500
|
-
$(data).find('.ipbform2 > dl').each(function() {
|
|
501
|
-
if ($(this).find('dt span').length && $(this).find('dt span').text() !== '') {
|
|
502
|
-
if ($(this).find('dt span').text() === 'Mensajes') return;
|
|
503
|
-
|
|
504
|
-
user.fields[FNR.utility.genSlug($(this).find('dt span').text())] = {
|
|
505
|
-
name: $(this).find('dt span').text(),
|
|
506
|
-
content: processData($(this).find('dd'))
|
|
507
|
-
}
|
|
508
|
-
}
|
|
509
|
-
});
|
|
510
|
-
|
|
511
|
-
user.fields['rango'] = {
|
|
512
|
-
name: 'Rango',
|
|
513
|
-
content: $(data).find('dt:contains("Rango:")').parent().find('dd').text()
|
|
514
|
-
}
|
|
515
|
-
|
|
516
|
-
resolve(user);
|
|
517
|
-
});
|
|
518
|
-
});
|
|
519
|
-
};
|
|
520
|
-
|
|
521
|
-
const readUserCache = (dat) => {
|
|
522
|
-
const id = "userInfo" + dat;
|
|
523
|
-
|
|
524
|
-
return new Promise((resolve, reject) => {
|
|
525
|
-
FNR.cache.useData(id, cache).then(
|
|
526
|
-
(result) => {
|
|
527
|
-
resolve(result);
|
|
528
|
-
},
|
|
529
|
-
(err) => {
|
|
530
|
-
getData().then((data) => {
|
|
531
|
-
FNR.cache.setData(id, data);
|
|
532
|
-
|
|
533
|
-
resolve(data);
|
|
534
|
-
});
|
|
535
|
-
}
|
|
536
|
-
);
|
|
537
|
-
});
|
|
538
|
-
};
|
|
539
|
-
|
|
540
|
-
return readUserCache(name);
|
|
541
|
-
},
|
|
542
|
-
getDrafts: function() {
|
|
539
|
+
getDrafts: () => {
|
|
543
540
|
return new Promise((resolve, reject) => {
|
|
544
541
|
$.get('/search?search_id=draftsearch&change_version=invision', (data) => {
|
|
545
542
|
if (parseFloat($(data).find('.maintitle > h3').text()) !== 0) {
|
|
@@ -571,7 +568,11 @@ const FNR = {
|
|
|
571
568
|
}
|
|
572
569
|
},
|
|
573
570
|
cache: {
|
|
574
|
-
|
|
571
|
+
getData: (id) => {
|
|
572
|
+
if (localStorage.getItem(forumData.prefix + '_' + id) === null) return false;
|
|
573
|
+
else return JSON.parse(localStorage.getItem(forumData.prefix + '_' + id)).content;
|
|
574
|
+
},
|
|
575
|
+
setData: (id, data, time) => {
|
|
575
576
|
let cur_date = time === -1 ? 'undefined' : new Date().getTime();
|
|
576
577
|
|
|
577
578
|
localStorage.setItem(
|
|
@@ -582,15 +583,11 @@ const FNR = {
|
|
|
582
583
|
})
|
|
583
584
|
);
|
|
584
585
|
},
|
|
585
|
-
|
|
586
|
-
if (localStorage.getItem(forumData.prefix + '_' + id) === null) return false;
|
|
587
|
-
else return JSON.parse(localStorage.getItem(forumData.prefix + '_' + id)).content;
|
|
588
|
-
},
|
|
589
|
-
delData: function(id) {
|
|
586
|
+
delData: (id) => {
|
|
590
587
|
if (localStorage.getItem(forumData.prefix + '_' + id) === null) return false;
|
|
591
588
|
else return localStorage.removeItem(forumData.prefix + '_' + id);
|
|
592
589
|
},
|
|
593
|
-
useData:
|
|
590
|
+
useData: (id, time) => {
|
|
594
591
|
return new Promise((resolve, reject) => {
|
|
595
592
|
let item = localStorage.getItem(forumData.prefix + '_' + id),
|
|
596
593
|
cur_date = new Date(),
|
|
@@ -605,7 +602,7 @@ const FNR = {
|
|
|
605
602
|
},
|
|
606
603
|
},
|
|
607
604
|
utility: {
|
|
608
|
-
genSlug:
|
|
605
|
+
genSlug: (text, alt) => {
|
|
609
606
|
const slug = (Q) => {
|
|
610
607
|
const R = '\xE0\xE1\xE4\xE2\xE8\xE9\xEB\xEA\xEC\xED\xEF\xEE\xF2\xF3\xF6\xF4\xF9\xFA\xFC\xFB\xF1\xE7\xB7/_,:;';
|
|
611
608
|
Q = Q.trim().toLowerCase();
|
|
@@ -617,10 +614,10 @@ const FNR = {
|
|
|
617
614
|
|
|
618
615
|
return slug(text).replace(/-/g, replace);
|
|
619
616
|
},
|
|
620
|
-
genArray:
|
|
617
|
+
genArray: (string) => {
|
|
621
618
|
return JSON.parse(string.replace(/`/g, '"'));
|
|
622
619
|
},
|
|
623
|
-
genValidation:
|
|
620
|
+
genValidation: (array) => {
|
|
624
621
|
let final = '';
|
|
625
622
|
|
|
626
623
|
[].forEach.call(array, (item) => {
|
|
@@ -641,7 +638,7 @@ const FNR = {
|
|
|
641
638
|
|
|
642
639
|
return final;
|
|
643
640
|
},
|
|
644
|
-
getGroup:
|
|
641
|
+
getGroup: (color) => {
|
|
645
642
|
const returnHexVer = (code) => {
|
|
646
643
|
let status = 'unknown';
|
|
647
644
|
|
|
@@ -670,7 +667,7 @@ const FNR = {
|
|
|
670
667
|
}
|
|
671
668
|
},
|
|
672
669
|
html: {
|
|
673
|
-
genModal:
|
|
670
|
+
genModal: (title, content, buttons) => {
|
|
674
671
|
if (title === '' || title === undefined || title === null) return;
|
|
675
672
|
if (content === '' || content === undefined || content === null) return;
|
|
676
673
|
|
|
@@ -707,7 +704,7 @@ const FNR = {
|
|
|
707
704
|
|
|
708
705
|
document.getElementById('forum-modal').innerHTML = final;
|
|
709
706
|
},
|
|
710
|
-
genPrompt:
|
|
707
|
+
genPrompt: (title, content, placeholder, text) => {
|
|
711
708
|
if (title === '' || title === undefined || title === null) return;
|
|
712
709
|
if (content === '' || content === undefined || content === null) return;
|
|
713
710
|
|
|
@@ -742,7 +739,7 @@ const FNR = {
|
|
|
742
739
|
};
|
|
743
740
|
});
|
|
744
741
|
},
|
|
745
|
-
genNotification:
|
|
742
|
+
genNotification: (title, content, icon, url) => {
|
|
746
743
|
if (title === '' || title === undefined || title === null) return;
|
|
747
744
|
if (content === '' || content === undefined || content === null) return;
|
|
748
745
|
if (content.length > 50) return;
|
|
@@ -800,7 +797,7 @@ const FNR = {
|
|
|
800
797
|
}
|
|
801
798
|
},
|
|
802
799
|
behaviour: {
|
|
803
|
-
genWiki:
|
|
800
|
+
genWiki: () => {
|
|
804
801
|
if (document.querySelector('.wiki-cascade')) {
|
|
805
802
|
[].forEach.call(document.getElementsByClassName('wiki-cascade'), (item) => {
|
|
806
803
|
item.onclick = () => {
|
|
@@ -844,7 +841,7 @@ const FNR = {
|
|
|
844
841
|
};
|
|
845
842
|
}
|
|
846
843
|
},
|
|
847
|
-
genDropeable:
|
|
844
|
+
genDropeable: () => {
|
|
848
845
|
if (document.querySelector('.is-dropeable')) {
|
|
849
846
|
[].forEach.call(document.getElementsByClassName('is-dropeable'), (item) => {
|
|
850
847
|
item.onclick = () => {
|