-
Notifications
You must be signed in to change notification settings - Fork 8
/
userscript.user.js
114 lines (94 loc) · 3.6 KB
/
userscript.user.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
// ==UserScript==
// @name ExHentai Archive
// @match *://exhentai.org/*
// @match *://e-hentai.org/*
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js
// ==/UserScript==
var baseUrl = '//your.archive.url.com/';
var key = 'changeme';
function createArchiveLink(gid, token) {
var link = $('<div><a href="#">Send to archive</a></div>');
link.data('gid', gid);
link.data('token', token);
link.on('click', function() {
$.getJSON(baseUrl + 'api.php', { action: 'addgallery', gid: link.data('gid'), token: link.data('token'), key: key }, function(data, result) {
if(data.ret === true && result === 'success') {
$(link).css({
color: '#777',
pointerEvents: 'none'
});
}
else {
alert('An error occured while adding to archive');
}
});
return false;
});
return link;
}
$('div#gd5').each(function() { //archive button on gallery detail
var container = $(this);
$.getJSON(baseUrl + 'api.php', { action: 'hasgallery', gid: gid, key: key }, function(data, result) {
if(data.data.exists) {
var p = $('<p class="g2"><img src="//exhentai.org/img/mr.gif"> </p>');
var link = "";
if (data.data.deleted == 0) {
link = $('<a href="#" target="_blank">Archived</a>');
} else if (data.data.deleted >= 1) {
link = $('<a href="#">Deleted</a>');
}
if(data.data.archived && data.data.deleted == 0) {
link.prop('href', baseUrl + '?' + $.param({ action: 'gallery', id: data.data.id }));
}
else if (!data.data.archived) {
link.on('click', function() {
alert('Not yet downloaded');
return false;
});
}
link.appendTo(p);
$('.g2', container).last().after(p);
}
else {
var p = $('<p class="g2"><img src="//exhentai.org/img/mr.gif"> </p>');
var link = createArchiveLink(gid, token);
link.appendTo(p);
$('.g2', container).last().after(p);
}
});
});
$('div.itg').each(function() { //gallery search
var container = $(this);
var galleries = $('div.gl1t', container);
var gids = [ ];
galleries.each(function() {
var galleryContainer = $(this);
var link = $('a', galleryContainer).prop('href');
var bits = link.split("/");
var gid = bits[4];
var token = bits[5];
gids.push(gid);
galleryContainer.data('gid', gid);
$.getJSON(baseUrl + 'api.php', { action: 'hasgallery', gid: gid, key: key }, function(data, result) {
if (!data.data.exists) {
var link = createArchiveLink(gid, token);
link.css({ 'text-align': 'center', 'font-size': '12px' });
link.on('click', function() {
galleryContainer.css({background: 'green'});
});
link.appendTo(galleryContainer);
} else {
var res = '';
if (data.data.archived && data.data.deleted == 0) {
res = $('<div><p>Archived</p></div>');
galleryContainer.css({background: 'green'});
}
if (data.data.deleted >= 1) {
res = $('<div><p>Deleted</p></div>');
galleryContainer.css({background: '#AA0000'});
}
res.appendTo(galleryContainer);
}
});
});
});