Exemple #1
0
function wpr_linksharepost($keyword, $num, $start, $optional = "", $comments = "")
{
    global $wpdb, $wpr_table_templates;
    if ($keyword == "") {
        // If keyword is empty return error
        $return["error"]["module"] = "Linkshare";
        $return["error"]["reason"] = "No keyword";
        $return["error"]["message"] = __("No keyword specified.", "wprobot");
        return $return;
    }
    $template = $wpdb->get_var("SELECT content FROM " . $wpr_table_templates . " WHERE type = 'linkshare'");
    if ($template == false || empty($template)) {
        // If module template is empty return error
        $return["error"]["module"] = "Linkshare";
        $return["error"]["reason"] = "No template";
        $return["error"]["message"] = __("Module Template does not exist or could not be loaded.", "wprobot");
        return $return;
    }
    $x = 0;
    $itemcontent = array();
    $pxml = wpr_linksharerequest($keyword, $num, $start);
    // Send API request
    if (!empty($pxml["error"])) {
        return $pxml;
    }
    if ($pxml === False) {
        $itemcontent["error"]["module"] = "Linkshare";
        $itemcontent["error"]["reason"] = "Request fail";
        $itemcontent["error"]["message"] = __("API request could not be sent.", "wprobot");
        return $itemcontent;
    } else {
        if (isset($pxml->item)) {
            foreach ($pxml->item as $item) {
                $unique = $item->sku;
                $title = $item->productname;
                $merchantname = $item->merchantname;
                $shortdesc = $item->description->short;
                $longdesc = $item->description->long;
                if (strlen($shortdesc) > strlen($longdesc)) {
                    $longdesc = $shortdesc;
                }
                $longdesc = htmlspecialchars_decode($longdesc);
                //echo html_entity_decode($longdesc);
                $url = $item->linkurl;
                $cat = $item->category->primary;
                $thumb = $item->imageurl;
                $price = "\$ " . number_format($item->price, 2, '.', '');
                if ($thumb != "") {
                    $thumbnail = '<a href="' . $url . '" rel="nofollow"><img style="float:left;margin: 0 20px 10px 0;" src="' . $thumb . '" /></a>';
                } else {
                    $thumbnail = '';
                }
                $content = $template;
                $content = wpr_random_tags($content);
                $content = str_replace("{thumbnail}", $thumbnail, $content);
                $content = str_replace("{imageurl}", $thumb, $content);
                $content = str_replace("{title}", $title, $content);
                $content = str_replace("{summary}", $shortdesc, $content);
                $content = str_replace("{description}", $longdesc, $content);
                $content = str_replace("{category}", $cat, $content);
                $content = str_replace("{price}", $price, $content);
                $content = str_replace("{url}", $url, $content);
                $content = str_replace("{keyword}", $keyword, $content);
                $content = str_replace("{merchant}", $merchantname, $content);
                if (function_exists("wpr_translate_partial")) {
                    $content = wpr_translate_partial($content);
                }
                if (function_exists("wpr_rewrite_partial")) {
                    $content = wpr_rewrite_partial($content, $options);
                }
                $customfield = array();
                $customfield["linksharetitle"] = $title;
                $customfield["linksharethumbnail"] = $thumb;
                $customfield["linkshareprice"] = $price;
                $customfield["lsmerchant"] = $merchantname;
                $itemcontent[$x]["unique"] = $unique;
                $itemcontent[$x]["title"] = $title;
                $itemcontent[$x]["content"] = $content;
                $itemcontent[$x]["customfield"] = $customfield;
                $x++;
            }
            if (empty($itemcontent)) {
                // Return error if no content has been found.
                $itemcontent["error"]["module"] = "Linkshare";
                $itemcontent["error"]["reason"] = "No content";
                $itemcontent["error"]["message"] = __("No (more) Linkshare items found.", "wprobot");
                return $itemcontent;
            } else {
                return $itemcontent;
            }
        } else {
            if (isset($pxml->Errors)) {
                // Check for API error messages in results and if found return them.
                $message = __('There was a problem with your API request. This is the error returned:', "wprobot") . ' <b>' . $pxml->Errors->ErrorText . '</b>';
                $itemcontent["error"]["module"] = "Linkshare";
                $itemcontent["error"]["reason"] = "API fail";
                $itemcontent["error"]["message"] = $message;
                return $itemcontent;
            } else {
                // Return error if no content has been found.
                $itemcontent["error"]["module"] = "Linkshare";
                $itemcontent["error"]["reason"] = "No content";
                $itemcontent["error"]["message"] = __("No (more) Linkshare items found.", "wprobot");
                return $itemcontent;
            }
        }
    }
}
Exemple #2
0
function wpr_rsspost($keyword="",$num,$start,$url,$comments="") {
   global $wpdb, $wpr_table_templates;

	$template = $wpdb->get_var("SELECT content FROM " . $wpr_table_templates . " WHERE type = 'rss'");
	if($template == false || empty($template)) {
		$return["error"]["module"] = "RSS";
		$return["error"]["reason"] = "No template";
		$return["error"]["message"] = __("Module Template does not exist or could not be loaded.","wprobot");
		return $return;	
	}	
	$options = unserialize(get_option("wpr_options"));	

	$kw = $keyword;
	$url = trim($url);
	$url2 = urldecode($url);
	$start = 0;
	$found = 0;

	if ( function_exists('curl_init') ) {
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; Konqueror/4.0; Microsoft Windows) KHTML/4.0.80 (like Gecko)");
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_URL, $url2);
		curl_setopt($ch, CURLOPT_TIMEOUT, 60);
		$response = curl_exec($ch);
		if (!$response) {
			$return["error"]["module"] = "RSS";
			$return["error"]["reason"] = "cURL Error";
			$return["error"]["message"] = __("cURL Error Number ","wprobot").curl_errno($ch).": ".curl_error($ch);	
			return $return;
		}		
		curl_close($ch);
	} else { 				
		$response = @file_get_contents($url2);
		if (!$response) {
			$return["error"]["module"] = "RSS";
			$return["error"]["reason"] = "cURL Error";
			$return["error"]["message"] = __("cURL is not installed on this server!","wprobot");	
			return $return;		
		}
	}
    
    $therss = @simplexml_load_string($response);
	if (!$therss){
		$therss = @simplexml_load_file($url);
	}
	//echo "<pre>".print_r($therss)."</pre>";	
	if (empty($therss)) {
		$return["error"]["module"] = "RSS";
		$return["error"]["reason"] = "RSS Error";
		$return["error"]["message"] = __("RSS Feed could not be loaded or is empty!","wprobot");	
		return $return;		
	}
	

	$posts = array();

	if(isset($therss->entry)) {$fee = $therss->entry;$ffr="blogger";} 
	elseif(isset($therss->channel->item)) {$fee = $therss->channel->item;} 
	elseif(isset($therss->item)) {$fee = $therss->item;} 
	else {$fee = "stop";}

	if($ffr=="blogger") {
	$ctitle = $therss->title;			
	} else {
	$ctitle = $therss->channel->title;
	$clink = $therss->channel->link;
	$cdesc = $therss->channel->description;			
	}

	if($fee == "stop") {
		$return["error"]["module"] = "RSS";
		$return["error"]["reason"] = "Invalid Feed";
		$return["error"]["message"] = __("Invalid Feed","wprobot");	
		return $return;			
	} else {
		foreach ($fee as $item) {

			$allabort = 0;	
			$abort = 0;		
//print_r($item);
			$title = $item->title;
			$title = preg_replace('/[\r\n\s]+/xms', ' ', trim($title));
			$title = strip_tags($title);
		
			$guid = $item->guid;	


			
			$gattr = $guid->attributes();			
			if($gattr['isPermaLink'] != "false" && !empty($guid)) {$unguid = $guid;} else {$unguid = "";}

			if($ffr=="blogger") {
				$link = $item->link;
				$descr = $item->summary;
				$fullcontent = $item->content; 
				$date = $item->published;

				if($kw != "" && $options['wpr_rss_filter']=='yes') {
					$kw = str_replace('"', '', $kw);
					
					$kws = explode(" AND ", $kw);
					//print_r($kws);
					foreach($kws as $kwx) {
						$kw2 = " ".$kwx." ";
						//echo $kw2."<br>";
						$c1 = stripos($fullcontent, $kw2);
						$c2 = stripos($descr, $kw2);
						$c3 = stripos($title, $kw2);
						if($c1 != false || $c2 != false || $c3 != false) {
							//echo "keyword was found<br>";
							$abort = 0;
						} else {
							//echo "keyword was not found<br>";			
							$abort = 1;
							$allabort = 1;
						}						
					}
				}
				
				foreach ($item->link as $link) {
				
					$attr = $link->attributes();
					if($link['rel'] == "replies" && $link['type'] == "application/atom+xml") {$commentRss = $link['href'];}
					if($link['rel'] == "alternate") {$sourcelink = $link['href']; }		
//echo $sourcelink . "<br><br>";			print_r($link);		
				}							

			} else {
				$sourcelink = $item->link;	


				
				$descr = $item->description;
				$date = $item->pubDate;	

				$dc  = $item->children("http://purl.org/dc/elements/1.1/");
				$creator = (string) $dc->creator;
				
				$ccc = $item->children("http://purl.org/rss/1.0/modules/content/");
				$fullcontent = (string)trim($ccc->encoded);
				
				
				if($kw != "" && $options['wpr_rss_filter']=='yes') {
					$kw = str_replace('"', '', $kw);
					
					$kws = explode(" AND ", $kw);
					//print_r($kws);
					foreach($kws as $kwx) {
						$kw2 = " ".$kwx." ";
						//echo $kw2."<br>";
						$c1 = stripos($fullcontent, $kw2);
						$c2 = stripos($descr, $kw2);
						$c3 = stripos($title, $kw2);
						if($c1 != false || $c2 != false || $c3 != false) {
							//echo "keyword was found<br>";
							$abort = 0;
						} else {
							//echo "keyword was not found<br>";			
							$abort = 1;
							$allabort = 1;
						}						
					}
				}
				
				$wfw = $item->children("http://wellformedweb.org/CommentAPI/");
				$commentRss = $wfw->commentRss;	
				
				$enclosure = $item->enclosure["url"];
				
				$media = $item->children('http://search.yahoo.com/mrss/');
				if($media->player) {
					$attrs = $media->player->attributes();
					$mediaplayer = $attrs['url']; 					  
				}
				if($media->content) {							
					$attrs = $media->content->attributes();
					$mediacontent = $attrs['url']; 
					$mediatype = $attrs['type']; 
					$mediaheight = $attrs['height']; 
					$mediawidth = $attrs['width'];  
					$video ='
					<object width="'.$mediawidth.'" height="'.$mediaheight.'">
					<param name="movie" value="'.$mediacontent.'"></param>
					<embed src="'.$mediacontent.'" type="'.$mediatype.'" width="'.$mediawidth.'" height="'.$mediaheight.'"></embed>
					</object>';		
					}
				if($media->thumbnail) {								  
					$attrs = $media->thumbnail[0]->attributes();
					$mediathumbnail = $attrs['url']; 
				}	
			}
			
			if(!empty($unguid)) {$uid = $unguid;} else {$uid = $sourcelink;}	

			if($abort == 0 && $allabort == 0 && !wpr_check_unique($uid)) {
	
				$source = '<a rel="nofollow" href="'.$sourcelink.'">'.$ctitle.'</a>';						
				if($fullcontent != "" && $options['wpr_rss_content']=='full') {$content = $fullcontent;} else {$content = $descr;}
				
				if ($options['wpr_rss_striplinks']=='yes') {$content = wpr_strip_selected_tags($content, array('a','iframe','script'));}
				
				if($options['wpr_rss_content']=='trunc') {$content = substr($content,0,350). "...";}
				
				$post = $template;	
				$post = wpr_random_tags($post);
				$content = str_replace("$", "$ ", $content); 
				$content = str_replace("\n\r", " ", $content); 				
				$content = str_replace("\n", " ", $content); 
				$post = str_replace("{content}", $content, $post);			
				$post = str_replace("{source}", $source, $post);	
				$post = str_replace("{author}", $creator, $post);
				$noqkeyword = str_replace('"', '', $keyword);
				$post = str_replace("{keyword}", $noqkeyword, $post);
				$post = str_replace("{Keyword}", ucwords($noqkeyword), $post);			
				$post = str_replace("{url}", $sourcelink, $post);	
				$post = str_replace("{title}", $title, $post);	
				$post = str_replace("{mediacontent}", $video, $post);
				$post = str_replace("{mediathumbnail}", $mediathumbnail, $post);							
				$post = str_replace("{enclosure}", $enclosure, $post);					
					if(function_exists("wpr_translate_partial")) {
						$post = wpr_translate_partial($post);
					}		
					if(function_exists("wpr_rewrite_partial")) {
						$post = wpr_rewrite_partial($post,$options);
					}	
					
				if(!empty($mediathumbnail)) {$customfield = $mediathumbnail;} elseif(!empty($enclosure)) {$customfield = $enclosure;} else {$customfield = "";}	
					
					$customfield2 = array();
					$customfield2["rsstitle"] = $title;
					$customfield2["rssmediacontent"] = $video;
					$customfield2["rssenclosure"] = $enclosure;
					$customfield2["rsssource"] = $sourcelink;
					$customfield2["rssimage"] = $customfield;						
					
				$posts[$found]["unique"] = $uid;
				$posts[$found]["title"] = $title;
				$posts[$found]["content"] = $post;	
				$posts[$found]["customfield"] = $customfield2;
				
				$found++;
				
			}
	
			if ($found==$num){break;}
		}
	}			

	//print_r($posts);
	
	if($found > 0) {
		return $posts;		
	} elseif($abort == 1) {
		// error: no posts found for keywords
		$posts["error"]["module"] = "RSS";
		$posts["error"]["reason"] = "No content";
		$posts["error"]["message"] = __("No post found in RSS feed for keyword $kw","wprobot");	
		return $posts;					
	} elseif($found == 0) {
		// error: no posts found
		$posts["error"]["module"] = "RSS";
		$posts["error"]["reason"] = "No content";
		$posts["error"]["message"] = __("No unposted RSS items found!","wprobot");	
		return $posts;	
	} elseif(empty($posts)) {
		// error: no posts found
		$posts["error"]["module"] = "RSS";
		$posts["error"]["reason"] = "No content";
		$posts["error"]["message"] = __("No items found in this feed!","wprobot");	
		return $posts;		
	} else {
		// error: no posts found
		$posts["error"]["module"] = "RSS";
		$posts["error"]["reason"] = "No content";
		$posts["error"]["message"] = __("No items found in this feed!","wprobot");	
		return $posts;			
	}
}
Exemple #3
0
function wpr_pressreleasepost($keyword, $num, $start, $optional = "", $comments = "")
{
    global $wpdb, $wpr_table_templates;
    if ($keyword == "") {
        $return["error"]["module"] = "Press Release";
        $return["error"]["reason"] = "No keyword";
        $return["error"]["message"] = __("No keyword specified.", "wprobot");
        return $return;
    }
    $template = $wpdb->get_var("SELECT content FROM " . $wpr_table_templates . " WHERE type = 'pressrelease'");
    if ($template == false || empty($template)) {
        $return["error"]["module"] = "Press Release";
        $return["error"]["reason"] = "No template";
        $return["error"]["message"] = __("Module Template does not exist or could not be loaded.", "wprobot");
        return $return;
    }
    $options = unserialize(get_option("wpr_options"));
    $posts = array();
    $keyword2 = $keyword;
    $keyword = str_replace(" ", "+", $keyword);
    $keyword = urlencode($keyword);
    $blist[] = "Mozilla/5.0 (compatible; Konqueror/4.0; Microsoft Windows) KHTML/4.0.80 (like Gecko)";
    $blist[] = "Mozilla/5.0 (compatible; Konqueror/3.92; Microsoft Windows) KHTML/3.92.0 (like Gecko)";
    $blist[] = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; Media Center PC 5.0; .NET CLR 1.1.4322; Windows-Media-Player/10.00.00.3990; InfoPath.2";
    $blist[] = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; Dealio Deskball 3.0)";
    $blist[] = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; NeosBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
    $ua = $blist[array_rand($blist)];
    $page = $start / 25;
    $page = (string) $page;
    $page = explode(".", $page);
    $page = (int) $page[0];
    $page++;
    if ($page == 0) {
        $page = 1;
    }
    $prep = floor($start / 25);
    $numb = $start - $prep * 25;
    $search_url = "http://www.prweb.com/Search.aspx?Search-releases={$keyword}&start={$page}";
    // make the cURL request to $search_url
    if (function_exists('curl_init')) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_USERAGENT, 'Firefox (WindowsXP) - Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6');
        curl_setopt($ch, CURLOPT_URL, $search_url);
        curl_setopt($ch, CURLOPT_FAILONERROR, true);
        curl_setopt($ch, CURLOPT_AUTOREFERER, true);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_TIMEOUT, 45);
        $html = curl_exec($ch);
        if (!$html) {
            $return["error"]["module"] = "Press Release";
            $return["error"]["reason"] = "cURL Error";
            $return["error"]["message"] = __("cURL Error Number ", "wprobot") . curl_errno($ch) . ": " . curl_error($ch);
            return $return;
        }
        curl_close($ch);
    } else {
        $html = @file_get_contents($search_url);
        if (!$html) {
            $return["error"]["module"] = "Press Release";
            $return["error"]["reason"] = "cURL Error";
            $return["error"]["message"] = __("cURL is not installed on this server!", "wprobot");
            return $return;
        }
    }
    // parse the html into a DOMDocument
    $dom = new DOMDocument();
    @$dom->loadHTML($html);
    // Grab Product Links
    $xpath = new DOMXPath($dom);
    $paras = $xpath->query("//div[@id='releases']//h3//a");
    $x = 0;
    $end = $numb + $num;
    if ($end > $paras->length) {
        $end = $paras->length;
    }
    if ($end == 0 || $end == $numb) {
        $posts["error"]["module"] = "Press Release";
        $posts["error"]["reason"] = "No content";
        $posts["error"]["message"] = __("No (more) pressreleases found.", "wprobot");
        return $posts;
    }
    for ($i = $numb; $i < $end; $i++) {
        $para = $paras->item($i);
        if ($para == '' | $para == null) {
            $posts["error"]["module"] = "Press Release";
            $posts["error"]["reason"] = "No content";
            $posts["error"]["message"] = __("No (more) pressreleases found.", "wprobot");
            return $posts;
        } else {
            $target_url = $para->getAttribute('href');
            // make the cURL request to $search_url
            if (function_exists('curl_init')) {
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_USERAGENT, 'Firefox (WindowsXP) - Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6');
                curl_setopt($ch, CURLOPT_URL, $target_url);
                curl_setopt($ch, CURLOPT_FAILONERROR, true);
                curl_setopt($ch, CURLOPT_AUTOREFERER, true);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($ch, CURLOPT_TIMEOUT, 45);
                $html = curl_exec($ch);
                if (!$html) {
                    $return["error"]["module"] = "Press Release";
                    $return["error"]["reason"] = "cURL Error";
                    $return["error"]["message"] = __("cURL Error Number ", "wprobot") . curl_errno($ch) . ": " . curl_error($ch);
                    return $return;
                }
                curl_close($ch);
            } else {
                $html = @file_get_contents($target_url);
                if (!$html) {
                    $return["error"]["module"] = "Press Release";
                    $return["error"]["reason"] = "cURL Error";
                    $return["error"]["message"] = __("cURL is not installed on this server!", "wprobot");
                    return $return;
                }
            }
            // parse the html into a DOMDocument
            $dom = new DOMDocument();
            @$dom->loadHTML($html);
            // Grab Press Release Title
            $xpath1 = new DOMXPath($dom);
            $paras1 = $xpath1->query("//h1[@class='title']");
            $para1 = $paras1->item(0);
            $title = $para1->textContent;
            // Grab Press Release Summary
            $xpath1 = new DOMXPath($dom);
            $paras1 = $xpath1->query("//h2[@class='subtitle']");
            $para1 = $paras1->item(0);
            $summary = $para1->textContent;
            // Grab Press Release Thumbnail
            $xpath1 = new DOMXPath($dom);
            $paras1 = $xpath1->query("//div/div[@class='mediaBox']/div/img[@class='newsImage']");
            $para1 = $paras1->item(0);
            if (isset($para1)) {
                $imgurl = $para1->getAttribute('src');
            }
            if (!empty($imgurl)) {
                $thumbnail = '<img style="float:left;margin: 0 20px 10px 0;" src="' . $imgurl . '" />';
            } else {
                $thumbnail = "";
            }
            // Grab Press Release
            $xpath2 = new DOMXPath($dom);
            //$paras2 = $xpath2->query("//div/div[@class='fullWidth floatLeft dottedTop']");
            $paras2 = $xpath2->query("//div/div[@class='one content']/div[@class='fullWidth floatLeft dottedTop']");
            $para2 = $paras2->item(0);
            $string = $dom->saveXml($para2);
            //	$string = preg_replace('#\#\#\#(.*)#smiU', '', $string);
            //	$string = preg_replace('Share: (.*)#smiU', '', $string);
            //	$string = preg_replace('#PRWeb News Center(.*)#smiU', '', $string);
            //	$string = preg_replace('#Create Account(.*)#smiU', '', $string);
            //	$string = preg_replace('#(.*)Printer Friendly Version#smiU', '', $string);
            //	$string = preg_replace('#<h1 class="h1">(.*)</h1>#smiU', '', $string);
            $string = preg_replace('#<div(.*)<p class="releaseDateline">#smiU', '', $string);
            $string = preg_replace('#<div(.*)</div>#smiU', '', $string);
            $string = preg_replace('#<p style=\\"text-align: center; font-weight: bold; clear: both;\\">(.*)</p>#smiU', '', $string);
            $string = preg_replace('#<p style=\\"text-align: center;  font-weight: bold;clear:both\\">(.*)</p>#smiU', '', $string);
            $string = str_replace("clear:both", "", $string);
            $string = str_replace("clear: both", "", $string);
            $string = str_replace("]]>", '', $string);
            $string = str_replace('xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml"&gt;', '', $string);
            $string = strip_tags($string, '<p><strong><b><br><i><img>');
            $string = str_replace("\$", "\$ ", $string);
            //$string = utf8_decode($string);
            if (function_exists('iconv')) {
                $string = iconv('UTF-8', 'ISO-8859-1//IGNORE', $string);
            }
            $pressreleasebody = $string;
            $pos2 = strpos($string, "301 Moved");
            if ($pos2 !== false) {
                $return["error"]["module"] = "Press Release";
                $return["error"]["reason"] = "IncNum";
                $return["error"]["message"] = __("Press release has been deleted or moved and was skipped.", "wprobot");
                return $return;
            }
            if (empty($pressreleasebody)) {
                $return["error"]["module"] = "Press Release";
                $return["error"]["reason"] = "No Content";
                $return["error"]["message"] = __("No press release found.", "wprobot");
                return $return;
            }
            //$title = utf8_decode($title);
            if (function_exists('iconv')) {
                $summary = iconv('UTF-8', 'ISO-8859-1//IGNORE', $summary);
            }
            if (function_exists('iconv')) {
                $title = iconv('UTF-8', 'ISO-8859-1//IGNORE', $title);
            }
            $post = $template;
            $post = wpr_random_tags($post);
            $post = str_replace("{pressrelease}", $pressreleasebody, $post);
            $post = str_replace("{summary}", $summary, $post);
            $post = str_replace("{thumbnail}", $thumbnail, $post);
            $noqkeyword = str_replace('"', '', $keyword2);
            $post = str_replace("{keyword}", $noqkeyword, $post);
            $post = str_replace("{Keyword}", ucwords($noqkeyword), $post);
            $post = str_replace("{title}", $title, $post);
            $post = str_replace("{url}", $target_url, $post);
            if (function_exists("wpr_translate_partial")) {
                $post = wpr_translate_partial($post);
            }
            if (function_exists("wpr_rewrite_partial")) {
                $post = wpr_rewrite_partial($post, $options);
            }
            $posts[$x]["unique"] = $target_url;
            $posts[$x]["title"] = $title;
            $posts[$x]["content"] = $post;
            $x++;
        }
    }
    return $posts;
}
Exemple #4
0
function wpr_twitterpost($keyword, $num, $start, $optional = "", $comments = "")
{
    global $wpdb, $wpr_table_templates;
    $options = unserialize(get_option("wpr_options"));
    if ($keyword == "") {
        // If keyword is empty return error
        $return["error"]["module"] = "Twitter";
        $return["error"]["reason"] = "No keyword";
        $return["error"]["message"] = __("No keyword specified.", "wprobot");
        return $return;
    }
    $template = $wpdb->get_var("SELECT content FROM " . $wpr_table_templates . " WHERE type = 'twitter'");
    if ($template == false || empty($template)) {
        // If module template is empty return error
        $return["error"]["module"] = "Twitter";
        $return["error"]["reason"] = "No template";
        $return["error"]["message"] = __("Module Template does not exist or could not be loaded.", "wprobot");
        return $return;
    }
    $x = 0;
    $itemcontent = array();
    $pxml = wpr_twitterrequest($keyword, $num, $start);
    // Send API request
    if (!empty($pxml["error"])) {
        return $pxml;
    }
    if ($pxml === False) {
        $itemcontent["error"]["module"] = "Twitter";
        $itemcontent["error"]["reason"] = "Request fail";
        $itemcontent["error"]["message"] = __("API request could not be sent.", "wprobot");
        return $itemcontent;
    } else {
        if (isset($pxml->entry)) {
            foreach ($pxml->entry as $news) {
                $title = $news->title;
                $summary = $news->content;
                if ($options['wpr_twitter_striplinks'] == 'yes') {
                    $summary = wpr_strip_selected_tags($summary, array('a', 'iframe', 'script'));
                }
                $authorurl = $news->author->uri;
                $authorname = $news->author->name;
                $date = $news->published;
                $author = "<a rel=\"nofollow\" href=\"{$authorurl}\">{$authorname}</a><br/><br/>";
                $content = $template;
                $content = wpr_random_tags($content);
                $content = str_replace("{title}", $title, $content);
                $content = str_replace("{tweet}", $summary, $content);
                $content = str_replace("{author}", $author, $content);
                $content = str_replace("{authorname}", $authorname, $content);
                $content = str_replace("{authorurl}", $authorurl, $content);
                $content = str_replace("{date}", $date, $content);
                $noqkeyword = str_replace('"', '', $keyword);
                $content = str_replace("{keyword}", $noqkeyword, $content);
                $content = str_replace("{Keyword}", ucwords($noqkeyword), $content);
                if (function_exists("wpr_translate_partial")) {
                    $content = wpr_translate_partial($content);
                }
                if (function_exists("wpr_rewrite_partial")) {
                    $content = wpr_rewrite_partial($content, $options);
                }
                $itemcontent[$x]["unique"] = $news->id;
                $itemcontent[$x]["title"] = $title;
                $itemcontent[$x]["content"] = $content;
                $x++;
            }
            if (empty($itemcontent)) {
                // Return error if no content has been found.
                $itemcontent["error"]["module"] = "Twitter";
                $itemcontent["error"]["reason"] = "No content";
                $itemcontent["error"]["message"] = __("No (more) Twitter items found.", "wprobot");
                return $itemcontent;
            } else {
                return $itemcontent;
            }
        } else {
            if (isset($pxml->Message)) {
                // Check for API error messages in results and if found return them.
                $message = __('There was a problem with your API request. This is the error returned:', "wprobot") . ' <b>' . $pxml->Message . '</b>';
                $itemcontent["error"]["module"] = "Twitter";
                $itemcontent["error"]["reason"] = "API fail";
                $itemcontent["error"]["message"] = $message;
                return $itemcontent;
            } else {
                // Return error if no content has been found.
                $itemcontent["error"]["module"] = "Twitter";
                $itemcontent["error"]["reason"] = "No content";
                $itemcontent["error"]["message"] = __("No (more) Twitter items found.", "wprobot");
                return $itemcontent;
            }
        }
    }
}
Exemple #5
0
function wpr_plrpost($keyword, $num, $start, $optional = "", $comments = "")
{
    global $wpdb, $wpr_table_templates, $wpr_cache;
    /*if($keyword == "") {
    		$return["error"]["module"] = "Yahoo News";
    		$return["error"]["reason"] = "No keyword";
    		$return["error"]["message"] = __("No keyword specified.","wprobot");
    		return $return;	
    	}
    	*/
    $options = unserialize(get_option("wpr_options"));
    $template = $wpdb->get_var("SELECT content FROM " . $wpr_table_templates . " WHERE type = 'plr'");
    if ($template == false || empty($template)) {
        $template = "{article}";
    }
    $wpr_saveurl = WPR_URLPATH . "plr";
    $folder = $wpr_cache . "/";
    $plrcontent = array();
    for ($i = 0; $i < $num; $i++) {
        $filename = wpr_plr_randomfile($folder, 'txt|pdf');
        //echo $filename . "<br>";
        $output = "";
        $title = "";
        $file = fopen($filename, "r");
        if (empty($file) || $file == false) {
            $plrcontent["error"]["module"] = "PLR";
            $plrcontent["error"]["reason"] = "No content";
            $plrcontent["error"]["message"] = __("No (more) PLR items found.", "wprobot");
            return $plrcontent;
        }
        while (!feof($file)) {
            if (empty($title)) {
                $title = fgets($file, 4096);
            }
            $output = $output . fgets($file, 4096);
            //read file line by line into variable
        }
        fclose($file);
        //$output = utf8_encode($output);
        if (function_exists('iconv')) {
            $output = iconv('UTF-8', 'ISO-8859-1//IGNORE', $output);
        }
        //echo $title . "<br>";
        //echo $output . "<br>";
        if (!empty($output) && !empty($title)) {
            // Keyword filter
            $kw = $keyword;
            if ($kw != "" && $options['wpr_plr_filter'] == 'yes') {
                $kw = str_replace('"', '', $kw);
                $kws = explode(" AND ", $kw);
                //print_r($kws);
                foreach ($kws as $kwx) {
                    $kw2 = " " . $kwx . " ";
                    //echo $kw2."<br>";
                    $c1 = stripos($output, $kw2);
                    $c2 = stripos($title, $kw2);
                    if ($c1 != false || $c2 != false) {
                        //echo "keyword was found<br>";
                        $abort = 0;
                    } else {
                        //echo "keyword was not found<br>";
                        $plrcontent["error"]["module"] = "PLR";
                        $plrcontent["error"]["reason"] = "IncNum";
                        $plrcontent["error"]["message"] = __("File skipped because filter keyword was not found.", "wprobot");
                        return $plrcontent;
                    }
                }
            }
            $content = $template;
            $content = wpr_random_tags($content);
            $content = str_replace("{article}", $output, $content);
            $content = str_replace("{title}", $title, $content);
            $noqkeyword = str_replace('"', '', $keyword);
            $content = str_replace("{keyword}", $noqkeyword, $content);
            $content = str_replace("{Keyword}", ucwords($noqkeyword), $content);
            if (function_exists("wpr_translate_partial")) {
                $content = wpr_translate_partial($content);
            }
            if (function_exists("wpr_rewrite_partial")) {
                $content = wpr_rewrite_partial($content, $options);
            }
            $ren = rename($filename, $filename . "2");
            if ($ren == true) {
            } else {
            }
            $plrcontent[$i]["unique"] = rand(1, 10000);
            $plrcontent[$i]["title"] = $title;
            $plrcontent[$i]["content"] = $content;
        }
    }
    if (empty($plrcontent)) {
        $plrcontent["error"]["module"] = "PLR";
        $plrcontent["error"]["reason"] = "No content";
        $plrcontent["error"]["message"] = __("No (more) PLR items found.", "wprobot");
        return $plrcontent;
    } else {
        return $plrcontent;
    }
}
Exemple #6
0
function wpr_youtubepost($keyword, $num, $start, $optional = "", $getcomments)
{
    global $wpdb, $wpr_table_templates;
    if ($keyword == "") {
        $return["error"]["module"] = "Youtube";
        $return["error"]["reason"] = "No keyword";
        $return["error"]["message"] = __("No keyword specified.", "wprobot");
        return $return;
    }
    $template = $wpdb->get_var("SELECT content FROM " . $wpr_table_templates . " WHERE type = 'youtube'");
    if ($template == false || empty($template)) {
        $return["error"]["module"] = "Youtube";
        $return["error"]["reason"] = "No template";
        $return["error"]["message"] = __("Module Template does not exist or could not be loaded.", "wprobot");
        return $return;
    }
    $options = unserialize(get_option("wpr_options"));
    $pxml = wpr_youtuberequest($keyword, $num, $start);
    if (!empty($pxml["error"])) {
        return $pxml;
    }
    $videos = array();
    $x = 0;
    if ($pxml === False) {
        $videos["error"]["module"] = "Youtube";
        $videos["error"]["reason"] = "API fail";
        $videos["error"]["message"] = __("Youtube API request did not work.", "wprobot");
        return $videos;
    } else {
        if (isset($pxml->entry)) {
            foreach ($pxml->entry as $entry) {
                $media = $entry->children('http://search.yahoo.com/mrss/');
                $title = $media->group->title;
                $description = $media->group->description;
                $attrs = $media->group->thumbnail[0]->attributes();
                $thumbnail = '<img alt="' . $title . '" src="' . $attrs['url'] . '" />';
                $thumbnailurl = $attrs['url'];
                //$yt = $entry->children('http://gdata.youtube.com/schemas/2007');
                //$attrs = $yt->statistics->attributes();
                //$viewCount = $attrs['viewCount'];
                $yt = $media->children('http://gdata.youtube.com/schemas/2007');
                $videoid = $yt->videoid;
                $gd = $entry->children('http://schemas.google.com/g/2005');
                if ($gd->rating) {
                    $attrs = $gd->rating->attributes();
                    $rating = round($attrs['average'], 2);
                } else {
                    $rating = 0;
                }
                $attrs = $media->group->player->attributes();
                $playerUrl = $attrs['url'];
                $gd = $entry->children('http://schemas.google.com/g/2005');
                if ($gd->comments->feedLink) {
                    $attrs = $gd->comments->feedLink->attributes();
                    $commentsUrl = $attrs['href'];
                    $commentsCount = $attrs['countHint'];
                }
                if (empty($options['wpr_yt_width'])) {
                    $options['wpr_yt_width'] = "425";
                }
                if (empty($options['wpr_yt_height'])) {
                    $options['wpr_yt_height'] = "355";
                }
                // 425 // 355
                $video = '
				<object width="' . $options['wpr_yt_width'] . '" height="' . $options['wpr_yt_height'] . '">
				<param name="movie" value="http://www.youtube.com/v/' . $videoid . '?fs=1"></param>
				<param name="allowFullScreen" value="true"></param>
				<embed src="http://www.youtube.com/v/' . $videoid . '?fs=1&rel=0" type="application/x-shockwave-flash" width="' . $options['wpr_yt_width'] . '" height="' . $options['wpr_yt_height'] . '" allowfullscreen="true"></embed>
				</object>';
                //$video ='<object type="application/x-shockwave-flash" style="width:'.$options['wpr_yt_width'].'px;height:'.$options['wpr_yt_height'].'px;" data="http://www.youtube.com/v/'.$videoid.'">
                //<param name="movie" value="http://www.youtube.com/v/'.$videoid.'" />
                //</object>';
                if ($options['wpr_yt_striplinks_desc'] == 'yes') {
                    $description = wpr_strip_selected_tags($description, array('a', 'iframe', 'script'));
                }
                $vid = $template;
                $vid = wpr_random_tags($vid);
                // Comments
                $commentspost = "";
                preg_match('#\\{comments(.*)\\}#iU', $vid, $rmatches);
                if ($rmatches[0] != false || $getcomments == 1) {
                    $comments = wpr_yt_getcomments($commentsUrl, $commentsCount);
                }
                if ($rmatches[0] != false && !empty($comments)) {
                    $cnum = substr($rmatches[1], 1);
                    for ($i = 0; $i < $commentsCount; $i++) {
                        if ($i == $cnum) {
                            break;
                        } else {
                            $commentspost .= "<p><b>Comment by " . $comments[$i]["author"] . "</b><br/>" . $comments[$i]["content"] . "</p>";
                        }
                    }
                    $vid = str_replace($rmatches[0], $commentspost, $vid);
                }
                $vid = str_replace("{description}", $description, $vid);
                $vid = str_replace("{thumbnail}", $thumbnail, $vid);
                //$vid = str_replace("{viewcount}", $viewCount, $vid);
                $vid = str_replace("{rating}", $rating, $vid);
                $noqkeyword = str_replace('"', '', $keyword);
                $vid = str_replace("{keyword}", $noqkeyword, $vid);
                $vid = str_replace("{Keyword}", ucwords($noqkeyword), $vid);
                $vid = str_replace("{video}", $video, $vid);
                $vid = str_replace("{title}", $title, $vid);
                $vid = str_replace("{url}", "http://www.youtube.com/watch?v=" . $videoid, $vid);
                if (function_exists("wpr_translate_partial")) {
                    $vid = wpr_translate_partial($vid);
                }
                if (function_exists("wpr_rewrite_partial")) {
                    $vid = wpr_rewrite_partial($vid, $options);
                }
                $customfield = array();
                $customfield["youtubetitle"] = $title;
                $customfield["video"] = $videoid;
                $customfield["youtubethumbnail"] = $thumbnailurl;
                $customfield["youtuberating"] = $rating;
                $videos[$x]["unique"] = $videoid;
                $videos[$x]["title"] = $title;
                $videos[$x]["content"] = $vid;
                $videos[$x]["comments"] = $comments;
                $videos[$x]["customfield"] = $customfield;
                $x++;
            }
            if (empty($videos)) {
                $videos["error"]["module"] = "Youtube";
                $videos["error"]["reason"] = "No content";
                $videos["error"]["message"] = __("No (more) Youtube videos found.", "wprobot");
                return $videos;
            } else {
                return $videos;
            }
        } else {
            $videos["error"]["module"] = "Youtube";
            $videos["error"]["reason"] = "No content";
            $videos["error"]["message"] = __("No (more) Youtube videos found.", "wprobot");
            return $videos;
        }
    }
}
Exemple #7
0
function wpr_yelppost($keyword, $num, $start, $optional = "", $comments = "")
{
    global $wpdb, $wpr_table_templates;
    $end = $start + $num;
    if ($keyword == "") {
        // If keyword is empty return error
        $return["error"]["module"] = "Yelp";
        $return["error"]["reason"] = "No keyword";
        $return["error"]["message"] = __("No keyword specified.", "wprobot");
        return $return;
    }
    if ($start >= 20) {
        // If keyword is empty return error
        $return["error"]["module"] = "Yelp";
        $return["error"]["reason"] = "No content";
        $return["error"]["message"] = __("No more content: The Yelp API does only return the first 20 results for any keyword.", "wprobot");
        return $return;
    }
    $template = $wpdb->get_var("SELECT content FROM " . $wpr_table_templates . " WHERE type = 'yelp'");
    if ($template == false || empty($template)) {
        // If module template is empty return error
        $return["error"]["module"] = "Yelp";
        $return["error"]["reason"] = "No template";
        $return["error"]["message"] = __("Module Template does not exist or could not be loaded.", "wprobot");
        return $return;
    }
    $x = 0;
    $yy = 0;
    $itemcontent = array();
    $pxml = wpr_yelprequest($keyword, $num, $start);
    // Send API request
    if (is_array($pxml) && isset($pxml["error"])) {
        return $pxml;
    }
    if ($pxml === False) {
        $itemcontent["error"]["module"] = "Yelp";
        $itemcontent["error"]["reason"] = "Request fail";
        $itemcontent["error"]["message"] = __("API request could not be sent.", "wprobot");
        return $itemcontent;
    } else {
        if (isset($pxml->businesses)) {
            foreach ($pxml->businesses as $item) {
                if ($yy >= $start && $yy < $end) {
                    $title = $item->name;
                    $url = $item->url;
                    $address1 = $item->address1;
                    $address2 = $item->address2;
                    $address3 = $item->address3;
                    $address = $address1 . "<br/>" . $address2 . "<br/>" . $address3 . "<br/>";
                    $city = $item->city;
                    $phone = $item->phone;
                    $photo_url = $item->photo_url;
                    $avg_rating = $item->avg_rating;
                    $review_count = $item->review_count;
                    $reviews = array();
                    if (isset($item->reviews)) {
                        $r = 0;
                        foreach ($item->reviews as $review) {
                            $reviews[$r]["author"] = $review->user_name;
                            $reviews[$r]["rating"] = $review->rating;
                            $rtemplate = "<i>Review by {author}</i><br/>{content}<br/><b>Rating: {rating}</b><br/><br/>";
                            $rtemplate = str_replace("{content}", strip_tags($review->text_excerpt, '<br><strong>'), $rtemplate);
                            $rtemplate = str_replace("{rating}", $review->rating, $rtemplate);
                            $rtemplate = str_replace("{author}", $review->user_name, $rtemplate);
                            $reviews[$r]["content"] = $rtemplate;
                            $r++;
                        }
                    }
                    $source = "Read more on <a rel=\"nofollow\" href=\"{$url}\">{$source}</a><br/><br/>";
                    if ($photo_url != "") {
                        $thumbnail = '<a href="' . $url . '" rel="nofollow"><img style="float:left;margin: 0 20px 10px 0;" src="' . $photo_url . '" /></a>';
                    } else {
                        $thumbnail = '';
                    }
                    $content = $template;
                    $content = wpr_random_tags($content);
                    $content = str_replace("{thumbnail}", $thumbnail, $content);
                    $content = str_replace("{title}", $title, $content);
                    $content = str_replace("{rating}", $avg_rating, $content);
                    $content = str_replace("{reviewscount}", $review_count, $content);
                    $content = str_replace("{url}", $url, $content);
                    $content = str_replace("{keyword}", $keyword, $content);
                    $content = str_replace("{address}", $address1, $content);
                    $content = str_replace("{city}", $city, $content);
                    // reviews
                    $reviewspost = "";
                    $reviewsnum = $review_count;
                    preg_match('#\\{reviews(.*)\\}#iU', $content, $rmatches);
                    if ($rmatches[0] == false) {
                    } elseif (empty($reviews)) {
                        $content = str_replace($rmatches[0], $reviewspost, $content);
                    } else {
                        $reviewnum = substr($rmatches[1], 1);
                        for ($i = 0; $i < $reviewnum; $i++) {
                            if ($i == $reviewsnum || $i == 3) {
                                break;
                            } else {
                                $reviewspost .= $reviews[$i]["content"];
                            }
                        }
                        $content = str_replace($rmatches[0], $reviewspost, $content);
                    }
                    if (function_exists("wpr_translate_partial")) {
                        $content = wpr_translate_partial($content);
                    }
                    if (function_exists("wpr_rewrite_partial")) {
                        $content = wpr_rewrite_partial($content, $options);
                    }
                    $itemcontent[$x]["unique"] = $item->id;
                    $itemcontent[$x]["title"] = $title;
                    $itemcontent[$x]["content"] = $content;
                    $x++;
                }
                $yy++;
            }
            if (empty($itemcontent)) {
                // Return error if no content has been found.
                $itemcontent["error"]["module"] = "Yelp";
                $itemcontent["error"]["reason"] = "No content";
                $itemcontent["error"]["message"] = __("No (more) Yelp items found.", "wprobot");
                return $itemcontent;
            } else {
                return $itemcontent;
            }
        } else {
            if (isset($pxml->message->text) && $pxml->message->code != 0) {
                // Check for API error messages in results and if found return them.
                $message = __('There was a problem with your API request. This is the error returned by Yelp:', "wprobot") . ' <b>' . $pxml->message->code . ': ' . $pxml->message->text . '</b>';
                $itemcontent["error"]["module"] = "Yelp";
                $itemcontent["error"]["reason"] = "API fail";
                $itemcontent["error"]["message"] = $message;
                return $itemcontent;
            } else {
                // Return error if no content has been found.
                $itemcontent["error"]["module"] = "Yelp";
                $itemcontent["error"]["reason"] = "No content";
                $itemcontent["error"]["message"] = __("No (more) Yelp items found.", "wprobot");
                return $itemcontent;
            }
        }
    }
}
Exemple #8
0
function wpr_amazonpost($keywords, $count, $start, $optional, $comments = "")
{
    global $wpdb, $wpr_table_templates;
    $searchindex = $optional[0];
    $browsenode = $optional[1];
    if ($searchindex == "") {
        $searchindex = "All";
    }
    if ($keywords == "" && $browsenode == "") {
        $return["error"]["module"] = "Amazon";
        $return["error"]["reason"] = "No keyword";
        $return["error"]["message"] = __("No keyword or BrowseNode specified.", "wprobot");
        return $return;
    }
    $start2 = $start / 10;
    $start2 = (string) $start2;
    $start2 = explode(".", $start2);
    $page = (int) $start2[0];
    $page++;
    $cnum = (int) $start2[1];
    $template = $wpdb->get_var("SELECT content FROM " . $wpr_table_templates . " WHERE type = 'amazon'");
    if ($template == false || empty($template)) {
        $return["error"]["module"] = "Amazon";
        $return["error"]["reason"] = "No template";
        $return["error"]["message"] = __("Module Template does not exist or could not be loaded.", "wprobot");
        return $return;
    }
    $imagepath = WP_PLUGIN_URL . '/' . str_replace(basename(__FILE__), "", plugin_basename(__FILE__));
    $imagepath = str_replace("/modules/", "/images/", $imagepath);
    $options = unserialize(get_option("wpr_options"));
    $public_key = $options['wpr_aa_apikey'];
    $private_key = $options['wpr_aa_secretkey'];
    $affid = $options['wpr_aa_affkey'];
    $added_post = 0;
    $return = array();
    $site = $options['wpr_aa_site'];
    if ($site == "us") {
        $site = "com";
    }
    if ($site == "uk") {
        $site = "co.uk";
    }
    if ($browsenode == "") {
        $browsenode = 0;
    }
    while ($added_post < $count) {
        if ($searchindex == "All") {
            $pxml = wpr_aws_request($site, array("Operation" => "ItemSearch", "AssociateTag" => $affid, "Keywords" => $keywords, "SearchIndex" => $searchindex, "MerchantId" => "All", "ItemPage" => $page, "ReviewSort" => "-HelpfulVotes", "TruncateReviewsAt" => "5000", "IncludeReviewsSummary" => "False", "ResponseGroup" => "Large"), $public_key, $private_key);
        } elseif ($browsenode != 0) {
            $pxml = wpr_aws_request($site, array("Operation" => "ItemSearch", "AssociateTag" => $affid, "SearchIndex" => $searchindex, "Keywords" => $keywords, "BrowseNode" => $browsenode, "MerchantId" => "All", "ItemPage" => $page, "ReviewSort" => "-HelpfulVotes", "TruncateReviewsAt" => "5000", "IncludeReviewsSummary" => "False", "ResponseGroup" => "Large"), $public_key, $private_key);
        } else {
            $pxml = wpr_aws_request($site, array("Operation" => "ItemSearch", "AssociateTag" => $affid, "Keywords" => $keywords, "SearchIndex" => $searchindex, "MerchantId" => "All", "ItemPage" => $page, "ReviewSort" => "-HelpfulVotes", "TruncateReviewsAt" => "5000", "IncludeReviewsSummary" => "False", "ResponseGroup" => "Large"), $public_key, $private_key);
        }
        if (!empty($pxml["error"])) {
            return $pxml;
        }
        //echo "<pre>";print_r($pxml);echo "</pre>";
        if ($count <= 10) {
            $count_this = $count;
        } else {
            $count_this = 10;
        }
        $rr = 0;
        $yy = 1;
        if (!$pxml) {
            $return["error"]["module"] = "Amazon";
            $return["error"]["reason"] = "Request fail";
            $return["error"]["message"] = __("API request could not be sent.", "wprobot");
            return $return;
        }
        if (isset($pxml->Error)) {
            $message = '<p>' . __("There was a problem with your Amazon API request. This is the error Amazon returned:", "wprobot") . '</p>
			<p><i><b>' . $pxml->Error->Code . ':</b> ' . $pxml->Error->Message . '</i></p>';
            $return["error"]["module"] = "Amazon";
            $return["error"]["reason"] = "API fail";
            $return["error"]["message"] = $message;
            return $return;
        }
        if (isset($pxml->Items->Request->Errors->Error->Code)) {
            $message = '<p>' . __("There was a problem with your Amazon API request. This is the error Amazon returned:", "wprobot") . '</p>
			<p><i><b>' . $pxml->Items->Request->Errors->Error->Code . ':</b> ' . $pxml->Items->Request->Errors->Error->Message . '</i></p>';
            $return["error"]["module"] = "Amazon";
            $return["error"]["reason"] = "API fail";
            $return["error"]["message"] = $message;
            return $return;
        }
        if (!$pxml->Items->Item) {
            $return["error"]["module"] = "Amazon";
            $return["error"]["reason"] = "No content";
            $return["error"]["message"] = __("No (more) products found for this keyword.", "wprobot");
            return $return;
        }
        foreach ($pxml->Items->Item as $item) {
            if ($yy >= $cnum) {
                $skipit = 0;
                $skip = $options["wpr_aa_skip"];
                if ($skip == "noimg" || $skip == "nox") {
                    if (empty($item->MediumImage->URL) && empty($item->SmallImage->URL)) {
                        $skipit = 1;
                    }
                }
                if ($skip == "nodesc" || $skip == "nox") {
                    if (empty($item->EditorialReviews->EditorialReview->Content)) {
                        $skipit = 1;
                    }
                }
                /*
                				if($skipit == 1 && $count == 1) {
                					$return["error"]["module"] = "Amazon";
                					$return["error"]["reason"] = "No content";
                					$return["error"]["message"] = __("Product skipped because no image and/or description was found.","wprobot");	
                					return $return;					
                				}*/
                if ($rr < $count_this && $skipit == 0) {
                    $desc = "";
                    if (isset($item->EditorialReviews->EditorialReview)) {
                        foreach ($item->EditorialReviews->EditorialReview as $descs) {
                            $desc .= $descs->Content;
                        }
                    }
                    $elength = $options['wpr_aa_excerptlength'];
                    if ($elength != 'full') {
                        $desc = strip_tags($desc, '<br>');
                        $desc = substr($desc, 0, $elength);
                    }
                    $features = "";
                    if (isset($item->ItemAttributes->Feature)) {
                        $features = "<ul>";
                        foreach ($item->ItemAttributes->Feature as $feature) {
                            $posx = strpos($feature, "href=");
                            if ($posx === false) {
                                $features .= "<li>" . $feature . "</li>";
                            }
                        }
                        $features .= "</ul>";
                    }
                    $timg = $item->MediumImage->URL;
                    if ($timg == "") {
                        $timg = $item->SmallImage->URL;
                    }
                    $thumbnail = '<a href="' . $item->DetailPageURL . '" rel="nofollow"><img style="float:left;margin: 0 20px 10px 0;" src="' . $timg . '" alt="' . $item->ItemAttributes->Title . '" /></a>';
                    $link = '<a href="' . $item->DetailPageURL . '" rel="nofollow">' . $item->ItemAttributes->Title . '</a>';
                    // REVIEWS -  Replace for Nov 11 API Change
                    $product_review = $item->CustomerReviews->IFrameURL;
                    $reviewsiframe = '<iframe style="margin-top: 10px;" src="' . $product_review . '" width="100%" height="450px"><p>Your browser does not support iframes.</p></iframe>';
                    $revcontent = file_get_contents($product_review);
                    if (preg_match('~<body[^>]*>(.*?)</body>~si', $revcontent, $body)) {
                        $reviewsnoiframe = str_replace('class="crVotingButtons">', "", $body[1]);
                    } else {
                        $reviewsnoiframe = "";
                    }
                    $price = str_replace("\$", "\$ ", $item->OfferSummary->LowestNewPrice->FormattedPrice);
                    $listprice = str_replace("\$", "\$ ", $item->ItemAttributes->ListPrice->FormattedPrice);
                    if ($price == "Too low to display" || $price == "Price too low to display") {
                        $price = $listprice;
                    }
                    if (empty($listprice) && !empty($price)) {
                        $listprice = $price;
                    }
                    if (empty($price) && !empty($listprice)) {
                        $price = $listprice;
                    }
                    $content = $template;
                    preg_match('#\\[has_reviews\\](.*)\\[/has_reviews\\]#smiU', $template, $check);
                    if ($check[0] != false) {
                        if (empty($item->CustomerReviews->TotalReviews)) {
                            $content = str_replace($check[0], "", $content);
                        }
                    }
                    $content = str_replace(array("[has_reviews]", "[/has_reviews]"), "", $content);
                    preg_match('#\\[has_listprice\\](.*)\\[/has_listprice\\]#smiU', $template, $matches);
                    //print_r($matches);
                    if ($matches[0] != false) {
                        if (empty($listprice)) {
                            $content = str_replace($matches[0], "", $content);
                        }
                    }
                    $content = str_replace(array("[has_listprice]", "[/has_listprice]"), "", $content);
                    $asin = $item->ASIN;
                    $content = wpr_random_tags($content);
                    $content = str_replace("{title}", $item->ItemAttributes->Title, $content);
                    $content = str_replace("{description}", $desc, $content);
                    $content = str_replace("{features}", $features, $content);
                    $content = str_replace("{thumbnail}", $thumbnail, $content);
                    $content = str_replace("{smallimage}", $item->SmallImage->URL, $content);
                    $content = str_replace("{mediumimage}", $item->MediumImage->URL, $content);
                    $content = str_replace("{largeimage}", $item->LargeImage->URL, $content);
                    $content = str_replace("{buynow}", '<a href="' . $item->DetailPageURL . '" rel="nofollow"><img src="' . $imagepath . 'buynow-small.gif" /></a>', $content);
                    $content = str_replace("{buynow-big}", '<a href="' . $item->DetailPageURL . '" rel="nofollow"><img src="' . $imagepath . 'buynow-big.gif" /></a>', $content);
                    $content = str_replace("{buynow-ger}", '<a href="' . $item->DetailPageURL . '" rel="nofollow"><img src="' . $imagepath . 'buynow-ger.gif" /></a>', $content);
                    $content = str_replace("{price}", $price, $content);
                    $content = str_replace("{listprice}", $listprice, $content);
                    $savings = str_replace("\$ ", "", $listprice) - str_replace("\$ ", "", $price);
                    $content = str_replace("{savings}", $savings, $content);
                    //$discount = (($listprice - $price) / $listprice) * 100;
                    //print_r($item);
                    $discount = round((int) $savings / $item->ItemAttributes->ListPrice->FormattedPrice * 100);
                    $content = str_replace("{discount}", $discount, $content);
                    $content = str_replace("{url}", $item->DetailPageURL, $content);
                    $content = str_replace("{avgrating}", $item->CustomerReviews->AverageRating, $content);
                    $content = str_replace("{reviewsnum}", $item->CustomerReviews->TotalReviews, $content);
                    $noqkeyword = str_replace('"', '', $keywords);
                    $content = str_replace("{keyword}", $noqkeyword, $content);
                    $content = str_replace("{Keyword}", ucwords($noqkeyword), $content);
                    $content = str_replace("{link}", $link, $content);
                    $content = str_replace("{asin}", $asin, $content);
                    $content = str_replace("{price-updating}", '[wpramaprice asin="' . $asin . '"]', $content);
                    // rating
                    if (strpos($content, "{rating}") != false) {
                        $image = wpr_star_rating($item->CustomerReviews->AverageRating);
                        $content = str_replace("{rating}", $image, $content);
                    }
                    // reviews
                    $content = str_replace("{reviews-url}", $product_review, $content);
                    //$content = str_replace("{reviews-iframe}", $reviewsiframe, $content);
                    $content = str_replace("{reviews-iframe}", '[wpramareviews asin="' . $asin . '"]', $content);
                    $content = str_replace("{reviews-noiframe}", $reviewsnoiframe, $content);
                    preg_match('#\\{reviews(.*)\\}#iU', $content, $rmatches);
                    if ($rmatches[0] == false) {
                    } else {
                        $content = str_replace($rmatches[0], '[wpramareviews asin="' . $asin . '"]', $content);
                    }
                    // split reviews into comments
                    $dom = new DOMDocument();
                    @$dom->loadHTML($reviewsnoiframe);
                    $xpath = new DOMXPath($dom);
                    $paras = $xpath->query("//table[@class='crIFrameReviewList']//tr/td/div");
                    $reviews = array();
                    for ($y = 0; $y < $paras->length; $y++) {
                        //$paras->length
                        $para = $paras->item($y);
                        $review = $dom->saveXml($para);
                        //$review = str_replace('', "", $review);
                        //$review = str_replace('', "", $review);
                        $review = str_replace('Permalink', "", $review);
                        $review = str_replace('Report abuse', "", $review);
                        $review = str_replace('See all my reviews', "", $review);
                        $review = str_replace('<img src="http://g-ecx.images-amazon.com/images/G/01/x-locale/communities/reputation/c7y_badge_rn_1._V192249968_.gif" width="70" align="absmiddle" alt="(REAL NAME)" height="15" border="0" />', "", $review);
                        //$review = preg_replace('#<div style="padding-top: 10px; clear: both; width: 100%;">(.*)<div class="reply">#smiU', '<div><div>', $review);
                        $reviews[$y]["content"] = $review;
                    }
                    $xpath = new DOMXPath($dom);
                    $paras = $xpath->query("//table[@class='crIFrameReviewList']//tr/td/div/div[3]/div/div/a/span");
                    for ($y = 0; $y < $paras->length; $y++) {
                        //$paras->length
                        $para = $paras->item($y);
                        $author = $para->textContent;
                        // $dom->saveXml($para);
                        $reviews[$y]["author"] = $author;
                    }
                    //print_r($reviews);
                    if (function_exists("wpr_translate_partial")) {
                        $content = wpr_translate_partial($content);
                    }
                    if (function_exists("wpr_rewrite_partial")) {
                        $content = wpr_rewrite_partial($content, $options);
                    }
                    if (!empty($item->MediumImage->URL)) {
                        $largestimage = $item->MediumImage->URL;
                    } elseif (!empty($item->SmallImage->URL)) {
                        $largestimage = $item->SmallImage->URL;
                    } elseif (!empty($item->LargeImage->URL)) {
                        $largestimage = $item->LargeImage->URL;
                    }
                    $customfield = array();
                    $customfield["amazontitle"] = $item->ItemAttributes->Title;
                    $customfield["amazonthumbnail"] = $largestimage;
                    $customfield["amazonthumbnaillarge"] = $item->LargeImage->URL;
                    $customfield["amazonprice"] = $price;
                    $customfield["amazonlink"] = $item->DetailPageURL;
                    $customfield["amazonasin"] = $asin;
                    $customfield["asin"] = $asin;
                    $customfield["amazonrating"] = $item->CustomerReviews->AverageRating;
                    $customfield["amazonlistprice"] = $listprice;
                    $single = array();
                    $single["unique"] = $asin;
                    $single["title"] = $item->ItemAttributes->Title;
                    if ($options['wpr_aa_shortcode'] == "Yes") {
                        $single["content"] = '[wpramazon asin="' . $asin . '"]';
                    } else {
                        $single["content"] = $content;
                    }
                    $single["comments"] = $reviews;
                    $single["customfield"] = $customfield;
                    $added_post = $added_post + 1;
                    array_push($return, $single);
                    $rr++;
                }
            }
            $yy++;
        }
        $page++;
        $cnum = 0;
    }
    return $return;
}
Exemple #9
0
function wpr_articlepost($keyword, $num, $start, $optional = "", $comments = "")
{
    global $wpdb, $wpr_table_templates;
    if ($keyword == "") {
        $return["error"]["module"] = "Article";
        $return["error"]["reason"] = "No keyword";
        $return["error"]["message"] = __("No keyword specified.", "wprobot");
        return $return;
    }
    $template = $wpdb->get_var("SELECT content FROM " . $wpr_table_templates . " WHERE type = 'article'");
    if ($template == false || empty($template)) {
        $return["error"]["module"] = "Article";
        $return["error"]["reason"] = "No template";
        $return["error"]["message"] = __("Module Template does not exist or could not be loaded.", "wprobot");
        return $return;
    }
    $posts = array();
    $options = unserialize(get_option("wpr_options"));
    $proxy == "";
    if ($options["wpr_trans_use_proxies"] == "yes") {
        $proxies = str_replace("\r", "", $options["wpr_trans_proxies"]);
        $proxies = explode("\n", $proxies);
        $rand = array_rand($proxies);
        list($proxy, $proxytype, $proxyuser) = explode("|", $proxies[$rand]);
    }
    $keyword2 = $keyword;
    $keyword = str_replace(" ", "+", $keyword);
    $keyword = urlencode($keyword);
    $blist[] = "Mozilla/5.0 (compatible; Konqueror/4.0; Microsoft Windows) KHTML/4.0.80 (like Gecko)";
    $blist[] = "Mozilla/5.0 (compatible; Konqueror/3.92; Microsoft Windows) KHTML/3.92.0 (like Gecko)";
    $blist[] = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; Media Center PC 5.0; .NET CLR 1.1.4322; Windows-Media-Player/10.00.00.3990; InfoPath.2";
    $blist[] = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; Dealio Deskball 3.0)";
    $blist[] = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; NeosBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
    $ua = $blist[array_rand($blist)];
    // SOURCE
    $source = array();
    if ($options['wpr_eza_source_ab'] == 1 || $options['wpr_eza_source'] == "ab" || $options['wpr_eza_source'] == "rand") {
        $source[] = "ab";
    }
    if ($options['wpr_eza_source_goa'] == 1 || $options['wpr_eza_source'] == "goa" || $options['wpr_eza_source'] == "rand") {
        $source[] = "goa";
    }
    if ($options['wpr_eza_source_buk'] == 1 || $options['wpr_eza_source'] == "buk" || $options['wpr_eza_source'] == "rand") {
        $source[] = "buk";
    }
    if ($options['wpr_eza_source_ezm'] == 1 || $options['wpr_eza_source'] == "ezm" || $options['wpr_eza_source'] == "rand") {
        $source[] = "ezm";
    }
    $rand_key = array_rand($source);
    if ($source[$rand_key] == "ab") {
        $options['wpr_eza_source'] = "ab";
    } elseif ($source[$rand_key] == "goa") {
        $options['wpr_eza_source'] = "goa";
    } elseif ($source[$rand_key] == "buk") {
        $options['wpr_eza_source'] = "buk";
    } elseif ($source[$rand_key] == "ezm") {
        $options['wpr_eza_source'] = "ezm";
    }
    //print_r($source);echo "source: ".$rand_key . " ". $options['wpr_eza_source'] . "\n";
    /*if($options["wpr_eza_source"] == "rand") {
    		$rand = rand(0,3);
    		if($rand == 0) {$options["wpr_eza_source"] = "buk";
    		} elseif($rand == 1) {$options["wpr_eza_source"] = "goa";
    		} elseif($rand == 2) {$options["wpr_eza_source"] = "ezm";		
    		} else {$options["wpr_eza_source"] = "ab";}	
    	}*/
    if ($options["wpr_eza_source"] == "buk") {
        return wpr_bukisapost($keyword, $num, $start, $optional, $comments, $options, $template, $ua, $proxy, $proxytype, $proxyuser);
    } elseif ($options["wpr_eza_source"] == "goa") {
        return wpr_goarticlepost($keyword, $num, $start, $optional, $comments, $options, $template, $ua, $proxy, $proxytype, $proxyuser);
    } elseif ($options["wpr_eza_source"] == "ezm") {
        return wpr_ezinemarkpost($keyword, $num, $start, $optional, $comments, $options, $template, $ua, $proxy, $proxytype, $proxyuser);
    }
    if (empty($start)) {
        $start = 0;
    }
    $search_url = "http://ezinearticles.com/search/?q={$keyword}&index={$start}";
    //
    // make the cURL request to $search_url
    if (function_exists('curl_init')) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_USERAGENT, $ua);
        if ($proxy != "") {
            //curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
            curl_setopt($ch, CURLOPT_PROXY, $proxy);
            if ($proxyuser) {
                curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyuser);
            }
            if ($proxytype == "socks") {
                curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
            }
        }
        curl_setopt($ch, CURLOPT_URL, $search_url);
        curl_setopt($ch, CURLOPT_FAILONERROR, true);
        curl_setopt($ch, CURLOPT_AUTOREFERER, true);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_TIMEOUT, 45);
        $html = curl_exec($ch);
        if (!$html) {
            $return["error"]["module"] = "Article";
            $return["error"]["reason"] = "cURL Error";
            $return["error"]["message"] = __("cURL Error Number ", "wprobot") . curl_errno($ch) . ": " . curl_error($ch);
            return $return;
        }
        curl_close($ch);
    } else {
        $html = @file_get_contents($search_url);
        if (!$html) {
            $return["error"]["module"] = "Article";
            $return["error"]["reason"] = "cURL Error";
            $return["error"]["message"] = __("cURL is not installed on this server!", "wprobot");
            return $return;
        }
    }
    // parse the html into a DOMDocument
    $dom = new DOMDocument();
    @$dom->loadHTML($html);
    // Grab Product Links
    $xpath = new DOMXPath($dom);
    $paras = $xpath->query("//div/h3/a");
    $x = 0;
    $end = $num;
    if ($paras->length == 0) {
        $posts["error"]["module"] = "Article";
        $posts["error"]["reason"] = "No content";
        $posts["error"]["message"] = __("No (more) articles found.", "wprobot");
        return $posts;
    }
    if ($end > $paras->length) {
        $end = $paras->length;
    }
    for ($i = 0; $i <= $end; $i++) {
        $para = $paras->item($i);
        if (empty($para)) {
            $posts["error"]["module"] = "Article";
            $posts["error"]["reason"] = "No content";
            $posts["error"]["message"] = __("No (more) articles found.", "wprobot");
            return $posts;
        } else {
            $target_url = "http://ezinearticles.com" . $para->getAttribute('href');
            // $target_url = "http://www.articlesbase.com" . $para->getAttribute('href');
            // make the cURL request to $search_url
            if (function_exists('curl_init')) {
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_USERAGENT, $ua);
                if ($proxy != "") {
                    //curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
                    curl_setopt($ch, CURLOPT_PROXY, $proxy);
                    if ($proxyuser) {
                        curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyuser);
                    }
                    if ($proxytype == "socks") {
                        curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
                    }
                }
                curl_setopt($ch, CURLOPT_URL, $target_url);
                curl_setopt($ch, CURLOPT_FAILONERROR, true);
                curl_setopt($ch, CURLOPT_AUTOREFERER, true);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($ch, CURLOPT_TIMEOUT, 45);
                $html = curl_exec($ch);
                if (!$html) {
                    $return["error"]["module"] = "Article";
                    $return["error"]["reason"] = "cURL Error";
                    $return["error"]["message"] = __("cURL Error Number ", "wprobot") . curl_errno($ch) . ": " . curl_error($ch);
                    return $return;
                }
                curl_close($ch);
            } else {
                $html = @file_get_contents($target_url);
                if (!$html) {
                    $return["error"]["module"] = "Article";
                    $return["error"]["reason"] = "cURL Error";
                    $return["error"]["message"] = __("cURL is not installed on this server!", "wprobot");
                    return $return;
                }
            }
            // parse the html into a DOMDocument
            $dom = new DOMDocument();
            @$dom->loadHTML($html);
            // Grab Article Title
            $xpath1 = new DOMXPath($dom);
            $paras1 = $xpath1->query("//div/h1");
            $para1 = $paras1->item(0);
            $title = $para1->textContent;
            // Grab Article
            $xpath2 = new DOMXPath($dom);
            $paras2 = $xpath2->query("//div[@id='article-content']");
            $para2 = $paras2->item(0);
            $string = $dom->saveXml($para2);
            //$string = preg_replace('#<div class="articles">(.*)</div>#smiU', '', $string);
            //$string = preg_replace('#<a title="(.*)" href="/authors/(.*)</a>#smiU', '', $string);
            //$string = preg_replace('#<strong>(.*)</strong>#smiU', '', $string);
            $string = strip_tags($string, '<p><strong><b><a><br>');
            $string = str_replace("&nbsp;", "", $string);
            $string = str_replace("]]>", "", $string);
            $string = str_replace("\$", "\$ ", $string);
            if ($options['wpr_eza_striplinks'] == 'yes') {
                $string = wpr_strip_selected_tags($string, array('a', 'iframe', 'script'));
            }
            $articlebody .= $string . ' ';
            // Grab Ressource Box
            $xpath3 = new DOMXPath($dom);
            $paras3 = $xpath3->query("//div[@id='article-resource']");
            //$para = $paras->item(0);
            $ressourcetext = "";
            for ($y = 0; $y < $paras3->length; $y++) {
                //$paras->length
                $para3 = $paras3->item($y);
                $ressourcetext .= $dom->saveXml($para3);
            }
            $xpath2 = new DOMXPath($dom);
            $paras2 = $xpath2->query("//div[@id='article-body']/p");
            $para2 = $paras2->item(0);
            $ressourcetext .= str_replace('href="', 'href="http://ezinearticles.com', $dom->saveXml($para2));
            $title = utf8_decode($title);
            // Split into Pages
            if ($options['wpr_eza_split'] == "yes") {
                $articlebody = wordwrap($articlebody, $options['wpr_eza_splitlength'], "<!--nextpage-->");
            }
            $post = $template;
            $post = wpr_random_tags($post);
            $post = str_replace("{article}", $articlebody, $post);
            $post = str_replace("{authortext}", $ressourcetext, $post);
            $noqkeyword = str_replace('"', '', $keyword2);
            $post = str_replace("{keyword}", $noqkeyword, $post);
            $post = str_replace("{Keyword}", ucwords($noqkeyword), $post);
            $post = str_replace("{title}", $title, $post);
            $post = str_replace("{url}", $target_url, $post);
            if (function_exists("wpr_rewrite_partial")) {
                $post = wpr_rewrite_partial($post, $options);
            }
            if (function_exists("wpr_translate_partial")) {
                $post = wpr_translate_partial($post);
            }
            $posts[$x]["unique"] = $target_url;
            $posts[$x]["title"] = $title;
            $posts[$x]["content"] = $post;
            $x++;
        }
    }
    return $posts;
}
Exemple #10
0
function wpr_eventfulpost($keyword, $num, $start, $optional = "", $comments = "")
{
    global $wpdb, $wpr_table_templates;
    $options = unserialize(get_option("wpr_options"));
    if ($keyword == "") {
        // If keyword is empty return error
        $return["error"]["module"] = "Eventful";
        $return["error"]["reason"] = "No keyword";
        $return["error"]["message"] = __("No keyword specified.", "wprobot");
        return $return;
    }
    $template = $wpdb->get_var("SELECT content FROM " . $wpr_table_templates . " WHERE type = 'eventful'");
    if ($template == false || empty($template)) {
        // If module template is empty return error
        $return["error"]["module"] = "Eventful";
        $return["error"]["reason"] = "No template";
        $return["error"]["message"] = __("Module Template does not exist or could not be loaded.", "wprobot");
        return $return;
    }
    $x = 0;
    $itemcontent = array();
    $pxml = wpr_eventfulrequest($keyword, $num, $start, $options);
    // Send API request
    if (!empty($pxml["error"])) {
        return $pxml;
    }
    if ($pxml === False) {
        $itemcontent["error"]["module"] = "Eventful";
        $itemcontent["error"]["reason"] = "Request fail";
        $itemcontent["error"]["message"] = __("API request could not be sent.", "wprobot");
        return $itemcontent;
    } else {
        if (isset($pxml->events)) {
            foreach ($pxml->events->event as $item) {
                $attrs = $item->attributes();
                $uid = $attrs['id'];
                $title = $item->title;
                $description = trim($item->description);
                $url = $item->url;
                $start_time = $item->start_time;
                $stop_time = $item->stop_time;
                $venue_name = $item->venue_name;
                $venue_url = $item->venue_url;
                $venue_address = $item->venue_address;
                $city_name = $item->city_name;
                $country_name = $item->country_name;
                $content = $template;
                $content = wpr_random_tags($content);
                $content = str_replace("{title}", $title, $content);
                $content = str_replace("{description}", $description, $content);
                $content = str_replace("{url}", $url, $content);
                $content = str_replace("{keyword}", $keyword, $content);
                $content = str_replace("{begin}", $start_time, $content);
                $content = str_replace("{end}", $stop_time, $content);
                $content = str_replace("{venuename}", $venue_name, $content);
                $content = str_replace("{venueurl}", $venue_url, $content);
                $content = str_replace("{venueaddress}", $venue_address, $content);
                $content = str_replace("{city}", $city_name, $content);
                $content = str_replace("{country}", $country_name, $content);
                if (function_exists("wpr_translate_partial")) {
                    $content = wpr_translate_partial($content);
                }
                if (function_exists("wpr_rewrite_partial")) {
                    $content = wpr_rewrite_partial($content, $options);
                }
                if ("yes" == $options['wpr_eventful_skip'] && empty($description) && $num == 1) {
                    $itemcontent["error"]["module"] = "Eventful";
                    $itemcontent["error"]["reason"] = "No content";
                    $itemcontent["error"]["message"] = __("Event skipped because of empty description.", "wprobot");
                    return $itemcontent;
                }
                $itemcontent[$x]["unique"] = $uid;
                $itemcontent[$x]["title"] = $title;
                $itemcontent[$x]["content"] = $content;
                $x++;
            }
            if (empty($itemcontent)) {
                // Return error if no content has been found.
                $itemcontent["error"]["module"] = "Eventful";
                $itemcontent["error"]["reason"] = "No content";
                $itemcontent["error"]["message"] = __("No (more) Yahoo news items found.", "wprobot");
                return $itemcontent;
            } else {
                return $itemcontent;
            }
        } else {
            if (isset($pxml->description)) {
                // Check for API error messages in results and if found return them.
                $message = __('There was a problem with your API request. This is the error returned:', "wprobot") . ' <b>' . $pxml->description . '</b>';
                $itemcontent["error"]["module"] = "Eventful";
                $itemcontent["error"]["reason"] = "API fail";
                $itemcontent["error"]["message"] = $message;
                return $itemcontent;
            } else {
                // Return error if no content has been found.
                $itemcontent["error"]["module"] = "Eventful";
                $itemcontent["error"]["reason"] = "No content";
                $itemcontent["error"]["message"] = __("No (more) Eventful items found.", "wprobot");
                return $itemcontent;
            }
        }
    }
}
Exemple #11
0
function wpr_flickrpost($keyword, $num, $start, $optional = "", $getcomments)
{
    global $wpdb, $wpr_table_templates;
    if ($keyword == "") {
        $return["error"]["module"] = "Flickr";
        $return["error"]["reason"] = "No keyword";
        $return["error"]["message"] = __("No keyword specified.", "wprobot");
        return $return;
    }
    $options = unserialize(get_option("wpr_options"));
    $width = $options["wpr_fl_width"];
    $apikey = trim($options["wpr_fl_apikey"]);
    $cont = $options["wpr_fl_content"];
    $sort = $options["wpr_fl_sort"];
    $license = $options["wpr_fl_license"];
    $template = $wpdb->get_var("SELECT content FROM " . $wpr_table_templates . " WHERE type = 'flickr' AND name = 'standard'");
    if ($template == false || empty($template)) {
        $return["error"]["module"] = "Flickr";
        $return["error"]["reason"] = "No template";
        $return["error"]["message"] = __("Module Template does not exist or could not be loaded.", "wprobot");
        return $return;
    }
    $pxml = wpr_flickrrequest($keyword, $apikey, $cont, $sort, $license, $start, $num);
    if (!empty($pxml["error"])) {
        return $pxml;
    }
    //echo "<br/>---FLICKR---<br/>";print_r($pxml);echo "<br/>---FLICKR---<br/>";
    $end = $start + $num;
    //$i = 0;
    $x = 0;
    $photos = array();
    if ($pxml === False) {
        $photos["error"]["module"] = "Flickr";
        $photos["error"]["reason"] = "API fail";
        $photos["error"]["message"] = __("Flickr API request did not work.", "wprobot");
        return $photos;
    } else {
        if (isset($pxml->err)) {
            $message = '<p>' . __("There was a problem with your Flickr API request. This is the error Flickr returned:", "wprobot") . '</p>
			<p><i><b>' . $pxml->err['code'] . ':</b> ' . $pxml->err['msg'] . '</i></p>';
            $photos["error"]["module"] = "Flickr";
            $photos["error"]["reason"] = "API fail";
            $photos["error"]["message"] = $message;
            return $photos;
        }
        if (isset($pxml->photos->photo)) {
            foreach ($pxml->photos->photo as $photo) {
                //if($i >= $start && $i <= $end) { // PROBLEM HERE ???!!!
                $title = $photo['title'];
                $date = $photo['datetaken'];
                $owner = $photo['ownername'];
                $urlt = $photo['url_t'];
                $urls = $photo['url_s'];
                $urlm = $photo['url_m'];
                $urlo = $photo['url_o'];
                //$description = $photo['description'];
                $description = $photo->description;
                $ownerid = $photo['owner'];
                $photoid = $photo['id'];
                if ($options["wpr_fl_size"] == "small") {
                    $img = '<img alt="' . $keyword . '" src="' . $urls . '" width="' . $width . '"/><br/>';
                } elseif ($options["wpr_fl_size"] == "med") {
                    $img = '<img alt="' . $keyword . '" src="' . $urlm . '" width="' . $width . '"/><br/>';
                } else {
                    $img = '<img alt="' . $keyword . '" src="' . $urlo . '" width="' . $width . '"/><br/>';
                }
                $link = 'http://www.flickr.com/photos/' . $ownerid . '/' . $photoid;
                $photo = $template;
                $photo = wpr_random_tags($photo);
                // Comments
                $commentspost = "";
                preg_match('#\\{comments(.*)\\}#iU', $photo, $rmatches);
                if ($rmatches[0] != false || $getcomments == 1) {
                    $comments = wpr_fl_getcomments($photoid, $apikey);
                }
                if ($rmatches[0] != false && !empty($comments)) {
                    $cnum = substr($rmatches[1], 1);
                    for ($i = 0; $i < count($comments); $i++) {
                        if ($i == $cnum) {
                            break;
                        } else {
                            $commentspost .= "<p><b>Comment by " . $comments[$i]["author"] . "</b><br/>" . $comments[$i]["content"] . "</p>";
                        }
                    }
                    $photo = str_replace($rmatches[0], $commentspost, $photo);
                }
                $photo = str_replace("{image}", $img, $photo);
                $photo = str_replace("{date}", $date, $photo);
                $photo = str_replace("{owner}", $owner, $photo);
                $photo = str_replace("{url}", $link, $photo);
                $photo = str_replace("{keyword}", $keyword, $photo);
                $photo = str_replace("{description}", $description, $photo);
                $photo = str_replace("{title}", $title, $photo);
                if (function_exists("wpr_translate_partial")) {
                    $photo = wpr_translate_partial($photo);
                }
                if (function_exists("wpr_rewrite_partial")) {
                    $photo = wpr_rewrite_partial($photo, $options);
                }
                $customfield = array();
                $customfield["flickrtitle"] = $title;
                $customfield["flickrimage"] = $urlm;
                $customfield["flickrowner"] = $owner;
                $photos[$x]["unique"] = $photoid;
                $photos[$x]["title"] = $title;
                $photos[$x]["content"] = $photo;
                $photos[$x]["comments"] = $comments;
                $photos[$x]["customfield"] = $customfield;
                $x++;
                //}
                //$i++;
            }
            if (empty($photos)) {
                $photos["error"]["module"] = "Flickr";
                $photos["error"]["reason"] = "No content";
                $photos["error"]["message"] = __("No (more) Flickr images found.", "wprobot");
                return $photos;
            } else {
                return $photos;
            }
        } else {
            $photos["error"]["module"] = "Flickr";
            $photos["error"]["reason"] = "No content";
            $photos["error"]["message"] = __("No (more) Flickr images found.", "wprobot");
            return $photos;
        }
    }
}
Exemple #12
0
function wpr_post($camp_id, $keyword = "", $retry = 1, $manual = 0)
{
    global $wpdb, $wpr_table_campaigns, $wpr_table_posts, $wpr_table_errors;
    if ($retry > 0) {
        $retrymsg = " <b>(" . __("Retry", "wprobot") . " {$retry})</b>";
    } else {
        $retrymsg = "";
    }
    $time = current_time('mysql');
    $errors = array();
    $options = unserialize(get_option("wpr_options"));
    $result = $wpdb->get_row("SELECT * FROM " . $wpr_table_campaigns . " WHERE id = '{$camp_id}'");
    if ($result->pause == 1 && $manual == 0) {
        return false;
    }
    // select KEYWORD
    $keywords = unserialize($result->keywords);
    if (!$keyword) {
        if (empty($keywords)) {
            // SAVE and DISPLAY error
            $esql = "INSERT INTO " . $wpr_table_errors . " ( campaign, keyword, module, reason, message, time ) VALUES";
            $esql .= " ( '{$camp_id}', '{$keyword}', '', 'Inactive', " . __("'Post skipped because no keywords were found in the campaign.{$retrymsg}'", 'wprobot') . ", '{$time}' );";
            $results = $wpdb->query($esql);
            return false;
        }
        // REMOVE KEYWORDS WHERE SKIPPED = 5 (better way without loop?)
        $keywords2 = $keywords;
        foreach ($keywords as $key => $keyword) {
            if ($keyword["skipped"] >= $options['wpr_err_disable'] && !$keyword["feed"]) {
                unset($keywords2[$key]);
            }
        }
        //echo "<pre>";print_r($keywords2);echo "</pre>";
        //$keywords = array_values($keywords);
        $rnd = array_rand($keywords2);
        $keyword = $keywords[$rnd][0];
        if ($rnd === "" || $keyword === "" && !empty($keyword["feed"]) || !is_numeric($rnd)) {
            // SAVE and DISPLAY error
            $esql = "INSERT INTO " . $wpr_table_errors . " ( campaign, keyword, module, reason, message, time ) VALUES";
            $esql .= " ( '{$camp_id}', '{$keyword}', '', 'Inactive', " . __("'No active keywords or feeds for this campaign, possibly because they were disabled due to repeated errors. Check the status and reenable them on the campaign detail page.{$retrymsg}'", 'wprobot') . ", '{$time}' );";
            $results = $wpdb->query($esql);
            return false;
        }
    } else {
        foreach ($keywords as $key => $kw) {
            if ($kw[0] == $keyword) {
                $rnd = $key;
            }
        }
    }
    $keywordsbackup = $keywords[$rnd];
    // select CATEGORY
    $categories = unserialize($result->categories);
    if (!empty($categories[0]["id"])) {
        $categories = wpr_transform_cats($categories);
    }
    $catarray = array();
    if (count($categories) == 1) {
        foreach ($categories[0] as $cats) {
            $catarray[] = $cats["id"];
        }
        //$category = $categories[0]["id"];
    } else {
        foreach ($categories[$rnd] as $cats) {
            $catarray[] = $cats["id"];
        }
        //$category = $categories[$rnd]["id"];
    }
    // select TEMPLATE
    $templates = unserialize($result->templates);
    $i = 1;
    foreach ($templates as $tchance) {
        $tch[$i] = $templates[$i]["chance"];
        $i++;
    }
    $random = rand(1, 100);
    foreach ($tch as $name => $chance) {
        $luck += $chance;
        if ($random <= $luck && empty($templatenum)) {
            $templatenum = $name;
        }
    }
    $template = $templates[$templatenum]["content"];
    $templateexcerpt = substr(strip_tags($template), 0, 130);
    $templateusedmsg = '<a target="_blank" class="tooltip" href="#">?<span>' . __('The template used for this post was: <strong>Post Template ', "wprobot") . $templatenum . __('</strong>, starting with:<br/>', "wprobot") . $templateexcerpt . __('<br/><br/><strong>If there was an error please check the associated module messages directly below this one!</strong>', "wprobot") . '</span></a>';
    // Wordpress action hook
    do_action('wpr_before_post', $insert);
    $content = $template;
    //echo $template."<br>";
    $noqkeyword = str_replace('"', '', $keyword);
    $content = str_replace("{keyword}", $noqkeyword, $content);
    $content = str_replace("{Keyword}", ucwords($noqkeyword), $content);
    $content = str_replace("{title}", $title, $content);
    $catreplace = get_category_link($catarray[0]);
    if (!is_wp_error($catreplace)) {
        $content = str_replace("{catlink}", $catreplace, $content);
    } else {
        $content = str_replace("{catlink}", "", $content);
    }
    // AMAZON
    preg_match_all('#\\{amazonlist(.*)\\}#iU', $content, $matches, PREG_SET_ORDER);
    if ($matches) {
        foreach ($matches as $match) {
            $match[1] = substr($match[1], 1);
            if ($match[1]) {
                $amanum = $match[1];
            } else {
                $amanum = 1;
            }
            $amalist = wpr_amazon_getlist($keywords[$rnd][0], $amanum);
            if (isset($amalist["error"]) && is_array($amalist)) {
                $errors[] = $amalist["error"];
                $content = str_replace($match[0], "", $content);
            }
            $content = str_replace($match[0], $amalist, $content);
        }
    }
    // THUMBNAIL
    preg_match_all('#\\{thumbnail(.*)\\}#iU', $content, $matches, PREG_SET_ORDER);
    if ($matches) {
        foreach ($matches as $match) {
            $match[1] = substr($match[1], 1);
            if ($match[1]) {
                $tkw = $match[1];
            } else {
                $tkw = $keywords[$rnd][0];
            }
            $thumbnail = wpr_flickr_getthumbnail($tkw);
            if (!empty($thumbnail["error"])) {
                $errors[] = $thumbnail["error"];
            }
            $content = str_replace($match[0], $thumbnail[0]["content"], $content);
        }
    }
    // RANDOM Tags
    $content = wpr_random_tags($content);
    $title = $templates[$templatenum]["title"];
    $noqkeyword = str_replace('"', '', $keyword);
    $title = str_replace("{keyword}", $noqkeyword, $title);
    $title = str_replace("{Keyword}", ucwords($noqkeyword), $title);
    if (!empty($keywords[$rnd]["alternative"])) {
        $ll = 1;
        foreach ($keywords[$rnd]["alternative"] as $alternative) {
            $content = str_replace("{keyword{$ll}}", $alternative, $content);
            $title = str_replace("{keyword{$ll}}", $alternative, $title);
            $ll++;
        }
    }
    // RANDOM Tags
    $title = wpr_random_tags($title);
    $raz[0] = "{";
    $raz[1] = "}";
    preg_match_all("/\\" . $raz[0] . "[^\\" . $raz[1] . "]+\\" . $raz[1] . "/s", $content, $matches);
    $counts = array_count_values($matches[0]);
    //echo $counts["{amazon}"];
    $wpr_modulesnum = count($matches[0]);
    if ($wpr_modulesnum <= 0) {
        // SAVE and DISPLAY error
        $esql = "INSERT INTO " . $wpr_table_errors . " ( campaign, keyword, module, reason, message, time ) VALUES";
        $esql .= " ( '{$camp_id}', '{$keyword}', '', 'Inactive', " . __("'Post skipped because no modules were found in the template.{$retrymsg}'", 'wprobot') . ", '{$time}' );";
        $results = $wpdb->query($esql);
        return false;
    }
    $usql = "INSERT INTO " . $wpr_table_posts . " ( campaign, keyword, module, unique_id, time ) VALUES";
    // Get Content for each Module
    // ["content"] = Content of the item (replaced module template code)
    // ["title"] = Title of the item (i.e. Product title)
    // ["unique"] = Unique ID (i.e. ASIN)
    // ["comments"] = Possible comment content of the item (i.e. reviews)
    $contents = array();
    $commentsarray = array();
    $titleerror = 0;
    $duplicatecount = 0;
    $errorcount = 0;
    $replacecount = 0;
    foreach ($counts as $module => $count) {
        $modulname = str_replace(array("{", "}"), "", $module);
        $function = "wpr_" . $modulname . "post";
        $optional = "";
        $comments = "";
        switch ($modulname) {
            case "amazon":
                $optional = array($result->amazon_department, $keywords[$rnd]["node"]);
                break;
            case "ebay":
                $optional = $result->ebay_cat;
                break;
            case "flickr":
                $comments = $templates[$templatenum]["comments"]["{$modulname}"];
                break;
            case "youtube":
                $comments = $templates[$templatenum]["comments"]["{$modulname}"];
                break;
            case "yahooanswers":
                $optional = $result->yahoo_cat;
                $comments = $templates[$templatenum]["comments"]["{$modulname}"];
                break;
            case "rss":
                $optional = $keywords[$rnd]["feed"];
                break;
        }
        // GET CONTENT
        if (function_exists($function)) {
            $contents["{$modulname}"] = $function($keyword, $count, $keywords[$rnd][1]["{$modulname}"], $optional, $comments);
            if (!empty($contents["{$modulname}"]["error"])) {
                $errors[] = $contents["{$modulname}"]["error"];
                $errorcount = $errorcount + 1 * $counts["{" . $modulname . "}"];
            }
        } else {
            $title = str_replace("{" . $modulname . "title}", "", $title);
            $errors[] = array("module" => ucwords($modulname), "reason" => "Not Installed", "message" => __("{$modulname} is not installed on this weblog and has been skipped.", 'wprobot'));
            $errorcount = $errorcount + 1;
        }
        //print_r($contents);
        // KEYWORD REPLACE
        if ($replacecount == 0 && !empty($contents["{$modulname}"][0]["title"]) && $options['wpr_replace_keyword'] == 1) {
            $keyword = preg_replace("/[^A-Za-z0-9 ]/", '', $contents["{$modulname}"][0]["title"]);
            $replacecount = 1;
        }
        // CONTENT REPLACE
        ${$modulname} = 0;
        $dupl = 0;
        foreach ($matches[0] as $element) {
            if ($element == "{" . $modulname . "}") {
                $unique = $contents["{$modulname}"][${$modulname}]["unique"];
                if ($unique != "" || $modulname == "ebay") {
                    $dcheck = wpr_check_unique($unique);
                    //echo "CHECK".$dcheck;
                    if ($options['wpr_check_unique_old'] == "Yes") {
                        $dcheck2 = wpr_check_unique_old($contents["{$modulname}"][${$modulname}]["title"]);
                    } else {
                        $dcheck2 = false;
                    }
                    if ($dcheck == false && $dcheck2 == false) {
                        $content = preg_replace('/\\{' . $modulname . '\\}/', $contents["{$modulname}"][${$modulname}]["content"], $content, 1);
                        if (!isset($contents["{$modulname}"]["error"])) {
                            $unique = $wpdb->escape($unique);
                            $ekeyword = $wpdb->escape($keyword);
                            $usql .= " ( '{$camp_id}', '{$ekeyword}', '{$modulname}', '{$unique}', '{$time}' ),";
                        }
                        if ($templates[$templatenum]["comments"]["{$modulname}"] == 1) {
                            $commentsarray[] = $contents["{$modulname}"][${$modulname}]["comments"];
                        }
                        if (!empty($contents["{$modulname}"][${$modulname}]["comments"]) && $modulname == "articlebuilder") {
                            $commentsarray[] = $contents["{$modulname}"][${$modulname}]["comments"];
                        }
                    } else {
                        // DUPLICATE POST
                        $dupl = 1;
                        $duplicatecount++;
                        $content = preg_replace('/\\{' . $modulname . '\\}/', "", $content, 1);
                        $errors[] = array("module" => ucwords($modulname), "reason" => "Duplicate", "message" => __("Skipping ", 'wprobot') . ucwords($modulname) . __(" module because the content has already been posted.", 'wprobot'));
                        $errorcount = $errorcount + 1;
                    }
                }
                //echo "------------DEBUG START------------<br/>";
                //echo $dupl." DUPLICATE<br/>";
                //echo $contents["$modulname"]["error"]." ERROR<br/>";
                //echo $counts["{".$modulname."}"]." FIRST COUNT<br/>";
                //echo $$modulname." SECOND COUNT<br/>";
                // TITLE REPLACE
                $titlecheck = strpos($title, "{" . $modulname . "title}");
                $titlecheck2 = strpos($title, "{title}");
                $modulecheckvar = ${$modulname} + 1;
                if ($titlecheck !== false || $titlecheck2 !== false) {
                    if ($counts["{" . $modulname . "}"] > $modulecheckvar && $dupl == 1 || $counts["{" . $modulname . "}"] > $modulecheckvar && !empty($contents["{$modulname}"]["error"])) {
                        // Dont Replace Title because there is another title module item
                    } elseif ($counts["{" . $modulname . "}"] <= $modulecheckvar && $dupl == 1) {
                        // Title Duplicate
                        $titleduplicate = 1;
                    } elseif ($counts["{" . $modulname . "}"] <= $modulecheckvar && !empty($contents["{$modulname}"]["error"]) || $counts["{" . $modulname . "}"] <= $modulecheckvar && empty($contents["{$modulname}"][0]["title"])) {
                        // Title Error
                        $titleerror = 1;
                    } else {
                        // Replace Title
                        $title = str_replace("{" . $modulname . "title}", $contents["{$modulname}"][${$modulname}]["title"], $title);
                        $title = str_replace("{title}", $contents["{$modulname}"][${$modulname}]["title"], $title);
                    }
                }
                ${$modulname}++;
            }
        }
        if ($contents["{$modulname}"]["error"]["reason"] == "IncNum") {
            $incnum = 1;
        } else {
            $incnum = 0;
        }
        // INCREASE NUMS
        if (empty($contents["{$modulname}"]["error"]) || $contents["{$modulname}"]["error"]["reason"] == "IncNum") {
            // don't increase NUMs if ERROR for module
            $keywords[$rnd][1]["{$modulname}"] = $keywords[$rnd][1]["{$modulname}"] + ${$modulname};
            // RESET POST COUNT
            if ($keywords[$rnd][1]["{$modulname}"] > $options['wpr_resetcount'] && $options['wpr_resetcount'] != "no") {
                $keywords[$rnd][1]["{$modulname}"] = 0;
            }
            if ($modulename == "ebay" && $keywords[$rnd][1]["{$modulname}"] > 50) {
                $keywords[$rnd][1]["{$modulname}"] = 0;
            }
        }
        $content = str_replace("{" . $modulname . "}", "", $content);
    }
    // check ERRORS
    //$errorsnum = count($errors);
    $errorsnum = $errorcount;
    $skip = 0;
    if (!empty($keywords[$rnd]["feed"])) {
        $errkeyword = "Feed";
    } elseif (!empty($keywords[$rnd]["node"])) {
        $errkeyword = "Node:" . $keywords[$rnd]["node"];
    } else {
        $errkeyword = $wpdb->escape($keyword);
    }
    // EXCLUDE KEYWORDS Check $options["wpr_global_exclude"]
    $excludeskip = 0;
    $excludes = unserialize($result->excludekws);
    $globals = str_replace("\r", "", $options["wpr_global_exclude"]);
    $globals = explode("\n", $globals);
    $excludes = array_merge($excludes, $globals);
    if (!empty($excludes)) {
        foreach ($excludes as $exclude) {
            if ($exclude != "" && $exclude != " ") {
                $excheck = stripos($content, $exclude);
                $texcheck = stripos($title, $exclude);
                if ($excheck === false && $texcheck === false) {
                } else {
                    $excludeskip = 1;
                    $errors = array();
                    $errors[] = array("module" => "", "reason" => "Exclude", "message" => __("Skipping post because exclude keyword {$exclude} was found.{$retrymsg} {$templateusedmsg}", 'wprobot'), "time" => "{$time}");
                    break;
                }
            }
        }
    }
    if ($excludeskip == 0) {
        // MARK KEYWORD AS yellow, orange, etc
        $wpr_modulessuccess = $wpr_modulesnum - $errorsnum;
        $duplsuccess = $wpr_modulesnum - $duplicatecount;
        if ($duplicatecount > $options["wpr_err_maxerr"] || $duplsuccess < $options["wpr_err_minmod"] || $titleduplicate == 1) {
            // DUPLICATE ERROR - WiTHOUT skipped INCREASE
            $errors[] = array("module" => "", "reason" => "Duplicate Content", "message" => __("Skipping post to prevent duplicate content.", 'wprobot') . "{$retrymsg} {$templateusedmsg}", "time" => "{$time}");
            $skip = 1;
        } elseif ($titleerror == 1) {
            if ($incnum != 1) {
                $keywords[$rnd] = $keywordsbackup;
            }
            $keywords[$rnd]["skipped"] = $keywords[$rnd]["skipped"] + 1;
            $errors[] = array("module" => "", "reason" => "Post skipped", "message" => __("Skipping post because the main module (title module) returned an error.", 'wprobot') . "{$retrymsg} {$templateusedmsg}", "time" => "{$time}");
            $skip = 1;
        } elseif ($errorsnum > $options["wpr_err_maxerr"] || $wpr_modulessuccess < $options["wpr_err_minmod"]) {
            if ($incnum != 1) {
                $keywords[$rnd] = $keywordsbackup;
            }
            $keywords[$rnd]["skipped"] = $keywords[$rnd]["skipped"] + 1;
            $errors[] = array("module" => "", "reason" => "Post skipped", "message" => __("Skipping post because too many module errors were encountered.", 'wprobot') . "{$retrymsg} {$templateusedmsg}", "time" => "{$time}");
            $skip = 1;
        } else {
            $keywords[$rnd]["skipped"] = 0;
        }
    }
    // SAVE ERRORS
    if ($errorsnum > 0 || $excludeskip == 1 || $titleerror == 1) {
        $esql = "INSERT INTO " . $wpr_table_errors . " ( campaign, keyword, module, reason, message, time ) VALUES";
        foreach ($errors as $error) {
            $error["message"] = $wpdb->escape($error["message"]);
            $esql .= " ( '{$camp_id}', '{$errkeyword}', '" . $error["module"] . "', '" . $error["reason"] . "', '" . $error["message"] . "', '{$time}' ),";
        }
        $esql = substr_replace($esql, ";", -1);
        $results = $wpdb->query($esql);
    }
    // SKIP if EXCLUDE found, errors > MAXERRORS or modules < MINMODULES
    if ($excludeskip == 1 || $skip == 1) {
        // - update campaign entry with new NUMS
        $keywords = serialize($keywords);
        $keywords = $wpdb->escape($keywords);
        $sql = "UPDATE " . $wpr_table_campaigns . " SET `keywords` = '" . $keywords . "' WHERE `id` = '" . $camp_id . "'";
        $results = $wpdb->query($sql);
        return false;
    }
    // SAVE IMAGES
    /*if($options['wpr_save_images'] == "Yes") {
    
    		$allimages = wpr_findimages($content);
    		$imageurls = $allimages[2];
    
    		if(sizeof($imageurls)) {
    			foreach($imageurls as $oldurl) {
    				if(strpos($oldurl, plugin_basename( dirname(__FILE__) )) === false) {
    					$newurl = wpr_saveimage($oldurl,$keyword);
    					if($newurl) {$content = str_replace($oldurl, $newurl, $content);}	
    				}
    			} 
    		}	
        }	*/
    // TRANSLATION
    if (function_exists("wpr_translate_partial")) {
        $title = wpr_translate_partial($title);
    }
    $translation = unserialize($result->translation);
    if ($translation["chance"] >= rand(1, 100)) {
        if ($translation["from"] != "no" && $translation["to1"] != "no") {
            $translationcontent = wpr_translate($content, $translation["from"], $translation["to1"], $translation["to2"], $translation["to3"]);
            //print_r($translationcontent);
            if ($options["wpr_trans_titles"] == "yes") {
                $translationtitle = wpr_translate($title, $translation["from"], $translation["to1"], $translation["to2"], $translation["to3"]);
            }
            if (!empty($translationcontent["error"]["reason"])) {
                $esql = "INSERT INTO " . $wpr_table_errors . " ( campaign, keyword, module, reason, message, time ) VALUES";
                $esql .= " ( '{$camp_id}', '{$errkeyword}', 'Translation', '" . $translationcontent["error"]["reason"] . "', '" . $translationcontent["error"]["message"] . "', '{$time}' );";
                $results = $wpdb->query($esql);
                if ($options['wpr_trans_fail'] == "skip") {
                    $esql = "INSERT INTO " . $wpr_table_errors . " ( campaign, keyword, module, reason, message, time ) VALUES";
                    $esql .= " ( '{$camp_id}', '{$errkeyword}', '', 'Post skipped', '" . __("Skipping post because translation failed ", "wprobot") . "{$retrymsg} {$templateusedmsg}', '{$time}' );";
                    $results = $wpdb->query($esql);
                    return false;
                }
            } elseif (empty($translationcontent)) {
                $esql = "INSERT INTO " . $wpr_table_errors . " ( campaign, keyword, module, reason, message, time ) VALUES";
                $esql .= " ( '{$camp_id}', '{$errkeyword}', 'Translation', 'Translation Failed', '" . __("The post could not be translated.", "wprobot") . "', '{$time}' );";
                $results = $wpdb->query($esql);
                if ($options['wpr_trans_fail'] == "skip") {
                    $esql = "INSERT INTO " . $wpr_table_errors . " ( campaign, keyword, module, reason, message, time ) VALUES";
                    $esql .= " ( '{$camp_id}', '{$errkeyword}', '', 'Post skipped', '" . __("Skipping post because translation failed ", "wprobot") . "{$retrymsg} {$templateusedmsg}', '{$time}' );";
                    $results = $wpdb->query($esql);
                    return false;
                }
            } else {
                $content = $translationcontent;
                if ($options["wpr_trans_titles"] == "yes" && empty($translationtitle["error"]["reason"])) {
                    $title = $translationtitle;
                }
                if ($translation["comments"] == 1) {
                    $transcomments = 1;
                } else {
                    $transcomments = 0;
                }
            }
        }
    }
    $yahoocat = unserialize($result->yahoo_cat);
    if (!is_array($yahoocat)) {
        $yahoocat = array();
        $yahoocat["rw"] = 0;
        $yahoocat["ps"] = $result->yahoo_cat;
        $yahoocat["a"] = "";
    }
    // REWRITE
    if ($yahoocat["rw"] == 1) {
        $rewrite_use = $options['wpr_rewrite_use'];
        $rewrite_titles = $options['wpr_tbs_rewrite_title'];
        $rw_options = get_option('allrewriters_settings');
        if (empty($rw_options)) {
            $esql = "INSERT INTO " . $wpr_table_errors . " ( campaign, keyword, module, reason, message, time ) VALUES";
            $esql .= " ( '{$camp_id}', '{$errkeyword}', 'Rewriter', 'Rewriter', 'Rewriter settings are empty! Please go to the All Rewriters page to set them up.', '{$time}' );";
            $results = $wpdb->query($esql);
        } else {
            if ($rewrite_use == "chain") {
                if (!empty($rw_options["general"]["options"]["chain"][1]) && !empty($rw_options["general"]["options"]["chain"][2])) {
                    foreach ($rw_options["general"]["options"]["chain"] as $ch => $chfunc) {
                        if (!empty($chfunc)) {
                            $result = $chfunc($content);
                            if (is_array($result) && !empty($result["error"])) {
                                $esql = "INSERT INTO " . $wpr_table_errors . " ( campaign, keyword, module, reason, message, time ) VALUES";
                                $esql .= " ( '{$camp_id}', '{$errkeyword}', 'Chain Rewrite', 'Chain Rewrite', '" . $result["error"] . "', '{$time}' );";
                                $results = $wpdb->query($esql);
                            } else {
                                $content = $result;
                            }
                        }
                    }
                } else {
                    $esql = "INSERT INTO " . $wpr_table_errors . " ( campaign, keyword, module, reason, message, time ) VALUES";
                    $esql .= " ( '{$camp_id}', '{$errkeyword}', 'Chain Rewrite', 'Chain Rewrite', 'Please set up your rewriting chain on the All Rewriters settings page under <i>Settings > All Rewriters</i> first', '{$time}' );";
                    $results = $wpdb->query($esql);
                }
            } elseif ($rewrite_use == "rand" || empty($rewrite_use)) {
                // get random active rewriter
                $active_rw = array();
                foreach ($rw_options as $module => $moduledata) {
                    if (1 == $moduledata["enabled"]) {
                        $active_rw[] = $module;
                    }
                }
                $rand_key = array_rand($active_rw);
                $sel_rw = $active_rw[$rand_key];
            } else {
                $sel_rw = $rewrite_use;
            }
            $rw_func = $rw_options[$sel_rw]["function"];
            if (!empty($rw_func) && function_exists($rw_func)) {
                $result = $rw_func($content);
                if (is_array($result) && !empty($result["error"])) {
                    $esql = "INSERT INTO " . $wpr_table_errors . " ( campaign, keyword, module, reason, message, time ) VALUES";
                    $esql .= " ( '{$camp_id}', '{$errkeyword}', '" . $rw_options[$sel_rw]["name"] . "', '" . $rw_options[$sel_rw]["name"] . "', '" . $result["error"] . "', '{$time}' );";
                    $results = $wpdb->query($esql);
                } else {
                    $content = $result;
                }
                //echo "RW: $sel_rw <br><br>RW FUNC: $rw_func <br><br> RESULT: $result";
                if ($rewrite_titles == "Yes") {
                    $rewritetitle = $rw_func($title);
                    if (is_array($rewritetitle) && !empty($rewritetitle["error"])) {
                    } else {
                        $title = $rewritetitle;
                    }
                }
            } elseif ($rewrite_use != "chain") {
                $esql = "INSERT INTO " . $wpr_table_errors . " ( campaign, keyword, module, reason, message, time ) VALUES";
                $esql .= " ( '{$camp_id}', '{$errkeyword}', 'Rewriter', 'Rewriter', 'Rewriter Function not found! Please install our free All Rewriter plugin to use rewriting with WP Robot!', '{$time}' );";
                $results = $wpdb->query($esql);
            }
        }
    }
    if (function_exists("wpr_rewrite_partial")) {
        $content = wpr_rewrite_partial($content, $options);
    }
    // REPLACES
    $replaces = unserialize($result->replacekws);
    if (!empty($replaces)) {
        foreach ($replaces as $replace) {
            if ($replace["chance"] >= rand(1, 100)) {
                $replace["from"] = trim($replace["from"]);
                $replace["to"] = trim($replace["to"]);
                if ($replace["code"] == "1") {
                    $content = str_replace($replace["from"], $replace["to"], $content);
                    $title = str_replace($replace["from"], $replace["to"], $title);
                } else {
                    $content = str_replace(" " . $replace["from"], " " . $replace["to"], $content);
                    $title = str_replace(" " . $replace["from"], " " . $replace["to"], $title);
                }
            }
        }
    }
    // Wordpress action hook
    do_action('wpr_before_post_save', $content, $title, $catarray);
    // INSERT POST into db
    $insert = wpr_insertpost($content, $title, $catarray, $yahoocat["ps"], $yahoocat["a"], "", "", $yahoocat["pt"]);
    if (is_wp_error($insert)) {
        $errormessage = $insert->get_error_message();
        // SAVE and DISPLAY error
        $esql = "INSERT INTO " . $wpr_table_errors . " ( campaign, keyword, module, reason, message, time ) VALUES";
        $esql .= " ( '{$camp_id}', '{$errkeyword}', '', 'Insert failed', " . __("'Wordpress Error: ", 'wprobot') . "{$errormessage} {$retrymsg} {$templateusedmsg}', '{$time}' );";
        $results = $wpdb->query($esql);
        return false;
    } elseif (isset($insert)) {
        // - update campaign entry with new NUMS
        $posts_created = $result->posts_created + 1;
        $keywords[$rnd][1]["total"] = $keywords[$rnd][1]["total"] + 1;
        $keywords = serialize($keywords);
        $keywords = $wpdb->escape($keywords);
        $sql = "UPDATE " . $wpr_table_campaigns . " SET `keywords` = '" . $keywords . "', `posts_created` = '" . $posts_created . "' WHERE `id` = '" . $camp_id . "'";
        $results = $wpdb->query($sql);
        // - SAVE IMAGES
        if ($options['wpr_save_images'] == "Yes") {
            $resultimgs = wpr_save_all_images($content, $keyword, $insert);
            $attachments = get_posts(array('numberposts' => '1', 'post_parent' => $insert, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC'));
            if (sizeof($attachments) > 0) {
                set_post_thumbnail($insert, $attachments[0]->ID);
            }
        }
        // - save UNIQUE IDS to post table
        $usql = substr_replace($usql, ";", -1);
        $results = $wpdb->query($usql);
        // - insert COMMENTS
        wpr_insertcomments($insert, $commentsarray, "", $transcomments, $translation);
        // - insert CUSTOM FIELDS
        //if($counts["{amazon}"] > 0) {
        //	add_post_meta($insert, 'ma_amazonpost', $contents["amazon"][0]["unique"]);
        //}
        //add_post_meta($insert, 'wpr_keyword', $keyword);
        $customfield = unserialize($result->customfield);
        if (isset($customfield["name"])) {
            $customfields = array();
            $customfields[1]["name"] = $customfield["name"];
            $customfields[1]["value"] = $customfield["value"];
            $customfield = $customfields;
        }
        if ($yahoocat["t"] == 1 || !empty($customfield)) {
            if (!empty($contents["amazon"][0]["customfield"]["amazonthumbnail"])) {
                $ximage = $contents["amazon"][0]["customfield"]["amazonthumbnail"];
            } elseif (!empty($contents["commissionjunction"][0]["customfield"]["cjthumbnail"])) {
                $ximage = $contents["commissionjunction"][0]["customfield"]["cjthumbnail"];
            } elseif (!empty($contents["rss"][0]["customfield"]["rssimage"])) {
                $ximage = $contents["rss"][0]["customfield"]["rssimage"];
            } elseif (!empty($contents["flickr"][0]["customfield"]["flickrimage"])) {
                $ximage = $contents["flickr"][0]["customfield"]["flickrimage"];
            } elseif (!empty($thumbnail[0]["customfield"]["thumbnail"])) {
                $ximage = $thumbnail[0]["customfield"]["thumbnail"];
            } elseif (!empty($contents["youtube"][0]["customfield"]["youtubethumbnail"])) {
                $ximage = $contents["youtube"][0]["customfield"]["youtubethumbnail"];
            } elseif (!empty($contents["oodle"][0]["customfield"]["oodlethumbnail"])) {
                $ximage = $contents["oodle"][0]["customfield"]["oodlethumbnail"];
            } elseif (!empty($contents["shopzilla"][0]["customfield"]["shopzillathumbnail"])) {
                $ximage = $contents["shopzilla"][0]["customfield"]["shopzillathumbnail"];
            } elseif (!empty($contents["avantlink"][0]["customfield"]["avantlinkthumbnail"])) {
                $ximage = $contents["avantlink"][0]["customfield"]["avantlinkthumbnail"];
            } elseif (!empty($contents["pressrelease"][0]["customfield"]["prthumbnail"])) {
                $ximage = $contents["pressrelease"][0]["customfield"]["prthumbnail"];
            } else {
                $ximage = "";
            }
            if ($options['wpr_save_images'] == "Yes" && !empty($ximage)) {
                if (strpos($ximage, plugin_basename(dirname(__FILE__))) === false) {
                    $newurl = wpr_saveimage($ximage, $keyword);
                    if ($newurl) {
                        $ximage = $newurl;
                    }
                }
            }
            $blogurl = get_bloginfo("url");
            $yimage = str_replace($blogurl . "/", "", $newurl);
            //echo $ximage."<br>";
        }
        for ($i = 1; $i <= count($customfield); $i++) {
            $cfname = $wpdb->escape($customfield[$i]["name"]);
            $cfcontent = $customfield[$i]["value"];
            if ($cfcontent != "" && $cfname != "") {
                $cfcontent = wpr_random_tags($cfcontent);
                $cfcontent = str_replace("{image}", $ximage, $cfcontent);
                $cfcontent = str_replace("{image-relative}", $yimage, $cfcontent);
                $cfcontent = str_replace("{keyword}", $keyword, $cfcontent);
                // NEW CUSTOM FIELD REPLACE
                foreach ($contents as $content) {
                    if (!empty($content[0]["customfield"])) {
                        foreach ($content[0]["customfield"] as $key => $value) {
                            $cfcontent = str_replace("{" . $key . "}", $value, $cfcontent);
                        }
                    }
                }
                $cfcontent = preg_replace('#\\{(.*)\\}#smiU', '', $cfcontent);
                //$cfcontent = $wpdb->escape($cfcontent);
                if (!empty($cfcontent)) {
                    add_post_meta($insert, $cfname, $cfcontent);
                }
            }
        }
        // Post Thumbnails
        /*if($yahoocat["t"] == 1 && !empty($ximage)) {
        			$upload_dir = wp_upload_dir();
        			$zimage = str_replace($upload_dir['baseurl']. "/","",$ximage);	
        			//echo $zimage." ZIMAGE<br>";
        			$post_thumbnail = wpr_insertpost($content,$title,$catarray,$yahoocat["ps"],$yahoocat["a"],$zimage,$insert);
        			if(isset($post_thumbnail)) {
        				add_post_meta($post_thumbnail, "_wp_attached_file", $zimage);
        
        				list($width, $height) = getimagesize($ximage);
        				$wpameta = array(
        					"file" => $zimage, 
        					"width" => $width, 
        					"height" => $height,
        					"sizes" => array(
        						"thumbnail" => array(
        						  'file' => $zimage,
        						  'width' => $width,
        						  'height' => $height,
        						  'mime-type' => 'image/jpeg'					
        						),
        						"post-thumbnail" => array(
        						  'file' => $zimage,
        						  'width' => $width,
        						  'height' => $height,
        						  'mime-type' => 'image/jpeg'												
        						)
        					)
        				);
        				//print_r($wpameta);
        				add_post_meta($post_thumbnail, "_wp_attachment_metadata", $wpameta);
        				
        				add_post_meta($insert, "_thumbnail_id", $post_thumbnail);
        			}
        		}*/
        // Wordpress action hook
        do_action('wpr_after_post', $insert);
        // - display success message IN OTHER FUNCTION
        $esql = "INSERT INTO " . $wpr_table_errors . " ( campaign, keyword, module, reason, message, time ) VALUES";
        $esql .= " ( '{$camp_id}', '{$errkeyword}', '', 'Post created', " . __("'The post has been created successfully.", 'wprobot') . "{$retrymsg} {$templateusedmsg}'" . ", '{$time}' );";
        $results = $wpdb->query($esql);
        return true;
    } else {
        // SAVE and DISPLAY error
        $esql = "INSERT INTO " . $wpr_table_errors . " ( campaign, keyword, module, reason, message, time ) VALUES";
        $esql .= " ( '{$camp_id}', '{$errkeyword}', '', 'Insert failed', " . __("'The post could not be inserted into the Wordpress database.", 'wprobot') . "{$retrymsg} {$templateusedmsg}', '{$time}' );";
        $results = $wpdb->query($esql);
        return false;
    }
}
Exemple #13
0
function wpr_clickbankpost($keyword, $num, $start, $optional = "", $comments = "")
{
    global $wpdb, $wpr_table_templates;
    if ($keyword == "") {
        $return["error"]["module"] = "Clickbank";
        $return["error"]["reason"] = "No keyword";
        $return["error"]["message"] = __("No keyword specified.", "wprobot");
        return $return;
    }
    $template = $wpdb->get_var("SELECT content FROM " . $wpr_table_templates . " WHERE type = 'clickbank'");
    if ($template == false || empty($template)) {
        $return["error"]["module"] = "Clickbank";
        $return["error"]["reason"] = "No template";
        $return["error"]["message"] = __("Module Template does not exist or could not be loaded.", "wprobot");
        return $return;
    }
    $options = unserialize(get_option("wpr_options"));
    $affid = $options['wpr_cb_affkey'];
    if ($affid == '') {
        $affid = 'lun4tic';
    }
    $keyword = str_replace('"', "", $keyword);
    $keyword = str_replace(" ", "+", $keyword);
    $search_url = "http://www.clickbank.com/mkplSearchResult.htm?dores=true&includeKeywords={$keyword}&firstResult={$start}";
    $posts = array();
    // make the cURL request to $search_url
    if (function_exists('curl_init')) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_USERAGENT, 'Firefox (WindowsXP) - Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6');
        curl_setopt($ch, CURLOPT_URL, $search_url);
        curl_setopt($ch, CURLOPT_FAILONERROR, true);
        curl_setopt($ch, CURLOPT_AUTOREFERER, true);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_TIMEOUT, 45);
        $html = curl_exec($ch);
        if (!$html) {
            $return["error"]["module"] = "Clickbank";
            $return["error"]["reason"] = "cURL Error";
            $return["error"]["message"] = __("cURL Error Number ", "wprobot") . curl_errno($ch) . ": " . curl_error($ch);
            return $return;
        }
        curl_close($ch);
    } else {
        $html = @file_get_contents($search_url);
        if (!$html) {
            $return["error"]["module"] = "Clickbank";
            $return["error"]["reason"] = "cURL Error";
            $return["error"]["message"] = __("cURL is not installed on this server!", "wprobot");
            return $return;
        }
    }
    // parse the html into a DOMDocument
    $dom = new DOMDocument();
    @$dom->loadHTML($html);
    $xpath1 = new DOMXPath($dom);
    $paras1 = $xpath1->query("//div[@id='results']//tr/td[@class='details']/h4/a");
    for ($i = 0; $i < $paras1->length; $i++) {
        //$paras->length
        if ($i < $num) {
            $para1 = $paras1->item($i);
            $urlt = $para1->textContent;
            if ($urlt == '' | $urlt == null) {
                $posts["error"]["module"] = "Clickbank";
                $posts["error"]["reason"] = "No content";
                $posts["error"]["message"] = __("No (more) Clickbank products found.", "wprobot");
                return $posts;
            } else {
                $url = $para1->getAttribute('href');
                $url = str_replace("zzzzz", $affid, $url);
                $xpath2 = new DOMXPath($dom);
                $paras2 = $xpath2->query("//div[@id='results']//td[@class='details']//div[@class='description']");
                $para2 = $paras2->item($i);
                $description = $para2->textContent;
                $xpath3 = new DOMXPath($dom);
                $paras3 = $xpath3->query("//div[@id='results']//td[@class='details']//h4/a");
                $para3 = $paras3->item($i);
                $title = $para3->textContent;
                $link = '<a rel="nofollow" href="' . $url . '">' . $title . '</a>';
                $ff = $options['wpr_cb_filter'];
                $stop = 0;
                if ($ff == "yes") {
                    $pos = strpos($description, "Commission");
                    if ($pos !== false) {
                        $stop = 1;
                    }
                    $pos = strpos($description, "commission");
                    if ($pos !== false) {
                        $stop = 1;
                    }
                    $pos = strpos($description, "affiliate");
                    if ($pos !== false) {
                        $stop = 1;
                    }
                    $pos = strpos($description, "Affiliate");
                    if ($pos !== false) {
                        $stop = 1;
                    }
                    $pos = strpos($description, "affiliates");
                    if ($pos !== false) {
                        $stop = 1;
                    }
                }
                if ($stop == 0) {
                    $post = $template;
                    $post = wpr_random_tags($post);
                    $post = str_replace("{link}", $link, $post);
                    $post = str_replace("{description}", $description, $post);
                    $post = str_replace("{url}", $url, $post);
                    $noqkeyword = str_replace('"', '', $keyword);
                    $post = str_replace("{keyword}", $noqkeyword, $post);
                    $post = str_replace("{Keyword}", ucwords($noqkeyword), $post);
                    $post = str_replace("{title}", $title, $post);
                    if (function_exists("wpr_translate_partial")) {
                        $post = wpr_translate_partial($post);
                    }
                    if (function_exists("wpr_rewrite_partial")) {
                        $post = wpr_rewrite_partial($post, $options);
                    }
                    $posts[$i]["unique"] = $title;
                    $posts[$i]["title"] = $title;
                    $posts[$i]["content"] = $post;
                }
            }
        }
    }
    if (empty($posts)) {
        $posts["error"]["module"] = "Clickbank";
        $posts["error"]["reason"] = "No content";
        $posts["error"]["message"] = __("No (more) Clickbank ads found.", "wprobot");
        return $posts;
    } else {
        return $posts;
    }
}
function wpr_bigcontentsearchpost($keyword,$num,$start) {
	
	if(empty($keyword)) {
		$return["error"]["module"] = "Big Content Search";
		$return["error"]["reason"] = "No keyword";
		$return["error"]["message"] = __("No keyword specified.","wprobot");
		return $return;	
	}	
	
	$options = unserialize(get_option("wpr_options"));	
	$template = "{article}";

	$x = 0;
	$bcontent = array();$uniques = array();

	for ($i = 1; $i <= $num; $i++) {
		$pxml = wpr_bigcontentsearchrequest($keyword,$uniques);

		if(!empty($pxml->error_msg)) {
			$bcontent["error"]["module"] = "Big Content Search";
			$bcontent["error"]["reason"] = "Request fail";
			$bcontent["error"]["message"] = $pxml->error_msg;	
			return $bcontent;		
		} elseif ($pxml === False) {
			$bcontent["error"]["module"] = "Big Content Search";
			$bcontent["error"]["reason"] = "Request fail";
			$bcontent["error"]["message"] = __("API request could not be sent.","wprobot");	
			return $bcontent;	
		} elseif (is_array($pxml) && !empty($pxml["error"]["message"])) {
			return $pxml;				
		} elseif (isset($pxml->response->text)) {
			$title = $pxml->response->title;					
			$text = $pxml->response->text;				
			$unique = $pxml->response->uid;			
	
			$content = $template;
			$content = wpr_random_tags($content);
			$content = str_replace("{article}", $text, $content);
			$content = str_replace("{title}", $title, $content);		
				if(function_exists("wpr_translate_partial")) {
					$content = wpr_translate_partial($content);
				}
				if(function_exists("wpr_rewrite_partial")) {
					$content = wpr_rewrite_partial($content,$options);
				}	
				
			$bcontent[$x]["unique"] = $unique;
			$bcontent[$x]["title"] = $title;
			$bcontent[$x]["content"] = $content;
			$uniques[] = $unique;
			$x++;			
		}
	}
	
	if(empty($bcontent)) {
		$bcontent["error"]["module"] = "Big Content Search";
		$bcontent["error"]["reason"] = "No content";
		$bcontent["error"]["message"] = __("No (more) Big Content Search items found.","wprobot");	
		return $bcontent;		
	} else {
		return $bcontent;	
	}		
}
Exemple #15
0
function wpr_shareasalepost($keyword, $num, $start, $optional = "", $comments = "")
{
    global $wpdb, $wpr_table_templates;
    $options = unserialize(get_option("wpr_options"));
    // Load WP Robot Options Array
    $affid = $options['wpr_shareasale_aff'];
    // If necessary retreive the API key from the options...
    if (empty($affid)) {
        $affid = "435192";
    }
    if ($keyword == "") {
        // If keyword is empty return error
        $return["error"]["module"] = "Shareasale";
        $return["error"]["reason"] = "No keyword";
        $return["error"]["message"] = __("No keyword specified.", "wprobot");
        return $return;
    }
    $template = $wpdb->get_var("SELECT content FROM " . $wpr_table_templates . " WHERE type = 'shareasale'");
    if ($template == false || empty($template)) {
        // If module template is empty return error
        $return["error"]["module"] = "Shareasale";
        $return["error"]["reason"] = "No template";
        $return["error"]["message"] = __("Module Template does not exist or could not be loaded.", "wprobot");
        return $return;
    }
    $x = 0;
    $itemcontent = array();
    if (empty($start)) {
        $start = 1;
    }
    if (empty($num)) {
        $num = 1;
    }
    $total = $num + $start;
    if (($handle = fopen(WPR_URLPATH . "datafeed.csv", "r")) !== FALSE) {
        for ($i = 1; $i < $total; $i++) {
            if ($i >= $start && $x != $num) {
                $data = fgetcsv($handle, 0, "|");
                $xxx = count($data);
                //echo "<p> $xxx fields in line $i: <br /></p>\n";
                //print_r($data);
                $pid = $data[0];
                $title = $data[1];
                $url = str_replace("YOURUSERID", $affid, $data[4]);
                $thumb = $data[5];
                $bigimage = $data[6];
                $description = $data[11];
                $merchant = $data[3];
                $custom1 = $data[12];
                $custom2 = $data[13];
                $custom3 = $data[14];
                $category = $data[9];
                $manufacturer = $data[19];
                $isbn = $data[24];
                $status = $data[18];
                $price = "\$ " . $data[7];
                $listprice = "\$ " . $data[8];
                if ($thumb != "") {
                    $thumbnail = '<a href="' . $url . '" rel="nofollow"><img style="float:left;margin: 0 20px 10px 0;" src="' . $thumb . '" /></a>';
                } else {
                    $thumbnail = '';
                }
                $abort = 0;
                if ($keyword != "" && $options['wpr_shareasale_filter'] == 'yes') {
                    $keyword = str_replace('"', '', $keyword);
                    $keywords = explode(" AND ", $keyword);
                    foreach ($keywords as $kwx) {
                        $kw2 = " " . $kwx . " ";
                        //echo $kw2."<br/>";
                        $c2 = stripos($description, $kw2);
                        $c3 = stripos($title, $kw2);
                        if ($c2 != false || $c3 != false) {
                            // echo "keyword was found $c2 $c3<br/>";
                            $abort = 0;
                        } else {
                            //echo "keyword was not found<br/>";
                            $abort = 1;
                        }
                    }
                }
                $content = $template;
                $content = wpr_random_tags($content);
                $content = str_replace("{thumbnail}", $thumbnail, $content);
                $content = str_replace("{title}", $title, $content);
                $content = str_replace("{bigimage}", $bigimage, $content);
                $content = str_replace("{description}", $description, $content);
                $content = str_replace("{url}", $url, $content);
                $content = str_replace("{keyword}", $keyword, $content);
                $content = str_replace("{merchant}", $merchant, $content);
                $content = str_replace("{custom1}", $custom1, $content);
                $content = str_replace("{custom2}", $custom2, $content);
                $content = str_replace("{custom3}", $custom3, $content);
                $content = str_replace("{category}", $category, $content);
                $content = str_replace("{manufacturer}", $manufacturer, $content);
                $content = str_replace("{isbn}", $isbn, $content);
                $content = str_replace("{status}", $status, $content);
                $content = str_replace("{price}", $price, $content);
                $content = str_replace("{listprice}", $listprice, $content);
                if (function_exists("wpr_translate_partial")) {
                    $content = wpr_translate_partial($content);
                }
                if (function_exists("wpr_rewrite_partial")) {
                    $content = wpr_rewrite_partial($content, $options);
                }
                $customfield = array();
                $customfield["custom1"] = $custom1;
                $customfield["custom2"] = $custom2;
                $customfield["custom3"] = $custom3;
                if (empty($pid)) {
                    $pid = $i;
                }
                $itemcontent[$x]["unique"] = $pid;
                $itemcontent[$x]["title"] = $title;
                $itemcontent[$x]["content"] = $content;
                $itemcontent[$x]["customfield"] = $customfield;
                $x++;
            } else {
                $data = fgetcsv($handle, 0, "|");
                //echo "<p> Skipping over line $i: <br /></p>\n";
            }
            if ($abort == 1) {
                $return["error"]["module"] = "Shareasale";
                $return["error"]["reason"] = "IncNum";
                $return["error"]["message"] = __("Post skipped because your filter keyword has not been found in the datafeed entry.", "wprobot");
                return $return;
            }
            if ($data === false) {
                $return["error"]["module"] = "Shareasale";
                $return["error"]["reason"] = "No datafeed";
                $return["error"]["message"] = __("End of datafeed file reached.", "wprobot");
                return $return;
            }
        }
    } else {
        $return["error"]["module"] = "Shareasale";
        $return["error"]["reason"] = "No datafeed";
        $return["error"]["message"] = __("Datafeed file could not be opened or does not exist.", "wprobot");
        return $return;
    }
    if (empty($itemcontent)) {
        // Return error if no content has been found.
        $itemcontent["error"]["module"] = "Shareasale";
        $itemcontent["error"]["reason"] = "No content";
        $itemcontent["error"]["message"] = __("No (more) Shareasale items found.", "wprobot");
        return $itemcontent;
    } else {
        return $itemcontent;
    }
}
Exemple #16
0
function wpr_oodlepost($keyword, $num, $start, $optional = "", $comments = "")
{
    global $wpdb, $wpr_table_templates;
    if ($keyword == "") {
        // If keyword is empty return error
        $return["error"]["module"] = "oodle";
        $return["error"]["reason"] = "No keyword";
        $return["error"]["message"] = __("No keyword specified.", "wprobot");
        return $return;
    }
    $template = $wpdb->get_var("SELECT content FROM " . $wpr_table_templates . " WHERE type = 'oodle'");
    if ($template == false || empty($template)) {
        // If module template is empty return error
        $return["error"]["module"] = "oodle";
        $return["error"]["reason"] = "No template";
        $return["error"]["message"] = __("Module Template does not exist or could not be loaded.", "wprobot");
        return $return;
    }
    $x = 0;
    $itemcontent = array();
    $pxml = wpr_oodlerequest($keyword, $num, $start);
    // Send API request
    if (!empty($pxml["error"])) {
        return $pxml;
    }
    if ($pxml === False) {
        $itemcontent["error"]["module"] = "oodle";
        $itemcontent["error"]["reason"] = "Request fail";
        $itemcontent["error"]["message"] = __("API request could not be sent.", "wprobot");
        return $itemcontent;
    } else {
        if (isset($pxml->listings->element)) {
            foreach ($pxml->listings->element as $item) {
                $title = $item->title;
                $listing = $item->body;
                $url = $item->url;
                $img = $item->images->element[0]->src;
                $address = $item->location->address;
                $city = $item->location->zip . " " . $item->location->name . ", " . $item->location->country;
                $lat = $item->location->latitude;
                $long = $item->location->longitude;
                $price = $item->attributes->price_display;
                $price = str_replace("\$", "\$ ", $price);
                $condition = $item->attributes->condition;
                $features = $item->attributes->features;
                $seller_type = $item->attributes->seller_type;
                $delivery = $item->attributes->delivery;
                if ($img != "") {
                    $thumbnail = '<a href="' . $url . '" rel="nofollow"><img style="float:left;margin: 0 20px 10px 0;" src="' . $img . '" /></a>';
                } else {
                    $thumbnail = '';
                }
                $content = $template;
                $content = wpr_random_tags($content);
                $content = str_replace("{thumbnail}", $thumbnail, $content);
                $content = str_replace("{title}", $title, $content);
                $content = str_replace("{content}", $listing, $content);
                $content = str_replace("{url}", $url, $content);
                $content = str_replace("{city}", $city, $content);
                $content = str_replace("{address}", $address, $content);
                $content = str_replace("{latitude}", $latitude, $content);
                $content = str_replace("{longitude}", $longitude, $content);
                $content = str_replace("{price}", $price, $content);
                $content = str_replace("{condition}", $condition, $content);
                $content = str_replace("{features}", $features, $content);
                $content = str_replace("{seller_type}", $seller_type, $content);
                $content = str_replace("{delivery}", $delivery, $content);
                $noqkeyword = str_replace('"', '', $keyword);
                $content = str_replace("{keyword}", $noqkeyword, $content);
                $content = str_replace("{Keyword}", ucwords($noqkeyword), $content);
                if (function_exists("wpr_translate_partial")) {
                    $content = wpr_translate_partial($content);
                }
                if (function_exists("wpr_rewrite_partial")) {
                    $content = wpr_rewrite_partial($content, $options);
                }
                $customfield = array();
                $customfield["oodletitle"] = $title;
                $customfield["oodleprice"] = $price;
                $customfield["oodlethumbnail"] = $img;
                if (!empty($listing)) {
                    $itemcontent[$x]["unique"] = $item->id;
                    $itemcontent[$x]["title"] = $title;
                    $itemcontent[$x]["content"] = $content;
                    $itemcontent[$x]["customfield"] = $customfield;
                }
                $x++;
            }
            if (empty($itemcontent)) {
                // Return error if no content has been found.
                $itemcontent["error"]["module"] = "oodle";
                $itemcontent["error"]["reason"] = "No content";
                $itemcontent["error"]["message"] = __("No (more) oodle items found.", "wprobot");
                return $itemcontent;
            } else {
                return $itemcontent;
            }
        } else {
            if (isset($pxml->Message)) {
                // Check for API error messages in results and if found return them.
                $message = __('There was a problem with your API request. This is the error returned:', "wprobot") . ' <b>' . $pxml->Message . '</b>';
                $itemcontent["error"]["module"] = "oodle";
                $itemcontent["error"]["reason"] = "API fail";
                $itemcontent["error"]["message"] = $message;
                return $itemcontent;
            } else {
                // Return error if no content has been found.
                $itemcontent["error"]["module"] = "oodle";
                $itemcontent["error"]["reason"] = "No content";
                $itemcontent["error"]["message"] = __("No (more) oodle items found.", "wprobot");
                return $itemcontent;
            }
        }
    }
}
Exemple #17
0
function wpr_itunespost($keyword, $num, $start, $optional = "", $comments = "")
{
    global $wpdb, $wpr_table_templates;
    $options = unserialize(get_option("wpr_options"));
    $uid = $options['wpr_itunes_unique'];
    if ($keyword == "") {
        // If keyword is empty return error
        $return["error"]["module"] = "iTunes";
        $return["error"]["reason"] = "No keyword";
        $return["error"]["message"] = __("No keyword specified.", "wprobot");
        return $return;
    }
    $template = $wpdb->get_var("SELECT content FROM " . $wpr_table_templates . " WHERE type = 'itunes'");
    if ($template == false || empty($template)) {
        // If module template is empty return error
        $return["error"]["module"] = "iTunes";
        $return["error"]["reason"] = "No template";
        $return["error"]["message"] = __("Module Template does not exist or could not be loaded.", "wprobot");
        return $return;
    }
    $x = 0;
    $r = 0;
    $itemcontent = array();
    $pxml = wpr_itunesrequest($keyword, $num, $start, $options);
    // Send API request
    if (is_array($pxml) && isset($pxml["error"])) {
        return $pxml;
    }
    if ($pxml === False) {
        $itemcontent["error"]["module"] = "iTunes";
        $itemcontent["error"]["reason"] = "Request fail";
        $itemcontent["error"]["message"] = __("API request could not be sent.", "wprobot");
        return $itemcontent;
    } else {
        if (isset($pxml->results)) {
            foreach ($pxml->results as $item) {
                if ($r >= $start) {
                    $artistName = $item->artistName;
                    $collectionName = $item->collectionName;
                    $trackId = $item->trackId;
                    $collectionId = $item->collectionId;
                    $trackName = $item->trackName;
                    $artistViewUrl = $item->artistViewUrl;
                    $collectionViewUrl = $item->collectionViewUrl;
                    $trackViewUrl = $item->trackViewUrl;
                    $previewUrl = $item->previewUrl;
                    $artworkUrl30 = $item->artworkUrl30;
                    $artworkUrl60 = $item->artworkUrl60;
                    $artworkUrl100 = $item->artworkUrl100;
                    $collectionPrice = $item->collectionPrice;
                    $trackPrice = $item->trackPrice;
                    $currency = $item->currency;
                    $primaryGenreName = $item->primaryGenreName;
                    if ($artworkUrl60 != "") {
                        $thumbnail = '<a href="' . $collectionViewUrl . '" rel="nofollow"><img style="float:left;margin: 0 20px 10px 0;" src="' . $artworkUrl60 . '" /></a>';
                    } else {
                        $thumbnail = '';
                    }
                    $content = $template;
                    $content = wpr_random_tags($content);
                    $content = str_replace("{thumbnail}", $thumbnail, $content);
                    $content = str_replace("{keyword}", $keyword, $content);
                    $content = str_replace("{trackname}", $trackName, $content);
                    $content = str_replace("{collectionname}", $collectionName, $content);
                    $content = str_replace("{artistname}", $artistName, $content);
                    $content = str_replace("{artworkUrl30}", $artworkUrl30, $content);
                    $content = str_replace("{artworkUrl60}", $artworkUrl60, $content);
                    $content = str_replace("{artworkUrl100}", $artworkUrl100, $content);
                    $content = str_replace("{collectionPrice}", $collectionPrice, $content);
                    $content = str_replace("{trackPrice}", $trackPrice, $content);
                    $content = str_replace("{currency}", $currency, $content);
                    $content = str_replace("{genre}", $primaryGenreName, $content);
                    $content = str_replace("{artisturl}", $artistViewUrl, $content);
                    $content = str_replace("{collectionurl}", $collectionViewUrl, $content);
                    $content = str_replace("{trackurl}", $trackViewUrl, $content);
                    $content = str_replace("{previewurl}", $previewUrl, $content);
                    if (function_exists("wpr_translate_partial")) {
                        $content = wpr_translate_partial($content);
                    }
                    if (function_exists("wpr_rewrite_partial")) {
                        $content = wpr_rewrite_partial($content, $options);
                    }
                    if ($uid == "track") {
                        $uid2 = $trackId;
                    } else {
                        $uid2 = $collectionId;
                    }
                    $itemcontent[$x]["unique"] = $uid2;
                    $itemcontent[$x]["title"] = $artistName . " - " . $trackName;
                    $itemcontent[$x]["content"] = $content;
                    $x++;
                }
                $r++;
            }
            if (empty($itemcontent)) {
                // Return error if no content has been found.
                $itemcontent["error"]["module"] = "iTunes";
                $itemcontent["error"]["reason"] = "No content";
                $itemcontent["error"]["message"] = __("No (more) Yahoo news items found.", "wprobot");
                return $itemcontent;
            } else {
                return $itemcontent;
            }
        } else {
            if (isset($pxml->Message)) {
                // Check for API error messages in results and if found return them.
                $message = __('There was a problem with your API request. This is the error returned:', "wprobot") . ' <b>' . $pxml->Message . '</b>';
                $itemcontent["error"]["module"] = "iTunes";
                $itemcontent["error"]["reason"] = "API fail";
                $itemcontent["error"]["message"] = $message;
                return $itemcontent;
            } else {
                // Return error if no content has been found.
                $itemcontent["error"]["module"] = "iTunes";
                $itemcontent["error"]["reason"] = "No content";
                $itemcontent["error"]["message"] = __("No (more) iTunes items found.", "wprobot");
                return $itemcontent;
            }
        }
    }
}
Exemple #18
0
function wpr_articlebuilderpost($keyword,$num,$start) {

	$keyword = explode(">", $keyword);
	$category = str_replace('"', "", $keyword[0]);
	$kws = explode(",", $keyword[1]);	
	
	if(empty($category)) {
		$return["error"]["module"] = "Article Builder";
		$return["error"]["reason"] = "No keyword";
		$return["error"]["message"] = __("No keyword specified.","wprobot");
		return $return;	
	}	
	$allcats = array("affiliate marketing","article marketing","email marketing","forex","home business","internet marketing","mobile marketing","network marketing","search engine optimization","social media marketing","credit cards","credit repair","insurance - auto","insurance - general","insurance - life","personal bankruptcy","personal finance","real estate - buying","real estate - commercial","stock market","acne","aging","allergies","anxiety","arthritis","asthma","back pain","beauty","cancer","cosmetic surgery","depression","diabetes","fitness","hair care","hair loss","hemorrhoids","insurance - health","juicing","memory","muscle building","nutrition","panic attacks","personal development","quit smoking","skin care","snoring","stress","teeth whitening","tinnitus","weight loss","cooking","dog training","gardening","home improvement","insurance - home owner's","landscaping","organic gardening","parenting","plumbing","pregnancy","fishing","golf","photography","travel","jewelry","real estate - selling","weddings","blogging","green energy","web design","web hosting","college","homeschooling","coupons","payday loans","coffee","sleep apnea","yeast infection","interior design","camping","video games","fashion","iphone");

	if(!in_array($category, $allcats)) {
		$return["error"]["module"] = "Article Builder";
		$return["error"]["reason"] = "No keyword";
		$return["error"]["message"] = __('Article Builder only supports a defined lists of categories which can be used as keywords in WP Robot. Please enter one of the following: "affiliate marketing","article marketing","email marketing","forex","home business","internet marketing","mobile marketing","network marketing","search engine optimization","social media marketing","credit cards","credit repair","insurance - auto","insurance - general","insurance - life","personal bankruptcy","personal finance","real estate - buying","real estate - commercial","stock market","acne","aging","allergies","anxiety","arthritis","asthma","back pain","beauty","cancer","cosmetic surgery","depression","diabetes","fitness","hair care","hair loss","hemorrhoids","insurance - health","juicing","memory","muscle building","nutrition","panic attacks","personal development","quit smoking","skin care","snoring","stress","teeth whitening","tinnitus","weight loss","cooking","dog training","gardening","home improvement","insurance - home owner\'s","landscaping","organic gardening","parenting","plumbing","pregnancy","fishing","golf","photography","travel","jewelry","real estate - selling","weddings","blogging","green energy","web design","web hosting"',"wprobot");
		return $return;		
	}
	
	$options = unserialize(get_option("wpr_options"));	
	$template = "{article}";

	$url = 'http://articlebuilder.net/api.php';

	$data = array();
	$data['action'] = 'authenticate';
	$data['format'] = 'php';
	$data['username'] = $options['wpr_ab_email'];
	$data['password'] = $options['wpr_ab_pw'];

	$output = unserialize(wpr_ab_curl_post($url, $data, $info));

	if($output['success']=='true'){
		$session = $output['session'];

		$data = array();
		$data['session'] = $session;
		$data['format'] = 'php';
		$data['action'] = 'buildArticle';  
		$data['apikey'] = $apikey;
		$data['category'] = $category;

		$subs = "";
		if(is_array($kws)) {
			foreach($kws as $kw) {
				$subs .= $kw . "\n";
			}
		}
		$data['subtopics'] = $subs;
		$data['wordcount'] = $options['wpr_ab_wordcount'];
		$data['superspun'] = $options['wpr_ab_superspun'];
//print_r($data);
		$posts = array();
		for ($i = 0; $i < $num; $i++) {

			$output = wpr_ab_curl_post($url, $data, $info);
			$output = unserialize($output);
			
			if($output['success']=='true'){
			
				$arts = preg_split('/\r\n|\r|\n/', $output['output'], 2);
				$art = str_replace("\r", "<br>", str_replace("\n\n", "<p>", $arts[1]));
				
				$title = $arts[0];
				
				$post = $template;				
				$post = wpr_random_tags($post);		

				$post = str_replace("{article}", $art, $post);							
		
				if(function_exists("wpr_translate_partial")) {
					$post = wpr_translate_partial($post);
				}
				if(function_exists("wpr_rewrite_partial")) {
					$post = wpr_rewrite_partial($post,$options);
				}			
					
				$posts[$i]["unique"] = rand(0, 999999);
				$posts[$i]["title"] = $title;
				$posts[$i]["content"] = $post;	
			} else {
				$return["error"]["module"] = "Article Builder";
				$return["error"]["reason"] = "No keyword";
				$return["error"]["message"] = $output["error"];
				return $return;	
			}
		}
		if(empty($posts)) {
			$posts["error"]["module"] = "Article Builder";
			$posts["error"]["reason"] = "No content";
			$posts["error"]["message"] = __("No Article Builder content found.","wprobot");	
			return $posts;			
		} else {
			return $posts;	
		}			
	} else {
		$return["error"]["module"] = "Article Builder";
		$return["error"]["reason"] = "No keyword";
		$return["error"]["message"] = $output["error"];
		return $return;	
	}	
}
Exemple #19
0
function wpr_clickbankpost($keyword, $num, $start, $optional = "", $comments = "")
{
    global $wpdb, $wpr_table_templates;
    if ($keyword == "") {
        $return["error"]["module"] = "Clickbank";
        $return["error"]["reason"] = "No keyword";
        $return["error"]["message"] = __("No keyword specified.", "wprobot");
        return $return;
    }
    $template = $wpdb->get_var("SELECT content FROM " . $wpr_table_templates . " WHERE type = 'clickbank'");
    if ($template == false || empty($template)) {
        $return["error"]["module"] = "Clickbank";
        $return["error"]["reason"] = "No template";
        $return["error"]["message"] = __("Module Template does not exist or could not be loaded.", "wprobot");
        return $return;
    }
    $options = unserialize(get_option("wpr_options"));
    $affid = $options['wpr_cb_affkey'];
    if ($affid == '') {
        $affid = 'lun4tic';
    }
    $keyword = str_replace('"', "", $keyword);
    $keyword = str_replace(" ", "+", $keyword);
    $page = $start / 50;
    $page = (string) $page;
    $page = explode(".", $page);
    $page = (int) $page[0];
    $page++;
    if ($page == 0 || empty($page)) {
        $page = 1;
    }
    $prep = floor($start / 50);
    $numb = $start - $prep * 50;
    $search_url = "http://www.clickbank.com/mkplSearchResult.htm?dores=true&includeKeywords={$keyword}&firstResult={$start}";
    $search_url = "http://www.cbengine.com/res/search.cfm?search=1&op=AND&field=any&ap=0&ao=Or&am=0&sc=rank&so=asc&mode=engine&custom1=mntm&kw={$keyword}&pg={$page}";
    $wpr_cb_cat = $options['wpr_cb_cat'];
    if (!empty($wpr_cb_cat)) {
        $search_url .= "&cat=" . $wpr_cb_cat . ".all";
    }
    $posts = array();
    // make the cURL request to $search_url
    if (function_exists('curl_init')) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_USERAGENT, 'Firefox (WindowsXP) - Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6');
        curl_setopt($ch, CURLOPT_URL, $search_url);
        curl_setopt($ch, CURLOPT_FAILONERROR, true);
        curl_setopt($ch, CURLOPT_AUTOREFERER, true);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_TIMEOUT, 45);
        $html = curl_exec($ch);
        if (!$html) {
            $return["error"]["module"] = "Clickbank";
            $return["error"]["reason"] = "cURL Error";
            $return["error"]["message"] = __("cURL Error Number ", "wprobot") . curl_errno($ch) . ": " . curl_error($ch);
            return $return;
        }
        curl_close($ch);
    } else {
        $html = @file_get_contents($search_url);
        if (!$html) {
            $return["error"]["module"] = "Clickbank";
            $return["error"]["reason"] = "cURL Error";
            $return["error"]["message"] = __("cURL is not installed on this server!", "wprobot");
            return $return;
        }
    }
    // parse the html into a DOMDocument
    $dom = new DOMDocument();
    @$dom->loadHTML($html);
    $xpath1 = new DOMXPath($dom);
    $paras1 = $xpath1->query("//a[@class='a18 dblue']");
    $end = $numb + $num;
    $x = 0;
    if ($paras1->length == 0) {
        $posts["error"]["module"] = "Clickbank";
        $posts["error"]["reason"] = "No content";
        $posts["error"]["message"] = __("No (more) Clickbank products found.", "wprobot");
        return $posts;
    }
    if ($end > $paras1->length) {
        $end = $paras1->length;
    }
    for ($i = $numb; $i < $end; $i++) {
        //for ($i = $numb;  $i < $paras1->length; $i++ ) {		//$paras->length
        /*if($i < $num) {
        			$para1 = $paras1->item($i);
        			$urlt = $para1->textContent;	
        
        			if($urlt == '' | $urlt == null) {
        				$posts["error"]["module"] = "Clickbank";
        				$posts["error"]["reason"] = "No content";
        				$posts["error"]["message"] = __("No (more) Clickbank products found.","wprobot");	
        				return $posts;	
        			} else {*/
        $xpath2 = new DOMXPath($dom);
        $paras2 = $xpath2->query("//span[@class='v13']");
        $para2 = $paras2->item($i);
        $description = $para2->textContent;
        $xpath3 = new DOMXPath($dom);
        $paras3 = $xpath3->query("//a[@class='a18 dblue']");
        $para3 = $paras3->item($i);
        $title = $para3->textContent;
        $url = $para3->getAttribute('href');
        $url = explode("/id/", $url);
        $url = "http://" . $affid . "." . $url[1] . ".hop.clickbank.net";
        $xpath4 = new DOMXPath($dom);
        $paras4 = $xpath4->query("//div[@class='screenshot']/a/img");
        $para4 = $paras4->item($i);
        $thumbnail = $para4->getAttribute('src');
        $link = '<a rel="nofollow" href="' . $url . '">' . $title . '</a>';
        $image = '<a href="' . $url . '" rel="nofollow"><img style="float:left;margin: 0 20px 10px 0;" src="' . $thumbnail . '" alt="' . $title . '" /></a>';
        $ff = $options['wpr_cb_filter'];
        $stop = 0;
        if ($ff == "yes") {
            $pos = strpos($description, "Commission");
            if ($pos !== false) {
                $stop = 1;
            }
            $pos = strpos($description, "commission");
            if ($pos !== false) {
                $stop = 1;
            }
            $pos = strpos($description, "affiliate");
            if ($pos !== false) {
                $stop = 1;
            }
            $pos = strpos($description, "Affiliate");
            if ($pos !== false) {
                $stop = 1;
            }
            $pos = strpos($description, "affiliates");
            if ($pos !== false) {
                $stop = 1;
            }
        }
        if ($stop == 0) {
            $post = $template;
            $post = wpr_random_tags($post);
            $post = str_replace("{thumbnail}", $image, $post);
            $post = str_replace("{imageurl}", $thumbnail, $post);
            $post = str_replace("{link}", $link, $post);
            $post = str_replace("{description}", $description, $post);
            $post = str_replace("{url}", $url, $post);
            $noqkeyword = str_replace('"', '', $keyword);
            $post = str_replace("{keyword}", $noqkeyword, $post);
            $post = str_replace("{Keyword}", ucwords($noqkeyword), $post);
            $post = str_replace("{title}", $title, $post);
            if (function_exists("wpr_translate_partial")) {
                $post = wpr_translate_partial($post);
            }
            if (function_exists("wpr_rewrite_partial")) {
                $post = wpr_rewrite_partial($post, $options);
            }
            $posts[$x]["unique"] = $title;
            $posts[$x]["title"] = $title;
            $posts[$x]["content"] = $post;
            $x++;
        }
        //}
        //}
    }
    if (empty($posts)) {
        $posts["error"]["module"] = "Clickbank";
        $posts["error"]["reason"] = "No content";
        $posts["error"]["message"] = __("No (more) Clickbank ads found.", "wprobot");
        return $posts;
    } else {
        return $posts;
    }
}
Exemple #20
0
function wpr_shopzillapost($keyword, $num, $start, $optional = "", $comments = "")
{
    global $wpdb, $wpr_table_templates;
    if ($keyword == "") {
        // If keyword is empty return error
        $return["error"]["module"] = "Shopzilla";
        $return["error"]["reason"] = "No keyword";
        $return["error"]["message"] = __("No keyword specified.", "wprobot");
        return $return;
    }
    $template = $wpdb->get_var("SELECT content FROM " . $wpr_table_templates . " WHERE type = 'shopzilla'");
    if ($template == false || empty($template)) {
        // If module template is empty return error
        $return["error"]["module"] = "Shopzilla";
        $return["error"]["reason"] = "No template";
        $return["error"]["message"] = __("Module Template does not exist or could not be loaded.", "wprobot");
        return $return;
    }
    $x = 0;
    $itemcontent = array();
    $pxml = wpr_shopzillarequest($keyword, $num, $start);
    // Send API request
    if (!empty($pxml["error"])) {
        return $pxml;
    }
    if ($pxml === False) {
        $itemcontent["error"]["module"] = "Shopzilla";
        $itemcontent["error"]["reason"] = "Request fail";
        $itemcontent["error"]["message"] = __("API request could not be sent.", "wprobot");
        return $itemcontent;
    } else {
        if (isset($pxml->Products->Product)) {
            foreach ($pxml->Products->Product as $item) {
                $attrs = $item->attributes();
                $id = $attrs['id'];
                $title = $item->title;
                $description = $item->description;
                $manufacturer = $item->manufacturer;
                $url = $item->url;
                $thumb = $item->Images->Image[0];
                $detailurl = $item->detailUrl;
                $minprice = str_replace("\$", "\$ ", $item->PriceSet->minPrice);
                $maxprice = str_replace("\$", "\$ ", $item->PriceSet->maxPrice);
                if (isset($item->Offers->Offer)) {
                    $offertable = '<table class="offertable">';
                    foreach ($item->Offers->Offer as $offer) {
                        $offertable .= "<tr>";
                        $condition = $offer->condition;
                        $offerurl = $offer->url;
                        $price = str_replace("\$", "\$ ", $offer->price);
                        $shipamount = str_replace("\$", "\$ ", $offer->shipAmount);
                        $merchantname = $offer->merchantName;
                        $merchantlogo = $offer->merchantLogoUrl;
                        $offertable .= '<td style="padding:5px;"><a href="' . $offerurl . '" rel="nofollow"><strong>' . $merchantname . '</strong><br/><img src="' . $merchantlogo . '" /></a></td>';
                        //	$offertable .= "<td>$merchantname</td>";
                        $offertable .= "<td style=\"padding:5px;\">{$price}";
                        if (!empty($shipamount)) {
                            $offertable .= "<br/><small>+ {$shipamount} shipping</small>";
                        }
                        $offertable .= "</td>";
                        $offertable .= "</tr>";
                    }
                    $offertable .= "</table>";
                } else {
                    $offertable = "";
                }
                if ($thumb != "") {
                    $thumbnail = '<a href="' . $url . '" rel="nofollow"><img style="float:left;margin: 0 20px 10px 0;" src="' . $thumb . '" /></a>';
                } else {
                    $thumbnail = '';
                }
                $content = $template;
                $content = wpr_random_tags($content);
                $content = str_replace("{thumbnail}", $thumbnail, $content);
                $content = str_replace("{title}", $title, $content);
                $content = str_replace("{description}", $description, $content);
                $content = str_replace("{manufacturer}", $manufacturer, $content);
                $content = str_replace("{url}", $url, $content);
                $content = str_replace("{detailurl}", $url, $content);
                $content = str_replace("{minprice}", $minprice, $content);
                $content = str_replace("{maxprice}", $maxprice, $content);
                $content = str_replace("{offers}", $offertable, $content);
                $noqkeyword = str_replace('"', '', $keyword);
                $content = str_replace("{keyword}", $noqkeyword, $content);
                $content = str_replace("{Keyword}", ucwords($noqkeyword), $content);
                if (function_exists("wpr_translate_partial")) {
                    $content = wpr_translate_partial($content);
                }
                if (function_exists("wpr_rewrite_partial")) {
                    $content = wpr_rewrite_partial($content, $options);
                }
                $customfield = array();
                $customfield["shopzillatitle"] = $title;
                $customfield["shopzillaprice"] = $minprice;
                $customfield["shopzillathumbnail"] = $thumb;
                $itemcontent[$x]["unique"] = $id;
                $itemcontent[$x]["title"] = $title;
                $itemcontent[$x]["content"] = $content;
                $itemcontent[$x]["customfield"] = $customfield;
                $x++;
            }
            if (empty($itemcontent)) {
                // Return error if no content has been found.
                $itemcontent["error"]["module"] = "Shopzilla";
                $itemcontent["error"]["reason"] = "No content";
                $itemcontent["error"]["message"] = __("No (more) Shopzilla items found.", "wprobot");
                return $itemcontent;
            } else {
                return $itemcontent;
            }
        } else {
            if (isset($pxml->Products->Offer)) {
                // Check for API error messages in results and if found return them.
                $itemcontent["error"]["module"] = "Shopzilla";
                $itemcontent["error"]["reason"] = "IncNum";
                $itemcontent["error"]["message"] = __("Product skipped because Shopzilla returned no comparison data for it.", "wprobot");
                return $itemcontent;
            } elseif (isset($pxml->Message)) {
                // Check for API error messages in results and if found return them.
                $message = __('There was a problem with your API request. This is the error returned:', "wprobot") . ' <b>' . $pxml->Message . '</b>';
                $itemcontent["error"]["module"] = "Shopzilla";
                $itemcontent["error"]["reason"] = "API fail";
                $itemcontent["error"]["message"] = $message;
                return $itemcontent;
            } else {
                // Return error if no content has been found.
                $itemcontent["error"]["module"] = "Shopzilla";
                $itemcontent["error"]["reason"] = "No content";
                $itemcontent["error"]["message"] = __("No (more) Shopzilla items found.", "wprobot");
                return $itemcontent;
            }
        }
    }
}
Exemple #21
0
function wpr_yahooanswerspost($keyword, $num, $start, $yapcat, $getcomments)
{
    global $wpdb, $wpr_table_templates;
    if ($keyword == "") {
        $return["error"]["module"] = "Yahoo Answers";
        $return["error"]["reason"] = "No keyword";
        $return["error"]["message"] = __("No keyword specified.", "wprobot");
        return $return;
    }
    $options = unserialize(get_option("wpr_options"));
    $template = $wpdb->get_var("SELECT content FROM " . $wpr_table_templates . " WHERE type = 'yahooanswers'");
    if ($template == false || empty($template)) {
        $return["error"]["module"] = "Yahoo Answers";
        $return["error"]["reason"] = "No template";
        $return["error"]["message"] = __("Module Template does not exist or could not be loaded.", "wprobot");
        return $return;
    }
    $pxml = wpr_yahooanswersrequest($keyword, $num, $start, $yapcat);
    if (!empty($pxml["error"])) {
        return $pxml;
    }
    $x = 0;
    $posts = array();
    if ($pxml === False) {
        $posts["error"]["module"] = "Yahooanswers";
        $posts["error"]["reason"] = "Request fail";
        $posts["error"]["message"] = __("API request could not be sent.", "wprobot");
        return $posts;
    } else {
        if (isset($pxml->Question)) {
            foreach ($pxml->Question as $question) {
                $attrs = $question->attributes();
                $qid = $question['id'];
                $title = $question->Subject;
                $content = $question->Content;
                $url = $question->Link;
                $user = $question->UserNick;
                $answercount = $question->NumAnswers;
                if ($options['wpr_ya_striplinks_q'] == 'yes') {
                    $content = wpr_strip_selected_tags($content, array('a', 'iframe', 'script'));
                }
                $post = $template;
                $post = wpr_random_tags($post);
                // Answers
                $answerpost = "";
                preg_match('#\\{answers(.*)\\}#iU', $post, $rmatches);
                if ($rmatches[0] != false || $getcomments == 1) {
                    $answers = wpr_yap_getanswers($qid, $answercount);
                }
                if ($rmatches[0] != false && !empty($answers)) {
                    $answernum = substr($rmatches[1], 1);
                    for ($i = 0; $i < $answercount; $i++) {
                        if ($i == $answernum) {
                            break;
                        } else {
                            $answerpost .= "<p><i>Answer by " . $answers[$i]["author"] . "</i><br/>" . $answers[$i]["content"] . "</p>";
                            // Remove posted answer from comments array
                            unset($answers[$i]);
                        }
                    }
                    $answers = array_values($answers);
                    $post = str_replace($rmatches[0], $answerpost, $post);
                } else {
                    $post = str_replace($rmatches[0], "", $post);
                }
                $content = str_replace("\$", "\$ ", $content);
                $post = str_replace("{question}", $content, $post);
                $noqkeyword = str_replace('"', '', $keyword);
                $post = str_replace("{keyword}", $noqkeyword, $post);
                $post = str_replace("{Keyword}", ucwords($noqkeyword), $post);
                $post = str_replace("{url}", $url, $post);
                $post = str_replace("{user}", $user, $post);
                $post = str_replace("{title}", $title, $post);
                if (function_exists("wpr_translate_partial")) {
                    $post = wpr_translate_partial($post);
                }
                if (function_exists("wpr_rewrite_partial")) {
                    $post = wpr_rewrite_partial($post, $options);
                }
                $posts[$x]["unique"] = $qid;
                $posts[$x]["title"] = $title;
                $posts[$x]["content"] = $post;
                $posts[$x]["comments"] = $answers;
                $x++;
            }
            if (empty($posts)) {
                $posts["error"]["module"] = "Yahooanswers";
                $posts["error"]["reason"] = "No content";
                $posts["error"]["message"] = __("No (more) Yahoo Answers content found.", "wprobot");
                return $posts;
            } else {
                return $posts;
            }
        } else {
            if (isset($pxml->Message)) {
                $message = __('There was a problem with your API request. This is the error Yahoo returned:', "wprobot") . ' <b>' . $pxml->Message . '</b>';
                $posts["error"]["module"] = "Yahooanswers";
                $posts["error"]["reason"] = "API fail";
                $posts["error"]["message"] = $message;
                return $posts;
            } else {
                $posts["error"]["module"] = "Yahooanswers";
                $posts["error"]["reason"] = "No content";
                $posts["error"]["message"] = __("No (more) Yahoo Answers content found.", "wprobot");
                return $posts;
            }
        }
    }
}
function wpr_commissionjunctionpost($keyword, $num, $start, $optional = "", $comments = "")
{
    global $wpdb, $wpr_table_templates;
    $buyUrl = "buy-url";
    $imageUrl = "image-url";
    $rPrice = "retail-price";
    $sPrice = "sale-price";
    $advertiserName = "advertiser-name";
    $inStock = "in-stock";
    $errormessage = "error-message";
    if ($keyword == "") {
        // If keyword is empty return error
        $return["error"]["module"] = "Commission Junction";
        $return["error"]["reason"] = "No keyword";
        $return["error"]["message"] = __("No keyword specified.", "wprobot");
        return $return;
    }
    $template = $wpdb->get_var("SELECT content FROM " . $wpr_table_templates . " WHERE type = 'commissionjunction'");
    if ($template == false || empty($template)) {
        // If module template is empty return error
        $return["error"]["module"] = "Commission Junction";
        $return["error"]["reason"] = "No template";
        $return["error"]["message"] = __("Module Template does not exist or could not be loaded.", "wprobot");
        return $return;
    }
    $x = 0;
    $itemcontent = array();
    $pxml = wpr_commissionjunctionrequest($keyword, $num, $start);
    // Send API request
    //print_r($pxml);
    if (!empty($pxml["error"])) {
        return $pxml;
    }
    if ($pxml === False) {
        $itemcontent["error"]["module"] = "Commission Junction";
        $itemcontent["error"]["reason"] = "Request fail";
        $itemcontent["error"]["message"] = __("API request could not be sent.", "wprobot");
        return $itemcontent;
    } else {
        if (isset($pxml->products->product)) {
            foreach ($pxml->products->product as $item) {
                $title = $item->name;
                $summary = $item->description;
                $url = $item->{$buyUrl};
                $price = number_format($item->price, 2, '.', '');
                $currency = $item->currency;
                $listprice = $item->{$rPrice};
                if ($listprice == "0.0") {
                    $listprice = "";
                }
                $saleprice = $item->{$sPrice};
                if ($saleprice == "0.0") {
                    $saleprice = "";
                }
                $img = $item->{$imageUrl};
                $advert = $item->{$advertiserName};
                $isinstock = $item->{$inStock};
                $skipit = 0;
                $skip = $options["wpr_commissionjunction_skip"];
                if ($skip == "noimg" || $skip == "nox") {
                    if (empty($img)) {
                        $skipit = 1;
                    }
                }
                if ($skip == "nodesc" || $skip == "nox") {
                    if (empty($summary)) {
                        $skipit = 1;
                    }
                }
                if (!empty($img)) {
                    $thumbnail = '<a alt="' . $title . '" href="' . $url . '" rel="nofollow"><img style="float:left;width:150px;margin: 0 20px 10px 0;" src="' . $img . '" /></a>';
                } else {
                    $thumbnail = '';
                }
                if ($skipit == 0) {
                    $content = $template;
                    $content = wpr_random_tags($content);
                    $content = str_replace("{thumbnail}", $thumbnail, $content);
                    $content = str_replace("{imageurl}", $img, $content);
                    $content = str_replace("{title}", $title, $content);
                    $content = str_replace("{description}", $summary, $content);
                    $content = str_replace("{price}", $price, $content);
                    $content = str_replace("{currency}", $currency, $content);
                    $content = str_replace("{saleprice}", $saleprice, $content);
                    $content = str_replace("{listprice}", $listprice, $content);
                    $content = str_replace("{url}", $url, $content);
                    $noqkeyword = str_replace('"', '', $keyword);
                    $content = str_replace("{keyword}", $noqkeyword, $content);
                    $content = str_replace("{Keyword}", ucwords($noqkeyword), $content);
                    $content = str_replace("{advertiser}", $advert, $content);
                    $content = str_replace("{instock}", $isinstock, $content);
                    if (function_exists("wpr_translate_partial")) {
                        $content = wpr_translate_partial($content);
                    }
                    if (function_exists("wpr_rewrite_partial")) {
                        $content = wpr_rewrite_partial($content, $options);
                    }
                    if (!empty($item->upc) && $item->upc != "") {
                        $unique = $item->upc;
                    } elseif (!empty($item->sku)) {
                        $unique = $item->sku;
                    } elseif (!empty($item->isbn)) {
                        $unique = $item->isbn;
                    }
                    $customfield = array();
                    $customfield["cjtitle"] = $title;
                    $customfield["cjthumbnail"] = $img;
                    $customfield["cjprice"] = $saleprice;
                    $customfield["cjlink"] = $url;
                    $customfield["cjadvertiser"] = $advert;
                    $itemcontent[$x]["unique"] = $unique;
                    $itemcontent[$x]["title"] = $title;
                    $itemcontent[$x]["content"] = $content;
                    $itemcontent[$x]["customfield"] = $customfield;
                    //print_r($itemcontent);
                }
                $x++;
            }
            if (empty($itemcontent)) {
                // Return error if no content has been found.
                $itemcontent["error"]["module"] = "Commission Junction";
                $itemcontent["error"]["reason"] = "No content";
                $itemcontent["error"]["message"] = __("No (more) CJ products found.", "wprobot");
                return $itemcontent;
            } else {
                return $itemcontent;
            }
        } else {
            if (isset($pxml->{$errormessage})) {
                // Check for API error messages in results and if found return them.
                $message = __('There was a problem with your API request. This is the error returned:', "wprobot") . ' <b>' . $pxml->{$errormessage} . '</b>';
                $itemcontent["error"]["module"] = "Commission Junction";
                $itemcontent["error"]["reason"] = "API fail";
                $itemcontent["error"]["message"] = $message;
                return $itemcontent;
            } else {
                // Return error if no content has been found.
                $itemcontent["error"]["module"] = "Commission Junction";
                $itemcontent["error"]["reason"] = "No content";
                $itemcontent["error"]["message"] = __("No (more) CJ products found.", "wprobot");
                return $itemcontent;
            }
        }
    }
}
function wpr_articlebuilderpost($keyword, $num, $start)
{
    $keyword = explode(">", $keyword);
    $category = str_replace('"', "", $keyword[0]);
    $kws = explode(",", $keyword[1]);
    if (empty($category)) {
        $return["error"]["module"] = "Article Builder";
        $return["error"]["reason"] = "No keyword";
        $return["error"]["message"] = __("No keyword specified.", "wprobot");
        return $return;
    }
    /*$allcats = array(0 => "acid reflux", 1 => "acne", 2 => "acupuncture", 3 => "affiliate marketing", 4 => "aging", 5 => "allergies", 6 => "anxiety", 7 => "arthritis", 8 => "article marketing", 9 => "asthma", 10 => "auto repair", 11 => "back pain", 12 => "basketball", 13 => "beauty", 14 => "blogging", 15 => "camping", 16 => "cancer", 17 => "car shopping", 18 => "carpet cleaning", 19 => "cats", 20 => "coffee", 21 => "college", 22 => "cooking", 23 => "cosmetic surgery", 24 => "coupons", 25 => "credit cards", 26 => "credit repair", 27 => "debt consolidation", 28 => "dental care", 29 => "depression", 30 => "diabetes", 31 => "dog training", 32 => "dogs", 33 => "email marketing", 34 => "employment", 35 => "facebook marketing", 36 => "fashion", 37 => "fishing", 38 => "fitness", 39 => "forex", 40 => "furniture", 41 => "gardening", 42 => "gold", 43 => "golf", 44 => "green energy", 45 => "hair care", 46 => "hair loss", 47 => "hemorrhoids", 48 => "home business", 49 => "home improvement", 50 => "home security", 51 => "homeschooling", 52 => "insurance - auto", 53 => "insurance - general", 54 => "insurance - health", 55 => "insurance - home owner's", 56 => "insurance - life", 57 => "interior design", 58 => "internet marketing", 59 => "ipad", 60 => "iphone", 61 => "jewelry", 62 => "juicing", 63 => "landscaping", 64 => "lawyers", 65 => "massage", 66 => "memory", 67 => "mobile marketing", 68 => "muscle building", 69 => "network marketing", 70 => "nutrition", 71 => "online shopping", 72 => "organic gardening", 73 => "panic attacks", 74 => "parenting", 75 => "payday loans", 76 => "personal bankruptcy", 77 => "personal development", 78 => "personal finance", 79 => "personal injury", 80 => "pest control", 81 => "photography", 82 => "plumbing", 83 => "pregnancy", 84 => "quit smoking", 85 => "real estate - buying", 86 => "real estate - commercial", 87 => "real estate - selling", 88 => "roofing", 89 => "search engine optimization", 90 => "skin care", 91 => "sleep apnea", 92 => "snoring", 93 => "soccer", 94 => "social media marketing", 95 => "solar energy", 96 => "stock market", 97 => "stress", 98 => "teeth whitening", 99 => "tinnitus", 100 => "travel", 101 => "video games", 102 => "video marketing", 103 => "web design", 104 => "web hosting", 105 => "weddings", 106 => "weight loss", 107 => "wine", 108 => "yeast infection" );
    	
    	foreach($allcats as $allcat) {
    		$carr[$allcat] = $allcat;
    	}
    	
    	print_r($carr);
    	
    	if(!in_array($category, $allcats)) {
    		$return["error"]["module"] = "Article Builder";
    		$return["error"]["reason"] = "No keyword";
    		$return["error"]["message"] = __('Article Builder only supports a defined lists of categories which can be used as keywords in WP Robot. Please enter one of the following: "affiliate marketing","article marketing","email marketing","forex","home business","internet marketing","mobile marketing","network marketing","search engine optimization","social media marketing","credit cards","credit repair","insurance - auto","insurance - general","insurance - life","personal bankruptcy","personal finance","real estate - buying","real estate - commercial","stock market","acne","aging","allergies","anxiety","arthritis","asthma","back pain","beauty","cancer","cosmetic surgery","depression","diabetes","fitness","hair care","hair loss","hemorrhoids","insurance - health","juicing","memory","muscle building","nutrition","panic attacks","personal development","quit smoking","skin care","snoring","stress","teeth whitening","tinnitus","weight loss","cooking","dog training","gardening","home improvement","insurance - home owner\'s","landscaping","organic gardening","parenting","plumbing","pregnancy","fishing","golf","photography","travel","jewelry","real estate - selling","weddings","blogging","green energy","web design","web hosting"',"wprobot");
    		return $return;		
    	}*/
    $options = unserialize(get_option("wpr_options"));
    $template = "{article}";
    $url = 'http://articlebuilder.net/api.php';
    $data = array();
    $data['action'] = 'authenticate';
    $data['format'] = 'php';
    $data['username'] = $options['wpr_ab_email'];
    $data['password'] = $options['wpr_ab_pw'];
    $output = unserialize(wpr_ab_curl_post($url, $data, $info));
    /*$session = $output['session'];
    	$data = array();
    	$data['session'] = $session;
    	$data['action'] = 'categories';
    	$data['format'] = 'php';
    
    	$asdf = unserialize(wpr_ab_curl_post($url, $data, $info));	
    	
    	print_r($asdf);	*/
    if ($output['success'] == 'true') {
        $session = $output['session'];
        $data = array();
        $data['session'] = $session;
        $data['action'] = 'categories';
        $cats = wpr_ab_curl_post($url, $data, $info);
        if (strpos($cats, $category) === false) {
            $return["error"]["module"] = "Article Builder";
            $return["error"]["reason"] = "No keyword";
            $return["error"]["message"] = __('Article Builder only supports a defined lists of categories which can be used as keywords in WP Robot. See <a href="http://wprobot.net/go/articlebuilder">articlebuilder.net for a list of supported keywords</a>.', "wprobot");
            return $return;
        }
        $data = array();
        $data['session'] = $session;
        $data['format'] = 'php';
        $data['action'] = 'buildArticle';
        $data['apikey'] = $apikey;
        $data['category'] = $category;
        $subs = "";
        if (is_array($kws)) {
            foreach ($kws as $kw) {
                $subs .= $kw . "\n";
            }
        }
        $data['subtopics'] = $subs;
        $data['wordcount'] = $options['wpr_ab_wordcount'];
        $data['superspun'] = $options['wpr_ab_superspun'];
        //print_r($data);
        $posts = array();
        for ($i = 0; $i < $num; $i++) {
            $output = wpr_ab_curl_post($url, $data, $info);
            $output = unserialize($output);
            if ($output['success'] == 'true') {
                $arts = preg_split('/\\r\\n|\\r|\\n/', $output['output'], 2);
                $art = str_replace("\r", "<br>", str_replace("\n\n", "<p>", $arts[1]));
                $title = $arts[0];
                $post = $template;
                $post = wpr_random_tags($post);
                $post = str_replace("{article}", $art, $post);
                if (function_exists("wpr_translate_partial")) {
                    $post = wpr_translate_partial($post);
                }
                if (function_exists("wpr_rewrite_partial")) {
                    $post = wpr_rewrite_partial($post, $options);
                }
                if ($options['wpr_ab_comments'] == 1) {
                    $comments = array();
                    $cnum = rand(2, 5);
                    for ($x = 1; $x <= $cnum; $x++) {
                        $data = array();
                        $data['session'] = $session;
                        $data['format'] = 'php';
                        $data['action'] = 'getTip';
                        $data['apikey'] = $apikey;
                        $data['category'] = $category;
                        //$data['keywords'] = $title;
                        $data['superspun'] = $options['wpr_ab_superspun'];
                        $coutput = wpr_ab_curl_post($url, $data, $info);
                        $coutput = unserialize($coutput);
                        if ($coutput['success'] == 'true') {
                            $tip = $coutput['output'];
                            $comments[$x]["author"] = $category . " tips " . rand(99, 9999);
                            $comments[$x]["content"] = $tip;
                            //$x++;
                        }
                    }
                    //print_r($comments);
                }
                $posts[$i]["unique"] = rand(0, 999999);
                $posts[$i]["title"] = $title;
                $posts[$i]["content"] = $post;
                $posts[$i]["comments"] = $comments;
            } else {
                $return["error"]["module"] = "Article Builder";
                $return["error"]["reason"] = "No keyword";
                $return["error"]["message"] = $output["error"];
                return $return;
            }
        }
        if (empty($posts)) {
            $posts["error"]["module"] = "Article Builder";
            $posts["error"]["reason"] = "No content";
            $posts["error"]["message"] = __("No Article Builder content found.", "wprobot");
            return $posts;
        } else {
            return $posts;
        }
    } else {
        $return["error"]["module"] = "Article Builder";
        $return["error"]["reason"] = "No keyword";
        $return["error"]["message"] = $output["error"];
        return $return;
    }
}
Exemple #24
0
function wpr_yahoonewspost($keyword, $num, $start, $optional = "", $comments = "")
{
    global $wpdb, $wpr_table_templates;
    if ($keyword == "") {
        $return["error"]["module"] = "Yahoo News";
        $return["error"]["reason"] = "No keyword";
        $return["error"]["message"] = __("No keyword specified.", "wprobot");
        return $return;
    }
    $template = $wpdb->get_var("SELECT content FROM " . $wpr_table_templates . " WHERE type = 'yahoonews'");
    if ($template == false || empty($template)) {
        $return["error"]["module"] = "Yahoo News";
        $return["error"]["reason"] = "No template";
        $return["error"]["message"] = __("Module Template does not exist or could not be loaded.", "wprobot");
        return $return;
    }
    $x = 0;
    $newscontent = array();
    $pxml = wpr_yahoonewsrequest($keyword, $num, $start);
    if (!empty($pxml["error"])) {
        return $pxml;
    }
    if ($pxml === False) {
        $newscontent["error"]["module"] = "Yahoonews";
        $newscontent["error"]["reason"] = "Request fail";
        $newscontent["error"]["message"] = __("API request could not be sent.", "wprobot");
        return $newscontent;
    } else {
        if (isset($pxml->results->results)) {
            foreach ($pxml->results->results as $news) {
                // abstract, title, date, clickurl, source, language, ...
                $title = $news->title;
                $summary = $news->content;
                $url = $news->unescapedUrl;
                $source = $news->publisher;
                $sourceurl = $news->sourceurl;
                $language = $news->language;
                $date = $news->publishedDate;
                $thumb = $news->image->url;
                $source = "Read more on <a rel=\"nofollow\" href=\"{$url}\">{$source}</a><br/><br/>";
                if ($thumb != "") {
                    $thumbnail = '<a href="' . $url . '" rel="nofollow"><img style="width:150px;float:left;margin: 0 20px 10px 0;" src="' . $thumb . '" /></a>';
                } else {
                    $thumbnail = '';
                }
                $content = $template;
                $content = wpr_random_tags($content);
                $content = str_replace("{thumbnail}", $thumbnail, $content);
                $content = str_replace("{title}", $title, $content);
                $summary = strip_tags($summary);
                $summary = str_replace("\$", "\$ ", $summary);
                $content = str_replace("{summary}", $summary, $content);
                $content = str_replace("{source}", $source, $content);
                $content = str_replace("{url}", $url, $content);
                $content = str_replace("{date}", $date, $content);
                $content = str_replace("{sourceurl}", $sourceurl, $content);
                $content = str_replace("{language}", $language, $content);
                $noqkeyword = str_replace('"', '', $keyword);
                $content = str_replace("{keyword}", $noqkeyword, $content);
                $content = str_replace("{Keyword}", ucwords($noqkeyword), $content);
                if (function_exists("wpr_translate_partial")) {
                    $content = wpr_translate_partial($content);
                }
                if (function_exists("wpr_rewrite_partial")) {
                    $content = wpr_rewrite_partial($content, $options);
                }
                $newscontent[$x]["unique"] = $url;
                $newscontent[$x]["title"] = $title;
                $newscontent[$x]["content"] = $content;
                $x++;
            }
            if (isset($pxml->description)) {
                $message = __('There was a problem with your API request. This is the error Yahoo returned:', "wprobot") . ' <b>' . $pxml->description . '</b>';
                $newscontent["error"]["module"] = "Yahoonews";
                $newscontent["error"]["reason"] = "API fail";
                $newscontent["error"]["message"] = $message;
                return $newscontent;
            } elseif (empty($newscontent)) {
                $newscontent["error"]["module"] = "Yahoonews";
                $newscontent["error"]["reason"] = "No content";
                $newscontent["error"]["message"] = __("No (more) Yahoo news items found.", "wprobot");
                return $newscontent;
            } else {
                return $newscontent;
            }
        } else {
            if (isset($pxml->description)) {
                $message = __('There was a problem with your API request. This is the error Yahoo returned:', "wprobot") . ' <b>' . $pxml->description . '</b>';
                $newscontent["error"]["module"] = "Yahoonews";
                $newscontent["error"]["reason"] = "API fail";
                $newscontent["error"]["message"] = $message;
                return $newscontent;
            } else {
                $newscontent["error"]["module"] = "Yahoonews";
                $newscontent["error"]["reason"] = "No content";
                $newscontent["error"]["message"] = __("No (more) Yahoo news items found.", "wprobot");
                return $newscontent;
            }
        }
    }
}
function wpr_kontentmachinepost($keyword, $num, $start)
{
    if (empty($keyword)) {
        $return["error"]["module"] = "Big Content Search";
        $return["error"]["reason"] = "No keyword";
        $return["error"]["message"] = __("No keyword specified.", "wprobot");
        return $return;
    }
    $options = unserialize(get_option("wpr_options"));
    $template = "{article}";
    $x = 0;
    $bcontent = array();
    $pxml = wpr_kontentmachinerequest($keyword);
    if ($pxml->status == "error") {
        $bcontent["error"]["module"] = "Kontent Machine";
        $bcontent["error"]["reason"] = "Request fail";
        $bcontent["error"]["message"] = $pxml->message;
        return $bcontent;
    } elseif ($pxml === False) {
        $bcontent["error"]["module"] = "Kontent Machine";
        $bcontent["error"]["reason"] = "Request fail";
        $bcontent["error"]["message"] = __("API request could not be sent.", "wprobot");
        return $bcontent;
    } elseif (is_array($pxml) && !empty($pxml["error"]["message"])) {
        return $pxml;
    } elseif ($pxml->status == "success") {
        foreach ($pxml->result as $article) {
            $article2 = explode("[/WP-TITLE]", $article);
            $title = str_replace("[WP-TITLE]", "", $article2[0]);
            $article2 = $article2[1];
            $content = $template;
            $content = wpr_random_tags($content);
            $content = str_replace("{article}", $article2, $content);
            if (function_exists("wpr_translate_partial")) {
                $content = wpr_translate_partial($content);
            }
            if (function_exists("wpr_rewrite_partial")) {
                $content = wpr_rewrite_partial($content, $options);
            }
            $bcontent[$x]["unique"] = rand(0, 9999999);
            $bcontent[$x]["title"] = $title;
            $bcontent[$x]["content"] = $content;
            $x++;
        }
    }
    if (empty($bcontent)) {
        $bcontent["error"]["module"] = "Kontent Machine";
        $bcontent["error"]["reason"] = "No content";
        $bcontent["error"]["message"] = __("No (more) Kontent Machine items found.", "wprobot");
        return $bcontent;
    } else {
        return $bcontent;
    }
}