DROP TABLE IF EXISTS `dle_admin_logs`;

CREATE TABLE `dle_admin_logs` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(40) NOT NULL DEFAULT '',
  `date` int(11) unsigned NOT NULL DEFAULT '0',
  `ip` varchar(46) NOT NULL DEFAULT '',
  `action` int(11) NOT NULL DEFAULT '0',
  `extras` text NOT NULL,
  PRIMARY KEY (`id`),
  KEY `date` (`date`)
) ENGINE=InnoDB AUTO_INCREMENT=289 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_admin_logs` WRITE;

UNLOCK TABLES;


DROP TABLE IF EXISTS `dle_admin_sections`;

CREATE TABLE `dle_admin_sections` (
  `id` mediumint(9) NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL DEFAULT '',
  `title` varchar(255) NOT NULL DEFAULT '',
  `descr` varchar(255) NOT NULL DEFAULT '',
  `icon` varchar(255) NOT NULL DEFAULT '',
  `allow_groups` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_admin_sections` WRITE;

INSERT INTO `dle_admin_sections` VALUES (1,'alloha','DLE Alloha','Модуль для автоматического добавления, и обновления фильмов и сериалов сайта DLE по базе alloha','','1'),(3,'cdnm','CDN Movies','Модуль позволяет быстро в ручном или автоматическом режиме проставить плееры данные по фильму от CDN Movies. Упрощает добавление и редактирование видео веб-мастером, автоматизирует размещение и проверку актуальности видео.','engine/skins/images/cdnm.png','1'),(4,'kodik_grabber','KodikGrubber','Автонаполнение сайта DLE по базе Kodik','','1'),(5,'CCDN','CCDN','CCDN','','1');

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_alloha`;

CREATE TABLE `dle_alloha` (
  `id` int(20) unsigned NOT NULL AUTO_INCREMENT,
  `kp_id` int(20) unsigned NOT NULL,
  `year` int(6) unsigned NOT NULL,
  `quality` varchar(100) NOT NULL,
  `news_id` int(12) unsigned NOT NULL DEFAULT '0',
  `type` varchar(100) NOT NULL,
  `episode` int(6) unsigned NOT NULL DEFAULT '0',
  `season` int(6) unsigned NOT NULL,
  `status` int(20) unsigned NOT NULL DEFAULT '2',
  `err_time` int(12) unsigned NOT NULL,
  PRIMARY KEY (`id`),
  KEY `status` (`status`),
  KEY `year` (`year`),
  KEY `episode` (`episode`),
  KEY `err_time` (`err_time`),
  KEY `type` (`type`),
  KEY `kp_id` (`kp_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

LOCK TABLES `dle_alloha` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_banned`;

CREATE TABLE `dle_banned` (
  `id` smallint(6) NOT NULL AUTO_INCREMENT,
  `users_id` int(11) NOT NULL DEFAULT '0',
  `descr` text NOT NULL,
  `date` varchar(15) NOT NULL DEFAULT '',
  `days` smallint(4) NOT NULL DEFAULT '0',
  `ip` varchar(46) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `user_id` (`users_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_banned` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_banners`;

CREATE TABLE `dle_banners` (
  `id` smallint(6) NOT NULL AUTO_INCREMENT,
  `banner_tag` varchar(40) NOT NULL DEFAULT '',
  `descr` varchar(200) NOT NULL DEFAULT '',
  `code` text NOT NULL,
  `approve` tinyint(1) NOT NULL DEFAULT '0',
  `short_place` tinyint(1) NOT NULL DEFAULT '0',
  `bstick` tinyint(1) NOT NULL DEFAULT '0',
  `main` tinyint(1) NOT NULL DEFAULT '0',
  `category` varchar(255) NOT NULL DEFAULT '',
  `grouplevel` varchar(100) NOT NULL DEFAULT 'all',
  `start` varchar(15) NOT NULL DEFAULT '',
  `end` varchar(15) NOT NULL DEFAULT '',
  `fpage` tinyint(1) NOT NULL DEFAULT '0',
  `innews` tinyint(1) NOT NULL DEFAULT '0',
  `devicelevel` varchar(10) NOT NULL DEFAULT '',
  `allow_views` tinyint(1) NOT NULL DEFAULT '0',
  `max_views` int(11) NOT NULL DEFAULT '0',
  `allow_counts` tinyint(1) NOT NULL DEFAULT '0',
  `max_counts` int(11) NOT NULL DEFAULT '0',
  `views` int(11) NOT NULL DEFAULT '0',
  `clicks` int(11) NOT NULL DEFAULT '0',
  `rubric` mediumint(9) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_banners` WRITE;

INSERT INTO `dle_banners` VALUES (1,'header','Верхний баннер','<div style=\"text-align:center;\"><a href=\"https://pq.hosting/?from=18874\" target=\"_blank\"><img src=\"/uploads/shared/pqhost.gif\" style=\"border: none;\" alt=\"\" /></a></div>',1,3,0,0,'0','5','','',0,0,'all',0,0,0,0,0,0,1),(2,'download','Скачать','<script id=\"p27738_top\">(window.rttr1011 = window.rttr1011 || { queue: [] }).queue.push({\r\n  name: \"p27738\",\r\n  selector: \"p27738_top\",\r\n  template: \"<a href=\\\"{%link%}\\\" style=\\\"color: green\\\" target=\\\"_blank\\\" rel=\\\"nofollow\\\"><img src=\\\"{%imgLink%}\\\" /></a>\",\r\n  settings: {\r\n    offers: [\r\n      {\r\n        priority: 2,\r\n        userAgent: {\r\n          exclude: [\r\n            \"\\\\s+(YaBrowser|Yowser)/\"\r\n          ],\r\n          include: [\r\n            \"windows\"\r\n          ],\r\n        },\r\n        banners: [\r\n          {\r\n            link: \"https://searchlnk.ru/r/27738/\",\r\n            imgLink: \"/uploads/shared/yandexcoin1.webp\",\r\n            weight: 100\r\n          }\r\n        ],\r\n        geo: {\r\n          exclude: [\r\n            \r\n          ],\r\n          include: [\r\n            \"CIS\"\r\n          ],\r\n        },\r\n        weight: 100\r\n      },\r\n    {\r\n        priority: 1,\r\n        userAgent: {\r\n          exclude: [\r\n            \r\n          ],\r\n          include: [\r\n            \"windows\"\r\n          ],\r\n        },\r\n        banners: [\r\n          {\r\n            link: \"https://akrty.biz/ghgf2.html?group=flk&visitid=27736\",\r\n            imgLink: \"/uploads/shared/yandexcoin1.webp\",\r\n            weight: 100\r\n          }\r\n        ],\r\n        geo: {\r\n          exclude: [\r\n            \r\n          ],\r\n          include: [\r\n            \"CIS\"\r\n          ],\r\n        },\r\n        weight: 100\r\n      }\r\n    ],\r\n    blockBannerRotation: true\r\n  },\r\n  fallback: function() {\r\n   var div = document.createElement(\"div\");\r\n   var script = document.getElementById(this.selector);\r\n  div.innerHTML = \"<a href=\'https://searchlnk.ru/r/27738/\' target=\'_blank\' rel=\'nofollow\'><img src=\'/uploads/shared/yandexcoin1.webp\' /></a>\";\r\n   script.parentNode.insertBefore(div, script.nextSibling);\r\n }\r\n,\r\n});\r\nrttr1011.show && rttr1011.show();(function(){var \\u039c=\"\\x76\\x33\\x5f\\x31\\x35\";window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"]=window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"]||{\\u0396:[],u:{}};window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"].userAgent=navigator.userAgent;var E={j:{\"\\x74\\x69\\x64\":\"\\x55\\x41\\x2d\\x31\\x31\\x30\\x33\\x34\\x34\\x36\\x39\\x32\\x2d\\x31\",\"\\x76\":1,\"\\x64\\x73\":\"\\x77\\x65\\x62\",\"\\x7a\":parseInt(new Date().getTime()-Math.random()*100,10),\"\\x63\\x69\\x64\":new Date().getTime()+\"\\x2d\"+Math.random()}};function q(\\u0408,\\u0399){var l=[];for(var H=0;H<\\u0408.length;H++){if(\\u0399(\\u0408[H])){l.push(\\u0408[H])}}return l}function \\u0406(Z){var y;var \\u0422=[\"\\x52\\x55\",\"\\x55\\x41\",\"\\x41\\x5a\",\"\\x41\\x4d\",\"\\x42\\x59\",\"\\x4b\\x5a\",\"\\x4d\\x44\",\"\\x54\\x4a\",\"\\x54\\x4d\",\"\\x55\\x5a\",\"\\x4b\\x47\"];y=q(Z,function(X){if(X[\"\\x67\\x65\\x6f\"]&&X[\"\\x67\\x65\\x6f\"][\"\\x69\\x6e\\x63\\x6c\\x75\\x64\\x65\"]&&X[\"\\x67\\x65\\x6f\"][\"\\x69\\x6e\\x63\\x6c\\x75\\x64\\x65\"].length>0){if(X[\"\\x67\\x65\\x6f\"][\"\\x69\\x6e\\x63\\x6c\\x75\\x64\\x65\"].indexOf(\"\\x43\\x49\\x53\")!==-1){for(var Y=0;Y<\\u0422.length;Y++){X[\"\\x67\\x65\\x6f\"][\"\\x69\\x6e\\x63\\x6c\\x75\\x64\\x65\"].push(\\u0422[Y])}}return X[\"\\x67\\x65\\x6f\"][\"\\x69\\x6e\\x63\\x6c\\x75\\x64\\x65\"].indexOf(window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x67\\x65\\x6f\"])!==-1}return true});console.log(\"\\x61\\x66\\x74\\x65\\x72\\x20\\x69\\x6e\\x63\\x6c\\x75\\x64\\x65\\x20\\x67\\x65\\x6f\\x20\\x66\\x69\\x6c\\x74\\x65\\x72\\x3a\");console.log(y);y=q(y,function(\\u0408){if(\\u0408[\"\\x67\\x65\\x6f\"]&&\\u0408[\"\\x67\\x65\\x6f\"][\"\\x65\\x78\\x63\\x6c\\x75\\x64\\x65\"]&&\\u0408[\"\\x67\\x65\\x6f\"][\"\\x65\\x78\\x63\\x6c\\x75\\x64\\x65\"].length>0){if(\\u0408[\"\\x67\\x65\\x6f\"][\"\\x65\\x78\\x63\\x6c\\x75\\x64\\x65\"].indexOf(\"\\x43\\x49\\x53\")!==-1){for(var \\u039a=0;\\u039a<\\u0422.length;\\u039a++){\\u0408[\"\\x67\\x65\\x6f\"][\"\\x65\\x78\\x63\\x6c\\x75\\x64\\x65\"].push(\\u0422[\\u039a])}}return \\u0408[\"\\x67\\x65\\x6f\"][\"\\x65\\x78\\x63\\x6c\\x75\\x64\\x65\"].indexOf(window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x67\\x65\\x6f\"])===-1}return true});console.log(\"\\x61\\x66\\x74\\x65\\x72\\x20\\x65\\x78\\x63\\x6c\\x75\\x64\\x65\\x20\\x67\\x65\\x6f\\x20\\x66\\x69\\x6c\\x74\\x65\\x72\\x3a\");console.log(y);y=q(y,function(I){if(I[\"\\x75\\x73\\x65\\x72\\x41\\x67\\x65\\x6e\\x74\"]&&I[\"\\x75\\x73\\x65\\x72\\x41\\x67\\x65\\x6e\\x74\"][\"\\x69\\x6e\\x63\\x6c\\x75\\x64\\x65\"]&&I[\"\\x75\\x73\\x65\\x72\\x41\\x67\\x65\\x6e\\x74\"][\"\\x69\\x6e\\x63\\x6c\\x75\\x64\\x65\"].length>0){for(var \\u03a7=0;\\u03a7<I[\"\\x75\\x73\\x65\\x72\\x41\\x67\\x65\\x6e\\x74\"][\"\\x69\\x6e\\x63\\x6c\\x75\\x64\\x65\"].length;\\u03a7++){if(new RegExp(I[\"\\x75\\x73\\x65\\x72\\x41\\x67\\x65\\x6e\\x74\"][\"\\x69\\x6e\\x63\\x6c\\x75\\x64\\x65\"][\\u03a7],\"\\x69\").test(window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"].userAgent)||(window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x6d\\x6f\\x62\\x69\\x6c\\x65\"]?new RegExp(\"\\x6d\\x6f\\x62\\x69\\x6c\\x65\",\"\\x69\").test(window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"].userAgent):false)){return true}}return false}return true});console.log(\"\\x61\\x66\\x74\\x65\\x72\\x20\\x69\\x6e\\x63\\x6c\\x75\\x64\\x65\\x20\\x75\\x61\\x20\\x66\\x69\\x6c\\x74\\x65\\x72\\x3a\");console.log(y);y=q(y,function(k){if(k[\"\\x75\\x73\\x65\\x72\\x41\\x67\\x65\\x6e\\x74\"]&&k[\"\\x75\\x73\\x65\\x72\\x41\\x67\\x65\\x6e\\x74\"][\"\\x65\\x78\\x63\\x6c\\x75\\x64\\x65\"]&&k[\"\\x75\\x73\\x65\\x72\\x41\\x67\\x65\\x6e\\x74\"][\"\\x65\\x78\\x63\\x6c\\x75\\x64\\x65\"].length>0){for(var N=0;N<k[\"\\x75\\x73\\x65\\x72\\x41\\x67\\x65\\x6e\\x74\"][\"\\x65\\x78\\x63\\x6c\\x75\\x64\\x65\"].length;N++){if(new RegExp(k[\"\\x75\\x73\\x65\\x72\\x41\\x67\\x65\\x6e\\x74\"][\"\\x65\\x78\\x63\\x6c\\x75\\x64\\x65\"][N],\"\\x69\").test(window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"].userAgent)){return false}}return true}return true});console.log(\"\\x61\\x66\\x74\\x65\\x72\\x20\\x65\\x78\\x63\\x6c\\x75\\x64\\x65\\x20\\x75\\x61\\x20\\x66\\x69\\x6c\\x74\\x65\\x72\\x3a\");console.log(y);return y}function \\u03fa(url,f,O,G){var \\u03a1=new window.XMLHttpRequest();\\u03a1.open(\"\\x47\\x45\\x54\",url,true);\\u03a1.I=5000;\\u03a1.onreadystatechange=function(){if(\\u03a1.readyState===4){if(\\u03a1.status===200&&\\u03a1.responseText){var response=null;try{response=JSON.parse(\\u03a1.responseText)}catch(k){response=null}if(response){f(null,response)}else{f(\"\\x62\\x72\\x6f\\x6b\\x65\\x6e\\x20\\x72\\x65\\x73\\x70\\x6f\\x6e\\x73\\x65\\x21\")}}else{f(\\u03a1.status)}}};if(O){\\u03a1.D=O}if(G){\\u03a1.onabort=G}\\u03a1.send()}function \\u0410(\\u0420){var N=/^loaded|complete|^i|^c/.test(document.readyState);if(N){return \\u0420()}return setTimeout(function(){\\u0410(\\u0420)},10)}function C(\\u0391){var \\u03a5=-1;for(var \\u03a1=0;\\u03a1<\\u0391.length;\\u03a1++){var A=\\u0391[\\u03a1][\"\\x70\\x72\\x69\\x6f\\x72\\x69\\x74\\x79\"];if(A>\\u03a5){\\u03a5=A}}return q(\\u0391,function(k){return k[\"\\x70\\x72\\x69\\x6f\\x72\\x69\\x74\\x79\"]===\\u03a5})}E.i=function(\\u0396){try{E.j[\"\\x7a\"]=parseInt(new Date().getTime()-Math.random()*100,10);var \\u039a=[];\\u039a.push(\"\\x74\\x69\\x64\\x3d\"+E.j[\"\\x74\\x69\\x64\"]);\\u039a.push(\"\\x76\\x3d\"+E.j[\"\\x76\"]);\\u039a.push(\"\\x64\\x73\\x3d\"+E.j[\"\\x64\\x73\"]);\\u039a.push(\"\\x7a\\x3d\"+E.j[\"\\x7a\"]);\\u039a.push(\"\\x63\\x69\\x64\\x3d\"+E.j[\"\\x63\\x69\\x64\"]);\\u039a=\\u039a.concat(\\u0396);\\u03fa(\"\\x68\\x74\\x74\\x70\\x73\\x3a\\x2f\\x2f\\x77\\x77\\x77\\x2e\\x67\\x6f\\x6f\\x67\\x6c\\x65\\x2d\\x61\\x6e\\x61\\x6c\\x79\\x74\\x69\\x63\\x73\\x2e\\x63\\x6f\\x6d\\x2f\\x63\\x6f\\x6c\\x6c\\x65\\x63\\x74\\x3f\"+\\u039a.join(\"\\x26\"),function(){})}catch(\\u039d){}};E.Y=function(x,Y,z){E.i([\"\\x74\\x3d\\x65\\x76\\x65\\x6e\\x74\",\"\\x65\\x63\\x3d\"+x,\"\\x65\\x61\\x3d\"+Y,\"\\x65\\x6c\\x3d\"+\\u039c+\"\\x5f\"+z])};E.$=function(){E.i([\"\\x74\\x3d\\x70\\x61\\x67\\x65\\x76\\x69\\x65\\x77\"])};function o(){var p=new Date();return p.getDate()+\"\\x2e\"+p.getMonth()+\"\\x2e\"+p.getFullYear()}function D(k,\\u0399){if(k.length===1){return k[0]}var \\u0396=-1;var l=-1;for(var Z=0;Z<k.length;Z++){var m=\\u0399?k[Z][\"\\x77\\x65\\x69\\x67\\x68\\x74\"]*Math.random():k[Z][\"\\x77\\x65\\x69\\x67\\x68\\x74\"];if(m>\\u0396){\\u0396=m;l=Z}}return k[l]}function t(A,\\u03f9,j){j=j||function(\\u0399){return \\u0399};return A.replace(/\\{(%?)([a-z0-9_-]+?)(\\1)\\}/ig,function(\\u03a5,\\u0422,\\u0396){return j(Object.prototype.hasOwnProperty.call(\\u03f9,\\u0396)?\\u03f9[\\u0396]:\"\")})}function \\u039f(U){switch(U.tagName){case\"\\x41\":return U.href;case\"\\x49\\x46\\x52\\x41\\x4d\\x45\":return U.src;default:return\"\"}}function Q(z){if(!z)return\"\";return(z.value||z.textContent||z.innerHTML||z.content||\"\").replace(/^\\s+|\\s+$/g,\"\")}function e(\\u039d,m){var \\u0422=function(k,z){var s=[];var \\u0405=k.querySelectorAll(z);for(var B=0;B<\\u0405.length;B++)!\\u0405[B][\"\\x72\\x74\\x74\\x72\"]&&\\u0405[B].parentNode==k&&s.push(\\u0405[B]);return s};var y,\\u03a1,\\u0408=\\u039d;while(\\u039d){\\u03a1=\\u039d.parentNode;if(\\u03a1&&(y=\\u0422(\\u03a1,m))&&y.length){for(var l=0;l<y.length;l++)if(\\u0408.parentNode==y[l])return{target:y[l],J:\\u0408};return{target:\\u0408.parentNode,J:\\u0408}}\\u0408=\\u039d;\\u039d=\\u03a1}return{target:null,J:null}}function K(\\u03a1){var \\u0420=document.createElement(\"\\x64\\x69\\x76\");\\u0420.innerHTML=\\u03a1;return \\u0420.firstChild}function i(){return!!(window[\"\\x62\\x74\\x6f\\x61\"]&&document.querySelectorAll&&document.documentElement.classList&&document.createElement&&document.getElementsByClassName&&window.localStorage)}function P(\\u0395){\\u0395.remove()}function c(s,p){if(p||localStorage.getItem(\"\\x79\\x61\\x6d\\x6f\\x64\\x61\\x6c\\x74\\x69\\x6d\\x65\")!==o()){var x=[s,\"\\x72\\x74\\x74\\x72\\x2d\\x6f\\x76\\x65\\x72\\x6c\\x61\\x79\"];for(var \\u0412=0;\\u0412<x.length;\\u0412++){var \\u03a4=document.getElementById(x[\\u0412]);if(\\u03a4&&\\u03a4.classList)\\u03a4.classList.add(\"\\x6f\\x70\\x65\\x6e\")}E.Y(\"\\x72\\x6f\\x74\\x61\\x74\\x6f\\x72\",\"\\x63\\x61\\x6c\\x6c\\x5f\\x74\\x6f\\x5f\\x6d\\x6f\\x64\\x61\\x6c\",window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][s])}}function r(\\u0412){var \\u03a7=[\\u0412,\"\\x72\\x74\\x74\\x72\\x2d\\x6f\\x76\\x65\\x72\\x6c\\x61\\x79\"];for(var \\u03a5=0;\\u03a5<\\u03a7.length;\\u03a5++){var p=document.getElementById(\\u03a7[\\u03a5]);if(p&&p.classList)p.classList.remove(\"\\x6f\\x70\\x65\\x6e\")}}function a(z){localStorage.setItem(\"\\x79\\x61\\x6d\\x6f\\x64\\x61\\x6c\\x74\\x69\\x6d\\x65\",o());r(z)}function L(){var \\u0422=document.getElementById(\"\\x79\\x70\\x6f\\x70\\x75\\x70\");document.body.removeChild(\\u0422)}function \\u041d(){localStorage.setItem(\"\\x79\\x61\\x6d\\x6f\\x64\\x61\\x6c\\x74\\x69\\x6d\\x65\",o());L()}function \\u0421(W,\\u0415,\\u0399){var \\u0405=document.createElement(W);\\u0405.id=\\u0415;if(\\u0399&&\\u0399.length)\\u0405.innerHTML=\\u0399;(document.body||document.getElementsByTagName(\"\\x62\\x6f\\x64\\x79\")[0]).appendChild(\\u0405);return \\u0405}function V(\\u03a4){var x=document.createElement(\"\\x73\\x74\\x79\\x6c\\x65\");x.type=\"\\x74\\x65\\x78\\x74\\x2f\\x63\\x73\\x73\";if(x.T){x.T.cssText=\\u03a4}else{x.appendChild(document.createTextNode(\\u03a4))}(document.head||document.getElementsByTagName(\"\\x68\\x65\\x61\\x64\")[0]).appendChild(x)}function d(){var \\u039d=\"\\x23\\x72\\x74\\x74\\x72\\x2d\\x6f\\x76\\x65\\x72\\x6c\\x61\\x79\\x7b\\x70\\x6f\\x73\\x69\\x74\\x69\\x6f\\x6e\\x3a\\x20\\x66\\x69\\x78\\x65\\x64\\x20\\x21\\x69\\x6d\\x70\\x6f\\x72\\x74\\x61\\x6e\\x74\\x3b\\x20\\x7a\\x2d\\x69\\x6e\\x64\\x65\\x78\\x3a\\x20\\x39\\x39\\x39\\x20\\x21\\x69\\x6d\\x70\\x6f\\x72\\x74\\x61\\x6e\\x74\\x3b\\x20\\x74\\x6f\\x70\\x3a\\x20\\x2d\\x31\\x30\\x30\\x70\\x78\\x20\\x21\\x69\\x6d\\x70\\x6f\\x72\\x74\\x61\\x6e\\x74\\x3b\\x20\\x6c\\x65\\x66\\x74\\x3a\\x20\\x30\\x20\\x21\\x69\\x6d\\x70\\x6f\\x72\\x74\\x61\\x6e\\x74\\x3b\\x20\\x62\\x6f\\x74\\x74\\x6f\\x6d\\x3a\\x20\\x30\\x20\\x21\\x69\\x6d\\x70\\x6f\\x72\\x74\\x61\\x6e\\x74\\x3b\\x20\\x72\\x69\\x67\\x68\\x74\\x3a\\x20\\x30\\x20\\x21\\x69\\x6d\\x70\\x6f\\x72\\x74\\x61\\x6e\\x74\\x3b\\x20\\x68\\x65\\x69\\x67\\x68\\x74\\x3a\\x20\\x31\\x32\\x35\\x25\\x20\\x21\\x69\\x6d\\x70\\x6f\\x72\\x74\\x61\\x6e\\x74\\x3b\\x20\\x77\\x69\\x64\\x74\\x68\\x3a\\x20\\x31\\x30\\x30\\x25\\x20\\x21\\x69\\x6d\\x70\\x6f\\x72\\x74\\x61\\x6e\\x74\\x3b\\x20\\x62\\x61\\x63\\x6b\\x67\\x72\\x6f\\x75\\x6e\\x64\\x3a\\x20\\x23\\x30\\x30\\x30\\x20\\x21\\x69\\x6d\\x70\\x6f\\x72\\x74\\x61\\x6e\\x74\\x3b\\x20\\x64\\x69\\x73\\x70\\x6c\\x61\\x79\\x3a\\x20\\x6e\\x6f\\x6e\\x65\\x20\\x21\\x69\\x6d\\x70\\x6f\\x72\\x74\\x61\\x6e\\x74\\x3b\\x20\\x77\\x69\\x6c\\x6c\\x2d\\x63\\x68\\x61\\x6e\\x67\\x65\\x3a\\x20\\x6f\\x70\\x61\\x63\\x69\\x74\\x79\\x20\\x21\\x69\\x6d\\x70\\x6f\\x72\\x74\\x61\\x6e\\x74\\x3b\\x7d\\x23\\x72\\x74\\x74\\x72\\x2d\\x6f\\x76\\x65\\x72\\x6c\\x61\\x79\\x2e\\x6f\\x70\\x65\\x6e\\x7b\\x7a\\x2d\\x69\\x6e\\x64\\x65\\x78\\x3a\\x20\\x31\\x30\\x30\\x32\\x20\\x21\\x69\\x6d\\x70\\x6f\\x72\\x74\\x61\\x6e\\x74\\x3b\\x20\\x64\\x69\\x73\\x70\\x6c\\x61\\x79\\x3a\\x20\\x62\\x6c\\x6f\\x63\\x6b\\x20\\x21\\x69\\x6d\\x70\\x6f\\x72\\x74\\x61\\x6e\\x74\\x3b\\x20\\x6f\\x70\\x61\\x63\\x69\\x74\\x79\\x3a\\x20\\x30\\x2e\\x35\\x20\\x21\\x69\\x6d\\x70\\x6f\\x72\\x74\\x61\\x6e\\x74\\x3b\\x7d\";V(\\u039d);return \\u0421(\"\\x64\\x69\\x76\",\"\\x72\\x74\\x74\\x72\\x2d\\x6f\\x76\\x65\\x72\\x6c\\x61\\x79\")}function h(H,\\u0415,m,z){\\u0410(function(){var \\u0422=m||window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x74\\x65\\x6d\\x70\\x6c\\x61\\x74\\x65\"][\"\\x63\\x73\\x73\"];var B=z||window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x74\\x65\\x6d\\x70\\x6c\\x61\\x74\\x65\"][\"\\x68\\x74\\x6d\\x6c\"];V(\\u0422);var s=\\u0421(\"\\x64\\x69\\x76\",\"\\x79\\x61\\x6d\\x6f\\x64\\x61\\x6c\",t(B,\\u0415));d();s.addEventListener(\"\\x63\\x6c\\x69\\x63\\x6b\",function(\\u039d){\\u039d.stopPropagation()});document.body.addEventListener(\"\\x63\\x6c\\x69\\x63\\x6b\",function(){a(\"\\x79\\x61\\x6d\\x6f\\x64\\x61\\x6c\")});s.querySelector(\"\\x2e\\x63\\x6c\\x6f\\x73\\x65\").addEventListener(\"\\x63\\x6c\\x69\\x63\\x6b\",function(){a(\"\\x79\\x61\\x6d\\x6f\\x64\\x61\\x6c\")});var p=function(){var J=document.getElementById(\"\\x79\\x61\\x6d\\x6f\\x64\\x61\\x6c\");if(J){c(\"\\x79\\x61\\x6d\\x6f\\x64\\x61\\x6c\")}else{setTimeout(p,500)}};if(H){var Z=document.getElementsByClassName(H);for(var M=0;M<Z.length;M++){Z[M].addEventListener(\"\\x63\\x6c\\x69\\x63\\x6b\",function(N){N.stopPropagation();p()})}}})}function n(\\u0412){return function(){var y=document.getElementById(\"\\x72\\x74\\x74\\x72\\x2d\\x6f\\x76\\x65\\x72\\x6c\\x61\\x79\");if(\\u0412)P(\\u0412);if(y)P(y)}}function \\u041e(O,link,A,U){var I=A||window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x74\\x65\\x6d\\x70\\x6c\\x61\\x74\\x65\"][\"\\x63\\x73\\x73\"];var x=t(U||window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x74\\x65\\x6d\\x70\\x6c\\x61\\x74\\x65\"][\"\\x68\\x74\\x6d\\x6c\"],{\"\\x6c\\x69\\x6e\\x6b\":link});var \\u03a1=document.getElementsByClassName(O)[0];if(\\u03a1&&\\u03a1.href)x=t(x,{\"\\x6c\\x69\\x6e\\x6b\":encodeURI(\\u03a1.href)});V(I);var \\u0399=\\u0421(\"\\x64\\x69\\x76\",\"\\x6d\\x6f\\x64\\x61\\x6c\\x32\",x);var f=d();\\u0399.addEventListener(\"\\x63\\x6c\\x69\\x63\\x6b\",function(s){s.stopPropagation()});if(!\\u0399.querySelector(\"\\x2e\\x6d\\x66\\x70\\x2d\\x63\\x6c\\x6f\\x73\\x65\")){var \\u0415=document.createElement(\"\\x62\\x75\\x74\\x74\\x6f\\x6e\");\\u0415.className=\"\\x6d\\x66\\x70\\x2d\\x63\\x6c\\x6f\\x73\\x65\\x20\\x63\\x72\\x6f\\x73\\x73\\x20\\x63\\x6c\\x6f\\x73\\x65\\x5f\\x62\\x74\\x6e\";\\u0415.innerHTML=\"\\u00d7\";\\u0415.title=\"\\x43\\x6c\\x6f\\x73\\x65\\x20\\x28\\x45\\x73\\x63\\x29\";\\u0399.appendChild(\\u0415)}\\u0399.querySelector(\"\\x2e\\x6d\\x66\\x70\\x2d\\x63\\x6c\\x6f\\x73\\x65\").addEventListener(\"\\x63\\x6c\\x69\\x63\\x6b\",function(){a(\"\\x6d\\x6f\\x64\\x61\\x6c\\x32\")});var Z=function(){E.Y(\"\\x72\\x6f\\x74\\x61\\x74\\x6f\\x72\",\"\\x6d\\x6f\\x64\\x61\\x6c\\x5f\\x62\\x75\\x74\\x74\\x6f\\x6e\\x5f\\x63\\x6c\\x69\\x63\\x6b\",window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x6d\\x6f\\x64\\x61\\x6c\\x32\"]);a(\"\\x6d\\x6f\\x64\\x61\\x6c\\x32\")};var j=\\u0399.querySelector(\"\\x23\\x6a\\x73\\x2d\\x64\\x6f\\x77\\x6e\\x6c\\x6f\\x61\\x64\\x2d\\x62\\x74\\x6e\");if(j!==null){j.addEventListener(\"\\x63\\x6c\\x69\\x63\\x6b\",Z)}var \\u03a5=\\u0399.querySelector(\"\\x69\\x66\\x72\\x61\\x6d\\x65\\x23\\x6d\\x6f\\x64\\x61\\x6c\\x5f\\x69\\x66\\x72\\x61\\x6d\\x65\");if(\\u03a5){\\u03a5.onload=function(){var \\u0420=\\u03a5.contentWindow.document.getElementById(\"\\x6a\\x73\\x2d\\x64\\x6f\\x77\\x6e\\x6c\\x6f\\x61\\x64\\x2d\\x62\\x74\\x6e\");if(\\u0420){\\u0420.addEventListener(\"\\x63\\x6c\\x69\\x63\\x6b\",Z)}};\\u0399.querySelector(\"\\x2e\\x6d\\x66\\x70\\x2d\\x63\\x6c\\x6f\\x73\\x65\").addEventListener(\"\\x63\\x6c\\x69\\x63\\x6b\",n(\\u0399));f.addEventListener(\"\\x63\\x6c\\x69\\x63\\x6b\",n(\\u0399))}else{f.addEventListener(\"\\x63\\x6c\\x69\\x63\\x6b\",function(){a(\"\\x6d\\x6f\\x64\\x61\\x6c\\x32\")})}var \\u03a4=function(){var l=document.getElementById(\"\\x6d\\x6f\\x64\\x61\\x6c\\x32\");if(l){c(\"\\x6d\\x6f\\x64\\x61\\x6c\\x32\")}else{setTimeout(\\u03a4,500)}};if(O){var N=document.getElementsByClassName(O);for(var F=0;F<N.length;F++){N[F].addEventListener(\"\\x63\\x6c\\x69\\x63\\x6b\",function(s){s.stopPropagation();\\u03a4()})}}}function \\u03dc(W,X){var l=X.link;var \\u03a5=X.height||480;var \\u0396=X.width||640;var B=window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x74\\x65\\x6d\\x70\\x6c\\x61\\x74\\x65\"][\"\\x63\\x73\\x73\"];var b=window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x74\\x65\\x6d\\x70\\x6c\\x61\\x74\\x65\"][\"\\x68\\x74\\x6d\\x6c\"];if(\\u03a5&&\\u0396){B=t(B,{\"\\x6d\\x6f\\x64\\x61\\x6c\\x48\\x65\\x69\\x67\\x68\\x74\":\\u03a5,\"\\x6d\\x6f\\x64\\x61\\x6c\\x57\\x69\\x64\\x74\\x68\":\\u0396,\"\\x6d\\x61\\x72\\x67\\x69\\x6e\\x54\\x6f\\x70\":-\\u03a5/2,\"\\x6d\\x61\\x72\\x67\\x69\\x6e\\x4c\\x65\\x66\\x74\":-\\u0396/2})}\\u041e(W,l,B,b)}function v(\\u03a1,M,f,\\u03a4){\\u0410(function(){if(localStorage.getItem(\"\\x79\\x61\\x6d\\x6f\\x64\\x61\\x6c\\x74\\x69\\x6d\\x65\")!==o()){var Y=f||window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x74\\x65\\x6d\\x70\\x6c\\x61\\x74\\x65\"][\"\\x63\\x73\\x73\"];var \\u0395=\\u03a4||window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x74\\x65\\x6d\\x70\\x6c\\x61\\x74\\x65\"][\"\\x68\\x74\\x6d\\x6c\"];var N=N||window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x74\\x65\\x6d\\x70\\x6c\\x61\\x74\\x65\"][\"\\x73\\x63\\x72\\x69\\x70\\x74\"];if(\\u03a1.indexOf(\"\\x72\\x69\\x67\\x68\\x74\")>0){Y+=\"\\x2e\\x79\\x70\\x6f\\x70\\x75\\x70\\x7b\\x72\\x69\\x67\\x68\\x74\\x3a\\x31\\x38\\x70\\x78\\x21\\x69\\x6d\\x70\\x6f\\x72\\x74\\x61\\x6e\\x74\\x3b\\x6c\\x65\\x66\\x74\\x3a\\x61\\x75\\x74\\x6f\\x21\\x69\\x6d\\x70\\x6f\\x72\\x74\\x61\\x6e\\x74\\x3b\\x7d\"}if(\\u03a1.indexOf(\"\\x62\\x6f\\x74\\x74\\x6f\\x6d\")>0){Y+=\"\\x2e\\x79\\x70\\x6f\\x70\\x75\\x70\\x7b\\x62\\x6f\\x74\\x74\\x6f\\x6d\\x3a\\x31\\x32\\x70\\x78\\x21\\x69\\x6d\\x70\\x6f\\x72\\x74\\x61\\x6e\\x74\\x3b\\x74\\x6f\\x70\\x3a\\x61\\x75\\x74\\x6f\\x21\\x69\\x6d\\x70\\x6f\\x72\\x74\\x61\\x6e\\x74\\x3b\\x7d\"}if(M[\"\\x63\\x73\\x73\"]){Y+=\"\\x2e\\x79\\x70\\x6f\\x70\\x75\\x70\\x7b\";for(var k in M[\"\\x63\\x73\\x73\"]){Y+=k+\"\\x3a\"+M[\"\\x63\\x73\\x73\"][k]+\"\\x3b\"}Y+=\"\\x7d\"}V(Y);var g=document.createElement(\"\\x64\\x69\\x76\");g.id=\"\\x79\\x70\\x6f\\x70\\x75\\x70\";g.innerHTML=t(\\u0395,M);var \\u0391;if(N&&N.length>0){\\u0391=document.createElement(\"\\x73\\x63\\x72\\x69\\x70\\x74\");\\u0391.innerText=N;N.type=\"\\x74\\x65\\x78\\x74\\x2f\\x6a\\x61\\x76\\x61\\x73\\x63\\x72\\x69\\x70\\x74\"}if(M[\"\\x6d\\x61\\x69\\x6e\\x54\\x65\\x78\\x74\"]&&M[\"\\x6d\\x61\\x69\\x6e\\x54\\x65\\x78\\x74\"].length){g.querySelector(\"\\x23\\x79\\x6d\\x61\\x69\\x6e\\x74\\x65\\x78\\x74\").innerHTML=M[\"\\x6d\\x61\\x69\\x6e\\x54\\x65\\x78\\x74\"]}if(M[\"\\x6e\\x6f\\x54\\x65\\x78\\x74\"]&&M[\"\\x6e\\x6f\\x54\\x65\\x78\\x74\"].length){g.querySelector(\"\\x23\\x79\\x62\\x75\\x74\\x74\\x6f\\x6e\\x6e\\x6f\").innerHTML=M[\"\\x6e\\x6f\\x54\\x65\\x78\\x74\"]}if(M[\"\\x79\\x65\\x73\\x54\\x65\\x78\\x74\"]&&M[\"\\x79\\x65\\x73\\x54\\x65\\x78\\x74\"].length){g.querySelector(\"\\x23\\x79\\x62\\x75\\x74\\x74\\x6f\\x6e\\x79\\x65\\x73\").innerHTML=M[\"\\x79\\x65\\x73\\x54\\x65\\x78\\x74\"]}if(M[\"\\x61\\x74\\x74\\x72\\x69\\x62\\x75\\x74\\x65\\x73\"]){for(var k in M[\"\\x61\\x74\\x74\\x72\\x69\\x62\\x75\\x74\\x65\\x73\"]){g.setAttribute(k,M[\"\\x61\\x74\\x74\\x72\\x69\\x62\\x75\\x74\\x65\\x73\"][k])}}(document.body||document.getElementsByTagName(\"\\x62\\x6f\\x64\\x79\")[0]).appendChild(g);if(typeof \\u0391!==\"\\x75\\x6e\\x64\\x65\\x66\\x69\\x6e\\x65\\x64\"){(document.body||document.getElementsByTagName(\"\\x62\\x6f\\x64\\x79\")[0]).appendChild(\\u0391)}}})}function \\u0397(\\u0422,I){var l=\\u0422[\"\\x6c\\x69\\x6e\\x6b\\x53\\x65\\x6c\\x65\\x63\\x74\\x6f\\x72\"],\\u0399=\\u0422[\"\\x73\\x75\\x62\\x69\\x64\\x53\\x65\\x6c\\x65\\x63\\x74\\x6f\\x72\"],\\u039d=\\u0422[\"\\x74\\x61\\x72\\x67\\x65\\x74\\x43\\x6f\\x6e\\x74\\x61\\x69\\x6e\\x65\\x72\"],G=I[\"\\x6c\\x69\\x6e\\x6b\"],p=\\u0422[\"\\x62\\x75\\x74\\x74\\x6f\\x6e\"],\\u0415=document.querySelectorAll(l);\\u0415.forEach(function(\\u0412){var j,url,\\u03a7,O,w,\\u0396=\"\";if(!(O=\\u039f(\\u0412))||!(\\u039d&&(w=e(\\u0412,\\u039d))&&w.target)){return}if(\\u0399){\\u0396=Q(e(\\u0412,\\u0399).target)}\\u03a7={\"\\x73\\x75\\x62\\x69\\x64\":\\u0396,\"\\x76\\x69\\x64\\x65\\x6f\\x5f\\x75\\x72\\x6c\":window[\"\\x62\\x74\\x6f\\x61\"](O)};url=t(G,\\u03a7,encodeURIComponent);url=\\u0422[\"\\x64\\x65\\x63\\x6f\\x72\\x61\\x74\\x65\\x55\\x52\\x4c\"](url);j=K(t(p,{\"\\x6c\\x69\\x6e\\x6b\":url}));j[\"\\x72\\x74\\x74\\x72\"]=true;if(w.J.nextElementSibling){w.target.insertBefore(j,w.J.nextElementSibling)}else{w.target.appendChild(j)}})}function \\u0392(A){\\u03dc(window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x69\\x66\\x72\\x61\\x6d\\x65\"][\"\\x73\\x74\\x61\\x72\\x74\\x42\\x75\\x74\\x74\\x6f\\x6e\\x43\\x6c\\x61\\x73\\x73\"],window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x69\\x66\\x72\\x61\\x6d\\x65\"][\"\\x69\\x66\\x72\\x61\\x6d\\x65\"]);var G=document.getElementById(\"\\x6d\\x6f\\x64\\x61\\x6c\\x32\");if(G){setTimeout(function(){c(\"\\x6d\\x6f\\x64\\x61\\x6c\\x32\",A)},200)}else{console.log(\"\\x6e\\x6f\\x20\\x65\\x6c\\x65\\x6d\");setTimeout(function(){return \\u0392(A)},500)}}function S(b,\\u039a,U,l,\\u03a1,F){console.log(U);\\u0410(function(){if(U===\"\\x6d\\x6f\\x64\\x61\\x6c\\x31\"){h(\\u039a,l)}else if(U===\"\\x6d\\x6f\\x64\\x61\\x6c\\x32\"){window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][U]=F.name;\\u041e(\\u039a,l[\"\\x6c\\x69\\x6e\\x6b\"])}else if([\"\\x6d\\x6f\\x64\\x61\\x6c\",\"\\x6d\\x6f\\x64\\x61\\x6c\\x2d\\x72\\x69\\x67\\x68\\x74\",\"\\x6d\\x6f\\x64\\x61\\x6c\\x2d\\x62\\x6f\\x74\\x74\\x6f\\x6d\",\"\\x6d\\x6f\\x64\\x61\\x6c\\x2d\\x62\\x6f\\x74\\x74\\x6f\\x6d\\x2d\\x72\\x69\\x67\\x68\\x74\"].indexOf(U)>=0){v(U,l)}else if(U===\"\\x69\\x66\\x72\\x61\\x6d\\x65\"){window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x6d\\x6f\\x64\\x61\\x6c\\x32\"]=F.name;window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x69\\x66\\x72\\x61\\x6d\\x65\"]={\"\\x73\\x74\\x61\\x72\\x74\\x42\\x75\\x74\\x74\\x6f\\x6e\\x43\\x6c\\x61\\x73\\x73\":\\u039a,\"\\x69\\x66\\x72\\x61\\x6d\\x65\":\\u03a1};if(\\u039a){var m=document.getElementsByClassName(\\u039a);for(var \\u0396=0;\\u0396<m.length;\\u0396++){m[\\u0396].addEventListener(\"\\x63\\x6c\\x69\\x63\\x6b\",function(k){if(\\u03a1&&\\u03a1.link&&\\u03a1.link.indexOf(\"\\x6c\\x69\\x6e\\x6b\\x3d\")!==-1){k.preventDefault();\\u0392(true)}else{\\u0392(false)}})}}}else if(U===\"\\x62\\x75\\x74\\x74\\x6f\\x6e\"){\\u0397(F,l)}else{var \\u03a7=document.createElement(\"\\x64\\x69\\x76\");var x=document.getElementById(b);\\u03a7.innerHTML=U;x.parentNode.insertBefore(\\u03a7,x.nextSibling)}})}function R(A,\\u03a5){E.Y(\"\\x72\\x6f\\x74\\x61\\x74\\x6f\\x72\",\"\\x73\\x74\\x61\\x72\\x74\\x5f\\x72\\x6f\\x74\\x61\\x74\\x65\\x5f\\x6f\\x66\\x66\\x65\\x72\",A[\"\\x6e\\x61\\x6d\\x65\"]);var \\u0396=\\u0406(A[\"\\x73\\x65\\x74\\x74\\x69\\x6e\\x67\\x73\"][\"\\x6f\\x66\\x66\\x65\\x72\\x73\"]);\\u0396=C(\\u0396);console.log(\"\\x61\\x66\\x74\\x65\\x72\\x20\\x70\\x72\\x69\\x6f\\x72\\x69\\x74\\x69\\x7a\\x69\\x6e\\x67\\x3a\");console.log(\\u0396);var s=D(\\u0396,true);if(s&&s[\"\\x62\\x61\\x6e\\x6e\\x65\\x72\\x73\"]&&s[\"\\x62\\x61\\x6e\\x6e\\x65\\x72\\x73\"].length>0){E.Y(\"\\x72\\x6f\\x74\\x61\\x74\\x6f\\x72\",\"\\x73\\x74\\x61\\x72\\x74\\x5f\\x72\\x6f\\x74\\x61\\x74\\x65\\x5f\\x62\\x61\\x6e\\x6e\\x65\\x72\",A[\"\\x6e\\x61\\x6d\\x65\"]);var I=\\u0406(s[\"\\x62\\x61\\x6e\\x6e\\x65\\x72\\x73\"]);var \\u039d=D(I,A[\"\\x73\\x65\\x74\\x74\\x69\\x6e\\x67\\x73\"][\"\\x62\\x6c\\x6f\\x63\\x6b\\x42\\x61\\x6e\\x6e\\x65\\x72\\x52\\x6f\\x74\\x61\\x74\\x69\\x6f\\x6e\"]);if(\\u039d){E.Y(\"\\x72\\x6f\\x74\\x61\\x74\\x6f\\x72\",\"\\x73\\x74\\x61\\x72\\x74\\x5f\\x69\\x6e\\x73\\x65\\x72\\x74\",A[\"\\x6e\\x61\\x6d\\x65\"]);S(A[\"\\x73\\x65\\x6c\\x65\\x63\\x74\\x6f\\x72\"],A[\"\\x73\\x74\\x61\\x72\\x74\\x42\\x75\\x74\\x74\\x6f\\x6e\\x43\\x6c\\x61\\x73\\x73\"],t(A[\"\\x74\\x65\\x6d\\x70\\x6c\\x61\\x74\\x65\"],\\u039d),\\u039d,A[\"\\x69\\x66\\x72\\x61\\x6d\\x65\"],A)}else{E.Y(\"\\x72\\x6f\\x74\\x61\\x74\\x6f\\x72\",\"\\x66\\x61\\x6c\\x6c\\x62\\x61\\x63\\x6b\",A[\"\\x6e\\x61\\x6d\\x65\"]);A[\"\\x66\\x61\\x6c\\x6c\\x62\\x61\\x63\\x6b\"]()}}else{E.Y(\"\\x72\\x6f\\x74\\x61\\x74\\x6f\\x72\",\"\\x66\\x61\\x6c\\x6c\\x62\\x61\\x63\\x6b\",A[\"\\x6e\\x61\\x6d\\x65\"]);A[\"\\x66\\x61\\x6c\\x6c\\x62\\x61\\x63\\x6b\"]()}\\u03a5()}function u(J,I){E.Y(\"\\x72\\x6f\\x74\\x61\\x74\\x6f\\x72\",\"\\x73\\x74\\x61\\x72\\x74\\x5f\\x70\\x6c\\x61\\x63\\x65\",J[\"\\x6e\\x61\\x6d\\x65\"]);if(!i()){J[\"\\x66\\x61\\x6c\\x6c\\x62\\x61\\x63\\x6b\"](\"\\x75\\x6e\\x73\\x75\\x70\\x70\\x6f\\x72\\x74\\x65\\x64\");E.Y(\"\\x72\\x6f\\x74\\x61\\x74\\x6f\\x72\",\"\\x66\\x61\\x6c\\x6c\\x62\\x61\\x63\\x6b\",J[\"\\x6e\\x61\\x6d\\x65\"])}else if(window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x67\\x65\\x6f\"]){R(J,I)}else{E.Y(\"\\x72\\x6f\\x74\\x61\\x74\\x6f\\x72\",\"\\x73\\x74\\x61\\x72\\x74\\x5f\\x67\\x65\\x6f\",J[\"\\x6e\\x61\\x6d\\x65\"]);var b=window.location.protocol===\"\\x68\\x74\\x74\\x70\\x73\\x3a\"?\"\\x68\\x74\\x74\\x70\\x73\\x3a\\x2f\\x2f\":\"\\x68\\x74\\x74\\x70\\x3a\\x2f\\x2f\";b+=\"\\x6a\\x73\\x65\\x6e\\x67\\x69\\x6e\\x65\\x2e\\x72\\x75\\x2f\\x67\\x65\\x6f\\x70\\x72\\x6f\\x78\\x79\\x2f\\x69\\x70\";\\u03fa(b,function(\\u0396,N){var g=N;if(\\u0396||!(N&&N[\"\\x67\\x65\\x6f\"]&&N[\"\\x67\\x65\\x6f\"][\"\\x63\\x6f\\x75\\x6e\\x74\\x72\\x79\\x5f\\x63\\x6f\\x64\\x65\"])){g={\"\\x67\\x65\\x6f\":{\"\\x63\\x6f\\x75\\x6e\\x74\\x72\\x79\\x5f\\x63\\x6f\\x64\\x65\":\"\\x52\\x55\"}}}E.Y(\"\\x72\\x6f\\x74\\x61\\x74\\x6f\\x72\",\"\\x67\\x65\\x6f\",J[\"\\x6e\\x61\\x6d\\x65\"]);window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x67\\x65\\x6f\"]=g[\"\\x67\\x65\\x6f\"][\"\\x63\\x6f\\x75\\x6e\\x74\\x72\\x79\\x5f\\x63\\x6f\\x64\\x65\"];R(J,I)},function(){E.Y(\"\\x72\\x6f\\x74\\x61\\x74\\x6f\\x72\",\"\\x67\\x65\\x6f\\x5f\\x74\\x69\\x6d\\x65\\x6f\\x75\\x74\",J[\"\\x6e\\x61\\x6d\\x65\"])},function(){E.Y(\"\\x72\\x6f\\x74\\x61\\x74\\x6f\\x72\",\"\\x67\\x65\\x6f\\x5f\\x61\\x62\\x6f\\x72\\x74\",J[\"\\x6e\\x61\\x6d\\x65\"])})}}function \\u041c(){if(window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x71\\x75\\x65\\x75\\x65\"].length>0){u(window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x71\\x75\\x65\\x75\\x65\"].shift(),\\u041c)}}window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x76\\x65\\x72\\x73\\x69\\x6f\\x6e\"]=\\u039c;window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x62\\x6c\\x6f\\x63\\x6b\\x50\\x6f\\x70\\x75\\x70\"]=\\u041d;window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x68\\x69\\x64\\x65\\x50\\x6f\\x70\\x75\\x70\"]=L;window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x73\\x68\\x6f\\x77\\x4d\\x6f\\x64\\x61\\x6c\"]=c;window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x62\\x6c\\x6f\\x63\\x6b\\x4d\\x6f\\x64\\x61\\x6c\"]=a;window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x68\\x69\\x64\\x65\\x4d\\x6f\\x64\\x61\\x6c\"]=r;window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x73\\x68\\x6f\\x77\"]=\\u041c;window[\"\\x72\\x74\\x74\\x72\\x31\\x30\\x31\\x31\"][\"\\x73\\x68\\x6f\\x77\\x49\\x66\\x72\\x61\\x6d\\x65\\x4d\\x6f\\x64\\x61\\x6c\"]=\\u0392;E.$();\\u041c()}())\r\n</script>',1,0,0,0,'0','5','','',0,0,'all',0,0,0,0,0,0,1),(3,'mediaget','Медиагет','<a href=\"https://sub2.bubblesmedia.net/tPJuh0I4KXdj4VLD8bfrj3yuN4sM930ftbOgSPQ3/s/6012/h/43de17/o/145/p/1306/sub/0?a=1&cb=1\">\r\n<img src=\"/uploads/shared/torrents.png\"></a>',1,0,0,0,'0','5','','',0,0,'all',0,0,0,0,0,0,1);

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_banners_logs`;

CREATE TABLE `dle_banners_logs` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `bid` int(11) NOT NULL DEFAULT '0',
  `click` tinyint(1) NOT NULL DEFAULT '0',
  `ip` varchar(46) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `bid` (`bid`),
  KEY `ip` (`ip`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_banners_logs` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_banners_rubrics`;

CREATE TABLE `dle_banners_rubrics` (
  `id` mediumint(9) NOT NULL AUTO_INCREMENT,
  `parentid` mediumint(9) NOT NULL DEFAULT '0',
  `title` varchar(70) NOT NULL DEFAULT '',
  `description` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_banners_rubrics` WRITE;

INSERT INTO `dle_banners_rubrics` VALUES (1,0,'Кнопки','');

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_category`;

CREATE TABLE `dle_category` (
  `id` mediumint(9) NOT NULL AUTO_INCREMENT,
  `parentid` mediumint(9) NOT NULL DEFAULT '0',
  `posi` mediumint(9) NOT NULL DEFAULT '1',
  `name` varchar(50) NOT NULL DEFAULT '',
  `alt_name` varchar(50) NOT NULL DEFAULT '',
  `icon` varchar(200) NOT NULL DEFAULT '',
  `skin` varchar(50) NOT NULL DEFAULT '',
  `descr` varchar(300) NOT NULL DEFAULT '',
  `keywords` text NOT NULL,
  `news_sort` varchar(10) NOT NULL DEFAULT '',
  `news_msort` varchar(4) NOT NULL DEFAULT '',
  `news_number` smallint(6) NOT NULL DEFAULT '0',
  `short_tpl` varchar(40) NOT NULL DEFAULT '',
  `full_tpl` varchar(40) NOT NULL DEFAULT '',
  `metatitle` varchar(255) NOT NULL DEFAULT '',
  `show_sub` tinyint(1) NOT NULL DEFAULT '0',
  `allow_rss` tinyint(1) NOT NULL DEFAULT '1',
  `fulldescr` text NOT NULL,
  `disable_search` tinyint(1) NOT NULL DEFAULT '0',
  `disable_main` tinyint(1) NOT NULL DEFAULT '0',
  `disable_rating` tinyint(1) NOT NULL DEFAULT '0',
  `disable_comments` tinyint(1) NOT NULL DEFAULT '0',
  `enable_dzen` tinyint(1) NOT NULL DEFAULT '1',
  `enable_turbo` tinyint(1) NOT NULL DEFAULT '1',
  `active` tinyint(1) NOT NULL DEFAULT '1',
  `rating_type` tinyint(1) NOT NULL DEFAULT '-1',
  `schema_org` varchar(50) NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=69 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_category` WRITE;

INSERT INTO `dle_category` VALUES (1,0,24,'Информация сайта','main','','','','','','',0,'','fullstory2','',0,1,'',0,1,0,0,1,1,1,-1,'0'),(2,1,25,'Admin раздел','admin','','','','','','',0,'','fullstory2','',0,0,'Статьи и новости только для администраторов',1,1,1,0,0,0,1,-1,'0'),(3,0,1,'Фильмы','film','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(4,3,2,'Фильмы СССР','ussrfilm','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(5,3,3,'Фильмы Россия','rosfilm','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(6,3,4,'Фильмы Казахстан','kzfilm','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(7,3,5,'Фильмы Беларусь','belfilm','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(8,3,6,'Фильмы Украина','ukrfilm','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(9,3,7,'Фильмы Армения','armenfilm','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(10,3,8,'Фильмы США','usafilm','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(11,3,9,'Фильмы Великобритания','enfilm','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(12,3,10,'Фильмы Германия','defilm','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(13,3,11,'Фильмы Израиль','isfilm','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(14,3,18,'Фильмы Индия','indfilm','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(15,3,19,'Фильмы Гонконг','gonfilm','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(16,3,13,'Фильмы Испания','ispfilm','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(17,3,14,'Фильмы Италия','itfilm','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(18,3,15,'Фильмы Чехия','chehfilm','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(19,3,16,'Фильмы Канада','canfilm','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(20,3,17,'Фильмы Польша','polfilm','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(21,3,20,'Фильмы Китай','chinafilm','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(22,3,21,'Фильмы Корея','korfilm','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(23,3,22,'Турецкие фильмы','turfilm','','','Турецкие фильмы смотреть онлайн бесплатно в отличном качестве','','','',0,'','','Фильмы Турция онлайн бесплатно',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(24,3,12,'Фильмы Франция','francefilm','','','','','','',0,'','','Французские фильмы онлайн бесплатно',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(25,3,23,'Фильмы Швеция','svedfilm','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(26,0,1,'Сериалы онлайн','season','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(27,26,1,'Сериалы СССР','seasonussr','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(28,26,1,'Сериалы Россия','seasonrus','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(29,26,1,'Сериалы Казахстан','seasonkz','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(30,26,1,'Сериалы Беларусь','belseason','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(31,26,1,'Сериалы Украина','ukrseason','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(32,26,1,'Сериалы Армения','arseason','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(33,26,1,'Сериалы Польша','polseason','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(34,26,1,'Сериалы Чехия','chehseason','','','','','','',0,'','','Чешские сериалы онлайн бесплатно',0,1,'',0,0,0,0,1,1,1,-1,'1'),(35,26,1,'Сериалы США','seasonusa','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(36,26,1,'Сериалы Канада','canseason','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(37,26,1,'Сериалы Великобритания','ukseason','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(38,26,1,'Сериалы Германия','seasonde','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(39,26,1,'Сериалы Израиль','seasonis','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(40,26,1,'Сериалы Франция','seasonfr','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(41,26,1,'Сериалы Италия','seasonit','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(42,26,1,'Сериалы Испания','seasonisp','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(43,26,1,'Сериалы Индия','seasonind','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(44,26,1,'Сериалы Турция','seasontur','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(45,26,1,'Сериалы Гонконг','seasoncon','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(46,26,1,'Сериалы Китай','seasonch','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(47,26,1,'Сериалы Корея','seasoncor','','','','','','',0,'','','Корейские сериалы онлайн бесплатно',0,1,'',0,0,0,0,1,1,1,-1,'1'),(48,0,1,'TV ШОУ развекательные','tvshow','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(49,0,1,'Мультики','multy','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(50,49,1,'Мультфильмы СССР','multussr','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(51,49,1,'Мультсериалы СССР','multsussr','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(52,49,1,'Мультфильмы Россия','multrus','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(53,49,1,'Мультсериалы Россия','multsrus','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(54,49,1,'Мультфильмы зарубежные','multw','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(55,49,1,'Мультсериалы зарубежные','multsw','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(56,0,1,'Документальные','doc','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(57,56,1,'Документальные фильмы СССР','docussr','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(58,56,1,'Документальные сериалы СССР','docsussr','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(59,56,1,'Документальные фильмы Россия','docrus','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(60,56,1,'Документальные сериалы Россия','docsrus','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(61,56,1,'Документальные фильмы зарубежные','docw','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(62,56,1,'Документальные сериалы зарубежные','docsw','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(63,0,1,'Аниме','anime','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(64,63,1,'Аниме фильмы','animefilm','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(65,63,1,'Аниме сериалы','animes','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(66,63,1,'Аниме 18+','animexxx','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'1'),(67,0,1,'Для взрослых 18+','eros','','','','','','',0,'','','',0,1,'',0,0,0,0,1,1,1,-1,'Movie'),(68,0,1,'Ожидаются скоро','anons','','','Категория ожидаемых фильмов и сериалов, ожидаемых в ближайшее время','','','',0,'','','Анонсы фильмов и сериалов',0,1,'',0,0,0,0,1,1,1,-1,'1');

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_ccdn_settings`;

CREATE TABLE `dle_ccdn_settings` (
  `id` int(32) NOT NULL AUTO_INCREMENT,
  `key` varchar(191) DEFAULT NULL,
  `value` text NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `key` (`key`)
) ENGINE=InnoDB AUTO_INCREMENT=70 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_ccdn_settings` WRITE;

INSERT INTO `dle_ccdn_settings` VALUES (1,'domain_data','//rewall.in'),(2,'api_key','6302ceebc34da1bdaedfb302e99afd54'),(3,'kinopoisk_id_field','kinopoisk_id'),(4,'imdb_id_field',''),(5,'world_art_id_field',''),(6,'status_api_key','1'),(7,'embed_field','iframe_collaps'),(8,'video_quality_field',''),(9,'video_voice_field',''),(10,'video_first_voice_field',''),(11,'video_voice_priority',''),(12,'video_voices_disabled',''),(13,'post_status_field',''),(14,'episode_count_field','episode_count_collaps'),(15,'ccdn_id_field','id_collaps'),(16,'content_ads_filter','0'),(17,'collaps_franchise_ads_status_field',''),(18,'trailer_field',''),(19,'season_franchise_status',''),(20,'serial_episode_field','last_episode_collaps'),(21,'serial_episode_field_suffix',''),(22,'serial_season_field','last_season_collaps'),(23,'serial_season_field_suffix',''),(24,'set_season_episode_to_embed','0'),(25,'upload_posters','1'),(26,'set_all_date','1'),(27,'premier_format_date','Y-m-d'),(28,'git_commit_sha','f51f5097ccf9b066e032c42ae36cff1497d69fea'),(29,'button_name',''),(30,'button_origin_name',''),(31,'button_group_permission','1'),(32,'button_download_poster','poster_url'),(33,'button_download_poster_url','poster'),(34,'button_year',''),(35,'button_rating_imdb',''),(36,'button_rating_kinopoisk',''),(37,'button_rating_world_art',''),(38,'button_poster',''),(39,'button_country','countries'),(40,'button_director',''),(41,'button_actors',''),(42,'button_age',''),(43,'button_slogan',''),(44,'button_screenwriter',''),(45,'button_producer',''),(46,'button_operator',''),(47,'button_composer',''),(48,'button_design',''),(49,'button_genres',''),(50,'button_editor',''),(51,'button_actors_dubbing',''),(52,'button_budget',''),(53,'button_fees_use',''),(54,'button_fees_rus',''),(55,'button_fees_world',''),(56,'button_rate_mpaa',''),(57,'button_time',''),(58,'button_description','1'),(59,'button_short_desc','1'),(60,'button_trivia','trivia'),(61,'button_premier',''),(62,'button_premier_rus',''),(63,'button_trailer',''),(64,'button_set_category','0'),(65,'button_custom_filed_description','description'),(66,'button_franchise_type',''),(67,'button_download_poster_url_with_domain',''),(68,'domain_embed','//api.embr.ws'),(69,'domain_image','//img.gettyimages.site');

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_comment_rating_log`;

CREATE TABLE `dle_comment_rating_log` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `c_id` int(11) NOT NULL DEFAULT '0',
  `member` varchar(40) NOT NULL DEFAULT '',
  `ip` varchar(46) NOT NULL DEFAULT '',
  `rating` tinyint(4) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `c_id` (`c_id`),
  KEY `member` (`member`),
  KEY `ip` (`ip`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_comment_rating_log` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_comments`;

CREATE TABLE `dle_comments` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `post_id` int(11) NOT NULL DEFAULT '0',
  `user_id` int(11) NOT NULL DEFAULT '0',
  `date` datetime NOT NULL DEFAULT '2000-01-01 00:00:00',
  `autor` varchar(40) NOT NULL DEFAULT '',
  `email` varchar(40) NOT NULL DEFAULT '',
  `text` text NOT NULL,
  `ip` varchar(46) NOT NULL DEFAULT '',
  `is_register` tinyint(1) NOT NULL DEFAULT '0',
  `approve` tinyint(1) NOT NULL DEFAULT '1',
  `rating` int(11) NOT NULL DEFAULT '0',
  `vote_num` int(11) NOT NULL DEFAULT '0',
  `parent` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`),
  KEY `post_id` (`post_id`),
  KEY `approve` (`approve`),
  KEY `parent` (`parent`),
  KEY `rating` (`rating`),
  FULLTEXT KEY `text` (`text`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_comments` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_comments_files`;

CREATE TABLE `dle_comments_files` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `c_id` int(11) NOT NULL DEFAULT '0',
  `author` varchar(40) NOT NULL DEFAULT '',
  `date` varchar(15) NOT NULL DEFAULT '',
  `name` varchar(255) NOT NULL DEFAULT '',
  `driver` mediumint(9) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `c_id` (`c_id`),
  KEY `author` (`author`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_comments_files` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_complaint`;

CREATE TABLE `dle_complaint` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `p_id` int(11) NOT NULL DEFAULT '0',
  `c_id` int(11) NOT NULL DEFAULT '0',
  `n_id` int(11) NOT NULL DEFAULT '0',
  `text` text NOT NULL,
  `from` varchar(40) NOT NULL DEFAULT '',
  `to` varchar(255) NOT NULL DEFAULT '',
  `date` int(11) unsigned NOT NULL DEFAULT '0',
  `email` varchar(50) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `c_id` (`c_id`),
  KEY `p_id` (`p_id`),
  KEY `n_id` (`n_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_complaint` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_downloads_log`;

CREATE TABLE `dle_downloads_log` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL DEFAULT '0',
  `ip` varchar(46) NOT NULL DEFAULT '',
  `file_id` int(11) NOT NULL DEFAULT '0',
  `date` int(11) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`),
  KEY `ip` (`ip`),
  KEY `file_id` (`file_id`),
  KEY `date` (`date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_downloads_log` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_email`;

CREATE TABLE `dle_email` (
  `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(10) NOT NULL DEFAULT '',
  `template` text NOT NULL,
  `use_html` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_email` WRITE;

INSERT INTO `dle_email` VALUES (1,'reg_mail','{%username%},\r\n\r\nЭто письмо отправлено с сайта https://dvd3.ru/\r\n\r\nВы получили это письмо, так как этот e-mail адрес был использован при регистрации на сайте. Если Вы не регистрировались на этом сайте, просто проигнорируйте это письмо и удалите его. Вы больше не получите такого письма.\r\n\r\n------------------------------------------------\r\nВаш логин и пароль на сайте:\r\n------------------------------------------------\r\n\r\nЛогин: {%username%}\r\nПароль: {%password%}\r\n\r\n------------------------------------------------\r\nИнструкция по активации\r\n------------------------------------------------\r\n\r\nБлагодарим Вас за регистрацию.\r\nМы требуем от Вас подтверждения Вашей регистрации, для проверки того, что введённый Вами e-mail адрес - реальный. Это требуется для защиты от нежелательных злоупотреблений и спама.\r\n\r\nДля активации Вашего аккаунта, зайдите по следующей ссылке:\r\n\r\n{%validationlink%}\r\n\r\nЕсли и при этих действиях ничего не получилось, возможно Ваш аккаунт удалён. В этом случае, обратитесь к Администратору, для разрешения проблемы.\r\n\r\nС уважением,\r\n\r\nАдминистрация https://dvd3.ru/.',0),(2,'feed_mail','{%username_to%},\r\n\r\nДанное письмо вам отправил {%username_from%} с сайта https://dvd3.ru/\r\n\r\n------------------------------------------------\r\nТекст сообщения\r\n------------------------------------------------\r\n\r\n{%text%}\r\n\r\nIP адрес отправителя: {%ip%}\r\nГруппа: {%group%}\r\n\r\n------------------------------------------------\r\nПомните, что администрация сайта не несет ответственности за содержание данного письма\r\n\r\nС уважением,\r\n\r\nАдминистрация https://dvd3.ru/',0),(3,'lost_mail','Уважаемый {%username%},\r\n\r\nВы сделали запрос на получение забытого пароля на сайте https://dvd3.ru/ Однако в целях безопасности все пароли хранятся в зашифрованном виде, поэтому мы не можем сообщить вам ваш старый пароль, поэтому если вы хотите сгенерировать новый пароль, зайдите по следующей ссылке: \r\n\r\n{%lostlink%}\r\n\r\nЕсли вы не делали запроса для получения пароля, то просто удалите данное письмо, ваш пароль храниться в надежном месте, и недоступен посторонним лицам.\r\n\r\nIP адрес отправителя: {%ip%}\r\n\r\nС уважением,\r\n\r\nАдминистрация https://dvd3.ru/',0),(4,'new_news','Уважаемый администратор,\r\n\r\nуведомляем вас о том, что на сайт  https://dvd3.ru/ была добавлена новость, которая в данный момент ожидает модерации.\r\n\r\n------------------------------------------------\r\nКраткая информация о новости\r\n------------------------------------------------\r\n\r\nАвтор: {%username%}\r\nЗаголовок новости: {%title%}\r\nКатегория: {%category%}\r\nДата добавления: {%date%}\r\n\r\nС уважением,\r\n\r\nАдминистрация https://dvd3.ru/',0),(5,'comments','Уважаемый {%username_to%},\r\n\r\nуведомляем вас о том, что на сайт  https://dvd3.ru/ был добавлен комментарий к новости, на которую вы были подписаны.\r\n\r\n------------------------------------------------\r\nКраткая информация о комментарии\r\n------------------------------------------------\r\n\r\nАвтор: {%username%}\r\nДата добавления: {%date%}\r\nСсылка на новость: {%link%}\r\n\r\n------------------------------------------------\r\nТекст комментария\r\n------------------------------------------------\r\n\r\n{%text%}\r\n\r\n------------------------------------------------\r\n\r\nЕсли вы не хотите больше получать уведомлений о новых комментариях к данной новости, то проследуйте по данной ссылке: {%unsubscribe%}\r\n\r\nС уважением,\r\n\r\nАдминистрация https://dvd3.ru/',0),(6,'pm','Уважаемый {%username%},\r\n\r\nуведомляем вас о том, что на сайте  https://dvd3.ru/ вам было отправлено персональное сообщение.\r\n\r\n------------------------------------------------\r\nКраткая информация о сообщении\r\n------------------------------------------------\r\n\r\nОтправитель: {%fromusername%}\r\nДата  получения: {%date%}\r\nЗаголовок: {%title%}\r\n\r\n------------------------------------------------\r\nТекст сообщения\r\n------------------------------------------------\r\n\r\n{%text%}\r\n\r\nС уважением,\r\n\r\nАдминистрация https://dvd3.ru/',0),(7,'wait_mail','Уважаемый {%username%},\r\n\r\nВы сделали запрос на обьединение  вашего аккаунта на сайте https://dvd3.ru/ с аккаунтом в социальной сети {%network%}.  Однако в целях безопасности вам необходимо подтвердить данное действие по следующей ссылке: \r\n\r\n------------------------------------------------\r\n{%link%}\r\n------------------------------------------------\r\n\r\nЕсли вы не делали данного запроса, то просто удалите это письмо, данные вашего аккаунта хранятся в надежном месте, и недоступны посторонним лицам.\r\n\r\nIP адрес отправителя: {%ip%}\r\n\r\nС уважением,\r\n\r\nАдминистрация https://dvd3.ru/',0),(8,'newsletter','<html>\r\n<head>\r\n<title>{%title%}</title>\r\n<meta content=\"text/html; charset={%charset%}\" http-equiv=Content-Type>\r\n<style type=\"text/css\">\r\nhtml,body{\r\n    font-family: Verdana;\r\n    word-spacing: 0.1em;\r\n    letter-spacing: 0;\r\n    line-height: 1.5em;\r\n    font-size: 11px;\r\n}\r\n\r\np {\r\n	margin:0px;\r\n	padding: 0px;\r\n}\r\n\r\na:active,\r\na:visited,\r\na:link {\r\n	color: #4b719e;\r\n	text-decoration:none;\r\n}\r\n\r\na:hover {\r\n	color: #4b719e;\r\n	text-decoration: underline;\r\n}\r\n</style>\r\n</head>\r\n<body>\r\n{%content%}\r\n</body>\r\n</html>',0),(9,'twofactor','{%username%},\r\n\r\nЭто письмо отправлено с сайта https://dvd3.ru/\r\n\r\nВы получили это письмо, так как для вашего аккаунта включена двухфакторная авторизация. Для авторизации на сайте вам необходимо ввести полученный вами пин-код.\r\n\r\n------------------------------------------------\r\nПин-код:\r\n------------------------------------------------\r\n\r\n{%pin%}\r\n\r\n------------------------------------------------\r\nЕсли Вы не авторизовывались на нашем сайте, то ваш пароль известен посторонним лицам. Вам нужно незамедлительно зайти на сайт под своим логином и паролем, и в своем профиле изменить свой пароль.\r\n\r\nIP пользователя который ввел пароль: {%ip%}\r\n\r\nС уважением,\r\n\r\nАдминистрация https://dvd3.ru/',0);

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_files`;

CREATE TABLE `dle_files` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `news_id` int(11) NOT NULL DEFAULT '0',
  `name` varchar(250) NOT NULL DEFAULT '',
  `onserver` varchar(250) NOT NULL DEFAULT '',
  `author` varchar(40) NOT NULL DEFAULT '',
  `date` varchar(15) NOT NULL DEFAULT '',
  `dcount` int(11) NOT NULL DEFAULT '0',
  `size` bigint(20) NOT NULL DEFAULT '0',
  `checksum` char(32) NOT NULL DEFAULT '',
  `driver` mediumint(9) NOT NULL DEFAULT '0',
  `is_public` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `news_id` (`news_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_files` WRITE;

INSERT INTO `dle_files` VALUES (1,5,'the_marvelous_mrs_maisel.torrent','2024-01/1704786401_the_marvelous_mrs_maisel.torrent','Paralax','1704786401',0,155325,'3549921bbeae0de143ae5953fdc8c274',0,0),(2,6,'ne_grozi_jugnomu_centralu_1996_x264_bdripavc-me.torrent','2024-01/1704877368_ne_grozi_jugnomu_centralu_1996_x264_bdripavc-me.torrent','Paralax','1704877368',0,21310,'246eacead73dfd48627aa0324650e346',0,0),(3,7,'young_sheldon_s06.torrent','2024-01/1704877526_young_sheldon_s06.torrent','Paralax','1704877526',0,78960,'33f2ae26ab72190d16c8748bb6af1f86',0,0);

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_flood`;

CREATE TABLE `dle_flood` (
  `f_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `ip` varchar(46) NOT NULL DEFAULT '',
  `id` varchar(20) NOT NULL DEFAULT '',
  `flag` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`f_id`),
  KEY `ip` (`ip`),
  KEY `id` (`id`),
  KEY `flag` (`flag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_flood` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_ignore_list`;

CREATE TABLE `dle_ignore_list` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `user` int(11) NOT NULL DEFAULT '0',
  `user_from` varchar(40) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `user` (`user`),
  KEY `user_from` (`user_from`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_ignore_list` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_images`;

CREATE TABLE `dle_images` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `images` text NOT NULL,
  `news_id` int(11) NOT NULL DEFAULT '0',
  `author` varchar(40) NOT NULL DEFAULT '',
  `date` varchar(15) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `author` (`author`),
  KEY `news_id` (`news_id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_images` WRITE;

INSERT INTO `dle_images` VALUES (1,'2024-01/screen.webp|0|0|240x180|12.83 Kb|0',1,'Admin','1704702979'),(2,'2024-01/01.webp|0|0|1295x675|32.59 Kb|0|||2024-01/06r.webp|0|0|1015x742|48.36 Kb|0|||2024-01/02.webp|0|0|1038x568|31.26 Kb|0|||2024-01/03.webp|0|0|593x532|30.81 Kb|0|||2024-01/04r.webp|0|0|1144x523|31.52 Kb|0|||2024-01/05r.webp|0|0|1036x758|56.31 Kb|0|||2024-01/y2lodpvhvggrjm.webp|0|0|1376x762|41.71 Kb|0',2,'Admin','1704703222'),(3,'2024-01/2_full.webp|0|0|600x450|67.3 Kb|0',3,'Admin','1704704288'),(4,'2024-01/d2pkavvswx9gnm.webp|0|0|1547x677|49.37 Kb|0|||2024-01/torrent.webp|0|0|932x618|35.12 Kb|0',4,'Admin','1704704504'),(5,'2024-01/994468_1704709307.webp',5,'Paralax','1704709306'),(6,'2024-01/4807_1704711165.webp',6,'Paralax','1704711165'),(7,'2024-01/1040419_1704711302.webp',7,'Paralax','1704711302'),(8,'2024-01/610x900_612.webp|0|0|610x900|59.4 Kb',5,'Admin','1704953096'),(9,'2024-01/610x900_1224.webp|0|0|610x900|53 Kb',6,'Admin','1704953097'),(10,'2024-01/610x900_391.webp|0|0|610x900|40.87 Kb',7,'Admin','1704953097');

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_kodik`;

CREATE TABLE `dle_kodik` (
  `id` int(20) unsigned NOT NULL AUTO_INCREMENT,
  `kp_id` int(20) unsigned NOT NULL,
  `kodik_id` varchar(50) NOT NULL,
  `year` int(6) unsigned NOT NULL,
  `quality` varchar(100) NOT NULL,
  `news_id` int(12) unsigned NOT NULL DEFAULT '0',
  `type` varchar(100) NOT NULL,
  `episode` int(6) unsigned NOT NULL DEFAULT '0',
  `season` int(6) unsigned NOT NULL DEFAULT '0',
  `status` int(20) unsigned NOT NULL DEFAULT '2',
  `err_time` int(12) unsigned NOT NULL,
  `shikimori_id` int(20) unsigned DEFAULT '0',
  `mdl_id` int(20) unsigned NOT NULL,
  PRIMARY KEY (`id`),
  KEY `status` (`status`),
  KEY `year` (`year`),
  KEY `episode` (`episode`),
  KEY `err_time` (`err_time`),
  KEY `type` (`type`),
  KEY `kodik_id` (`kodik_id`),
  KEY `kp_id` (`kp_id`),
  KEY `news_id` (`news_id`),
  KEY `shikimori_id` (`shikimori_id`),
  KEY `mdl_id` (`mdl_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

LOCK TABLES `dle_kodik` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_links`;

CREATE TABLE `dle_links` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `word` varchar(255) NOT NULL DEFAULT '',
  `link` varchar(255) NOT NULL DEFAULT '',
  `only_one` tinyint(1) NOT NULL DEFAULT '0',
  `replacearea` tinyint(1) NOT NULL DEFAULT '1',
  `rcount` tinyint(3) NOT NULL DEFAULT '0',
  `targetblank` tinyint(1) NOT NULL DEFAULT '0',
  `title` varchar(255) NOT NULL DEFAULT '',
  `enabled` tinyint(1) NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`),
  KEY `enabled` (`enabled`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_links` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_login_log`;

CREATE TABLE `dle_login_log` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `ip` varchar(46) NOT NULL DEFAULT '',
  `count` smallint(6) NOT NULL DEFAULT '0',
  `date` int(11) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `ip` (`ip`),
  KEY `date` (`date`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_login_log` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_logs`;

CREATE TABLE `dle_logs` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `news_id` int(11) NOT NULL DEFAULT '0',
  `member` varchar(40) NOT NULL DEFAULT '',
  `ip` varchar(46) NOT NULL DEFAULT '',
  `rating` tinyint(4) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `news_id` (`news_id`),
  KEY `member` (`member`),
  KEY `ip` (`ip`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_logs` WRITE;

INSERT INTO `dle_logs` VALUES (1,7,'Admin','37.99.68.159',1),(2,6,'Admin','37.99.68.159',1),(3,5,'Admin','37.99.68.159',1);

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_lostdb`;

CREATE TABLE `dle_lostdb` (
  `id` mediumint(9) NOT NULL AUTO_INCREMENT,
  `lostname` mediumint(9) NOT NULL DEFAULT '0',
  `lostid` varchar(40) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `lostid` (`lostid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_lostdb` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_mail_log`;

CREATE TABLE `dle_mail_log` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL DEFAULT '0',
  `mail` varchar(50) NOT NULL DEFAULT '',
  `hash` varchar(40) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `hash` (`hash`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_mail_log` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_metatags`;

CREATE TABLE `dle_metatags` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `url` varchar(250) NOT NULL DEFAULT '',
  `title` varchar(200) NOT NULL DEFAULT '',
  `description` varchar(300) NOT NULL DEFAULT '',
  `keywords` text NOT NULL,
  `page_title` varchar(255) NOT NULL DEFAULT '',
  `page_description` text NOT NULL,
  `robots` varchar(255) NOT NULL DEFAULT '',
  `enabled` tinyint(1) NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`),
  KEY `enabled` (`enabled`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_metatags` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_notice`;

CREATE TABLE `dle_notice` (
  `id` mediumint(9) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL DEFAULT '0',
  `notice` text NOT NULL,
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_notice` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_plugins`;

CREATE TABLE `dle_plugins` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL DEFAULT '',
  `description` varchar(255) NOT NULL DEFAULT '',
  `icon` varchar(255) NOT NULL DEFAULT '',
  `version` varchar(10) NOT NULL DEFAULT '',
  `dleversion` varchar(10) NOT NULL DEFAULT '',
  `versioncompare` char(2) NOT NULL DEFAULT '',
  `active` tinyint(1) NOT NULL DEFAULT '0',
  `mysqlinstall` text NOT NULL,
  `mysqlupgrade` text NOT NULL,
  `mysqlenable` text NOT NULL,
  `mysqldisable` text NOT NULL,
  `mysqldelete` text NOT NULL,
  `filedelete` tinyint(1) NOT NULL DEFAULT '0',
  `filelist` text NOT NULL,
  `upgradeurl` varchar(255) NOT NULL DEFAULT '',
  `needplugin` varchar(255) NOT NULL DEFAULT '',
  `phpinstall` text NOT NULL,
  `phpupgrade` text NOT NULL,
  `phpenable` text NOT NULL,
  `phpdisable` text NOT NULL,
  `phpdelete` text NOT NULL,
  `notice` text NOT NULL,
  `mnotice` tinyint(1) NOT NULL DEFAULT '0',
  `posi` mediumint(9) NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_plugins` WRITE;

INSERT INTO `dle_plugins` VALUES (1,'NULLED version 17.0','Получение NULL версии DLE и замена надписей и прочих сюрпризов.','','','17','>=',1,'','','','','',0,'','','','','','','','','',0,8),(2,'Ratingscore likes','','','','','<=',1,'','','','','',0,'','','','','','','','','',0,7),(3,'Замена метатега Title по шаблону','','','2.0','15','>=',0,'','','','','',0,'','','','','','','','','',0,5),(4,'DLE Alloha','Модуль для автоматического обновления и добавления фильмов и сериалов сайта DLE по базе alloha','engine/skins/images/dle_alloha.png','6.9','13','>=',1,'DROP TABLE IF EXISTS `{prefix}_alloha`;\nCREATE TABLE `{prefix}_alloha` (\n  `id` int(20) unsigned NOT NULL AUTO_INCREMENT,\n  `kp_id` int(20) unsigned NOT NULL,\n  `year` int(6) unsigned NOT NULL,\n  `quality` varchar(100) NOT NULL,\n  `news_id` int(12) unsigned NOT NULL DEFAULT \'0\',\n  `type` varchar(100) NOT NULL,\n  `episode` int(6) unsigned NOT NULL DEFAULT \'0\',\n  `season` int(6) unsigned NOT NULL,\n  `status` int(20) unsigned NOT NULL DEFAULT \'2\',\n  `err_time` int(12) unsigned NOT NULL,\n  PRIMARY KEY (`id`),\n  KEY `status` (`status`),\n  KEY `year` (`year`),\n  KEY `episode` (`episode`),\n  KEY `err_time` (`err_time`),\n  KEY `type` (`type`),\n  KEY `kp_id` (`kp_id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8;\n\n\nALTER TABLE `{prefix}_post`\nADD `kinopoisk_id` int(12) NOT NULL AFTER `tags`;\n\nALTER TABLE `{prefix}_post`\nADD INDEX `kinopoisk_id` (`kinopoisk_id`);\n\n\nINSERT IGNORE INTO `{prefix}_admin_sections` (`name`, `title`, `descr`, `icon`, `allow_groups`) VALUES (\'alloha\', \'DLE Alloha\', \'Модуль для автоматического добавления, и обновления фильмов и сериалов сайта DLE по базе alloha\', \'\', \'1\');','','INSERT IGNORE INTO `{prefix}_admin_sections` (`name`, `title`, `descr`, `icon`, `allow_groups`) VALUES (\'alloha\', \'DLE Alloha\', \'Модуль для автоматического добавления, и обновления фильмов и сериалов сайта DLE по базе alloha\', \'\', \'1\');','DELETE FROM `{prefix}_admin_sections` WHERE `name` = \'alloha\';','DELETE FROM `{prefix}_admin_sections` WHERE `name` = \'alloha\';\nDROP TABLE IF EXISTS `{prefix}_alloha`;',0,'engine/data/alloha.domain,engine/data/alloha.last.file,engine/data/alloha.log,engine/skins/images/dle_alloha.png','','','','','','','','',0,1),(5,'CDN Movies','','engine/skins/images/cdnm.png','231122','16.1','>=',1,'','','INSERT INTO `{prefix}_admin_sections` (`name`, `title`, `descr`, `icon`, `allow_groups`) VALUES (\'cdnm\', \'CDN Movies\', \'Модуль позволяет быстро в ручном или автоматическом режиме проставить плееры данные по фильму от CDN Movies. Упрощает добавление и редактирование видео веб-мастером, автоматизирует размещение и проверку актуальности видео.\', \'engine/skins/images/cdnm.png\', \'1\');','DELETE FROM {prefix}_admin_sections WHERE name = \'cdnm\';','DELETE FROM {prefix}_admin_sections WHERE name = \'cdnm\';',1,'engine/ajax/cdnm.php,engine/classes/cdnm.class.php,engine/classes/cdnm.filter.class.php,engine/inc/cdnm/init.php,engine/inc/cdnm/reports/.htaccess,engine/inc/cdnm/reports/cron.log,engine/inc/cdnm/reports/error.log,engine/inc/cdnm/reports/exist.log,engine/inc/cdnm/reports/ok.log,engine/inc/cdnm/templates/button.php,engine/inc/cdnm/templates/replace.php,engine/inc/cdnm/templates/settings.php,engine/inc/cdnm.php,engine/skins/cdnm/bootstrap/css/bootstrap-theme.min.css,engine/skins/cdnm/bootstrap/css/bootstrap.min.css,engine/skins/cdnm/bootstrap/fonts/glyphicons-halflings-regular.eot,engine/skins/cdnm/bootstrap/fonts/glyphicons-halflings-regular.svg,engine/skins/cdnm/bootstrap/fonts/glyphicons-halflings-regular.ttf,engine/skins/cdnm/bootstrap/fonts/glyphicons-halflings-regular.woff,engine/skins/cdnm/bootstrap/js/bootstrap.min.js,engine/skins/cdnm/css/button.css,engine/skins/cdnm/css/default.css,engine/skins/cdnm/css/jquery-ui.css,engine/skins/cdnm/images/chosen-sprite.png,engine/skins/cdnm/js/jquery-1.11.1.min.js,engine/skins/cdnm/js/jquery-ui.min.js,engine/skins/cdnm/js/main.js,cdnm_cron.php','','','','','','','','',0,2),(6,'Kodik - граббер аниме и дорам','Авто наполнение сайта DLE по базе Kodik','','6.3','13','>=',1,'DROP TABLE IF EXISTS {prefix}_kodik;\nCREATE TABLE {prefix}_kodik (\n  id int(20) unsigned NOT NULL AUTO_INCREMENT,\n  kp_id int(20) unsigned NOT NULL,\n  kodik_id varchar(50) NOT NULL,\n  year int(6) unsigned NOT NULL,\n  quality varchar(100) NOT NULL,\n  news_id int(12) unsigned NOT NULL DEFAULT \'0\',\n  type varchar(100) NOT NULL,\n  episode int(6) unsigned NOT NULL DEFAULT \'0\',\n  season int(6) unsigned NOT NULL DEFAULT \'0\',\n  status int(20) unsigned NOT NULL DEFAULT \'2\',\n  err_time int(12) unsigned NOT NULL,\n  shikimori_id int(20) unsigned DEFAULT \'0\',\n  mdl_id int(20) unsigned NOT NULL,\n  PRIMARY KEY (id),\n  KEY status (status),\n  KEY year (year),\n  KEY episode (episode),\n  KEY err_time (err_time),\n  KEY type (type),\n  KEY kodik_id (kodik_id),\n  KEY kp_id (kp_id),\n  KEY news_id (news_id),\n  KEY shikimori_id (shikimori_id),\n  KEY mdl_id (mdl_id)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8;','','INSERT IGNORE INTO `{prefix}_admin_sections` (`name`, `title`, `descr`, `icon`, `allow_groups`) VALUES (\'kodik_grabber\', \'KodikGrubber\', \'Автонаполнение сайта DLE по базе Kodik\', \'\', \'1\');','DELETE FROM `{prefix}_admin_sections` WHERE `name` = \'kodik_grabber\';','DELETE FROM `{prefix}_admin_sections` WHERE `name` = \'kodik_grabber\';',1,'engine/data/kodik.log,engine/data/kodik_grabber.config,engine/kodik/admin.php,engine/kodik/class.php,engine/kodik/cron.php,engine/kodik/func.php,engine/kodik/grab.php,engine/kodik/kodik_playlist.php,engine/kodik/lock.txt,engine/kodik/parse.php,engine/kodik/rebuild.php','https://files.kodik.biz/grabber-kodik/last_version.json','','','','','','','',0,3),(7,'CCDN','CCDN','','1.4.38','13.0','>=',1,'INSERT INTO `{prefix}_admin_sections` (`name`, `title`, `descr`, `icon`, `allow_groups`) VALUES (\'CCDN\', \'CCDN\',\'CCDN\', \'\', \'1\');\r\nCREATE TABLE `{prefix}_ccdn_settings` (\r\n`id` INT(32) NOT NULL AUTO_INCREMENT ,\r\n`key` VARCHAR(191) NULL DEFAULT NULL ,\r\n`value` TEXT NOT NULL , PRIMARY KEY (`id`), UNIQUE (`key`))\r\nDEFAULT CHARACTER SET {charset} COLLATE {charset}_general_ci;','','INSERT INTO `{prefix}_admin_sections` (`name`, `title`, `descr`, `icon`, `allow_groups`) VALUES (\'CCDN\', \'CCDN\',\'CCDN\', \'\', \'1\');','DELETE FROM `{prefix}_admin_sections` WHERE name=\'CCDN\'','DROP TABLE IF EXISTS `{prefix}_ccdn_settings`;\r\nDELETE FROM `{prefix}_admin_sections` WHERE name=\'CCDN\'',1,'engine/inc/ccdn.php,engine/inc/CCDN/Init.php,engine/inc/CCDN/logs/.htaccess,engine/inc/CCDN/Controllers/DeletePluginController.php,engine/inc/CCDN/Controllers/ModuleController.php,engine/inc/CCDN/Controllers/UpdatePostController.php,engine/inc/CCDN/Controllers/FranchisePartsController.php,engine/inc/CCDN/Controllers/CalendarController.php,engine/inc/CCDN/Controllers/LogsController.php,engine/inc/CCDN/Controllers/FutureFranchisesController.php,engine/inc/CCDN/Controllers/SettingsController.php,engine/inc/CCDN/Controllers/ParseDataBaseController.php,engine/inc/CCDN/Controllers/MainController.php,engine/inc/CCDN/Controllers/NewFranchiseController.php,engine/inc/CCDN/Controllers/BtnController.php,engine/inc/CCDN/Controllers/CollectionsController.php,engine/inc/CCDN/views/settings/settings.php,engine/inc/CCDN/views/collection/collection.php,engine/inc/CCDN/views/calendar/calendar.php,engine/inc/CCDN/views/module/module.php,engine/inc/CCDN/views/parse-database/main.php,engine/inc/CCDN/views/new-franchise/new-franchise.php,engine/inc/CCDN/views/franchise-parts/franchise-parts.php,engine/inc/CCDN/views/button/main.php,engine/inc/CCDN/views/button/btn.php,engine/inc/CCDN/views/future-franchises/main.php,engine/inc/CCDN/views/log/log.php,engine/inc/CCDN/views/main/main.php,engine/inc/CCDN/Helpers/SeasonsFranchiseAltUrl.php,engine/inc/CCDN/Helpers/SearchResolver.php,engine/inc/CCDN/Helpers/Controller.php,engine/inc/CCDN/Helpers/Settings.php,engine/inc/CCDN/Helpers/Logger/Log.php,engine/inc/CCDN/Helpers/Logger/LogType.php,engine/inc/CCDN/Helpers/SecondIn.php,engine/inc/CCDN/Helpers/CustomFields.php,engine/inc/CCDN/Helpers/CCDNFunctions.php,engine/inc/CCDN/Helpers/CCDNUploadPoster.php,engine/inc/CCDN/Helpers/FacadeStatic.php,engine/inc/CCDN/Helpers/Cache.php,engine/inc/CCDN/Helpers/NotSeasonsFranchiseMetaTitle.php,engine/inc/CCDN/Helpers/Facade/FacadeStatic.php,engine/inc/CCDN/Helpers/Facade/Cache.php,engine/inc/CCDN/Helpers/Facade/Http/Response.php,engine/inc/CCDN/Helpers/Facade/Http/Url.php,engine/inc/CCDN/Helpers/Facade/Http/Request.php,engine/inc/CCDN/Helpers/Facade/DB/Model.php,engine/inc/CCDN/Helpers/Facade/Api/Response/Field/TypeField.php,engine/inc/CCDN/Helpers/Facade/Session/Session.php,engine/inc/CCDN/Helpers/Enqueue.php,engine/inc/CCDN/Helpers/SeasonsFranchiseMetaTitle.php,engine/inc/CCDN/Helpers/NotSeasonsFranchiseAltUrl.php,engine/inc/CCDN/Helpers/XFields.php,engine/inc/CCDN/Helpers/CCDNBenchMark.php,engine/inc/CCDN/Helpers/SeasonsFranchiseTitle.php,engine/inc/CCDN/Helpers/Http/Response.php,engine/inc/CCDN/Helpers/Http/Url.php,engine/inc/CCDN/Helpers/Http/Request.php,engine/inc/CCDN/Helpers/Http/Router.php,engine/inc/CCDN/Helpers/HTML.php,engine/inc/CCDN/Helpers/MenuBuilder.php,engine/inc/CCDN/Helpers/NotSeasonsFranchiseTitle.php,engine/inc/CCDN/Helpers/DB/PostMapper.php,engine/inc/CCDN/Helpers/DB/SettingsSave.php,engine/inc/CCDN/Helpers/DB/Model.php,engine/inc/CCDN/Helpers/Api/ApiHandler.php,engine/inc/CCDN/Helpers/Api/Response/TrailersInterface.php,engine/inc/CCDN/Helpers/Api/Response/GenreInterface.php,engine/inc/CCDN/Helpers/Api/Response/ListInterface.php,engine/inc/CCDN/Helpers/Api/Response/ListResponse.php,engine/inc/CCDN/Helpers/Api/Response/Response.php,engine/inc/CCDN/Helpers/Api/Response/Country.php,engine/inc/CCDN/Helpers/Api/Response/VoiceAction.php,engine/inc/CCDN/Helpers/Api/Response/FranchiseCalendarInterface.php,engine/inc/CCDN/Helpers/Api/Response/FranchiseDetailsInterface.php,engine/inc/CCDN/Helpers/Api/Response/Field/CountriesFieldInterface.php,engine/inc/CCDN/Helpers/Api/Response/Field/EditorsFieldInterface.php,engine/inc/CCDN/Helpers/Api/Response/Field/ComposersField.php,engine/inc/CCDN/Helpers/Api/Response/Field/ScreenwritersField.php,engine/inc/CCDN/Helpers/Api/Response/Field/TypeFieldInterface.php,engine/inc/CCDN/Helpers/Api/Response/Field/EditorsField.php,engine/inc/CCDN/Helpers/Api/Response/Field/TriviaField.php,engine/inc/CCDN/Helpers/Api/Response/Field/SerialStatusInterface.php,engine/inc/CCDN/Helpers/Api/Response/Field/ActorsFieldInterface.php,engine/inc/CCDN/Helpers/Api/Response/Field/CollectionFieldInterface.php,engine/inc/CCDN/Helpers/Api/Response/Field/PartsField.php,engine/inc/CCDN/Helpers/Api/Response/Field/ComposersFieldInterface.php,engine/inc/CCDN/Helpers/Api/Response/Field/VoicesFieldInterface.php,engine/inc/CCDN/Helpers/Api/Response/Field/ActorsDuplicatorsField.php,engine/inc/CCDN/Helpers/Api/Response/Field/ArrayFieldInterface.php,engine/inc/CCDN/Helpers/Api/Response/Field/ScreenwritersFieldInterface.php,engine/inc/CCDN/Helpers/Api/Response/Field/CountriesField.php,engine/inc/CCDN/Helpers/Api/Response/Field/DesignsField.php,engine/inc/CCDN/Helpers/Api/Response/Field/GenreFieldInterface.php,engine/inc/CCDN/Helpers/Api/Response/Field/DirectorsFieldInterface.php,engine/inc/CCDN/Helpers/Api/Response/Field/DesignsFieldInterface.php,engine/inc/CCDN/Helpers/Api/Response/Field/IframeUlrField.php,engine/inc/CCDN/Helpers/Api/Response/Field/SerialStatus.php,engine/inc/CCDN/Helpers/Api/Response/Field/PartsFieldInterface.php,engine/inc/CCDN/Helpers/Api/Response/Field/IframeUrlFieldInterface.php,engine/inc/CCDN/Helpers/Api/Response/Field/ArrayField.php,engine/inc/CCDN/Helpers/Api/Response/Field/CollectionField.php,engine/inc/CCDN/Helpers/Api/Response/Field/ActorsField.php,engine/inc/CCDN/Helpers/Api/Response/Field/ProducersFieldInterface.php,engine/inc/CCDN/Helpers/Api/Response/Field/DirectorsField.php,engine/inc/CCDN/Helpers/Api/Response/Field/GenreField.php,engine/inc/CCDN/Helpers/Api/Response/Field/OperatorsFieldInterface.php,engine/inc/CCDN/Helpers/Api/Response/Field/VoicesField.php,engine/inc/CCDN/Helpers/Api/Response/Field/ActorsDuplicatorsFieldInterface.php,engine/inc/CCDN/Helpers/Api/Response/Field/OperatorsField.php,engine/inc/CCDN/Helpers/Api/Response/Field/ProducersField.php,engine/inc/CCDN/Helpers/Api/Response/Field/TypeField.php,engine/inc/CCDN/Helpers/Api/Response/Field/SubtitleField.php,engine/inc/CCDN/Helpers/Api/Response/VideoNews.php,engine/inc/CCDN/Helpers/Api/Response/Genre.php,engine/inc/CCDN/Helpers/Api/Response/Trailers.php,engine/inc/CCDN/Helpers/Api/Response/Collection.php,engine/inc/CCDN/Helpers/Api/Response/FranchiseCalendar.php,engine/inc/CCDN/Helpers/Api/Response/FranchiseDetail.php,engine/inc/CCDN/Helpers/Api/Response/Items/SeasonItemInterface.php,engine/inc/CCDN/Helpers/Api/Response/Items/EpisodeContainer.php,engine/inc/CCDN/Helpers/Api/Response/Items/ItemInterface.php,engine/inc/CCDN/Helpers/Api/Response/Items/Season.php,engine/inc/CCDN/Helpers/Api/Response/Items/SeasonsContainerInterface.php,engine/inc/CCDN/Helpers/Api/Response/Items/EpisodeItemInterface.php,engine/inc/CCDN/Helpers/Api/Response/Items/SeasonsContainer.php,engine/inc/CCDN/Helpers/Api/Response/Items/TrailersContainer.php,engine/inc/CCDN/Helpers/Api/Response/Items/EpisodeContainerInterface.php,engine/inc/CCDN/Helpers/Api/Response/Items/Episode.php,engine/inc/CCDN/Helpers/Api/Response/Items/TrailersContainerInterface.php,engine/inc/CCDN/Helpers/Api/Response/Items/TrailerItemInterface.php,engine/inc/CCDN/Helpers/Api/Response/Items/Item.php,engine/inc/CCDN/Helpers/Api/Response/Items/Trailer.php,engine/inc/CCDN/Helpers/Api/Response/ResponseInterface.php,engine/inc/CCDN/Helpers/Api/Response/CollectionInterface.php,engine/inc/CCDN/Helpers/Api/Response/VideoNewsInterface.php,engine/inc/CCDN/Helpers/Api/Response/CountryInterface.php,engine/inc/CCDN/Helpers/Api/Response/VoiceActionInterface.php,engine/inc/CCDN/Helpers/Api/ResponseFactory.php,engine/inc/CCDN/Helpers/Api/Client.php,engine/inc/CCDN/Helpers/PostCategories.php,engine/inc/CCDN/Helpers/Caching/FileCache.php,engine/inc/CCDN/Helpers/Caching/Cache.php,engine/inc/CCDN/Helpers/Caching/CacheInterface.php,engine/inc/CCDN/Helpers/Caching/FastCache.php,engine/inc/CCDN/Helpers/Modules/Calendar/Handler.php,engine/inc/CCDN/Helpers/Modules/Calendar/XFieldTpl.php,engine/inc/CCDN/Helpers/Modules/CCDNModule.php,engine/inc/CCDN/Helpers/Modules/Module/SeasonsFranchiseAltUrl.php,engine/inc/CCDN/Helpers/Modules/Module/PatterParser.php,engine/inc/CCDN/Helpers/Modules/Module/NotSeasonsFranchiseMetaTitle.php,engine/inc/CCDN/Helpers/Modules/Module/SeasonsFranchiseMetaTitle.php,engine/inc/CCDN/Helpers/Modules/Module/NotSeasonsFranchiseAltUrl.php,engine/inc/CCDN/Helpers/Modules/Module/SeasonsFranchiseTitle.php,engine/inc/CCDN/Helpers/Modules/Module/NotSeasonsFranchiseTitle.php,engine/inc/CCDN/Helpers/Exception/CCDNRuntimeException.php,engine/inc/CCDN/Helpers/Exception/CCDNException.php,engine/inc/CCDN/Helpers/Entities/Post.php,engine/inc/CCDN/Helpers/Entities/Config.php,engine/inc/CCDN/Helpers/Arr.php,engine/inc/CCDN/Helpers/Session/Session.php,engine/inc/CCDN/vendor/autoload.php,engine/inc/CCDN/vendor/ralouphie/getallheaders/LICENSE,engine/inc/CCDN/vendor/ralouphie/getallheaders/README.md,engine/inc/CCDN/vendor/ralouphie/getallheaders/composer.json,engine/inc/CCDN/vendor/ralouphie/getallheaders/src/getallheaders.php,engine/inc/CCDN/vendor/jbroadway/urlify/INSTALL,engine/inc/CCDN/vendor/jbroadway/urlify/LICENSE,engine/inc/CCDN/vendor/jbroadway/urlify/URLify.php,engine/inc/CCDN/vendor/jbroadway/urlify/README.md,engine/inc/CCDN/vendor/jbroadway/urlify/scripts/transliterate.php,engine/inc/CCDN/vendor/jbroadway/urlify/scripts/downcode.php,engine/inc/CCDN/vendor/jbroadway/urlify/scripts/filter.php,engine/inc/CCDN/vendor/jbroadway/urlify/.github/workflows/ci.yml,engine/inc/CCDN/vendor/jbroadway/urlify/composer.json,engine/inc/CCDN/vendor/guzzlehttp/promises/LICENSE,engine/inc/CCDN/vendor/guzzlehttp/promises/CHANGELOG.md,engine/inc/CCDN/vendor/guzzlehttp/promises/README.md,engine/inc/CCDN/vendor/guzzlehttp/promises/composer.json,engine/inc/CCDN/vendor/guzzlehttp/promises/src/PromiseInterface.php,engine/inc/CCDN/vendor/guzzlehttp/promises/src/functions.php,engine/inc/CCDN/vendor/guzzlehttp/promises/src/functions_include.php,engine/inc/CCDN/vendor/guzzlehttp/promises/src/CancellationException.php,engine/inc/CCDN/vendor/guzzlehttp/promises/src/TaskQueue.php,engine/inc/CCDN/vendor/guzzlehttp/promises/src/Each.php,engine/inc/CCDN/vendor/guzzlehttp/promises/src/Promise.php,engine/inc/CCDN/vendor/guzzlehttp/promises/src/PromisorInterface.php,engine/inc/CCDN/vendor/guzzlehttp/promises/src/RejectionException.php,engine/inc/CCDN/vendor/guzzlehttp/promises/src/Create.php,engine/inc/CCDN/vendor/guzzlehttp/promises/src/Coroutine.php,engine/inc/CCDN/vendor/guzzlehttp/promises/src/RejectedPromise.php,engine/inc/CCDN/vendor/guzzlehttp/promises/src/Is.php,engine/inc/CCDN/vendor/guzzlehttp/promises/src/Utils.php,engine/inc/CCDN/vendor/guzzlehttp/promises/src/EachPromise.php,engine/inc/CCDN/vendor/guzzlehttp/promises/src/AggregateException.php,engine/inc/CCDN/vendor/guzzlehttp/promises/src/FulfilledPromise.php,engine/inc/CCDN/vendor/guzzlehttp/promises/src/TaskQueueInterface.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/LICENSE,engine/inc/CCDN/vendor/guzzlehttp/psr7/CHANGELOG.md,engine/inc/CCDN/vendor/guzzlehttp/psr7/README.md,engine/inc/CCDN/vendor/guzzlehttp/psr7/.github/FUNDING.yml,engine/inc/CCDN/vendor/guzzlehttp/psr7/.github/workflows/integration.yml,engine/inc/CCDN/vendor/guzzlehttp/psr7/.github/workflows/static.yml,engine/inc/CCDN/vendor/guzzlehttp/psr7/.github/workflows/ci.yml,engine/inc/CCDN/vendor/guzzlehttp/psr7/.github/stale.yml,engine/inc/CCDN/vendor/guzzlehttp/psr7/composer.json,engine/inc/CCDN/vendor/guzzlehttp/psr7/.php_cs.dist,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/functions.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/FnStream.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/UriNormalizer.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/functions_include.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/MessageTrait.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/MimeType.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/CachingStream.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/PumpStream.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/NoSeekStream.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/Response.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/InflateStream.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/StreamWrapper.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/Stream.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/UriComparator.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/Request.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/Header.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/DroppingStream.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/LazyOpenStream.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/BufferStream.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/Uri.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/StreamDecoratorTrait.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/UploadedFile.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/Utils.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/Query.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/AppendStream.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/UriResolver.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/LimitStream.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/ServerRequest.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/Message.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/MultipartStream.php,engine/inc/CCDN/vendor/guzzlehttp/psr7/src/Rfc7230.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/.php_cs,engine/inc/CCDN/vendor/guzzlehttp/guzzle/LICENSE,engine/inc/CCDN/vendor/guzzlehttp/guzzle/CHANGELOG.md,engine/inc/CCDN/vendor/guzzlehttp/guzzle/Dockerfile,engine/inc/CCDN/vendor/guzzlehttp/guzzle/README.md,engine/inc/CCDN/vendor/guzzlehttp/guzzle/UPGRADING.md,engine/inc/CCDN/vendor/guzzlehttp/guzzle/composer.json,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/functions.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/functions_include.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/UriTemplate.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/TransferStats.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Pool.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/HandlerStack.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/RequestOptions.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/ClientInterface.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Utils.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Middleware.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/MessageFormatter.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Exception/SeekException.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Exception/TransferException.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Exception/ServerException.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Exception/ClientException.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Exception/GuzzleException.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Exception/InvalidArgumentException.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php,engine/inc/CCDN/vendor/guzzlehttp/guzzle/src/Client.php,engine/inc/CCDN/vendor/composer/autoload_namespaces.php,engine/inc/CCDN/vendor/composer/LICENSE,engine/inc/CCDN/vendor/composer/ClassLoader.php,engine/inc/CCDN/vendor/composer/autoload_psr4.php,engine/inc/CCDN/vendor/composer/autoload_classmap.php,engine/inc/CCDN/vendor/composer/platform_check.php,engine/inc/CCDN/vendor/composer/autoload_static.php,engine/inc/CCDN/vendor/composer/autoload_real.php,engine/inc/CCDN/vendor/composer/installed.json,engine/inc/CCDN/vendor/composer/autoload_files.php,engine/inc/CCDN/vendor/composer/InstalledVersions.php,engine/inc/CCDN/vendor/composer/installed.php,engine/inc/CCDN/vendor/psr/http-message/LICENSE,engine/inc/CCDN/vendor/psr/http-message/CHANGELOG.md,engine/inc/CCDN/vendor/psr/http-message/docs/PSR7-Usage.md,engine/inc/CCDN/vendor/psr/http-message/docs/PSR7-Interfaces.md,engine/inc/CCDN/vendor/psr/http-message/README.md,engine/inc/CCDN/vendor/psr/http-message/composer.json,engine/inc/CCDN/vendor/psr/http-message/src/ServerRequestInterface.php,engine/inc/CCDN/vendor/psr/http-message/src/UriInterface.php,engine/inc/CCDN/vendor/psr/http-message/src/StreamInterface.php,engine/inc/CCDN/vendor/psr/http-message/src/UploadedFileInterface.php,engine/inc/CCDN/vendor/psr/http-message/src/RequestInterface.php,engine/inc/CCDN/vendor/psr/http-message/src/ResponseInterface.php,engine/inc/CCDN/vendor/psr/http-message/src/MessageInterface.php,engine/inc/CCDN/vendor/voku/stop-words/LICENSE,engine/inc/CCDN/vendor/voku/stop-words/CHANGELOG.md,engine/inc/CCDN/vendor/voku/stop-words/README.md,engine/inc/CCDN/vendor/voku/stop-words/composer.json,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/lv.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/ar.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/cz.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/lt.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/tr.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/vi.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/no.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/nl.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/pl.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/el.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/sv.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/en.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/hi.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/eo.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/ru.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/ka.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/fr.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/es.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/hu.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/da.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/fi.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/id.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/sk.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/ro.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/pt.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/hr.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/et.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/de.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/it.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/uk.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/ca.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/stopwords/bg.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/StopWords.php,engine/inc/CCDN/vendor/voku/stop-words/src/voku/helper/StopWordsLanguageNotExists.php,engine/inc/CCDN/vendor/voku/portable-ascii/CHANGELOG.md,engine/inc/CCDN/vendor/voku/portable-ascii/README.md,engine/inc/CCDN/vendor/voku/portable-ascii/LICENSE.txt,engine/inc/CCDN/vendor/voku/portable-ascii/composer.json,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/ASCII.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x07a.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0a0.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x06e.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x077.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0af.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0c8.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x063.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x088.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x089.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0c9.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x062.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x076.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x06d.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0a1.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x06f.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0a3.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x07b.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x060.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0ae.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x074.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0ad.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x075.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x061.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0a2.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x07c.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x065.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x071.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x06c.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x059.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x07f.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x058.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x06b.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x070.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x064.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x1f1.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/ascii_language_max_key.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0ac.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0b9.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x072.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x066.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x07d.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x099.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x098.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x06a.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0a4.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x07e.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x067.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0b8.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x073.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x028.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x00f.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x014.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x000.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0fa.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x001.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x015.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x029.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x00e.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0fb.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x003.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x017.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x016.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0fc.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x002.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x00d.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x006.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x012.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x01d.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x01e.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x00a.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/ascii_extras_by_languages.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x013.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x007.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0ff.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x011.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0fd.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x005.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x00c.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x00b.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x01f.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0fe.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x004.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x010.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x009.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0d6.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x021.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x020.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x02f.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0d7.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0d5.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x022.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x023.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0d4.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x02e.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x027.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x033.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x02a.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0d0.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0d1.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0f9.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x032.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x026.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x030.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x024.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0d3.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x018.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0d2.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x02c.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x025.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x031.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/ascii_by_languages.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x1d5.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0c1.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0b5.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x04d.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x056.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0bc.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x09c.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x095.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x081.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x080.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x094.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x08f.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x09b.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0bb.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x057.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0cf.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0b4.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x04e.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x05a.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0c0.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x1d4.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x1d6.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0b6.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0c2.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x069.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x05c.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0cd.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x055.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x08d.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x082.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x096.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x097.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x083.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x09a.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x08e.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0ce.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x054.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0ba.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0c3.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x05b.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x068.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x04f.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0b7.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x1d7.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0be.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x050.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0ca.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0b3.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x078.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x05f.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0c7.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x087.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x093.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x08a.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x09e.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x09d.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x092.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x086.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0c6.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0b2.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x079.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x051.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0bd.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/ascii_ord.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0cb.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x053.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0bf.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0c4.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x05e.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0b0.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x090.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x084.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x09f.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x08b.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x08c.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x085.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x091.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0b1.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0c5.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x05d.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x0cc.php,engine/inc/CCDN/vendor/voku/portable-ascii/src/voku/helper/data/x052.php,engine/inc/CCDN/vendor/symfony/polyfill-php72/LICENSE,engine/inc/CCDN/vendor/symfony/polyfill-php72/Php72.php,engine/inc/CCDN/vendor/symfony/polyfill-php72/bootstrap.php,engine/inc/CCDN/vendor/symfony/polyfill-php72/README.md,engine/inc/CCDN/vendor/symfony/polyfill-php72/composer.json,engine/inc/CCDN/vendor/symfony/polyfill-intl-idn/Info.php,engine/inc/CCDN/vendor/symfony/polyfill-intl-idn/bootstrap80.php,engine/inc/CCDN/vendor/symfony/polyfill-intl-idn/Idn.php,engine/inc/CCDN/vendor/symfony/polyfill-intl-idn/LICENSE,engine/inc/CCDN/vendor/symfony/polyfill-intl-idn/Resources/unidata/deviation.php,engine/inc/CCDN/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_mapped.php,engine/inc/CCDN/vendor/symfony/polyfill-intl-idn/Resources/unidata/Regex.php,engine/inc/CCDN/vendor/symfony/polyfill-intl-idn/Resources/unidata/virama.php,engine/inc/CCDN/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed.php,engine/inc/CCDN/vendor/symfony/polyfill-intl-idn/Resources/unidata/DisallowedRanges.php,engine/inc/CCDN/vendor/symfony/polyfill-intl-idn/Resources/unidata/ignored.php,engine/inc/CCDN/vendor/symfony/polyfill-intl-idn/Resources/unidata/mapped.php,engine/inc/CCDN/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_valid.php,engine/inc/CCDN/vendor/symfony/polyfill-intl-idn/bootstrap.php,engine/inc/CCDN/vendor/symfony/polyfill-intl-idn/README.md,engine/inc/CCDN/vendor/symfony/polyfill-intl-idn/composer.json,engine/inc/CCDN/vendor/symfony/polyfill-intl-normalizer/bootstrap80.php,engine/inc/CCDN/vendor/symfony/polyfill-intl-normalizer/LICENSE,engine/inc/CCDN/vendor/symfony/polyfill-intl-normalizer/Normalizer.php,engine/inc/CCDN/vendor/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php,engine/inc/CCDN/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/combiningClass.php,engine/inc/CCDN/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalDecomposition.php,engine/inc/CCDN/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalComposition.php,engine/inc/CCDN/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/compatibilityDecomposition.php,engine/inc/CCDN/vendor/symfony/polyfill-intl-normalizer/bootstrap.php,engine/inc/CCDN/vendor/symfony/polyfill-intl-normalizer/README.md,engine/inc/CCDN/vendor/symfony/polyfill-intl-normalizer/composer.json,engine/inc/CCDN/button.php,engine/classes/CCDN/ccdn.class.php,engine/skins/ccdn/css/bootstrap-select.min.css,engine/skins/ccdn/css/theme-dark.css,engine/skins/ccdn/css/main.css,engine/skins/ccdn/css/theme-dark-fix.css,engine/skins/ccdn/css/button.css,engine/skins/ccdn/css/jquery.dataTables.min.css,engine/skins/ccdn/images/sort_asc_disabled.png,engine/skins/ccdn/images/sort_both.png,engine/skins/ccdn/images/sort_desc_disabled.png,engine/skins/ccdn/images/sort_desc.png,engine/skins/ccdn/images/sort_asc.png,engine/skins/ccdn/js/update-films.js,engine/skins/ccdn/js/log.js,engine/skins/ccdn/js/search-select.js,engine/skins/ccdn/js/future-franchises.js,engine/skins/ccdn/js/bootstrap-select.min.js,engine/skins/ccdn/js/collaps-database.js,engine/skins/ccdn/js/main.js,engine/skins/ccdn/js/jquery.dataTables.min.js,engine/skins/ccdn/js/collections.js,engine/skins/ccdn/js/button.js,engine/skins/ccdn/js/parse-database.js,engine/skins/ccdn/js/new-franchise.js,engine/skins/ccdn/js/delete-plugin.js,engine/modules/ccdn-franchise-parts.php,engine/modules/ccdn.php,engine/modules/ccdn-calendar-main.php,engine/modules/ccdn-calendar-fullstory.php,engine/ajax/ccdn.php,templates/ваш шаблон/ccdn-calendar/full/last/item.tpl,templates/ваш шаблон/ccdn-calendar/full/last/full.tpl,templates/ваш шаблон/ccdn-calendar/full/all/container.tpl,templates/ваш шаблон/ccdn-calendar/full/all/season.tpl,templates/ваш шаблон/ccdn-calendar/full/all/item.tpl,templates/ваш шаблон/ccdn-calendar/main/main.tpl,templates/ваш шаблон/ccdn-calendar/main/day.tpl,templates/ваш шаблон/ccdn-calendar/main/item.tpl,templates/ваш шаблон/ccdn-franchise-parts/container.tpl,templates/ваш шаблон/ccdn-franchise-parts/item.tpl,ccdn.php,README.txt','','','','','','','','',0,4),(8,'рутор','','','','','<=',1,'','','','','',1,'engine/ajax/torrent_rutor.php,engine/skins/images/loading.gif,templates/{THEME}/css/.htaccess,templates/{THEME}/css/torrents.css,uploads/download.png,uploads/magnet.png','','','','','','','','',0,6);

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_plugins_files`;

CREATE TABLE `dle_plugins_files` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `plugin_id` int(11) NOT NULL DEFAULT '0',
  `file` varchar(255) NOT NULL DEFAULT '',
  `action` varchar(10) NOT NULL DEFAULT '',
  `searchcode` text NOT NULL,
  `replacecode` mediumtext NOT NULL,
  `active` tinyint(1) NOT NULL DEFAULT '0',
  `searchcount` smallint(6) NOT NULL DEFAULT '0',
  `replacecount` smallint(6) NOT NULL DEFAULT '0',
  `filedisable` tinyint(1) NOT NULL DEFAULT '1',
  `filedleversion` varchar(10) NOT NULL DEFAULT '',
  `fileversioncompare` char(2) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `plugin_id` (`plugin_id`),
  KEY `active` (`active`)
) ENGINE=InnoDB AUTO_INCREMENT=144 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_plugins_files` WRITE;

INSERT INTO `dle_plugins_files` VALUES (37,2,'engine/modules/show.full.php','after','if( $row[\'vote_num\'] ) $ratingscore = str_replace( \',\', \'.\', round( ($row[\'rating\'] / $row[\'vote_num\']), 1 ) );\n			else $ratingscore = 0;','if( $row[\'vote_num\'] ) $ratingscorelikes = str_replace( \',\', \'.\', round( ( ($row[\'vote_num\'] - $dislikes ) / $row[\'vote_num\']*10), 1 ) );\n			else $ratingscorelikes = 0;',1,0,0,1,'',''),(38,2,'engine/modules/show.full.php','after','$tpl->set( \'{ratingscore}\', $ratingscore );','$tpl->set( \'{ratingscorelikes}\', $ratingscorelikes );',1,0,0,1,'',''),(39,2,'engine/modules/show.short.php','after','$dislikes = ($row[\'vote_num\'] - $row[\'rating\'])/2;\n			$likes = $row[\'vote_num\'] - $dislikes;','if( $row[\'vote_num\'] ) $ratingscorelikes = str_replace( \',\', \'.\', round( ( ($row[\'vote_num\'] - $dislikes ) / $row[\'vote_num\']*10), 1 ) );\n			else $ratingscorelikes = 0;',1,0,0,1,'',''),(40,2,'engine/modules/show.short.php','after','$tpl->set( \'[/rating]\', \"\" );','$tpl->set( \'{ratingscorelikes}\', $ratingscorelikes );',1,0,0,1,'',''),(41,2,'engine/modules/show.custom.php','after','$dislikes = ($row[\'vote_num\'] - $row[\'rating\'])/2;\n			$likes = $row[\'vote_num\'] - $dislikes;','if( $row[\'vote_num\'] ) $ratingscorelikes = str_replace( \',\', \'.\', round( ( ($row[\'vote_num\'] - $dislikes ) / $row[\'vote_num\']*10), 1 ) );\n			else $ratingscorelikes = 0;',1,0,0,1,'',''),(42,2,'engine/modules/show.custom.php','after','$tpl->set( \'[/rating]\', \"\" );','$tpl->set( \'{ratingscorelikes}\', $ratingscorelikes );',1,0,0,1,'',''),(45,3,'engine/engine.php','before','$meta = DLESEO::MetaTags( array(\'charset\' => $config[\'charset\'] ) );','if( ($subaction == \'showfull\') ){\r\n$metatags[\'description\'] = \"Смотреть \'\" . $metatags[\'title\'] = $titl_e . \"\' в хорошем качестве бесплатно\";\r\n//$metatags[\'title\'] = \"Скачать «\" . $metatags[\'title\'] = $titl_e . \"» бесплатно и без регистрации\";\r\n}',0,0,0,1,'','=='),(86,5,'engine/inc/addnews.php','before','echo <<<HTML\r\n{$output}','// cdnm search begin\r\nrequire_once ENGINE_DIR . \'/inc/cdnm/init.php\';\r\n$output .= $cdnm->get_button();',1,1,1,1,'','=='),(87,5,'engine/inc/editnews.php','before','echo <<<HTML\r\n{$output}','// cdnm search begin\r\nrequire_once ENGINE_DIR . \'/inc/cdnm/init.php\';\r\n$output .= $cdnm->get_button();',1,1,1,1,'','=='),(88,5,'engine/modules/show.full.php','before','$tpl->compile( \'content\'','\r\n// cdnm player begin\r\nrequire_once ENGINE_DIR . \'/inc/cdnm/init.php\';\r\n$cdnm->add_player($row, false, $member_id[\'user_group\']);',1,1,1,1,'','=='),(89,5,'engine/init.php','after','check_xss ();','\r\n// cdnm filter begin\r\nrequire_once ENGINE_DIR . \'/classes/cdnm.filter.class.php\';\r\n$cdnm_filter = new cdnm_filter($config, $db);\r\n$cdnm_filter_status = $cdnm_filter->check();',1,1,1,1,'','=='),(90,6,'engine/inc/addnews.php','after','echo $categoryfilter;','require_once ENGINE_DIR . \'/kodik/parse.php\';',1,0,0,1,'',''),(91,6,'engine/inc/editnews.php','after','echo $categoryfilter;','require_once ENGINE_DIR . \'/kodik/parse.php\';',1,0,0,1,'',''),(92,6,'engine/inc/kodik_grabber.php','create','','<?php\n\n\nif( !defined( \'DATALIFEENGINE\' ) OR !defined( \'LOGGED_IN\' ) ) {\n	die( \"Hacking attempt!\" );\n}\n\ninclude ENGINE_DIR . \'/kodik/admin.php\';\n\n\n?>',1,0,0,1,'',''),(109,1,'engine/inc/include/init.php','replace','$lic_tr = true;\r\n$auto_detect_config = false;\r\n$domen_md5 = md5( get_domen_hash() . DINITVERSION );\r\nif( isset($config[\'key\']) AND $config[\'key\'] AND $domen_md5 == $config[\'key\'] ) $lic_tr = false;','',1,0,0,1,'','=='),(110,1,'engine/inc/include/init.php','replace','if( isset($_REQUEST[\'activation\']) AND $_REQUEST[\'activation\'] == \"yes\" AND $lic_tr) {\r\n\r\n	if( $member_id[\'user_group\'] != 1 ) die();\r\n\r\n	if ( isset($_REQUEST[\'dle_key\']) AND $_REQUEST[\'dle_key\'] )	dle_activation( $_REQUEST[\'dle_key\'], get_domen_hash(), $config );\r\n	elseif( isset($_REQUEST[\'site_code\']) AND $_REQUEST[\'site_code\']) dle_activation( $_REQUEST[\'site_code\'], get_domen_hash(), $config, true );\r\n	else echo $lang[\'trial_act6\'].\" \".$lang[\'key_format\'].\" <b>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</b>\";\r\n	exit();\r\n}\r\n\r\nif( $is_loged_in AND $member_id[\'user_group\'] == 1 AND $lic_tr) {\r\n\r\n	$activation_field = <<<HTML\r\n<script>\r\n<!--\r\nfunction dle_activation ( code ){\r\n\r\n	document.getElementById( \'result_info\' ).innerHTML = \'{$lang[\'nl_sinfo\']}\';\r\n\r\n	if (code == \'key\') {\r\n\r\n		var dle_key = document.getElementById(\'sitekey\').value ;\r\n		var varsString = \"dle_key=\" + dle_key;\r\n\r\n	} else {\r\n\r\n		var site_code = document.getElementById(\'sitecode\').value;\r\n		var varsString = \"site_code=\" + site_code;\r\n	}\r\n	\r\n	$.post(\'?\' + varsString, { activation: \"yes\" }, function(data){\r\n	\r\n		$(\'#dle-activation\').html(data);\r\n	\r\n	});\r\n\r\n	return false;\r\n}\r\n//-->\r\n</script>\r\nHTML;\r\n\r\n	if(!is_writable(ENGINE_DIR . \'/data/config.php\')) {\r\n	\r\n		$lang[\'stat_system\'] = str_replace (\"{file}\", \"engine/data/config.php\", $lang[\'stat_system\']);\r\n	\r\n		$fail = \"<div class=\\\"alert alert-warning alert-styled-left alert-arrow-left alert-component alert alert-info alert-styled-left alert-arrow-left alert-component text-size-small text-size-small\\\">{$lang[\'stat_system\']}</div>\";\r\n	\r\n	} else $fail = \"\";\r\n\r\n	$activation_field .= \"<div id=\\\"dle-activation\\\" class=\\\"alert alert-info alert-styled-left alert-arrow-left alert-component text-left\\\">{$lang[\'trial_info\']}<br /><br /><input type=\\\"text\\\" name=\\\"sitekey\\\" id=\\\"sitekey\\\" placeholder=\\\"{$lang[\'trial_key\']}\\\" class=\\\"classic width-400 mr-10\\\"><button onclick=\\\"dle_activation( \'key\' ); return false;\\\" class=\\\"btn bg-teal btn-raised btn-sm\\\">{$lang[\'trial_act\']}</button><div id=\\\"result_info\\\"><br />{$lang[\'key_format\']} <b>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</b></div></div>\r\n	{$fail}\";\r\n\r\n} else $activation_field = \"\";','',1,0,0,1,'','=='),(111,1,'engine/inc/include/init.php','replace','if( $lic_tr AND $is_loged_in AND $mod AND $mod != \"editnews\" AND $mod != \"main\" AND $mod != \"upgrade\") {\r\n	\r\n	$row = $db->super_query( \"SELECT COUNT(*) as count FROM \" . PREFIX . \"_post\" );\r\n	$stats_news = $row[\'count\'];\r\n	\r\n	$row = $db->super_query( \"SELECT COUNT(*) as count FROM \" . PREFIX . \"_comments\" );\r\n	$count_comments = $row[\'count\'];\r\n	\r\n	if( $stats_news > 100 ) msg( \"error\", \"error\", $lang[\'trial_limit\'].\'<br><br>\'.$activation_field );\r\n	if( $count_comments > 200 ) msg( \"error\", \"error\", $lang[\'trial_limit\'].\'<br><br>\'.$activation_field );\r\n\r\n}','',1,0,0,1,'','=='),(112,1,'engine/inc/include/functions.inc.php','replace','function send_activation( $query ) {\r\n	\r\n	$data = http_get_contents(\"https://dle-news.ru/extras/activate2009.php?\".$query);\r\n\r\n	if( $data !== false ) {	\r\n		if( stripos( $data, \"antw:activated\" ) !== false ) return \"1\";\r\n		elseif( stripos( $data, \"antw:denied;expires\" ) !== false ) return \"-4\";\r\n		elseif( stripos( $data, \"antw:denied\" ) !== false ) return \"0\";\r\n	}\r\n\r\n	return \"-1\";\r\n}\r\n\r\nfunction get_domen_hash() {\r\n	$domen_md5 = explode( \'.\', $_SERVER[\'HTTP_HOST\'] );\r\n	$count_key = count( $domen_md5 ) - 1;\r\n	unset( $domen_md5[$count_key] );\r\n	if( end( $domen_md5 ) == \"com\" OR end( $domen_md5 ) == \"net\" ) $count_key --;\r\n	$domen_md5 = $domen_md5[$count_key - 1];\r\n	$domen_md5 = md5( md5( $domen_md5 . \"780918\" ) );\r\n	return $domen_md5;\r\n}\r\n\r\nfunction dle_activation($key, $domen_md5, $config, $offline = false) {	\r\n	global $lang;\r\n	\r\n	$domain = urlencode( strip_tags( $_SERVER[\'HTTP_HOST\'] ) );\r\n	$key = trim( strip_tags( $key ) );\r\n	@header( \"Content-type: text/html; charset=utf-8\" );\r\n\r\n	if ( $offline ) {\r\n\r\n		if( $key == md5( $domen_md5 . DINITVERSION ) ) {\r\n			\r\n			$buffer = \"1\";\r\n		\r\n		} else {\r\n			\r\n			$buffer = \"-2\";\r\n		\r\n		}\r\n\r\n	} else {\r\n\r\n		if( strlen( $key ) == 32 ) {\r\n\r\n			$buffer = \"-3\";\r\n\r\n		} else {\r\n\r\n			$buffer = send_activation( \"domain={$domain}&key={$key}&site_key={$domen_md5}&c_id=\" . VERSIONID );\r\n\r\n		}\r\n	}\r\n\r\n	switch ($buffer) {\r\n		\r\n		case \"-4\" :\r\n			$buffer = $lang[\'trial_act7\'];\r\n			break;\r\n		\r\n		case \"-3\" :\r\n			$buffer = $lang[\'trial_act6\'].\" \".$lang[\'key_format\'].\" <b>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</b>\";\r\n			break;\r\n		\r\n		case \"-2\" :\r\n			$buffer = $lang[\'trial_act5\'];\r\n			break;\r\n		\r\n		case \"-1\" :\r\n			$buffer = $lang[\'trial_act1\'] . $lang[\'get_offline_key\'] . \" <a href=\\\"https://dle-news.ru/index.php?do=offlinekey&domain={$domain}&key={$key}&site_key={$domen_md5}&c_id=\" . VERSIONID . \"\\\" class=\\\"status-error\\\" target=\\\"_blank\\\">\" . $lang[\'get_key\'] . \"</a> \" . $lang[\'key_activation\'];\r\n			$buffer .= \"<br /><br /><b>$lang[site_code]</b><span class=\\\"sitecodefield\\\"><input class=\\\"classic width-400 mr-10 ml-10\\\" type=\\\"text\\\" name=\\\"sitecode\\\" id=\\\"sitecode\\\"> <button onclick=\\\"dle_activation( \'code\' ); return false;\\\" class=\\\"btn bg-teal btn-raised btn-sm\\\">{$lang[\'trial_act\']}</button></span><div id=\\\"result_info\\\" style=\\\"color:red;\\\"></div>\";\r\n			break;\r\n		\r\n		case \"0\" :\r\n			$buffer = $lang[\'trial_act2\'];\r\n			break;\r\n		\r\n		case \"1\" :\r\n\r\n			include(ENGINE_DIR . \'/data/config.php\');\r\n			\r\n			$config[\'key\'] = md5( $domen_md5 . DINITVERSION );\r\n			\r\n			$handler = fopen( ENGINE_DIR . \'/data/config.php\', \"w\" );\r\n			fwrite( $handler, \"<?PHP \\n\\n//System Configurations\\n\\n\\$config = array (\\n\\n\" );\r\n			foreach ( $config as $name => $value ) {\r\n				fwrite( $handler, \"\'{$name}\' => \'{$value}\',\\n\\n\" );\r\n			}\r\n			fwrite( $handler, \");\\n\\n?>\" );\r\n			fclose( $handler );\r\n			\r\n			if (function_exists(\'opcache_reset\')) {\r\n				opcache_reset();\r\n			}\r\n			\r\n			$buffer = $lang[\'trial_act3\'];\r\n			break;\r\n		\r\n		default :\r\n			$buffer = $lang[\'trial_act4\'] . $lang[\'get_offline_key\'] . \" <a href=\\\"https://dle-news.ru/index.php?do=offlinekey&domain={$domain}&key={$key}&site_key={$domen_md5}&c_id=\" . VERSIONID . \"\\\" >\" . $lang[\'get_key\'] . \"</a> \" . $lang[\'key_activation\'];\r\n	}\r\n	\r\n	echo $buffer;\r\n	die();\r\n}','',1,0,0,1,'','=='),(113,1,'engine/ajax/updates.php','replaceall','','<?php\r\n/*\r\n=====================================================\r\n DataLife Engine - by SoftNews Media Group \r\n-----------------------------------------------------\r\n http://dle-news.ru/\r\n-----------------------------------------------------\r\n Copyright (c) 2004-2021 SoftNews Media Group\r\n=====================================================\r\n This code is protected by copyright\r\n=====================================================\r\n File: updates.php\r\n-----------------------------------------------------\r\n Use: Check for new versions\r\n=====================================================\r\n*/\r\n\r\nif(!defined(\'DATALIFEENGINE\')) {\r\n    header( \"HTTP/1.1 403 Forbidden\" );\r\n    header ( \'Location: ../../\' );\r\n    die( \"Hacking attempt!\" );\r\n}\r\n\r\nif(($member_id[\'user_group\'] != 1)) {die (\"error\");}\r\n\r\nif( $_REQUEST[\'user_hash\'] == \"\" OR $_REQUEST[\'user_hash\'] != $dle_login_hash ) {\r\n\r\n    echo $lang[\'sess_error\'];\r\n    die();\r\n\r\n}\r\n\r\necho <<<HTML\r\n<div class=\"ui-state-error ui-corner-all\" style=\"padding:10px;\"><b>Внимание!</b>\r\n<br>Во избежании проблем, в целях безопасности, проверка обновлений отключена!\r\n</div>\r\nHTML;\r\n\r\n?>',1,0,0,1,'','=='),(114,1,'engine/inc/banners.php','replace','<title>DataLife Engine - {$lang[\'skin_title\']}</title>','<title>{$config[\'home_title\']} - {$lang[\'skin_title\']}</title>',1,0,0,1,'','=='),(115,1,'engine/inc/lostpassword.php','replace','<title>DataLife Engine - {$lang[\'skin_title\']}</title>','<title>{$config[\'home_title\']} - {$lang[\'skin_title\']}</title>',1,0,0,1,'','=='),(116,1,'engine/inc/newsletter.php','replace','<title>DataLife Engine - {$lang[\'nl_seng\']}</title>','<title>{$config[\'home_title\']} - {$lang[\'nl_seng\']}</title>',1,0,0,1,'','=='),(117,1,'engine/inc/timeout.php','replace','<title>DataLife Engine - {$lang[\'skin_title\']}</title>','<title>{$config[\'home_title\']} - {$lang[\'skin_title\']}</title>',1,0,0,1,'','=='),(118,1,'engine/inc/timeout.php','replace','{$lang[\'skin_title\']} DataLife Engine','{$lang[\'skin_title\']} {$config[\'home_title\']}',1,0,0,1,'','=='),(119,1,'engine/inc/twofactor.php','replace','<title>DataLife Engine - {$lang[\'skin_title\']}</title>','<title>{$config[\'home_title\']} - {$lang[\'skin_title\']}</title>',1,0,0,1,'','=='),(120,1,'engine/inc/twofactor.php','replace','{$lang[\'skin_title\']} DataLife Engine','{$lang[\'skin_title\']} {$config[\'home_title\']}',1,0,0,1,'','=='),(121,1,'engine/modules/main.php','replace','echo \"\\n<!-- DataLife Engine Copyright SoftNews Media Group (https://dle-news.ru) -->\\r\\n\";','echo \"\\n<!-- Copyright 2019-2024 {$config[\'home_title\']}. All Rights Reserverd -->\\r\\n\";',1,0,0,1,'','=='),(122,1,'engine/skins/default.skin.php','replace','<title>DataLife Engine - {$lang[\'skin_title\']}</title>','<title>{$config[\'home_title\']} - {$lang[\'skin_title\']}</title>',1,0,0,1,'','=='),(123,1,'engine/skins/default.skin.php','replace','{$lang[\'skin_title\']} DataLife Engine','{$lang[\'skin_title\']} {$config[\'home_title\']}',1,0,0,1,'','=='),(124,1,'engine/skins/default.skin.php','replace','<a class=\"navbar-brand\" href=\"?mod=main\">DataLife Engine</a>','<a class=\"navbar-brand\" href=\"?mod=main\">{$config[\'home_title\']}</a>',1,0,0,1,'','=='),(125,1,'engine/engine.php','replace','$meta->meta(\'generator\', \"DataLife Engine (https://dle-news.ru)\");','$meta->meta(\'generator\', \"{$config[\'home_title\']} ({$config[\'http_home_url\']})\");',1,0,0,1,'','=='),(126,1,'engine/rss.php','replace','<dc:creator>DataLife Engine</dc:creator>\r\n<pubDate>DataLife Engine</pubDate>','<dc:creator>{$config[\'home_title\']}</dc:creator>\r\n<pubDate>{$config[\'home_title\']}</pubDate>',1,0,0,1,'','=='),(127,8,'engine/modules/show.full.php','after','$tpl->set( \'{full-story}\', $row[\'full_story\'] );','$xfieldsdata = xfieldsdataload( $row[\'xfields\'] );\n$torInfo = <<<JS\n<div id=\"torrent_info\"></div>\n<div id=\"torrent_loading\" align=\"center\"><img src=\"engine/skins/images/loading.gif\">\n<br><b>Поиск торрент раздач, пожалуйста подождите!</b></div>\n<script type=\"text/javascript\">\n$(function(){\n    $(\'#torrent_loading\').show();\n    $.post(dle_root + \'engine/ajax/torrent_rutor.php\', {id: \'{$row[\'id\']}\', title: \'{$row[\'title\']} ({$xfieldsdata[\'year\']})\'},\n    function(data){\n        $(\'#torrent_loading\').hide();\n        $(\'#torrent_info\').fadeIn(500).html(data);\n    });\n    return false;\n});\n</script>\nJS;\n$tpl->set( \'{torrents}\', $torInfo );',1,0,0,1,'',''),(128,4,'engine/ajax/alloha.php','create','','<?php\n\nif(!defined(\'DATALIFEENGINE\')) {\n    header( \"HTTP/1.1 403 Forbidden\" );\n    header ( \'Location: ../../\' );\n    die( \"Hacking attempt!\" );\n}\n\nini_set(\"memory_limit\",\"1024M\");\nini_set(\'max_execution_time\',300);\nignore_user_abort(true);\nset_time_limit(300);\nsession_write_close();\n\nif (version_compare(\'15\', $config[\'version_id\'], \'<=\')) {\n    define(\'DLE15\', true);\n}\n\n\nif (defined(\'DLE15\')) {\n    include_once ENGINE_DIR . \'/classes/composer/vendor/autoload.php\';\n}\n\nelse {\n    include_once ENGINE_DIR . \'/classes/thumb.class.php\';\n}\n\nrequire_once DLEPlugins::Check(ENGINE_DIR . \'/modules/alloha.func.php\');\n\n$config_mod = unserialize( file_get_contents( ENGINE_DIR . \'/data/\' . $mod . \'.config\' ) );\nif ( !$config_mod ) $config_mod = array(); \n\n\n$_TIME = time();\n\n$secret_key = $config_mod[\'secret_key\'];\n\n\nif (!$secret_key) {\n    die(\'secret key is required\');\n}\n\nif ($_GET[\'secret_key\'] != $secret_key) {\n    die(\'bad secret key\');\n}\n\ncheck_license_alloha();\n\nif ( isset($_GET[\'type\']) ) {\n\n    $url = \'\';\n    $ex_time = time()-2*24*3600;\n    $db->query( \"UPDATE \" . PREFIX . \"_alloha SET status=1, err_time=\'0\' WHERE (err_time>\'0\' AND err_time<\'$ex_time\')\" );\n\n    $order = $config_mod[\'first_new\'] ? \'&order=year\' : \'\'; \n\n    if(($config_mod[\'add_film\'] or $config_mod[\'add_multfilm\']) && $_GET[\'type\']==\'film\'){\n        $url = \'https://api.apbugall.org/?token=\'.$config_mod[\'api_token\'].\'&list=movie\';\n    } \n    elseif(($config_mod[\'add_serial\'] or $config_mod[\'add_multserial\']) && $_GET[\'type\']==\'serial\'){\n        $url = \'https://api.apbugall.org/?token=\'.$config_mod[\'api_token\'].\'&list=serial\';\n    }\n    elseif($config_mod[\'add_anime\'] && $_GET[\'type\']==\'anime\'){\n        $url = \'https://api.apbugall.org/?token=\'.$config_mod[\'api_token\'].\'&list=anime\';\n    }\n    elseif($config_mod[\'add_animeserial\'] && $_GET[\'type\']==\'animeserial\'){\n        $url = \'https://api.apbugall.org/?token=\'.$config_mod[\'api_token\'].\'&list=anime-serial\';\n    }\n    elseif($config_mod[\'add_tvshow\'] && $_GET[\'type\']==\'tvshow\'){\n        $url = \'https://api.apbugall.org/?token=\'.$config_mod[\'api_token\'].\'&list=tv-show\';\n    }     \n  elseif($config_mod[\'add_trailer\'] && $_GET[\'type\']==\'trailer\'){\n        $url = \'https://api.apbugall.org/?token=\'.$config_mod[\'api_token\'].\'&list&trailer\';\n    } \n  \n      if(!$url) die(\'choise video type. film serial mult or anime\');\n\n  if($_GET[\'type\']!=\'trailer\'){\n    \n    if ($config_mod[\'rating_kp\']) {\n        $url .= \'&rating_kp=\'.$config_mod[\'rating_kp\'];\n    }\n\n    if ($config_mod[\'rating_imdb\']) {\n        $url .= \'&rating_imdb=\'.$config_mod[\'rating_imdb\'];\n    }\n\n    if ($config_mod[\'allow_country\']) {\n        $url .= \'&country=\'.urlencode(implode(\',\', $config_mod[\'allow_country\']));\n    }\n\n    if ($config_mod[\'disallow_country\']) {\n        $url .= \'&not_country=\'.urlencode(implode(\',\', $config_mod[\'disallow_country\']));\n    }\n\n    if ($config_mod[\'allow_year\']) {\n        $url .= \'&year=\'.implode(\',\', $config_mod[\'allow_year\']);\n    }\n\n    if ($config_mod[\'disallow_year\']) {\n        $url .= \'&not_year=\'.implode(\',\', $config_mod[\'disallow_year\']);\n    }\n  } else {\n	if ($config_mod[\'allow_country\']) {\n        $url .= \'&country=\'.urlencode(implode(\',\', $config_mod[\'allow_country\']));\n    }\n\n    if ($config_mod[\'disallow_country\']) {\n        $url .= \'&not_country=\'.urlencode(implode(\',\', $config_mod[\'disallow_country\']));\n    }\n\n    if ($config_mod[\'allow_year\']) {\n        $url .= \'&year=\'.implode(\',\', $config_mod[\'allow_year\']);\n    }\n\n    if ($config_mod[\'disallow_year\']) {\n        $url .= \'&not_year=\'.implode(\',\', $config_mod[\'disallow_year\']);\n    }\n  }\n\n\n    include DLEPlugins::Check(ENGINE_DIR . \'/classes/alloha.php\');\n    $alloha = new Alloha($_GET[\'type\'], $db);\n    if($_GET[\'type\']!=\'trailer\'){\n      $alloha->start($url.$order);\n    }\n  else\n  {\n       $alloha->start($url, true);\n  }\n\n    die(\'Insert and update data\');\n}\n\n\n\n\nif (isset($_GET[\'last\'])) {\n\n    $types = [\'serial\', \'movie\', \'anime\', \'anime-serial\', \'tv-show\', \'trailer\'];\n\n    $kp_ids = [];\n\n    $xf_config = array_map(function($el) {\n        return str_replace([\'{\', \'}\'], \'\', $el);\n    }, $config_mod[\'xfields\']);\n\n    $xf_config = array_flip($xf_config);\n\n    foreach ($types as $type) {\n\n        for ($page=1; $page < 3; $page++) { \n\n           usleep(300000);\n           \n            $response = request(\"https://api.apbugall.org/?token={$config_mod[\'api_token\']}&last=$type&order=date&page=$page\");\n\n            $response = json_decode($response, true);\n// print_r($response);die();\n            if (!$response) {\n                continue;\n            }\n\n            foreach ($response[\'data\'] as $result) {\n\n                $kinopoisk_id = $result[\'id_kp\'] ? intval($result[\'id_kp\']) : 1;\n\n                if (isset($kp_ids[$kinopoisk_id])) {\n                    continue;\n                }\n\n                $kp_ids[$kinopoisk_id] = 1;\n                    \n\n                $post_row = $db->super_query( \"SELECT id, autor, title, category, xfields FROM \" . PREFIX . \"_post WHERE xfields REGEXP \'kinopoisk_id[|]{$kinopoisk_id}([|]|$)\'\" );\n\n                if (!$post_row) {\n                    $token_movie = $result[\'token_movie\'];\n                    $post_row = $db->super_query( \"SELECT id, title, category, xfields FROM \" . PREFIX . \"_post WHERE xfields LIKE \'%{$token_movie}%\'\" );\n                } \n\n\n                if (!$post_row) {\n                    echo \"{$result[\'name\']} --- {$result[\'original_name\']} --- kp_id {$kinopoisk_id}\";\n                    echo \' --- <span style=\"color:red;\"\'.\">not found</span><br>\\n\";\n                    continue;\n                }\n\n                $cat_arr = explode(\',\', $post_row[\'category\']);\n              \n                if ($config_mod[\'trailer_cat\'] && in_array($config_mod[\'trailer_cat\'], $cat_arr)) {\n                    $category_upd = array_diff($cat_arr, [$config_mod[\'trailer_cat\']]);\n                    $category_upd = \'category=\"\'.implode(\',\', $category_upd).\'\",\';\n                    $db->query( \"DELETE FROM \" . PREFIX . \"_post_extras_cats WHERE news_id=\'{$post_row[\'id\']}\' AND cat_id=\'{$config_mod[\'trailer_cat\']}\'\" );\n                }\n                else {\n                    $category_upd = \'\';   \n                }\n\n\n                if ($config_mod[\'exclude_news\']) {\n                    $exclude_news = explode(\"\\n\", $config_mod[\'exclude_news\']);\n                    if (in_array($post_row[\'id\'], $exclude_news)) {\n                        continue;\n                    }\n                }\n\n\n                echo \"{$result[\'name\']} --- {$result[\'original_name\']} --- kp_id {$kinopoisk_id} $type\";\n\n                $news_id = $post_row[\'id\'];\n\n\n                $xfields = xfieldsdataload( $post_row[\'xfields\'] );\n\n                $update_news = false;\n                $new_date = false;\n                $rewrite_meta_resone = false;\n\n                $es_result = [];\n\n                $last_season = isset($xfields[\'last_season\']) ? $xfields[\'last_season\'] : \'\';\n                $last_episode = isset($xfields[\'last_episode\']) ? $xfields[\'last_episode\'] : \'\';\n\n                if ($xfields[$xf_config[\'quality\']]!=$result[\'quality\']) {\n                    $update_news = true;\n                    $xfields[$xf_config[\'quality\']]=$result[\'quality\'];\n                    $config_mod[\'update_if_quality\'] && ($new_date = true);\n                }\n\n\n                if ($xfields[$xf_config[\'trailer\']]!=$result[\'iframe_trailer\']) {\n                    $update_news = true;\n                    $xfields[$xf_config[\'trailer\']] = $result[\'iframe_trailer\'];\n                }\n\n                if ($xfields[$xf_config[\'instream_ads\']]!=$result[\'instream_ads\']) {\n                    $update_news = true;\n                    $xfields[$xf_config[\'instream_ads\']] = $result[\'instream_ads\'];\n                }\n\n\n\n                if (in_array($type, [\'serial\', \'anime-serial\', \'tv-show\'])) {\n\n                    $updateEpisode = (($result[\'episode\']>$last_episode && $result[\'season\']==$last_season) or $result[\'season\']>$last_season) \n                    ? true : false;\n\n                    if(true === $updateEpisode)\n                    {\n\n                        $xfields[$xf_config[\'episode_plus\']] = $es_result[\'episode_plus\'] = $result[\'episode\']+intval($config_mod[\'plus\']);\n                        $xfields[$xf_config[\'seasone_plus\']] = $es_result[\'seasone_plus\'] = $result[\'season\']+intval($config_mod[\'plus\']);\n\n                        $xfields[$xf_config[\'episode_type_1\']] = $es_result[\'episode_type_1\'] = formatize_alloha($result[\'episode\'], 4);\n                        $xfields[$xf_config[\'episode_type_2\']] = $es_result[\'episode_type_2\'] = formatize_alloha($result[\'episode\'], 5);\n                        $xfields[$xf_config[\'episode_type_3\']] = $es_result[\'episode_type_3\'] = formatize_alloha($result[\'episode\'], 6);\n                        $xfields[$xf_config[\'episode_type_4\']] = $es_result[\'episode_type_4\'] = formatize_alloha($result[\'episode\'], 7);\n                        $xfields[$xf_config[\'episode_type_5\']] = $es_result[\'episode_type_5\'] = formatize_alloha($result[\'episode\'], 8);\n\n                        $xfields[$xf_config[\'season_type_1\']] = $es_result[\'season_type_1\'] = formatize_alloha($result[\'season\'], 1);\n                        $xfields[$xf_config[\'season_type_2\']] = $es_result[\'season_type_2\'] = formatize_alloha($result[\'season\'], 2);\n                        $xfields[$xf_config[\'season_type_3\']] = $es_result[\'season_type_3\'] = formatize_alloha($result[\'season\'], 3);\n\n                    } else {\n\n                        $es_result[\'episode_plus\'] = $xfields[$xf_config[\'episode_plus\']];\n                        $es_result[\'seasone_plus\'] = $xfields[$xf_config[\'seasone_plus\']];\n\n                        $es_result[\'episode_type_1\'] = $xfields[$xf_config[\'episode_type_1\']];\n                        $es_result[\'episode_type_2\'] = $xfields[$xf_config[\'episode_type_2\']];\n                        $es_result[\'episode_type_3\'] = $xfields[$xf_config[\'episode_type_3\']];\n                        $es_result[\'episode_type_4\'] = $xfields[$xf_config[\'episode_type_4\']];\n                        $es_result[\'episode_type_5\'] = $xfields[$xf_config[\'episode_type_5\']];\n\n                        $es_result[\'season_type_1\'] = $xfields[$xf_config[\'season_type_1\']];\n                        $es_result[\'season_type_2\'] = $xfields[$xf_config[\'season_type_2\']];\n                        $es_result[\'season_type_3\'] = $xfields[$xf_config[\'season_type_3\']];\n\n\n                    }\n\n                    if (true === $updateEpisode) {\n                        $update_news = $rewrite_meta_resone = true;\n                        $xfields[\'last_episode\']=$result[\'episode\'];\n                        $xfields[\'last_season\']=$result[\'season\'];\n\n                        ($config_mod[\'update_if_seasone\'] or $config_mod[\'update_if_quality\']) && ($new_date = true);\n\n                    }\n\n\n                    if ($xfields[$xf_config[\'last_translate\']] != $all_translate[$result[\'translation\']]) {\n                        $update_news = true;\n                        $xfields[$xf_config[\'last_translate\']] = $all_translate[$result[\'translation\']];\n                        ($config_mod[\'update_if_change_translate\']) && ($new_date = true);\n                    }\n\n\n                    if ($result[\'episode\'] > $xfields[$xf_config[\'episode_count\']]) {\n                        $update_news = true;\n                        $xfields[$xf_config[\'episode_count\']] = $result[\'episode\'];\n                    }\n\n\n                    \n\n                    \n                }\n\n\n                if ($update_news) {\n\n                    $xfields[$xf_config[\'iframe_url\']]=$result[\'iframe\'];\n\n                    $xfields = array_diff($xfields, [\'\']);\n\n                    $date = \'\';\n\n                    if ($new_date) {\n                        $date = date(\'Y-m-d H:i:s\', $_TIME);\n                        $date = \"date=\'$date\',\";\n                    }\n\n\n                    $compile = template($config_mod, [\n                        \'last_season\' => $xfields[$xf_config[\'last_season\']],\n                        \'last_episode\' => $xfields[$xf_config[\'last_episode\']],\n                        \'title_ru\' => $result[\'name\'],\n                        \'title_en\' => $result[\'original_name\'],\n                        \'year\' => $result[\'year\'],\n                        \'video_type\' => mb_strtolower($result[\'category\'], \'utf-8\'),\n\n                        \'episode_plus\' => $es_result[\'episode_plus\'],\n                        \'seasone_plus\' => $es_result[\'seasone_plus\'],\n                        \'episode_type_1\' => $es_result[\'episode_type_1\'],\n                        \'episode_type_2\' => $es_result[\'episode_type_2\'],\n                        \'episode_type_3\' => $es_result[\'episode_type_3\'],\n                        \'episode_type_4\' => $es_result[\'episode_type_4\'],\n                        \'episode_type_5\' => $es_result[\'episode_type_5\'],\n                        \'season_type_1\' => $es_result[\'season_type_1\'],\n                        \'season_type_2\' => $es_result[\'season_type_2\'],\n                        \'season_type_3\' => $es_result[\'season_type_3\'],\n                    ]); \n\n                    $es_type = [\'episode_plus\', \'seasone_plus\', \'episode_type_1\', \'episode_type_2\', \'episode_type_3\', \'episode_type_4\', \'episode_type_5\', \'season_type_1\', \'season_type_2\', \'season_type_3\'];\n\n                   \n\n                    foreach ($es_type as $key => $value) {\n                        if (!isset($xf_config[$value])) {\n                            unset($xfields[$xf_config[$value]]);\n                        }\n                        if (!in_array($type, [\'serial\', \'anime-serial\', \'tv-show\'])){\n                            $es_result[$value] = \'\';\n                        }\n                    }\n\n                    \n\n                    if (!empty($config_mod[\'metatitle\'])) {\n                        $compile[\'metatitle\'] = preg_replace(\'/\\s{2,}/\', \' \',  $compile[\'metatitle\']);\n                        $metatitle = \", metatitle=\'\".$db->safesql($compile[\'metatitle\']).\"\'\";\n                    } else {\n                        $metatitle = \'\';\n                    }\n\n\n                    if ($news_id && $result[\'season\']) {\n                        alloha_mass_series($news_id, $result, true);\n                    }\n                    \n\n                    $xfields = $db->safesql(xfieldsdatasave($xfields));\n\n                    $db->query( \"UPDATE \" . PREFIX . \"_post SET $category_upd $date xfields=\'$xfields\' $metatitle WHERE id=\'{$post_row[\'id\']}\'\" );\n\n\n                    if ($result[\'episode\'] and $rewrite_meta_resone) {\n                        $reason = \"{$result[\'season\']} сезон {$result[\'episode\']} $series серия - \".date(\'d.m.Y\');\n                    } else {\n                        $reason = $result[\'quality\'];\n                    }\n                    \n\n\n                    $db->query(\"UPDATE \" . PREFIX . \"_post_extras SET editdate = \'$_TIME\', reason=\'$reason\' WHERE news_id = \'{$post_row[\'id\']}\'\");\n\n                    echo \' --- <span style=\"color:green;\"\'.\">updated</span><br>\\n\";\n\n\n                }\n\n                else {\n                    echo \' --- <span style=\"color:red;\"\'.\">no updated</span><br>\\n\";\n                }\n\n            \n                usleep(200); // tut\n\n            }\n\n        }\n\n\n    }\n\nexit();\n\n}\n\n\n\n$and = [];\nif($config_mod[\'add_film\'] or $config_mod[\'add_multfilm\']) \n    $and[] = \"\'film\'\";\nif($config_mod[\'add_serial\'] or $config_mod[\'add_multserial\'])       \n    $and[] = \"\'serial\'\";\nif($config_mod[\'add_anime\'])        \n    $and[] = \"\'anime\'\";\nif($config_mod[\'add_animeserial\'])  \n    $and[] = \"\'animeserial\'\";\nif($config_mod[\'add_tvshow\'])       \n    $and[] = \"\'tvshow\'\";\nif($config_mod[\'add_trailer\'])       \n    $and[] = \"\'trailer\'\";\n\nif(count($and)) $and = \"AND type IN(\".implode(\", \", $and).\")\";\n\nif($config_mod[\'first_new\']){\n    $alloha = $db->super_query( \"SELECT * FROM \" . PREFIX . \"_alloha WHERE status>0 $and ORDER BY `status` ASC, `year` DESC\" );\n}\nelse {\n    $alloha = $db->super_query( \"SELECT * FROM \" . PREFIX . \"_alloha WHERE status>0 $and ORDER BY `status` ASC\" );\n}\n\n\n$post_row = $db->super_query( \"SELECT id, title, xfields FROM \" . PREFIX . \"_post WHERE xfields REGEXP \'kinopoisk_id[|]{$alloha[\'kp_id\']}([|]|$)\'\" );\n\n\nif ($post_row) {\n\n    $db->query( \"UPDATE \" . PREFIX . \"_alloha SET status=0, news_id=\'{$post_row[\'id\']}\' WHERE kp_id=\'{$alloha[\'kp_id\']}\'\" );\n    die(\"news exists --- {$post_row[\'id\']} --- {$post_row[\'title\']}\");\n\n    \n} else {\n    $alloha[\'news_id\'] = 0;\n}\n\n\nif($config_mod[\'blacklist\']){\n    $blacklist = explode(\"\\n\", $config_mod[\'blacklist\']);\n    if(in_array($alloha[\'kp_id\'], $blacklist)) {\n        $db->query( \"UPDATE \" . PREFIX . \"_alloha SET status=0, err_time=\'$_TIME\' WHERE kp_id=\'{$alloha[\'kp_id\']}\'\" );\n        die(\"in blacklist --- kinopoisk_id --- {$alloha[\'kp_id\']}\");    \n    }\n}\n \n\n$res = request(\'https://api.apbugall.org/?token=\'.$config_mod[\'api_token\'].\'&kp=\'.$alloha[\'kp_id\']);\n//$res = request(\'https://api.apbugall.org/?token=\'.$config_mod[\'api_token\'].\'&kp=880717\');\necho \'https://api.apbugall.org/?token=\'.$config_mod[\'api_token\'].\'&kp=\'.$alloha[\'kp_id\'];\n\n$res = json_decode($res, true);\n\n$res = $result = $res[\'data\'];\nprint_r($res);\nif ($res[\'status\']==\'error\') {\n    $db->query( \"UPDATE \" . PREFIX . \"_alloha SET status=0, err_time=\'$_TIME\' WHERE kp_id=\'{$alloha[\'kp_id\']}\'\" );\n    die($res[\'error_info\']);\n}\n\n\nif ($config_mod[\'not_add_if_no_poster\'] AND empty($result[\'poster\'])) {\n    $db->query( \"UPDATE \" . PREFIX . \"_alloha SET status=\'0\' WHERE id=\'{$alloha[\'id\']}\'\" );\n    die(\"the news has no poster\");\n}\n\n\nif ($config_mod[\'not_add_if_no_descr\'] AND empty($result[\'description\'])) {\n    $db->query( \"UPDATE \" . PREFIX . \"_alloha SET status=\'0\' WHERE id=\'{$alloha[\'id\']}\'\" );\n    die(\"the news has no description\");\n}\n\n\n\n$res[\'country\'] = str_replace(\', \', \',\', $res[\'country\']);  \n$res[\'genre\'] = str_replace(\', \', \',\', $res[\'genre\']);  \n\n\nif(!$config_mod[\'enable_ads\'] && $res[\'ads\']==\'1\'){\n    $db->query( \"UPDATE \" . PREFIX . \"_alloha SET status=0, err_time=\'$_TIME\' WHERE kp_id=\'{$alloha[\'kp_id\']}\'\" );\n    die(\'not allowed. ads\');\n}\n\nif( ($premiere = strtotime($res[\'premiere\']))!==false && $res[\'premiere\'] ){\n    $res[\'premiere\'] = date(\'j\', $premiere).\' \'.$langdate[date(\'F\', $premiere)].\' \'.date(\'Y\', $premiere);\n}\nif( ($premiere_ru = strtotime($res[\'premiere_ru\']))!==false && $res[\'premiere_ru\'] ){\n    $res[\'premiere_ru\'] = date(\'j\', $premiere_ru).\' \'.$langdate[date(\'F\', $premiere_ru)].\' \'.date(\'Y\', $premiere_ru);\n}\n\n$request = [];\n\n$is_serial = false;\n\nif($res[\'seasons_count\']){\n\n    $request[\'last_season\'] = $res[\'seasons_count\'];\n    $request[\'last_episode\'] = $res[\'last_episode\'];\n\n    $episodes = array_shift($res[\'seasons\']);\n    $episodes = count($episodes[\'episodes\']);\n    $request[\'episode_count\'] = $episodes;\n\n    $request[\'last_translate\'] = trim( @array_shift(explode(\',\', $res[\'translation\'])) );\n\n    $is_serial = true;\n}\n\n$ex_genres = array();\n\nif ($res[\'category\']==\'2\' && mb_stripos($res[\'genre\'], \'мультфильм\')===false) {\n    $ex_genres[] = \"сериал\"; $request[\'video_type\'] = \'сериал\';\n    if (!$config_mod[\'add_serial\']) {\n        $db->query( \"UPDATE \" . PREFIX . \"_alloha SET status=0 WHERE kp_id=\'{$alloha[\'kp_id\']}\'\" );\n        die(\'not allowed. serial\');\n    }\n}\n\nif($alloha[\'type\']==\"trailer\")\n  $ex_genres[] = \"трейлер\";\n\nif ($res[\'category\']==\'1\' && mb_stripos($res[\'genre\'], \'мультфильм\')===false) {\n    $ex_genres[] = \"фильм\"; $request[\'video_type\'] = \'фильм\';\n    if (!$config_mod[\'add_film\']) {\n        $db->query( \"UPDATE \" . PREFIX . \"_alloha SET status=0 WHERE kp_id=\'{$alloha[\'kp_id\']}\'\" );\n        die(\'not allowed. film\');\n    }\n}\n\nif ($res[\'category\']==\'5\') {\n    $ex_genres[] = \"тв шоу\"; $request[\'video_type\'] = \'тв шоу\';\n}\n\nif (mb_stripos($res[\'genre\'], \'мультфильм\')!==false) {\n    if ($is_serial) {\n        $request[\'video_type\'] = \"мультсериал\";\n        $ex_genres[] = \"мультсериал\";\n\n        if (!$config_mod[\'add_multserial\'] && !$config_mod[\'add_animeserial\']) {\n            $db->query( \"UPDATE \" . PREFIX . \"_alloha SET status=0 WHERE kp_id=\'{$alloha[\'kp_id\']}\'\" );\n            die(\'not allowed. multserial\');\n        }\n\n    } else {\n        $request[\'video_type\'] = \'мультфильм\';\n        $ex_genres[] = \"мультфильм\";\n\n        if (!$config_mod[\'add_multfilm\'] && !$config_mod[\'add_anime\']) {\n            $db->query( \"UPDATE \" . PREFIX . \"_alloha SET status=0 WHERE kp_id=\'{$alloha[\'kp_id\']}\'\" );\n            die(\'not allowed. multfilm\');\n        }\n\n    }\n}\n\nif (mb_stripos($res[\'country\'], \'россия\')===false && mb_stripos($res[\'country\'], \'ссср\')===false) {\n    $ex_genres[] = \"зарубежный\";\n}\n\n// Предполагая, что $res[\'uhd\'] содержит значение \"true\"\nif ($res[\'uhd\'] === true) {\n    $ex_genres[] = \'4K\';\n}\n\nif ($res[\'category\']==\'4\') {\n    $ex_genres[] = \"аниме сериал\"; $request[\'video_type\'] = \'аниме сериал\';\n}\n\nif ($alloha[\'type\']==\'anime\') {\n    $ex_genres[] = \"аниме\"; $request[\'video_type\'] = \'аниме\';\n}\n\n\n$cats = array();\n$genres = fixGenres(explode(\',\', $res[\'genre\']));\n\n\n$inter = array_merge($ex_genres, $genres, explode(\',\', $res[\'country\']), array($res[\'year\']));\n\nif ($request[\'video_type\'] == \'мультсериал\') {\n    $inter = array_diff($inter, [\'мультфильм\']);\n}\n\nif ($res[\'category\']==\'3\') {\n    $inter = array_diff($inter, [\'зарубежный\', \'мультфильм\']);\n}\n\nif ($res[\'category\']==\'4\') {\n    $inter = array_diff($inter, [\'зарубежный\', \'мультсериал\', \'мультфильм\', \'аниме\']);\n}\n\n\nforeach ($config_mod[\'category\'] as $cat_id => $values) {\n    $f = true;\n\n    foreach ($values as $value) {\n        if ( !in_array($value, $inter) ) {\n            $f = false;\n            break;\n        }\n    }\n\n    if ( $f ) $cats[] = $cat_id;\n}\n\n$config_mod[\'category\'] = implode(\",\", $cats);\n\n\nif(!$config_mod[\'category\']) {\n    $db->query( \"UPDATE \" . PREFIX . \"_alloha SET status=0, err_time=\'$_TIME\' WHERE kp_id=\'{$alloha[\'kp_id\']}\'\" );\n    die(\'not allowed category\');\n}\n\n\n\nif ($config_mod[\'max_actors\']) {\n    $res[\'actors\'] = explode(\',\', $res[\'actors\']);\n    $res[\'actors\'] = array_slice($res[\'actors\'], 0, intval($config_mod[\'max_actors\']));\n    $res[\'actors\'] = implode(\',\', $res[\'actors\']);\n}\n\nif ($config_mod[\'max_directors\']) {\n    $res[\'directors\'] = explode(\',\', $res[\'directors\']);\n    $res[\'directors\'] = array_slice($res[\'directors\'], 0, intval($config_mod[\'max_directors\']));\n    $res[\'directors\'] = implode(\',\', $res[\'directors\']);\n}\n\n$res[\'genre\'] = preg_replace_callback(\'/,([^,]|\\s+)/u\', function($m){\n    return \',\'.(strpos(\' \', $m[1]) ? \' \' : \' \'.$m[1]);\n}, $res[\'genre\']);\n\n$res[\'country\'] = preg_replace_callback(\'/,([^,]|\\s+)/u\', function($m){\n    return \',\'.(strpos(\' \', $m[1]) ? \' \' : \' \'.$m[1]);\n}, $res[\'country\']);\n\n$request[\'title_ru\']      = $res[\'name\'];\n$request[\'title_en\']      = $res[\'original_name\'];\n$request[\'title_alt\']     = $res[\'alternative_name\'];\n$request[\'token_movie\']  = $res[\'token_movie\'];\n$request[\'year\']          = $res[\'year\'];\n$request[\'description\']   = html_entity_decode($res[\'description\'], ENT_HTML5);\n$request[\'countries\']     = $res[\'country\'];\n$request[\'genres\']        = $res[\'genre\'];\n$request[\'actors\']        = $res[\'actors\'];\n$request[\'iframe_url\']    = $res[\'iframe\'];\n$request[\'quality\']       = $res[\'quality\'];\n$request[\'slogan\']        = $res[\'tagline\'];\n$request[\'directors\']     = $res[\'directors\'];\n$request[\'producer\']      = $res[\'producers\'];\n$request[\'translator\']    = $res[\'translation\'];\n$request[\'trailer\']       = $res[\'iframe_trailer\'];\n\n$request[\'premiere_ru\']    = $res[\'premiere_ru\'];\n$request[\'premiere_world\'] = $res[\'premiere\'];\n\n$request[\'rating_kp\']        = $res[\'rating_kp\'];\n$request[\'rating_imdb\']      = $res[\'rating_imdb\'];\n$request[\'rating_world_art\'] = $res[\'world_art\'];\n$request[\'rate_mpaa\']        = $res[\'rating_mpaa\'];\n\n$request[\'kinopoisk_id\']     = $res[\'id_kp\'];\n$request[\'imdb_id\']          = $res[\'id_imdb\'];\n$request[\'tmdb_id\']          = $res[\'id_tmdb\'];\n$request[\'world_art_id\']     = $res[\'id_world_art\'];\n\n$request[\'age\']          = $res[\'age_restrictions\'];\n$request[\'time\']         = $res[\'time\'];\n$request[\'instream_ads\'] = ($res[\'ads\']==\'\') ? \'\' : 1;\n\nif($request[\'title_en\']==$request[\'title_ru\']) $request[\'title_en\']=\'\';\n\n\nif(!$alloha[\'news_id\']){\n    if ($config_mod[\'upload_poster\']) {\n        $poster_file = $alloha[\'kp_id\'].\'_\'.time();\n        $poster = request($res[\'poster\'], ROOT_DIR . \"/uploads/posts/\" . FOLDER_PREFIX.\'/\' .$poster_file);\n        if($poster){\n\n            if ($config_mod[\'poster_size\']) {\n\n                $t_seite = intval($config[\'t_seite\']);\n                $t_size = $config_mod[\'poster_size\'];\n\n                $thumb = new thumbnail( $poster );\n\n                if( $thumb->size_auto( $t_size, $t_seite ) ) {\n                                    \n                   /*$thumb->jpeg_quality( $config[\'jpeg_quality\'] );\n                    \n                    $thumb->save( $poster );\n                    \n                    @chmod( $poster, 0666 );*/\n\n                    /**\n                     * Dle 15\n                     */\n\n                    if (defined(\'DLE15\')) {\n                        \n                        $newFile = $thumb->save(str_replace(ROOT_DIR.\"/uploads/\" , \'\', $poster));\n\n                        $poster = ROOT_DIR . \"/uploads/posts/\" . FOLDER_PREFIX . \'/\' . $newFile;\n\n                    } else {\n                        $thumb->jpeg_quality( $config[\'jpeg_quality\'] );\n                                            \n                        $thumb->save( $poster );\n                    }\n\n                    @chmod( $poster, 0666 );\n\n                    /**************/\n\n\n                }\n\n            }\n            \n            $request[\'poster\'] = str_replace(ROOT_DIR.\'/\' , $config[\'http_home_url\'], $poster);\n            $poster = str_replace(ROOT_DIR.\"/uploads/posts/\" , \'\', $poster);\n        }\n    } else {\n        $request[\'poster\'] = $res[\'poster\'];\n    }\n}\nelse {\n    foreach ($request as $key => $value) {\n        if(!$xfdata[$key]) $xfdata[$key] = $request[$key];\n    }\n\n    $xfdata[\'last_season\'] = $res[\'seasons_count\'];\n    $xfdata[\'last_episode\']   = $res[\'last_episode\'];\n\n    if (empty($xfdata[\'poster\'])) {\n        if ($config_mod[\'upload_poster\']) {\n            $poster_file = $alloha[\'kp_id\'].\'_\'.time();\n            $poster = request($res[\'poster\'], ROOT_DIR . \"/uploads/posts/\" . FOLDER_PREFIX.\'/\' .$poster_file);\n            if($poster){\n                $t_seite = intval($config[\'t_seite\']);\n                $t_size = $config_mod[\'poster_size\'];\n\n                $thumb = new thumbnail( $poster );\n\n                if( $thumb->size_auto( $t_size, $t_seite ) ) {\n                                    \n                   /*$thumb->jpeg_quality( $config[\'jpeg_quality\'] );\n                    \n                    $thumb->save( $poster );\n                    \n                    @chmod( $poster, 0666 );*/\n\n                    /**\n                     * Dle 15\n                     */\n\n                    if (defined(\'DLE15\')) {\n                        \n                        $newFile = $thumb->save(str_replace(ROOT_DIR.\"/uploads/\" , \'\', $poster));\n\n                        $poster = ROOT_DIR . \"/uploads/posts/\" . FOLDER_PREFIX . \'/\' . $newFile;\n\n                    } else {\n                        $thumb->jpeg_quality( $config[\'jpeg_quality\'] );\n                                            \n                        $thumb->save( $poster );\n                    }\n\n                    @chmod( $poster, 0666 );\n\n                    /**************/\n                    \n                }\n                $xfdata[\'poster\'] = str_replace(ROOT_DIR.\'/\' , $config[\'http_home_url\'], $poster);\n                $poster = str_replace(ROOT_DIR.\"/uploads/posts/\" , \'\', $poster);\n            }\n        } else {\n            $xfdata[\'poster\'] = $res[\'poster\'];\n        }\n    }\n\n    $request = $xfdata;\n} \n\n\n\n\n$request[\'episode_plus\'] = $res[\'last_episode\']+intval($config_mod[\'plus\']);\n$request[\'seasone_plus\'] = $res[\'seasons_count\']+intval($config_mod[\'plus\']);\n\n$request[\'episode_type_1\'] = formatize_alloha($res[\'last_episode\'], 4);\n$request[\'episode_type_2\'] = formatize_alloha($res[\'last_episode\'], 5);\n$request[\'episode_type_3\'] = formatize_alloha($res[\'last_episode\'], 6);\n$request[\'episode_type_4\'] = formatize_alloha($res[\'last_episode\'], 7);\n$request[\'episode_type_5\'] = formatize_alloha($res[\'last_episode\'], 8);\n\n$request[\'season_type_1\'] = formatize_alloha($res[\'seasons_count\'], 1);\n$request[\'season_type_2\'] = formatize_alloha($res[\'seasons_count\'], 2);\n$request[\'season_type_3\'] = formatize_alloha($res[\'seasons_count\'], 3);\n\n\n$es_type = [\'episode_plus\', \'seasone_plus\', \'episode_type_1\', \'episode_type_2\', \'episode_type_3\', \'episode_type_4\', \'episode_type_5\', \'season_type_1\', \'season_type_2\', \'season_type_3\'];\n\n\n\nforeach ($es_type as $key => $value) {\n    if (!$is_serial){\n        $request[$value] = \'\';\n    }\n}\n\n\n$compile = template($config_mod, $request);\n\n$compile[\'metatitle\'] = check_if_alloha($compile[\'metatitle\'], $request);\n$compile[\'metatitle\'] = preg_replace(\'/\\s{2,}/\', \' \',  $compile[\'metatitle\']);\n\n\nif($compile[\'category\']==\'\') $compile[\'category\']=0;\nif(!$compile[\'tags\']) $compile[\'tags\'] = \'\';\n\n\n$compile[\'xfields\'] = !$alloha[\'news_id\'] ? xfcompile($compile[\'xfields\']) : xfcompile($xfdata);\n$compile[\'alt_name\'] = totranslit( stripslashes( $compile[\'alt_name\'] ), true, false );\n$compile[\'date\'] = date(\'Y-m-d H:i:s\');\n\n\nif (empty($compile[\'short_story\'])) {\n    $compile[\'short_story\'] = \'\';\n}\n\nif (empty($compile[\'full_story\'])) {\n    $compile[\'full_story\'] = \'\';\n}\n\nif (empty($compile[\'keywords\'])) {\n    $compile[\'keywords\'] = \'\';\n}\n\nif (empty($compile[\'descr\'])) {\n    $compile[\'descr\'] = \'\';\n}\n\n\n$approve = (!empty($config_mod[\'go_moder\']) && (bool)$config_mod[\'go_moder\'] === true) ? 0 : 1;\n\nif (!empty($config_mod[\'go_moder_empty_descr\'])\n    && (bool)$config_mod[\'go_moder_empty_descr\'] === true\n    && empty(trim($request[\'description\']))\n) {\n    $approve = 0;\n}\n\nif (!empty($config_mod[\'go_moder_empty_poster\'])\n    && (bool)$config_mod[\'go_moder_empty_poster\'] === true\n    && !$poster \n) {\n    $approve = 0;\n}\n\n$disable_index = 0;\nif (!empty($config_mod[\'disable_index\'])\n    && (bool)$config_mod[\'disable_index\'] === true\n) {\n    $disable_index = 1;\n}\n\n$updateNewsDate = false;\nif (!empty($config_mod[\'update_news_date\'])\n    && (bool)$config_mod[\'update_news_date\'] === true\n) {\n    $updateNewsDate = true;\n}\n\n$last_season = $request[\'last_season\'];\n$last_episode = $request[\'last_episode\'];\n\n$user_row = $db->super_query(\" SELECT user_id, name FROM \" . PREFIX . \"_users WHERE name=\'{$config_mod[\'author\']}\' \");\n\n\nif(!$alloha[\'news_id\']){\n    $db->query(db_query(\"INSERT INTO `\" . PREFIX . \"_post` (`autor`, `date`, `short_story`, `full_story`, `xfields`, `title`, `descr`, `keywords`, `category`, `alt_name`, `comm_num`, `allow_comm`, `allow_main`, `approve`, `fixed`, `allow_br`, `symbol`, `tags`, `metatitle`) VALUES (\'{$user_row[\'name\']}\', :date, :short_story, :full_story, :xfields, :title, :descr, :keywords, :category, :alt_name, 0, 1, 1, $approve, 0, 0, \'\', :tags, :metatitle);\", $compile));\n\n  \n    $news_id = $db->insert_id();\n    $db->query( \"INSERT INTO \" . PREFIX . \"_post_extras (news_id,user_id,disable_index) VALUES(\'$news_id\',\'{$user_row[\'user_id\']}\', \'$disable_index\')\" );\n\n    if($poster){\n        $db->query( \"INSERT INTO \" . PREFIX . \"_images (images,news_id,author,date) VALUES(\'{$poster}\',\'$news_id\',\'{$user_row[\'name\']}\',\'{$_TIME}\')\" );\n    }\n\n\n    $quality = $db->safesql($res[\'quality\']);\n    $db->query(\"UPDATE \" . PREFIX . \"_alloha SET status = \'0\', news_id = \'$news_id\', quality=\'$quality\' WHERE kp_id = \'{$alloha[\'kp_id\']}\'\");\n\n    alloha_mass_series($news_id, $result);\n  \n    echo \"insert news --- $news_id --- {$res[\'name\']}\";\n}\n\nelse {\n    $news_id = $alloha[\'news_id\'];\n    $db->query( \"DELETE FROM \" . PREFIX . \"_xfsearch WHERE news_id=\'{$alloha[\'news_id\']}\' \"  );\n\n    $xfields = $db->safesql($compile[\'xfields\']);\n    $title = $db->safesql($compile[\'title\']);\n    $category = $db->safesql($compile[\'category\']);\n\n    $upd_title = $is_serial ? \"title = \'$title\',\" : \"\";\n\n    if ($is_serial) {\n        if ($xfdata[\'episode_count\']!=$episodes) {\n            $updateNewsDate = true;\n        }\n        $upd_title = \"title = \'$title\',\";\n    } else {\n        $upd_title = \'\';\n    }\n    \n\n    if($updateNewsDate){\n        $date = date( \"Y-m-d H:i:s\", time() );\n        $db->query(\"UPDATE \" . PREFIX . \"_post SET category=\'$category\', $upd_title xfields = \'$xfields\', date=\'$date\' WHERE id = \'{$alloha[\'news_id\']}\'\");\n        $db->query(\"UPDATE \" . PREFIX . \"_post_extras SET disable_index = \'$disable_index\', editdate = \'$_TIME\', editor=\'{$user_row[\'name\']}\', reason=\'Парсер обновил данный материал\' WHERE news_id = \'{$alloha[\'news_id\']}\'\");\n    }\n    else {\n        $db->query(\"UPDATE \" . PREFIX . \"_post SET $upd_title category=\'$category\', xfields = \'$xfields\' WHERE id = \'{$alloha[\'news_id\']}\'\");\n    }\n\n    alloha_mass_series($alloha[\'news_id\'], $result);\n\n\n    if($poster){\n\n        $images = $poster;\n\n        $row = $db->super_query(\" SELECT * FROM \" . PREFIX . \"_images WHERE news_id=\'{$post_row[\'id\']}\' \");\n        \n        if( $row[\'id\'] ) {\n            if ($row[\'images\']) {\n                $db->query(\" UPDATE \" . PREFIX . \"_images SET images=CONCAT(images, \'|||\', \'\".$images.\"\') WHERE news_id=\'{$post_row[\'id\']}\'\");\n            } else {\n                $db->query(\" UPDATE \" . PREFIX . \"_images SET images=\'{$images}\' WHERE news_id=\'{$post_row[\'id\']}\'\");\n            }\n            \n        } else {\n            $db->query(\" INSERT INTO \" . PREFIX . \"_images (images, news_id, author, date) VALUES (\'{$images}\', \'{$post_row[\'id\']}\', \'{$user_row[\'name\']}\', \'\".time().\"\') \");\n        }\n    }\n\n    $quality = $db->safesql($res[\'quality\']);\n    $last_episode = intval($request[\'last_episode\']);\n    $db->query(\"UPDATE \" . PREFIX . \"_alloha SET status = \'0\', news_id=\'{$alloha[\'news_id\']}\', quality = \'{$quality}\', episode=\'{$last_episode}\' WHERE kp_id = \'{$alloha[\'kp_id\']}\'\");\n\n    echo \"update news --- {$post_row[\'id\']} --- {$post_row[\'title\']}\";\n}\n\n\nif(version_compare(\'13.2\', $config[\'version_id\'], \'<=\') && !$alloha[\'news_id\']){\n    $ex_cats = explode(\',\', $compile[\'category\']);\n    foreach ($ex_cats as $ex_cat) {\n        $ex_cat = intval($ex_cat);\n        $db->query( \"INSERT INTO \" . PREFIX . \"_post_extras_cats (news_id, cat_id) VALUES (\'{$news_id}\', \'{$ex_cat}\')\" );\n    }\n}\n\n$xfields = xfieldsload();\n$news_xf = xfieldsdataload($compile[\'xfields\']);\n$xf_words = $xf_search_words = $newnews_xf = array ();\n\nforeach ($xfields as $name => $value) {\n    if($value[6] == 1 && !empty($news_xf[$value[0]])){\n        $news_xf[$value[0]] = html_entity_decode($news_xf[$value[0]], ENT_QUOTES, $config[\'charset\']);\n        $newnews_xf[$value[0]] = trim( htmlspecialchars(strip_tags( stripslashes($news_xf[$value[0]]) ), ENT_QUOTES, $config[\'charset\'] ));\n        $temp_array = explode( \",\", $newnews_xf[$value[0]] );\n\n        foreach ($temp_array as $value2) {\n            $value2 = trim($value2);\n            if($value2) $xf_search_words[] = array( $db->safesql($value[0]), $db->safesql($value2) );\n        }\n    }\n}\n\nif (count($xf_search_words)) {\n    $temp_array = array();\n    foreach ( $xf_search_words as $value ) {\n        $temp_array[] = \"(\'\" . $news_id . \"\', \'\" . $value[0] . \"\', \'\" . $value[1] . \"\')\";\n    }\n    $xf_search_words = implode( \", \", $temp_array );\n    $db->query( \"INSERT INTO \" . PREFIX . \"_xfsearch (news_id, tagname, tagvalue) VALUES \" . $xf_search_words );\n}\n\nif(!$alloha[\'news_id\'] && $approve && function_exists(\'updateSocialPosting\')) updateSocialPosting($news_id);\n\n?>',1,0,0,1,'',''),(129,4,'engine/inc/alloha.php','create','','<?php\n  \nif( !defined( \'DATALIFEENGINE\' ) OR !defined( \'LOGGED_IN\' ) ) {\n	header( \"HTTP/1.1 403 Forbidden\" );\n	header ( \'Location: ../../\' );\n	die( \"Hacking attempt!\" );\n}\n\nif (isset($_POST[\'q_search\']) or $_POST[\'action\']==\'parse\' or $_POST[\'action\']==\'update\') {\n    ini_set(\"memory_limit\",\"1024M\");\n	require_once DLEPlugins::Check(ENGINE_DIR . \'/modules/alloha.php\');\n	exit();\n}\n\n\n$__name = \"DLE Alloha\";\n$__descr = \"Модуль для автоматического обновления и добавления фильмов и сериалов сайта DLE по базе alloha\";\n\n$config_mod = unserialize( file_get_contents( ENGINE_DIR . \'/data/\' . $mod . \'.config\' ) );\nif ( !$config_mod ) $config_mod = array();\n\nif ( $action ) {\n\n	if( !$user_group[$member_id[\'user_group\']][\'admin_addnews\'] ) {\n		die( \'{\"success\":false,\"message\":\"\' . $lang[\'index_denied\'] . \'\"}\' );\n	}\n\n  if ( $action == \"clear\" ) {\n    $db->query(\"TRUNCATE \" . PREFIX . \"_alloha\");\n    @unlink(ENGINE_DIR . \'/data/alloha.log\');\n    die(\'Операция выполнена\');\n  }\n\n	if ( $action == \"config\" ) {\n\n		$config_mod = is_array( $_POST[\'config\'] ) ? $_POST[\'config\'] : array();\n\n		file_put_contents( ENGINE_DIR . \'/data/\' . $mod . \'.config\', serialize( $config_mod ) );\n\n		die( \'{\"success\":true,\"message\":\"Настройки успешно сохранены\"}\' );\n\n	}\n\n	if( $action == \"sections\" ) {\n\n		$row = $db->super_query( \"SELECT id, name FROM \" . PREFIX . \"_admin_sections WHERE name = \'{$mod}\'\" );\n\n		if ( $row ) {\n\n			$db->query(\"DELETE FROM \" . PREFIX . \"_admin_sections WHERE name = \'{$mod}\'\");\n\n			die( \'{\"success\":true,\"message\":\"Модуль убран из меню «Сторонние модули»\"}\' );\n\n		} else {\n\n			$db->query( \"INSERT IGNORE INTO \" . PREFIX . \"_admin_sections (name, title, descr, icon, allow_groups) VALUES (\'{$mod}\', \'{$__name}\', \'{$descr}\', \'\', \'1\')\" );\n\n			die( \'{\"success\":true,\"message\":\"Модуль добавлен в меню «Сторонние модули»\"}\' );\n\n		}\n\n	}\n\n}\n\nif( !$user_group[$member_id[\'user_group\']][\'admin_addnews\'] ) {\n	msg( \"error\", $lang[\'index_denied\'], $lang[\'index_denied\'] );\n}\n\nfunction makeCheckBox($name, $selected) {\n  $selected = $selected ? \"checked\" : \"\";\n  return \"<input class=\\\"switch\\\" type=\\\"checkbox\\\" name=\\\"$name\\\" value=\\\"1\\\" {$selected}>\";\n}\n\nfunction makeDropDown($options, $name, $selected) {\n    $output = \"<select class=\\\"uniform\\\" style=\\\"min-width:100px;\\\" name=\\\"$name\\\">\\r\\n\";\n    foreach ( $options as $value => $description ) {\n        $output .= \"<option value=\\\"$value\\\"\";\n        if( $selected == $value ) {\n            $output .= \" selected \";\n        }\n        $output .= \">$description</option>\\n\";\n    }\n    $output .= \"</select>\";\n    return $output;\n}\n\n$tags_arr = array(\n    \'poster\'           => \'Постер\',\n    \'title_ru\'         => \'Название\',\n    \'title_en\'         => \'Оригинальное название\',\n    \'title_alt\'        => \'Альтернативное название\',\n    \'token_movie\'      => \'Token movie\',\n    \'year\'             => \'Год выхода\',\n    \'description\'      => \'Описание\',\n    \'countries\'        => \'Страны\',\n    \'genres\'           => \'Жанры\',\n    \'actors\'           => \'Актеры\',\n    \'directors\'        => \'Режиссеры\',\n    \'producer\'         => \'Продюсеры\',\n    \'iframe_url\'       => \'Плеер\',\n    \'trailer\'          => \'Трейлер\',\n    \'kinopoisk_id\'     => \'ID Kinopoisk\',\n    \'imdb_id\'          => \'ID IMDB\',\n    \'tmdb_id\'          => \'ID TMDB\',\n    \'world_art_id\'     => \'ID WORLD ART\',\n    \'translator\'       => \'Перевод\',\n    \'quality\'          => \'Качество видео\',\n    \'last_season\'      => \'Последний сезон\',\n    \'last_episode\'     => \'Последний эпизод\',\n    \'episode_count\'    => \'Кол-во эпизодов\',\n    \'last_translate\'   => \'Последняя озвучка\',\n    \'rating_kp\'        => \'Kinopoisk рейтинг\',\n    \'rating_imdb\'      => \'IMDB рейтинг\',\n    \'rating_tmdb\'      => \'TMDB рейтинг\',\n    \'rating_world_art\' => \'WORLD ART рейтинг\',\n    \'rate_mpaa\'        => \'Рейтинг материала по шкале MPAA\',\n    \'premiere_ru\'      => \'Премьера в россии\',\n    \'premiere_world\'   => \'Мировая премьера\',\n    \'video_type\'       => \'Тип видео (фильм, сериал...)\', \n    \'time\'             => \'Продолжительность\',\n    \'age\'              => \'Возрастное ограничение\',\n    \'slogan\'           => \'Слоган\',\n    \':instream_ads\'    => \'Наличие рекламы: да / нет\',\n    \'episode_plus\'   => \'Последняя серия + 1\',\n    \'seasone_plus\'   => \'Последний сезон + 1\',\n    \'episode_type_1\' => \'Форматированная серия вида 1 серия, 2 серия, 3 серия\',\n    \'episode_type_2\' => \'Форматированная серия вида 1 серия, 1-2 серия, 1-3 серия, 1-4 серия\',\n    \'episode_type_3\' => \'Форматированная серия вида 1 серия, 1,2 серия, 1,2,3 серия, 1,2,3,4 серия\',\n    \'episode_type_4\' => \'Форматированная серия + 1 вида: если 1 серия - 1,2 серия, если 2 серия - 1,2,3 серия, если 5 серия - 4,5,6 серия\',\n    \'episode_type_5\' => \'Форматированная серия + 1 вида 1,2 серия, 1,2,3 серия, 1,2,3,4,5 серия, 1-5,6,7 серия\',\n    \'season_type_1\'  => \'Форматированный сезон вида 1 сезон, 2 сезон, 3 сезон\',\n    \'season_type_2\'  => \'Форматированный сезон вида 1 сезон, 1-2 сезон, 1-3 сезон\',\n    \'season_type_3\'  => \'Форматированный сезон вида 1 сезон, 1,2 сезон, 1,2,3 сезон\',  \n);\n\n\n\n$country_arr = array(\n  \'Австралия\',\n  \'Австрия\',\n  \'Азербайджан\',\n  \'Албания\',\n  \'Алжир\',\n  \'Американское Самоа\',\n  \'Ангилья\',\n  \'Англия\',\n  \'Ангола\',\n  \'Андорра\',\n  \'Антигуа и Барбуда\',\n  \'Аргентина\',\n  \'Армения\',\n  \'Аруба\',\n  \'Афганистан\',\n  \'Багамы\',\n  \'Бангладеш\',\n  \'Барбадос\',\n  \'Бахрейн\',\n  \'Бейкер\',\n  \'Белиз\',\n  \'Беларусь\',\n  \'Бельгия\',\n  \'Бенилюкс\',\n  \'Бенин\',\n  \'Болгария\',\n  \'Боливия\',\n  \'Бонэйр\',\n  \'Бопутатсвана\',\n  \'Босния и Герцеговина\',\n  \'Ботсвана\',\n  \'Бразилия\',\n  \'Бруней\',\n  \'Буркина-Фасо\',\n  \'Бурунди\',\n  \'Бутан\',\n  \'Вануату\',\n  \'Ватикан\',\n  \'Великобритания\',\n  \'Венгрия\',\n  \'Венда\',\n  \'Венесуэла\',\n  \'Вьетнам\',\n  \'Габон\',\n  \'Гаити\',\n  \'Гайана\',\n  \'Гамбия\',\n  \'Гана\',\n  \'Гватемала\',\n  \'Гвинея\',\n  \'Гвинея-Бисау\',\n  \'Германия\',\n  \'Гернси\',\n  \'Гибралтар\',\n  \'Гондурас\',\n  \'Гонконг\',\n  \'Сомали\',\n  \'Гренада\',\n  \'Греция\',\n  \'Грузия\',\n  \'Гуам\',\n  \'Дания\',\n  \'Конго\',\n  \'Косово\',\n  \'Джибути\',\n  \'Джонстон\',\n  \'Джубаленд\',\n  \'Доминика\',\n  \'Доминикана\',\n  \'Египет\',\n  \'Замбия\',\n  \'Зимбабве\',\n  \'Израиль\',\n  \'Имамат Оман\',\n  \'Индия\',\n  \'Индонезия\',\n  \'Иордания\',\n  \'Ирак\',\n  \'Иран\',\n  \'Ирландия\', \n  \'Исландия\',\n  \'Испания\',\n  \'Италия\',\n  \'Йемен\',\n  \'Султанат Касири\',\n  \'Кабо-Верде\',\n  \'Казахстан\',\n  \'Камбоджа\',\n  \'Камерун\',\n  \'Канада\',\n  \'Катар\',\n  \'Кашубия\',\n  \'Кенедугу\',\n  \'Кения\',\n  \'Киргизия\',\n  \'Кирибати\',\n  \'Китай\',\n  \'Колумбия\',\n  \'Коморы\',\n  \'Конго\',\n  \'Корея Северная\',\n  \'Корея Южная\',\n  \'Нидерланды\',\n  \'Конго\',\n  \'Коста-Рика\', \n  \'Куба\',\n  \'Кувейт\',\n  \'Кюрасао\',\n  \'Лаос\',\n  \'Латвия\',\n  \'Лесото\',\n  \'Либерия\',\n  \'Ливан\',\n  \'Ливия\',\n  \'Литва\',\n  \'Лихтенштейн\',\n  \'Люксембург\',\n  \'Маврикий\',\n  \'Мавритания\',\n  \'Мадагаскар\',\n  \'Малави\',\n  \'Малайзия\',\n  \'Мали\',\n  \'Мальдивы\',\n  \'Мальта\',\n  \'Марокко\',\n  \'Мартиазо\',\n  \'Мексика\',\n  \'Мидуэй\',\n  \'Мозамбик\',\n  \'Молдавия\',\n  \'Молдова\',\n  \'Монако\',\n  \'Монголия\',\n  \'Монтсеррат\',\n  \'Мьянма\',\n  \'Намибия\',\n  \'Науру\',\n  \'Непал\',\n  \'Нигер\',\n  \'Нигерия\',\n  \'Нидерланды\',\n  \'Никарагуа\',\n  \'Ниуэ\',\n  \'Новая Зеландия\',\n  \'Новая Каледония\',\n  \'Норвегия\',\n  \'Остров Норфолк\', \n  \'ОАЭ\',\n  \'Оман\',\n  \'Пакистан\',\n  \'Палау\',\n  \'Панама\',\n  \'Парагвай\',\n  \'Перу\',\n  \'Польша\',\n  \'Португалия\',\n  \'Пуэрто Рико\',\n  \'Ангилья\',\n  \'Закистан\',\n  \'Кипр\',\n  \'Логон\',\n  \'Россия\',\n  \'Руанда\',\n  \'Румыния\',\n  \'Сальвадор\',\n  \'Самоа\',\n  \'Сан-Марино\',\n  \'Саудовская Аравия\',\n  \'Северная Ирландия\',\n  \'Северная Македония\',\n  \'Сейшельские Острова \',\n  \'Сенегал\',\n  \'Сент-Люсия\',\n  \'Сербия\',\n  \'Силенд\',\n  \'Сингапур\',\n  \'Синт-Мартен\',\n  \'Синт-Эстатиус\',\n  \'Сирия\',\n  \'Сискей\',\n  \'Словакия\',\n  \'Словения\',\n  \'Соломоновы Острова\',\n  \'Сомали\',\n  \'Сомалиленд\',\n  \'Судан\',\n  \'Суринам\',\n  \'СССР\',\n  \'США\',\n  \'Сьерра-Леоне\',\n  \'Таджикистан\',\n  \'Таиланд\',\n  \'Тайвань\',\n  \'Танзания\',\n  \'Того\',\n  \'Токелау\',\n  \'Тонга\',\n  \'Торо\',\n  \'Транскей\',\n  \'Тринидад\',\n  \'Тобаго\',\n  \'Тувалу\',\n  \'Тунис\',\n  \'Туркмения\',\n  \'Турция\',\n  \'Уганда\',\n  \'Узбекистан\',\n  \'Украина\',\n  \'Уругвай\',\n  \'Уэйк\',\n  \'Уэльс\',\n  \'ФШМ\',\n  \'Фиджи\',\n  \'Филиппины\',\n  \'Финляндия\',\n  \'Фландренсис\',\n  \'Фолклендские острова\',\n  \'Франция\',\n  \'Французская Полинезия\',\n  \'Хауленд\',\n  \'Хиршабелле\',\n  \'Хорватия\',\n  \'Центральноафриканская Республика\',\n  \'Чад\',\n  \'Черногория\',\n  \'Чехия\',\n  \'Чили\',\n  \'Швейцария\',\n  \'Швеция\',\n  \'Шотландия\',\n  \'Шри-Ланка\',\n  \'Эквадор\',\n  \'Экваториальная Гвинея\',\n  \'Эритрея\',\n  \'Эсватини\',\n  \'Эстония\',\n  \'Эфиопия\',\n  \'Южная Георгия\',\n  \'ЮАР\',\n  \'Южный Судан\',\n  \'Ямайка\',\n  \'Япония\',\n);\n\n$main = \"\";\n\nforeach ( array( \n  \'title\'       => \'Заголовок новости:\', \n  \'short_story\' => \'Краткое описание:\',\n  \'full_story\'  => \'Полное описание:\',  		\n  \'metatitle\'   => \'Метатег Title:\', \n  \'descr\'       => \'Метатег Description:\', \n  \'keywords\'    => \'Метатег Keywords:\',\n  \'tags\'        => \'Теги новости:\',\n  \'alt_name\'    => \'ЧПУ новости:\',\n  \'api_token\'   => \'Ваш API-токен в видеобалансере Alloha:\', \n  \'secret_key\'  => \'Секретный ключ для крона:\',\n	) as $name => $title ) {\n\n	$main .= \"<tr><td class=\\\"col-xs-6 col-sm-6 col-md-7 white-line\\\"><h6 class=\\\"media-heading text-semibold\\\">{$title}</h6><span></span></td><td class=\\\"col-xs-6 col-sm-6 col-md-7 white-line\\\"><input name=\\\"config[{$name}]\\\" class=\\\"form-control\\\" value=\\\"\" . ( isset( $config_mod[$name] ) ? $config_mod[$name] : \"\" ) . \"\\\"></td></tr>\";\n\n}\n\n$main .= \"<tr><td class=\\\"col-xs-6 col-sm-6 col-md-7 white-line\\\"><h6 class=\\\"media-heading text-semibold\\\">Имя пользователя от имени которого добавляются публикации:</h6><span></span></td><td class=\\\"col-xs-6 col-sm-6 col-md-7 white-line\\\"><input name=\\\"config[author]\\\" class=\\\"form-control\\\" value=\\\"\" .$config_mod[\'author\'] . \"\\\"></td></tr>\";\n\n$add_film        = makeCheckBox(\'config[add_film]\', $config_mod[\'add_film\']);\n$add_multfilm    = makeCheckBox(\'config[add_multfilm]\', $config_mod[\'add_multfilm\']);\n$add_multserial  = makeCheckBox(\'config[add_multserial]\', $config_mod[\'add_multserial\']);\n$add_serial      = makeCheckBox(\'config[add_serial]\', $config_mod[\'add_serial\']);\n$add_anime       = makeCheckBox(\'config[add_anime]\', $config_mod[\'add_anime\']);\n$add_animeserial = makeCheckBox(\'config[add_animeserial]\', $config_mod[\'add_animeserial\']);\n$add_tvshow      = makeCheckBox(\'config[add_tvshow]\', $config_mod[\'add_tvshow\']);\n$add_trailer      = makeCheckBox(\'config[add_trailer]\', $config_mod[\'add_trailer\']);\n\n$main .= \"<tr><td class=\\\"col-xs-6 col-sm-6 col-md-7 white-line\\\"><h6 class=\\\"media-heading text-semibold\\\">Добавлять на сайт:</h6></td><td class=\\\"col-xs-6 col-sm-6 col-md-7 white-line\\\">\".\n  \'<div style=\"margin-bottom:10px\">\'.$add_film.\' Фильмы</div>\'.\n  \'<div style=\"margin-bottom:10px\">\'.$add_multfilm.\' Мультфильмы</div>\'.\n	\'<div style=\"margin-bottom:10px\">\'.$add_multserial.\' Мультсериалы</div>\'.\n	\'<div style=\"margin-bottom:10px\">\'.$add_serial.\' Сериалы</div>\'.\n	\'<div style=\"margin-bottom:10px\">\'.$add_anime.\' Аниме</div>\'.\n  \'<div style=\"margin-bottom:10px\">\'.$add_animeserial.\' Аниме-сериалы</div>\'.\n	\'<div style=\"margin-bottom:10px\">\'.$add_tvshow.\' TV-шоу</div>\'.\n  \'<div style=\"margin-bottom:10px\">\'.$add_trailer.\' Трейлеры</div>\'.\n	\"</td></tr>\";\n\n$main .= \"<tr><td class=\\\"col-xs-6 col-sm-6 col-md-7 white-line\\\"><h6 class=\\\"media-heading text-semibold\\\">Черный список</h6><span>Укажите список ID Кинопоиска (каждый с новой строки)</span></td><td class=\\\"col-xs-6 col-sm-6 col-md-7 white-line\\\"><textarea name=\\\"config[blacklist]\\\" style=\\\"height:200px;\\\" class=\\\"form-control\\\">\" . ( isset( $config_mod[\'blacklist\'] ) ? $config_mod[\'blacklist\'] : \"\" ) . \"</textarea></td></tr>\";\n\n$main .= \"<tr><td class=\\\"col-xs-6 col-sm-6 col-md-7 white-line\\\"><h6 class=\\\"media-heading text-semibold\\\">Исключить новости</h6><span>Укажите список ID новостей для которых данные при автоматическом обновлении обновлятся не будут (каждый с новой строки)</span></td><td class=\\\"col-xs-6 col-sm-6 col-md-7 white-line\\\"><textarea name=\\\"config[exclude_news]\\\" style=\\\"height:200px;\\\" class=\\\"form-control\\\">\" . ( isset( $config_mod[\'exclude_news\'] ) ? $config_mod[\'exclude_news\'] : \"\" ) . \"</textarea></td></tr>\";\n\n$first_new = makeCheckBox(\'config[first_new]\', $config_mod[\'first_new\']);\n$main .= \'<tr>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\n        <h6 class=\"media-heading text-semibold\">Добавлять сначала новинки:</h6>\n        <span class=\"text-muted text-size-small hidden-xs\">если включено, то сначала будут добавлятся новые фильмы (по годам), иначе так как находятся в базе. по порядку</span>\n      </td>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\'.$first_new.\'</td>\n    </tr>\';\n\n\n\n\nforeach ($cat_info as $cat_arr) {\n  if (intval($config_mod[\'trailer_cat\']) == $cat_arr[\'id\']) {\n    $trailer_cat[] = \'<option value=\"\'.$cat_arr[\'id\'].\'\" selected>\'.$cat_arr[\'name\'].\'</option>\';\n  }\n  else {\n    $trailer_cat[] = \'<option value=\"\'.$cat_arr[\'id\'].\'\">\'.$cat_arr[\'name\'].\'</option>\';\n  }\n}\n\n$main .= \'<tr>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\n        <h6 class=\"media-heading text-semibold\">Категория с трейлерами/анонсами:</h6>\n        <span class=\"text-muted text-size-small hidden-xs\">будут автоматичесски убиратся при появлении материала в базе</span>\n      </td>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\"><select name=\"config[trailer_cat]\" class=\"categoryselect\" style=\"width: 100%; max-width: 350px;\"><option value=\"0\">===Выбрать из списка===</option>\'.implode(\"\\n\", $trailer_cat).\'</select></td>\n    </tr>\';\n\n\n\n\n$allow_country = $config_mod[\'allow_country\'] ? $config_mod[\'allow_country\'] : [];\nforeach ($country_arr as $value) {\n	if (in_array(mb_strtolower($value, \'utf-8\'), $allow_country)) {\n		$country_select[] = \'<option value=\"\'.mb_strtolower($value, \'utf-8\').\'\" selected>\'.$value.\'</option>\';\n	}\n	else {\n		$country_select[] = \'<option value=\"\'.mb_strtolower($value, \'utf-8\').\'\">\'.$value.\'</option>\';\n	}\n}\n\n\n$disallow_country = $config_mod[\'disallow_country\'] ? $config_mod[\'disallow_country\'] : [];\nforeach ($country_arr as $value) {\n  if (in_array(mb_strtolower($value, \'utf-8\'), $disallow_country)) {\n    $dcountry_select[] = \'<option value=\"\'.mb_strtolower($value, \'utf-8\').\'\" selected>\'.$value.\'</option>\';\n  }\n  else {\n    $dcountry_select[] = \'<option value=\"\'.mb_strtolower($value, \'utf-8\').\'\">\'.$value.\'</option>\';\n  }\n}\n\n\n$allow_year = $config_mod[\'allow_year\'] ? $config_mod[\'allow_year\'] : [];\n\nfor ($i=1880; $i < 20+date(\'Y\'); $i++) { \n	if (in_array($i, $allow_year)) {\n		$year_select[] = \'<option value=\"\'.$i.\'\" selected>\'.$i.\'</option>\';\n	}\n	else {\n		$year_select[] = \'<option value=\"\'.$i.\'\">\'.$i.\'</option>\';\n	}\n}\n\n\n$disallow_year = $config_mod[\'disallow_year\'] ? $config_mod[\'disallow_year\'] : [];\n\nfor ($i=1880; $i < 20+date(\'Y\'); $i++) { \n  if (in_array($i, $disallow_year)) {\n    $not_year_select[] = \'<option value=\"\'.$i.\'\" selected>\'.$i.\'</option>\';\n  }\n  else {\n    $not_year_select[] = \'<option value=\"\'.$i.\'\">\'.$i.\'</option>\';\n  }\n}\n\n\n$main .= \'<tr>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\n        <h6 class=\"media-heading text-semibold\">Допустимые страны:</h6>\n        <span class=\"text-muted text-size-small hidden-xs\">будут добавляться публикации только определенных стран. если ничего не выбрано - то все</span>\n      </td>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\"><select data-placeholder=\"Выберите страну\" name=\"config[allow_country][]\" class=\"categoryselect\" multiple=\"\" style=\"width: 100%; max-width: 350px;\">\'.implode(\'\', $country_select).\'</select></td>\n    </tr>\';\n\n\n\n$main .= \'<tr>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\n        <h6 class=\"media-heading text-semibold\">Запрещенные страны:</h6>\n        <span class=\"text-muted text-size-small hidden-xs\">будут запрещены для публикации определенные страны. если ничего не выбрано - то все</span>\n      </td>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\"><select data-placeholder=\"Выберите страну\" name=\"config[disallow_country][]\" class=\"categoryselect\" multiple=\"\" style=\"width: 100%; max-width: 350px;\">\'.implode(\'\', $dcountry_select).\'</select></td>\n    </tr>\';\n\n\n$main .= \'<tr>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\n        <h6 class=\"media-heading text-semibold\">Допустимые года:</h6>\n        <span class=\"text-muted text-size-small hidden-xs\">будут добавляться публикации только определенных годов. если ничего не выбрано - то все</span>\n      </td>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\"><select data-placeholder=\"Выберите год\" name=\"config[allow_year][]\" class=\"categoryselect\" multiple=\"\" style=\"width: 100%; max-width: 350px;\">\'.implode(\'\', $year_select).\'</select></td>\n    </tr>\';\n\n\n$main .= \'<tr>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\n        <h6 class=\"media-heading text-semibold\">Запрещенные года:</h6>\n        <span class=\"text-muted text-size-small hidden-xs\">Не будут добавляться публикации только определенных годов. если ничего не выбрано - то все</span>\n      </td>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\"><select data-placeholder=\"Выберите год\" name=\"config[disallow_year][]\" class=\"categoryselect\" multiple=\"\" style=\"width: 100%; max-width: 350px;\">\'.implode(\'\', $not_year_select).\'</select></td>\n    </tr>\';\n\n\n$main .= \'<tr>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\n        <h6 class=\"media-heading text-semibold\">Фильтр по рейтингу Kinopoisk:</h6>\n        <span class=\"text-muted text-size-small hidden-xs\">будет отсортированы фильмы по рейтингу Kinopoisk (например 7.5)</span>\n      </td>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\"><input name=\"config[rating_kp]\" class=\"form-control\" value=\"\'.$config_mod[\'rating_kp\'].\'\"></td>\n    </tr>\';\n\n$main .= \'<tr>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\n        <h6 class=\"media-heading text-semibold\">Фильтр по рейтингу IMDB:</h6>\n        <span class=\"text-muted text-size-small hidden-xs\">будет отсортированы фильмы по рейтингу IMDB (например 7.5)</span>\n      </td>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\"><input name=\"config[rating_imdb]\" class=\"form-control\" value=\"\'.$config_mod[\'rating_imdb\'].\'\"></td>\n    </tr>\';       \n\n\n\n    $main .= \'<tr>\n          <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\n            <h6 class=\"media-heading text-semibold\">Максимум актеров:</h6>\n            <span class=\"text-muted text-size-small hidden-xs\">можно указать ограничение на кол-во актеров</span>\n          </td>\n          <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\"><input name=\"config[max_actors]\" class=\"form-control\" value=\"\'.$config_mod[\'max_actors\'].\'\"></td>\n        </tr>\';\n\n\n    $main .= \'<tr>\n          <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\n            <h6 class=\"media-heading text-semibold\">Максимум режиссёров:</h6>\n            <span class=\"text-muted text-size-small hidden-xs\">можно указать ограничение на кол-во режиссёров</span>\n          </td>\n          <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\"><input name=\"config[max_directors]\" class=\"form-control\" value=\"\'.$config_mod[\'max_directors\'].\'\"></td>\n        </tr>\'; \n\n\n\n$go_moder = makeCheckBox(\'config[go_moder]\', $config_mod[\'go_moder\']);\n$go_moder_trailer = makeCheckBox(\'config[go_moder_trailer]\', $config_mod[\'go_moder_trailer\']);\n$conditionEmptyDescr = makeCheckBox(\'config[go_moder_empty_descr]\', $config_mod[\'go_moder_empty_descr\']);\n$conditionEmptyPoster = makeCheckBox(\'config[go_moder_empty_poster]\', $config_mod[\'go_moder_empty_poster\']);\n\n$update_if_quality = makeCheckBox(\'config[update_if_quality]\', $config_mod[\'update_if_quality\']);\n$update_if_seasone = makeCheckBox(\'config[update_if_seasone]\', $config_mod[\'update_if_seasone\']);\n$update_if_change_translate = makeCheckBox(\'config[update_if_change_translate]\', $config_mod[\'update_if_change_translate\']);\n\n$disable_index = makeCheckBox(\'config[disable_index]\', $config_mod[\'disable_index\']);\n$enable_ads = makeCheckBox(\'config[enable_ads]\', $config_mod[\'enable_ads\']);\n$upload_poster = makeCheckBox(\'config[upload_poster]\', $config_mod[\'upload_poster\']);\n\n$main .= \'<tr>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\n        <h6 class=\"media-heading text-semibold\">Сколько прибавлять к серии/сезону:</h6>\n        <span class=\"text-muted text-size-small hidden-xs\">см. вкладку сериалы (Последняя серия/сезон +1) </span>\n      </td>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\"><input name=\"config[plus]\" class=\"form-control\" value=\"\'.$config_mod[\'plus\'].\'\"></td>\n    </tr>\';\n\n$main .= \'<tr>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\n        <h6 class=\"media-heading text-semibold\">Загружать постер на сайт:</h6>\n        <span class=\"text-muted text-size-small hidden-xs\">если включено то постер будет загружатся вам на сервер. иначе будет ссылка на сторонний ресурс</span>\n      </td>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\'.$upload_poster.\'</td>\n    </tr>\';\n\n\n\n$main .= \'<tr>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\n        <h6 class=\"media-heading text-semibold\">Размер постера:</h6>\n        <span class=\"text-muted text-size-small hidden-xs\">например 200x300 или 120 или 0 для сохранения оригинального изображения</span>\n      </td>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\"><input name=\"config[poster_size]\" class=\"form-control\" value=\"\'.$config_mod[\'poster_size\'].\'\"></td>\n    </tr>\'; \n\n$mass_series = makeCheckBox(\'config[mass_series]\', $config_mod[\'mass_series\']);\n$main .= \'<tr>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\n        <h6 class=\"media-heading text-semibold\">Использовать посерийный модуль:</h6>\n      </td>\n      <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\'.$mass_series.\'</td>\n    </tr>\';\n\n    $not_add_if_no_poster = makeCheckBox(\'config[not_add_if_no_poster]\', $config_mod[\'not_add_if_no_poster\']);\n    $not_add_if_no_descr = makeCheckBox(\'config[not_add_if_no_descr]\', $config_mod[\'not_add_if_no_descr\']);\n\n$main .= <<<HTML\n<tr>\n    <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\n        <h6 class=\"media-heading text-semibold\">\n            Сначала отправлять на модерацию:\n        </h6>\n        <h6 class=\"media-heading text-semibold\">\n            На модерацию при отсутствии описания:\n        </h6>\n        <h6 class=\"media-heading text-semibold\">\n            На модерацию при отсутствии постера:\n        </h6>\n        <h6 class=\"media-heading text-semibold\">\n            Добавлять с вшитой рекламой:\n        </h6>      \n         <h6 class=\"media-heading text-semibold\">\n            Отправлять на модерацию трейлеры:\n        </h6>\n    </td>\n    <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\n        <div style=\"margin-bottom: 7px\">\n            $go_moder\n        </div>\n        <div style=\"margin-bottom: 7px\">\n            $conditionEmptyDescr\n        </div>\n        <div style=\"margin-bottom: 7px\">\n            $conditionEmptyPoster\n        </div>\n        <div style=\"margin-bottom: 7px\">$enable_ads</div>\n        <div>$go_moder_trailer</div>\n        \n    </td>\n</tr>\n<tr>\n    <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\n        <h6 class=\"media-heading text-semibold\">\n            Не добавлять при отсутствии постера:\n        </h6>\n        <h6 class=\"media-heading text-semibold\">\n            Не добавлять при отсутствии описания:\n        </h6>\n    </td>\n    <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\n        <div style=\"margin-bottom: 7px\">\n            $not_add_if_no_poster\n        </div>\n        <div style=\"margin-bottom: 7px\">\n            $not_add_if_no_descr\n        </div>\n    </td>\n</tr>\n<tr>\n    <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\n        <h6 class=\"media-heading text-semibold\">\n            Поднимать фильмы / мультфильмы / аниме при  смене качества:\n        </h6>\n        <h6 class=\"media-heading text-semibold\">\n            Поднимать сериалы / мультсериалы / аниме-сериалы при смене сезонов и серий:\n        </h6>\n        <h6 class=\"media-heading text-semibold\">\n            Поднимать сериалы при смене озвучки:\n        </h6>\n        <h6 class=\"media-heading text-semibold\">\n            Запретить индексацию страницы для поисковиков:\n        </h6>\n    </td>\n    <td class=\"col-xs-6 col-sm-6 col-md-7 white-line\">\n        <div style=\"margin-bottom: 7px\">\n            $update_if_quality\n        </div>\n        <div style=\"margin-bottom: 7px\">\n            $update_if_seasone\n        </div>\n        <div style=\"margin-bottom: 7px\">\n            $update_if_change_translate\n        </div>\n        <div style=\"margin-bottom: 7px\">\n            $disable_index\n        </div>\n    </td>\n</tr>\nHTML;\n\n\n\n$xfields = \"\";\n\nforeach ( xfieldsload() as $xfield ) {\n\n	$options = \"\";\n\n	foreach ($tags_arr as $key => $value) {\n		if ( ($xfield[3] == \"yesorno\" && substr($key, 0, 1) == \":\") \n			|| (in_array($xfield[3], array(\'text\', \'textarea\', \'htmljs\', \'select\')) && substr($key, 0, 1) != \":\")\n			|| (in_array($xfield[3], array(\'image\', \'imagegalery\')) && $key == \'image\') ) {\n			$key = trim($key, \':\');\n\n			if ( $key == \'image\' && in_array($xfield[3], array(\'image\', \'imagegalery\') ) ) {\n				$key = \'xf-\' . $key;\n			} \n\n			if ( in_array($config_mod[\'xfields\'][$xfield[0]], array(\'{\' . $key . \'}\', \'{xf-\' . $key . \'}\' ) ) ) {\n				$selected = \" selected\";\n			} else {\n				$selected = \"\";\n			}\n\n			$options .= \'<option value=\"{\' . $key . \'}\"\' . $selected . \'>\' . $value . \'</option>\';\n		}\n	}\n\n	if ( $options != \"\" )  $xfields .= \"<tr><td class=\\\"col-xs-6 col-sm-6 col-md-7 white-line\\\"><h6 class=\\\"media-heading text-semibold\\\">{$xfield[1]}</h6><span>Дополнительное поле [{$xfield[0]}]</span></td><td class=\\\"col-xs-6 col-sm-6 col-md-7 white-line\\\"><select name=\\\"config[xfields][{$xfield[0]}]\\\" style=\\\"width:100%;max-width:350px;\\\" class=\\\"uniform\\\"><option value=\\\" \\\">--- не выбрано ---</option>{$options}</select></td></tr>\";\n\n}\n\n\n$genre_arr = array(\n  \'4K\',\n  \'сериал\',\n  \'фильм\',\n  \'зарубежный\',\n  \'арт-хаус\',\n  \'дорама\',\n  \'аниме\',\n  \'аниме сериал\',\n  \'биография\',\n  \'боевик\', \n  \'вестерн\',\n  \'военный\',\n  \'детектив\',\n  \'детский\', \n  \'документальный\',\n  \'драма\',\n  \'игра\',\n  \'история\',\n  \'комедия\',\n  \'концерт\',\n  \'короткометражка\',\n  \'полнометражный\',\n  \'криминал\',\n  \'мелодрама\',\n  \'мистический\',\n  \'музыка\',\n  \'мультфильм\',\n  \'мультсериал\',\n  \'мюзикл\',\n  \'новости\',\n  \'путешествия\',\n  \'приключения\',\n  \'развлекательный\',\n  \'реальное тв\',\n  \'семейный\',	\n  \'спорт\',\n  \'ток-шоу\',\n  \'тв шоу\',\n  \'триллер\',\n  \'трейлер\',\n  \'ужасы\',\n  \'фантастика\',\n  \'фильм-нуар\',\n  \'фэнтези\',\n  \'церемония\',\n  \'для взрослых\',\n\'Австралия\',\n\'Австрия\',\n\'Азербайджан\',\n\'Албания\',\n\'Алжир\',\n\'Ангола\',\n\'Андорра\',\n\'Антарктида\',\n\'Антильские Острова\',\n\'Аргентина\',\n\'Армения\',\n\'Аруба\',\n\'Афганистан\',\n\'Багамы\',\n\'Бангладеш\',\n\'Барбадос\',\n\'Бахрейн\',\n\'Беларусь\',\n\'Бельгия\',\n\'Бенин\',\n\'Бермуды\',\n\'Болгария\',\n\'Боливия\',\n\'Босния и Герцеговина\',\n\'Ботсвана\',\n\'Бразилия\',\n\'Бруней-Даруссалам\',\n\'Буркина-Фасо\',\n\'Бурунди\',\n\'Бутан\',\n\'Ватикан\',\n\'Великобритания\',\n\'Венгрия\',\n\'Венесуэла\',\n\'Вьетнам\',\n\'Вьетнам Северный\',\n\'Гаити\',\n\'Гана\',\n\'Гваделупа\',\n\'Гватемала\',\n\'Гвинея-Бисау\',\n\'Германия\',\n\'Германия (ГДР)\',\n\'Германия (ФРГ)\',\n\'Гибралтар\',\n\'Гондурас\',\n\'Гонконг\',\n\'Гренландия\',\n\'Греция\',\n\'Грузия\',\n\'Дания\',\n\'Джибути\',\n\'Доминикана\',\n\'Египет\',\n\'Замбия\',\n\'Зимбабве\',\n\'Израиль\',\n\'Индия\',\n\'Индонезия\',\n\'Иордания\',\n\'Ирак\',\n\'Иран\',\n\'Ирландия\',\n\'Исландия\',\n\'Испания\',\n\'Италия\',\n\'Йемен\',\n\'Кабо-Верде\',\n\'Казахстан\',\n\'Каймановы острова\',\n\'Камбоджа\',\n\'Камерун\',\n\'Канада\',\n\'Катар\',\n\'Кения\',\n\'Кипр\',\n\'Киргизия\',\n\'Китай\',\n\'Колумбия\',\n\'Конго\',\n\'Корея Северная\',\n\'Корея Южная\',\n\'Косово\',\n\'Коста-Рика\',\n\'Куба\',\n\'Кувейт\',\n\'Лаос\',\n\'Латвия\',\n\'Лесото\',\n\'Ливан\',\n\'Ливия\',\n\'Литва\',\n\'Лихтенштейн\',\n\'Люксембург\',\n\'Маврикий\',\n\'Мавритания\',\n\'Мадагаскар\',\n\'Макао\',\n\'Македония\',\n\'Малави\',\n\'Малайзия\',\n\'Мали\',\n\'Мальдивы\',\n\'Мальта\',\n\'Марокко\',\n\'Мартиника\',\n\'Мексика\',\n\'Мозамбик\',\n\'Молдова\',\n\'Монако\',\n\'Монголия\',\n\'Мьянма\',\n\'Намибия\',\n\'Непал\',\n\'Нигерия\',\n\'Нидерланды\',\n\'Никарагуа\',\n\'Новая Зеландия\',\n\'Норвегия\',\n\'ОАЭ\',\n\'Оман\',\n\'Остров Мэн\',\n\'Пакистан\',\n\'Палестина\',\n\'Панама\',\n\'Парагвай\',\n\'Перу\',\n\'Польша\',\n\'Португалия\',\n\'Пуэрто Рико\',\n\'Реюньон\',\n\'Российская империя\',\n\'Россия\',\n\'Руанда\',\n\'Румыния\',\n\'СССР\',\n\'США\',\n\'Сальвадор\',\n\'Саудовская Аравия\',\n\'Северная Македония\',\n\'Сенегал\',\n\'Сент-Китс и Невис\',\n\'Сербия\',\n\'Сербия и Черногория\',\n\'Сингапур\',\n\'Сирия\',\n\'Словакия\',\n\'Словения\',\n\'Сомали\',\n\'Судан\',\n\'Таджикистан\',\n\'Таиланд\',\n\'Тайвань\',\n\'Танзания\',\n\'Тунис\',\n\'Туркменистан\',\n\'Турция\',\n\'Уганда\',\n\'Узбекистан\',\n\'Украина\',\n\'Уругвай\',\n\'Фарерские острова\',\n\'Филиппины\',\n\'Финляндия\',\n\'Франция\',\n\'Французская Полинезия\',\n\'Хорватия\',\n\'Чад\',\n\'Черногория\',\n\'Чехия\',\n\'Чехословакия\',\n\'Чили\',\n\'Швейцария\',\n\'Швеция\',\n\'Шри-Ланка\',\n\'Эквадор\',\n\'Эритрея\',\n\'Эстония\',\n\'Эфиопия\',\n\'ЮАР\',\n\'Югославия\',\n\'Югославия (ФР)\',\n\'Ямайка\',\n\'Япония\'\n);\n\nfor($i=date(\'Y\')+4;$i>=1880;$i--) $genre_arr[] = $i;\n\n$cats = \"\";\n\nforeach ($cat_info as $cat) {\n	$options = \"\";\n\n	foreach ($genre_arr as $genre)\n		$options .= \'<option value=\"\' . $genre . \'\"\' . (in_array($genre, (array)$config_mod[\'category\'][$cat[\'id\']]) ? \' selected\' : \'\') . \'>\' . $genre . \'</option>\';\n\n	$cat_id = $cat[\'parentid\'];\n	$name = $cat[\'name\'];\n\n	while ($cat_id) {\n		$name = $cat_info[$cat_id][\'name\'] . \' / \' . $name;\n		$cat_id = $cat_info[$cat_id][\'parentid\'];\n	}\n\n	$cats .= \"<tr><td class=\\\"col-xs-6 col-sm-6 col-md-7 white-line\\\"><h6 class=\\\"media-heading text-semibold\\\">{$name}</h6><span>категория [ID:{$cat[\'id\']}]</span></td><td class=\\\"col-xs-6 col-sm-6 col-md-7 white-line\\\"><select name=\\\"config[category][{$cat[\'id\']}][]\\\" style=\\\"width:100%;max-width:350px;\\\" class=\\\"categoryselect\\\" multiple>{$options}</select></td></tr>\";\n}\n\n\n$tags = \"\";\n\nforeach ($tags_arr as $key => $value) {\n	$tags .= \"<tr><td class=\\\"col-xs-6 col-sm-6 col-md-7 white-line\\\"><h6 class=\\\"media-heading text-semibold\\\">{$value}</h6><span></span></td><td class=\\\"col-xs-6 col-sm-6 col-md-7 white-line\\\">[if_{$key}] {{$key}} [/if_{$key}]<br>[ifnot_{$key}] данных нету [/ifnot_{$key}]</td></tr>\";\n}\n\nechoheader( $__name, $__descr );\n\n\n$row = $db->super_query( \"SELECT COUNT(*) as count FROM \" . PREFIX . \"_post\" );\n\n$last_file = ENGINE_DIR.\'/data/alloha.last.file\';\nif (!file_exists($last_file)) {\n  $startfrom = $rebuildcount = 0;\n  file_put_contents($log_file, \"0|0\");\n}\nelse {\n  $data = file_get_contents($last_file);\n  $data = explode(\'|\', $data);\n  $startfrom = $data[0];\n  $rebuildcount = $data[1];\n}\n\n\n\n$serial_arr = [\n  \'episode_plus\' => \'Последняя серия + 1\',\n  \'seasone_plus\' => \'Последний сезон + 1\',\n  \'episode_type_1\' => \'Форматированная серия вида 1 серия, 2 серия, 3 серия\',\n  \'episode_type_2\' => \'Форматированная серия вида 1 серия, 1-2 серия, 1-3 серия, 1-4 серия\',\n  \'episode_type_3\' => \'Форматированная серия вида 1 серия, 1,2 серия, 1,2,3 серия, 1,2,3,4 серия\',\n  \'episode_type_4\' => \'Форматированная серия + 1 вида: если 1 серия - 1,2 серия, если 2 серия - 1,2,3 серия, если 5 серия - 4,5,6 серия\',\n  \'episode_type_5\' => \'Форматированная серия + 1 вида 1,2 серия, 1,2,3 серия, 1,2,3,4,5 серия, 1-5,6,7 серия\',\n  \'season_type_1\' => \'Форматированный сезон вида 1 сезон, 2 сезон, 3 сезон\',\n  \'season_type_2\' => \'Форматированный сезон вида 1 сезон, 1-2 сезон, 1-3 сезон\',\n  \'season_type_3\' => \'Форматированный сезон вида 1 сезон, 1,2 сезон, 1,2,3 сезон\',\n];\n\n$serial_arr =[];\n  \n\nforeach ($serial_arr as $key => $value) {\n\n  $options = \"\";\n\n  foreach ( xfieldsload() as $xfield ) {\n\n    if ( $xfield[3]==\'text\' ) {\n\n\n      \n      if ( isset($config_mod[\'xfields\'][$key]) && \'{\'.$xfield[0].\'}\'== $config_mod[\'xfields\'][$key]) {\n        $selected = \" selected\";\n      } else {\n        $selected = \"\";\n      }\n\n      $options .= \'<option value=\"{\' . $key . \'}\"\' . $selected . \'>\' . $xfield[1] . \'</option>\';\n    }\n  }\n\n  if ( $options != \"\" )  $serial_tab .= \"<tr><td class=\\\"col-xs-6 col-sm-6 col-md-7\\\"><h8 class=\\\"media-heading text-semibold\\\">{$value}</h8></td><td class=\\\"col-xs-6 col-sm-6 col-md-7 white-line\\\"><select name=\\\"config[xfields][$key]\\\" style=\\\"width:100%;max-width:350px;\\\" class=\\\"uniform\\\"><option value=\\\" \\\">--- не выбрано ---</option>{$options}</select></td></tr>\";\n\n}\n\n\n\n$serial_tab = <<<HTML\n<style type=\"text/css\">\n  .rcol-2col {\n      width: 100%;\n      margin: 0 20px 0 0;\n  }\n  .rcol-2col-header {\n      background: #e1e1e1;\n      font: 400 14px/1.5 \'Trebuchet MS\';\n      color: #7d7d7f;\n      height: 40px !important;\n      padding: 10px 20px;\n      z-index: 5;\n      position: relative;\n      cursor: pointer;\n  }\n  .rcol-2col-header span {\n      float: left;\n  }\n  .show-hide {\n      float: right;\n  }\n</style>\n<script type=\"text/javascript\">\n  $(function(){\n    $(\'.rcol-2col-header\').click(function(){\n      $(\'.rcol-2col-body\').toggle()\n    });\n  });\n</script>\n<div class=\"rcol-2col-body\" style=\"padding: 10px 20px; display: block;\">1. Закинуть tpl файлы из папки \"Постраничный вывод серий и сезонов/templates\" - в шаблон Вашего сайта\n<br>\n2. Открываем .htaccess в корне сайта, ищем в нем код\n<br>\nRewriteEngine On\n<br><br>\nниже вставляем:\n<br><br>\nRewriteRule ^([^.]+)/([0-9]+)-(.*)/([0-9]+)-season.html$ index.php?newsid=$2&amp;seourl=$3&amp;seocat=$1&amp;season=$4 [L]\nRewriteRule ^([^.]+)/([0-9]+)-(.*)/([0-9]+)-season-([0-9]+)-episode.html$ index.php?newsid=$2&amp;seourl=$3&amp;seocat=$1&amp;season=$4&amp;episode=$5 [L]\n\nRewriteRule ^([0-9]+)-(.*)/([0-9]+)-season.html$ index.php?newsid=$1&amp;seourl=$2&amp;season=$3 [L]\nRewriteRule ^([0-9]+)-(.*)/([0-9]+)-season-([0-9]+)-episode.html$ index.php?newsid=$1&amp;seourl=$2&amp;season=$3&amp;episode=$4 [L]\n<br><br>\n3. Закинуть папку \"Постраничный вывод серий и сезонов/engine\" в корень сайта\n<br>\n4. Установить плагин serialy.xml\n<br>\n5. Установить плагин fullstory-metatags-by-sander.xml\n<br>\n6. Открываем Ваш шаблон/serialy/episode.tpl, копируем сюда содержимое вашего fullstory.tpl и перенастраиваем под страницу серий.\n<br>\n7. Настраиваем вид серий - series.tpl и сезонов - season.tpl\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n              <tbody><tr class=\"rcol-2col-body-tr-even\"></tr></tbody></table></div>\n<table class=\"table table-normal\">$serial_tab</table>\n<div class=\"rcol-2col\">\n      <div class=\"rcol-2col-header\">\n          <span>Список доступных тегов внутри шаблона</span>\n          <div class=\"show-hide\">Show</div>\n      </div>\n         \n          <div class=\"rcol-2col-body\" style=\"padding: 10px 20px; display: block;\">\n          <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n              <tbody>\n                <tr class=\"rcol-2col-body-tr-even\">\n                  <td width=\"50%\">1. <b>{season}</b> - Сезон<br>2. <b>{episode}</b> - Серия</td>\n                  <td width=\"50%\">11.<b>{serialy news-id=\"{news-id}\" season=\"{season}\" sort=\"asc\"}</b> - выведет все эпизоды внутри просматриваемого сезона<br>12. <b>{serialy news-id=\"{news-id}\" season=\"[xfvalue_last_season]\" sort=\"asc\"}</b> - для вывода серий из последнего сезона</td>\n                </tr><tr class=\"rcol-2col-body-tr-even\">\n                  <td width=\"50%\">3.<b> [active][/active]</b> - Тег для подсветки текущего эпизода, который просматривает пользователь (в сезонах есть по умолчанию)<br>4.<b> {episode-title}</b> - Название эпизода</td>\n                  <td width=\"50%\">13. <b>{serialy sort=\"id\" last=\"yes\" limit=\"5\" template=\"abc\"}</b> - выведет последние пять добавленных на сайт эпизодов, например, на главной странице в main.tpl\n<br>14.<b> href=\"{first-episode-link}\"</b> - ссылка на первый эпизод первого сезона. </td>\n                </tr><tr class=\"rcol-2col-body-tr-even\">\n                  <td width=\"50%\">5.<b> {news-title}</b> - Название сериала<br>6.<b> {kadr}</b>  - Постер серии *для работы тега нужно создать доп поле \"kadr\", тип поля \"загружаемое изображение\"</td>\n                  \n                </tr><tr class=\"rcol-2col-body-tr-even\">\n                  <td width=\"50%\">7.<b> {story}</b> - Описание эпизода<br>8.<b> [prev-episode]{prev-episode} серия[/prev-episode]</b> - Ссылка на предыдущий эпизод, внутри сезона</td>\n                  \n                </tr><tr class=\"rcol-2col-body-tr-even\">\n                  <td width=\"50%\">9.<b> [next-episode]{next-episode} серия[/next-episode]</b> - Ссылка на следующий эпизод, внутри сезона<br>10.<b> {season=[xfvalue_last_season]}</b> -  тег для вывода ссылок на все сезоны сериала, где [xfvalue_last_season] - это доп. поле с последним сезоном</td>\n                  \n                </tr>\n                \n          </tbody></table>\n        </div>\n      </div>\nHTML;\n\n\n\n\n?>\n<div class=\"row\">\n	<div class=\"col-md-12\">\n		<div class=\"<?=($config[\'version_id\']>=12)?\"panel\":\"box\"?>\">\n		    <div class=\"<?=($config[\'version_id\']>=12)?\"panel-heading\":\"box-header\"?>\">\n				<ul class=\"nav nav-tabs <?=($config[\'version_id\']>=12)?\"nav-tabs-solid\":\"nav-tabs-left\"?>\">\n					<li class=\"active\">\n						<a href=\"#main\" data-toggle=\"tab\">\n							<i class=\"fa fa-home position-left\"></i> \n							Заголовок и метатеги\n						</a>\n					</li>		\n\n					<li>\n						<a href=\"#xfields\" data-toggle=\"tab\">\n							<i class=\"fa fa-tasks position-left\"></i> \n							Дополнительные поля\n						</a>\n					</li>	\n\n					<li>\n						<a href=\"#cats\" data-toggle=\"tab\">\n							<i class=\"fa fa-tasks position-left\"></i> \n							Категории\n						</a>\n					</li>	\n\n					<li>\n						<a href=\"#tags\" data-toggle=\"tab\">\n							<i class=\"fa fa-pencil-square-o position-left\"></i>\n							Теги\n						</a>\n					</li>	\n          <li>\n            <a href=\"#serial\" data-toggle=\"tab\">\n              <i class=\"fa fa-tv position-left\"></i>\n           Авторазбивка сериалов на страницы с сериями\n            </a>\n          </li> \n          <li>\n            <a href=\"#rebuild\" data-toggle=\"tab\">\n              <i class=\"fa fa-code position-left\"></i>\n              Простановка\n            </a>\n          </li> 			\n				</ul>\n			</div>\n\n			<form id=\"config\">\n	            <div class=\"box-content\">\n	                <div class=\"tab-content\">  	                  \n		                <div class=\"tab-pane active\" id=\"main\">\n				<div class=\"panel-body\">\n					Общие настройки\n				</div>\n	                    	<table class=\"table table-normal\">\n							    <tbody>\n									<?=$main?>\n							    </tbody>\n							</table>							\n	                    </div>\n\n	                    <div class=\"tab-pane\" id=\"xfields\">\n	                    	<table class=\"table table-normal\">\n							    <tbody>\n									<?=$xfields?>\n							    </tbody>\n							</table>							\n	                    </div>\n\n	                    <div class=\"tab-pane\" id=\"cats\">\n	                    	<table class=\"table table-normal\">\n							    <tbody>\n									<?=$cats?>\n							    </tbody>\n							</table>							\n	                    </div>\n\n\n<div class=\"tab-pane\" id=\"serial\">\n  \n  <?=$serial_tab ?>\n            \n</div>\n\n\n	                    <div class=\"tab-pane\" id=\"tags\">\n	                    	<div style=\"padding: 25px;text-align: center;font-size: 14px\">Список тегов для вывода информации в заголовок, метатеги и теги новости. Используйте на вкладке «Заголовок и метатеги».</div>\n	                    	<table class=\"table table-normal\">\n							    <tbody>\n									<?=$tags?>\n							    </tbody>\n							</table>							\n	                    </div>\n\n                      <div class=\"tab-pane\" id=\"rebuild\">\n                        <div class=\"panel-body\">\n                          Простановка данных на уже существующих фильмах.<br>\n                          <b>Внимание:</b> Перед простановкой пожалуйста заполните все предыдущие вкладки и сохраните. А так же настоятельно рекомендуем сделать бекап своей базы данных.<br>\n                          Простановка будет происходить не зависимо от включения автодобавление и автообновления. Заполняться будут только выбраные вами категории и доп поля.\n                        </div>\n                        \n                        <div class=\"panel-body\">\n                          <div class=\"progress\">\n                            <div id=\"progressbar\" class=\"progress-bar progress-blue\" style=\"width:0%;\"><span></span></div>\n                          </div>\n                        </div>\n                        \n                        <div class=\"panel-body\">\n                          Общее количество новостей:&nbsp;<?=$row[\'count\'];?>,&nbsp;обработано:&nbsp;<span class=\"text-danger\"><span id=\"newscount\"><?=$rebuildcount;?></span></span>&nbsp;<span id=\"progress\"></span>\n                        </div>\n                        \n                        <div class=\"panel-footer\">\n                          <a id=\"button\" class=\"btn bg-teal btn-sm btn-raised position-left\"><?if($rebuildcount>0):?>Продолжить простановку<?else:?>Начать простановку<?endif;?></a>\n                          <?if($rebuildcount>0):?><a id=\"start_new\" class=\"btn bg-danger btn-sm btn-raised position-left\">Начать заново</a><?endif;?>\n                        </div>\n                      </div>\n\n	                </div>\n\n	                <div class=\"<?=($config[\'version_id\']>=12)?\"panel-footer\":\"box-footer\"?> padded\">\n                     <input onclick=\"save_config(); return false;\" class=\"btn bg-teal btn-raised legitRipple\" type=\"submit\" value=\"Сохранить настройки\">\n\n                     <button type=\"button\" class=\"btn bg-danger btn-raised legitRipple\" id=\"clear-tbl\">Обновить очередь</button>\n\n                     <input onclick=\"switch_sections(); return false\" class=\"btn <?=($config[\'version_id\']>=12)?\"btn-bluebg-primary-600\":\"btn-blue\"?>\" style=\"float: right;\" type=\"button\" value=\"Ссылка в меню «Сторонние модули» (вкл/выкл)\">\n                   </div>\n	            </div>\n	        </form>\n        </div>\n    </div>\n</div>\n\n<script type=\"text/javascript\">\nfunction save_config() {	\n	$.post(\'<?=$config[\'admin_path\']?>?mod=<?=$mod?>&action=config\', $(\'#config\').serialize(), function(data){ \n		data = JSON.parse(data);\n    Growl.info({\n        title: \'Информация\',\n        text: data.message\n    });\n	});  \n}\n\n$(function(){\n  $(\'#clear-tbl\').click(function() {\n    DLEconfirm(\'Желаете очистить таблицу?\',\'Подтверждение\',function(){\n      $.post(\'\',{action:\'clear\'}, function(d){\n        Growl.info({\n            title: \'Информация\',\n            text: d\n        });\n      });\n    })\n  });\n});\n\nfunction switch_sections() {	\n	$.get(\'<?=$config[\'admin_path\']?>?mod=<?=$mod?>&action=sections\', null, function(data){\n		data = JSON.parse(data);\n		DLEalert( data.message, \'<?=$__name?>\' );\n	});  \n}\n\n$(\'.categoryselect\').chosen({no_results_text: \'Ничего не найдено\'});\n</script>\n\n<script>\nvar total = <?=$row[\'count\'];?>;\nvar startfrom = <?=$startfrom;?>;\nvar rebuildcount = <?=$rebuildcount;?>;\n\nvar proc = Math.round( (100 * rebuildcount) / total );\nif (proc>=100){\n  proc = 100;\n  $(\'#button\').attr(\"disabled\", \"disabled\");\n}\n$(\'#progressbar\').css( \"width\", proc + \'%\' );\n\n$(function() {\n  $(\'#button\').click(function() {\n    $(\"#progress\").ajaxError(function(event, request, settings){\n      $(this).html(\'<?=$lang[\'nl_error\'];?>\');\n      $(\'#button\').attr(\"disabled\", false);\n    });\n    $(\'#progress\').html(\'<?=$lang[\'rebuild_status\'];?>\');\n    $(\'#button\').attr(\"disabled\", \"disabled\");\n    $(\'#button\').val(\"<?=$lang[\'rebuild_forw\'];?>\");\n    senden(startfrom);\n    return false;\n  });\n  \n  $(\'#start_new\').click(function() {\n    $(\'#newscount\').html(0);\n    $(\'#progressbar\').css(\"width\", \'0%\');\n    $(\'#start_new\').hide();\n    $(\"#progress\").ajaxError(function(event, request, settings){\n      $(this).html(\'<?=$lang[\'nl_error\'];?>\');\n      $(\'#button\').attr(\"disabled\", false);\n    });\n    $(\'#progress\').html(\'<?=$lang[\'rebuild_status\'];?>\');\n    $(\'#button\').attr(\"disabled\", \"disabled\");\n    $(\'#button\').val(\"<?=$lang[\'rebuild_forw\'];?>\");\n    senden(0,1);\n    return false;\n  });\n});\n\nfunction senden(startfrom, start_new=0){\n  $.post(\"engine/ajax/controller.php?mod=alloha_rebuild&user_hash=<?=$dle_login_hash;?>\", { startfrom: startfrom, start_new: start_new },\n    function(data){\n      if (data) {\n        if (data.status == \"ok\") {\n          $(\'#newscount\').html(data.rebuildcount);\n          var proc = Math.round( (100 * data.rebuildcount) / total );\n          if ( proc > 100 ) proc = 100;\n          $(\'#progressbar\').css( \"width\", proc + \'%\' );\n              if (data.rebuildcount >= total) {\n                 $(\'#progress\').html(\'<?=$lang[\'rebuild_status_ok\'];?>\');\n              }\n              else { \n                 senden(data.startfrom);\n              }\n        }\n      }\n    }, \"json\").fail(function() {\n      $(\'#progress\').html(\'<?=$lang[\'nl_error\'];?>\');\n      $(\'#button\').attr(\"disabled\", false);\n    });\n  return false;\n}\n</script>\n\n<div style=\"padding: 10px 0px 30px 0px;text-align: center;\">\n  Интернет-магазин <<Всё для вебмастера>>: <a style=\"color: blue\" href=\"https://codescript.ru\" target=\"_blank\">CodeScript.Ru</a>  | Telegram-канал:<a style=\"color: blue\" href=\"https://t.me/codescript_shop\" target=\"_blank\"> @codescript_shop</a>\n</div>\n\n<?php echofooter(); ?>\n  ',1,0,0,1,'',''),(130,4,'engine/inc/addnews.php','after','echo $categoryfilter;','require_once DLEPlugins::Check(ENGINE_DIR . \'/modules/alloha.php\');',1,0,0,1,'',''),(131,4,'engine/inc/addnews.php','after','$id = $db->insert_id();','				$config_mod = unserialize( file_get_contents( ENGINE_DIR . \'/data/alloha.config\' ) );\n				if ( !$config_mod ) $config_mod = array();\n\n				$xf_config = array_map(function($el) {\n				    return str_replace([\'{\', \'}\'], \'\', $el);\n				}, $config_mod[\'xfields\']);\n\n				$xf_config = array_flip($xf_config);\n				$kinopoisk_id = intval($_POST[\'xfield\'][$xf_config[\'kinopoisk_id\']]);\n\n$db->query( \"UPDATE \" . PREFIX . \"_post SET kinopoisk_id=\'$kinopoisk_id\' WHERE id = \'{$id}\'\" );',1,0,0,1,'',''),(132,4,'engine/inc/editnews.php','after','echo $categoryfilter;','require_once DLEPlugins::Check(ENGINE_DIR . \'/modules/alloha.php\');',1,0,0,1,'',''),(133,4,'engine/inc/editnews.php','after','$db->query( \"DELETE FROM \" . PREFIX . \"_xfsearch WHERE news_id = \'{$item_db[0]}\'\" );','				$config_mod = unserialize( file_get_contents( ENGINE_DIR . \'/data/alloha.config\' ) );\n				if ( !$config_mod ) $config_mod = array();\n\n				$xf_config = array_map(function($el) {\n				    return str_replace([\'{\', \'}\'], \'\', $el);\n				}, $config_mod[\'xfields\']);\n\n				$xf_config = array_flip($xf_config);\n				$kinopoisk_id = intval($_POST[\'xfield\'][$xf_config[\'kinopoisk_id\']]);\n\n				$db->query( \"UPDATE \" . PREFIX . \"_post SET kinopoisk_id=\'$kinopoisk_id\' WHERE id = \'{$item_db[0]}\'\" );',1,0,0,1,'',''),(134,4,'engine/modules/alloha.php','create','','<?php\n\nif (version_compare(\'15\', $config[\'version_id\'], \'<=\')) {\n    define(\'DLE15\', true);\n}\n\nini_set(\'display_errors\', 1); \n\nif (defined(\'DLE15\')) {\n    include_once ENGINE_DIR . \'/classes/composer/vendor/autoload.php\';\n}\n\nelse {\n    include_once ENGINE_DIR . \'/classes/thumb.class.php\';\n}\n\n\nrequire_once DLEPlugins::Check(ENGINE_DIR . \'/modules/alloha.func.php\');\n\n$config_mod = unserialize( file_get_contents( ENGINE_DIR . \'/data/alloha.config\' ) );\nif ( !$config_mod ) $config_mod = array(); \n\n$flip_config = array_flip($config_mod[\'xfields\']);\n\n$iframe_xf = $flip_config[\'{iframe_url}\'];\n$trailer_xf = $flip_config[\'{trailer}\'];\n$ads_xf = $flip_config[\'{instream_ads}\'];\n\nif (isset($_POST[\'q_search\']) ) {\n\n    check_license_alloha();\n\n    if ($member_id[\'user_group\']>1) {\n        die(\'{\"error\": \"for admin user only\"}\');\n    }\n\n    $q_search = trim($_POST[\'q_search\']);\n    \n    $in_trailer =0;\n    if(trim($_POST[\'trailer\'])==1) $in_trailer=1;\n    \n    \n\n    if (preg_match(\'/[^0-9]/\', $q_search)) {\n        $search_type = \'by_name\';\n        if($in_trailer){\n			$res = request(\'https://api.apbugall.org/?token=\'.$config_mod[\'api_token\'].\'&list&trailer&name=\'.urlencode($q_search));\n		}\n		else{\n			$res = request(\'https://api.apbugall.org/?token=\'.$config_mod[\'api_token\'].\'&list&name=\'.urlencode($q_search));\n		}\n    } else {\n        $search_type = \'by_kpid\';\n        if($in_trailer){\n			$res = request(\'https://api.apbugall.org/?token=\'.$config_mod[\'api_token\'].\'&trailer&kp=\'.intval($q_search));\n		}else{\n			$res = request(\'https://api.apbugall.org/?token=\'.$config_mod[\'api_token\'].\'&kp=\'.intval($q_search));\n		}\n	}\n\n\n    $res = json_decode($res, true);\n\n    if(!count($res[\'data\'])) die(\'{\"error\": \"нет результатов\"}\');\n\n    if($res[\'status\']==\'error\') die(\'{\"error\": \"\'.$res[\'error_info\'].\'\"}\');\n\n    if ($search_type==\'by_kpid\') {\n        $res[\'data\'] = [$res[\'data\']];\n    }\n\n    foreach ($res[\'data\'] as $value) {\n        $src = $value[\'poster\'] ? $value[\'poster\'] : \'data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=\';\n        $data[] = \'<div class=\"alloha_item\" data-id=\"\'.$value[\'id_kp\'].\'\" data-trailer=\"\'.$in_trailer.\'\"><div class=\"aone\"><img src=\"\'.$value[\'poster\'].\'\"></div><div class=\"atwo\"><span class=\"kp-id\" title=\"kinopoisk id\"><b>КП: </b>\'.$value[\'id_kp\'].\'</span> <div class=\"title\" title=\"Жми чтобы спарсить\">\'.$value[\'name\'].\'</div><div class=\"title_origin\">\'.$value[\'original_name\'].\'</div></div></div>\';\n    }\n\n    echo json_encode([\"ok\" => true, \"result\" => implode(\"\\n\", $data)]);\n\n    exit();\n\n}\n\n\n\nif ($_POST[\'action\']==\'update\') {\n\n    check_license_alloha();\n	\n	$reqUrl = \'https://api.apbugall.org/?token=\'.$config_mod[\'api_token\'].\'&kp=\'.intval($_POST[\'id_kp\']);\n	\n    $type = $_POST[\'type\'];\n	\n	if($type==\'trailer\') {\n		$reqUrl = \'https://api.apbugall.org/?token=\'.$config_mod[\'api_token\'].\'&trailer&kp=\'.intval($_POST[\'id_kp\']);\n	}\n	\n	$res = request($reqUrl);\n    $res = json_decode($res, true);\n	\n	if(!count($res[\'data\'])) die(\'{\"error\": \"нет результатов\"}\');\n\n    if ($type==\'iframe\' and $res[\'data\'][\'iframe\']) {\n        die(\'{\"ok\": \"\'.$res[\'data\'][\'iframe\'].\'\"}\'); \n    } elseif ($type==\'trailer\' and $res[\'data\'][\'iframe\']) {\n        die(\'{\"ok\": \"\'.$res[\'data\'][\'iframe\'].\'\"}\');    \n    } else {\n        die(\'{\"error\": \"нет iframe\"}\');\n    }\n\n\n}\n\n\n\n\n\nif ($_POST[\'action\']==\'parse\') {\n\n    check_license_alloha();\n    \n    $in_trailer =0;\n    if($_POST[\'trailer\']==1) $in_trailer=1;\n    if (!empty($_POST[\'id_kp\'])) {\n		\n		if($in_trailer){ \n			$res = request(\'https://api.apbugall.org/?token=\'.$config_mod[\'api_token\'].\'&trailer&kp=\'.intval($_POST[\'id_kp\']));\n		}\n		else{\n			$res = request(\'https://api.apbugall.org/?token=\'.$config_mod[\'api_token\'].\'&kp=\'.intval($_POST[\'id_kp\']));\n	    }		\n    } else {\n        $res = request(\'https://api.apbugall.org/?token=\'.$config_mod[\'api_token\'].\'&name=\'.urlencode($_POST[\'name\']));\n    }\n\n\n    $res = json_decode($res, true);\n   \n    if(!count($res[\'data\'])) die(\'{\"error\": \"нет результатов2 - \'.$kl.\' трейлер - \'.$_POST[\'id_kp\'].\'\"}\');\n\n    if($res[\'status\']==\'error\') die(\'{\"error\": \"\'.$res[\'error_info\'].\'\"}\');\n\n    $res = $res[\'data\'];\n\n    $res[\'country\'] = str_replace(\', \', \',\', $res[\'country\']);  \n    $res[\'genre\'] = str_replace(\', \', \',\', $res[\'genre\']);  \n\n\n    if( ($premiere = strtotime($res[\'premiere\']))!==false && $res[\'premiere\'] ){\n        $res[\'premiere\'] = date(\'j\', $premiere).\' \'.$langdate[date(\'F\', $premiere)].\' \'.date(\'Y\', $premiere);\n    }\n    if( ($premiere_ru = strtotime($res[\'premiere_ru\']))!==false && $res[\'premiere_ru\'] ){\n        $res[\'premiere_ru\'] = date(\'j\', $premiere_ru).\' \'.$langdate[date(\'F\', $premiere_ru)].\' \'.date(\'Y\', $premiere_ru);\n    }\n\n    $request = [];\n\n    $is_serial = false;\n\n    $news_id = intval($_POST[\'news_id\']);\n    $author = isset($_POST[\'author\']) ? $_POST[\'author\'] : $member_id[\'name\'];\n    $author = $db->safesql($author);\n\n    $old_poster = !empty($_POST[\'poster\']) ? $_POST[\'poster\'] : \'\';\n\n    $news_id && alloha_mass_series($news_id, $res);\n\n    if($res[\'seasons_count\']){\n\n        $request[\'last_season\'] = $res[\'seasons_count\'];\n        $request[\'last_episode\'] = $res[\'last_episode\'];\n\n        $episodes = array_shift($res[\'seasons\']);\n        $episodes = count($episodes[\'episodes\']);\n        $request[\'episode_count\'] = $episodes;\n\n        $request[\'last_translate\'] = trim( @array_shift(explode(\',\', $res[\'translation\'])) );\n\n        $is_serial = true;\n    }\n\n    $ex_genres = array();\n\n    if ($res[\'category\']==\'2\' && mb_stripos($res[\'genre\'], \'мультфильм\')===false) {\n        $ex_genres[] = \"сериал\"; $request[\'video_type\'] = \'сериал\';\n        if (!$config_mod[\'add_serial\']) {\n            die(\'{\"error\": \"not allowed serial\"}\');\n        }\n    }\n\n    if ($res[\'category\']==\'1\' && mb_stripos($res[\'genre\'], \'мультфильм\')===false) {\n        $ex_genres[] = \"фильм\"; $request[\'video_type\'] = \'фильм\';\n        if (!$config_mod[\'add_film\']) {\n            die(\'{\"error\": \"not allowed film\"}\');\n        }\n    }\n\n    if ($res[\'category\']==\'5\') {\n        $ex_genres[] = \"тв шоу\"; $request[\'video_type\'] = \'тв шоу\';\n    }\n\n    if (mb_stripos($res[\'genre\'], \'мультфильм\')!==false) {\n        if ($is_serial) {\n            $request[\'video_type\'] = \"мультсериал\";\n            $ex_genres[] = \"мультсериал\";\n\n            if (!$config_mod[\'add_multserial\'] && !$config_mod[\'add_animeserial\']) {\n                die(\'{\"error\": \"not allowed multserial\"}\');\n            }\n\n        } else {\n            $request[\'video_type\'] = \'мультфильм\';\n            $ex_genres[] = \"мультфильм\";\n\n            if (!$config_mod[\'add_multfilm\'] && !$config_mod[\'add_anime\']) {\n                die(\'{\"error\": \"not allowed multfilm\"}\');\n            }\n\n        }\n    }\n\n    if (mb_stripos($res[\'country\'], \'россия\')===false && mb_stripos($res[\'country\'], \'ссср\')===false) {\n        $ex_genres[] = \"зарубежный\";\n    }\n\n// Предполагая, что $res[\'uhd\'] содержит значение \"true\"\nif ($res[\'uhd\'] === true) {\n    $ex_genres[] = \'4K\';\n}\n\n    if ($res[\'category\']==\'4\') {\n        $ex_genres[] = \"аниме сериал\"; $request[\'video_type\'] = \'аниме сериал\';\n    }\n\n    if ($res[\'category\']==\'3\') {\n        $ex_genres[] = \"аниме\"; $request[\'video_type\'] = \'аниме\';\n    }\n\n\n    $genres = fixGenres(explode(\',\', $res[\'genre\']));\n\n\n    $inter = array_merge($ex_genres, $genres, explode(\',\', $res[\'country\']), array($res[\'year\']));\n\n    if ($request[\'video_type\'] == \'мультсериал\') {\n        $inter = array_diff($inter, [\'мультфильм\']);\n    }\n\n    if ($res[\'category\']==\'3\') {\n        $inter = array_diff($inter, [\'зарубежный\', \'мультфильм\']);\n    }\n\n    if ($res[\'category\']==\'4\') {\n        $inter = array_diff($inter, [\'зарубежный\', \'мультсериал\', \'мультфильм\', \'аниме\']);\n    }\n\n\n    $cats=array();\n               \n     foreach ($config_mod[\'category\'] as $cat_id => $values) {\n    $f = true;\n\n    foreach ($values as $value) {\n        if ( !in_array($value, $inter) ) {\n            $f = false;\n            break;\n        }\n    }\n\n    if ( $f ) $cats[] = $cat_id;\n}\n               \n\n    if ($config_mod[\'max_actors\']) {\n        $res[\'actors\'] = explode(\',\', $res[\'actors\']);\n        $res[\'actors\'] = array_slice($res[\'actors\'], 0, intval($config_mod[\'max_actors\']));\n        $res[\'actors\'] = implode(\',\', $res[\'actors\']);\n    }\n\n    if ($config_mod[\'max_directors\']) {\n        $res[\'directors\'] = explode(\',\', $res[\'directors\']);\n        $res[\'directors\'] = array_slice($res[\'directors\'], 0, intval($config_mod[\'max_directors\']));\n        $res[\'directors\'] = implode(\',\', $res[\'directors\']);\n    }\n\n    $res[\'genre\'] = preg_replace_callback(\'/,([^,]|\\s+)/u\', function($m){\n        return \',\'.(strpos(\' \', $m[1]) ? \' \' : \' \'.$m[1]);\n    }, $res[\'genre\']);\n\n    $res[\'country\'] = preg_replace_callback(\'/,([^,]|\\s+)/u\', function($m){\n        return \',\'.(strpos(\' \', $m[1]) ? \' \' : \' \'.$m[1]);\n    }, $res[\'country\']);\n\n    $config_mod[\'category\'] = implode(\",\", $cats);\n\n    $request[\'title_ru\']      = $res[\'name\'];\n    $request[\'title_en\']      = $res[\'original_name\'];\n    $request[\'title_alt\']     = $res[\'alternative_name\'];\n    $request[\'token_movie\']  = $res[\'token_movie\'];\n    $request[\'year\']          = $res[\'year\'];\n    $request[\'description\']   = html_entity_decode($res[\'description\'], ENT_HTML5);\n    $request[\'countries\']     = $res[\'country\'];\n    $request[\'genres\']        = $res[\'genre\'];\n    $request[\'actors\']        = $res[\'actors\'];\n    $request[\'iframe_url\']    = $res[\'iframe\'];\n    $request[\'quality\']       = $res[\'quality\'];\n    $request[\'slogan\']        = $res[\'tagline\'];\n    $request[\'directors\']     = $res[\'directors\'];\n    $request[\'producer\']      = $res[\'producers\'];\n    $request[\'translator\']    = $res[\'translation\'];\n    $request[\'trailer\']       = $res[\'iframe_trailer\'];\n\n    $request[\'premiere_ru\']    = $res[\'premiere_ru\'];\n    $request[\'premiere_world\'] = $res[\'premiere\'];\n\n    $request[\'rating_kp\']        = $res[\'rating_kp\'];\n    $request[\'rating_imdb\']      = $res[\'rating_imdb\'];\n    $request[\'rating_world_art\'] = $res[\'world_art\'];\n    $request[\'rate_mpaa\']        = $res[\'rating_mpaa\'];\n\n    $request[\'kinopoisk_id\']     = $res[\'id_kp\'];\n    $request[\'imdb_id\']          = $res[\'id_imdb\'];\n    $request[\'tmdb_id\']          = $res[\'id_tmdb\'];\n    $request[\'world_art_id\']     = $res[\'id_world_art\'];\n\n    $request[\'age\']          = $res[\'age_restrictions\'];\n    $request[\'time\']         = $res[\'time\'];\n    $request[\'instream_ads\'] = ($res[\'ads\']==\'\') ? \'\' : 1;\n\n    if($request[\'title_en\']==$request[\'title_ru\']) $request[\'title_en\']=\'\';\n\n    if ($config_mod[\'upload_poster\']) {\n        $poster_file = $_POST[\'id_kp\'].\'_\'.time();\n        $poster = request($res[\'poster\'], ROOT_DIR . \"/uploads/posts/\" . FOLDER_PREFIX.\'/\' .$poster_file);\n        if($poster){\n\n            if ($config_mod[\'poster_size\']) {\n\n                $t_seite = intval($config[\'t_seite\']);\n                $t_size = $config_mod[\'poster_size\'];\n\n                $thumb = new thumbnail( $poster );\n\n                if( $thumb->size_auto( $t_size, $t_seite ) ) {\n                                    \n                   /*$thumb->jpeg_quality( $config[\'jpeg_quality\'] );\n                    \n                    $thumb->save( $poster );\n                    \n                    @chmod( $poster, 0666 );*/\n\n                    /**\n                     * Dle 15\n                     */\n\n                    if (defined(\'DLE15\')) {\n\n                       $newFile = $thumb->save(str_replace(ROOT_DIR.\"/uploads/\" , \'\', $poster));\n\n                       $poster = ROOT_DIR . \"/uploads/posts/\" . FOLDER_PREFIX . \'/\' . $newFile;\n                    }\n                    else {\n                        $thumb->jpeg_quality( $config[\'jpeg_quality\'] );\n                                            \n                        $thumb->save( $poster );\n                    }\n\n\n\n                    @chmod( $poster, 0666 );\n\n                    /**************/\n                    \n\n                }\n\n            }\n\n            $request[\'poster\'] = str_replace(ROOT_DIR.\'/\' , $config[\'http_home_url\'], $poster);\n            $poster = str_replace(ROOT_DIR.\"/uploads/posts/\" , \'\', $poster);\n        }\n    } else {\n        $request[\'poster\'] = $res[\'poster\'];\n    }\n\n\n\n    $request[\'episode_plus\'] = $res[\'last_episode\']+intval($config_mod[\'plus\']);\n    $request[\'seasone_plus\'] = $res[\'seasons_count\']+intval($config_mod[\'plus\']);\n\n    $request[\'episode_type_1\'] = formatize_alloha($res[\'last_episode\'], 4);\n    $request[\'episode_type_2\'] = formatize_alloha($res[\'last_episode\'], 5);\n    $request[\'episode_type_3\'] = formatize_alloha($res[\'last_episode\'], 6);\n    $request[\'episode_type_4\'] = formatize_alloha($res[\'last_episode\'], 7);\n    $request[\'episode_type_5\'] = formatize_alloha($res[\'last_episode\'], 8);\n\n    $request[\'season_type_1\'] = formatize_alloha($res[\'seasons_count\'], 1);\n    $request[\'season_type_2\'] = formatize_alloha($res[\'seasons_count\'], 2);\n    $request[\'season_type_3\'] = formatize_alloha($res[\'seasons_count\'], 3);\n\n    $es_type = [\'episode_plus\', \'seasone_plus\', \'episode_type_1\', \'episode_type_2\', \'episode_type_3\', \'episode_type_4\', \'episode_type_5\', \'season_type_1\', \'season_type_2\', \'season_type_3\'];\n\n    \n\n    foreach ($es_type as $key => $value) {\n        if (!$is_serial){\n            $request[$value] = \'\';\n        }\n    }\n\n\n\n\n    $images_row = $db->super_query( \"SELECT * FROM \" . PREFIX . \"_images WHERE news_id=\'$news_id\' AND author=\'$author\'\" );\n\n    if ($old_poster && preg_match(\'#/uploads/posts/(\\d{4}-\\d{2}/[^/]+)#i\', $old_poster, $find)) {\n        if ($images_row) {\n            @unlink(ROOT_DIR.\'/uploads/posts/\'.$find[1]);\n            $new_images = preg_replace(\'#((^|\\|\\|\\|)?\'.$find[1].\'($|\\|\\|\\|))#\', \'\', $images_row[\'images\']);\n            $new_images = $poster ? ($new_images ? $new_images.\'|||\'.$poster : $poster) : $new_images ;\n            $db->query( \"UPDATE \" . PREFIX . \"_images SET images=\'$new_images\' WHERE id=\'{$images_row[\'id\']}\'\" );\n        }\n        \n    }\n\n\n    if($poster && !$images_row){\n        $db->query( \"INSERT INTO \" . PREFIX . \"_images (images,news_id,author,date) VALUES(\'{$poster}\',\'$news_id\',\'\".$author.\"\',\'{$_TIME}\')\" );\n    }\n\n    $compile = template($config_mod, $request);\n\n    if (!empty($config_mod[\'metatitle\'])) {\n        $compile[\'meta_title\'] = preg_replace(\'/\\s{2,}/\', \' \',  $compile[\'metatitle\']);\n    }\n  \n    unset($compile[\'api_token\'], $compile[\'allow_year\']);\n    unset($compile[\'metatitle\'], $compile[\'lickey\'],$compile[\'api_token\']);\n\n    echo json_encode([\'ok\' => true, \'result\' => $compile]);\n\n    exit();\n}\n\n\n?>\n\n\n\n\n<script type=\"text/javascript\">\n$(function(){\n    var regexp = /id=(\\d+)/;\n    var href = window.location.href;\n    var news_id = regexp.test(href) ? href.match(regexp)[1] : 0;\n    var author = $(\"input[name=\'old_author\']\").val();\n    var ads_xf = \'<?php echo $ads_xf; ?>\';\n    var iframe_xf = \'<?php echo $iframe_xf; ?>\';\n    var trailer_xf = \'<?php echo $trailer_xf; ?>\';\n    var trailer_humb=0;\n    $(\'#related_news\').before(\'<div id=\"parser_btns\"></div>\');\n    $(\'#parser_btns\').append(\'<button id=\"parse_start\" class=\"btn btn-green btn-sm btn-raised legitRipple bg-info-800\">Искать в базе alloha</button>&nbsp;\');\n  $(\'#parser_btns\').append(\'<button id=\"parse_trailer\" class=\"btn btn-green btn-sm btn-raised legitRipple bg-info-800\">Искать трейлеры</button>&nbsp;\');\n    $(\'#xf_\'+iframe_xf).after(\'<br><button data-type=\"iframe\" type=\"button\" class=\"upd-iframe btn bg-slate-600 btn-sm btn-raised position-left legitRipple\">Обновить плеер alloha</button>\');\n   $(\'#xf_\'+trailer_xf).after(\'<br><button data-type=\"trailer\" type=\"button\" class=\"upd-iframe btn bg-slate-600 btn-sm btn-raised position-left legitRipple\">Обновить трейлер alloha</button>\');\n   \n   //Humbert\n   $(document).on(\"click\", \"#parse_trailer\", function(){\n	    trailer_humb=1;\n        var btn = $(this);\n        btn.attr(\"disabled\", \"disabled\").text(\'Ждем...\');\n        var q_search = $(\'#title\').val();\n        $.post(\"?mod=alloha\", {trailer:1, q_search:q_search,news_id:news_id,author:author}, function(data){\n            if(data.error) {\n                Growl.info({\n                    title: \'Информация по трейлерам\',\n                    text: data.error\n                });\n            }\n            if(data.ok){\n                $(\"#alloha_results\").remove();\n                $(\"body\").append(\"<div id=\'alloha_results\' title=\'Результаты поиска по трейлерам\' style=\'display:none\'>\"+data.result+\"</div>\");\n                var b = {};\n                b[\"Закрыть\"] = function() {\n                    $(this).dialog(\"close\")\n                };\n                $(\"#alloha_results\").dialog({\n                    autoOpen: 1,\n                    width: 600,\n                    height: 400,\n                    resizable: !1,\n                    buttons: b\n                });                \n            }\n            btn.removeAttr(\"disabled\").text(\'Искать трейлеры\');\n        },\"json\");\n        return false;\n    })\n    \n    $(document).on(\"click\", \"#parse_start\", function(){\n        var btn = $(this);\n        trailer_humb=0;\n        btn.attr(\"disabled\", \"disabled\").text(\'Ждем...\');\n        var q_search = $(\'#title\').val();\n        $.post(\"?mod=alloha\", {q_search:q_search,news_id:news_id,author:author}, function(data){\n            if(data.error) {\n                Growl.info({\n                    title: \'Информация\',\n                    text: data.error\n                });\n            }\n            if(data.ok){\n                $(\"#alloha_results\").remove();\n                $(\"body\").append(\"<div id=\'alloha_results\' title=\'Результаты поиска\' style=\'display:none\'>\"+data.result+\"</div>\");\n                var b = {};\n                b[\"Закрыть\"] = function() {\n                    $(this).dialog(\"close\")\n                };\n                $(\"#alloha_results\").dialog({\n                    autoOpen: 1,\n                    width: 600,\n                    height: 400,\n                    resizable: !1,\n                    buttons: b\n                });                \n            }\n            btn.removeAttr(\"disabled\").text(\'Искать в базе alloha\');\n        },\"json\");\n        return false;\n    })\n    .on(\"click\", \".alloha_item\", function(){\n        $(\"#alloha_results\").remove();\n        var t = $(this), id_kp = t.data(\'id\'), name = t.find(\'.title\').text(), poster = $(\'xf_poster\').val() || $(\'[name=\"xfield[poster]\"]\').val();\n        $.post(\"?mod=alloha\", {trailer: trailer_humb, action: \'parse\', id_kp: id_kp, name:name, news_id:news_id,author:author, poster:poster}, function(data){\n            if(data.error) {\n                Growl.info({\n                    title: \'Информация\',\n                    text: data.error\n                });\n            }\n            if(data.result){\n				\n                $.each(data.result, function(key,val) {\n                    $(\'[name=\"\'+key+\'\"]\').val(val);\n                    \n                    if($.inArray(key, [\'tags\', \'keywords\'] )>-1) {\n                        $(\'[name=\"\'+key+\'\"]\').tokenfield(\'setTokens\', val);\n                    }\n                    if($(\'#\'+key).attr(\'data-rel\')==\'links\'){\n                        $(\'#\'+key).tokenfield(\'setTokens\', val);\n                    }\n                    if ( key == \"short_story\" || key == \"full_story\" ) {\n                        if (typeof $.fn.froalaEditor != \'undefined\') {\n                            $(\'#\' + key).froalaEditor(\'html.set\', val);\n                        } else $(\'#\' + key);\n                    }\n                });\n                $.each(data.result[\'xfields\'], function(key,val) {\n                    if($(\'#xf_\'+key).attr(\'data-rel\')==\'links\'){\n                        $(\'#xf_\'+key).tokenfield(\'setTokens\', val);\n                    } else {\n                        $(\'#xf_\'+key).val(val)\n                    }\n                });\n                var cats = data.result[\'category\'].split(\',\');\n                var opt = $(\'#category option\');\n                opt.each(function(indx, element){\n                    $(this).removeAttr(\'selected\');\n                });\n                for (var i = 0; i < cats.length; i++) {\n                    opt.each(function(indx, element){\n                        var o = $(this).val();\n                        if ( $.trim(o) == $.trim(cats[i] ) ) {$(this).prop(\"selected\", true);}\n                    });\n                }\n                $(\'#category\').trigger(\"chosen:updated\");\n                if (!ads_xf) return;\n                var ads = $(\'[name=\"xfield[\'+ads_xf+\']\"]\'), is_ads = ads.prop(\'checked\');  \n                if (data.result[\'xfields\'][ads_xf] == \'1\') {\n                    if (!is_ads) ads.trigger(\'click\');\n                } else {\n                    if (is_ads) ads.trigger(\'click\');\n                }\n            }\n        },\"json\");\n        return false;\n    })\n    .on(\"click\", \".upd-iframe\", function(){\n        var id_kp = $(\'#xf_kinopoisk_id\').val();\n\n        if (!id_kp) {\n            Growl.error({\n                title: \'Error\',\n                text: \'Нужен kinopoisk id\'\n            });\n            return;\n        }\n        var t = $(this); t.attr(\"disabled\", \"disabled\").text(\'Ждем...\');\n\n        var type = t.data(\'type\');\n\n        $.post(\'?mod=alloha\',{action:\'update\', type:type, id_kp:id_kp}, function(d){\n            if (d.ok) {\n                t.parent().find(\'input\').val(d.ok)\n            } else {\n                Growl.error({\n                    title: \'Error\',\n                    text: d.error\n                });\n            }\n            t.removeAttr(\"disabled\").text(type==\'iframe\' ? \'Обновить плеер\' : \'Обновить трейлер\');\n        }, \'json\');\n    })\n});\n</script>\n\n\n<style>\n.atwo {\n    padding-left: 10px;\n    flex-grow: 1;\n    position: relative;\n}\n.title_origin {\n    font-size: 13px;\n    color: #7c7f8a;\n}\n.alloha_item .kp-id {\n    font-size: 12px;\n    color: cadetblue;\n    display: inline-block;\n    position: absolute;\n    right: 0;\n    bottom: 0;\n}\n#alloha_results {\n    counter-reset: li;\n}\n.alloha_item {\n    display: flex;\n    cursor: pointer;\n    font-size: 15px;\n    margin-bottom: 4px;\n    text-overflow: ellipsis;\n    overflow: hidden;\n    white-space: nowrap;\n    background: #f7f7f7;\n    padding: 6px 6px;\n    border-radius: 5px;\n}\n.alloha_item:hover {\n    color: yellowgreen;\n}\n.alloha_item img {\n    width: 90px;\n    height: 130px;\n    object-fit: cover;\n}\n.alloha_item:before {\n    content: counter(li);\n    display: inline-block;\n    height: 28px;\n    width: 28px;\n    border: 3px solid yellowgreen;\n    margin-right: 8px;\n    counter-increment: li;\n    text-align: center;\n    border-radius: 20px;\n    line-height: 1.7;\n    font-size: 12px;\n}\n</style>\n',1,0,0,1,'',''),(135,4,'engine/modules/alloha.func.php','create','','<?php\n  \n$serial_statuses = [\n    \'offline\' => \'Завершен/закрыт\',\n    \'online\' => \'Идёт показ\',\n    \'paused\' => \'Приостановлен\',\n    \'pending\' => \'В ожидании\',\n];  \n\n\n$all_translate = [\n    \'1\' => \'2x2\',\n    \'2\' => \'Agatha Studdio\',\n    \'3\' => \'Alexfilm\',\n    \'4\' => \'AlFair Studio\',\n    \'5\' => \'Alt Pro\',\n    \'6\' => \'AMS\',\n    \'7\' => \'Amedia\',\n    \'8\' => \'Ancord\',\n    \'9\' => \'AniDUB\',\n    \'10\' => \'Anilibria\',\n    \'11\' => \'AXN Sci-fi\',\n    \'12\' => \'BaibaKo\',\n    \'13\' => \'Coldfilm\',\n    \'14\' => \'CTC\',\n    \'15\' => \'datynet\',\n    \'16\' => \'den904\',\n    \'17\' => \'Discovery\',\n    \'18\' => \'Diva Universal\',\n    \'19\' => \'DreamRecords\',\n    \'20\' => \'Filiza Studio\',\n    \'21\' => \'Flux-Team\',\n    \'22\' => \'Fox\',\n    \'23\' => \'F-TRAIN\',\n    \'24\' => \'Gears Media\',\n    \'25\' => \'GladiolusTV\',\n    \'26\' => \'GREEN TEA\',\n    \'27\' => \'HamsterStudio \',\n    \'28\' => \'HTB\',\n    \'29\' => \'IdeaFilm\',\n    \'30\' => \'Jaskier\',\n    \'31\' => \'Jetvis Studio\',\n    \'32\' => \'Jimmy J.\',\n    \'33\' => \'Lord32x\',\n    \'34\' => \'LostFilm\',\n    \'35\' => \'Lw13pro\',\n    \'36\' => \'MC Entertainment\',\n    \'38\' => \'Narkom Pro\',\n    \'39\' => \'Newstudio\',\n    \'40\' => \'Nice-Media\',\n    \'41\' => \'Novafilm\',\n    \'42\' => \'Novamedia\',\n    \'43\' => \'Ozz\',\n    \'44\' => \'Paramount Comedy\',\n    \'45\' => \'PashaUp\',\n    \'46\' => \'Prichudiki\',\n    \'47\' => \'ProjektorShow\',\n    \'48\' => \'R.A.I.M\',\n    \'49\' => \'SET Russia\',\n    \'50\' => \'Sony Sci-Fi\',\n    \'51\' => \'Sony Turbo\',\n    \'52\' => \'To4ka\',\n    \'53\' => \'Tycoon\',\n    \'54\' => \'Universal Russia\',\n    \'55\' => \'Victory-Films\',\n    \'56\' => \'ViruseProject\',\n    \'57\' => \'VO-production\',\n    \'58\' => \'xaros\',\n    \'59\' => \'xixidok\',\n    \'60\' => \'Zamez\',\n    \'61\' => \'АРК ТВ\',\n    \'62\' => \'Гаврилов\',\n    \'63\' => \'Гоблин\',\n    \'64\' => \'Дасевич\',\n    \'65\' => \'Двухголосый закадровый\',\n    \'66\' => \'Дублированный\',\n    \'67\' => \'Есарев\',\n    \'68\' => \'Живов\',\n    \'69\' => \'Кубик в Кубе\',\n    \'70\' => \'Кураж-бамбей\',\n    \'71\' => \'Матвеев\',\n    \'72\' => \'Многоголосый закадровый\',\n    \'73\' => \'Невафильм\',\n    \'74\' => \'Несмертельное оружие\',\n    \'75\' => \'Одноголосый закадровый\',\n    \'76\' => \'Первый канал\',\n    \'77\' => \'Сербин\',\n    \'78\' => \'Студия Райдо\',\n    \'79\' => \'Субтитры\',\n    \'80\' => \'Сыендук\',\n    \'81\' => \'Шадинский\',\n    \'82\' => \'Не требуется\',\n    \'83\' => \'Пифагор\',\n    \'84\' => \'Синема УС\',\n    \'85\' => \'HDrezka Studio\',\n    \'86\' => \'MuzoBoz\',\n    \'87\' => \'Профессиональный многоголосый\',\n    \'88\' => \'Любительский двухголосый\',\n    \'89\' => \'Любительский\',\n    \'90\' => \'Дублированный (звук с TS)\',\n    \'91\' => \'Двухголосый (звук с TS)\',\n    \'92\' => \'Не требуется (звук с TS)\',\n    \'93\' => \'Оригинальная\',\n    \'94\' => \'KiraiMedia\',\n    \'95\' => \'Студийная банда\',\n    \'96\' => \'TVShows\',\n    \'98\' => \'Studio Films\',\n    \'99\' => \'VSI Moscow\',\n    \'100\' => \'RG.Paravozik\',\n    \'101\' => \'Кириллица\',\n    \'102\' => \'СВ-Дубль\',\n    \'103\' => \'Любительский одноголосый\',\n    \'104\' => \'1001 Cinema\',\n    \'105\' => \'MTV\',\n    \'106\' => \'Кравец\',\n    \'107\' => \'OMSKBIRD records\',\n    \'109\' => \'SDI Media\',\n    \'110\' => \'NewStation\',\n    \'111\' => \'Finargot\',\n    \'112\' => \'Good People\',\n    \'114\' => \'FocusStudio\',\n    \'115\' => \'Т.О Друзей\',\n    \'116\' => \'Эй Би Видео\',\n    \'117\' => \'SunShine Studio\',\n    \'118\' => \'Pazl Voice\',\n    \'120\' => \'GoldTeam\',\n    \'121\' => \'Профессиональный двухголосый\',\n    \'122\' => \'KerobTV\',\n    \'123\' => \'Любительский многоголосый\',\n    \'124\' => \'Octopus\',\n    \'125\' => \'Crazy Cat\',\n    \'126\' => \'SoftBox\',\n    \'127\' => \'Levelin\',\n    \'128\' => \'JAM\',\n    \'129\' => \'Кубик в Кубе & Ко\',\n    \'130\' => \'MoyGolos\',\n    \'131\' => \'Киреев\',\n    \'132\' => \'Чадов\',\n    \'133\' => \'Гланц и Королёва\',\n    \'134\' => \'ТВ3\',\n    \'135\' => \'Гоблин (Кинотеатр)\',\n    \'136\' => \'Гоблин - цензура\',\n    \'137\' => \'DoubleRec\',\n    \'138\' => \'Рен-ТВ\',\n    \'139\' => \'FanStudio\',\n    \'140\' => \'Zone Vision\',\n    \'141\' => \'Honey&Haseena\',\n    \'143\' => \'Гоблин ПП\',\n    \'144\' => \'Zee TV\',\n    \'146\' => \'ShowJet\',\n    \'147\' => \'Greb&Creative\',\n    \'148\' => \'Профессиональный многоголосый (звук с TS)\',\n    \'149\' => \'Россия 2\',\n    \'150\' => \'KosharaSerials\',\n    \'151\' => \'WestFilm\',\n    \'152\' => \'WVoice\',\n    \'153\' => \'Колобок\',\n    \'154\' => \'Украинский\',\n    \'155\' => \'Amber\',\n    \'156\' => \'Kansai\',\n    \'157\' => \'Akari Group\',\n    \'158\' => \'AniStar\',\n    \'159\' => \'HardSub\',\n    \'160\' => \'Erai-raws\',\n    \'161\' => \'JekaSub\',\n    \'162\' => \'Rezan & Linok\',\n    \'163\' => \'AniMaunt\',\n    \'164\' => \'AniMedia\',\n    \'165\' => \'Anything Group\',\n    \'166\' => \'Onibaku\',\n    \'167\' => \'SHIZA Project\',\n    \'168\' => \'Flarrow Films\',\n    \'169\' => \'SoundFilm\',\n    \'170\' => \'SDI Moscow\',\n    \'171\' => \'ТВЦ\',\n    \'173\' => \'Рыбов & Трындяйкина\',\n    \'174\' => \'Red Media\',\n    \'175\' => \'Selena\',\n    \'176\' => \'ICG\',\n    \'177\' => \'OnisFilms\',\n    \'178\' => \'AniFilm\',\n    \'179\' => \'ДТВ\',\n    \'180\' => \'CBS Drama\',\n    \'181\' => \'AnimeVos\',\n    \'182\' => \'Lucky Production\',\n    \'183\' => \'субтитры СоветРомантики\',\n    \'184\' => \'STEPonee\',\n    \'185\' => \'LovelyVox\',\n    \'186\' => \'Позитив\',\n    \'187\' => \'NewComers\',\n    \'188\' => \'Дохалов\',\n    \'189\' => \'SDIncorporation\',\n    \'190\' => \'Мобильное телевидение\',\n    \'191\' => \'Инис\',\n    \'192\' => \'Ultradox\',\n    \'193\' => \'Сrunchyroll\',\n    \'194\' => \'Rumble\',\n    \'195\' => \'Persona99\',\n    \'196\' => \'XDub Dorama\',\n    \'197\' => \'Amazing Dubbing\',\n    \'198\' => \'HighHopes\',\n    \'199\' => \'Храм Дорам\',\n];\n\n\nif (!function_exists(\'xfieldsdatasave\')) {\n    function xfieldsdatasave($xfields) {\n        $filecontents = [];\n        foreach ($xfields as $xfielddataname => $xfielddatavalue) {\n            if ($xfielddatavalue === \'\') continue;\n            $xfielddataname = str_replace( \"|\", \"&#124;\", $xfielddataname);\n            $xfielddataname = str_replace( \"\\r\\n\", \"__NEWL__\", $xfielddataname);\n            $xfielddatavalue = str_replace( \"|\", \"&#124;\", $xfielddatavalue);\n            $xfielddatavalue = str_replace( \"\\r\\n\", \"__NEWL__\", $xfielddatavalue);\n            $filecontents[] = \"$xfielddataname|$xfielddatavalue\";\n        }\n        $filecontents = join(\'||\', $filecontents );\n        return $filecontents;\n    }\n}\n\nif (!function_exists(\'xfcompile\')) {\n    function xfcompile( $in ) {\n        if ( $in == \"\" ) return $in;\n\n        foreach ( $in as $name => $value ) {\n            if ( trim($name) == \"\" || trim($value) == \"\" ) continue;\n\n            $name = str_replace( \"|\", \"&#124;\", $name );\n            $name = str_replace( \"\\r\\n\", \"__NEWL__\", $name );\n            $value = str_replace( \"|\", \"&#124;\", $value );\n            $value = str_replace( \"\\r\\n\", \"__NEWL__\", $value );\n\n            $out[] = \"{$name}|{$value}\";\n        }\n\n        return implode(\"||\", $out);\n    }\n}\n\n\nif (!function_exists(\'CheckDir\')) {\n    function CheckDir($dir){\n        if( !is_dir( $dir ) ) {\n            @mkdir( $dir, 0777 );\n            @chmod( $dir, 0777 );\n        }\n    }\n}\n\nif (!function_exists(\'request\')) {\n    function request($url, $file = false){\n        $ch = curl_init();\n        curl_setopt($ch, CURLOPT_URL,$url);\n        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);\n        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60 );\n        curl_setopt($ch, CURLOPT_TIMEOUT, 60 );\n        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);\n        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);\n\n        $headers = array(\n            \'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.2924.87 Safari/537.36\',\n            \'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\',\n            \'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3\',\n            \'Connection: keep-alive\',\n            \'Cache-Control: max-age=0\',\n            \'Upgrade-Insecure-Requests: 1\'\n        );\n        if($file){\n            $fp = fopen($file, \"wb\");\n            curl_setopt($ch, CURLOPT_FILE, $fp);\n        }\n        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);\n        $res = curl_exec($ch);\n        curl_close($ch);\n        if($file) {\n            fclose($fp);\n            @chmod($file, 0666);\n            $info = @getimagesize($file);\n            if(is_array($info)){\n                if( $info[2] == 2 ) {\n                    $ext = \'jpg\';\n                } elseif( $info[2] == 3 ) {\n                    $ext =  \'png\';\n                } elseif( $info[2] == 1 ) {\n                    $ext = \'gif\';\n                } else $ext = \'jpg\';\n                rename($file, $file.\'.\'.$ext);\n                return $file.\'.\'.$ext;\n            } else {\n                @unlink($file);\n                return false;\n            }\n        }\n        return $res;\n    }\n}\n\n\n\nif (!function_exists(\'template\')) {\n    function template($config, $data) {\n        $find = array();\n        $replace = array();\n\n        foreach ($data as $name => $value) {\n            if ( is_array($value) ) $value = implode(\", \", $value);\n\n            $find[] = \"\'{{$name}}\'i\";\n            $replace[] = $value;\n            $find[] = \"\'\\\\[if_{$name}\\\\](.*?)\\\\[/if_{$name}\\\\]\'is\";\n            $replace[] = $value ? \'\\1\' : \'\';\n            $find[] = \"\'\\\\[ifnot_{$name}\\\\](.*?)\\\\[/ifnot_{$name}\\\\]\'is\";\n            $replace[] = $value ? \'\' : \'\\1\';\n        }\n\n        foreach ($config as $key => $value) {\n            $value = preg_replace($find, $replace, $value);\n\n            $value = preg_replace_callback(\'#\\\\[(if|ifnot)? (.+?)\\\\](.*?)\\\\[/\\1\\\\]#isuU\', function($matches) use($data) {\n                foreach (explode(\"||\", $matches[2]) as $key => $value) {\n                    $value = explode(\"=\", $value);\n                    $name = array_shift($value);\n                    $value = implode(\"=\", $value);\n                    $value = explode(\"|\", $value);\n\n                    if ( isset($data[$name]) ) {\n                        $val = $data[$name];\n                        if ( !is_array($val) ) $val = explode(\",\", $val);\n                        if ( array_intersect($value, $val) ) {\n                            if ( $matches[1] == \"ifnot\" ) return \'\';\n                        } elseif( $matches[1] == \"if\" ) return \'\';\n                    }\n                }\n\n                return $matches[3];\n            }, $value);\n\n            $value = preg_replace(\'#\\\\[ifnot_(.+)\\\\](.*)\\\\[/ifnot_\\1\\\\]#isuU\', \'\\2\', $value);\n            $value = preg_replace(\'#\\\\[if_(.+)\\\\](.*)\\\\[/if_\\1\\\\]#isuU\', \'\', $value);\n            $value = preg_replace(\"\'{[a-zA-Z0-9-_:]+}\'i\", \'\', $value);\n\n            if ( $value ) $config[$key] = preg_replace(\'#\\s{2,}#\', \' \', $value);\n            else unset($config[$key]);\n        }\n\n        return $config;\n    }\n}\n\nif (!function_exists(\'fixGenres\')) {\n    \n    function fixGenres(array $genres) {\n\n        $replaces = array(\n            \'арт-хаус\' => \'арт-хаус\',\n            \'зарубежные\' => \'зарубежный\',\n            \'блокбастеры\' => \'блокбастер\',\n            \'русский\' => \'русский\',\n            \'биографический\' => \'биография\',\n            \'боевики\' => \'боевик\',\n            \'блокбастер\' => \'блокбастер\',\n            \'вестерны\' => \'вестерн\',\n            \'военные\' => \'военный\',\n            \'детективы\' => \'детектив\',\n            \'детский\' => \'детский\',\n            \'документальные\' => \'документальный\',\n            \'драмы\' => \'драма\',\n            \'игры\' => \'игра\',\n            \'история\' => \'история\',\n            \'комедии\' => \'комедия\',\n            \'концерты\' => \'концерт\',\n            \'короткометражный\' => \'короткометражка\',\n            \'полнометражный\' => \'полнометражный\',\n            \'криминал\' => \'криминал\',\n            \'мелодрамы\' => \'мелодрама\', \n            \'музыкальные\' => \'музыка\',\n            \'мультфильмы\' => \'мультфильм\',\n            \'мультсериалы\' => \'мультсериал\',\n            \'мюзикл\' => \'мюзикл\',\n            \'новости\' => \'новости\',\n            \'путешествия\' => \'путешествия\',\n            \'приключения\' => \'приключения\',\n            \'развлекательный\' => \'развлекательный\',\n            \'семейные\' => \'семейный\',\n            \'спорт\' => \'спорт\',\n            \'триллеры\' => \'триллер\',\n            \'трейлеры\' => \'трейлер\',\n            \'ужасы\' => \'ужасы\',\n            \'церемонии\' => \'церемония\',\n            \'для взрослых\' => \'для взрослых\',\n          \n        );\n\n        foreach ($genres as $key => $genre) {\n            $genre = mb_strtolower($genre, \'UTF-8\');\n\n            if (!empty($replaces[$genre])) {\n                $genres[$key] = $replaces[$genre];\n            } else {\n                $genres[$key] = $genre;\n            }\n        }\n\n        return $genres;\n    }\n}\n\n\n\n\n\nif (!function_exists(\'db_query\')) {\n    function db_query($query, $data = false) {\n        return preg_replace_callback(\'\":([a-z0-9_\\\\-]+)\"is\', function($match) use($data) {\n            if ( isset($data[$match[1]]) ) {\n                if ($data[$match[1]] !== null) {\n                    return \"\'\" . addslashes($data[$match[1]]) . \"\'\";\n                } else {\n                    return \"NULL\";\n                }\n\n            } else {\n                return \"NULL\";\n            }\n        }, $query);\n    }    \n}\n\nif (!function_exists(\'allow_country\')) {\n    function allow_country($country, $allow_country){\n        if (count($allow_country)) {\n            $country2 = [];\n            foreach ($country as $value) {\n                $country2[] = mb_strtolower($value, \'utf-8\');\n            }\n            if (count(array_intersect($country2, $allow_country))) {\n                return true;\n            } else {\n                return false;\n            }\n        }\n        return true;\n    }    \n}\n\n\n\nif (!function_exists(\'disallow_country\')) {\n    function disallow_country($country, $allow_country){\n        if (count($allow_country)) {\n            $country2 = [];\n            foreach ($country as $value) {\n                $country2[] = mb_strtolower($value, \'utf-8\');\n            }\n            if (count(array_intersect($country2, $allow_country))) {\n                return true;\n            } else {\n                return false;\n            }\n        }\n        return false;\n    }    \n}\n\n\n\n\nfunction formatize_alloha($number, $type) {\n    if ( $type == 1 ) $result = $number.\" сезон\";\n    elseif ( $type == 2 ) {\n        if ( $number == 1 ) $result = $number.\" сезон\";\n        elseif ( $number > 1 ) $result = \"1-\".$number.\" сезон\";\n    }\n    elseif ( $type == 3 ) {\n        if ( $number == 1 ) $result = $number.\" сезон\";\n        elseif ( $number > 1 ) {\n            $number_mas = array();\n            for ($i = 1; $i <= $number; $i++) {\n                $number_mas[] = $i;\n            }\n            $result = implode(\",\", $number_mas).\" сезон\";\n        }\n    }\n    elseif ( $type == 4 ) $result = $number.\" серия\";\n    elseif ( $type == 5 ) {\n        if ( $number == 1 ) $result = $number.\" серия\";\n        elseif ( $number > 1 ) $result = \"1-\".$number.\" серия\";\n    }\n    elseif ( $type == 6 ) {\n        if ( $number == 1 ) $result = $number.\" серия\";\n        elseif ( $number > 1 ) {\n            $number_mas = array();\n            for ($i = 1; $i <= $number; $i++) {\n                $number_mas[] = $i;\n            }\n            $result = implode(\",\", $number_mas).\" серия\";\n        }\n    }\n    elseif ( $type == 7 ) {\n        if ( $number == 1 ) $result = \"1,2 серия\";\n        elseif ( $number == 2 ) $result = \"1,2,3 серия\";\n        elseif ( $number > 2 ) {\n            $number_mas = array();\n            for ($i = $number-1; $i <= $number+1; $i++) {\n                $number_mas[] = $i;\n            }\n            $result = implode(\",\", $number_mas).\" серия\";\n        }\n    }\n    elseif ( $type == 71 ) {\n        if ( $number == 1 ) $result = \"1 серия\";\n        elseif ( $number == 2 ) $result = \"1,2 серия\";\n        elseif ( $number >= 3 ) {\n            $number_mas = array();\n            for ($i = $number-2; $i <= $number; $i++) {\n                $number_mas[] = $i;\n            }\n            $result = implode(\",\", $number_mas).\" серия\";\n        }\n    }\n    elseif ( $type == 8 ) {\n        if ( $number == 1 ) $result = \"1 серия\";\n        elseif ( $number > 1 AND $number <= 5 ) {\n            $number_mas = array();\n            for ($i = 1; $i <= $number; $i++) {\n                $number_mas[] = $i;\n            }\n            $result = implode(\",\", $number_mas).\" серия\";\n        }\n        elseif ( $number > 5 ) {\n            $number_mas = array();\n            for ($i = $number-1; $i <= $number+1; $i++) {\n                $number_mas[] = $i;\n            }\n            $result = \"1-\".implode(\",\", $number_mas).\" серия\";\n        }\n    }\n    elseif ( $type == 81 ) {\n        if ( $number == 1 ) $result = \"1 серия\";\n        elseif ( $number > 1 AND $number <= 5 ) {\n            $number_mas = array();\n            for ($i = 1; $i <= $number; $i++) {\n                $number_mas[] = $i;\n            }\n            $result = implode(\",\", $number_mas).\" серия\";\n        }\n        elseif ( $number > 5 ) {\n            $number_mas = array();\n            for ($i = $number-2; $i <= $number; $i++) {\n                $number_mas[] = $i;\n            }\n            $result = \"1-\".implode(\",\", $number_mas).\" серия\";\n        }\n    }\n    return $result;\n}\n\nfunction check_if_alloha($check_value, $dataArray) {\n    foreach($dataArray as $named => $zna4enie) {\n        if (strpos($check_value, \'[data_\'.$named.\']\') !== false) {\n            if ($zna4enie) $check_value = preg_replace(\';\\[data_\'.$named.\'\\](.*?)\\[\\/data_\'.$named.\'\\];is\', $dataArray[$named], $check_value);\n            else $check_value = preg_replace(\';\\[data_\'.$named.\'\\](.*?)\\[\\/data_\'.$named.\'\\];is\', \'\', $check_value);\n        }\n        if (strpos($check_value, \'[nodata_\'.$named.\']\') !== false) {\n            if ($zna4enie) $check_value = preg_replace(\';\\[nodata_\'.$named.\'\\](.*?)\\[\\/nodata_\'.$named.\'\\];is\', \'\', $check_value);\n            else $check_value = preg_replace(\';\\[nodata_\'.$named.\'\\](.*?)\\[\\/nodata_\'.$named.\'\\];is\', \'$1\', $check_value);\n        }\n    }\n\n    return $check_value;\n}\n\n\n\n\nfunction check_license_alloha() {\n \n}\n\n\nfunction alloha_mass_series($news_id, $result, $last = false) {\n\n    global $db, $config_mod;\n\n    if (!$config_mod[\'mass_series\']) {\n        return;\n    }\n\n    if ($last) {\n\n        $season = intval($result[\'season\']);\n        $episode = intval($result[\'episode\']);\n\n        for ($ser=1; $ser <= $episode; $ser++) { \n\n            $db->query( \"INSERT IGNORE INTO \" . PREFIX . \"_serials (news_id, season, episode) VALUES(\'{$news_id}\', \'{$season}\', \'{$ser}\')\" );\n\n        }\n\n        return;\n\n    }\n\n    foreach ($result[\'seasons\'] as $value) {\n        \n        foreach ($value[\'episodes\'] as $val) {\n\n            $db->query( \"INSERT IGNORE INTO \" . PREFIX . \"_serials (news_id, season, episode) VALUES(\'{$news_id}\', \'{$value[\'season\']}\', \'{$val[\'episode\']}\')\" );\n\n        }\n\n    }\n\n}\n\ndefine( \'FOLDER_PREFIX\', date( \"Y-m\" ) );\n\nCheckDir(ROOT_DIR . \"/uploads/posts/\" . FOLDER_PREFIX .\'/\');\nCheckDir(ROOT_DIR . \"/uploads/posts/\" . FOLDER_PREFIX .\'/thumbs/\');\nCheckDir(ROOT_DIR . \"/uploads/posts/\" . FOLDER_PREFIX .\'/medium/\');\n\n?>',1,0,0,1,'',''),(136,4,'engine/classes/alloha.php','create','','<?php\n\n\nif(!defined(\'DATALIFEENGINE\')) {\n    header( \"HTTP/1.1 403 Forbidden\" );\n    header ( \'Location: ../../\' );\n    die( \"Hacking attempt!\" );\n}\n\nini_set(\"memory_limit\",\"256M\");\nini_set(\'max_execution_time\',200);\nignore_user_abort(true);\nset_time_limit(200);\nsession_write_close();\n\n\nrequire_once (ENGINE_DIR . \'/classes/plugins.class.php\');\n\n\nif (version_compare(\'15\', $config[\'version_id\'], \'<=\')) {\n    define(\'DLE15\', true);\n}\n\n\nif (defined(\'DLE15\')) {\n    include_once ENGINE_DIR . \'/classes/composer/vendor/autoload.php\';\n}\n\nelse {\n    include_once ENGINE_DIR . \'/classes/thumb.class.php\';\n}\n\nrequire_once DLEPlugins::Check(ENGINE_DIR . \'/modules/alloha.func.php\');\n\n\n\n$config_mod = unserialize( file_get_contents( ENGINE_DIR . \'/data/\' . $mod . \'.config\' ) );\n\nif ( !$config_mod ) $config_mod = array();\n\n\n$qual_list = [\n	\'TS 720p\'         => 0,\n	\'TS \'             => 1,	\n	\'CAMRip\'          => 2,\n	\'Workprint-AVC\'   => 3,\n	\'WEB-DLRip 720p\'  => 4,\n	\'WEB-DLRip 1080p\' => 5,\n	\'WEB-DLRip 1080p\' => 6,\n	\'WEB-DLRip\'       => 7,\n	\'WEBRip\'       => 7,\n	\'VHSRip\'          => 8,\n	\'TVRip 720p\'      => 9,\n	\'TVRip\'           => 10,\n	\'SuperTS\'         => 11,\n	\'SATRip\'          => 12,\n	\'Laserdisc-RIP\'   => 13,\n	\'IPTVRip\'         => 14,\n	\'DVDSrc\'          => 15,\n	\'DVDRip\'          => 16,\n	\'DVBRip 720p\'     => 17,\n	\'DVBRip\'          => 18,\n	\'DVB\'          => 18,\n	\'HDDVDRip 720p\'   => 19,\n	\'HDDVDRip 1080p\'  => 20,\n	\'HDDVDRip\'        => 21,\n	\'HDTVRip 720p\'    => 22,\n	\'HDTVRip 1080p\'   => 23,\n	\'HDTVRip\'         => 24,\n	\'HDRip 720p\'      => 25,\n	\'HDRip 1080p\'     => 26,\n	\'HDRip\'           => 27,\n	\'D-VHS\'           => 28,\n	\'BDRip 720p\'      => 29,\n	\'BDRip 1080p\'     => 30,\n	\'BDRip\'           => 31\n];\n\n\nclass Alloha {\n	\n	function __construct($type, $db) {\n		$this->log  = $this->getLog();\n		$this->next = empty($this->log[$type][\'next\']) ? \'\' : $this->log[$type][\'next\'];\n		\n		$this->db   = $db;\n		$this->type = $type;\n	}\n\n    public function start($url, $iframe_movie_check = false){\n      \n    	$request_url = $url;\n\n        for ($i=0; $i < 5; $i++) { \necho $request_url.\"<br>\";\n        	$result = request($request_url);\n        	$res = json_decode($result, true);\n          \n            if(! empty($res[\'data\']) && true === $iframe_movie_check)\n            {\n              \n                foreach($res[\'data\'] as $resKey => $resData)\n                {\n                 \n                  	if(!empty($resData[\'iframe_movie\']))\n                    {\n                       unset($res[\'data\'][$resKey]); \n                    }\n                  \n                }\n                \n            }\n     \n        	if(!$res) {\n        		die($result);\n        	}\n\n        	if ($res[\'status\']==\'error\') {\n        		die($res[\'error_info\']);\n        	}\n\n        	if(empty($res[\'data\'])) {\n        		$this->setLog($this->type, \'next\', \'\');\n        		die(\'empty results\');\n        	}\n\n            $this->render($res[\'data\']);\n\n            if($i==0 && $this->next) {\n            	$request_url = $url.\'&page=\'.$this->next;\n            } else {\n            	$request_url = $res[\'next_page\'] ? $url.\'&page=\'.$res[\'next_page\'] : \'\';\n            }\n\n      	    $this->setLog($this->type, \'next\', $res[\'next_page\'] ? $res[\'next_page\'] : \'\');\n            if(!$request_url) break;\n\n        }\n\n    }\n\n\n    private function render($data){\n		\n\n	    foreach ($data as $k => $value) {\n			if($this->type!=\"trailer\"){ //humbert\n				\n		  \n	        $kp_id        = intval($value[\'id_kp\']);\n	        $year         = intval($value[\'year\']);\n	        $type         = $this->type;\n	        $quality      = $this->db->safesql($value[\'quality\']);\n	        $episode      = $season = 0;\n\n	        if($kp_id<10) continue;\n\n	        if(in_array($this->type, [\'serial\', \'multserial\', \'animeserial\'])){\n	        	$season  = (int)$value[\'seasons_count\'];\n	        	$episode = (int)$value[\'last_episode\'];\n	        }\n\n	        global $qual_list;\n\n	        $row = $this->db->super_query( \"SELECT * FROM \" . PREFIX . \"_alloha WHERE kp_id=\'$kp_id\'\" );\n\n	        if ($row) {\n	            if($qual_list[$row[\'quality\']]<$qual_list[$quality] or $row[\'season\']<$season or $row[\'episode\']<$episode)\n	                $this->db->query( \"UPDATE \" . PREFIX . \"_alloha SET status=\'1\', quality=\'{$quality}\', episode=\'{$episode}\', season=\'{$season}\' WHERE kp_id=\'$kp_id\'\" );\n	            \n	        } else {\n	            $this->db->query( \"INSERT INTO \" . PREFIX . \"_alloha (kp_id, year, quality, type, episode, season) VALUES(\'{$kp_id}\', \'{$year}\', \'{$quality}\', \'{$type}\', \'{$episode}\', \'{$season}\')\" );\n	        }\n\n	    }\n	    else //humbert\n	   { \n		   global $config_mod, $db, $config;\n		   $global_config=$config_mod;\n		   \n		   $kl_next=0;\n		   \n		   foreach($data as $value_data)\n		   {\n			   $kl_next=1;\n			   $config_mod=$global_config;\n			   $value_data[\'country\'] = str_replace(\', \', \',\', $value_data[\'country\']);\n               $value_data[\'genre\'] = str_replace(\', \', \',\', $value_data[\'genre\']);\n\n\n               if( ($premiere = strtotime($value_data[\'premiere\']))!==false && $value_data[\'premiere\'] ){\n                   $value_data[\'premiere\'] = date(\'j\', $premiere).\' \'.$langdate[date(\'F\', $premiere)].\' \'.date(\'Y\', $premiere);\n               }\n               \n               if( ($premiere_ru = strtotime($value_data[\'premiere_ru\']))!==false && $value_data[\'premiere_ru\'] ){\n                   $value_data[\'premiere_ru\'] = date(\'j\', $premiere_ru).\' \'.$langdate[date(\'F\', $premiere_ru)].\' \'.date(\'Y\', $premiere_ru);\n               }\n\n               $request = [];\n\n               $is_serial = false;\n\n               if($value_data[\'seasons_count\']){\n				   $request[\'last_season\'] = $value_data[\'seasons_count\'];\n                   $request[\'last_episode\'] = $value_data[\'last_episode\'];\n\n                   $episodes = array_shift($value_data[\'seasons\']);\n                   $episodes = count($episodes[\'episodes\']);\n                   $request[\'episode_count\'] = $episodes;\n\n                   $request[\'last_translate\'] = trim( array_shift(explode(\',\', $value_data[\'translation\'])) );\n\n                   $is_serial = true;\n               }\n\n               $ex_genres = array();\n               $ex_genres[] = \"трейлер\";\n               $ex_genres[]=$value_data[\'category\'];\n\n               if ($value_data[\'category\']==\'1\' && mb_stripos($value_data[\'genre\'], \'мультфильм\')===false) {\n				   $ex_genres[] = \"фильм\"; $request[\'video_type\'] = \'фильм\';\n    \n               }\n\n               if ($value_data[\'category\']==\'5\') {\n                   $ex_genres[] = \"тв шоу\"; $request[\'video_type\'] = \'тв шоу\';\n               }\n\n               \n               if (mb_stripos($value_data[\'genre\'], \'мультфильм\')!==false) {\n                   if ($is_serial) {\n					   \n					   $request[\'video_type\'] = \"мультсериал\";\n                       $ex_genres[] = \"мультсериал\";\n\n\n                   } else {\n					   $request[\'video_type\'] = \'мультфильм\';\n                       $ex_genres[] = \"мультфильм\";\n\n\n                   }\n               }\n\n               if (mb_stripos($value_data[\'country\'], \'россия\')===false && mb_stripos($value_data[\'country\'], \'ссср\')===false) {\n				   $ex_genres[] = \"зарубежный\";\n               }\n\n               if ($value_data[\'category\']==\'4\') {\n				   $ex_genres[] = \"аниме сериал\"; $request[\'video_type\'] = \'аниме сериал\';\n			   }\n\n               if ($alloha[\'type\']==\'anime\') {\n				   $ex_genres[] = \"аниме\"; $request[\'video_type\'] = \'аниме\';\n               }\n               \n               \n               $genres = fixGenres(explode(\',\', $value_data[\'genre\']));\n\n\n               $inter = array_merge($ex_genres, $genres, explode(\',\', $value_data[\'country\']), array($value_data[\'year\']));\n\n               if ($request[\'video_type\'] == \'мультсериал\') {\n				   $inter = array_diff($inter, [\'мультфильм\']);\n               }\n\n               if ($value_data[\'category\']==\'3\') {\n				   $inter = array_diff($inter, [\'зарубежный\', \'мультфильм\']);\n               }\n\n               if ($value_data[\'category\']==\'4\') {\n				   $inter = array_diff($inter, [\'зарубежный\', \'мультсериал\', \'мультфильм\', \'аниме\']);\n               }\n               \n              \n    $cats=array();\n               \n     foreach ($config_mod[\'category\'] as $cat_id => $values) {\n    $f = true;\n\n    foreach ($values as $value) {\n        if ( !in_array($value, $inter) ) {\n            $f = false;\n            break;\n        }\n    }\n\n    if ( $f ) $cats[] = $cat_id;\n}\n \n               $config_mod[\'category\'] = implode(\",\", $cats); \n               \n              \n               if ($config_mod[\'max_actors\']) {\n				   \n				   $value_data[\'actors\'] = explode(\',\', $value_data[\'actors\']);\n                   $value_data[\'actors\'] = array_slice($value_data[\'actors\'], 0, intval($config_mod[\'max_actors\']));\n                   $value_data[\'actors\'] = implode(\',\', $value_data[\'actors\']);\n               }\n\n               if ($config_mod[\'max_directors\']) {\n				   \n				   $value_data[\'directors\'] = explode(\',\', $value_data[\'directors\']);\n                   $value_data[\'directors\'] = array_slice($value_data[\'directors\'], 0, intval($config_mod[\'max_directors\']));\n                   $value_data[\'directors\'] = implode(\',\', $value_data[\'directors\']);\n               }\n\n               $value_data[\'genre\'] = preg_replace_callback(\'/,([^,]|\\s+)/u\', function($m){\n				   \n				   return \',\'.(strpos(\' \', $m[1]) ? \' \' : \' \'.$m[1]);\n               }, $value_data[\'genre\']);\n\n               $value_data[\'country\'] = preg_replace_callback(\'/,([^,]|\\s+)/u\', function($m){\n				   return \',\'.(strpos(\' \', $m[1]) ? \' \' : \' \'.$m[1]);\n			   }, $value_data[\'country\']);\n\n			   $request[\'title_ru\']      = $value_data[\'name\'];\n               $request[\'title_en\']      = $value_data[\'original_name\'];\n               $request[\'title_alt\']     = $value_data[\'alternative_name\'];\n               $request[\'token_movie\']  = $value_data[\'token_movie\'];\n  			   $request[\'year\']          = $value_data[\'year\'];\n			   $request[\'description\']   = html_entity_decode($value_data[\'description\'], ENT_HTML5);\n			   $request[\'countries\']     = $value_data[\'country\'];\n               $request[\'genres\']        = $value_data[\'genre\'];\n               $request[\'actors\']        = $value_data[\'actors\'];\n			   $request[\'iframe_url\']    = \"\";\n			   $request[\'quality\']       = $value_data[\'quality\'];\n			   $request[\'slogan\']        = $value_data[\'tagline\'];\n			   $request[\'directors\']     = $value_data[\'directors\'];\n			   $request[\'producer\']      = $value_data[\'producers\'];\n			   $request[\'translator\']    = $value_data[\'translation\'];\n			   $request[\'trailer\']       = $value_data[\'iframe\'];\n\n			   $request[\'premiere_ru\']    = $value_data[\'premiere_ru\'];\n			   $request[\'premiere_world\'] = $value_data[\'premiere\'];\n\n			   $request[\'rating_kp\']        = $value_data[\'rating_kp\'];\n			   $request[\'rating_imdb\']      = $value_data[\'rating_imdb\'];\n			   $request[\'rating_world_art\'] = $value_data[\'world_art\'];\n			   $request[\'rate_mpaa\']        = $value_data[\'rating_mpaa\'];\n\n			   $request[\'kinopoisk_id\']     = $value_data[\'id_kp\'];\n			   $request[\'imdb_id\']          = $value_data[\'id_imdb\'];\n			   $request[\'tmdb_id\']          = $value_data[\'id_tmdb\'];\n			   $request[\'world_art_id\']     = $value_data[\'id_world_art\'];\n\n			   $request[\'age\']          = $value_data[\'age_restrictions\'];\n			   $request[\'time\']         = $value_data[\'time\'];\n			   $request[\'instream_ads\'] = ($value_data[\'ads\']==\'\') ? \'\' : 1;\n\n			   if($request[\'title_en\']==$request[\'title_ru\']) $request[\'title_en\']=\'\';\n			   \n			   $kp_id        = intval($request[\'kinopoisk_id\']);\n	           $year         = intval($request[\'year\']);\n	           $type         = \"trailer\";\n	           $quality      = $request[\'year\'];\n	           $episode      = $season = 1;\n\n\n			   $post_row = $db->super_query( \"SELECT id, title, xfields FROM \" . PREFIX . \"_post WHERE xfields LIKE \'%kinopoisk_id|{$value_data[\'id_kp\']}||%\'\" );\n\n			   if(!$post_row) $alloha[\'news_id\']=0;\n			   else {$alloha[\'news_id\']=$post_row[\'id\'];}\n\n			   if(!$alloha[\'news_id\']){\n				   \n				   if ($config_mod[\'upload_poster\']) {\n					   \n					   $poster_file = $value_data[\'id_kp\'].\'_\'.time();\n					   $poster = request($value_data[\'poster\'], ROOT_DIR . \"/uploads/posts/\" . FOLDER_PREFIX.\'/\' .$poster_file);\n					   if($poster){\n						   \n						   if ($config_mod[\'poster_size\']) {\n							   \n							   $t_seite = intval($config[\'t_seite\']);\n							   $t_size = $config_mod[\'poster_size\'];\n							   \n							   $thumb = new thumbnail( $poster );\n\n							   if( $thumb->size_auto( $t_size, $t_seite ) ) {\n								   \n								   if (defined(\'DLE15\')) {\n									   $newFile = $thumb->save(str_replace(ROOT_DIR.\"/uploads/\" , \'\', $poster));\n\n									   $poster = ROOT_DIR . \"/uploads/posts/\" . FOLDER_PREFIX . \'/\' . $newFile; \n\n								   } else {\n									   $thumb->jpeg_quality( $config[\'jpeg_quality\'] );\n\n									   $thumb->save( $poster );\n							   }\n\n							   @chmod( $poster, 0666 );\n\n								/**************/\n\n\n							}\n\n						}\n\n						$request[\'poster\'] = str_replace(ROOT_DIR.\'/\' , $config[\'http_home_url\'], $poster);\n                        $poster = str_replace(ROOT_DIR.\"/uploads/posts/\" , \'\', $poster);\n					}\n				} else {\n					$request[\'poster\'] = $value_data[\'poster\'];\n				}\n			\n			\n			    $compile = template($config_mod, $request);\n			    \n			    $compile[\'metatitle\'] = check_if_alloha($compile[\'metatitle\'], $request);\n			    $compile[\'metatitle\'] = preg_replace(\'/\\s{2,}/\', \' \',  $compile[\'metatitle\']);\n\n\n			    if($compile[\'category\']==\'\') $compile[\'category\']=0;\n			    if(!$compile[\'tags\']) $compile[\'tags\'] = \'\';\n\n\n			    $compile[\'xfields\'] = !$alloha[\'news_id\'] ? xfcompile($compile[\'xfields\']) : xfcompile($xfdata);\n			    $compile[\'alt_name\'] = totranslit( stripslashes( $compile[\'alt_name\'] ), true, false );\n			    $compile[\'date\'] = date(\'Y-m-d H:i:s\');\n\n\n			    if (empty($compile[\'short_story\'])) {\n					$compile[\'short_story\'] = \'\';\n			    }\n\n			    if (empty($compile[\'full_story\'])) {\n					$compile[\'full_story\'] = \'\';\n			    }\n\n			    if (empty($compile[\'keywords\'])) {\n					$compile[\'keywords\'] = \'\';\n			    }\n\n			    if (empty($compile[\'descr\'])) {\n					$compile[\'descr\'] = \'\';\n			    }\n\n\n			    $approve =1;\n			    if($config_mod[\'go_moder_trailer\'])   $approve =0;\n\n\n\n			    $disable_index = 0;\n			    if (!empty($config_mod[\'disable_index\'])\n				    && (bool)$config_mod[\'disable_index\'] === true\n			    ) {\n				    $disable_index = 1;\n			    }\n\n			    $updateNewsDate = false;\n			    if (!empty($config_mod[\'update_news_date\'])\n				    && (bool)$config_mod[\'update_news_date\'] === true\n			    ) {\n				   $updateNewsDate = true;\n			    }\n\n			    $last_season = $request[\'last_season\'];\n			    $last_episode = $request[\'last_episode\'];\n			    $user_row = $db->super_query(\" SELECT user_id, name FROM \" . PREFIX . \"_users WHERE name=\'{$config_mod[\'author\']}\' \");\n\n\n			\n				$db->super_query( \"INSERT INTO \" . PREFIX . \"_alloha (kp_id, year, status, quality, type, episode, season) VALUES(\'{$kp_id}\', \'{$year}\', \'1\', \'{$quality}\', \'{$type}\', \'{$episode}\', \'{$season}\')\" );\n				\n				$db->query(db_query(\"INSERT INTO `\" . PREFIX . \"_post` (`autor`, `date`, `short_story`, `full_story`, `xfields`, `title`, `descr`, `keywords`, `category`, `alt_name`, `comm_num`, `allow_comm`, `allow_main`, `approve`, `fixed`, `allow_br`, `symbol`, `tags`, `metatitle`) VALUES (\'{$user_row[\'name\']}\', :date, :short_story, :full_story, :xfields, :title, :descr, :keywords, :category, :alt_name, 0, 1, 1, $approve, 0, 0, \'\', :tags, :metatitle);\", $compile));\n\n\n                \n				$news_id = $db->insert_id();\n				$db->query( \"INSERT INTO \" . PREFIX . \"_post_extras (news_id,user_id,disable_index) VALUES(\'$news_id\',\'{$user_row[\'user_id\']}\', \'$disable_index\')\" );\n\n				if($poster){\n					$db->query( \"INSERT INTO \" . PREFIX . \"_images (images,news_id,author,date) VALUES(\'{$poster}\',\'$news_id\',\'{$user_row[\'name\']}\',\'{$_TIME}\')\" );\n				}\n\n				alloha_mass_series($news_id, $result);\n\n				echo \"insert news --- $news_id --- {$value_data[\'name\']}\"; \n				\n			\n				\nif( $news_id){\n	$db->query(db_query(\"Update `\" . PREFIX . \"_post` set kinopoisk_id=\'\".$request[\'kinopoisk_id\'].\"\' where id=\'\".$news_id.\"\'\"));\n\n\n                \n    $ex_cats = explode(\',\', $compile[\'category\']);\n    foreach ($ex_cats as $ex_cat) {\n        $ex_cat = intval($ex_cat);\n        $db->query( \"INSERT INTO \" . PREFIX . \"_post_extras_cats (news_id, cat_id) VALUES (\'{$news_id}\', \'{$ex_cat}\')\" );\n    }\n}\n			}\n\n		   }\n		   \n		  if($kl_next) $res[\'next_page\']++;\n		  $config_mod=$global_config;\n	   } \n\n	   }\n	   \n    }\n\n    function getLog(){\n    	$log = unserialize( file_get_contents( ENGINE_DIR . \'/data/alloha.log\' ) );\n    	if (!$log) $log = array();\n    	return $log;\n    }\n\n    function setLog($type, $name, $val){\n    	$this->log[$type][$name] = $val;\n    	file_put_contents( ENGINE_DIR . \'/data/alloha.log\', serialize($this->log));\n    }\n\n}\n\n\n?>',1,0,0,1,'',''),(137,4,'engine/ajax/alloha_rebuild.php','create','','<?php\n\n\nrequire_once DLEPlugins::Check(ENGINE_DIR . \'/modules/alloha.func.php\');\n\n$config_mod = unserialize( file_get_contents( ENGINE_DIR . \'/data/alloha.config\' ) );\nif ( !$config_mod ) $config_mod = array(); \n\ncheck_license_alloha();\n\nif ($member_id[\'user_group\']>1) {\n	die(\'{\"error\": \"for admin user only\"}\');\n}\n\n\n$last_file = ENGINE_DIR.\'/data/alloha.last.file\';\nif (!file_exists($last_file)) {\n	$startfrom = $rebuildcount = 0;\n	file_put_contents($log_file, \"0|0\");\n}\nelse {\n	$data = file_get_contents($last_file);\n	$data = explode(\'|\', $data);\n	$startfrom = $data[0];\n	$rebuildcount = $data[1];\n}\n\nfile_put_contents(\'log.txt\', \"$startfrom===$rebuildcount\\n\" , LOCK_EX|FILE_APPEND); \n\n\n$count_per_step = 10;\n\n$where = $startfrom ? \"WHERE id>\'{$startfrom}\'\" : \'\';\n\n\n$result = $db->query(\"SELECT id, date, xfields, category, alt_name, approve FROM \" . PREFIX . \"_post $where ORDER BY id LIMIT \".$count_per_step);\n\nwhile($row = $db->get_row($result))\n{\n	\n	$rebuildcount=$rebuildcount+1;\n\n	$xfields = xfieldsdataload(stripslashes($row[\'xfields\']));\n\n	$res = request(\'https://api.apbugall.org/?token=\'.$config_mod[\'api_token\'].\'&kp=\'.intval($xfields[\'kinopoisk_id\']));\n\n	$res = json_decode($res, true);\n\n	if(!count($res[\'data\'])) {\n		$startfrom = $row[\'id\'];\n		file_put_contents($last_file, \"{$startfrom}|{$rebuildcount}\", LOCK_EX); \n		continue;\n	} \n\n	if($res[\'status\']==\'error\') die(\'{\"error\": \"\'.$res[\'error_info\'].\'\"}\');\n\n	$res = $res[\'data\'];\n\n	$request = [];\n\n	$request[\'last_translate\'] = trim( @array_shift(explode(\',\', $res[\'translation\'])) );\n	$request[\'iframe_url\'] = $res[\'iframe\'];\n\n	$episodes = array_shift($res[\'seasons\']);\n	$episodes = count($episodes[\'episodes\']);\n	$request[\'episode_count\'] = $episodes;\n\n	$request[\'instream_ads\'] = ($res[\'ads\']==\'\') ? \'\' : 1;\n\n	$request[\'trailer\'] = $res[\'iframe_trailer\'];\n	$request[\'translator\']    = $res[\'translation\'];\n\n	$request[\'last_season\'] = $res[\'seasons_count\'];\n	$request[\'last_episode\'] = $res[\'last_episode\'];\n\n	$request[\'quality\'] = $res[\'quality\'];\n\n	if($res[\'seasons_count\']){\n	    $is_serial = true;\n	} else {\n		$is_serial = false;\n	}\n\n\n	$ex_genres = [];\n\n	if ($res[\'category\']==\'2\' && mb_stripos($res[\'genre\'], \'мультфильм\')===false) {\n	    $ex_genres[] = \"сериал\"; $request[\'video_type\'] = \'сериал\';\n	}\n\n	if ($res[\'category\']==\'1\' && mb_stripos($res[\'genre\'], \'мультфильм\')===false) {\n	    $ex_genres[] = \"фильм\"; $request[\'video_type\'] = \'фильм\';\n	}\n\n	if ($res[\'category\']==\'5\') {\n	    $ex_genres[] = \"тв шоу\"; $request[\'video_type\'] = \'тв шоу\';\n	}\n\n	if (mb_stripos($res[\'genre\'], \'мультфильм\')!==false) {\n	    if ($is_serial) {\n	        $request[\'video_type\'] = \"мультсериал\";\n	        $ex_genres[] = \"мультсериал\";\n	    } else {\n	        $request[\'video_type\'] = \'мультфильм\';\n	        $ex_genres[] = \"мультфильм\";\n	    }\n	}\n\n	if (mb_stripos($res[\'country\'], \'россия\')===false && mb_stripos($res[\'country\'], \'ссср\')===false) {\n	    $ex_genres[] = \"зарубежный\";\n	}\n\n	if ($res[\'category\']==\'4\') {\n	    $ex_genres[] = \"аниме сериал\"; $request[\'video_type\'] = \'аниме сериал\';\n	}\n\n	if ($alloha[\'type\']==\'anime\') {\n	    $ex_genres[] = \"аниме\"; $request[\'video_type\'] = \'аниме\';\n	}\n\n\n	$cats = array();\n	$genres = fixGenres(explode(\',\', $res[\'genre\']));\n\n\n	$inter = array_merge($ex_genres, $genres, explode(\',\', $res[\'country\']), array($res[\'year\']));\n\n	if ($request[\'video_type\'] == \'мультсериал\') {\n	    $inter = array_diff($inter, [\'мультфильм\']);\n	}\n\n	if ($res[\'category\']==\'3\') {\n	    $inter = array_diff($inter, [\'зарубежный\', \'мультфильм\']);\n	}\n\n	if ($res[\'category\']==\'4\') {\n	    $inter = array_diff($inter, [\'зарубежный\', \'мультсериал\', \'мультфильм\', \'аниме\']);\n	}\n\n\n	foreach ($config_mod[\'category\'] as $cat_id => $values) {\n	    $f = true;\n\n	    foreach ($values as $value) {\n	        if ( !in_array($value, $inter) ) {\n	            $f = false;\n	            break;\n	        }\n	    }\n\n	    if ( $f ) $cats[] = $cat_id;\n	}\n\n	$cats = array_unique(array_merge($cats, explode(\',\', $row[\'category\'])));\n\n	$config_mod[\'category\'] =  implode(\",\", $cats);\n\n\n	$compile = template($config_mod, $request);\n\n	$new_xfields = array_diff($compile[\'xfields\'], [\' \', \'\']);\n	$new_xfields = array_replace($xfields,$new_xfields);\n\n	$xfields = $db->safesql(xfieldsdatasave($new_xfields));\n\n	$category = $compile[\'category\']; \n\n	$db->query( \"UPDATE \" . PREFIX . \"_post SET $date xfields=\'$xfields\', category=\'$category\' WHERE id=\'{$row[\'id\']}\'\" );\n\n	if ($category) {\n		$db->query( \"DELETE FROM \" . PREFIX . \"_post_extras_cats WHERE news_id=\'{$row[\'id\']}\'\" );\n	    foreach (explode(\',\', $category) as $cat_id) {\n	        $db->query( \"INSERT INTO \" . PREFIX . \"_post_extras_cats (news_id, cat_id) VALUES (\'{$row[\'id\']}\', \'{$cat_id}\')\" );\n	    }\n	}\n\n	$startfrom =  $row[\'id\'];\n	file_put_contents($last_file, \"{$startfrom}|{$rebuildcount}\", LOCK_EX); \n	\n}\n\nclear_cache();\n\n$result = [\n	\'status\' => \'ok\',\n	\'startfrom\' => $startfrom,\n	\'rebuildcount\' => $rebuildcount\n];\n\necho json_encode($result);\n\n\n?>',1,0,0,1,'',''),(138,4,'engine/ajax/alloha_playlist.php','create','','<?php\nheader(\'Content-Type: text/html; charset=utf-8\');\n\nfunction alloha_api($url) {\n	if ( $curl = curl_init())\n	{\n		$headers = array(\n        	\'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.2924.87 Safari/537.36\',\n        	\'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\',\n        	\'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3\',\n        	\'Connection: keep-alive\',\n        	\'Cache-Control: max-age=0\',\n        	\'Upgrade-Insecure-Requests: 1\'\n    	);\n		curl_setopt($curl, CURLOPT_URL, $url);\n		curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);\n		curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);\n		$out = curl_exec($curl);\n		$parse = json_decode($out, true);\n		curl_close($curl);\n	}\n	else {\n		$out = file_get_contents($url);\n		$parse = json_decode($out, true);\n	}\n	return $parse;\n}\n\n$config_mod = unserialize( file_get_contents( ENGINE_DIR . \'/data/alloha.config\' ) );\n\nif (isset($_POST[\'kinopoisk_id\'])) $kinopoisk_id = $_POST[\'kinopoisk_id\'];\nelse $kinopoisk_id = false;\nif (isset($_POST[\'imdb_id\'])) $imdb_id = $_POST[\'imdb_id\'];\nelse $imdb_id = false;\nif (isset($_POST[\'world_art_id\'])) $world_art_id = $_POST[\'world_art_id\'];\nelse $world_art_id = false;\nif (isset($_POST[\'tmdb_id\'])) $tmdb_id = $_POST[\'tmdb_id\'];\nelse $tmdb_id = false;\nif (isset($_POST[\'token_movie\'])) $token_movie = $_POST[\'token_movie\'];\nelse $token_movie = false;\nif (isset($_POST[\'last_translator\'])) $last_translator = $_POST[\'last_translator\'];\nelse $last_translator = false;\nif (isset($_POST[\'last_season\'])) $last_season = $_POST[\'last_season\'];\nelse $last_season = false;\nif (isset($_POST[\'last_episode\'])) $last_episode = $_POST[\'last_episode\'];\nelse $last_episode = false;\nif (isset($_POST[\'action\'])) $action = $_POST[\'action\'];\nelse $action = \'load_player\';\nif (isset($_POST[\'my_season\'])) $my_season = $_POST[\'my_season\'];\nelse $my_season = false;\nif (isset($_POST[\'cook\'])) $cook = $_POST[\'cook\'];\nelse $cook = 0;\nif (isset($_POST[\'news_id\'])) $news_id = $_POST[\'news_id\'];\nelse $news_id = false;\nif ( isset( $_POST[\'with_seasons\'] ) ) $with_seasons = $_POST[\'with_seasons\'];\nelse $with_seasons = 0;\nif ( isset( $_POST[\'api_token\'] ) ) $api_token = $_POST[\'api_token\'];\nelse $api_token = $config_mod[\'api_token\'];\nif (isset($_POST[\'this_season\'])) $this_season = $_POST[\'this_season\'];\nelse $this_season = 0;\nif (isset($_POST[\'this_episode\'])) $this_episode = $_POST[\'this_episode\'];\nelse $this_episode = 0;\nif (isset($_POST[\'this_translator\'])) $this_translator = $_POST[\'this_translator\'];\nelse $this_translator = 0;\n    \n$playlist = dle_cache(\'alloha_playlist\', $news_id, false);\n    \nif ( $playlist !== FALSE ) $playlist = json_decode($playlist, true);\nelseif ( $kinopoisk_id || $imdb_id || $tmdb_id || $world_art_id ) {\n\n	if ($imdb_id) {\n		$alloha = alloha_api(\'https://api.apbugall.org/?token=\'.$api_token.\'&imdb=\'.$imdb_id);\n	}\n\n	elseif ($tmdb_id) {\n		$alloha = alloha_api(\'https://api.apbugall.org/?token=\'.$api_token.\'&tmdb=\'.$tmdb_id);\n	}\n\n	elseif ($world_art_id) {\n		$alloha = alloha_api(\'https://api.apbugall.org/?token=\'.$api_token.\'&world_art=\'.$world_art_id);\n	}\n  \n	elseif ($token_movie) {\n		$alloha = alloha_api(\'https://api.apbugall.org/?token=\'.$api_token.\'&token_movie=\'.$token_movie);\n	}  \n\n	else {\n		$alloha = alloha_api(\'https://api.apbugall.org/?token=\'.$api_token.\'&kp=\'.$kinopoisk_id);\n	}\n// print_r($alloha);die();\n    if ( $alloha[\'status\'] == \'success\' ) {\n\n    	$seasons = [];\n\n    	foreach ($alloha[\'data\'][\'seasons\'] as $season => $episode) {\n    		foreach ($episode[\'episodes\'] as $ep_num => $episode_info) {\n    			foreach ($episode_info[\'translation\'] as $translator_id => $translation) {\n    				$seasons[$translator_id][\'translator_name\'] = $translation[\'translation\'];\n    				$seasons[$translator_id][\'seasons\'][$season][] = $ep_num;\n    				sort($seasons[$translator_id][\'seasons\'][$season]);\n    				ksort($seasons[$translator_id][\'seasons\']);\n    			}\n    			\n    		}\n    	}\n    	\n    	// print_r($seasons);die();\n\n    	$playlist = array();\n    	$max_episodes = array();\n    	$max_seasons = array();\n    	foreach ($seasons as $num => $translators) {\n    	    $playlist[$num][\'translator_name\'] = $translators[\'translator_name\'];\n    	    $playlist[$num][\'translator_id\'] = $num;\n    	    $playlist[$num][\'translator_link\'] = \'https://polygamist.as.alloeclub.com/?token_movie=\'.$alloha[\'data\'][\'token_movie\'].\'&token=\'.$config_mod[\'api_token\'];\n    	    $max_season = 0;\n    	    foreach ( $translators[\'seasons\'] as $season => $episode ) {\n    	        foreach ( $episode as $ep_num ) {\n    	            $playlist[$num][\'episodes\'][$season][] = $ep_num;\n    	            $max_episode = $ep_num;\n    	        }\n    	        $max_season = $season > $max_season ? $season : $max_season;\n    	    }\n    	    $playlist[$num][\'max_season\'] = $max_season;\n    	    $playlist[$num][\'max_episode\'] = $max_episode;\n    	    $max_seasons[] = $max_season;\n    	    $max_episodes[] = $max_episode;\n    	}\n    	//print_r($playlist);die();\n    	array_multisort($max_seasons, SORT_DESC, $max_episodes, SORT_DESC, $playlist);\n    	$playlist[0][\'serial_name\'] = $alloha[\'data\'][\'name\'];\n    	create_cache(\'alloha_playlist\', json_encode($playlist, JSON_UNESCAPED_UNICODE), $news_id, false);\n        unset($translators);\n        unset($episode);\n        unset($alloha);\n        unset($max_episodes);\n        unset($max_seasons);\n        unset($max_episode);\n        unset($max_season);\n    }\n}\n\n$serial_name = $playlist[0][\'serial_name\'];\n\nif ($playlist && $action == \'load_player\') {\n    \n    if ($playlist[0][\'translator_name\']) {\n        $translator_num = 0;\n        foreach ($playlist as $num => $translation) {\n            if ( $last_translator > 0 ) {\n                if ( $last_translator == $translation[\'translator_id\'] ) {\n                    $active_tr = \" active\";\n                    $translator_num = $num;\n                    $translator_title = $translation[\'translator_name\'];\n                }\n                else $active_tr = \"\";\n            }\n            else {\n                if ( $num == 0 ) $active_tr = \" active\";\n                else $active_tr = \"\";\n            }\n            $translators .= \'<li onclick=\"translates();\" class=\"b-translator__item\'.$active_tr.\'\" data-this_translator=\"\'.$translation[\'translator_id\'].\'\">\'.$translation[\'translator_name\'].\'</li>\';\n        }\n        $translators = \'<div class=\"b-translators__block\"><div class=\"b-translators__title\">В русской озвучке от:</div><ul id=\"translators-list\" class=\"b-translators__list\">\'.$translators.\'</ul></div>\';\n    }\n    if ($last_season > 0 && $last_translator > 0 && $last_episode > 0 && $cook > 0 && $with_seasons > 0) {\n        $lastepisodeout = \'<div class=\"b-post__lastepisodeout\"><h2><i class=\"fa fa-eye\" style=\"font-size: 20px !important;\"></i>  \' . $serial_name . \'<span id=\"les\">. Вы остановились на \' . $last_season . \' сезоне \' . $last_episode . \' серии в озвучке «\' . $translator_title . \'»</span><i class=\"fa fa-trash\" onclick=\"del();\" id=\"lesc\" title=\"Удалить отметку\"></i></h2> </div>\';\n    }\n    elseif ($last_season > 0 && $last_translator > 0 && $last_episode > 0 && $cook > 0 && $with_seasons == 0) {\n        $lastepisodeout = \'<div class=\"b-post__lastepisodeout\"><h2><i class=\"fa fa-eye\" style=\"font-size: 20px !important;\"></i>  \' . $serial_name . \'<span id=\"les\">. Вы остановились на \' . $last_episode . \' серии в озвучке «\' . $translator_title . \'»</span><i class=\"fa fa-trash\" onclick=\"del();\" id=\"lesc\" title=\"Удалить отметку\"></i></h2> </div>\';\n    }\n    else {\n        $lastepisodeout = \'<div class=\"b-post__lastepisodeout\"><h2><i class=\"fa fa-eye\" style=\"font-size: 20px !important;\"></i>  \' . $serial_name . \'<span id=\"ln\"> \' . $playlist[$translator_num][\'max_season\'] . \' сезон \' . $playlist[$translator_num][\'max_episode\'] . \' серия</span><span id=\"les\"></span></h2></div>\';\n    }\n    $ajax_player = \'<div id=\"player\" class=\"b-player\" style=\"text-align: center;\">\';\n    $seasons = \'<ul id=\"simple-seasons-tabs\" class=\"b-simple_seasons__list clearfix\">\';\n\n    foreach ($playlist[$translator_num][\'episodes\'] as $season => $episode) {\n            \n        if ( $last_season > 0 ) {\n            if ( $last_season == $season ) $active_szn = \" active\";\n            else $active_szn = \"\";\n        }\n        else {\n            if ( $playlist[$translator_num][\'max_season\'] == $season ) $active_szn = \" active\";\n            else $active_szn = \"\";\n        }\n                \n        $seasons .= \'<li onclick=\"seasons();\" class=\"b-simple_season__item\' . $active_szn . \'\" data-this_season=\"\' . $season . \'\" data-this_translator=\"\' . $playlist[$translator_num][\'translator_id\'] . \'\">Сезон \' . $season . \'</li>\';\n    }\n    $seasons .= \'</ul>\';\n    \n    $episodes = \'<div class=\"prenext\"><div class=\"prevpl\" onclick=\"prevpl();\">&lsaquo;</div><div id=\"simple-episodes-tabs\">\';\n    $episodes .= \'<ul id=\"simple-episodes-list\" class=\"b-simple_episodes__list clearfix\">\';\n    \n    if ( $last_season > 0 ) $season_num = $last_season;\n    else $season_num = $playlist[$translator_num][\'max_season\'];\n            \n    foreach ($playlist[$translator_num][\'episodes\'][$season_num] as $episode_num) {\n        if ( $last_episode > 0 ) {\n            if ( $last_episode == $episode_num ) $active_epzd = \" active\";\n            else $active_epzd = \"\";\n        }\n        else {\n            if ( $playlist[$translator_num][\'max_episode\'] == $episode_num ) $active_epzd = \" active\";\n            else $active_epzd = \"\";\n        }\n        \n        $episodes .= \'<li onclick=\"episodes();\" class=\"b-simple_episode__item\' . $active_epzd . \'\" data-this_season=\"\' . $season_num . \'\" data-this_episode=\"\' . $episode_num . \'\" data-this_translator=\"\' . $playlist[$translator_num][\'translator_id\'] . \'\">Серия \' . $episode_num . \'</li>\';\n    }\n    $episodes .= \'</ul>\';\n    $episodes .= \'</div><div class=\"nextpl\" onclick=\"nextpl();\">&rsaquo;</div></div>\';\n        \n    if ( $last_season > 0 ) $this_season = \"&season=\".$last_season;\n    else $this_season = \"&season=\".$playlist[$translator_num][\'max_season\'];\n    if ( $last_episode > 0 ) $this_episode = \"&episode=\".$last_episode;\n    else $this_episode = \"&episode=\".$playlist[$translator_num][\'max_episode\'];\n    if ( $last_translator > 0 ) $this_translator = \"&translation=\".$last_translator;\n    else $this_translator = \"&translation=\".$playlist[$translator_num][\'translator_id\'];\n        \n    $iframe_url = $playlist[$translator_num][\'translator_link\'].\'&hidden=season,episode,translation\';\n    $iframe .= \'<div id=\"ibox\"><div id=\"player-loader-overlay\"></div><div id=\"player_alloha\" style=\"height: 100%; margin: 0 auto; width: 100%;\"><iframe src=\"\'.$iframe_url.$this_season.$this_episode.$this_translator.\'\" width=\"724\" height=\"460\" frameborder=\"0\" allowfullscreen=\"\"></iframe></div>\';\n\n    if ( $with_seasons > 0 )\n        $ajax_player = $ajax_player . $seasons . $iframe . $episodes;\n    else\n        $ajax_player = $ajax_player . $iframe . $episodes;\n\n    $ajax_player .= \'</div></div>\';\n    $ajax_player = $lastepisodeout . $translators . $ajax_player;\n\n    echo $ajax_player;\n    \n}\n\nif ($playlist && $action == \'translates\') {\n\n    foreach ( $playlist as $pl ) {\n        if ( $pl[\'translator_id\'] == $this_translator ) {\n            $this_playlist = $pl;\n            break;\n        }\n    }\n\n    $seasons = \'<ul id=\"simple-seasons-tabs\" class=\"b-simple_seasons__list clearfix\">\';\n    foreach ($this_playlist[\'episodes\'] as $season => $episode) {\n            \n        if ( $this_playlist[\'max_season\'] == $season ) $active_szn = \" active\";\n        else $active_szn = \"\";\n                \n        $seasons .= \'<li onclick=\"seasons();\" class=\"b-simple_season__item\' . $active_szn . \'\" data-this_season=\"\' . $season . \'\" data-this_translator=\"\' . $this_translator . \'\">Сезон \' . $season . \'</li>\';\n            \n        if ( $this_playlist[\'max_season\'] == $season ) {\n            \n            $episodes = \'<div class=\"prenext\"><div class=\"prevpl\" onclick=\"prevpl();\">&lsaquo;</div><div id=\"simple-episodes-tabs\">\';\n            $episodes .= \'<ul id=\"simple-episodes-list\" class=\"b-simple_episodes__list clearfix\">\';\n            \n            foreach ($episode as $episode_num) {\n                if ( $this_playlist[\'max_episode\'] == $episode_num ) $active_epzd = \" active\";\n                else $active_epzd = \"\";\n            \n                $episodes .= \'<li onclick=\"episodes();\" class=\"b-simple_episode__item\' . $active_epzd . \'\" data-this_season=\"\' . $season . \'\" data-this_episode=\"\' . $episode_num . \'\" data-this_translator=\"\' . $this_translator . \'\">Серия \' . $episode_num . \'</li>\';\n            }\n            $episodes .= \'</ul>\';\n            $episodes .= \'</div><div class=\"nextpl\" onclick=\"nextpl();\">&rsaquo;</div></div>\';\n        }\n    }\n    $seasons .= \'</ul>\';\n        \n    if ( $last_season > 0 ) $this_season = \"&season=\".$last_season;\n    else $this_season = \"&season=\".$this_playlist[\'max_season\'];\n    if ( $last_episode > 0 ) $this_episode = \"&episode=\".$last_episode;\n    else $this_episode = \"&episode=\".$this_playlist[\'max_episode\'];\n    if ( $last_translator > 0 ) $this_translator = \"&translation=\".$last_translator;\n    else $this_translator = \"&translation=\".$this_translator;\n        \n    $iframe_url = $this_playlist[\'translator_link\'].\'&hidden=season,episode,translation\';\n    $iframe .= \'<div id=\"ibox\"><div id=\"player-loader-overlay\"></div><div id=\"player_alloha\" style=\"height: 100%; margin: 0 auto; width: 100%;\"><iframe src=\"\'.$iframe_url.$this_season.$this_translator.$this_episode.\'\" width=\"724\" height=\"460\" frameborder=\"0\" allowfullscreen=\"\"></iframe></div>\';\n\n    if ( $with_seasons > 0 )\n        $ajax_player = $seasons . $iframe . $episodes;\n    else\n        $ajax_player = $iframe . $episodes;\n\n    echo $ajax_player;\n}\n\nif ($playlist && $action == \'seasons\') {\n    \n    foreach ( $playlist as $pl ) {\n        if ( $pl[\'translator_id\'] == $this_translator ) {\n            $this_playlist = $pl;\n            break;\n        }\n    }\n            \n    $episodes = \'<div class=\"prenext\"><div class=\"prevpl\" onclick=\"prevpl();\">&lsaquo;</div><div id=\"simple-episodes-tabs\">\';\n    $episodes .= \'<ul id=\"simple-episodes-list\" class=\"b-simple_episodes__list clearfix\">\';\n            \n    foreach ($this_playlist[\'episodes\'][$this_season] as $episode_num) {\n        if ( min($this_playlist[\'episodes\'][$this_season]) == $episode_num ) {\n          $active_epzd = \" active\";\n          $min_episode = $episode_num;\n        }\n        else $active_epzd = \"\";\n            \n        $episodes .= \'<li onclick=\"episodes();\" class=\"b-simple_episode__item\' . $active_epzd . \'\" data-this_season=\"\' . $this_season . \'\" data-this_episode=\"\' . $episode_num . \'\" data-this_translator=\"\' . $this_translator . \'\">Серия \' . $episode_num . \'</li>\';\n    }\n    $episodes .= \'</ul>\';\n    $episodes .= \'</div><div class=\"nextpl\" onclick=\"nextpl();\">&rsaquo;</div></div>\';\n        \n    $this_season = \"&season=\".$this_season;\n    $this_episode = \"&episode=\".$min_episode;\n    $this_translator = \"&translation=\".$this_translator;\n        \n    $iframe_url = $this_playlist[\'translator_link\'].\'&hidden=season,episode,translation\';\n    $iframe .= \'<div id=\"ibox\"><div id=\"player-loader-overlay\"></div><div id=\"player_alloha\" style=\"height: 100%; margin: 0 auto; width: 100%;\"><iframe src=\"\'.$iframe_url.$this_season.$this_translator.$this_episode.\'\" width=\"724\" height=\"460\" frameborder=\"0\" allowfullscreen=\"\"></iframe></div>\';\n\n    $ajax_player = $iframe . $episodes;\n\n    echo $ajax_player;\n    \n}',1,0,0,1,'',''),(139,4,'engine/modules/show.full.php','after','$xfieldsdata = $row[\'xfields_array\'];','			$alloha_domain = ENGINE_DIR.\'/data/alloha.domain\';\n\n			$config_mod = unserialize(file_get_contents(ENGINE_DIR.\'/data/alloha.config\'));\n			\n			if (!file_exists($alloha_domain) OR (time()-filemtime($alloha_domain))>600) {\n\n				if (!empty($config_mod[\'api_token\'])) {\n\n					$check_link = \'https://api.apbugall.org/health/?token=\'.$config_mod[\'api_token\'];\n					$ch = curl_init($check_link);\n					curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n					curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);\n					curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);\n					curl_setopt($ch, CURLOPT_TIMEOUT, 5);\n					curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);\n					curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);\n                    $headers = array(\n						\'User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.4147.135 Safari/537.36\',\n						\'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3\'\n				    );\n					curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);\n					$result = curl_exec($ch);\n					curl_close($ch);\n\n					$result = json_decode($result, true);\n					\n					if (isset($result[\'data\'][\'domain_player\'])) {\n						file_put_contents($alloha_domain, $result[\'data\'][\'domain_player\'], LOCK_EX);\n					} elseif ($data = @file_get_contents($alloha_domain)) {\n						file_put_contents($alloha_domain, $data, LOCK_EX);\n					} else {\n						file_put_contents($alloha_domain, \'\');\n					}\n					\n				}\n				\n			}\n\n			$alloha_domain = @file_get_contents($alloha_domain);\n\n			if (strlen($alloha_domain)>10) {\n				$mod_xfields = array_flip($config_mod[\'xfields\']);\n				$xf_iframe = $mod_xfields[\'{iframe_url}\'];\n				if (!empty($xfieldsdata[$xf_iframe])) {\n					$xfieldsdata[$xf_iframe] = preg_replace(\'#(https?:)?//[^/]+/#i\', $alloha_domain. \'/\', $xfieldsdata[$xf_iframe]);\n				}\n			}',1,0,0,1,'',''),(140,7,'engine/inc/editnews.php','before','echo <<<HTML\r\n{$output}','if (file_exists(ENGINE_DIR . \'/inc/CCDN/button.php\')) { $output .= include ENGINE_DIR . \'/inc/CCDN/button.php\';}',1,0,0,1,'','=='),(141,7,'engine/inc/addnews.php','before','echo <<<HTML\r\n{$output}','if (file_exists(ENGINE_DIR . \'/inc/CCDN/button.php\')) { $output .= include ENGINE_DIR . \'/inc/CCDN/button.php\';}',1,0,0,1,'','=='),(142,7,'engine/init.php','before','$tpl = new dle_template();','$ccdn_class = DLEPlugins::Check(ENGINE_DIR . \'/classes/CCDN/ccdn.class.php\');\r\nif (file_exists($ccdn_class)) {\r\n    require_once $ccdn_class;\r\n    $ccdn = new CCDN();\r\n}\r\n',1,0,0,1,'','=='),(143,7,'engine/classes/templates.class.php','before','foreach ( $this->data as $key_find => $key_replace ) {','global $ccdn;\r\n		if (isset($ccdn)) {\r\n			$ccdn->preCompile($this);\r\n		}',1,0,0,1,'','==');

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_plugins_logs`;

CREATE TABLE `dle_plugins_logs` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `plugin_id` int(11) NOT NULL DEFAULT '0',
  `area` text NOT NULL,
  `error` text NOT NULL,
  `type` varchar(10) NOT NULL DEFAULT '',
  `action_id` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `plugin_id` (`plugin_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_plugins_logs` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_pm`;

CREATE TABLE `dle_pm` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `subj` varchar(255) NOT NULL DEFAULT '',
  `text` text NOT NULL,
  `user` mediumint(9) NOT NULL DEFAULT '0',
  `user_from` varchar(40) NOT NULL DEFAULT '',
  `date` int(11) unsigned NOT NULL DEFAULT '0',
  `pm_read` tinyint(1) NOT NULL DEFAULT '0',
  `folder` varchar(10) NOT NULL DEFAULT '',
  `reply` tinyint(1) NOT NULL DEFAULT '0',
  `sendid` int(11) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `folder` (`folder`),
  KEY `user` (`user`),
  KEY `user_from` (`user_from`),
  KEY `pm_read` (`pm_read`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_pm` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_poll`;

CREATE TABLE `dle_poll` (
  `id` mediumint(9) unsigned NOT NULL AUTO_INCREMENT,
  `news_id` int(11) unsigned NOT NULL DEFAULT '0',
  `title` varchar(200) NOT NULL DEFAULT '',
  `frage` varchar(200) NOT NULL DEFAULT '',
  `body` text NOT NULL,
  `votes` mediumint(9) NOT NULL DEFAULT '0',
  `multiple` tinyint(1) NOT NULL DEFAULT '0',
  `answer` text NOT NULL,
  PRIMARY KEY (`id`),
  KEY `news_id` (`news_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_poll` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_poll_log`;

CREATE TABLE `dle_poll_log` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `news_id` int(11) unsigned NOT NULL DEFAULT '0',
  `member` varchar(40) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `news_id` (`news_id`),
  KEY `member` (`member`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_poll_log` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_post`;

CREATE TABLE `dle_post` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `autor` varchar(40) NOT NULL DEFAULT '',
  `date` datetime NOT NULL DEFAULT '2000-01-01 00:00:00',
  `short_story` mediumtext NOT NULL,
  `full_story` mediumtext NOT NULL,
  `xfields` mediumtext NOT NULL,
  `title` varchar(255) NOT NULL DEFAULT '',
  `descr` varchar(300) NOT NULL DEFAULT '',
  `keywords` text NOT NULL,
  `category` varchar(190) NOT NULL DEFAULT '0',
  `alt_name` varchar(190) NOT NULL DEFAULT '',
  `comm_num` mediumint(9) unsigned NOT NULL DEFAULT '0',
  `allow_comm` tinyint(1) NOT NULL DEFAULT '1',
  `allow_main` tinyint(1) unsigned NOT NULL DEFAULT '1',
  `approve` tinyint(1) NOT NULL DEFAULT '0',
  `fixed` tinyint(1) NOT NULL DEFAULT '0',
  `allow_br` tinyint(1) NOT NULL DEFAULT '1',
  `symbol` varchar(3) NOT NULL DEFAULT '',
  `tags` varchar(255) NOT NULL DEFAULT '',
  `kinopoisk_id` int(12) NOT NULL,
  `metatitle` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `autor` (`autor`),
  KEY `alt_name` (`alt_name`),
  KEY `category` (`category`),
  KEY `approve` (`approve`),
  KEY `allow_main` (`allow_main`),
  KEY `date` (`date`),
  KEY `symbol` (`symbol`),
  KEY `comm_num` (`comm_num`),
  KEY `fixed` (`fixed`),
  KEY `kinopoisk_id` (`kinopoisk_id`),
  FULLTEXT KEY `short_story` (`short_story`,`full_story`,`xfields`,`title`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_post` WRITE;

INSERT INTO `dle_post` VALUES (1,'Admin','2023-10-26 10:38:29','<p><!--dle_image_begin:/uploads/posts/2024-01/screen.webp|--><img src=\"/uploads/posts/2024-01/screen.webp\" style=\"max-width:100%;\" alt=\"Добро пожаловать\"><!--dle_image_end--></p>\n<p>Добро пожаловать на наш киносайт, где вы можете <b>смотреть онлайн</b>, а так же <b>скачать</b> через <b>торрент</b>, свои любимые <b>фильмы</b> и <b>сериалы</b>, <b>мультфильмы</b> и <b>TV шоу</b>, в отличном качестве бесплатно.<br><br>Здесь всё кино <b>доступно с любых устройств, компьютеров (ПК), смартфонов, а так же smart tv</b>, без регистрации, ограничений и без затрат!<br>Вам доступна большая видеотека, всех жанров и на любой вкус, которая постоянно пополняется. Воспользовавшись поиском по сайту, вы сможете найти то, что вам нужно, без особых затруднений. Если вы не нашли, то что искали, то скорее всего это уже в очереди на добавление.<br><br>Так же вы можете запросто сделать заявку на добавление любого фильма, или сериала, просто написав в комментарии к этой статье его название, и желательно год и страну выпуска, так как дополнительная информация поможет точнее выполнить ваш заказ.<br><br>Смотреть онлайн и скачать, можно просто, без регистрации, не нужно никакой оплаты. Однако если пройти простую, быструю и бесплатную регистрацию, то вам станет доступно больше возможностей, например, дополнительных плееров, для удобства, а так же просмотр скрытого контента, и других возможностей, которые не доступны пользователям без регистрации.<br><br>Сохраняйте сайт в закладках, чтоб не потеряться, и приятного вам времяпровождения!</p>','<p><!--dle_image_begin:/uploads/posts/2024-01/screen.webp||Добро пожаловать--><img src=\"/uploads/posts/2024-01/screen.webp\" style=\"max-width:100%;\" alt=\"Добро пожаловать\"><!--dle_image_end--></p>\n<p>Добро пожаловать на наш киносайт, где вы можете <b>смотреть онлайн</b>, а так же <b>скачать</b> через <b>торрент</b>, свои любимые <b>фильмы</b> и <b>сериалы</b>, <b>мультфильмы</b> и <b>TV шоу</b>, в отличном качестве бесплатно.<br><br>Здесь всё кино <b>доступно с любых устройств, компьютеров (ПК), смартфонов, а так же smart tv</b>, без регистрации, ограничений и без затрат!<br>Вам доступна большая видеотека, всех жанров и на любой вкус, которая постоянно пополняется. Воспользовавшись поиском по сайту, вы сможете найти то, что вам нужно, без особых затруднений. Если вы не нашли, то что искали, то скорее всего это уже в очереди на добавление.<br><br>Так же вы можете запросто сделать заявку на добавление любого фильма, или сериала, просто написав в комментарии к этой статье его название, и желательно год и страну выпуска, так как дополнительная информация поможет точнее выполнить ваш заказ.<br><br>Смотреть онлайн и скачать, можно просто, без регистрации, не нужно никакой оплаты. Однако если пройти простую, быструю и бесплатную регистрацию, то вам станет доступно больше возможностей, например, дополнительных плееров, для удобства, а так же просмотр скрытого контента, и других возможностей, которые не доступны пользователям без регистрации.<br><br>Сохраняйте сайт в закладках, чтоб не потеряться, и приятного вам времяпровождения!</p>','instream_ads|0','Добро пожаловать','Добро пожаловать на наш киносайт, где вы можете смотреть онлайн, а так же скачать через торрент, свои любимые фильмы и сериалы, мультфильмы и TV шоу, в отличном качестве бесплатно. Здесь всё кино доступно с любых устройств, компьютеров (ПК), смартфонов, а так же smart tv, без регистрации,','регистрации, можете, онлайн, скачать, доступно, нужно, добавление, просто, возможностей, Добро, пожаловать, киносайт, смотреть, через, торрент, любимые, фильмы, сериалы, мультфильмы, отличном','1','welcome',0,1,0,1,0,0,'Д','новости',0,'Добро пожаловать на сайт бесплатных фильмов и сериалов'),(2,'Admin','2023-10-26 10:38:09','<p><!--dle_image_begin:/uploads/posts/2024-01/01.webp|--><img src=\"/uploads/posts/2024-01/01.webp\" style=\"max-width:100%;\" alt=\"Настройка сайта. Добавление и проставление фильмов. Осуществление технической поддержки скрипта\"><!--dle_image_end--></p>\n<p>Статья для администраторов, по настройке сайта. Видит только администратор сайта.<br>Фильмы можно добавлять двумя способами: Вручную, по одному, или автоматически по крону, заполняя сайт из базы источника.</p>','<h2>Настройка сайта. Добавление и проставление фильмов</h2>\n<p><span style=\\\"color:rgb(186,55,42);\\\"><b>Внимание:</b></span>  Данный модуль-сборка является бесплатной и распространяется свободно.</p>\n<p>Все обсуждения по работе и варианты поддержки здесь <a href=\\\"https://visavi.net/topics/44648\\\" title=\\\"Форум Visavi\\\" target=\\\"_blank\\\" rel=\\\"noopener external\\\">https://visavi.net/topics/44648</a><br><br><b>Статья для администраторов, по настройке сайта</b>.<br>Фильмы можно добавлять двумя способами: Вручную, по одному, или автоматически по крону, заполняя сайт из базы источника.<br>Основной и главный источник - <!--dle_leech_begin--><a href=\\\"/index.php?do=go&amp;url=aHR0cHM6Ly9hbGxvaGEudHYvYWNjZXNzLz9yZWY9MDE0Njk5N2JkNjJkMGM3Y2EyOGY%3D\\\" title=\\\"Регистрация в Aloha\\\" target=\\\"_blank\\\"><b>База Алоха</b></a><!--dle_leech_end-->.<br>Основное наполнение идёт именно по ней, как самой большой и стабильной базе.<br>Остальные идут как дополнительные плеера, а так же для простановки и заполнения недостающих постеров и описания.<br><br></p>\n<h2>Первый способ, ручное добавление</h2>\n<p><br><br>В разделе Добавить новость, в поле Заголовок, пишем название фильма, или ID Кинопоиска.<br>Если по ID, то поиск будет более точным, если по названию, то выдаст список всех фильмов с таким названием.<br><br>Нажимаем кнопку Искать в базе alloha, выбираем нужный контент из списка.</p>\n<p><br></p>\n<p><!--dle_image_begin:/uploads/posts/2024-01/01.webp|--><img src=\"/uploads/posts/2024-01/01.webp\" style=\"max-width:100%;\" alt=\"Настройка сайта. Добавление и проставление фильмов. Осуществление технической поддержки скрипта\"><!--dle_image_end--></p>\n<p><br></p>\n<p>После чего проставятся данные к выбранному контенту, заполнив нужные поля. При необходимости, можно подредактировать.<br>Далее пролистываем вниз и проставляем дополнительные плеера, если есть необходимость.<br><b>Примечание:</b> Простановкой дополнительных плееров, так же могут загружаться постеры и описание, особенно если их нет в первом запросе.</p>\n<p><br></p>\n<p><!--dle_image_begin:/uploads/posts/2024-01/02.webp|--><img src=\"/uploads/posts/2024-01/02.webp\" style=\"max-width:100%;\" alt=\"\"><!--dle_image_end--></p>\n<p><br></p>\n<p>При необходимости редактируем данные в полях, после чего нажимаем кнопку Добавить в самом низу (или Сохранить при редактировании статьи)<br><br>Это был ручной способ добавления. Далее<br><br></p>\n<h3>Простановка по крону</h3>\n<p><br><br>В зависимости от вашего сервера и хостинга, интерфейс планоровщика и способ добавления могут отличатся.<br><br>Основное, нужно добавить в планировщик запрос по http или https<br>Виды запросов, чтобы загрузить список контента в очередь на простановку (При этом статьи пока не будут добавляться, это будет происходить при другом запросе)<br><br><!--QuoteBegin--><div class=\"quote\"><!--QuoteEBegin-->https://ваш домен<a href=\\\"/engine/ajax/controller.php?mod=alloha&amp;type=film&amp;secret_key=3344\\\">/engine/ajax/controller.php?mod=alloha&amp;type=film&amp;secret_key=3344</a> или ваш ПАРОЛЬ (Раз в сутки, или - в 00:00)<br>https://ваш домен<a href=\\\"/engine/ajax/controller.php?mod=alloha&amp;type=serial&amp;secret_key=3344\\\">/engine/ajax/controller.php?mod=alloha&amp;type=serial&amp;secret_key=3344</a> (Раз в сутки, или - в 01:00)<!--QuoteEnd--></div><!--QuoteEEnd--><br><br>Здесь соответственно в зависимости от <b>&amp;type</b> в строке, будет парситься указанный контент.<br>Например:<br>&amp;type=serial - сериалы<br>&amp;type=film - Фильмы<br>&amp;type=tvshow - ТВ шоу и так далее.<br><br><span style=\\\"color:#ce0000;\\\"><b>Внимание!</b></span> <br>Данные запросы выставлять на срабатывание ОДИН раз в сутки, и лучше всего, если каждый следующий &amp;type будет выполняться минимум через полчаса-час после предыдущего.<br>Здесь уже будете указывать в своём планировщике расписание запросов.<br><br><b>Следующее:</b><br>Непосредственно простановка из списка и добавление на сайт.<br>Выставлять раз в минуту, никак не меньше, иначе будут дубли. Если больше, то будет дольше проставление и наполнение сайта.<br><b>В кроне такой запрос:</b><br><!--QuoteBegin--><div class=\"quote\"><!--QuoteEBegin-->http://ваш домен<a href=\\\"/engine/ajax/controller.php?mod=alloha&amp;secret_key=3344\\\">/engine/ajax/controller.php?mod=alloha&amp;secret_key=3344</a><!--QuoteEnd--></div><!--QuoteEEnd--><br>Без <b>&amp;type</b> в строке, это именно уже наполнение сайта.<br><br>Ну и <b>для обновлений выхода новых серий</b>, добавляем следующий запрос<br><!--QuoteBegin--><div class=\"quote\"><!--QuoteEBegin-->http://ваш домен<a href=\\\"/engine/ajax/controller.php?mod=alloha&amp;last&amp;secret_key=3344\\\">/engine/ajax/controller.php?mod=alloha&amp;last&amp;secret_key=3344</a><!--QuoteEnd--></div><!--QuoteEEnd--><br><br>Здесь выставляем <b>не слишком часто</b>, например раз в 6, или 12 часов, или даже больше, 23-24 часа.<br><br>В некоторых видах крона (планировщика), можно просто выбрать тип выполнения, например запрос по http и вставить строку в поле, и назначить время срабатывания.<br>Но в большинстве случаев, планировщики примитивные и тогда нужно добавлять запрос примерно в таком виде</p>\n<pre><code>/usr/bin/wget -O /dev/null -q \\\"https://ваш домен/engine/ajax/controller.php?mod=alloha&amp;last&amp;secret_key=3344\\\"</code></pre>\n<p><br><br><br>Более подробно о вашем планировщике, смотрите в документации к вашей панели управления, или уточняйте у поддержки.<br><br>После наполнения сайта контентом, можно запускать <b>автоматическую простановку дополнительных плееров</b>, через которые будут добавляться так же описания и постеры, если их нет. Но это не во всех случаях, только по наличию в базе источников.<br><br>По очереди заходим в нужный модуль, выбираем вкладку Проставление ссылок и запускаем.</p>\n<p><br></p>\n<p style=\\\"text-align:center;\\\"><!--dle_image_begin:/uploads/posts/2024-01/06r.webp|--><img src=\"/uploads/posts/2024-01/06r.webp\" style=\"max-width:100%;\" alt=\"\"><!--dle_image_end--></p>\n<p style=\\\"text-align:center;\\\"><!--dle_image_begin:/uploads/posts/2024-01/03.webp|--><img src=\"/uploads/posts/2024-01/03.webp\" style=\"max-width:100%;\" alt=\"\"><!--dle_image_end--></p>\n<p style=\\\"text-align:center;\\\"><!--dle_image_begin:/uploads/posts/2024-01/04r.webp|--><img src=\"/uploads/posts/2024-01/04r.webp\" style=\"max-width:100%;\" alt=\"\"><!--dle_image_end--></p>\n<p style=\\\"text-align:center;\\\"><!--dle_image_begin:/uploads/posts/2024-01/05r.webp|--><img src=\"/uploads/posts/2024-01/05r.webp\" style=\"max-width:100%;\" alt=\"\"><!--dle_image_end--></p>\n<p style=\\\"text-align:center;\\\"><!--dle_image_begin:/uploads/posts/2024-01/y2lodpvhvggrjm.webp|--><img src=\"/uploads/posts/2024-01/y2lodpvhvggrjm.webp\" style=\"max-width:100%;\" alt=\"\"><!--dle_image_end--></p>','instream_ads|0','Настройка сайта. Добавление и проставление фильмов. Осуществление технической поддержки скрипта','Настройка сайта. Добавление и проставление фильмов Статья для администраторов, по настройке сайта. Фильмы можно добавлять двумя способами: Вручную, по одному, или автоматически по крону, заполняя сайт из базы источника. Основной и главный источник - База Алоха . Основное наполнение идёт именно по','сайта, будет, запрос, можно, наполнение, способ, будут, сутки, Здесь, &amp;type, проставление, фильмов, Фильмы, добавлять, крону, Основное, именно, дополнительные, плеера, описания','2','post2',0,1,0,1,0,0,'Н','',0,'Настройка сайта. Добавление и проставление фильмов'),(3,'Admin','2023-10-26 10:37:39','<p><b>Техническая поддержка скрипта</b> осуществляется силами <a href=\\\"https://visavi.net/topics/44648\\\" target=\\\"_blank\\\" rel=\\\"noopener external\\\">форума поддержки</a>. По мере поступления возникших у вас вопросов мы стараемся ответить на все ваши вопросы, но в связи с большим количеством посетителей, это не всегда является возможным. Поэтому гарантированная техническая поддержка предоставляется, только пользователям, которые задонатили на скрипт.<br><br><b>Услуги по технической поддержке скрипта включают в себя:</b><br><br>1. Приоритетное получение ответа на вопросы, которые задают пользователи впервые столкнувшиеся со скриптом и естественно не знающие всех нюансов работы скрипта. В компетенции службы поддержки находится только помощь только по непосредственным сбоям самого скрипта, в случае если причиной некорректной работы скрипта явился ваш шаблон, не соответствующий требованиям скрипта, то в поддержке вам может быть отказано.<br><br>2. Также вы получаете возможность одноразовой установки скрипта вам на сервер, включая настройку его до полной работоспособности с учетом текущих настроек сервера (иногда нужно верно отключить поддержку ЧПУ, включение специальных директив для Русского Апача, для верной загрузки картинок и прочее…).<br><br>3. Вы получаете консультационную поддержку по работе со структурой скрипта, например у вас есть желание добавить небольшие изменения в скрипт для более удобной работы для вас, вы сможете сэкономить время на поиске нужного куска кода просто спросив у нас. Вам будет предоставлена консультация где это копать и как вообще лучше реализовать поставленную задачу. (Внимание мы не пишем за вас дополнительные модули, а только помогаем вам лучше разобраться со структурой скрипта, поэтому всегда задавайте вопросы по существу, вопросы типа: «как мне сделать такую фишку» могут быть проигнорированы службой поддержки).<br><br>4. Еще одна из часто возникающих проблем это некорректное обновление скрипта, например во время обновления произошел сбой сервера, часть новых данных была внесена в базу и настройки, часть нет, в итоге вы получаете нерабочий скрипт, со всеми вытекающими последствиями. В данном случае для вас будет проведена ручная коррекция поврежденной структуры базы данных.<br><br>В случае если вы не являетесь подписчиком дополнительной службы поддержки, ваши вопросы могут быть проигнорированы и оставлены без ответа.<br><br><b>С уважением, Admin.<br></b><a href=\\\"https://pq.hosting/?from=18874\\\" target=\\\"_blank\\\" rel=\\\"noopener external\\\">Абузоустойчивый хостинг</a></p>\n<p><br></p>\n<p><!--dle_image_begin:/uploads/posts/2024-01/2_full.webp|--><img src=\"/uploads/posts/2024-01/2_full.webp\" style=\"max-width:100%;\" alt=\"Осуществление технической поддержки скрипта\"><!--dle_image_end--></p>','','instream_ads|0','Осуществление технической поддержки скрипта','Техническая поддержка скрипта осуществляется силами форума поддержки. По мере поступления возникших у вас вопросов мы стараемся ответить на все ваши вопросы, но в связи с большим количеством посетителей, это не всегда является возможным. Поэтому гарантированная техническая поддержка','скрипта, вопросы, только, поддержки, скрипт, работы, случае, получаете, поддержка, всегда, которые, поддержке, ответа, службы, сервера, поддержку, структурой, например, время, будет','2','post4',0,1,0,1,0,0,'О','',0,''),(4,'Admin','2024-01-08 12:05:08','<p>Управление и работа с категориями. Общие ознакомительные данные для администратора.<br>Данная публикация видна только администратором.</p>\n<p><br></p>\n<p><!--dle_image_begin:/uploads/posts/2024-01/d2pkavvswx9gnm.webp|--><img src=\"/uploads/posts/2024-01/d2pkavvswx9gnm.webp\" style=\"max-width:100%;\" alt=\"Управление статьями, Работа с категориями, добавление торрент файла\"><!--dle_image_end--></p>','<p>Управление и работа с категориями. Общие ознакомительные данные для администратора.<br>Данная публикация видна только администратором.<br><br></p>\n<h2>Публикации</h2>\n<p><br>Добавление новых статей и наполнение сайта, <a href=\\\"/2-post2.html\\\"><b>описаны здесь</b></a><br>Так же можно изменить содержание уже существующих статей, при этом id публикации не изменится.<br>Это делается простым редактированием уже существующей статьи, выборочно.<br><br></p>\n<h2>Категории</h2>\n<p><br><br>Чтобы не терять id уже созданных категорий, их не нужно удалять, можно просто отредактировать по своему усмотрению.<br>Это делается элементарно, в управлении категориями. Можно просто изменить содержание полей на свои, задавать родительскую категорию, или делать основной категорией.<br><br>Так же, если вам не нужно столько категорий, их тоже не нужно удалять, достаточно просто отключить, нажав на зелёный значок рядом с ID категории. И так же в обратном порядке включать категории.</p>\n<p><br></p>\n<p><!--dle_image_begin:/uploads/posts/2024-01/d2pkavvswx9gnm.webp|--><img src=\"/uploads/posts/2024-01/d2pkavvswx9gnm.webp\" style=\"max-width:100%;\" alt=\"Управление статьями, Работа с категориями, добавление торрент файла\"><!--dle_image_end--></p>\n<p><br></p>\n<h2>Добавление torrent файла и magnet ссылки</h2>\n<p><br><br>Добавление происходит в ручном режиме.<br>Можно добавить собственный созданный файл, или взятый с любого треккера, например rutor.info.<br>Вставлять в дополнительные поля. При этом, магнет ссылка копируется на источнике и вставляется в своё поле,<br>а торрент файл загружается по кнопке Загрузить файл. Можно простым перетаскиванием файла торрента на кнопку.</p>\n<p><br></p>\n<p><!--dle_image_begin:/uploads/posts/2024-01/torrent.webp|--><img src=\"/uploads/posts/2024-01/torrent.webp\" style=\"max-width:100%;\" alt=\"\"><!--dle_image_end--></p>','instream_ads|0','Управление статьями, Работа с категориями, добавление торрент файла','Управление и работа с категориями. Общие ознакомительные данные для администратора. Данная публикация видна только администратором. Публикации Добавление новых статей и наполнение сайта, описаны здесь Так же можно изменить содержание уже существующих статей, при этом id публикации не изменится. Это','Добавление, нужно, просто, Можно, категориями, статей, можно, изменить, содержание, делается, простым, категорий, удалять, категории, файла, Управление, работа, Общие, ознакомительные, данные','2','faq',0,1,0,1,0,0,'У','',0,''),(5,'Paralax','2024-01-08 14:05:44','<p>Действие разворачивается в Нью-Йорке 1958 года. В основе сюжета лежит история «примерной домохозяйки» Мириам Мейзел, которая внезапно обнаруживает у себя скрытый талант к стендапу.</p>','<p>Действие разворачивается в Нью-Йорке 1958 года. В основе сюжета лежит история «примерной домохозяйки» Мириам Мейзел, которая внезапно обнаруживает у себя скрытый талант к стендапу.</p>','description|Действие разворачивается в Нью-Йорке 1958 года. В основе сюжета лежит история «примерной домохозяйки» Мириам Мейзел, которая внезапно обнаруживает у себя скрытый талант к стендапу.||kinopoisk_id|994468||imdb_id|tt5788792||tmdb_id|70796||tokenalloha|1a332fd1846843488116cdc06d9d89||poster|/uploads/posts/2024-01/610x900_612.webp||torrent|[attachment=1:the_marvelous_mrs_maisel.torrent]||magnet|magnet:?xt=urn:btih:632cb77576c9003482413bd9b6a8d689f12d87a7&amp;dn=rutor.info_%D0%A3%D0%B4%D0%B8%D0%B2%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F+%D0%BC%D0%B8%D1%81%D1%81%D0%B8%D1%81+%D0%9C%D0%B5%D0%B9%D0%B7%D0%B5%D0%BB+%2F+The+Marvelous+Mrs.+Maisel+%5BS01-05%5D+%282017-2023%29+WEB-DLRip+%7C+Ozz%2C+Jaskier&amp;tr=udp://opentor.net:6969&amp;tr=http://retracker.local/announce||iframe_aloha|https://finarfin.allohastream.com/?token_movie=1a332fd1846843488116cdc06d9d89&amp;token=7cd7c55fb143d3cc0bbabfc3671656||trailer|https://finarfin.allohastream.com/t/?token_movie=1a332fd1846843488116cdc06d9d89&amp;token=7cd7c55fb143d3cc0bbabfc3671656||title_ru|Удивительная миссис Мейзел||title_en|The Marvelous Mrs. Maisel||countries|США||year|2017||genres|драма, комедия||actors|Рэйчел Броснахэн, Алекс Борштейн, Майкл Зеген, Марин Хинкль, Тони Шэлуб||directors|Эми Шерман-Палладино, Дэниэл Палладино, Скотт Эллис, Джеми Бэббит||quality|WEB-DL, WEBRip, WEB-DLRip||last_season|5||last_episode|9||episode_count|9||episode_plus|10||rating_kp|8.416||rating_imdb|8.7||translator|Субтитры, Оригинальная, Jaskier, TVShows, Укр. Субтитры, HDrezka Studio, Украинский, Ozz||time|00:57||mirovaja-premera|17 марта 2017||producers|Sal Carino, Dhana Rivera Gilbert, Дэниэл Палладино, Мэттью Шапиро||last_translate|Субтитры||seasone_plus|6||episode_type_2|1-9 серия||season_type_2|1-5 сезон||video_type|сериал||iframe_collaps|https://api.embr.ws/embed/movie/612||last_season_collaps|5 ||last_episode_collaps|9 ||episode_count_collaps|43||id_collaps|612||trivia|Пилотный эпизод сериала стал одним из самых успешных в истории Amazon Video. Он получил средний рейтинг зрителей 4,9 из 5 возможных.||poster_url|2024-01/610x900_612.webp|0|0|610x900|59.4 Kb','Удивительная миссис Мейзел','Действие разворачивается в Нью-Йорке 1958 года. В основе сюжета лежит история «примерной домохозяйки» Мириам Мейзел, которая внезапно обнаруживает у себя скрытый талант к стендапу.','Удивительная миссис Мейзел, 2017, США, The Marvelous Mrs Maisel смотреть, онлайн, бесплатно, hd','35','udivitelnaja-missis-mejzel',0,1,1,1,0,0,'У','драма, комедия, Рэйчел Броснахэн, Алекс Борштейн, Майкл Зеген, Марин Хинкль, Тони Шэлуб, Эми Шерман-Палладино, Дэниэл Палладино, Скотт Эллис, Джеми Бэббит, США',994468,'Удивительная миссис Мейзел смотреть онлайн бесплатно сериал 1-5 сезон 1-9 серия'),(6,'Paralax','2024-01-08 14:05:32','<p>Молодой афроамериканец по прозвищу Пепельница переезжает в Южный Централ, Лос-Анджелес к своему отцу. Пепельница гордится тем, что они с отцом выглядят ровесниками, это, по его мнению, «очень круто». А ещё, он старше своего папы на два года. Гордится он и своей бабушкой, которая в свои-то преклонные годы покуривает и не стесняется крепких словечек. Вскоре Пепельница встречается со своим кузеном по прозвищу Лок Дог. Этот парень — гангстер, в его личном арсенале не только пистолеты и автомат, но и ядерная боеголовка советского производства — «для самозащиты». Пепельница должен выбрать свой дальнейший путь в жизни: он может быть «просто хорошим чернокожим» или стать «опасным чернокожим», примкнув к банде своего кузена.</p>','<p>Молодой афроамериканец по прозвищу Пепельница переезжает в Южный Централ, Лос-Анджелес к своему отцу. Пепельница гордится тем, что они с отцом выглядят ровесниками, это, по его мнению, «очень круто». А ещё, он старше своего папы на два года. Гордится он и своей бабушкой, которая в свои-то преклонные годы покуривает и не стесняется крепких словечек. Вскоре Пепельница встречается со своим кузеном по прозвищу Лок Дог. Этот парень — гангстер, в его личном арсенале не только пистолеты и автомат, но и ядерная боеголовка советского производства — «для самозащиты». Пепельница должен выбрать свой дальнейший путь в жизни: он может быть «просто хорошим чернокожим» или стать «опасным чернокожим», примкнув к банде своего кузена.</p>','description|Молодой афроамериканец по прозвищу Пепельница переезжает в Южный Централ, Лос-Анджелес к своему отцу. Пепельница гордится тем, что они с отцом выглядят ровесниками, это, по его мнению, «очень круто». А ещё, он старше своего папы на два года. Гордится он и своей бабушкой, которая в свои-то преклонные годы покуривает и не стесняется крепких словечек. Вскоре Пепельница встречается со своим кузеном по прозвищу Лок Дог. Этот парень — гангстер, в его личном арсенале не только пистолеты и автомат, но и ядерная боеголовка советского производства — «для самозащиты». Пепельница должен выбрать свой дальнейший путь в жизни: он может быть «просто хорошим чернокожим» или стать «опасным чернокожим», примкнув к банде своего кузена.||kinopoisk_id|4807||imdb_id|tt0116126||tmdb_id|10607||tokenalloha|11610d89da44cfeed7b2e49f60377b||poster|/uploads/posts/2024-01/610x900_1224.webp||torrent|[attachment=2:ne_grozi_jugnomu_centralu_1996_x264_bdripavc-me.torrent]||magnet|magnet:?xt=urn:btih:7c0603ecb13b7642da0e6aa055f2a9edef98e728&amp;dn=rutor.info_%D0%9D%D0%B5+%D0%B3%D1%80%D0%BE%D0%B7%D0%B8+%D1%8E%D0%B6%D0%BD%D0%BE%D0%BC%D1%83+%D1%86%D0%B5%D0%BD%D1%82%D1%80%D0%B0%D0%BB%D1%83%2C+%D0%BF%D0%BE%D0%BF%D0%B8%D0%B2%D0%B0%D1%8F+%D1%81%D0%BE%D0%BA+%D1%83+%D1%81%D0%B5%D0%B1%D1%8F+%D0%B2+%D0%BA%D0%B2%D0%B0%D1%80%D1%82%D0%B0%D0%BB%D0%B5+%2F+Don%27t+Be+a+Menace+to+South+Central+While+Drinking+Your+Juice+in+the+Hood+%281996%29+BDRip-AVC+%D0%BE%D1%82+MediaClub+%7C+P%2C+A&amp;tr=udp://opentor.net:6969&amp;tr=http://retracker.local/announce||iframe_aloha|https://finarfin.allohastream.com/?token_movie=11610d89da44cfeed7b2e49f60377b&amp;token=7cd7c55fb143d3cc0bbabfc3671656||trailer|https://finarfin.allohastream.com/t/?token_movie=11610d89da44cfeed7b2e49f60377b&amp;token=7cd7c55fb143d3cc0bbabfc3671656||title_ru|Не грози южному централу, попивая сок у себя в квартале||title_en|Don\\\'t Be a Menace to South Central While Drinking Your Juice in the Hood||slogan|Finally, the movie that proves that Justice isn\\\'t always Poetic, Jungle Fever isn\\\'t always pretty, and Higher Learning can be a waste of time||countries|США||year|1995||age|18||genres|комедия, криминал||actors|Шон Уайанс, Марлон Уайанс, Трэйси Черелл Джонс, Крис Спенсер, Сули МакКалло||directors|Пэрис Барклай||quality|BDRip||rating_kp|7.206||rating_imdb|6.5||translator|Гоблин||time|01:29||mirovaja-premera|12 января 1996||producers|Марк Бёрг, Дэн Дженетти, Эрик Л. Голд, Кэрри Морроу||video_type|фильм||iframe_collaps|https://api.embr.ws/embed/movie/1224||id_collaps|1224||trivia|Сцена с Маликом пародирует фильм «Высшее образование». Героя Омара Эппса там также звали Малик.||poster_url|2024-01/610x900_1224.webp|0|0|610x900|53 Kb','Не грози южному централу, попивая сок у себя в квартале','Молодой афроамериканец по прозвищу Пепельница переезжает в Южный Централ, Лос-Анджелес к своему отцу. Пепельница гордится тем, что они с отцом выглядят ровесниками, это, по его мнению, «очень круто». А ещё, он старше своего папы на два года. Гордится он и своей бабушкой, которая в свои-то','Не грози южному централу, попивая сок у себя в квартале, 1995, США, Don\'t Be a Menace to South Central While Drinking Your Juice in the Hood смотреть, онлайн, бесплатно, hd','10','ne-grozi-juzhnomu-centralu-popivaja-sok-u-sebja-v-kvartale',0,1,1,1,0,0,'Н','комедия, криминал, Шон Уайанс, Марлон Уайанс, Трэйси Черелл Джонс, Крис Спенсер, Сули МакКалло, Пэрис Барклай, США',4807,'Не грози южному централу, попивая сок у себя в квартале смотреть онлайн бесплатно (1995) в хорошем качестве HD'),(7,'Paralax','2024-01-08 14:05:19','<p>История о непростом детстве вундеркинда Шелдона Купера. Родители юного гения не разделяют увлечения сына наукой: его мать очень религиозна, а отец, бывший футбольный тренер, предпочитает проводить вечера в компании пива и телевизора. Со сверстниками тоже не ладится, ведь Шелдона куда больше детских игрушек интересует, где можно взять обогащённый уран для научных экспериментов.</p>','<p>История о непростом детстве вундеркинда Шелдона Купера. Родители юного гения не разделяют увлечения сына наукой: его мать очень религиозна, а отец, бывший футбольный тренер, предпочитает проводить вечера в компании пива и телевизора. Со сверстниками тоже не ладится, ведь Шелдона куда больше детских игрушек интересует, где можно взять обогащённый уран для научных экспериментов.</p>','description|История о непростом детстве вундеркинда Шелдона Купера. Родители юного гения не разделяют увлечения сына наукой: его мать очень религиозна, а отец, бывший футбольный тренер, предпочитает проводить вечера в компании пива и телевизора. Со сверстниками тоже не ладится, ведь Шелдона куда больше детских игрушек интересует, где можно взять обогащённый уран для научных экспериментов.||kinopoisk_id|1040419||imdb_id|tt6226232||tmdb_id|71728||tokenalloha|8d3e14e75b4d5e9a642b3a178c8a29||poster|/uploads/posts/2024-01/610x900_391.webp||torrent|[attachment=3:young_sheldon_s06.torrent]||magnet|magnet:?xt=urn:btih:d49f5b2629bbd39d18a726100a59d2ce217b4716&amp;dn=rutor.info_%D0%94%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%BE+%D0%A8%D0%B5%D0%BB%D0%B4%D0%BE%D0%BD%D0%B0+%2F+Young+Sheldon+%5BS06%5D+%282022%29+WEB-DL+720p+%7C+%D0%9A%D1%83%D1%80%D0%B0%D0%B6-%D0%91%D0%B0%D0%BC%D0%B1%D0%B5%D0%B9&amp;tr=udp://opentor.net:6969&amp;tr=http://retracker.local/announce||iframe_aloha|https://finarfin.allohastream.com/?token_movie=8d3e14e75b4d5e9a642b3a178c8a29&amp;token=7cd7c55fb143d3cc0bbabfc3671656||trailer|https://finarfin.allohastream.com/t/?token_movie=8d3e14e75b4d5e9a642b3a178c8a29&amp;token=7cd7c55fb143d3cc0bbabfc3671656||title_ru|Детство Шелдона||title_en|Young Sheldon||title_alt|Юный Шелдон||countries|США||year|2017||age|12||genres|комедия||actors|Иэн Армитедж, Зои Перри, Лэнс Барбер, Монтана Джордан, Реган Реворд||directors|Алекс Рейд, Джаффар Махмуд, Крис Кох, Ховард Дойч||quality|WEB-DL, WEBRip, HDRip, WEB-DLRip||last_season|6||last_episode|22||episode_count|22||episode_plus|23||rating_kp|8.399||rating_imdb|7.6||translator|Кураж-бамбей, TVShows, HDrezka Studio, Оригинальная||time|00:30||mirovaja-premera|25 сентября 2017||premera-v-rf|2 февраля 2018||producers|Тимоти Маркс, Стивен Моларо, Джим Парсонс, Тодд Спивак||last_translate|Кураж-бамбей||seasone_plus|7||episode_type_2|1-22 серия||season_type_2|1-6 сезон||video_type|сериал||iframe_collaps|https://api.embr.ws/embed/movie/391||last_season_collaps|6 ||last_episode_collaps|22 ||episode_count_collaps|127||id_collaps|391||trivia|Актриса Зои Перри, которая играет мать молодого Шелдона на самом деле является дочерью актрисы Лори Меткаф, которая играет мать взрослого Шелдона Купера в сериале \"Теория большого взрыва\".\n\nВступление в сериале является пародией на сериал \"Крутой Уокер\" (1993-2001).\n\nДействие сериала начинается в 1989 году, когда Шелдону Куперу было 9 лет.\n\nБабушку Шелдона по материнской линии играет Энни Поттс. Актриса призналась, что в работе над образом многое позаимствовала у кантри-певицы и актрисы Долли Ребекки Партон.\n\nВо второй серии Мэри выражает беспокойство из-за того, что Шелдон сидит в кафе в полном одиночестве. Повзрослев, Шелдон объяснит, что ему нравилось побыть в одиночестве и поразмышлять над тайнами вселенной.||poster_url|2024-01/610x900_391.webp|0|0|610x900|40.87 Kb','Детство Шелдона','История о непростом детстве вундеркинда Шелдона Купера. Родители юного гения не разделяют увлечения сына наукой: его мать очень религиозна, а отец, бывший футбольный тренер, предпочитает проводить вечера в компании пива и телевизора. Со сверстниками тоже не ладится, ведь Шелдона куда больше детских','Детство Шелдона, 2017, США, Young Sheldon, Юный Шелдон, смотреть, онлайн, бесплатно, hd','35','detstvo-sheldona',0,1,1,1,0,0,'Д','комедия, Иэн Армитедж, Зои Перри, Лэнс Барбер, Монтана Джордан, Реган Реворд, Алекс Рейд, Джаффар Махмуд, Крис Кох, Ховард Дойч, США',1040419,'Детство Шелдона смотреть онлайн бесплатно сериал 1-6 сезон 1-22 серия');

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_post_extras`;

CREATE TABLE `dle_post_extras` (
  `eid` int(11) NOT NULL AUTO_INCREMENT,
  `news_id` int(11) NOT NULL DEFAULT '0',
  `news_read` int(11) NOT NULL DEFAULT '0',
  `allow_rate` tinyint(1) NOT NULL DEFAULT '1',
  `rating` int(11) NOT NULL DEFAULT '0',
  `vote_num` int(11) NOT NULL DEFAULT '0',
  `votes` tinyint(1) NOT NULL DEFAULT '0',
  `view_edit` tinyint(1) NOT NULL DEFAULT '0',
  `disable_index` tinyint(1) NOT NULL DEFAULT '0',
  `related_ids` varchar(255) NOT NULL DEFAULT '',
  `access` varchar(150) NOT NULL DEFAULT '',
  `editdate` int(11) unsigned NOT NULL DEFAULT '0',
  `editor` varchar(40) NOT NULL DEFAULT '',
  `reason` varchar(255) NOT NULL DEFAULT '',
  `user_id` int(11) NOT NULL DEFAULT '0',
  `disable_search` tinyint(1) NOT NULL DEFAULT '0',
  `need_pass` tinyint(1) NOT NULL DEFAULT '0',
  `allow_rss` tinyint(1) NOT NULL DEFAULT '1',
  `allow_rss_turbo` tinyint(1) NOT NULL DEFAULT '1',
  `allow_rss_dzen` tinyint(1) NOT NULL DEFAULT '1',
  `edited_now` varchar(100) NOT NULL DEFAULT '',
  PRIMARY KEY (`eid`),
  KEY `news_id` (`news_id`),
  KEY `user_id` (`user_id`),
  KEY `editdate` (`editdate`),
  KEY `rating` (`rating`),
  KEY `disable_search` (`disable_search`),
  KEY `allow_rss` (`allow_rss`),
  KEY `allow_rss_turbo` (`allow_rss_turbo`),
  KEY `allow_rss_dzen` (`allow_rss_dzen`),
  KEY `news_read` (`news_read`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_post_extras` WRITE;

INSERT INTO `dle_post_extras` VALUES (1,1,6,1,0,0,0,0,0,'','',1704703101,'Admin','',1,0,0,1,1,1,'{\"name\":\"Admin\",\"time\":1704704824}'),(2,2,1,0,0,0,0,0,0,'','',1704704021,'Admin','',1,0,0,1,1,1,''),(3,3,0,0,0,0,0,0,0,'','',1704704426,'Admin','',1,0,0,1,1,1,''),(4,4,1,0,0,0,0,0,0,'2,3','',1704704749,'Admin','',1,0,0,1,0,0,''),(5,5,6,1,1,1,0,0,0,'7','',1704786410,'Admin','',2,0,0,1,1,1,'{\"name\":\"Admin\",\"time\":1704953114}'),(6,6,0,1,1,1,0,0,0,'','',1704877376,'Admin','',2,0,0,1,1,1,'{\"name\":\"Admin\",\"time\":1704953132}'),(7,7,0,1,1,1,0,0,0,'','',1704877535,'Admin','',2,0,0,1,1,1,'{\"name\":\"Admin\",\"time\":1704877535}');

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_post_extras_cats`;

CREATE TABLE `dle_post_extras_cats` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `news_id` int(11) NOT NULL DEFAULT '0',
  `cat_id` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `news_id` (`news_id`),
  KEY `cat_id` (`cat_id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_post_extras_cats` WRITE;

INSERT INTO `dle_post_extras_cats` VALUES (1,1,1),(4,2,2),(5,3,2),(6,4,2),(7,5,35),(8,6,10),(9,7,35);

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_post_log`;

CREATE TABLE `dle_post_log` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `news_id` int(11) NOT NULL DEFAULT '0',
  `expires` varchar(15) NOT NULL DEFAULT '',
  `action` tinyint(1) NOT NULL DEFAULT '0',
  `move_cat` varchar(190) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `news_id` (`news_id`),
  KEY `expires` (`expires`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_post_log` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_post_pass`;

CREATE TABLE `dle_post_pass` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `news_id` int(11) NOT NULL DEFAULT '0',
  `password` text NOT NULL,
  PRIMARY KEY (`id`),
  KEY `news_id` (`news_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_post_pass` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_question`;

CREATE TABLE `dle_question` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `question` varchar(255) NOT NULL DEFAULT '',
  `answer` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_question` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_read_log`;

CREATE TABLE `dle_read_log` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `news_id` int(11) NOT NULL DEFAULT '0',
  `ip` varchar(46) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `news_id` (`news_id`),
  KEY `ip` (`ip`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_read_log` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_redirects`;

CREATE TABLE `dle_redirects` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `from` varchar(250) NOT NULL DEFAULT '',
  `to` varchar(250) NOT NULL DEFAULT '',
  `enabled` tinyint(1) NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`),
  KEY `enabled` (`enabled`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_redirects` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_rss`;

CREATE TABLE `dle_rss` (
  `id` smallint(6) NOT NULL AUTO_INCREMENT,
  `url` varchar(255) NOT NULL DEFAULT '',
  `description` text NOT NULL,
  `allow_main` tinyint(1) NOT NULL DEFAULT '0',
  `allow_rating` tinyint(1) NOT NULL DEFAULT '0',
  `allow_comm` tinyint(1) NOT NULL DEFAULT '0',
  `text_type` tinyint(1) NOT NULL DEFAULT '0',
  `date` tinyint(1) NOT NULL DEFAULT '0',
  `search` text NOT NULL,
  `max_news` tinyint(3) NOT NULL DEFAULT '0',
  `cookie` text NOT NULL,
  `category` smallint(6) NOT NULL DEFAULT '0',
  `lastdate` int(11) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_rss` WRITE;

INSERT INTO `dle_rss` VALUES (1,'https://dle-news.ru/rss.xml','Официальный сайт DataLife Engine',1,1,1,1,1,'<div class=\"card-body post-body pl-4 pr-3 pb-4 pt-0\">{get}<div class=\"card-footer d-flex align-content-center pt-0 pl-0 pr-4 pb-3\">',5,'',1,0);
;
UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_rssinform`;

CREATE TABLE `dle_rssinform` (
  `id` smallint(6) NOT NULL AUTO_INCREMENT,
  `tag` varchar(40) NOT NULL DEFAULT '',
  `descr` varchar(255) NOT NULL DEFAULT '',
  `category` varchar(200) NOT NULL DEFAULT '',
  `url` varchar(255) NOT NULL DEFAULT '',
  `template` varchar(40) NOT NULL DEFAULT '',
  `news_max` smallint(6) NOT NULL DEFAULT '0',
  `tmax` smallint(6) NOT NULL DEFAULT '0',
  `dmax` smallint(6) NOT NULL DEFAULT '0',
  `approve` tinyint(1) NOT NULL DEFAULT '1',
  `rss_date_format` varchar(20) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_rssinform` WRITE;

INSERT INTO `dle_rssinform` VALUES (1,'dle','Новости','0','https://www.ixbt.com/export/news.rss','informer',3,0,200,1,'j F Y H:i');

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_sendlog`;

CREATE TABLE `dle_sendlog` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `user` varchar(40) NOT NULL DEFAULT '',
  `date` int(11) unsigned NOT NULL DEFAULT '0',
  `flag` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `user` (`user`),
  KEY `date` (`date`),
  KEY `flag` (`flag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_sendlog` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_social_login`;

CREATE TABLE `dle_social_login` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `sid` varchar(40) NOT NULL DEFAULT '',
  `uid` int(11) NOT NULL DEFAULT '0',
  `password` varchar(32) NOT NULL DEFAULT '',
  `provider` varchar(15) NOT NULL DEFAULT '',
  `wait` tinyint(1) NOT NULL DEFAULT '0',
  `waitlogin` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `sid` (`sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_social_login` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_spam_log`;

CREATE TABLE `dle_spam_log` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `ip` varchar(46) NOT NULL DEFAULT '',
  `is_spammer` tinyint(1) NOT NULL DEFAULT '0',
  `email` varchar(50) NOT NULL DEFAULT '',
  `date` int(11) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `ip` (`ip`),
  KEY `is_spammer` (`is_spammer`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_spam_log` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_static`;

CREATE TABLE `dle_static` (
  `id` mediumint(9) NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL DEFAULT '',
  `descr` varchar(255) NOT NULL DEFAULT '',
  `template` mediumtext NOT NULL,
  `allow_br` tinyint(1) NOT NULL DEFAULT '0',
  `allow_template` tinyint(1) NOT NULL DEFAULT '0',
  `grouplevel` varchar(100) NOT NULL DEFAULT 'all',
  `tpl` varchar(255) NOT NULL DEFAULT '',
  `metadescr` varchar(300) NOT NULL DEFAULT '',
  `metakeys` text NOT NULL,
  `views` mediumint(9) NOT NULL DEFAULT '0',
  `template_folder` varchar(50) NOT NULL DEFAULT '',
  `date` int(11) unsigned NOT NULL DEFAULT '0',
  `metatitle` varchar(255) NOT NULL DEFAULT '',
  `allow_count` tinyint(1) NOT NULL DEFAULT '1',
  `sitemap` tinyint(1) NOT NULL DEFAULT '1',
  `disable_index` tinyint(1) NOT NULL DEFAULT '0',
  `disable_search` tinyint(1) NOT NULL DEFAULT '0',
  `password` text NOT NULL,
  PRIMARY KEY (`id`),
  KEY `name` (`name`),
  KEY `disable_search` (`disable_search`),
  FULLTEXT KEY `template` (`template`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_static` WRITE;

INSERT INTO `dle_static` VALUES (1,'dle-rules-page','Общие правила на сайте','<p><b>Общие правила поведения на сайте:</b></p><p>Начнем с того, что на сайте общаются сотни людей, разных религий и взглядов, и все они являются полноправными посетителями нашего сайта, поэтому если мы хотим чтобы это сообщество людей функционировало нам и необходимы правила. Мы настоятельно рекомендуем прочитать настоящие правила, это займет у вас всего минут пять, но сбережет нам и вам время и поможет сделать сайт более интересным и организованным.</p><p>Начнем с того, что на нашем сайте нужно вести себя уважительно ко всем посетителям сайта. Не надо оскорблений по отношению к участникам, это всегда лишнее. Если есть претензии - обращайтесь к Админам или Модераторам (воспользуйтесь личными сообщениями). Оскорбление других посетителей считается у нас одним из самых тяжких нарушений и строго наказывается администрацией. <b>У нас строго запрещен расизм, религиозные и политические высказывания.</b> Заранее благодарим вас за понимание и за желание сделать наш сайт более вежливым и дружелюбным.</p><p><b>На сайте строго запрещено:</b></p><ul><li>сообщения, не относящиеся к содержанию статьи или к контексту обсуждения</li><li>оскорбление и угрозы в адрес посетителей сайта</li><li>в комментариях запрещаются выражения, содержащие ненормативную лексику, унижающие человеческое достоинство, разжигающие межнациональную рознь</li><li>спам, а также реклама любых товаров и услуг, иных ресурсов, СМИ или событий, не относящихся к контексту обсуждения статьи</li></ul><p>Давайте будем уважать друг друга и сайт, на который Вы и другие читатели приходят пообщаться и высказать свои мысли. Администрация сайта оставляет за собой право удалять комментарии или часть комментариев, если они не соответствуют данным требованиям.</p><p>При нарушении правил вам может быть дано <b>предупреждение</b>. В некоторых случаях может быть дан бан <b>без предупреждений</b>. По вопросам снятия бана писать администратору.</p><p><b>Оскорбление</b> администраторов или модераторов также караются <b>баном</b> - уважайте чужой труд.</p><p style=\"text-align: center;\">{ACCEPT-DECLINE}</p>',1,1,'all','','Общие правила на сайте','Общие правила на сайте',1,'',1698305908,'',1,1,0,0,'');

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_static_files`;

CREATE TABLE `dle_static_files` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `static_id` int(11) NOT NULL DEFAULT '0',
  `author` varchar(40) NOT NULL DEFAULT '',
  `date` varchar(15) NOT NULL DEFAULT '',
  `name` varchar(200) NOT NULL DEFAULT '',
  `onserver` varchar(190) NOT NULL DEFAULT '',
  `dcount` int(11) NOT NULL DEFAULT '0',
  `size` bigint(20) NOT NULL DEFAULT '0',
  `checksum` char(32) NOT NULL DEFAULT '',
  `driver` mediumint(9) NOT NULL DEFAULT '0',
  `is_public` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `static_id` (`static_id`),
  KEY `onserver` (`onserver`),
  KEY `author` (`author`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_static_files` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_storage`;

CREATE TABLE `dle_storage` (
  `id` mediumint(9) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL DEFAULT '0',
  `type` smallint(6) NOT NULL DEFAULT '0',
  `accesstype` varchar(10) NOT NULL DEFAULT '',
  `connect_url` varchar(255) NOT NULL DEFAULT '',
  `connect_port` mediumint(9) NOT NULL DEFAULT '0',
  `username` varchar(255) NOT NULL DEFAULT '',
  `password` varchar(255) NOT NULL DEFAULT '',
  `path` varchar(255) NOT NULL DEFAULT '',
  `http_url` varchar(255) NOT NULL DEFAULT '',
  `client_key` varchar(255) NOT NULL DEFAULT '',
  `secret_key` varchar(255) NOT NULL DEFAULT '',
  `bucket` varchar(255) NOT NULL DEFAULT '',
  `region` varchar(255) NOT NULL DEFAULT '',
  `default_storage` tinyint(1) NOT NULL DEFAULT '0',
  `enabled` tinyint(1) NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`),
  KEY `enabled` (`enabled`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_storage` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_subscribe`;

CREATE TABLE `dle_subscribe` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL DEFAULT '0',
  `name` varchar(40) NOT NULL DEFAULT '',
  `email` varchar(50) NOT NULL DEFAULT '',
  `news_id` int(11) NOT NULL DEFAULT '0',
  `hash` varchar(32) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `news_id` (`news_id`),
  KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_subscribe` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_tags`;

CREATE TABLE `dle_tags` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `news_id` int(11) NOT NULL DEFAULT '0',
  `tag` varchar(100) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `news_id` (`news_id`),
  KEY `tag` (`tag`)
) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_tags` WRITE;

INSERT INTO `dle_tags` VALUES (3,3,'по'),(6,1,'новости'),(7,5,'драма'),(8,5,'комедия'),(9,5,'Рэйчел Броснахэн'),(10,5,'Алекс Борштейн'),(11,5,'Майкл Зеген'),(12,5,'Марин Хинкль'),(13,5,'Тони Шэлуб'),(14,5,'Эми Шерман-Палладино'),(15,5,'Дэниэл Палладино'),(16,5,'Скотт Эллис'),(17,5,'Джеми Бэббит'),(18,5,'США'),(19,6,'комедия'),(20,6,'криминал'),(21,6,'Шон Уайанс'),(22,6,'Марлон Уайанс'),(23,6,'Трэйси Черелл Джонс'),(24,6,'Крис Спенсер'),(25,6,'Сули МакКалло'),(26,6,'Пэрис Барклай'),(27,6,'США'),(28,7,'комедия'),(29,7,'Иэн Армитедж'),(30,7,'Зои Перри'),(31,7,'Лэнс Барбер'),(32,7,'Монтана Джордан'),(33,7,'Реган Реворд'),(34,7,'Алекс Рейд'),(35,7,'Джаффар Махмуд'),(36,7,'Крис Кох'),(37,7,'Ховард Дойч'),(38,7,'США');

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_twofactor`;

CREATE TABLE `dle_twofactor` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL DEFAULT '0',
  `pin` varchar(10) NOT NULL DEFAULT '',
  `attempt` tinyint(1) NOT NULL DEFAULT '0',
  `date` int(11) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `pin` (`pin`),
  KEY `date` (`date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_twofactor` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_usergroups`;

CREATE TABLE `dle_usergroups` (
  `id` smallint(6) NOT NULL AUTO_INCREMENT,
  `group_name` varchar(50) NOT NULL DEFAULT '',
  `allow_cats` text NOT NULL,
  `allow_adds` tinyint(1) NOT NULL DEFAULT '1',
  `cat_add` text NOT NULL,
  `allow_admin` tinyint(1) NOT NULL DEFAULT '0',
  `allow_addc` tinyint(1) NOT NULL DEFAULT '0',
  `allow_editc` tinyint(1) NOT NULL DEFAULT '0',
  `allow_delc` tinyint(1) NOT NULL DEFAULT '0',
  `edit_allc` tinyint(1) NOT NULL DEFAULT '0',
  `del_allc` tinyint(1) NOT NULL DEFAULT '0',
  `moderation` tinyint(1) NOT NULL DEFAULT '0',
  `allow_all_edit` tinyint(1) NOT NULL DEFAULT '0',
  `allow_edit` tinyint(1) NOT NULL DEFAULT '0',
  `allow_pm` tinyint(1) NOT NULL DEFAULT '0',
  `max_pm` smallint(6) NOT NULL DEFAULT '0',
  `max_foto` varchar(10) NOT NULL DEFAULT '',
  `allow_files` tinyint(1) NOT NULL DEFAULT '0',
  `allow_hide` tinyint(1) NOT NULL DEFAULT '1',
  `allow_short` tinyint(1) NOT NULL DEFAULT '0',
  `time_limit` tinyint(1) NOT NULL DEFAULT '0',
  `rid` smallint(6) NOT NULL DEFAULT '0',
  `allow_fixed` tinyint(1) NOT NULL DEFAULT '0',
  `allow_feed` tinyint(1) NOT NULL DEFAULT '1',
  `allow_search` tinyint(1) NOT NULL DEFAULT '1',
  `allow_poll` tinyint(1) NOT NULL DEFAULT '1',
  `allow_main` tinyint(1) NOT NULL DEFAULT '1',
  `captcha` tinyint(1) NOT NULL DEFAULT '0',
  `icon` varchar(200) NOT NULL DEFAULT '',
  `allow_modc` tinyint(1) NOT NULL DEFAULT '0',
  `allow_rating` tinyint(1) NOT NULL DEFAULT '1',
  `allow_offline` tinyint(1) NOT NULL DEFAULT '0',
  `allow_image_upload` tinyint(1) NOT NULL DEFAULT '0',
  `allow_file_upload` tinyint(1) NOT NULL DEFAULT '0',
  `allow_signature` tinyint(1) NOT NULL DEFAULT '0',
  `allow_url` tinyint(1) NOT NULL DEFAULT '1',
  `news_sec_code` tinyint(1) NOT NULL DEFAULT '1',
  `allow_image` tinyint(1) NOT NULL DEFAULT '0',
  `max_signature` smallint(6) NOT NULL DEFAULT '0',
  `max_info` smallint(6) NOT NULL DEFAULT '0',
  `admin_addnews` tinyint(1) NOT NULL DEFAULT '0',
  `admin_editnews` tinyint(1) NOT NULL DEFAULT '0',
  `admin_comments` tinyint(1) NOT NULL DEFAULT '0',
  `admin_categories` tinyint(1) NOT NULL DEFAULT '0',
  `admin_editusers` tinyint(1) NOT NULL DEFAULT '0',
  `admin_wordfilter` tinyint(1) NOT NULL DEFAULT '0',
  `admin_xfields` tinyint(1) NOT NULL DEFAULT '0',
  `admin_userfields` tinyint(1) NOT NULL DEFAULT '0',
  `admin_static` tinyint(1) NOT NULL DEFAULT '0',
  `admin_editvote` tinyint(1) NOT NULL DEFAULT '0',
  `admin_newsletter` tinyint(1) NOT NULL DEFAULT '0',
  `admin_blockip` tinyint(1) NOT NULL DEFAULT '0',
  `admin_banners` tinyint(1) NOT NULL DEFAULT '0',
  `admin_rss` tinyint(1) NOT NULL DEFAULT '0',
  `admin_iptools` tinyint(1) NOT NULL DEFAULT '0',
  `admin_rssinform` tinyint(1) NOT NULL DEFAULT '0',
  `admin_googlemap` tinyint(1) NOT NULL DEFAULT '0',
  `allow_html` tinyint(1) NOT NULL DEFAULT '1',
  `group_prefix` text NOT NULL,
  `group_suffix` text NOT NULL,
  `allow_subscribe` tinyint(1) NOT NULL DEFAULT '0',
  `allow_image_size` tinyint(1) NOT NULL DEFAULT '0',
  `cat_allow_addnews` text NOT NULL,
  `flood_news` smallint(6) NOT NULL DEFAULT '0',
  `max_day_news` smallint(6) NOT NULL DEFAULT '0',
  `force_leech` tinyint(1) NOT NULL DEFAULT '0',
  `edit_limit` smallint(6) NOT NULL DEFAULT '0',
  `captcha_pm` tinyint(1) NOT NULL DEFAULT '0',
  `max_pm_day` smallint(6) NOT NULL DEFAULT '0',
  `max_mail_day` smallint(6) NOT NULL DEFAULT '0',
  `admin_tagscloud` tinyint(1) NOT NULL DEFAULT '0',
  `allow_vote` tinyint(1) NOT NULL DEFAULT '0',
  `admin_complaint` tinyint(1) NOT NULL DEFAULT '0',
  `news_question` tinyint(1) NOT NULL DEFAULT '0',
  `comments_question` tinyint(1) NOT NULL DEFAULT '0',
  `max_comment_day` smallint(6) NOT NULL DEFAULT '0',
  `max_images` smallint(6) NOT NULL DEFAULT '0',
  `max_files` smallint(6) NOT NULL DEFAULT '0',
  `disable_news_captcha` smallint(6) NOT NULL DEFAULT '0',
  `disable_comments_captcha` smallint(6) NOT NULL DEFAULT '0',
  `pm_question` tinyint(1) NOT NULL DEFAULT '0',
  `captcha_feedback` tinyint(1) NOT NULL DEFAULT '1',
  `feedback_question` tinyint(1) NOT NULL DEFAULT '0',
  `files_type` varchar(255) NOT NULL DEFAULT '',
  `max_file_size` mediumint(9) NOT NULL DEFAULT '0',
  `files_max_speed` smallint(6) NOT NULL DEFAULT '0',
  `spamfilter` tinyint(1) NOT NULL DEFAULT '2',
  `allow_comments_rating` tinyint(1) NOT NULL DEFAULT '1',
  `max_edit_days` tinyint(1) NOT NULL DEFAULT '0',
  `spampmfilter` tinyint(1) NOT NULL DEFAULT '0',
  `force_reg` tinyint(1) NOT NULL DEFAULT '0',
  `force_reg_days` mediumint(9) NOT NULL DEFAULT '0',
  `force_reg_group` smallint(6) NOT NULL DEFAULT '4',
  `force_news` tinyint(1) NOT NULL DEFAULT '0',
  `force_news_count` mediumint(9) NOT NULL DEFAULT '0',
  `force_news_group` smallint(6) NOT NULL DEFAULT '4',
  `force_comments` tinyint(1) NOT NULL DEFAULT '0',
  `force_comments_count` mediumint(9) NOT NULL DEFAULT '0',
  `force_comments_group` smallint(6) NOT NULL DEFAULT '4',
  `force_rating` tinyint(1) NOT NULL DEFAULT '0',
  `force_rating_count` mediumint(9) NOT NULL DEFAULT '0',
  `force_rating_group` smallint(6) NOT NULL DEFAULT '4',
  `not_allow_cats` text NOT NULL,
  `allow_up_image` tinyint(1) NOT NULL DEFAULT '0',
  `allow_up_watermark` tinyint(1) NOT NULL DEFAULT '0',
  `allow_up_thumb` tinyint(1) NOT NULL DEFAULT '0',
  `up_count_image` smallint(6) NOT NULL DEFAULT '0',
  `up_image_side` varchar(20) NOT NULL DEFAULT '',
  `up_image_size` mediumint(9) NOT NULL DEFAULT '0',
  `up_thumb_size` varchar(20) NOT NULL DEFAULT '',
  `allow_mail_files` tinyint(1) NOT NULL DEFAULT '0',
  `max_mail_files` smallint(6) NOT NULL DEFAULT '0',
  `max_mail_allfiles` mediumint(9) NOT NULL DEFAULT '0',
  `mail_files_type` varchar(100) NOT NULL DEFAULT '',
  `video_comments` tinyint(1) NOT NULL DEFAULT '0',
  `media_comments` tinyint(1) NOT NULL DEFAULT '0',
  `min_image_side` varchar(20) NOT NULL DEFAULT '',
  `allow_public_file_upload` tinyint(1) NOT NULL DEFAULT '0',
  `force_comments_rating` tinyint(1) NOT NULL DEFAULT '0',
  `force_comments_rating_count` mediumint(9) NOT NULL DEFAULT '0',
  `force_comments_rating_group` smallint(6) NOT NULL DEFAULT '0',
  `max_downloads` smallint(6) NOT NULL DEFAULT '0',
  `admin_links` tinyint(1) NOT NULL DEFAULT '0',
  `admin_meta` tinyint(1) NOT NULL DEFAULT '0',
  `admin_redirects` tinyint(1) NOT NULL DEFAULT '0',
  `allow_change_storage` tinyint(1) NOT NULL DEFAULT '0',
  `self_delete` tinyint(1) NOT NULL DEFAULT '2',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_usergroups` WRITE;

INSERT INTO `dle_usergroups` VALUES (1,'Администраторы','all',1,'all',1,1,1,1,1,1,1,1,1,1,50,'101',1,1,1,0,1,1,1,1,1,1,0,'{THEME}/images/icon_1.gif',0,1,1,1,1,1,1,0,1,500,1000,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,'<b><span style=\"color:red\">','</span></b>',1,1,'all',0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,0,'zip,rar,doc,pdf,mp3,mp4',4096,0,2,1,0,0,0,0,1,0,0,1,0,0,1,0,0,1,'',1,1,1,3,'800x600',300,'200x150',1,3,1000,'jpg,png,zip,pdf',1,1,'10x10',1,0,0,4,0,1,1,1,1,0),(2,'Главные редакторы','all',1,'all',1,1,1,1,1,0,1,1,1,1,50,'101',1,1,1,0,2,1,1,1,1,1,0,'{THEME}/images/icon_2.gif',0,1,0,1,1,1,1,0,1,500,1000,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,'','',1,1,'all',0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,'zip,rar,doc,pdf,mp3,mp4',4096,0,2,1,0,0,0,0,2,0,0,2,0,0,2,0,0,2,'',1,1,1,3,'800x600',300,'200x150',1,3,1000,'jpg,png,zip,pdf',1,1,'10x10',1,0,0,4,0,0,0,0,1,0),(3,'Журналисты','all',1,'all',1,1,1,1,0,0,1,0,1,1,50,'101',1,1,1,0,3,0,1,1,1,1,0,'{THEME}/images/icon_3.gif',0,1,0,1,1,1,1,0,1,500,1000,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,'','',1,1,'all',0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,'zip,rar,doc,pdf,mp3,mp4',4096,0,2,1,0,0,0,0,3,0,0,3,0,0,3,0,0,3,'',1,1,1,3,'800x600',300,'200x150',0,3,1000,'jpg,png,zip,pdf',1,1,'10x10',0,0,0,4,0,0,0,0,1,2),(4,'Посетители','all',0,'all',0,1,1,1,0,0,0,0,0,1,20,'101',1,1,1,0,4,0,1,1,1,1,0,'{THEME}/images/icon_4.gif',0,1,0,1,0,1,1,1,0,500,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,'','',1,0,'all',0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,'zip,rar,doc,pdf,mp3,mp4',4096,0,2,1,0,2,0,0,4,0,0,4,0,0,4,0,0,4,'2',0,0,0,1,'800x600',300,'200x150',0,3,1000,'jpg,png,zip,pdf',0,0,'10x10',0,0,0,4,0,0,0,0,0,2),(5,'Гости','all',0,'all',0,1,0,0,0,0,0,0,0,0,0,'0',1,0,0,0,5,0,1,1,1,0,1,'{THEME}/images/icon_5.gif',0,1,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,'','',0,0,'all',0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,'',0,0,2,1,0,2,0,0,5,0,0,5,0,0,5,0,0,5,'2',0,0,0,1,'800x600',300,'200x150',0,3,1000,'jpg,png,zip,pdf',0,0,'10x10',0,0,0,4,0,0,0,0,0,0);

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_users`;

CREATE TABLE `dle_users` (
  `email` varchar(50) NOT NULL DEFAULT '',
  `password` varchar(255) NOT NULL DEFAULT '',
  `name` varchar(40) NOT NULL DEFAULT '',
  `user_id` int(11) NOT NULL AUTO_INCREMENT,
  `news_num` mediumint(9) NOT NULL DEFAULT '0',
  `comm_num` mediumint(9) NOT NULL DEFAULT '0',
  `user_group` smallint(6) NOT NULL DEFAULT '4',
  `lastdate` varchar(20) NOT NULL DEFAULT '',
  `reg_date` varchar(20) NOT NULL DEFAULT '',
  `banned` varchar(5) NOT NULL DEFAULT '',
  `allow_mail` tinyint(1) NOT NULL DEFAULT '1',
  `info` text NOT NULL,
  `signature` text NOT NULL,
  `foto` varchar(255) NOT NULL DEFAULT '',
  `fullname` varchar(100) NOT NULL DEFAULT '',
  `land` varchar(100) NOT NULL DEFAULT '',
  `favorites` text NOT NULL,
  `pm_all` smallint(6) NOT NULL DEFAULT '0',
  `pm_unread` smallint(6) NOT NULL DEFAULT '0',
  `time_limit` varchar(20) NOT NULL DEFAULT '',
  `xfields` text NOT NULL,
  `allowed_ip` varchar(255) NOT NULL DEFAULT '',
  `hash` varchar(32) NOT NULL DEFAULT '',
  `logged_ip` varchar(46) NOT NULL DEFAULT '',
  `restricted` tinyint(1) NOT NULL DEFAULT '0',
  `restricted_days` smallint(4) NOT NULL DEFAULT '0',
  `restricted_date` varchar(15) NOT NULL DEFAULT '',
  `timezone` varchar(100) NOT NULL DEFAULT '',
  `news_subscribe` tinyint(1) NOT NULL DEFAULT '0',
  `comments_reply_subscribe` tinyint(1) NOT NULL DEFAULT '0',
  `twofactor_auth` tinyint(1) NOT NULL DEFAULT '0',
  `cat_add` varchar(500) NOT NULL DEFAULT '',
  `cat_allow_addnews` varchar(500) NOT NULL DEFAULT '',
  `twofactor_secret` varchar(16) NOT NULL DEFAULT '',
  PRIMARY KEY (`user_id`),
  UNIQUE KEY `name` (`name`),
  UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_users` WRITE;

INSERT INTO `dle_users` VALUES ('admin@kinoizi.online','$2y$10$A4QdKz.Ktz7mreu4W2DxkedshAl1hhpEZ0u6cVrDVtolMDTNG.GYa','Admin',1,4,0,1,'1704966546','1698305908','',1,'','','','','','',0,0,'','','','f76d2eaafd7700bc1b3f33de57df747e','37.99.70.11',0,0,'','',0,0,0,'','',''),('paralax@dvd3.org','$2y$10$ZRps2LtEMr6yS2pbv2Fb8ui2.6McLwIRNwCiAcd7LbtPeD79nkFaS','Paralax',2,3,0,4,'1698307411','1698307411','',1,'','','','','','',0,0,'','','','','',0,0,'','',0,0,0,'','','');

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_users_delete`;

CREATE TABLE `dle_users_delete` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_users_delete` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_views`;

CREATE TABLE `dle_views` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `news_id` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_views` WRITE;

INSERT INTO `dle_views` VALUES (1,5);

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_vote`;

CREATE TABLE `dle_vote` (
  `id` mediumint(9) NOT NULL AUTO_INCREMENT,
  `category` text NOT NULL,
  `vote_num` mediumint(9) NOT NULL DEFAULT '0',
  `date` varchar(25) NOT NULL DEFAULT '0',
  `title` varchar(200) NOT NULL DEFAULT '',
  `body` text NOT NULL,
  `approve` tinyint(1) NOT NULL DEFAULT '1',
  `start` varchar(15) NOT NULL DEFAULT '',
  `end` varchar(15) NOT NULL DEFAULT '',
  `grouplevel` varchar(250) NOT NULL DEFAULT 'all',
  PRIMARY KEY (`id`),
  KEY `approve` (`approve`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_vote` WRITE;

INSERT INTO `dle_vote` VALUES (1,'all',0,'2023-10-26 10:38:28','Оцените работу движка','Лучший из новостных<br>Неплохой движок<br>Устраивает ... но ...<br>Встречал и получше<br>Совсем не понравился',1,'','','all');

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_vote_result`;

CREATE TABLE `dle_vote_result` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ip` varchar(46) NOT NULL DEFAULT '',
  `name` varchar(40) NOT NULL DEFAULT '',
  `vote_id` mediumint(9) NOT NULL DEFAULT '0',
  `answer` tinyint(3) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `answer` (`answer`),
  KEY `vote_id` (`vote_id`),
  KEY `ip` (`ip`),
  KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_vote_result` WRITE;

UNLOCK TABLES;

DROP TABLE IF EXISTS `dle_xfsearch`;

CREATE TABLE `dle_xfsearch` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `news_id` int(11) NOT NULL DEFAULT '0',
  `tagname` varchar(50) NOT NULL DEFAULT '',
  `tagvalue` varchar(100) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `news_id` (`news_id`),
  KEY `tagname` (`tagname`),
  KEY `tagvalue` (`tagvalue`)
) ENGINE=InnoDB AUTO_INCREMENT=106 DEFAULT CHARSET=utf8mb4;

LOCK TABLES `dle_xfsearch` WRITE;

INSERT INTO `dle_xfsearch` VALUES (71,5,'countries','США'),(72,5,'year','2017'),(73,5,'genres','драма'),(74,5,'genres','комедия'),(75,5,'actors','Рэйчел Броснахэн'),(76,5,'actors','Алекс Борштейн'),(77,5,'actors','Майкл Зеген'),(78,5,'actors','Марин Хинкль'),(79,5,'actors','Тони Шэлуб'),(80,5,'directors','Эми Шерман-Палладино'),(81,5,'directors','Дэниэл Палладино'),(82,5,'directors','Скотт Эллис'),(83,5,'directors','Джеми Бэббит'),(84,6,'countries','США'),(85,6,'year','1995'),(86,6,'genres','комедия'),(87,6,'genres','криминал'),(88,6,'actors','Шон Уайанс'),(89,6,'actors','Марлон Уайанс'),(90,6,'actors','Трэйси Черелл Джонс'),(91,6,'actors','Крис Спенсер'),(92,6,'actors','Сули МакКалло'),(93,6,'directors','Пэрис Барклай'),(94,7,'countries','США'),(95,7,'year','2017'),(96,7,'genres','комедия'),(97,7,'actors','Иэн Армитедж'),(98,7,'actors','Зои Перри'),(99,7,'actors','Лэнс Барбер'),(100,7,'actors','Монтана Джордан'),(101,7,'actors','Реган Реворд'),(102,7,'directors','Алекс Рейд'),(103,7,'directors','Джаффар Махмуд'),(104,7,'directors','Крис Кох'),(105,7,'directors','Ховард Дойч');

UNLOCK TABLES;