Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- exports.url = "http://1kino.in/";
- exports.user = null;
- exports.pass = null;
- exports.name = "1kino";
- var req = require("request");
- var cheerio = require("cheerio");
- exports.setCredentials = function(user, pass) {
- this.user = user;
- this.pass = pass;
- }
- exports.login = function(pObj, callback) {
- console.log(pObj);
- req = req.defaults({
- jar:true,
- followAllRedirects: true,
- headers: {
- "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
- "Accept-Encoding": "gzip,deflate,sdch",
- "Accept-Language": "de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4,nl;q=0.2",
- "Cache-Control": "max-age=0",
- "Connection": "keep-alive",
- "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36"
- },
- gzip:true
- });
- var self = this;
- this.auth(function(err, body){
- if(pObj.mainData.isSeries) {
- return callback(true, "CURRENTLY NOT SUPPORTED");
- } else {
- self.addMovie(pObj, function(err,data){
- console.log(err);
- console.log(data);
- return callback(data);
- })
- }
- });
- }
- exports.auth = function(callback){
- var self = this;
- req(self.url+"wp-login.php", function(err,head,bdy){
- if(err)
- return callback(true, head);
- req.post({
- url: self.url+"wp-login.php",
- form: {
- log: self.user,
- pwd: self.pass,
- rememberme: "forever",
- "wp-submit": "Anmelden",
- redirect_to: self.url+"wp-admin/",
- testcookie: 1
- }
- }, function(err,rsp, body){
- if(err)
- return callback(true, err);
- return callback(null, body);
- })
- })
- };
- exports.addMovie = function(data, callback) {
- var self = this;
- req(this.url+"wp-admin/post-new.php?post_type=movie", function(err, body, resp){
- if(err)
- return callback(true, err);
- var $ = cheerio.load(resp);
- var postData = self.generatePostDataMovie(data, $("input[name=_acfnonce]").val() );
- var user_id = $("input[name=user_ID]").val();
- var _wpNonce = $("input[name=_wpnonce]").val();
- var newPostId = $("input[name=post_ID]").val();
- var metaBoxNonce = $("input[name=meta-box-order-nonce]").val();
- var closedBoxNonce = $("input[name=closedpostboxesnonce]").val();
- var ajax_add_meta_nonce = $("input[name=_ajax_nonce-add-meta]").val();
- req.post({
- url: self.url+"wp-admin/admin-ajax.php",
- form: postData,
- headers: {
- "X-Requested-With" : "XMLHttpRequest"
- }
- }, function(err, head, body){
- if(err)
- return callback(true, err);
- try {
- var rspJson = JSON.parse(body);
- } catch(e) {
- console.log(body);
- return callback(true, "Json not parseable");
- }
- if(rspJson.success != true || rspJson.data.valid != 1) {
- return callback(true, "Some data is missing");
- }
- var newPostObj = {
- _wpnonce: _wpNonce,
- _wp_http_referer:"/wp-admin/post-new.php?post_type=movie",
- user_ID:user_id,
- action:"editpost",
- originalaction:"editpost",
- post_author:user_id,
- post_type:"movie",
- original_post_status:"publish",
- referredby:"http://1kino.in/wp-admin/",
- _wp_original_http_referer:"http://1kino.in/wp-admin/",
- auto_draft:"1",
- post_ID: newPostId,
- "meta-box-order-nonce": metaBoxNonce,
- closedpostboxesnonce: closedBoxNonce,
- // AJAX REG
- // AJAX REG END
- "content" : "",
- "post_category[]":"0",
- "tax_input[post_tag]": "",
- "newtag[post_tag]": "",
- excerpt: "",
- metakeyselect:"#NONE#",
- metakeyinput: "",
- metavalue: "",
- "_ajax_nonce-add-meta": ajax_add_meta_nonce,
- advanced_view: "1",
- comment_status:"open",
- post_name: "",
- post_author_override: user_id
- }
- delete postData.action;
- req.post({
- url: self.url+"wp-admin/post.php",
- form: mergeObj(newPostObj, postData),
- followAllRedirects: true
- }, function(err, head, body){
- var $ = cheerio.load(body);
- var _wpNonce = $("input[name=_wpnonce]").val();
- req.post({
- url: self.url+"wp-admin/admin-ajax.php",
- form: {
- "action":"wp-remove-post-lock",
- "_wpnonce": _wpNonce,
- "post_ID": newPostId,
- "active_post_lock": Math.floor(Date.now() / 1000)+":"+user_id
- },
- headers: {
- "X-Requested-With" : "XMLHttpRequest"
- }
- }, function(err, head, body){
- return callback(false, "Post erfolgreich!");
- });
- })
- })
- })
- }
- exports.filterHoster = function(hoster) {
- var notAllowed = ["promptfile.com", "shared.sx"];
- var notAllowedLength = notAllowed.length;
- for(var i=0; i < notAllowedLength; i++) {
- var curHoster = notAllowed[i].toLowerCase();
- if(hoster.toLowerCase().indexOf(curHoster) !== -1) {
- return false;
- }
- }
- return true;
- }
- exports.generatePostDataMovie = function(data, verify) {
- var self = this;
- var chunk = [];
- var maxChunks = data.chunk.length;
- for(var i=0; i < maxChunks; i++) {
- var curChunk = data.chunk[i];
- var curChunkLength = curChunk.length;
- for(var x=0; x < curChunkLength; x++) {
- var _chunk = curChunk[x];
- if(self.filterHoster(_chunk)) {
- chunk.push(_chunk);
- }
- }
- }
- var postArr = {
- _acfnonce: verify,
- _acfchanged:1,
- //IMDB_ID
- "acf[field_569a81c0c104f]":data.mainData.imdb,
- //RLSTITLE
- "acf[field_569a81c0c19dd]":data.mainData.rlsTitle,
- //KA
- "acf[field_569a81c0c1c2f]":"deutsch",
- //KA
- "acf[field_569a81c0c2561]": "",
- //SOUND QULIATY
- "acf[field_569a81c0c2dec]": this.generateSound(data.mainData.soundQuality),
- // QUALITY
- "acf[field_569a81c0c33df]": this.generateVideo(data.mainData.quality),
- // KA
- "acf[field_569a81c0c3fe3]": "",
- // KA
- "acf[field_569a81c0c51e5]": "",
- // URLS
- "acf[field_569a81c0c625f]":chunk.join("\r\n"),
- action:"acf/validate_save_post"
- }
- return postArr;
- }
- exports.generateSound = function(quality) {
- switch(quality) {
- case 1:
- return "Schlecht (Mic)";
- case 3:
- return "Mittel (Line)";
- case 4:
- return "Gut (Dolby Digital/DVD-Rip)";
- }
- };
- exports.generateVideo = function(quality) {
- switch(quality) {
- case 1:
- return "Schlecht (Cam)";
- case 2:
- case 3:
- return "Mittel (WEB-Rip/Ts)";
- case 5:
- return "Gut (DVD/BD-Rip)";
- }
- }
- function mergeObj(obj1,obj2){
- var obj3 = {};
- for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
- for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
- return obj3;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement