Added proxy, added metadata parser, fixed many posters
This commit is contained in:
parent
4bbdb60f20
commit
960b7606df
|
@ -137,9 +137,10 @@ module.exports = {
|
|||
},
|
||||
"movies": {
|
||||
"cron": [
|
||||
"# 0 ~ https://api.themoviedb.org/3/movie/popular?api_key=TOKEN&page=[page] ~ results.0.id ~ https://api.themoviedb.org/3/movie/[id]?api_key=TOKEN&append_to_response=credits,external_ids ~ id <> custom.tmdb_id ~ external_ids.imdb_id <> custom.imdb_id ~ \"movie\" <> type ~ backdrop_path <> pictures ~ poster_path <> poster ~ release_date <> premiere ~ title <> title_en ~ overview <> description ~ vote_average <> rating ~ vote_count <> vote ~ genres.0.name <> genre ~ credits.cast.0.name <> actor <> 5 ~ credits.crew.0.name <> director <> <> job = Director ~ production_countries.0.name <> country",
|
||||
"# 0 ~ https://api.themoviedb.org/3/tv/popular?api_key=TOKEN&page=[page] ~ results.0.id ~ https://api.themoviedb.org/3/tv/[id]?api_key=TOKEN&append_to_response=credits,external_ids ~ id <> custom.tmdb_id ~ external_ids.imdb_id <> custom.imdb_id ~ \"tv\" <> type ~ backdrop_path <> pictures ~ poster_path <> poster ~ first_air_date <> premiere ~ name <> title_en ~ overview <> description ~ vote_average <> rating ~ vote_count <> vote ~ genres.0.name <> genre ~ credits.cast.0.name <> actor <> 5 ~ credits.crew.0.name <> director <> <> job = Director ~ production_countries.0.name <> country"
|
||||
]
|
||||
"# 0 ~ https://api.themoviedb.org/3/movie/popular?api_key=TOKEN&page=[page] ~ results.0.id ~ https://api.themoviedb.org/3/movie/[id]?api_key=TOKEN&append_to_response=credits,external_ids ~ id <> custom.tmdb_id ~ external_ids.imdb_id <> custom.imdb_id ~ \"movie\" <> type ~ backdrop_path <> pictures ~ poster_path <> poster ~ release_date <> premiere ~ title <> title_en ~ overview <> description ~ vote_average <> rating ~ vote_count <> vote ~ genres.0.name <> genre ~ credits.cast.0.name <> actor <> 5 ~ credits.crew.0.name <> director <> <> job == Director ~ production_countries.0.name <> country",
|
||||
"# 0 ~ https://api.themoviedb.org/3/tv/popular?api_key=TOKEN&page=[page] ~ results.0.id ~ https://api.themoviedb.org/3/tv/[id]?api_key=TOKEN&append_to_response=credits,external_ids ~ id <> custom.tmdb_id ~ external_ids.imdb_id <> custom.imdb_id ~ \"tv\" <> type ~ backdrop_path <> pictures ~ poster_path <> poster ~ first_air_date <> premiere ~ name <> title_en ~ overview <> description ~ vote_average <> rating ~ vote_count <> vote ~ genres.0.name <> genre ~ credits.cast.0.name <> actor <> 5 ~ credits.crew.0.name <> director <> <> job == Director ~ production_countries.0.name <> country"
|
||||
],
|
||||
"proxy": []
|
||||
},
|
||||
"codes": {
|
||||
"head": "",
|
||||
|
|
|
@ -137,9 +137,10 @@ module.exports = {
|
|||
},
|
||||
"movies": {
|
||||
"cron": [
|
||||
"# 0 ~ https://api.themoviedb.org/3/movie/popular?api_key=TOKEN&page=[page] ~ results.0.id ~ https://api.themoviedb.org/3/movie/[id]?api_key=TOKEN&append_to_response=credits,external_ids ~ id <> custom.tmdb_id ~ external_ids.imdb_id <> custom.imdb_id ~ \"movie\" <> type ~ backdrop_path <> pictures ~ poster_path <> poster ~ release_date <> premiere ~ title <> title_en ~ overview <> description ~ vote_average <> rating ~ vote_count <> vote ~ genres.0.name <> genre ~ credits.cast.0.name <> actor <> 5 ~ credits.crew.0.name <> director <> <> job = Director ~ production_countries.0.name <> country",
|
||||
"# 0 ~ https://api.themoviedb.org/3/tv/popular?api_key=TOKEN&page=[page] ~ results.0.id ~ https://api.themoviedb.org/3/tv/[id]?api_key=TOKEN&append_to_response=credits,external_ids ~ id <> custom.tmdb_id ~ external_ids.imdb_id <> custom.imdb_id ~ \"tv\" <> type ~ backdrop_path <> pictures ~ poster_path <> poster ~ first_air_date <> premiere ~ name <> title_en ~ overview <> description ~ vote_average <> rating ~ vote_count <> vote ~ genres.0.name <> genre ~ credits.cast.0.name <> actor <> 5 ~ credits.crew.0.name <> director <> <> job = Director ~ production_countries.0.name <> country"
|
||||
]
|
||||
"# 0 ~ https://api.themoviedb.org/3/movie/popular?api_key=TOKEN&page=[page] ~ results.0.id ~ https://api.themoviedb.org/3/movie/[id]?api_key=TOKEN&append_to_response=credits,external_ids ~ id <> custom.tmdb_id ~ external_ids.imdb_id <> custom.imdb_id ~ \"movie\" <> type ~ backdrop_path <> pictures ~ poster_path <> poster ~ release_date <> premiere ~ title <> title_en ~ overview <> description ~ vote_average <> rating ~ vote_count <> vote ~ genres.0.name <> genre ~ credits.cast.0.name <> actor <> 5 ~ credits.crew.0.name <> director <> <> job == Director ~ production_countries.0.name <> country",
|
||||
"# 0 ~ https://api.themoviedb.org/3/tv/popular?api_key=TOKEN&page=[page] ~ results.0.id ~ https://api.themoviedb.org/3/tv/[id]?api_key=TOKEN&append_to_response=credits,external_ids ~ id <> custom.tmdb_id ~ external_ids.imdb_id <> custom.imdb_id ~ \"tv\" <> type ~ backdrop_path <> pictures ~ poster_path <> poster ~ first_air_date <> premiere ~ name <> title_en ~ overview <> description ~ vote_average <> rating ~ vote_count <> vote ~ genres.0.name <> genre ~ credits.cast.0.name <> actor <> 5 ~ credits.crew.0.name <> director <> <> job == Director ~ production_countries.0.name <> country"
|
||||
],
|
||||
"proxy": []
|
||||
},
|
||||
"codes": {
|
||||
"head": "",
|
||||
|
|
263
lib/CP_movies.js
263
lib/CP_movies.js
|
@ -30,6 +30,8 @@ var async = require('async');
|
|||
var adop = require('adop');
|
||||
var axios = require('axios');
|
||||
var convert = require('xml-js');
|
||||
var htmlmetaparser = require('htmlmetaparser');
|
||||
var htmlparser2 = require('htmlparser2');
|
||||
var LRU = require('lru-cache');
|
||||
var cache = new LRU({ max: 1000 });
|
||||
|
||||
|
@ -210,7 +212,55 @@ if (Math.ceil(os.freemem()) < 50) {
|
|||
} else {
|
||||
console.log('[REALTIME]', ids.length, url_req);
|
||||
}
|
||||
axios(url_req)
|
||||
var opt = {
|
||||
headers: {
|
||||
'User-Agent':
|
||||
'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0'
|
||||
}
|
||||
};
|
||||
var hostname = require('url').parse(url_req).hostname;
|
||||
if (config.movies.proxy && config.movies.proxy.length) {
|
||||
var proxies = config.movies.proxy.filter(function(p) {
|
||||
var only_proxy = p.split('<>')[0].trim();
|
||||
var only_domain = (p.split('<>')[1] || '').trim();
|
||||
if (only_domain) {
|
||||
if (only_proxy && only_domain === hostname) {
|
||||
return true;
|
||||
}
|
||||
} else if (only_proxy) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
var proxy =
|
||||
proxies && proxies.length
|
||||
? proxies[Math.floor(Math.random() * proxies.length)]
|
||||
: '';
|
||||
if (proxy) {
|
||||
opt['headers'] = {
|
||||
'User-Agent':
|
||||
'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'
|
||||
};
|
||||
var proxy_obj = {};
|
||||
proxy_obj['protocol'] =
|
||||
proxy.indexOf('http://') + 1 ? 'http' : 'https';
|
||||
proxy = proxy.replace(/https?:\/\//i, '');
|
||||
var host_auth = proxy.split('@');
|
||||
if (proxy.indexOf('@') + 1) {
|
||||
proxy_obj['host'] = host_auth[1].split(':')[0];
|
||||
proxy_obj['port'] = host_auth[1].split(':')[1];
|
||||
proxy_obj['auth'] = {
|
||||
username: host_auth[0].split(':')[0],
|
||||
password: host_auth[0].split(':')[1]
|
||||
};
|
||||
} else {
|
||||
proxy_obj['host'] = host_auth[0].split(':')[0];
|
||||
proxy_obj['port'] = host_auth[0].split(':')[1];
|
||||
}
|
||||
opt.proxy = proxy_obj;
|
||||
}
|
||||
}
|
||||
axios(url_req, opt)
|
||||
.then(function(r) {
|
||||
if (!r || !r.data) {
|
||||
if (retry_req) {
|
||||
|
@ -228,49 +278,70 @@ if (Math.ceil(os.freemem()) < 50) {
|
|||
setTimeout(function() {
|
||||
return next();
|
||||
}, 5000);
|
||||
} else {
|
||||
var all = adop(tryParseJSON(r.data), [
|
||||
{
|
||||
name: 'id',
|
||||
path: task.path.split('<>')[0],
|
||||
type: task.path.split('<>')[1] || undefined,
|
||||
regex: task.path.split('<>')[2] || undefined
|
||||
}
|
||||
]);
|
||||
if (all && all.length) {
|
||||
all.forEach(function(a) {
|
||||
if (
|
||||
a &&
|
||||
a.id &&
|
||||
a.id !== 'null' &&
|
||||
a.id !== 'false' &&
|
||||
a.id !== 'undefined' &&
|
||||
a.id !== 'n/a' &&
|
||||
a.id !== 'N/A' &&
|
||||
ids.indexOf(a.id) === -1
|
||||
) {
|
||||
ids.push(a.id);
|
||||
} else if (r.data) {
|
||||
if (
|
||||
typeof r.data === 'string' &&
|
||||
r.data.indexOf('<html') + 1
|
||||
) {
|
||||
if (task.path) {
|
||||
var ids_list = r.data.match(task.path.split('<>')[0]);
|
||||
if (ids_list && ids_list.length) {
|
||||
ids_list.forEach(function(id) {
|
||||
id = id.trim();
|
||||
if (id && ids.indexOf(id) === -1) {
|
||||
ids.push(id);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
i++;
|
||||
return next();
|
||||
} else {
|
||||
if (retry_req) {
|
||||
var all = adop(tryParseJSON(r.data), [
|
||||
{
|
||||
name: 'id',
|
||||
path: task.path.split('<>')[0],
|
||||
type: task.path.split('<>')[1] || undefined,
|
||||
regex: task.path.split('<>')[2] || undefined
|
||||
}
|
||||
]);
|
||||
if (all && all.length) {
|
||||
all.forEach(function(a) {
|
||||
if (
|
||||
a &&
|
||||
a.id &&
|
||||
a.id !== 'null' &&
|
||||
a.id !== 'false' &&
|
||||
a.id !== 'undefined' &&
|
||||
a.id !== 'n/a' &&
|
||||
a.id !== 'N/A' &&
|
||||
ids.indexOf(a.id) === -1
|
||||
) {
|
||||
ids.push(a.id);
|
||||
}
|
||||
});
|
||||
i++;
|
||||
retry_req = '';
|
||||
} else {
|
||||
retry_req = url_req;
|
||||
}
|
||||
console.error(
|
||||
'[REALTIME]',
|
||||
'STOP PAGE (' + (6 - fail_req) + ' fails)',
|
||||
url_req
|
||||
);
|
||||
fail_req = fail_req - 1;
|
||||
setTimeout(function() {
|
||||
return next();
|
||||
}, 5000);
|
||||
} else {
|
||||
if (retry_req) {
|
||||
i++;
|
||||
retry_req = '';
|
||||
} else {
|
||||
retry_req = url_req;
|
||||
}
|
||||
console.error(
|
||||
'[REALTIME]',
|
||||
'STOP PAGE (' + (6 - fail_req) + ' fails)',
|
||||
url_req
|
||||
);
|
||||
fail_req = fail_req - 1;
|
||||
setTimeout(function() {
|
||||
return next();
|
||||
}, 5000);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
return next();
|
||||
}
|
||||
})
|
||||
.catch(function(err) {
|
||||
|
@ -316,11 +387,80 @@ if (Math.ceil(os.freemem()) < 50) {
|
|||
var task_type_id = task.type_id || '';
|
||||
var task_url = (task.id + '').replace(/\[[a-z0-9_]+?]/i, id + '');
|
||||
if (task_url) {
|
||||
axios(task_url)
|
||||
var opt = {
|
||||
headers: {
|
||||
'User-Agent':
|
||||
'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0'
|
||||
}
|
||||
};
|
||||
var hostname = require('url').parse(task_url).hostname;
|
||||
if (config.movies.proxy && config.movies.proxy.length) {
|
||||
var proxies = config.movies.proxy.filter(function(p) {
|
||||
var only_proxy = p.split('<>')[0].trim();
|
||||
var only_domain = (p.split('<>')[1] || '').trim();
|
||||
if (only_domain) {
|
||||
if (only_proxy && only_domain === hostname) {
|
||||
return true;
|
||||
}
|
||||
} else if (only_proxy) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
var proxy =
|
||||
proxies && proxies.length
|
||||
? proxies[Math.floor(Math.random() * proxies.length)]
|
||||
: '';
|
||||
if (proxy) {
|
||||
opt['headers'] = {
|
||||
'User-Agent':
|
||||
'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'
|
||||
};
|
||||
var proxy_obj = {};
|
||||
proxy_obj['protocol'] =
|
||||
proxy.indexOf('http://') + 1 ? 'http' : 'https';
|
||||
proxy = proxy.replace(/https?:\/\//i, '');
|
||||
var host_auth = proxy.split('@');
|
||||
if (proxy.indexOf('@') + 1) {
|
||||
proxy_obj['host'] = host_auth[1].split(':')[0];
|
||||
proxy_obj['port'] = host_auth[1].split(':')[1];
|
||||
proxy_obj['auth'] = {
|
||||
username: host_auth[0].split(':')[0],
|
||||
password: host_auth[0].split(':')[1]
|
||||
};
|
||||
} else {
|
||||
proxy_obj['host'] = host_auth[0].split(':')[0];
|
||||
proxy_obj['port'] = host_auth[0].split(':')[1];
|
||||
}
|
||||
opt.proxy = proxy_obj;
|
||||
}
|
||||
}
|
||||
axios(task_url, opt)
|
||||
.then(function(j) {
|
||||
if (!j || !j.data) {
|
||||
return callback();
|
||||
}
|
||||
if (
|
||||
typeof j.data === 'string' &&
|
||||
j.data.indexOf('<html') + 1
|
||||
) {
|
||||
var handler = new htmlmetaparser.Handler(
|
||||
function(err, json) {
|
||||
if (!json || typeof json !== 'object') {
|
||||
return callback();
|
||||
}
|
||||
movie_data(json, function() {
|
||||
return callback();
|
||||
});
|
||||
},
|
||||
{ url: task_url }
|
||||
);
|
||||
var parser = new htmlparser2.Parser(handler, {
|
||||
decodeEntities: true
|
||||
});
|
||||
parser.write(j.data);
|
||||
parser.done();
|
||||
}
|
||||
var json = tryParseJSON(j.data);
|
||||
if (!json || typeof json !== 'object') {
|
||||
return callback();
|
||||
|
@ -362,11 +502,17 @@ if (Math.ceil(os.freemem()) < 50) {
|
|||
.replace(/(^\s*)|(\s*)$/g, '')
|
||||
.replace(/\s*<>\s*/g, '<>')
|
||||
.split('<>');
|
||||
var sup_double = !!(parse[3] && parse[3].indexOf('==') + 1);
|
||||
var sup_parse = parse[3]
|
||||
? parse[3]
|
||||
.replace(/(^\s*)|(\s*)$/g, '')
|
||||
.replace(/\s*=\s*/g, '=')
|
||||
.split('=')
|
||||
? parse[3].indexOf('==') + 1
|
||||
? parse[3]
|
||||
.replace(/(^\s*)|(\s*)$/g, '')
|
||||
.replace(/\s*==\s*/g, '=')
|
||||
.split('==')
|
||||
: parse[3]
|
||||
.replace(/(^\s*)|(\s*)$/g, '')
|
||||
.replace(/\s*=\s*/g, '=')
|
||||
.split('=')
|
||||
: [];
|
||||
var eval_parse = parse[4] || '';
|
||||
var set_data = '';
|
||||
|
@ -408,15 +554,30 @@ if (Math.ceil(os.freemem()) < 50) {
|
|||
.map(function(item) {
|
||||
var set_info = false;
|
||||
if (sup_parse[0] && sup_parse[1]) {
|
||||
if (
|
||||
op.get(item, sup_parse[0]) &&
|
||||
op
|
||||
.get(item, sup_parse[0])
|
||||
.toString()
|
||||
.toLowerCase() ===
|
||||
sup_parse[1].toString().toLowerCase()
|
||||
) {
|
||||
set_info = true;
|
||||
if (sup_double) {
|
||||
if (
|
||||
op.get(item, sup_parse[0]) &&
|
||||
op
|
||||
.get(item, sup_parse[0])
|
||||
.toString()
|
||||
.toLowerCase() ===
|
||||
sup_parse[1].toString().toLowerCase()
|
||||
) {
|
||||
set_info = true;
|
||||
}
|
||||
} else {
|
||||
if (
|
||||
op.get(item, sup_parse[0]) &&
|
||||
op
|
||||
.get(item, sup_parse[0])
|
||||
.toString()
|
||||
.toLowerCase()
|
||||
.indexOf(
|
||||
sup_parse[1].toString().toLowerCase()
|
||||
) + 1
|
||||
) {
|
||||
set_info = true;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
set_info = true;
|
||||
|
|
|
@ -58,7 +58,9 @@
|
|||
"diskusage": "1.1.3",
|
||||
"axios": "0.21.1",
|
||||
"mnemonist": "0.38.1",
|
||||
"xml-js": "1.6.11"
|
||||
"xml-js": "1.6.11",
|
||||
"htmlparser2": "6.0.0",
|
||||
"htmlmetaparser": "2.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"prettier": "2.2.1"
|
||||
|
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "متاح لملء معلمات المعلومات",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "قائمة الأفلام"
|
||||
"Список фильмов": "قائمة الأفلام",
|
||||
"Прокси-сервера": "خوادم الوكيل"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Налични за попълване на информационни параметри",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Списък на филмите"
|
||||
"Список фильмов": "Списък на филмите",
|
||||
"Прокси-сервера": "Прокси сървъри"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "তথ্য পরামিতি পূরণ করতে উপলব্ধ",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "চলচ্চিত্রের তালিকা"
|
||||
"Список фильмов": "চলচ্চিত্রের তালিকা",
|
||||
"Прокси-сервера": "প্রক্সি সার্ভার"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "K dispozici k vyplnění informačních parametrů",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Seznam movieů"
|
||||
"Список фильмов": "Seznam movieů",
|
||||
"Прокси-сервера": "Proxy servery"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Tilgængelig til at udfylde informationsparametre",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Liste over movie"
|
||||
"Список фильмов": "Liste over movie",
|
||||
"Прокси-сервера": "Proxy servere"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Zur füllung von informationsparametern verfügbar",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Liste der moviee"
|
||||
"Список фильмов": "Liste der moviee",
|
||||
"Прокси-сервера": "Proxy-Server"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Διατίθεται για την πλήρωση παραμέτρων πληροφοριών",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Κατάλογος ταινιών"
|
||||
"Список фильмов": "Κατάλογος ταινιών",
|
||||
"Прокси-сервера": "Διακομιστές μεσολάβησης"
|
||||
}
|
|
@ -1009,5 +1009,6 @@
|
|||
"Доступные для заполнения информации параметры": "Parameters available for filling in the information",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "List of movies"
|
||||
"Список фильмов": "List of movies",
|
||||
"Прокси-сервера": "Proxy servers"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Disponible para llenar los parámetros de información",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Lista de películas"
|
||||
"Список фильмов": "Lista de películas",
|
||||
"Прокси-сервера": "Servidores proxy"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Saadaval teabe parameetrite täitmiseks",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Nimekiri movieide"
|
||||
"Список фильмов": "Nimekiri movieide",
|
||||
"Прокси-сервера": "Puhverserverid"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Saatavana tietojen parametrien täyttämiseksi",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Luettelo elokuvista"
|
||||
"Список фильмов": "Luettelo elokuvista",
|
||||
"Прокси-сервера": "Proxy-palvelimet"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Disponible pour remplir les paramètres d'information",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Liste des movies"
|
||||
"Список фильмов": "Liste des movies",
|
||||
"Прокси-сервера": "Serveurs proxy"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "सूचना पैरामीटर भरने के लिए उपलब्ध है",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "फिल्मों की सूची"
|
||||
"Список фильмов": "फिल्मों की सूची",
|
||||
"Прокси-сервера": "प्रॉक्सी सर्वर"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Dostupno za popunjavanje informacija o informacijama",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Popis movieova"
|
||||
"Список фильмов": "Popis movieova",
|
||||
"Прокси-сервера": "Proxy poslužitelji"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Az információs paraméterek betöltéséhez",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Movieek listája"
|
||||
"Список фильмов": "Movieek listája",
|
||||
"Прокси-сервера": "Proxy szerverek"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Tersedia untuk mengisi parameter informasi",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Daftar movie"
|
||||
"Список фильмов": "Daftar movie",
|
||||
"Прокси-сервера": "Server proxy"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Disponibile per riempire i parametri delle informazioni",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Elenco dei movie"
|
||||
"Список фильмов": "Elenco dei movie",
|
||||
"Прокси-сервера": "Server proxy"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "情報パラメータを埋めるために利用可能です",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "映画のリスト"
|
||||
"Список фильмов": "映画のリスト",
|
||||
"Прокси-сервера": "プロキシサーバー"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "정보 매개 변수를 채울 수 있습니다",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "필름 목록"
|
||||
"Список фильмов": "필름 목록",
|
||||
"Прокси-сервера": "프록시 서버"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Galima užpildyti informacijos parametrus",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Movieų sąrašas"
|
||||
"Список фильмов": "Movieų sąrašas",
|
||||
"Прокси-сервера": "Proxy serveriai"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Pieejams, lai aizpildītu informācijas parametrus",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Movieu saraksts"
|
||||
"Список фильмов": "Movieu saraksts",
|
||||
"Прокси-сервера": "Proxy serveri"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Beschikbaar om informatieparameters te vullen",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Lijst met movies"
|
||||
"Список фильмов": "Lijst met movies",
|
||||
"Прокси-сервера": "Proxy-servers"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Dostępne do wypełnienia parametrów informacji",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Lista movieów"
|
||||
"Список фильмов": "Lista movieów",
|
||||
"Прокси-сервера": "Serwery proxy"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Disponível para preencher parâmetros de informação",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Lista de moviees"
|
||||
"Список фильмов": "Lista de moviees",
|
||||
"Прокси-сервера": "Servidores proxy"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Disponibil pentru a completa parametrii de informații",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Lista de moviee"
|
||||
"Список фильмов": "Lista de moviee",
|
||||
"Прокси-сервера": "Servere proxy"
|
||||
}
|
|
@ -1009,5 +1009,6 @@
|
|||
"Доступные для заполнения информации параметры": "Доступные для заполнения информации параметры",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Список фильмов"
|
||||
"Список фильмов": "Список фильмов",
|
||||
"Прокси-сервера": "Прокси-сервера"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "K dispozícii na vyplnenie parametrov informácií",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Zoznam movieov"
|
||||
"Список фильмов": "Zoznam movieov",
|
||||
"Прокси-сервера": "Proxy servery"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Na voljo za polnjenje parametrov informacij",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Seznam movieov"
|
||||
"Список фильмов": "Seznam movieov",
|
||||
"Прокси-сервера": "Proxy strežniki"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Në dispozicion për të mbushur parametrat e informacionit",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Lista e movieave"
|
||||
"Список фильмов": "Lista e movieave",
|
||||
"Прокси-сервера": "Servera proxy"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "На располагању за попуњавање параметара информација",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Листа филмова"
|
||||
"Список фильмов": "Листа филмова",
|
||||
"Прокси-сервера": "Проки сервери"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Tillgänglig för att fylla informationsparametrar",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Lista över movieer"
|
||||
"Список фильмов": "Lista över movieer",
|
||||
"Прокси-сервера": "Proxyservrar"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Inapatikana ili kujaza vigezo vya habari",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Orodha ya filamu"
|
||||
"Список фильмов": "Orodha ya filamu",
|
||||
"Прокси-сервера": "Servers wakala"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "พร้อมที่จะกรอกข้อมูลพารามิเตอร์",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "รายชื่อภาพยนตร์"
|
||||
"Список фильмов": "รายชื่อภาพยนตร์",
|
||||
"Прокси-сервера": "พร็อกซีเซิร์ฟเวอร์"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Bilgi parametrelerini doldurmak için kullanılabilir",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Movielerin listesi"
|
||||
"Список фильмов": "Movielerin listesi",
|
||||
"Прокси-сервера": "Proxy sunucuları"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Доступні для заповнення інформації параметри",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Список фільмів"
|
||||
"Список фильмов": "Список фільмів",
|
||||
"Прокси-сервера": "Проксі-сервера"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "Có sẵn để điền thông số thông tin",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "Danh sách các bộ phim"
|
||||
"Список фильмов": "Danh sách các bộ phim",
|
||||
"Прокси-сервера": "Máy chủ proxy"
|
||||
}
|
|
@ -1010,5 +1010,6 @@
|
|||
"Доступные для заполнения информации параметры": "可用于填充信息参数",
|
||||
"ID TVmaze": "ID TVmaze",
|
||||
"ID World-Art": "ID World-Art",
|
||||
"Список фильмов": "电影名单"
|
||||
"Список фильмов": "电影名单",
|
||||
"Прокси-сервера": "代理服务器"
|
||||
}
|
|
@ -282,11 +282,8 @@
|
|||
<ul data-add-name="config.index.ids.keys">
|
||||
<% if (config.index.ids.keys) { %>
|
||||
<% config.index.ids.keys.split(',').forEach(function (id) { %>
|
||||
<li data-delete-id="<%- id %>"
|
||||
data-delete-name="config.index.ids.keys" style="display: none">
|
||||
<img class="media-object"
|
||||
src="/<%- config.urls.admin %>/poster?id=<%- id %>"
|
||||
alt="ID: <%- id %>" title="ID: <%- id %>">
|
||||
<li data-delete-id="<%- id %>" data-delete-name="config.index.ids.keys" style="display: none">
|
||||
<img class="media-object" data-src="/<%- config.urls.admin %>/poster?id=<%- id %>" alt="ID: <%- id %>" title="ID: <%- id %>">
|
||||
</li>
|
||||
<% }); %>
|
||||
<% } %>
|
||||
|
@ -295,7 +292,8 @@
|
|||
var movies = document.querySelectorAll('.thumbs-list li');
|
||||
movies.forEach(function(m, i) {
|
||||
setTimeout(function() {
|
||||
m.style.display = 'inline-block';
|
||||
m.querySelector('img').src = m.querySelector('img').dataset.src;
|
||||
setTimeout(function() {m.style.display = 'inline-block';}, i * 100);
|
||||
}, i * 300);
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -394,11 +394,12 @@
|
|||
ids.unshift(kp_id);
|
||||
}
|
||||
addList.value = ids.join(',');
|
||||
addPoster.innerHTML = (id.dataset.last ? addPoster.innerHTML : '') + '<li data-delete-id="' + kp_id + '" data-delete-name="' + self.dataset.addName + '"><img class="media-object" src="/<%- config.urls.admin %>/poster?id=' + kp_id + '" alt="ID: ' + kp_id + '" title="ID: ' + kp_id + '"></li>' + (!id.dataset.last ? addPoster.innerHTML : '');
|
||||
addPoster.innerHTML = (id.dataset.last ? addPoster.innerHTML : '') + '<li data-delete-id="' + kp_id + '" data-delete-name="' + self.dataset.addName + '"><img class="media-object" src="/<%- config.urls.admin %>/poster?id=' + kp_id + '" data-src="/<%- config.urls.admin %>/poster?id=' + kp_id + '" alt="ID: ' + kp_id + '" title="ID: ' + kp_id + '"></li>' + (!id.dataset.last ? addPoster.innerHTML : '');
|
||||
var delId = document.querySelectorAll('li[data-delete-name]');
|
||||
if (delId)
|
||||
for (var i = 0; i < delId.length; i++)
|
||||
for (var i = 0; i < delId.length; i++) {
|
||||
delId[i].addEventListener('click', delIdList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -841,6 +842,10 @@
|
|||
data.config.movies.cron = data.config.movies.cron.split(/(\n\n|\n)/ig).filter(Boolean);
|
||||
}
|
||||
|
||||
if (data.config && data.config.movies && data.config.movies.proxy) {
|
||||
data.config.movies.proxy = data.config.movies.proxy.split(/(\n\n|\n|,)/ig).filter(Boolean);
|
||||
}
|
||||
|
||||
if (data.modules && data.modules.content && data.modules.content.data.custom) {
|
||||
data.modules.content.data.custom = data.modules.content.data.custom.split(/(\n\n|\n)/ig).filter(Boolean);
|
||||
}
|
||||
|
|
|
@ -445,22 +445,24 @@
|
|||
<ul data-add-name="modules.abuse.data.turbo">
|
||||
<% if (modules.abuse.data.turbo) { %>
|
||||
<% modules.abuse.data.turbo.forEach(function (id) { %>
|
||||
<li data-delete-id="<%- id %>"
|
||||
data-delete-name="modules.abuse.data.turbo" style="display: none">
|
||||
<img class="media-object"
|
||||
src="/<%- config.urls.admin %>/poster?id=<%- id %>"
|
||||
alt="ID: <%- id %>" title="ID: <%- id %>">
|
||||
<li data-delete-id="<%- id %>" data-delete-name="modules.abuse.data.turbo" style="display: none">
|
||||
<img class="media-object" data-src="/<%- config.urls.admin %>/poster?id=<%- id %>" alt="ID: <%- id %>" title="ID: <%- id %>">
|
||||
</li>
|
||||
<% }); %>
|
||||
<% } %>
|
||||
</ul>
|
||||
<script>
|
||||
var turbo = document.querySelectorAll('.thumbs-list li');
|
||||
turbo.forEach(function(m, i) {
|
||||
setTimeout(function() {
|
||||
m.style.display = 'inline-block';
|
||||
}, i * 300);
|
||||
});
|
||||
function show_posters() {
|
||||
var turbo = document.querySelectorAll('.thumbs-list li');
|
||||
turbo.forEach(function(m, i) {
|
||||
setTimeout(function() {
|
||||
m.querySelector('img').src = m.querySelector('img').dataset.src;
|
||||
setTimeout(function() {
|
||||
m.style.display = 'inline-block';
|
||||
}, i * 100);
|
||||
}, i * 300);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
@ -474,14 +476,20 @@
|
|||
|
||||
<div class="spacer-10"></div>
|
||||
|
||||
<textarea class="form-control input_ids" name="modules.abuse.data.turbo"
|
||||
placeholder="<%= __('Список идентификаторов фильмов') %>"><% if (modules.abuse.data.turbo) { %><%- modules.abuse.data.turbo.join(',') %><% } %></textarea>
|
||||
<textarea class="form-control input_ids" name="modules.abuse.data.turbo" placeholder="<%= __('Список идентификаторов фильмов') %>"><% if (modules.abuse.data.turbo) { %><%- modules.abuse.data.turbo.join(',') %><% } %></textarea>
|
||||
|
||||
<div class="spacer-10"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="advanced-textarea-footer">
|
||||
<% if (modules.abuse.data.turbo && modules.abuse.data.turbo.length > 100) { %>
|
||||
<div class="pull-left">
|
||||
<a href="javascript:void(0)" onclick="show_posters()" class="btn btn-default"><i class="fas fa-images"></i> <strong><%- modules.abuse.data.turbo.length %></strong></a>
|
||||
</div>
|
||||
<% } else { %>
|
||||
<script>show_posters();</script>
|
||||
<% } %>
|
||||
<div class="pull-right">
|
||||
<a href="javascript:void(0)"
|
||||
onclick="document.querySelector('#turbo_ids').style.display = 'block'"
|
||||
|
@ -728,22 +736,24 @@
|
|||
<ul data-add-name="modules.abuse.data.movies">
|
||||
<% if (modules.abuse.data.movies) { %>
|
||||
<% modules.abuse.data.movies.forEach(function (id) { %>
|
||||
<li data-delete-id="<%- id %>"
|
||||
data-delete-name="modules.abuse.data.movies" style="display: none">
|
||||
<img class="media-object"
|
||||
src="/<%- config.urls.admin %>/poster?id=<%- id %>"
|
||||
alt="ID: <%- id %>" title="ID: <%- id %>">
|
||||
<li data-delete-id="<%- id %>" data-delete-name="modules.abuse.data.movies" style="display: none">
|
||||
<img class="media-object" data-src="/<%- config.urls.admin %>/poster?id=<%- id %>" alt="ID: <%- id %>" title="ID: <%- id %>">
|
||||
</li>
|
||||
<% }); %>
|
||||
<% } %>
|
||||
</ul>
|
||||
<script>
|
||||
var movies = document.querySelectorAll('.thumbs-list li');
|
||||
movies.forEach(function(m, i) {
|
||||
setTimeout(function() {
|
||||
m.style.display = 'inline-block';
|
||||
}, i * 300);
|
||||
});
|
||||
function show_posters2() {
|
||||
var movies = document.querySelectorAll('.thumbs-list li');
|
||||
movies.forEach(function(m, i) {
|
||||
setTimeout(function() {
|
||||
m.querySelector('img').src = m.querySelector('img').dataset.src;
|
||||
setTimeout(function() {
|
||||
m.style.display = 'inline-block';
|
||||
}, i * 100);
|
||||
}, i * 300);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
@ -757,14 +767,20 @@
|
|||
|
||||
<div class="spacer-10"></div>
|
||||
|
||||
<textarea class="form-control input_ids" name="modules.abuse.data.movies"
|
||||
placeholder="<%= __('Список идентификаторов фильмов') %>"><% if (modules.abuse.data.movies) { %><%- modules.abuse.data.movies.join(',') %><% } %></textarea>
|
||||
<textarea class="form-control input_ids" name="modules.abuse.data.movies" placeholder="<%= __('Список идентификаторов фильмов') %>"><% if (modules.abuse.data.movies) { %><%- modules.abuse.data.movies.join(',') %><% } %></textarea>
|
||||
|
||||
<div class="spacer-10"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="advanced-textarea-footer">
|
||||
<% if (modules.abuse.data.movies && modules.abuse.data.movies.length > 100) { %>
|
||||
<div class="pull-left">
|
||||
<a href="javascript:void(0)" onclick="show_posters2()" class="btn btn-default"><i class="fas fa-images"></i> <strong><%- modules.abuse.data.movies.length %></strong></a>
|
||||
</div>
|
||||
<% } else { %>
|
||||
<script>show_posters2();</script>
|
||||
<% } %>
|
||||
<div class="pull-right">
|
||||
<a href="javascript:void(0)"
|
||||
onclick="document.querySelector('#abuse_ids').style.display = 'block'"
|
||||
|
|
|
@ -246,18 +246,21 @@
|
|||
<% if (content.content_movies) { %>
|
||||
<% content.content_movies.split(',').forEach(function (id) { %>
|
||||
<li data-delete-id="<%- id %>" data-delete-name="content.content_movies" style="display:none">
|
||||
<img class="media-object" src="/<%- config.urls.admin %>/poster?id=<%- id %>" alt="ID: <%- id %>" title="ID: <%- id %>">
|
||||
<img class="media-object" data-src="/<%- config.urls.admin %>/poster?id=<%- id %>" alt="ID: <%- id %>" title="ID: <%- id %>">
|
||||
</li>
|
||||
<% }); %>
|
||||
<% } %>
|
||||
</ul>
|
||||
<script>
|
||||
var movies = document.querySelectorAll('.thumbs-list li');
|
||||
movies.forEach(function(m, i) {
|
||||
setTimeout(function() {
|
||||
m.style.display = 'inline-block';
|
||||
}, i * 300);
|
||||
});
|
||||
function show_posters() {
|
||||
var movies = document.querySelectorAll('.thumbs-list li');
|
||||
movies.forEach(function(m, i) {
|
||||
setTimeout(function() {
|
||||
m.querySelector('img').src = m.querySelector('img').dataset.src;
|
||||
setTimeout(function() {m.style.display = 'inline-block';}, i * 100);
|
||||
}, i * 300);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
@ -271,14 +274,20 @@
|
|||
|
||||
<div class="spacer-10"></div>
|
||||
|
||||
<textarea class="form-control input_ids" name="content.content_movies"
|
||||
placeholder="<%= __('Список идентификаторов фильмов') %>"><% if (content.content_movies) { %><%- content.content_movies %><% } %></textarea>
|
||||
<textarea class="form-control input_ids" name="content.content_movies" placeholder="<%= __('Список идентификаторов фильмов') %>"><% if (content.content_movies) { %><%- content.content_movies %><% } %></textarea>
|
||||
|
||||
<div class="spacer-10"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="advanced-textarea-footer">
|
||||
<% if (content.content_movies && content.content_movies.split(',').length > 100) { %>
|
||||
<div class="pull-left">
|
||||
<a href="javascript:void(0)" onclick="show_posters()" class="btn btn-default"><i class="fas fa-images"></i> <strong><%- content.content_movies.split(',').length %></strong></a>
|
||||
</div>
|
||||
<% } else { %>
|
||||
<script>show_posters();</script>
|
||||
<% } %>
|
||||
<div class="pull-right">
|
||||
<a href="javascript:void(0)"
|
||||
onclick="document.querySelector('#content_ids').style.display = 'block'"
|
||||
|
|
|
@ -137,11 +137,8 @@
|
|||
<ul data-add-name="modules.slider.data.movies">
|
||||
<% if (modules.slider.data.movies) { %>
|
||||
<% modules.slider.data.movies.forEach(function (id) { %>
|
||||
<li data-delete-id="<%- id %>"
|
||||
data-delete-name="modules.slider.data.movies" style="display: none">
|
||||
<img class="media-object"
|
||||
src="/<%- config.urls.admin %>/poster?id=<%- id %>"
|
||||
alt="ID: <%- id %>" title="ID: <%- id %>">
|
||||
<li data-delete-id="<%- id %>" data-delete-name="modules.slider.data.movies" style="display: none">
|
||||
<img class="media-object" data-src="/<%- config.urls.admin %>/poster?id=<%- id %>" alt="ID: <%- id %>" title="ID: <%- id %>">
|
||||
</li>
|
||||
<% }); %>
|
||||
<% } %>
|
||||
|
@ -150,7 +147,8 @@
|
|||
var movies = document.querySelectorAll('.thumbs-list li');
|
||||
movies.forEach(function(m, i) {
|
||||
setTimeout(function() {
|
||||
m.style.display = 'inline-block';
|
||||
m.querySelector('img').src = m.querySelector('img').dataset.src;
|
||||
setTimeout(function() {m.style.display = 'inline-block';}, i * 100);
|
||||
}, i * 300);
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -145,11 +145,8 @@
|
|||
<ul data-add-name="modules.soon.data.movies">
|
||||
<% if (modules.soon.data.movies) { %>
|
||||
<% modules.soon.data.movies.forEach(function (id) { %>
|
||||
<li data-delete-id="<%- id %>"
|
||||
data-delete-name="modules.soon.data.movies" style="display: none">
|
||||
<img class="media-object"
|
||||
src="/<%- config.urls.admin %>/poster?id=<%- id %>"
|
||||
alt="ID: <%- id %>" title="ID: <%- id %>">
|
||||
<li data-delete-id="<%- id %>" data-delete-name="modules.soon.data.movies" style="display: none">
|
||||
<img class="media-object" data-src="/<%- config.urls.admin %>/poster?id=<%- id %>" alt="ID: <%- id %>" title="ID: <%- id %>">
|
||||
</li>
|
||||
<% }); %>
|
||||
<% } %>
|
||||
|
@ -158,7 +155,8 @@
|
|||
var movies = document.querySelectorAll('.thumbs-list li');
|
||||
movies.forEach(function(m, i) {
|
||||
setTimeout(function() {
|
||||
m.style.display = 'inline-block';
|
||||
m.querySelector('img').src = m.querySelector('img').dataset.src;
|
||||
setTimeout(function() {m.style.display = 'inline-block';}, i * 100);
|
||||
}, i * 300);
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -280,14 +280,10 @@
|
|||
<div class="input-group">
|
||||
<span class="input-group-addon"><%= __('Тип:') %></span>
|
||||
<select name="movie.type" class="form-control">
|
||||
<option value="0" <% if (movie.type !== 1) { %>selected="selected"
|
||||
<% } %>
|
||||
>
|
||||
<option value="0" <% if (movie.type !== 1) { %>selected="selected"<% } %>>
|
||||
<%= __('Фильм') %>
|
||||
</option>
|
||||
<option value="1" <% if (movie.type === 1) { %>selected="selected"
|
||||
<% } %>
|
||||
>
|
||||
<option value="1" <% if (movie.type === 1) { %>selected="selected"<% } %>>
|
||||
<%= __('Сериал') %>
|
||||
</option>
|
||||
</select>
|
||||
|
@ -945,6 +941,28 @@
|
|||
|
||||
<div class="spacer-10"></div>
|
||||
|
||||
<div class="col-lg-12 col-xs-12">
|
||||
<div class="faq">
|
||||
<article class="faq-group">
|
||||
<header class="text-muted text-left">
|
||||
<i class="fa fa-plus"></i>
|
||||
<h3>
|
||||
<span class="fas fa-list-ol"></span> <%= __('Прокси-сервера') %>
|
||||
</h3>
|
||||
</header>
|
||||
<div class="faq-content clearfix">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<textarea class="form-control custom" name="config.movies.proxy" placeholder="login:pass@192.168.0.1:1234, login:pass@192.168.0.2:4321 <> www.imdb.com" style="height:300px;"><%- config.movies.proxy.join('\n') %></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="spacer-10"></div>
|
||||
|
||||
<div class="col-lg-12 col-xs-12 text-center" style="margin-bottom: 10px">
|
||||
<span class="btn btn-primary btn-sm btn-block movies_cron">
|
||||
<span id="movies_cron">
|
||||
|
|
|
@ -174,13 +174,9 @@
|
|||
<div class="thumbs-list thumbs-small">
|
||||
<ul>
|
||||
<% soon_id.forEach(function (id) { %>
|
||||
<a href="/<%- config.urls.admin %>/movies?id=<%- id %>"
|
||||
target="_blank">
|
||||
<a href="/<%- config.urls.admin %>/movies?id=<%- id %>" target="_blank">
|
||||
<li style="background: none !important; display: none">
|
||||
<img class="media-object"
|
||||
src="/<%- config.urls.admin %>/poster?id=<%- id %>"
|
||||
alt="ID: <%- id %>"
|
||||
title="ID: <%- id %>">
|
||||
<img class="media-object" data-src="/<%- config.urls.admin %>/poster?id=<%- id %>" alt="ID: <%- id %>" title="ID: <%- id %>">
|
||||
</li>
|
||||
</a>
|
||||
<% }); %>
|
||||
|
@ -189,7 +185,8 @@
|
|||
var movies = document.querySelectorAll('.thumbs-list li');
|
||||
movies.forEach(function(m, i) {
|
||||
setTimeout(function() {
|
||||
m.style.display = 'inline-block';
|
||||
m.querySelector('img').src = m.querySelector('img').dataset.src;
|
||||
setTimeout(function() {m.style.display = 'inline-block';}, i * 100);
|
||||
}, i * 300);
|
||||
});
|
||||
</script>
|
||||
|
|
Loading…
Reference in a new issue