PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /home/trave494/demo2024feb.kerihosting.com/wp-content/plugins/wp-automatic/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : /home/trave494/demo2024feb.kerihosting.com/wp-content/plugins/wp-automatic/core.articlesbase.php |
<?php // Main class to inherit wp_automatic require_once 'core.php'; // Specific articles class Class WpAutomaticArticlesBase extends wp_automatic{ /* * ---* article base get links for a keyword --- */ function article_base_getlinks($keyword, $camp) { $camp_opt = unserialize ( $camp->camp_options ); // get associated page num from the keyword and camp id from wp_automatic_articles_keys $query = "select * from {$this->wp_prefix}automatic_articles_keys where keyword = '$keyword' and camp_id = '$camp->camp_id'"; $camp_key = $this->db->get_results ( $query ); $camp_key = $camp_key [0]; // Verify keyword exists if (count ( $camp_key ) == 0){ echo '<br>Keyword record not found'; return false; } // Result start first= 1,51,101 .. etc $page = $camp_key->page_num; if ( $page == - 1) { //check if it is reactivated or still deactivated if($this->is_deactivated($camp->camp_id, $keyword)){ $page = '1'; }else{ //still deactivated return false; } } // Start index from 1 not 0 if($page == 0) $page=1; // Report start result echo '<br>Trying to call AB for new links start from result:' . $page; // Keyword encoded $keywordenc = urlencode ( 'site:articlesbase.com '. trim($keyword) ); // Bing Link $curlurl="https://www.bing.com/search?q=$keywordenc&PC=U316&FORM=CHROMN&count=50&first=$page"; // Report Search Url echo '<br>Bing url:'.$curlurl; // Curl Get $x='error'; curl_setopt($this->ch, CURLOPT_HTTPGET, 1); curl_setopt($this->ch, CURLOPT_URL, trim($curlurl)); $exec=$this->curl_exec_follow($this->ch); $x=curl_error($this->ch); //no content and 302 header exists if(trim($exec) == ''){ echo '<br>Empty results from Bing page'; return false; } /* if(stristr($exec, 'no results') ){ echo '<br>Yandex No results found'; $this->deactivate_key($camp->camp_id, $keyword); return false; }*/ // Articles links <li class="b_algo"><h2><a href="http://www.articlesbase.com/chocolate-articles/what-you-should-know-about-craving-sweets-705813.html" preg_match_all('{<h2><a href="(http://www.articlesbase.*?)".*?li>}s', $exec , $matchsArr); $foundUrls = $matchsArr[1]; // Cache urls u=" preg_match_all('{<li class="b_algo".*?<div class="b_attribution"\s?(?:u="(.*?)")?.*?li>}s', $exec , $cacheMatchsArr); $cacheLinksArr = $cacheMatchsArr[1]; // No links? return if yes if(count($foundUrls) == 0 ){ echo '<br> no matching results found for this keyword'; $query = "update {$this->wp_prefix}automatic_articles_keys set page_num = '-1' where keyword = '$keyword' and camp_id = '$camp->camp_id'"; $this->db->query ( $query ); //deactivate for 60 minutes if(! in_array('OPT_NO_DEACTIVATE', $camp_opt)) $this->deactivate_key($camp->camp_id, $keyword); return false; } // Report links count echo '<br>Links got from AB:' . count ( $foundUrls ); $this->log ( 'links found', count ( $foundUrls ) . ' New Links added from Articles base to post articles from' ); echo '<ol>'; $i = 0; foreach ( $foundUrls as $link ) { // verify id in link echo '<li>Link:'.($link); $link_url = $link; if (stristr ( $link, 'articlesbase.com' ) && preg_match('{\d+\.html}', $link) ) { // verify uniqueness if( $this->is_execluded($camp->camp_id, $link_url) ){ echo '<-- Execluded'; continue; } if ( ! $this->is_duplicate($link_url) ) { $title = ''; $cache = ''; // cache link $cache = ''; $cache = $cacheLinksArr[$i]; $query = "insert into {$this->wp_prefix}automatic_articles_links (link,keyword,page_num,title,bing_cache) values('$link' ,'$keyword','$page','$title','$cache')"; $this->db->query ( $query ); $freshlinks = 1; } else { echo ' <- duplicated <a href="'.get_edit_post_link($this->duplicate_id).'">#'.$this->duplicate_id.'</a>'; } echo '</li>'; // incrementing i }else{ echo '<- Not an article url,skipping'; } // if contain id $i ++; } // foreach link echo '</ol>'; // updating page num $page = $page + 50; //check if this page exists if(stristr($exec, 'first='.$page)){ echo '<br>Next Page exists starts at: '.$page; }else{ // echo $exec; echo '<br>Last page reached resetting search index...'; $page = -1; if(! in_array('OPT_NO_DEACTIVATE', $camp_opt)) $this->deactivate_key($camp->camp_id, $keyword); } $query = "update {$this->wp_prefix}automatic_articles_keys set page_num = $page where keyword = '$keyword' and camp_id = '$camp->camp_id' "; $this->db->query ( $query ); return; } /* * ---* articlebase process camp --- */ function articlebase_get_post($camp) { $keywords = $camp->camp_keywords; $keywords = explode ( ",", $keywords ); foreach ( $keywords as $keyword ) { $keyword = trim($keyword); if (trim ( $keyword ) != '') { //update last keyword update_post_meta($camp->camp_id, 'last_keyword', trim($keyword)); // check if keyword exhausted to skip $query = "select * from {$this->wp_prefix}automatic_articles_keys where keyword = '$keyword' and camp_id='$camp->camp_id'"; $key = $this->db->get_results ( $query ); $key = $key [0]; // process feed echo '<br><b>Getting article for Keyword:</b>' . $keyword; // get links to fetch and post on the blogs $query = "select * from {$this->wp_prefix}automatic_articles_links where keyword = '$keyword' and status =0 and link like '%articlesbase.com%'"; $links = $this->db->get_results ( $query ); // when no links available get some links if (count ( $links ) == 0) { $this->article_base_getlinks ( $keyword, $camp ); // get links to fetch and post on the blogs $query = "select * from {$this->wp_prefix}automatic_articles_links where keyword = '$keyword' and status =0 and link like '%articlesbase.com%'"; $links = $this->db->get_results ( $query ); } // if no links then return if (count ( $links ) != 0) { foreach ( $links as $link ) { // updating status of the link to posted or 1 $query = "update {$this->wp_prefix}automatic_articles_links set status = '1' where id = '$link->id'"; $this->db->query ( $query ); // processing page and getting content $url = htmlspecialchars_decode($link->link) ; $title = $link->title; echo '<br>Processing Article :' . ($url); $binglink = "http://webcache.googleusercontent.com/search?q=cache:".urlencode($url); curl_setopt ( $this->ch, CURLOPT_HTTPGET, 1 ); curl_setopt ( $this->ch, CURLOPT_URL, trim ( ( $binglink ) ) ); curl_setopt ( $this->ch, CURLOPT_REFERER, 'http://ezinearticles.com' ); $exec = curl_exec ( $this->ch ); $x = curl_error($this->ch); $cacheLoadSuccess = false; // success flag if(stristr($exec,'About the Author')){ //valid google cache echo '<br>Successfully loaded the page from Google Cache'; $cacheLoadSuccess = true; }else{ echo '<br>No valid Googe cache found'; // Bing cache $cacheLink =''; $cacheToken = $link->bing_cache; if(trim($cacheToken) != '' && stristr($cacheToken, '|')){ $cacheTokenParms = explode( '|' , $cacheToken ); $cacheTokenParam1 = $cacheTokenParms[2]; $cacheTokenParam2 = $cacheTokenParms[3]; if(trim($cacheTokenParam1) != '' && trim($cacheTokenParam1) != ''){ $cacheLink = "http://cc.bingj.com/cache.aspx?d=$cacheTokenParam1&mkt=en-US&setlang=en-US&w=$cacheTokenParam2"; } }else{ echo '<br>No cache token found'; } if(trim($cacheLink) != ''){ echo '<br>Google cache failed Loading from Bing cache<br> Link:'.$cacheLink; curl_setopt ( $this->ch, CURLOPT_URL, trim ( $cacheLink ) ); $exec = curl_exec ( $this->ch ); if(stristr($exec,'About the Author')){ //valid google cache echo '<br>Successfully loaded the page from Bing Cache'; $cacheLoadSuccess = true; } } if(!$cacheLoadSuccess){ // Direct call echo '<br>Bing cache didnot return valid result direct call to ArticleBase '.$x; curl_setopt ( $this->ch, CURLOPT_URL, trim ( ( urldecode( $url ) ) ) ); curl_setopt ( $this->ch, CURLOPT_REFERER, 'http://ezinearticles.com' ); $exec = curl_exec ( $this->ch ); if(stristr($exec, 'About the Author')){ echo '<br>Ezinearticles returned the article successfully '; }else{ $this->link_execlude( $camp->camp_id, $link->link ); echo '<br>No article found at this link'; return false; } } } // Extracting content preg_match('{<div class="dropcap text">(.*?)<input type="hidden}s', $exec , $ArtMatches); $articleContentRaw = $ArtMatches[1]; $articleContentClean = $articleContentRaw; // Cleaning content $articleContentClean = preg_replace("{<script.*?script>}s", '', $articleContentRaw); $articleContentClean = preg_replace("{<div.*?\s</div>}s", '', $articleContentClean); $cont = trim($articleContentClean); // get the title <title>Make Money With Google Profit Kits Exposed - Don't Get Ripped Off!</title> @preg_match_all ( "{<title>(.*?)</title>}", $exec, $matches, PREG_PATTERN_ORDER ); @$res = $matches [1]; @$ttl = $res [0]; if (isset ( $ttl )) { $title = $ttl; } // Extract author preg_match('{<a href="(http://www.articlesbase.com/authors/.*?)" title="(.*?)\'s}s', $exec , $authorMatches ); $author_link = $authorMatches[1]; $author_name = $authorMatches[2]; $ret ['cont'] = $cont; $ret ['title'] = $title; $ret ['original_title'] = $title; $ret ['source_link'] = urldecode($url); $ret ['author_name'] = $author_name; $ret ['author_link'] = $author_link; $ret ['matched_content'] = $cont; $this->used_keyword=$link->keyword; if( trim($ret['cont']) == '' ) echo ' exec:'.$exec; return $ret; } // foreach link } // if count(links) } // if keyword not '' } // foreach keyword } }