Added API module

This commit is contained in:
zeldaroot 2021-04-25 23:15:49 +03:00
parent 212ec57eb6
commit 4410f955cb
52 changed files with 1110 additions and 52 deletions

View file

@ -597,6 +597,10 @@ ip_install() {
fi
docker exec nginx nginx -s reload >>/var/log/docker_update_"$(date '+%d_%m_%Y')".log 2>&1
docker restart "${LOCAL_DOMAIN_}" >>/var/log/docker_update_"$(date '+%d_%m_%Y')".log 2>&1
for all_server in /home/*/config/production/nginx/conf.d/default.conf; do
[ -f "${all_server}" ] || continue
sed -i '/pagespeed/d' "${all_server}"
done
sleep 10
}
3_backup() {
@ -969,7 +973,7 @@ ip_install() {
sed -Ei "s/ssl_stapling off;/ssl_stapling on;/g" "${NGX}/ssl.d/default.conf"
sed -Ei "s/#ssl //g" "${NGX}/conf.d/default.conf"
sed -Ei "s/\"protocol\":\s*\"http:/\"protocol\":\"https:/" \
"/home/${LOCAL_DOMAIN}/config/production/config.js"
"/home/${LOCAL_DOMAIN}/config/production/config.js" >/dev/null
docker restart "${LOCAL_DOMAIN_}" \
>>/var/log/docker_https_"$(date '+%d_%m_%Y')".log 2>&1
_header "Generating wildcard certificate, completed successfully!"
@ -1000,7 +1004,7 @@ ip_install() {
sed -Ei "s/ssl_stapling on;/ssl_stapling off;/g" "${NGX}/ssl.d/default.conf"
sed -Ei "s/#ssl //g" "${NGX}/conf.d/default.conf"
sed -Ei "s/\"protocol\":\s*\"http:/\"protocol\":\"https:/" \
/home/"${LOCAL_DOMAIN}"/config/production/config.js
"/home/${LOCAL_DOMAIN}/config/production/config.js" >/dev/null
docker restart "${LOCAL_DOMAIN_}" \
>>/var/log/docker_https_"$(date '+%d_%m_%Y')".log 2>&1
_header "Generating self-signed certificate, completed successfully!"
@ -3330,12 +3334,12 @@ while [ "${WHILE}" -lt "2" ]; do
else
_content "Network: stopped"
fi
if [ "$(docker ps -aq -f status=running -f name=^/${CP_DOMAIN_}\$ 2>/dev/null)" != "" ]; then
if [ "$(docker ps -aq -f health=healthy -f name=^/${CP_DOMAIN_}\$ 2>/dev/null)" != "" ]; then
_content "Website: runnind"
else
_content "Website: stopped"
fi
if [ "$(docker ps -aq -f status=running -f name=^/nginx\$ 2>/dev/null)" != "" ]; then
if [ "$(docker ps -aq -f health=healthy -f name=^/nginx\$ 2>/dev/null)" != "" ]; then
NGINX_STATUS=$(docker exec -t nginx nginx -t | grep successful)
if [ "${NGINX_STATUS}" != "" ]; then
_content "Nginx: runnind"
@ -3346,7 +3350,7 @@ while [ "${WHILE}" -lt "2" ]; do
else
_content "Nginx: stopped"
fi
if [ "$(docker ps -aq -f status=running -f name=^/fail2ban\$ 2>/dev/null)" != "" ]; then
if [ "$(docker ps -aq -f health=healthy -f name=^/fail2ban\$ 2>/dev/null)" != "" ]; then
_content "Fail2ban: runnind"
else
_content "Fail2ban: stopped"

View file

@ -598,5 +598,13 @@ module.exports = {
"status": false,
"data": {
}
},
"api": {
"status": true,
"data": {
"tokens": [
"TEST ~ 2req/1sec ~ 100"
]
}
}
};

View file

@ -598,5 +598,13 @@ module.exports = {
"status": false,
"data": {
}
},
"api": {
"status": true,
"data": {
"tokens": [
"TEST ~ 2req/1sec ~ 100"
]
}
}
};

View file

@ -84,8 +84,10 @@ function sphinxQuery(query, callback) {
*/
function restartSphinx(callback) {
console.log('[restartSphinx] searchd --stop');
exec('searchd --stop');
setTimeout(function() {
console.log('[restartSphinx] searchd');
exec('searchd');
setTimeout(function() {
getSphinx(function(err, render) {

View file

@ -191,7 +191,8 @@ router.get('/:type?', function(req, res) {
random: 'fa fa-dice',
rewrite: 'far fa-hand-rock',
app: 'fas fa-desktop',
ftp: 'fas fa-cloud-upload-alt'
ftp: 'fas fa-cloud-upload-alt',
api: 'fab fa-dev'
};
render.icon = render.icons[render.type];
@ -400,6 +401,10 @@ router.get('/:type?', function(req, res) {
render.title = res.__('Файловый менеджер');
res.render('admin/modules/ftp', render);
break;
case 'api':
render.title = res.__('API');
res.render('admin/modules/api', render);
break;
case 'poster':
getMovie(function(err, render) {

View file

@ -52,12 +52,16 @@ var Avatars = require('@dicebear/avatars').default;
var sprites = require('@dicebear/avatars-avataaars-sprites').default;
var avatars = new Avatars(sprites, {});
var request = require('request');
var sphinx = require('sphinx');
var fs = require('fs');
var md5 = require('md5');
var path = require('path');
var express = require('express');
var async = require('async');
var router = express.Router();
var LRU = require('lru-cache');
var cache = new LRU({ maxAge: 3600000, max: 1000 });
var tokens = new LRU({ maxAge: 3600000, max: 1000 });
var first = require(path.join(
path.dirname(__filename),
@ -450,6 +454,430 @@ router.post('/comments', function(req, res) {
);
});
router.get('/', function(req, res) {
var ip = getIp(req);
var token = req.query['token'] && req.query['token'].trim();
if (
!modules.api.status ||
!modules.api.data ||
!modules.api.data.tokens.length
) {
console.error('[ERROR API]', 'TOKEN:', token, 'IP:', ip);
return res.status(404).json({
status: 'error',
message: 'API is not activated.'
});
}
if (!tokens.has('CP_VER') || tokens.get('CP_VER') !== process.env['CP_VER']) {
tokens.reset();
tokens.set('CP_VER', process.env['CP_VER']);
modules.api.data.tokens.forEach(function(t) {
var token = t
.replace(/(^\s*)|(\s*)$/g, '')
.replace(/\s*~\s*/g, '~')
.split('~');
if (token[0].charAt(0) === '#') return;
var req_sec = token[1]
? token[1]
.replace(/(^\s*)|(\s*)$/g, '')
.replace(/\s*\/\s*/g, '/')
.split('/')
: ['10', '1'];
var max = token[2] ? parseInt(token[2].replace(/[^0-9]/g, '')) : 1000;
tokens.set(token[0], {
req: parseInt(req_sec[0].replace(/[^0-9]/g, '') || '10'),
sec: parseInt(req_sec[1].replace(/[^0-9]/g, '') || '1') * 1000,
max: max
});
});
}
if (tokens.has(token)) {
var token_data = tokens.get(token);
if (token_data.max <= 0) {
return res.status(404).json({
status: 'error',
message: 'API token is out of the request limit per hour.'
});
}
if (token_data.date) {
var curr_ms = new Date() - token_data.date;
var limit_ms = token_data.sec / token_data.req;
if (curr_ms < limit_ms) {
console.error(
'[ERROR LIMIT]',
'TOKEN:',
token,
'IP:',
ip,
curr_ms + 'ms',
'<',
limit_ms + 'ms'
);
return res.status(404).json({
status: 'error',
message:
'API token is out of the request limit ' +
(token_data.req + 'req/' + token_data.sec / 1000 + 'sec') +
'.'
});
}
}
token_data.date = new Date();
token_data.max = token_data.max - 1;
tokens.set(token, token_data);
} else {
console.error('[ERROR NOT]', 'TOKEN:', token, 'IP:', ip);
return res
.status(404)
.json({ status: 'error', message: 'API token does not exist.' });
}
var q = {};
var as = [];
['imdb_id', 'tmdb_id', 'douban_id', 'wa_id', 'tvmaze_id', 'movie_id'].forEach(
function(key) {
if (req.query[key] && req.query[key].replace(/[^0-9]/g, '')) {
as.push('custom.' + key + ' AS ' + key);
q[key] =
"'" + decodeURIComponent(req.query[key].replace(/[^0-9]/g, '')) + "'";
}
}
);
['id', 'kp_id'].forEach(function(key) {
if (req.query[key] && req.query[key].replace(/[^0-9]/g, '')) {
q[key] = decodeURIComponent(req.query[key].replace(/[^0-9]/g, ''));
}
});
if (req.query['type'] && req.query['type'].replace(/[^0-9]/g, '')) {
q['type'] = decodeURIComponent(req.query['type'].replace(/[^0-9]/g, ''));
} else if (
req.query['type'] &&
(req.query['type'] === 'tv' || req.query['type'] === 'movie')
) {
q['type'] = req.query['type'] === 'tv' ? 1 : 0;
}
if (Object.keys(q).length <= 0) {
console.error('[ERROR PARAMS]', 'TOKEN:', token, 'IP:', ip);
return res
.status(404)
.json({ status: 'error', message: 'Your request is empty.' });
}
if (!cache.has('CP_VER') || cache.get('CP_VER') !== process.env['CP_VER']) {
cache.reset();
cache.set('CP_VER', process.env['CP_VER']);
}
var hash = JSON.stringify(q);
if (cache.has(hash)) {
return res.json(cache.get(hash));
}
var connection = sphinx.createConnection({});
connection.connect(function(err) {
if (err) {
if (typeof connection !== 'undefined' && connection) {
connection.end();
}
console.error(err);
return res
.status(404)
.json({ status: 'error', message: 'Error connection.' });
}
connection.query(
'SELECT * ' +
(as && as.length ? ', ' + as.join(',') : '') +
' FROM rt_' +
config.domain.replace(/[^a-z0-9]/g, '_') +
' WHERE ' +
Object.keys(q)
.map(function(key) {
return '`' + key + '` = ' + q[key] + '';
})
.filter(Boolean)
.join(' AND ') +
' LIMIT 0,1 OPTION max_matches = 1; SHOW META',
function(err, results) {
if (typeof connection !== 'undefined' && connection) {
connection.end();
}
if (err) {
console.error(err);
return res
.status(404)
.json({ status: 'error', message: 'Error query.' });
}
if (!results || !results[0] || !results[0][0] || !results[0][0].id) {
return res
.status(404)
.json({ status: 'error', message: 'Empty result.' });
}
var movie = results[0][0];
var time = results[1] && results[1][2];
var custom = JSON.parse(movie.custom);
var poster =
!movie.poster || /^([01])$/.test(movie.poster)
? '' + (parseInt(movie.id) % 1000000000)
: '' + movie.poster;
var players = movie.player
? movie.player
.replace(/(^\s*)|(\s*)$/g, '')
.replace(/\s*,\s*/g, ',')
.split(',')
.map(function(p) {
if (/\s*([^h\/]+?)\s+(http.+|\/\/.+)\s*/i.test(p.trim())) {
var name_iframe = /\s*([^h\/]+?)\s+(http.+|\/\/.+)\s*/i.exec(
p.trim()
);
var name = name_iframe[1];
var iframe = name_iframe[2];
var season, episode;
if (/([0-9]+)\s+сезон\s+([0-9]+)\s+серия/i.test(name)) {
var season_episode1 = /([0-9]+)\s+сезон\s+([0-9]+)\s+серия/i.exec(
name
);
season = parseInt(season_episode1[1]);
episode = parseInt(season_episode1[2]);
name = name
.replace(
/\s*([0-9]+)\s+сезон\s+([0-9]+)\s+серия\s*/i,
' '
)
.trim();
}
if (/сезон\s+([0-9]+)\s+серия\s+([0-9]+)/i.test(name)) {
var season_episode2 = /сезон\s+([0-9]+)\s+серия\s+([0-9]+)/i.exec(
name
);
season = parseInt(season_episode2[1]);
episode = parseInt(season_episode2[2]);
name = name
.replace(
/\s*сезон\s+([0-9]+)\s+серия\s+([0-9]+)\s*/i,
' '
)
.trim();
}
if (/s([0-9]+)e([0-9]+)/i.test(name)) {
var season_episode3 = /s([0-9]+)e([0-9]+)/i.exec(name);
season = parseInt(season_episode3[1]);
episode = parseInt(season_episode3[2]);
name = name
.replace(/\s*s([0-9]+)e([0-9]+)\s*/i, ' ')
.trim();
}
if (!name) {
var name2 = iframe
.trim()
.match(/^.+?:\/\/([^\/?#]+)(?:[\/?#]|$)/i);
name = (name2 && name2[1]) || '';
}
if (
typeof season !== 'undefined' &&
typeof episode !== 'undefined'
) {
return {
name: name,
season: season,
episode: episode,
iframe: iframe
};
}
return {
name: name,
iframe: iframe
};
} else if (/http|\/\//i.test(p.trim())) {
var matches = p
.trim()
.match(/^.+?:\/\/([^\/?#]+)(?:[\/?#]|$)/i);
return {
name: (matches && matches[1]) || '',
iframe: p.trim()
};
}
return false;
})
.filter(Boolean)
: [];
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].forEach(function(i) {
if (custom['player' + i]) {
if (
/\s*([^h\/]+?)\s+(http.+|\/\/.+)\s*/i.test(
custom['player' + i].trim()
)
) {
var name_iframe = /\s*([^h\/]+?)\s+(http.+|\/\/.+)\s*/i.exec(
custom['player' + i].trim()
);
var name = name_iframe[1];
var iframe = name_iframe[2];
players.push({
name: name,
iframe: iframe
});
} else {
var matches = custom['player' + i]
.trim()
.match(/^.+?:\/\/([^\/?#]+)(?:[\/?#]|$)/i);
players.push({
name: (matches && matches[1]) || '',
iframe: custom['player' + i]
});
}
}
});
Object.keys(custom)
.reverse()
.forEach(function(e) {
if (/s([0-9]+)e([0-9]+)/i.test(e)) {
var season_episode = /s([0-9]+)e([0-9]+)/i.exec(e);
var season = parseInt(season_episode[1]);
var episode = parseInt(season_episode[2]);
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].forEach(function(i) {
if (custom[e]['player' + i]) {
if (
/\s*([^h\/]+?)\s+(http.+|\/\/.+)\s*/i.test(
custom[e]['player' + i].trim()
)
) {
var name_iframe = /\s*([^h\/]+?)\s+(http.+|\/\/.+)\s*/i.exec(
custom[e]['player' + i].trim()
);
var name = name_iframe[1];
var iframe = name_iframe[2];
players.push({
name: name,
season: season,
episode: episode,
iframe: iframe
});
} else {
var matches = custom[e]['player' + i]
.trim()
.match(/^.+?:\/\/([^\/?#]+)(?:[\/?#]|$)/i);
players.push({
name: (matches && matches[1]) || '',
season: season,
episode: episode,
iframe: custom[e]['player' + i]
});
}
}
});
}
});
var data = {
status: 'success',
time: time.Value,
result: {
id: movie.id,
imdb_id: (custom && custom.imdb_id) || null,
tmdb_id: (custom && custom.tmdb_id) || null,
tvmaze_id: (custom && custom.tvmaze_id) || null,
wa_id: (custom && custom.wa_id) || null,
douban_id: (custom && custom.douban_id) || null,
movie_id: (custom && custom.movie_id) || null,
original_title: movie.title_en || null,
translated_title: movie.title_ru || null,
type: movie.type === 0 ? 'movie' : 'tv',
realise:
movie.premiere && parseInt(movie.premiere)
? new Date(
(parseInt(movie.premiere) - 719528) * 1000 * 60 * 60 * 24
)
.toJSON()
.substr(0, 10)
: null,
year: movie.year || null,
country: movie.country
? movie.country
.replace(/(^\s*)|(\s*)$/g, '')
.replace(/\s*,\s*/g, ',')
.split(',')
: null,
genre: movie.genre
? movie.genre
.replace(/(^\s*)|(\s*)$/g, '')
.replace(/\s*,\s*/g, ',')
.split(',')
: null,
director: movie.director
? movie.director
.replace(/(^\s*)|(\s*)$/g, '')
.replace(/\s*,\s*/g, ',')
.split(',')
: null,
actor: movie.actor
? movie.actor
.replace(/(^\s*)|(\s*)$/g, '')
.replace(/\s*,\s*/g, ',')
.split(',')
: null,
overview: movie.description || null,
poster: {
small: createImgUrl('poster', 'small', poster),
medium: createImgUrl('poster', 'medium', poster),
original: createImgUrl('poster', 'original', poster)
},
photos: movie.pictures
? movie.pictures.split(',').map(function(picture) {
return {
small: createImgUrl('picture', 'small', picture),
medium: createImgUrl('picture', 'medium', picture),
original: createImgUrl('picture', 'original', picture)
};
})
: null,
players:
players && players.length
? players
.sort(function(a, b) {
if (
typeof a.season === 'undefined' ||
typeof a.episode === 'undefined'
) {
return -1;
}
return parseFloat(a.season) - parseFloat(b.season);
})
.sort(function(a, b) {
if (
typeof a.season === 'undefined' ||
typeof a.episode === 'undefined'
) {
return -1;
}
if (b.season === a.season) {
return parseFloat(a.episode) - parseFloat(b.episode);
}
return 0;
})
: null,
imdb: {
rating: movie.imdb_rating,
votes: movie.imdb_vote
},
kp: {
rating: movie.kp_rating,
votes: movie.kp_vote
},
web: {
rating: movie.rating,
votes: movie.vote
},
lastmod: (custom && custom.lastmod) || null
}
};
if (movie.quality) {
data.result.quality = movie.quality;
}
if (movie.translate) {
data.result.sound = movie.translate;
}
cache.set(hash, data);
return res.json(data);
}
);
});
});
router.all('/', function(req, res) {
var player = typeof req.query['player'] !== 'undefined';
var type = typeof req.query['type'] !== 'undefined' ? req.query['type'] : '';
@ -804,4 +1232,62 @@ function getIp(req) {
return ip;
}
function createImgUrl(type, size, id) {
id = id ? ('' + id).trim() : '';
var image = '/files/poster/no.jpg';
var source = 'not';
var url_url = /^(http|\/)/.test(id);
var url_kp = /^[0-9]*$/.test(id);
var url_ya = /^\/(get-kinopoisk-image|get-kino-vod-films-gallery)[a-z0-9\-]*$/i.test(
id
);
var url_shikimori = /^\/(animes|mangas|screenshots)-[a-z0-9]+-[a-z0-9]+\.(jpg|jpeg|gif|png)$/i.test(
id
);
var url_tvmaze = /^\/[0-9]{1,3}-[0-9]*\.(jpg|png)$/.test(id);
var url_tmdb = /^\/[a-z0-9]*\.(jpg|png)$/i.test(id);
var url_imdb = /^\/[a-z0-9\-_.,@]*\.(jpg|png)$/i.test(id);
if (url_tmdb) {
source = 'tmdb';
} else if (url_tvmaze) {
source = 'tvmaze';
} else if (url_imdb) {
source = 'imdb';
} else if (url_kp) {
source = 'kinopoisk';
} else if (url_ya) {
source = 'yandex';
} else if (url_shikimori) {
source = 'shikimori';
} else if (url_url) {
source = 'url';
}
switch (source) {
case 'kinopoisk':
image = '/files/' + type + '/' + size + '/' + id + '.jpg';
break;
case 'yandex':
image = '/files/' + type + '/' + size + id + '.jpg';
break;
case 'imdb':
case 'tmdb':
case 'tvmaze':
case 'shikimori':
image = '/files/' + type + '/' + size + id;
break;
case 'url':
image = id;
break;
}
return (
(config.language === 'ru' && config.ru.subdomain && config.ru.domain
? config.protocol + config.ru.subdomain + config.ru.domain
: config.protocol + config.subdomain + config.domain) + image
);
}
module.exports = router;

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "إذا لم يكن هناك معرف أساسي في معلومات الفيلم، فلن يتم حفظ البيانات إلى قاعدة البيانات",
"Независимые дополнительные домены": "مجالات إضافية مستقلة",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "قائمة من المجالات الإضافية التي سيفتح عليها موقع الويب في متصفح المستخدم (دون إعادة توجيه إلى المجالات الرئيسية دون إعادة توجيه إلى البروتوكول الرئيسي)",
"Дополнительные домены добавляются командой:": "تتم إضافة المجالات الإضافية بواسطة الأمر:"
"Дополнительные домены добавляются командой:": "تتم إضافة المجالات الإضافية بواسطة الأمر:",
"API": "API",
"Модуль API веб-сайта": "وحدة تطبيقات API",
"Информация о параметрах модуля API веб-сайта": "معلومات حول معلمات وحدة تطبيقات API",
"Список API токенов": "قائمة api tokenov",
"Список токенов для доступа к API веб-сайта": "قائمة الرموز الامريكية للوصول إلى موقع الويب",
"Добавьте в список хотя бы один токен": "أضف إلى القائمة رمز واحد على الأقل",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "تتيح لك الوحدة الاستقبال بمعلومات حول الأفلام بتنسيق JSON."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Ако в информацията за филма няма основен идентификатор, данните не се записват в базата данни",
"Независимые дополнительные домены": "Независими допълнителни домейни",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Списък на допълнителните домейни, на които уебсайтът ще се отвори в потребителския браузър (без пренасочване към основните области и без пренасочване към основния протокол)",
"Дополнительные домены добавляются командой:": "Допълнителните домейни се добавят от командата:"
"Дополнительные домены добавляются командой:": "Допълнителните домейни се добавят от командата:",
"API": "API",
"Модуль API веб-сайта": "Модул API на сайта",
"Информация о параметрах модуля API веб-сайта": "Информация за параметрите на модула на сайта API",
"Список API токенов": "Списък на API Tokenov",
"Список токенов для доступа к API веб-сайта": "Списък на символите за достъп до уебсайта на уебсайта",
"Добавьте в список хотя бы один токен": "Добавете към списъка поне един знак",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Модулът ви позволява да получавате информация за филмите в JSON формат."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "চলচ্চিত্রের তথ্য কোন মৌলিক সনাক্তকারী না থাকলে, ডেটা ডাটাবেসের কাছে সংরক্ষিত হয় না",
"Независимые дополнительные домены": "স্বাধীন অতিরিক্ত ডোমেইন",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "অতিরিক্ত ডোমেনগুলির একটি তালিকা যা ব্যবহারকারী ব্রাউজারে ওয়েবসাইটটি খুলবে (প্রধান ডোমেনে পুনঃনির্দেশিত না করে এবং প্রধান প্রোটোকলটিতে পুনঃনির্দেশিত না করে)",
"Дополнительные домены добавляются командой:": "অতিরিক্ত ডোমেইন কমান্ড দ্বারা যোগ করা হয়:"
"Дополнительные домены добавляются командой:": "অতিরিক্ত ডোমেইন কমান্ড দ্বারা যোগ করা হয়:",
"API": "API",
"Модуль API веб-сайта": "ওয়েবসাইট API মডিউল",
"Информация о параметрах модуля API веб-сайта": "ওয়েবসাইট API মডিউল পরামিতি সম্পর্কে তথ্য",
"Список API токенов": "API টোকেনভ এর তালিকা",
"Список токенов для доступа к API веб-сайта": "ওয়েবসাইট ওয়েবসাইট অ্যাক্সেস করতে টোকেনের তালিকা",
"Добавьте в список хотя бы один токен": "অন্তত একটি টোকেন তালিকা যোগ করুন",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "মডিউল আপনাকে JSON বিন্যাসে চলচ্চিত্রগুলির সম্পর্কে তথ্য পেতে দেয়।"
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Pokud není v informacích o movieu žádný základní identifikátor, data nejsou uložena do databáze",
"Независимые дополнительные домены": "Nezávislé další domény",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Seznam dalších domén, na kterých se webová stránka otevře v prohlížeči uživatele (bez přesměrování na hlavní domény a bez přesměrování na hlavní protokol)",
"Дополнительные домены добавляются командой:": "Příběh jsou přidány další domény:"
"Дополнительные домены добавляются командой:": "Příběh jsou přidány další domény:",
"API": "API",
"Модуль API веб-сайта": "Webová stránka API modul",
"Информация о параметрах модуля API веб-сайта": "Informace o parametrech modulu API",
"Список API токенов": "Seznam api tokenov",
"Список токенов для доступа к API веб-сайта": "Seznam tokenů pro přístup k webovým stránkám webu",
"Добавьте в список хотя бы один токен": "Přidat do seznamu alespoň jeden token",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Modul umožňuje obdržet informace o movieech ve formátu JSON."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Hvis der ikke er nogen grundlæggende identifikator i movieoplysningerne, gemmes dataene ikke på databasen",
"Независимые дополнительные домены": "Uafhængige yderligere domæner",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "En liste over yderligere domæner, på hvilke hjemmesiden åbnes i brugerbrowseren (uden omdirigering til de vigtigste domæner og uden omdirigering til hovedprotokollen)",
"Дополнительные домены добавляются командой:": "Yderligere domæner tilføjes af kommandoen:"
"Дополнительные домены добавляются командой:": "Yderligere domæner tilføjes af kommandoen:",
"API": "API",
"Модуль API веб-сайта": "Website API modul",
"Информация о параметрах модуля API веб-сайта": "Oplysninger om hjemmesiden API modul parametre",
"Список API токенов": "Liste over api tokenov",
"Список токенов для доступа к API веб-сайта": "Liste over tokens for at få adgang til hjemmesiden på hjemmesiden",
"Добавьте в список хотя бы один токен": "Tilføj til listen mindst et token",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Modulet giver dig mulighed for at modtage oplysninger om movie i JSON-format."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Wenn in den movieinformationen keine grundlegende kennung vorliegt, werden die daten nicht in der datenbank gespeichert",
"Независимые дополнительные домены": "Unabhängige zusätzliche domains",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Eine Liste zusätzlicher Domänen, auf denen die Website im Benutzer-Browser öffnet (ohne umgeleitet zu den wichtigsten Domänen und ohne Umleiten des Hauptprotokolls)",
"Дополнительные домены добавляются командой:": "Zusätzliche domains werden vom befehl hinzugefügt:"
"Дополнительные домены добавляются командой:": "Zusätzliche domains werden vom befehl hinzugefügt:",
"API": "API",
"Модуль API веб-сайта": "Website-API-Modul",
"Информация о параметрах модуля API веб-сайта": "Informationen zu den Parametern der Website-API-Modul",
"Список API токенов": "Liste der api tokenov",
"Список токенов для доступа к API веб-сайта": "Liste der Token, auf die auf die Website der Website zuzugreifen ist",
"Добавьте в список хотя бы один токен": "Zumindest mindestens ein token hinzufügen",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Mit dem Modul können Sie Informationen über moviee im JSON-Format empfangen."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Εάν δεν υπάρχει βασικό αναγνωριστικό στις πληροφορίες της ταινίας, τα δεδομένα δεν αποθηκεύονται στη βάση δεδομένων",
"Независимые дополнительные домены": "Ανεξάρτητοι πρόσθετοι τομείς",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Μια λίστα με πρόσθετους τομείς στους οποίους ο ιστότοπος θα ανοίξει στο πρόγραμμα περιήγησης χρήστη (χωρίς ανακατεύθυνση στους κύριους τομείς και χωρίς ανακατεύθυνση στο κύριο πρωτόκολλο)",
"Дополнительные домены добавляются командой:": "Πρόσθετες περιοχές προστίθενται από την εντολή:"
"Дополнительные домены добавляются командой:": "Πρόσθετες περιοχές προστίθενται από την εντολή:",
"API": "API",
"Модуль API веб-сайта": "Module API ιστότοπου",
"Информация о параметрах модуля API веб-сайта": "Πληροφορίες σχετικά με τις παραμέτρους μονάδας API ιστότοπου",
"Список API токенов": "Κατάλογος Api Tokenov",
"Список токенов для доступа к API веб-сайта": "Κατάλογος μηνυμάτων για πρόσβαση στην ιστοσελίδα της ιστοσελίδας",
"Добавьте в список хотя бы один токен": "Προσθήκη στη λίστα τουλάχιστον ένα διακριτικό",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Η ενότητα σάς επιτρέπει να λαμβάνετε πληροφορίες σχετικά με τις ταινίες σε μορφή JSON."
}

View file

@ -1028,5 +1028,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "If there is no main identifier in the movie information, the data is not saved to the database",
"Независимые дополнительные домены": "Independent additional domains",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "The list of additional domains on which the website will open in the user browser (without redirecting to the main domains and without redirecting to the main protocol)",
"Дополнительные домены добавляются командой:": "Additional domains are added with command:"
"Дополнительные домены добавляются командой:": "Additional domains are added with command:",
"API": "API",
"Модуль API веб-сайта": "Website API module",
"Информация о параметрах модуля API веб-сайта": "Information about the parameters of the website API",
"Список API токенов": "List of tokens API",
"Список токенов для доступа к API веб-сайта": "List of tokens to access the website API",
"Добавьте в список хотя бы один токен": "Add at least one token to the list",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "The module allows you to receive information about movies in JSON format."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Si no hay un identificador básico en la información de la película, los datos no se guardan en la base de datos",
"Независимые дополнительные домены": "Dominios adicionales independientes",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Una lista de dominios adicionales en los que se abrirá el sitio web en el navegador de usuarios (sin redirigir a los dominios principales y sin redirigir al protocolo principal)",
"Дополнительные домены добавляются командой:": "El comando agrega dominios adicionales:"
"Дополнительные домены добавляются командой:": "El comando agrega dominios adicionales:",
"API": "API",
"Модуль API веб-сайта": "Módulo API del sitio web",
"Информация о параметрах модуля API веб-сайта": "Información sobre los parámetros del módulo API del sitio web",
"Список API токенов": "Lista de API Tokenov",
"Список токенов для доступа к API веб-сайта": "Lista de tokens para acceder al sitio web del sitio web",
"Добавьте в список хотя бы один токен": "Añadir a la lista al menos un token",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "El módulo le permite recibir información sobre películas en formato JSON."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Kui movieiteabe põhjal puudub põhifunktsiooni, ei salvestata andmebaasi",
"Независимые дополнительные домены": "Sõltumatud täiendavad domeenid",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Loetelu täiendavatest valdkondadest, millele veebisait avaneb kasutaja brauseris (ilma peamiste domeenide suunamata ja ilma peaprotokolli suunamata)",
"Дополнительные домены добавляются командой:": "Käskude lisatakse täiendavaid domeenide:"
"Дополнительные домены добавляются командой:": "Käskude lisatakse täiendavaid domeenide:",
"API": "API",
"Модуль API веб-сайта": "Veebisaidi API moodul",
"Информация о параметрах модуля API веб-сайта": "Teave veebisaidi API mooduli parameetrite kohta",
"Список API токенов": "API Tombovi nimekiri",
"Список токенов для доступа к API веб-сайта": "Veebisaidi veebilehe juurde pääsemiseks mõeldud märkide nimekiri",
"Добавьте в список хотя бы один токен": "Lisage loendisse vähemalt üks sümbol",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Moodul võimaldab teil saada teavet movieide kohta JSON-vormingus."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Jos elokuvatiedoissa ei ole perustunnistetta, tietoja ei tallenneta tietokantaan",
"Независимые дополнительные домены": "Riippumattomat ylimääräiset verkkotunnukset",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Luettelo ylimääräisistä verkkotunnuksista, joilla verkkosivusto avautuu käyttäjän selaimessa (ilman uudelleenohjausta pääalueelle ja ilman pääprotokollaa)",
"Дополнительные домены добавляются командой:": "Muita verkkotunnuksia lisätään komento:"
"Дополнительные домены добавляются командой:": "Muita verkkotunnuksia lisätään komento:",
"API": "API",
"Модуль API веб-сайта": "Verkkosivuston API-moduuli",
"Информация о параметрах модуля API веб-сайта": "Tietoa verkkosivuston API-moduulin parametreista",
"Список API токенов": "Luettelo API Tokenov",
"Список токенов для доступа к API веб-сайта": "Luettelo merkkeistä päästä verkkosivuston verkkosivustolle",
"Добавьте в список хотя бы один токен": "Lisää luetteloon vähintään yksi merkki",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Moduulin avulla voit vastaanottaa tietoja JSON-muodossa elokuvista."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "S'il n'y a pas d'identifiant de base dans les informations de movie, les données ne sont pas enregistrées dans la base de données",
"Независимые дополнительные домены": "Domaines supplémentaires indépendants",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Une liste de domaines supplémentaires sur lesquels le site Web s'ouvrira dans le navigateur utilisateur (sans rediriger les domaines principaux et sans rediriger au protocole principal)",
"Дополнительные домены добавляются командой:": "Des domaines supplémentaires sont ajoutés par la commande:"
"Дополнительные домены добавляются командой:": "Des domaines supplémentaires sont ajoutés par la commande:",
"API": "API",
"Модуль API веб-сайта": "Site Web Module API",
"Информация о параметрах модуля API веб-сайта": "Informations sur le site Web Paramètres de module API",
"Список API токенов": "Liste des API Tokenov",
"Список токенов для доступа к API веб-сайта": "Liste des jetons pour accéder au site Web du site Web",
"Добавьте в список хотя бы один токен": "Ajouter à la liste au moins un jeton",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Le module vous permet de recevoir des informations sur les movies au format JSON."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "यदि फिल्म की जानकारी में कोई बुनियादी पहचानकर्ता नहीं है, तो डेटा डेटाबेस में सहेजा नहीं गया है",
"Независимые дополнительные домены": "स्वतंत्र अतिरिक्त डोमेन",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "अतिरिक्त डोमेन की एक सूची जिस पर वेबसाइट उपयोगकर्ता ब्राउज़र में खुल जाएगी (मुख्य डोमेन पर रीडायरेक्ट किए बिना और मुख्य प्रोटोकॉल को रीडायरेक्ट किए बिना)",
"Дополнительные домены добавляются командой:": "कमांड द्वारा अतिरिक्त डोमेन जोड़े गए हैं:"
"Дополнительные домены добавляются командой:": "कमांड द्वारा अतिरिक्त डोमेन जोड़े गए हैं:",
"API": "API",
"Модуль API веб-сайта": "वेबसाइट एपीआई मॉड्यूल",
"Информация о параметрах модуля API веб-сайта": "वेबसाइट एपीआई मॉड्यूल पैरामीटर के बारे में जानकारी",
"Список API токенов": "एपीआई टोकनोव की सूची",
"Список токенов для доступа к API веб-сайта": "वेबसाइट की वेबसाइट तक पहुंचने के लिए टोकन की सूची",
"Добавьте в список хотя бы один токен": "सूची में कम से कम एक टोकन जोड़ें",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "मॉड्यूल आपको JSON प्रारूप में फिल्मों के बारे में जानकारी प्राप्त करने की अनुमति देता है।"
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Ako u movieu nema osnovnog identifikatora, podaci se ne spremaju u bazu podataka",
"Независимые дополнительные домены": "Neovisne dodatne domene",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Popis dodatnih domena na kojima će se web-lokacija otvoriti u korisničkom pregledniku (bez preusmjeravanja na glavne domene i bez preusmjeravanja na glavni protokol)",
"Дополнительные домены добавляются командой:": "Dodatne domene dodaju naredba:"
"Дополнительные домены добавляются командой:": "Dodatne domene dodaju naredba:",
"API": "API",
"Модуль API веб-сайта": "Modul API web stranice",
"Информация о параметрах модуля API веб-сайта": "Informacije o parametrima API modula web-lokacije",
"Список API токенов": "Popis API tokenov",
"Список токенов для доступа к API веб-сайта": "Popis tokena za pristup web-mjestu web-mjesta",
"Добавьте в список хотя бы один токен": "Dodajte na popis najmanje jedan token",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Modul vam omogućuje da primite informacije o movieovima u JSON formatu."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Ha a movieinformációkban nincs alapvető azonosító, az adatok nem kerülnek mentésre az adatbázisba",
"Независимые дополнительные домены": "Független kiegészítő tartományok",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Olyan kiegészítő tartományok listája, amelyeken a weboldal megnyílik a felhasználói böngészőben (anélkül, hogy átirányítaná a fő tartományok átirányítását és a fő protokoll átirányítását)",
"Дополнительные домены добавляются командой:": "További domaineket adnak hozzá a parancs:"
"Дополнительные домены добавляются командой:": "További domaineket adnak hozzá a parancs:",
"API": "API",
"Модуль API веб-сайта": "Webhely API modul",
"Информация о параметрах модуля API веб-сайта": "Információk az API modul paramétereire vonatkozó információk",
"Список API токенов": "Listája api tokenov",
"Список токенов для доступа к API веб-сайта": "A tokenek listája a weboldal honlapjának eléréséhez",
"Добавьте в список хотя бы один токен": "Add hozzá a listához legalább egy token",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "A modul lehetővé teszi, hogy információt kapjon a JSON formátumú movieekről."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Jika tidak ada pengidentifikasi dasar dalam informasi movie, data tidak disimpan ke database",
"Независимые дополнительные домены": "Domain tambahan independen",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Daftar domain tambahan di mana situs web akan terbuka di browser pengguna (tanpa mengarahkan ke domain utama dan tanpa mengarahkan ke protokol utama)",
"Дополнительные домены добавляются командой:": "Domain tambahan ditambahkan oleh perintah:"
"Дополнительные домены добавляются командой:": "Domain tambahan ditambahkan oleh perintah:",
"API": "API",
"Модуль API веб-сайта": "Modul API situs web",
"Информация о параметрах модуля API веб-сайта": "Informasi tentang situs web Parameter Modul API",
"Список API токенов": "Daftar API Tokenov",
"Список токенов для доступа к API веб-сайта": "Daftar token untuk mengakses situs web situs web",
"Добавьте в список хотя бы один токен": "Tambahkan ke daftar setidaknya satu token",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Modul ini memungkinkan Anda untuk menerima informasi tentang movie dalam format JSON."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Se non è presente alcun identificatore di base nelle informazioni del movie, i dati non vengono salvati nel database",
"Независимые дополнительные домены": "Domini aggiuntivi indipendenti",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Un elenco di domini aggiuntivi su cui si aprirà il sito Web nel browser utente (senza reindirizzamento ai domini principali e senza reindirizzare al protocollo principale)",
"Дополнительные домены добавляются командой:": "I domini aggiuntivi vengono aggiunti dal comando:"
"Дополнительные домены добавляются командой:": "I domini aggiuntivi vengono aggiunti dal comando:",
"API": "API",
"Модуль API веб-сайта": "Modulo API del sito Web",
"Информация о параметрах модуля API веб-сайта": "Informazioni sui parametri del modulo API del sito Web",
"Список API токенов": "Elenco dei Tokenov API",
"Список токенов для доступа к API веб-сайта": "Elenco dei token per accedere al sito web del sito web",
"Добавьте в список хотя бы один токен": "Aggiungi all'elenco almeno un token",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Il modulo consente di ricevere informazioni sui movie in formato JSON."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "ムービー情報に基本識別子がない場合、データはデータベースに保存されません。",
"Независимые дополнительные домены": "独立した追加ドメイン",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Webサイトがユーザーブラウザで開く追加ドメインのリストメインドメインにリダイレーションせずに、メインプロトコルにリダイレクトしない",
"Дополнительные домены добавляются командой:": "追加のドメインがコマンドによって追加されます。"
"Дополнительные домены добавляются командой:": "追加のドメインがコマンドによって追加されます。",
"API": "API",
"Модуль API веб-сайта": "ウェブサイトAPIモジュール",
"Информация о параметрах модуля API веб-сайта": "WebサイトAPIモジュールパラメータに関する情報",
"Список API токенов": "APIトークーフのリスト",
"Список токенов для доступа к API веб-сайта": "ウェブサイトのウェブサイトにアクセスするトークンのリスト",
"Добавьте в список хотя бы один токен": "リストに追加少なくとも1つのトークン",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "モジュールを使用すると、JSON形式のフィルムに関する情報を受信できます。"
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "영화 정보에 기본 식별자가 없으면 데이터가 데이터베이스에 저장되지 않습니다",
"Независимые дополнительные домены": "독립적 인 추가 도메인",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "사용자 브라우저에서 웹 사이트가 열릴 추가 도메인 목록 (주요 도메인으로 리디렉션하지 않고 주 프로토콜로 리디렉션하지 않고)",
"Дополнительные домены добавляются командой:": "추가 도메인이 명령에 의해 추가됩니다"
"Дополнительные домены добавляются командой:": "추가 도메인이 명령에 의해 추가됩니다",
"API": "API",
"Модуль API веб-сайта": "웹 사이트 API 모듈",
"Информация о параметрах модуля API веб-сайта": "웹 사이트 API 모듈 매개 변수에 대한 정보",
"Список API токенов": "목록 API 토커프의 목록",
"Список токенов для доступа к API веб-сайта": "웹 사이트 웹 사이트에 액세스하는 토큰 목록",
"Добавьте в список хотя бы один токен": "적어도 하나의 토큰 목록에 추가하십시오",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "이 모듈을 사용하면 JSON 형식의 필름에 대한 정보를받을 수 있습니다."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Jei moviee nėra pagrindinio identifikatoriaus, duomenys neišsaugomi į duomenų bazę",
"Независимые дополнительные домены": "Nepriklausomi papildomi domenai",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Papildomų domenų, kuriuose svetainė bus atidaryta vartotojo naršyklėje, sąrašas (peradresuojant į pagrindines sritis ir peradresuojant į pagrindinį protokolą)",
"Дополнительные домены добавляются командой:": "Pridedamos papildomos domenai:"
"Дополнительные домены добавляются командой:": "Pridedamos papildomos domenai:",
"API": "API",
"Модуль API веб-сайта": "Svetainės API modulis",
"Информация о параметрах модуля API веб-сайта": "Informacija apie svetainės API modulio parametrus",
"Список API токенов": "Sąrašas Api Tokenov",
"Список токенов для доступа к API веб-сайта": "Sąrašas žetonų, kad galėtumėte pasiekti svetainės svetainę",
"Добавьте в список хотя бы один токен": "Įdėkite į sąrašą bent vieną raktą",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Modulis leidžia gauti informaciją apie movieus JSON formatu."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Ja movieas informācijā nav pamata identifikatora, dati netiek saglabāti datubāzē",
"Независимые дополнительные домены": "Neatkarīgi papildu domēni",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Papildu domēnu saraksts, kurās tīmekļa vietne atvērs lietotāju pārlūkprogrammā (bez novirzīšanas uz galvenajiem domēniem un bez novirzīšanas uz galveno protokolu)",
"Дополнительные домены добавляются командой:": "Papildu domēni pievieno komanda:"
"Дополнительные домены добавляются командой:": "Papildu domēni pievieno komanda:",
"API": "API",
"Модуль API веб-сайта": "Tīmekļa vietnes api modulis",
"Информация о параметрах модуля API веб-сайта": "Informācija par tīmekļa vietnes api moduļa parametriem",
"Список API токенов": "API Tokenova saraksts",
"Список токенов для доступа к API веб-сайта": "Tīmekļa sarakstu, lai piekļūtu tīmekļa vietnes tīmekļa vietnei",
"Добавьте в список хотя бы один токен": "Pievienojiet sarakstam vismaz vienu marķieri",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Modulis ļauj saņemt informāciju par movieām JSON formātā."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Als er geen basis-ID is in de movieinformatie, worden de gegevens niet opgeslagen in de database",
"Независимые дополнительные домены": "Onafhankelijke extra domeinen",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Een lijst met extra domeinen waarop de website wordt geopend in de gebruikersbrowser (zonder doorverwijzing naar de hoofddomeinen en zonder doorverwijzing naar het hoofdprotocol)",
"Дополнительные домены добавляются командой:": "Extra domeinen worden door de opdracht toegevoegd:"
"Дополнительные домены добавляются командой:": "Extra domeinen worden door de opdracht toegevoegd:",
"API": "API",
"Модуль API веб-сайта": "Website API-module",
"Информация о параметрах модуля API веб-сайта": "Informatie over de API-parameters van de website API-module",
"Список API токенов": "Lijst van API Tokenov",
"Список токенов для доступа к API веб-сайта": "Lijst met tokens om toegang te krijgen tot de website van de website",
"Добавьте в список хотя бы один токен": "Voeg toe aan de lijst ten minste één token",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Met de module kunt u informatie ontvangen over movies in JSON-indeling."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Jeśli w informacjach movieowych nie ma podstawowego identyfikatora, dane nie są zapisywane w bazie danych",
"Независимые дополнительные домены": "Niezależne dodatkowe domeny",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Lista dodatkowych domen, na których strona zostanie otwarta w przeglądarce użytkownika (bez przekierowania do głównych domen i bez przekierowania do głównego protokołu)",
"Дополнительные домены добавляются командой:": "Dodatkowe domeny są dodawane przez polecenie:"
"Дополнительные домены добавляются командой:": "Dodatkowe domeny są dodawane przez polecenie:",
"API": "API",
"Модуль API веб-сайта": "Moduł API w witrynie",
"Информация о параметрах модуля API веб-сайта": "Informacje o parametrach modułu API w witrynie",
"Список API токенов": "Lista API Tokenov",
"Список токенов для доступа к API веб-сайта": "Lista żetonów, aby uzyskać dostęp do strony internetowej",
"Добавьте в список хотя бы один токен": "Dodaj do listy co najmniej jeden token",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Moduł umożliwia odbieranie informacji o movieach w formacie JSON."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Se não houver identificador básico nas informações do moviee, os dados não serão salvos no banco de dados",
"Независимые дополнительные домены": "Domínios adicionais independentes",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Uma lista de domínios adicionais nos quais o site será aberto no navegador do usuário (sem redirecionar para os principais domínios e sem redirecionar para o protocolo principal)",
"Дополнительные домены добавляются командой:": "Domínios adicionais são adicionados pelo comando:"
"Дополнительные домены добавляются командой:": "Domínios adicionais são adicionados pelo comando:",
"API": "API",
"Модуль API веб-сайта": "Módulo de API do site",
"Информация о параметрах модуля API веб-сайта": "Informações sobre os parâmetros do módulo da API do site",
"Список API токенов": "Lista de api tokenov",
"Список токенов для доступа к API веб-сайта": "Lista de tokens para acessar o site do site",
"Добавьте в список хотя бы один токен": "Adicione à lista pelo menos um token",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "O módulo permite receber informações sobre moviees no formato JSON."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Dacă nu există un identificator de bază în informațiile despre movie, datele nu sunt salvate în baza de date",
"Независимые дополнительные домены": "Domenii suplimentare independente",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "O listă de domenii suplimentare pe care site-ul web se va deschide în browserul utilizatorului (fără a redirecționa domeniile principale și fără redirecționarea către protocolul principal)",
"Дополнительные домены добавляются командой:": "Domeniile suplimentare sunt adăugate de comandă:"
"Дополнительные домены добавляются командой:": "Domeniile suplimentare sunt adăugate de comandă:",
"API": "API",
"Модуль API веб-сайта": "Modulul API site",
"Информация о параметрах модуля API веб-сайта": "Informații despre parametrii modulului API al site-ului web",
"Список API токенов": "Lista API Tokenov",
"Список токенов для доступа к API веб-сайта": "Lista de jetoane pentru a accesa site-ul web al site-ului",
"Добавьте в список хотя бы один токен": "Adăugați la listă cel puțin un token",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Modulul vă permite să primiți informații despre moviee în format JSON."
}

View file

@ -1028,5 +1028,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных",
"Независимые дополнительные домены": "Независимые дополнительные домены",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)",
"Дополнительные домены добавляются командой:": "Дополнительные домены добавляются командой:"
"Дополнительные домены добавляются командой:": "Дополнительные домены добавляются командой:",
"API": "API",
"Модуль API веб-сайта": "Модуль API веб-сайта",
"Информация о параметрах модуля API веб-сайта": "Информация о параметрах модуля API веб-сайта",
"Список API токенов": "Список API токенов",
"Список токенов для доступа к API веб-сайта": "Список токенов для доступа к API веб-сайта",
"Добавьте в список хотя бы один токен": "Добавьте в список хотя бы один токен",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Модуль позволяет получать информацию о фильмах в JSON формате."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Ak nie je v informáciách o movieoch žiadny základný identifikátor, údaje sa neuložia do databázy",
"Независимые дополнительные домены": "Nezávislé ďalšie domény",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Zoznam ďalších domén, na ktorých sa webová stránka otvorí v užívateľskom prehliadači (bez presmerovania na hlavné domény a bez presmerovania na hlavný protokol)",
"Дополнительные домены добавляются командой:": "Príkaz pridá ďalšie domény:"
"Дополнительные домены добавляются командой:": "Príkaz pridá ďalšie domény:",
"API": "API",
"Модуль API веб-сайта": "Modul webovej stránky API",
"Информация о параметрах модуля API веб-сайта": "Informácie o parametroch modulu API",
"Список API токенов": "Zoznam API TOKENOV",
"Список токенов для доступа к API веб-сайта": "Zoznam tokenov na prístup na webovú stránku webovej stránky",
"Добавьте в список хотя бы один токен": "Pridajte do zoznamu aspoň jedného tokenu",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Modul vám umožňuje prijímať informácie o fóliách vo formáte JSON."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Če v informacijah o movieu ni osnovnega identifikatorja, se podatki ne shranijo v bazo podatkov",
"Независимые дополнительные домены": "Neodvisne dodatne domene",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Seznam dodatnih domen, na katerih se bo spletna stran odprla v uporabniškem brskalniku (brez preusmeritve na glavne domene in brez preusmeritve na glavni protokol)",
"Дополнительные домены добавляются командой:": "Ukaz doda dodatne domene:"
"Дополнительные домены добавляются командой:": "Ukaz doda dodatne domene:",
"API": "API",
"Модуль API веб-сайта": "Spletna stran API modula",
"Информация о параметрах модуля API веб-сайта": "Informacije o spletni strani API modul Parametri",
"Список API токенов": "Seznam API Tokenov",
"Список токенов для доступа к API веб-сайта": "Seznam žetonov za dostop do spletne strani spletne strani",
"Добавьте в список хотя бы один токен": "Dodaj na seznam vsaj en žeton",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Modul vam omogoča, da prejemate informacije o movieih v formatu JSON."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Nëse nuk ka identifikues bazë në informacionin e movieit, të dhënat nuk ruhen në bazën e të dhënave",
"Независимые дополнительные домены": "Domenet e pavarura shtesë",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Një listë e fushave shtesë në të cilat faqja e internetit do të hapet në shfletuesin e përdoruesit (pa u ridrejtuar në fushat kryesore dhe pa ridrejtuar në protokollin kryesor)",
"Дополнительные домены добавляются командой:": "Domenet shtesë shtohen nga komanda:"
"Дополнительные домены добавляются командой:": "Domenet shtesë shtohen nga komanda:",
"API": "API",
"Модуль API веб-сайта": "Faqja e internetit API Module",
"Информация о параметрах модуля API веб-сайта": "Informacion rreth parametrave të modulit API",
"Список API токенов": "Lista e API Tokenov",
"Список токенов для доступа к API веб-сайта": "Lista e argumenteve për të hyrë në faqen e internetit të faqes së internetit",
"Добавьте в список хотя бы один токен": "Shtoni në listë të paktën një shenjë",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Moduli ju lejon të merrni informacion rreth movieave në formatin JSON."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Ако у филмским информацијама нема основног идентификатора, подаци се не чувају у бази података",
"Независимые дополнительные домены": "Независне додатне домене",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Листа додатних домена на којима ће се веб локација отворити у корисничком претраживачу (без преусмеравања на главне домене и без преусмеравања на главни протокол)",
"Дополнительные домены добавляются командой:": "Команда додатних домена додају:"
"Дополнительные домены добавляются командой:": "Команда додатних домена додају:",
"API": "API",
"Модуль API веб-сайта": "Вебсите АПИ модул",
"Информация о параметрах модуля API веб-сайта": "Информације о веб локацијама веб локације АПИ модула",
"Список API токенов": "Листа АПИ Токенов",
"Список токенов для доступа к API веб-сайта": "Листа токена за приступ веб локацији веб странице",
"Добавьте в список хотя бы один токен": "Додајте на листу најмање један токен",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Модул вам омогућава да примите информације о филмовима у ЈСОН формату."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Om det inte finns någon grundläggande identifierare i movieinformationen sparas inte data till databasen",
"Независимые дополнительные домены": "Oberoende ytterligare domäner",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "En lista över ytterligare domäner där webbplatsen öppnas i användarbrowser (utan omdirigering till huvuddomänerna och utan omdirigering till huvudprotokollet)",
"Дополнительные домены добавляются командой:": "Ytterligare domäner läggs till av kommandot:"
"Дополнительные домены добавляются командой:": "Ytterligare domäner läggs till av kommandot:",
"API": "API",
"Модуль API веб-сайта": "Webbplats API-modul",
"Информация о параметрах модуля API веб-сайта": "Information om webbplatsen API-modulparametrar",
"Список API токенов": "Lista över API Tokenov",
"Список токенов для доступа к API веб-сайта": "Lista över tokens för att komma åt webbplatsen på webbplatsen",
"Добавьте в список хотя бы один токен": "Lägg till listan minst ett token",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Modulen gör att du kan ta emot information om movieer i JSON-format."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Ikiwa hakuna kitambulisho cha msingi katika maelezo ya filamu, data haijahifadhiwa kwenye databana",
"Независимые дополнительные домены": "Domains za ziada za kujitegemea",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Orodha ya vikoa vya ziada ambavyo tovuti itafungua kwenye kivinjari cha mtumiaji (bila kuelekeza kwenye vikoa vikuu na bila kuelekeza kwa itifaki kuu)",
"Дополнительные домены добавляются командой:": "Majina ya ziada yanaongezwa na amri:"
"Дополнительные домены добавляются командой:": "Majina ya ziada yanaongezwa na amri:",
"API": "API",
"Модуль API веб-сайта": "Tovuti ya API moduli",
"Информация о параметрах модуля API веб-сайта": "Taarifa kuhusu vigezo vya moduli za tovuti ya API",
"Список API токенов": "Orodha ya API Tokenov",
"Список токенов для доступа к API веб-сайта": "Orodha ya ishara kufikia tovuti ya tovuti",
"Добавьте в список хотя бы один токен": "Ongeza kwenye orodha angalau ishara moja",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Moduli inakuwezesha kupokea habari kuhusu filamu katika muundo wa JSON."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "หากไม่มีตัวระบุพื้นฐานในข้อมูลภาพยนตร์ข้อมูลจะไม่ถูกบันทึกไปยังฐานข้อมูล",
"Независимые дополнительные домены": "โดเมนเพิ่มเติมอิสระ",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "รายการของโดเมนเพิ่มเติมที่เว็บไซต์จะเปิดในเบราว์เซอร์ผู้ใช้ (โดยไม่ต้องเปลี่ยนเส้นทางไปยังโดเมนหลักและไม่มีการเปลี่ยนเส้นทางไปยังโปรโตคอลหลัก)",
"Дополнительные домены добавляются командой:": "มีการเพิ่มโดเมนเพิ่มเติมโดยคำสั่ง:"
"Дополнительные домены добавляются командой:": "มีการเพิ่มโดเมนเพิ่มเติมโดยคำสั่ง:",
"API": "API",
"Модуль API веб-сайта": "โมดูล API เว็บไซต์",
"Информация о параметрах модуля API веб-сайта": "ข้อมูลเกี่ยวกับพารามิเตอร์โมดูล API เว็บไซต์",
"Список API токенов": "รายชื่อ API Tokenov",
"Список токенов для доступа к API веб-сайта": "รายชื่อโทเค็นเพื่อเข้าถึงเว็บไซต์ของเว็บไซต์",
"Добавьте в список хотя бы один токен": "เพิ่มลงในรายการโทเค็นอย่างน้อยหนึ่งรายการ",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "โมดูลช่วยให้คุณได้รับข้อมูลเกี่ยวกับภาพยนตร์ในรูปแบบ JSON"
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Movie bilgilerinde temel bir tanımlayıcı yoksa, veriler veritabanına kaydedilmez",
"Независимые дополнительные домены": "Bağımsız ek alanlar",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Websitesinin kullanıcı tarayıcısında açılacağı ek alanların listesi (ana alanları yönlendirmeden ve ana protokolü yönlendirmeden)",
"Дополнительные домены добавляются командой:": "Ek alanlar komut tarafından eklenir:"
"Дополнительные домены добавляются командой:": "Ek alanlar komut tarafından eklenir:",
"API": "API",
"Модуль API веб-сайта": "Websitesi API Modülü",
"Информация о параметрах модуля API веб-сайта": "Websitesi API Modülü Parametreleri Hakkında Bilgi",
"Список API токенов": "Listesi API Tokenov",
"Список токенов для доступа к API веб-сайта": "Websitesinin websitesine erişmek için belirteçlerin listesi",
"Добавьте в список хотя бы один токен": "Listeye en az bir belirteç ekleyin",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Modül, JSON formatındaki movieler hakkında bilgi almanızı sağlar."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Якщо в інформації про фільмі не буде основний ідентифікатор, дані не будуть збережені в базу даних",
"Независимые дополнительные домены": "Незалежні додаткові домени",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Список додаткових доменів, на яких буде відкриватися веб-сайт в браузері користувачів (без перенаправлення на основні домени і без перенаправлення на основний протокол)",
"Дополнительные домены добавляются командой:": "Додаткові домени додаються командою:"
"Дополнительные домены добавляются командой:": "Додаткові домени додаються командою:",
"API": "API",
"Модуль API веб-сайта": "Модуль API веб-сайту",
"Информация о параметрах модуля API веб-сайта": "Інформація про параметри модуля API веб-сайту",
"Список API токенов": "Список API токенов",
"Список токенов для доступа к API веб-сайта": "Список токенов для доступу до API веб-сайту",
"Добавьте в список хотя бы один токен": "Додайте до списку хоча б один токен",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Модуль дозволяє отримувати інформацію про фільми в JSON форматі."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "Nếu không có định danh cơ bản trong thông tin phim, dữ liệu sẽ không được lưu vào cơ sở dữ liệu",
"Независимые дополнительные домены": "Tên miền bổ sung độc lập",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "Một danh sách các tên miền bổ sung mà trang web sẽ mở trong trình duyệt người dùng (mà không chuyển hướng đến các tên miền chính và mà không chuyển hướng đến giao thức chính)",
"Дополнительные домены добавляются командой:": "Tên miền bổ sung được thêm vào bởi lệnh:"
"Дополнительные домены добавляются командой:": "Tên miền bổ sung được thêm vào bởi lệnh:",
"API": "API",
"Модуль API веб-сайта": "Mô-đun API trang web",
"Информация о параметрах модуля API веб-сайта": "Thông tin về các tham số mô-đun API trang web",
"Список API токенов": "Danh sách api tokenov",
"Список токенов для доступа к API веб-сайта": "Danh sách các token để truy cập trang web của trang web",
"Добавьте в список хотя бы один токен": "Thêm vào danh sách ít nhất một mã thông báo",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "Mô-đun cho phép bạn nhận thông tin về các bộ phim ở định dạng JSON."
}

View file

@ -1029,5 +1029,12 @@
"Если в информации о фильме не будет основного идентификатора, данные не сохранятся в базу данных": "如果电影信息中没有基本标识符,则数据不会保存到数据库中",
"Независимые дополнительные домены": "独立的额外域名",
"Список дополнительных доменов, на которых будет открываться веб-сайт в браузере пользователей (без перенаправления на основные домены и без перенаправления на основной протокол)": "网站在用户浏览器中打开的其他域列表(不重定向到主域,而不重定向到主协议)",
"Дополнительные домены добавляются командой:": "该命令添加了其他域:"
"Дополнительные домены добавляются командой:": "该命令添加了其他域:",
"API": "API",
"Модуль API веб-сайта": "网站API模块",
"Информация о параметрах модуля API веб-сайта": "有关网站API模块参数的信息",
"Список API токенов": "API Tokenov列表",
"Список токенов для доступа к API веб-сайта": "用于访问本网站网站的令牌列表",
"Добавьте в список хотя бы один токен": "添加到列表至少一个令牌",
"Модуль позволяет получать информацию о фильмах в JSON формате.": "该模块允许您以JSON格式接收有关电影的信息。"
}

View file

@ -703,7 +703,8 @@
'modules.schema.data.faq.movie.answer1',
'modules.schema.data.faq.movie.answer2',
'modules.schema.data.faq.movie.answer3',
'modules.schema.data.faq.movie.answer4'
'modules.schema.data.faq.movie.answer4',
'modules.api.data.tokens'
];
if (
configs[i].name === 'collection.image'
@ -1016,6 +1017,10 @@
data.modules.episode.data.index.custom = data.modules.episode.data.index.custom.split(/(\n\n|\n)/ig).filter(Boolean);
}
if (data.modules && data.modules.api && data.modules.api.data.tokens) {
data.modules.api.data.tokens = data.modules.api.data.tokens.split(/(\n\n|\n)/ig).filter(Boolean);
}
if (data.comment && data.comment.comment_text) {
data.comment.comment_text = data.comment.comment_text.replace(/\n/ig, '\[br]');
}
@ -1498,7 +1503,7 @@
}, false);
}
['config.movies.cron', 'config.bots', 'modules.content.data.custom', 'modules.player.data.custom', 'modules.episode.data.custom', 'modules.episode.data.index.custom', 'modules.content.data.scraper'].forEach(function(ca) {
['config.movies.cron', 'config.bots', 'modules.content.data.custom', 'modules.player.data.custom', 'modules.episode.data.custom', 'modules.episode.data.index.custom', 'modules.content.data.scraper', 'modules.api.data.tokens'].forEach(function(ca) {
if (document.querySelector('[data-activate-api="' + ca + '"]') && document.querySelector('[data-delete-api="' + ca + '"]')) {
changeApi(ca);
}

View file

@ -340,6 +340,15 @@
<i class="fa fa-power-off pull-right <% if (modules.ftp.status) { %>text-success<% } else { %>text-danger<% } %>"></i>
</a>
</li>
<li
<% if (type === 'api') { %> class="page-arrow active-page"
<% } %>
>
<a href="/<%- config.urls.admin %>/api">
<i class="fab fa-dev"></i> <%= __('API веб-сайта') %>
<i class="fa fa-power-off pull-right <% if (modules.api.status) { %>text-success<% } else { %>text-danger<% } %>"></i>
</a>
</li>
</ul>
</nav>
</div>

View file

@ -379,6 +379,19 @@
</div>
</a>
</div>
<div class="col-lg-3 col-md-3 col-sm-3 col-xs-4">
<a href="/<%- config.urls.admin %>/api">
<div class="button-settings">
<i class="fab fa-dev"></i>
<span class="corner-label <% if (modules.api.status) { %> green <% } else { %> red <% } %>">
<i class="fa fa-power-off"></i>
</span>
<p class="hidden-xs">
<%= __('API') %>
</p>
</div>
</a>
</div>
</div>
</div>
</div>

View file

@ -622,7 +622,7 @@
<header class="text-muted text-left">
<i class="fa fa-plus"></i>
<h3>
<span class="fas fa-list-ol"></span> <%= __('Редактировать список') %>
<span class="fas fa-list-ol"></span>&nbsp;&nbsp;&nbsp;<%= __('Редактировать список') %>
</h3>
</header>
<div class="faq-content clearfix">

View file

@ -0,0 +1,259 @@
<!DOCTYPE html>
<!--[if lt IE 7]>
<html class="ie ie6 lte9 lte8 lte7 no-js"> <![endif]-->
<!--[if IE 7]>
<html class="ie ie7 lte9 lte8 lte7 no-js"> <![endif]-->
<!--[if IE 8]>
<html class="ie ie8 lte9 lte8 no-js"> <![endif]-->
<!--[if IE 9]>
<html class="ie ie9 lte9 no-js"> <![endif]-->
<!--[if gt IE 9]>
<html class="no-js"> <![endif]-->
<!--[if !IE]><!-->
<html class="no-js"> <!--<![endif]-->
<head>
<%- include('../includes/head.ejs'); -%>
<style>
.id_kp{color:#ff6600;}
.id_tmdb{color:#07b4e2;}
.id_imdb{color:#f5c511;}
.id_douban{color:#2d913b;}
.id_tvmaze{color:#3c948b;}
.id_wa{color:#990000;}
</style>
</head>
<body>
<div id="container" class="clearfix">
<%- include('../includes/left.ejs'); -%>
<%- include('../includes/right.ejs'); -%>
<div id="main" class="clearfix">
<%- include('../includes/header-main.ejs'); -%>
<div id="content" class="clearfix">
<%- include('../includes/header-sec.ejs'); -%>
<div class="window">
<div class="actionbar">
<div class="pull-left">
<a href="javascript:void(0)" class="btn" data-toggle-sidebar="left">
<i class="fa fa-chevron-left"></i>
</a>
<a href="/<%- config.urls.admin %>/api" class="btn hidden-xs">
<%= __('Модуль API веб-сайта') %>
</a>
<a href="https://CinemaPress.io/<%- config.language %>/admin/api.html" class="btn"
title="<%= __('Информация о параметрах модуля API веб-сайта') %>" target="_blank">
<i class="fa fa-info-circle text-muted"></i>
</a>
</div>
<div class="pull-right">
<% if (modules.api.status) { %>
<a href="javascript:void(0)" data-module="api" data-status="false"
class="btn btn-danger module-status power-off">
<i class="fa fa-power-off"></i>&nbsp;<%= __('Отключить') %>
</a>
<% } else { %>
<a href="javascript:void(0)" data-module="api" data-status="true"
class="btn btn-success module-status power-on">
<i class="fa fa-power-off"></i>&nbsp;<%= __('Активировать') %>
</a>
<% } %>
<a href="javascript:void(0)" class="btn" data-toggle-sidebar="right">
<i class="fa fa-chevron-right"></i>
</a>
</div>
</div>
<div class="inner-padding">
<% if (modules.api.status) { %>
<div class="row">
<div class="col-sm-12">
<div class="cinema-box">
<div class="cinema-box-header">
<div class="cinema-label">
<i class="fas fa-key"></i>&nbsp;&nbsp;&nbsp;<%= __('Список API токенов') %>
</div>
<div class="cinema-label hidden-xs" style="float: right">
<a href="https://CinemaPress.io/<%- config.language %>/admin/api.html" class="csstip"
data-title="<%= __('Список токенов для доступа к API веб-сайта') %>"
target="_blank">
<i class="fa fa-info-circle"></i>
</a>
</div>
</div>
<div class="inner-padding">
<div class="row">
<div class="col-lg-12 col-xs-12">
<% if (modules.api.data.tokens && modules.api.data.tokens.length) { %>
<table class="table table-bordered table-striped">
<tbody>
<% modules.api.data.tokens.forEach(function(data, num) { %>
<% var d = data.replace(/\s*~\s*/g, '~').split('~'); %>
<% if (d.length < 1) return; %>
<% if (data.charAt(0) === '#') {
var custom_div = 'no-active';
} %>
<% var custom_i = 'text-muted'; if (data.charAt(0) !== '#') {
custom_i = 'text-success';
} %>
<tr class="<%- custom_div %>">
<td class="table-settings">
<span><%- num + 1 %>.</span>
</td>
<td class="table-content help-example">
<div>
<code>
<span class="url"><%= d[0] %></span> ~ <span class="season"><%= d[1] || '10req/1sec' %></span> ~ <span class="episode"><%= d[2] || 1000 %></span>
</code>
</div>
</td>
<td class="table-settings">
<span><i class="fa fa-circle <%- custom_i %> activate-api"
data-parser="<%- encodeURIComponent(data) %>"
data-activate-api="modules.api.data.tokens"></i></span>
</td>
<td class="table-settings">
<span><i class="fa fa-trash-alt text-danger delete-api"
data-parser="<%- encodeURIComponent(data) %>"
data-delete-api="modules.api.data.tokens"></i></span>
</td>
</tr>
<% }); %>
</tbody>
</table>
<% } else { %>
<div class="help-example"
style="padding-top: 0 !important; text-align: center">
<code><%= __('Добавьте в список хотя бы один токен') %></code>
</div>
<% } %>
</div>
<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>&nbsp;&nbsp;&nbsp;<%= __('Редактировать список') %>
</h3>
</header>
<div class="faq-content clearfix">
<div class="row">
<div class="col-sm-12">
<textarea class="form-control custom"
name="modules.api.data.tokens"
placeholder="token ~ limit ~ max"
style="height:300px;"><%- modules.api.data.tokens.join('\n\n') %></textarea>
</div>
<div class="spacer-10"></div>
<div class="col-sm-12">
<div class="helper-text-box text-left help-example-code">
<p>
<code>
<span class="url">token</span> ~
<span class="season">limit</span> ~
<span class="episode">max per hour</span>
</code>
</p>
<code class="url">
9b24679ee2abc8ca012ca4b07223739f
</code><br>
<code class="season">
3req/1sec
</code>
<code class="episode">
1000
</code>
<p>
<code>
<span class="url">9b24679ee2abc8ca012ca4b07223739f</span>
~
<span class="season">3req/1sec</span>
~
<span class="episode">1000</span>
</code>
</p>
<code class="text-muted">
&nbsp;&nbsp;<%- config.protocol %><%- config.subdomain %><%- config.domain %>/api?token=9b24679ee2abc8ca012ca4b07223739f&<span class="id_kp">id</span>=54321
</code><br>
<code class="text-muted" style="margin:0">
&nbsp;&nbsp;<span class="id_kp">id</span> - ID website
</code><br>
<code class="text-muted" style="margin:1px 0 0 0">
&nbsp;&nbsp;<span class="id_imdb">imdb_id</span> - ID imdb.com
</code><br>
<code class="text-muted" style="margin:0">
&nbsp;&nbsp;<span class="id_tmdb">tmdb_id</span> - ID tmdb.org
</code><br>
<code class="text-muted" style="margin:0">
&nbsp;&nbsp;<span class="id_douban">douban_id</span> - ID movie.douban.com
</code><br>
<code class="text-muted" style="margin:0">
&nbsp;&nbsp;<span class="id_tvmaze">tvmaze_id</span> - ID tvmaze.com
</code><br>
<code class="text-muted" style="margin:0 0 1px 0">
&nbsp;&nbsp;<span class="id_wa">wa_id</span> - ID world-art.ru
</code><br>
<code class="text-muted" style="margin:0 0 1px 0">
&nbsp;&nbsp;<span>movie_id</span> - ID custom field
</code><br>
<code class="text-muted" style="margin:0 0 1px 0">
&nbsp;&nbsp;type - movie or tv
</code><br>
</div>
</div>
</div>
</div>
</article>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<% } else { %>
<div class="row">
<div class="col-xs-12">
<div class="attention-box attention-danger">
<h4><%= __('Модуль') %> «<%- title %>» <%= __('отключен') %></h4>
<div class="spacer-20"></div>
<p class="text-muted">
<%= __('Модуль позволяет получать информацию о фильмах в JSON формате.') %>
<br>
<%= __('Чтобы включить модуль, нажмите на кнопку «Активировать» вверху экрана.') %>
</p>
</div>
</div>
</div>
<% } %>
</div>
</div>
<%- include('../includes/footer.ejs'); -%>
</div>
</div>
</div>
</body>
</html>

View file

@ -674,7 +674,7 @@
<header class="text-muted text-left">
<i class="fa fa-plus"></i>
<h3>
<span class="fas fa-list-ol"></span> <%= __('Редактировать список') %>
<span class="fas fa-list-ol"></span>&nbsp;&nbsp;&nbsp;<%= __('Редактировать список') %>
</h3>
</header>
<div class="faq-content clearfix">

View file

@ -766,7 +766,7 @@
<header class="text-muted text-left">
<i class="fa fa-plus"></i>
<h3>
<span class="fas fa-list-ol"></span> <%= __('Редактировать список') %>
<span class="fas fa-list-ol"></span>&nbsp;&nbsp;&nbsp;<%= __('Редактировать список') %>
</h3>
</header>
<div class="faq-content clearfix">
@ -935,7 +935,7 @@
<header class="text-muted text-left">
<i class="fa fa-plus"></i>
<h3>
<span class="fas fa-list-ol"></span> <%= __('Редактировать список') %>
<span class="fas fa-list-ol"></span>&nbsp;&nbsp;&nbsp;<%= __('Редактировать список') %>
</h3>
</header>
<div class="faq-content clearfix">

View file

@ -308,7 +308,7 @@
<header class="text-muted text-left">
<i class="fa fa-plus"></i>
<h3>
<span class="fas fa-list-ol"></span> <%= __('Редактировать список') %>
<span class="fas fa-list-ol"></span>&nbsp;&nbsp;&nbsp;<%= __('Редактировать список') %>
</h3>
</header>
<div class="faq-content clearfix">

View file

@ -939,7 +939,7 @@
<header class="text-muted text-left">
<i class="fa fa-plus"></i>
<h3>
<span class="fas fa-list-ol"></span> <%= __('Редактировать список') %>
<span class="fas fa-list-ol"></span>&nbsp;&nbsp;&nbsp;<%= __('Редактировать список') %>
</h3>
</header>
<div class="faq-content clearfix">
@ -1579,7 +1579,7 @@
</td>
<td class="table-content">
<span class="table-content-id" style="text-align: center;opacity: .6">
<span class="<%- id_key %>">ID: <%- movie.id %></span><br>
<span class="<%- id_key %>">ID: <%- movie.id - parseInt(config.urls.unique_id) %></span><br>
<%- movie.lastmod ? movie.lastmod : '-' %>
</span>
<span class="table-content-t">