function nxs_getBrdsOrCats_ajax() { global $nxs_gCookiesArr; check_ajax_referer('nxsSsPageWPN'); global $plgn_NS_SNAutoPoster; if (!isset($plgn_NS_SNAutoPoster)) { return; } $options = $plgn_NS_SNAutoPoster->nxs_options; if (get_magic_quotes_gpc() || $_POST['nxs_mqTest'] == "\\'") { $_POST['u'] = stripslashes($_POST['u']); $_POST['p'] = stripslashes($_POST['p']); } $_POST['p'] = trim($_POST['p']); $u = trim($_POST['u']); if ($_POST['ty'] == 'pn') { $loginError = doConnectToPinterest($_POST['u'], substr($_POST['p'], 0, 5) == 'g9c1a' ? nsx_doDecode(substr($_POST['p'], 5)) : $_POST['p']); if ($loginError !== false) { echo $loginError; return "BAD USER/PASS"; } $gPNBoards = doGetBoardsFromPinterest(); $options['pn'][$_POST['ii']]['pnBoardsList'] = base64_encode($gPNBoards); $options['pn'][$_POST['ii']]['pnSvC'] = serialize($nxs_gCookiesArr); if (is_array($options)) { update_option('NS_SNAutoPoster', $options); } echo $gPNBoards; die; } if ($_POST['ty'] == 'rd') { $loginError = doConnectToRD($_POST['u'], substr($_POST['p'], 0, 5) == 'g9c1a' ? nsx_doDecode(substr($_POST['p'], 5)) : $_POST['p']); if (!is_array($loginError)) { echo $loginError; return "BAD USER/PASS"; } $gBoards = doGetSubredditsFromRD(); $options['rd'][$_POST['ii']]['rdSubRedditsList'] = base64_encode($gBoards); if (is_array($options)) { update_option('NS_SNAutoPoster', $options); } echo $gBoards; die; } }
function doPostToNT($options, $message) { global $nxs_urlLen; $badOut = array('pgID' => '', 'isPosted' => 0, 'pDate' => date('Y-m-d H:i:s'), 'Error' => ''); //## Check settings if (!is_array($options)) { $badOut['Error'] = 'No Options'; return $badOut; } if (!isset($options['rdUName']) || trim($options['rdUName']) == '' || !isset($options['rdPass']) || trim($options['rdPass']) == '') { $badOut['Error'] = 'No username/password Found'; return $badOut; } //## Format Post if (!empty($message['pTitle'])) { $title = $message['pTitle']; } else { $title = nxs_doFormatMsg($options['rdTitleFormat'], $message); } $title = nsTrnc($title, 300); if (!empty($message['pText'])) { $text = $message['pText']; } else { $text = nxs_doFormatMsg($options['rdTextFormat'], $message); } //## Make Post $pass = substr($options['rdPass'], 0, 5) == 'n5g9a' ? nsx_doDecode(substr($options['rdPass'], 5)) : $options['rdPass']; $hdrsArr = ''; $loginInfo = doConnectToRD($options['rdUName'], $pass); if (!is_array($loginInfo)) { $badOut['Error'] = print_r($loginInfo, true) . " - ERROR"; return $badOut; } $mh = $loginInfo['mh']; $ck = $loginInfo['ck']; $post = array('uh' => $mh, 'sr' => $options['rdSubReddit'], 'title' => $title, 'save' => true); if ($options['postType'] == 'A') { $post['url'] = $message['url']; $post['kind'] = 'link'; $retNum = 16; } else { $post['text'] = $text; $post['kind'] = 'self'; $retNum = 10; } $url = "http://www.reddit.com/api/submit"; $postParams = array('method' => 'POST', 'timeout' => 45, 'redirection' => 0, 'extension' => 'json', 'headers' => $hdrsArr, 'body' => $post, 'cookies' => $ck); $response = wp_remote_post($url, $postParams); // prr($postParams); prr($response); if (is_wp_error($response)) { $badOut['Error'] = print_r($response, true) . " - ERROR"; return $badOut; } $response = json_decode($response['body'], true); $rdNewPostID = 'http://www.reddit.com'; // prr($response); if (!isset($response['jquery']) || !is_array($response['jquery'])) { $badOut['Error'] = print_r($response, true) . " - ERROR"; return $badOut; } $r = $response['jquery']; if (is_array($r[$retNum][3]) && count($r[$retNum][3]) > 0 && stripos($r[$retNum][3][0], 'http://') !== false) { $rdNewPostID = $r[$retNum][3][0]; } if (isset($r[18]) && is_array($r[18][3]) && count($r[18][3]) > 0 && stripos($r[18][3][0], 'error.BAD_CAPTCHA') !== false) { $badOut['Error'] = "ERROR: Post Rejected. Reddit thinks that you don't have rights to post here"; return $badOut; } if (isset($r[18]) && is_array($r[18][3]) && count($r[18][3]) > 0 && stripos($r[18][3][0], 'error') !== false) { $badOut['Error'] = "ERROR: " . $r[18][3][0]; return $badOut; } if (is_array($r[$retNum][3]) && count($r[$retNum][3]) > 0 && stripos($r[$retNum][3][0], 'http://') === false) { $badOut['Error'] = print_r($r[$retNum][3][0], true) . " - ERROR"; return $badOut; } if (isset($r[18]) && is_array($r[18][3]) && count($r[18][3]) > 0 && stripos($r[18][3][0], 'already been submitted') !== false) { $rdNewPostID .= str_ireplace('?already_submitted=true', '', $r[10][3][0]); } // echo "ID:".$rdNewPostID; if ($rdNewPostID != 'http://www.reddit.com') { return array('postID' => $rdNewPostID, 'isPosted' => 1, 'postURL' => $rdNewPostID, 'pDate' => date('Y-m-d H:i:s')); } else { $badOut['Error'] .= print_r($tmhOAuth->response['response'], true) . " MSG:" . print_r($msg, true); return $badOut; } return $badOut; }
function setNTSettings($post, $options) { $code = 'RD'; $lcode = 'rd'; foreach ($post as $ii => $pval) { if (!empty($pval['uName']) && !empty($pval['uPass'])) { if (!isset($options[$ii])) { $options[$ii] = array(); } if (isset($pval['uName'])) { $options[$ii]['rdUName'] = trim($pval['uName']); } if (isset($pval['nName'])) { $options[$ii]['nName'] = trim($pval['nName']); } if (isset($pval['uPass'])) { $options[$ii]['rdPass'] = '******' . nsx_doEncode($pval['uPass']); } else { $options[$ii]['rdPass'] = ''; } if (empty($options[$ii]['rdSubRedditsList'])) { $pass = substr($options[$ii]['rdPass'], 0, 5) == 'n5g9a' ? nsx_doDecode(substr($options[$ii]['rdPass'], 5)) : $options[$ii]['rdPass']; $loginInfo = doConnectToRD($options[$ii]['rdUName'], $pass); if (is_array($loginInfo)) { $options[$ii]['rdSubRedditsList'] = doGetSubredditsFromRD(); } } if (isset($pval['rdSubReddit'])) { $options[$ii]['rdSubReddit'] = trim($pval['rdSubReddit']); } if (isset($pval['catSel'])) { $options[$ii]['catSel'] = trim($pval['catSel']); } else { $options[$ii]['catSel'] = 0; } if ($options[$ii]['catSel'] == '1' && trim($pval['catSelEd']) != '') { $options[$ii]['catSelEd'] = trim($pval['catSelEd']); } else { $options[$ii]['catSelEd'] = ''; } if (isset($pval['postType'])) { $options[$ii]['postType'] = $pval['postType']; } if (isset($pval['rdTitleFormat'])) { $options[$ii]['rdTitleFormat'] = trim($pval['rdTitleFormat']); } if (isset($pval['rdTextFormat'])) { $options[$ii]['rdTextFormat'] = trim($pval['rdTextFormat']); } if (isset($pval['apDoRD'])) { $options[$ii]['doRD'] = $pval['apDoRD']; } else { $options[$ii]['doRD'] = 0; } $options[$ii] = nxs_adjRpst($options[$ii], $pval); if (isset($pval['delayDays'])) { $options[$ii]['nDays'] = trim($pval['delayDays']); } if (isset($pval['delayHrs'])) { $options[$ii]['nHrs'] = trim($pval['delayHrs']); } if (isset($pval['delayMin'])) { $options[$ii]['nMin'] = trim($pval['delayMin']); } if (isset($pval['qTLng'])) { $options[$ii]['qTLng'] = trim($pval['qTLng']); } } elseif (count($pval) == 1) { if (isset($pval['apDo' . $code])) { $options[$ii]['do' . $code] = $pval['apDo' . $code]; } else { $options[$ii]['do' . $code] = 0; } } } return $options; }