STEP 1.> network selection

Select your network, feed, and options

CONFIRMATION: ALL JOBS CANCELLED

"; update_option('pj-ppd','0'); } } if (get_option('pj-ppd') == "0") { echo "
Processing of feeds was cancelled by you ! Please re-select a network and a new feed to restart the process.

"; } // check for cURL support if (_iscurlsupported()) { echo "
(cURL is supported on your system) ... it's a good thing !
Your monster is now able to dynamically update participating networks !
"; } else { echo "WARNING !! cURL is NOT supported on your system.

YOU CAN NOT USE THIS PLUGIN WITHOUT cURL
Please contact your host and have cURL installed or switch hosts (Since practically every host provides cURL support, your host obviously sucks). If you are a do-it-your-self kinda person you can reinstall PHP with cURL support. Visit http://www.haxx.se/curl.html or better yet http://php.net/manual/en/book.curl.php for more info
"; } $newfeed=0; // get available affiliate networks from pj $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,'http://linksalt.com/fmchome/networklist.php'); curl_setopt($ch,CURLOPT_FRESH_CONNECT,TRUE); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,6); if(curl_exec($ch) === false) { echo "
Curl error !
This needs to be fixed first before you can proceed !
" . curl_error($ch); } $data = curl_exec($ch); curl_close($ch); $networks = explode("|", $data); sort($networks); $netwcount = count($networks); ?>

Step 2.> FEED selection

".get_option('pj-network')." network | "; $feed = explode("|", $feeds); $feedcount = count($feed); echo "".$feedcount." active feeds were found. Please select your preferred feed below."; echo "
We are operating in ".$validuser[0]." mode for this network."; if ($validuser[0] != "PREMIUM") {echo "Upgrade ?
";} else {echo "
";} $newfeed = 0; if (get_option('validuserid') == "PREMIUM"){?>
';} else {echo ''; } ?> (ELITE members only)
Premium members can select up to 7 feeds. Freebie members can only select 1 feed
$feed[$feedcounter]
"; } ?>
Tip ! Use the searbox in your browser to search through all the datafeed text.
For instance on google chrome:
Click the tool icon on the right side of your menu bar & click "search"
OR
simply hit CTRL + F (Works on most browsers).
Now you can search for any part of the datafeed title and have it automatically highlighted.
READING THE DATAFEED NAME
The new datafeed format will show feed titles as follows:
MERCHANT NAME _ MERCHANT ID _ AMOUNT OF PRODUCTS IN FEED .txt
You can find merchants in alphabetical order, or perform a search on the ID number.
Take note of the product count to estimate how many products will be pushed into your system.



Step 3.> select your OPTIONS

Feeds selected : $feed <|";$allfeeds[] = $feed;} ?>

Select which options you want to apply !

layout of the posts is:
top to bottom example
left to right example
text only example
onClick="this.checked=false; alert('Sorry, this option is not available in the freebie version. Please consider upgrading to PREMIUM membership. You can do so on the bottom of this screen.')" > linked images only example
Allow comments on posts :
allowed | onClick="this.checked=false; alert('Sorry, this option is not available in the freebie version. Please consider upgrading to PREMIUM membership. You can do so on the bottom of this screen.')" > not allowed
set all posts to status :
automatically published
draft
pending(waiting for review)
private
I want to (drip)feed posts at a rate of approx.:
24 posts a day
onClick="this.checked=false; alert('Sorry, this option is not available in the freebie version. Please consider upgrading to PREMIUM membership. You can do so on the bottom of this screen.')"> 96 posts a day
onClick="this.checked=false; alert('Sorry, this option is not available in the freebie version. Please consider upgrading to PREMIUM membership. Premium members earn more money through affiliate marketing.')"> 240 posts a day
onClick="this.checked=false; alert('Sorry, this option is not available in the freebie version. Please consider upgrading to PREMIUM membership. PREMIUM status will remove all advertisements.')" > 624 posts a day
onClick="this.checked=false; alert('Sorry, this option is not available in the freebie version. Please consider upgrading to PREMIUM membership. You can do so on the bottom of this screen.')"> 1.248 posts a day *
onClick="this.checked=false; alert('Sorry, this option is not available in your version. Please consider upgrading to ELITE membership. Contact the developer.')"> ELITE Blaster *

Step 3-A.> PREMIUM member only, options

( all items below are optional:)

Add extra cats: Don't include standard category names -> > help This option enables you to put the ENTIRE FEED SELECTION in a category of your choice.
Instead of taking the categories from the feed, you could for instance put an entire toystore feed into 1 category called "toys". To do this simply enter ",toys" in the box, and check the "Don't use standard categories" box.
You can also add extra category names here if needed. Enter your categories separated by a comma, for example :

garden,outdoor,air

please note that your products will also appear in the categories that the merchant has put in the datafeed.
If you do not want to use the categories that came with the datafeed you can check the appropriate
box behind the categorie bar. If you check the box and you do not enter categories yourself
then all posts will be placed in "uncategorized"
Please note that these categories will be added to every post until you remove them here.
In other words: these categories will be used for every post in this feed.
Add extra tags: help You can add extra tags here if needed. Enter your tags separated by a comma, for example :

garden,outdoor,air

please note that your products will also be tagged with information that the merchant has put in the datafeed.
You can add extra tags as a way to "label" your feeds too so you can easily select them for deletion or manipulation.
Please note that these tags will be added to every post until you remove them here.
In other words: these tags will be used for every post in this feed.
Write a note or disclaimer: help In the text area you can enter a note or important information (like for instance a disclaimer etc.)

This note will show up as a box on the bottom left side
underneath your posts.
HTML code IS allowed, but make sure you know what you are doing !
This plugin does not protect your database info from malicious or broken code you may put in this box !
p.s. Anything you put in this box is wrapped in "< small >" tags. (showing small print on the final post).

tips:
Don't drink and drive
When using powertools you must take precautions.
Fur Nebenwirkungen >> fragen Sie bitte Ihren Arzt oder Apotheker
or add light html like < a href = http : // google.com > google < / a > (spaced on purpose to show text).
SEO Optimizer : automatically replace words by other words. MORE ... SEO Optimizer : automatically replace words by other words.

This is a PREMIUM members only feature !

Search engines just HATE duplicate posts and they may punish you with lower ratings
if they find that your site is simply showing posts that it can find everywhere on the internet.
Behold the keyword-swap power
In the boxes below you can enter up to 10 keywords that relate to your niche-products, and replace them
with synonyms. Search engines will now read your posts and find unique periodically added content.
We now have a close human analogue, and search engines will like your sites a lot better.
TIP: You can use this tool to change the text before the price field too :
Priced at only $ > Jetzt nur $ .....or .....
Priced at only $ > limited time only, now just $ Freebie mode detected ! The SEO optimizer can be filled out BUT IT WILL NOT WORK in freebie mode !";} ?>

turn this> " > into this>

Freebie mode detected ! The SEO optimizer can be filled out
BUT IT WILL NOT WORK in freebie mode !
"; } ?>

Step 3-B.> ELITE member POWER OPTION

Only process posts when this keyword is in the text > : ';} else {echo " --sorry PREMIUM only-- ";} ?> (ELITE pack only)
. Choose wisely ! The system will only return posts that have the keyword as part of the description. If searching for "car" you will get a match on CAR, but also on CARhorn or sCARred !!

FINAL Step .> Click to preview post and start loading.

Click here when you are done ! >>>> <<<< Click here when you are done !
$value) { $i++; update_option("pj-before$i",$value); } } // load the after keywords into array $i=0; if (isset($_POST['pj-after'])) { foreach ($_POST['pj-after'] as $key => $value) { $i++; update_option("pj-after$i",$value); } } ?>
Preview and information screen (final confirmation below).

WARNING -- I DO NOT HAVE YOUR ID FOR THIS NETWORK
Click here to go set your ID now ! , or select a different network !
"; } $selected_feeds = maybe_unserialize(get_option('pj-feed')); echo "Selected network : ".get_option('pj-network')." with identification : ".$finalID."
"; $howmany = count($selected_feeds); $post_per_day = get_option('pj-ppd'); if (!empty($post_per_day)){$gap = 86400 / $post_per_day ; } else{ $gap = 120; } echo "You have selected $howmany datafeed(s) ! showing up to first three : $selected_feeds[0] - $selected_feeds[1] - $selected_feeds[2]
Layout: ".get_option('pj-layout')." | Dripfeeding posts to your database every ".substr($gap/60,0,4)." minute(s) (or $post_per_day posts per day). | Proposed search word ".get_option('pj-keyword').""; if (get_option('pj_postcount') == "") { update_option('pj_postcount',0); } if ($_POST['3done'] == 1) { update_option('pj-mail','notsent'); // all options selected, contacting mainframe to transmit posts // preview routine -----build on server ----------------------- echo "
"; $whopr = get_bloginfo('url')."-preview"; //$furl = "http://linksalt.com/fmchome/shake.php?pr=1&who=".$whopr."&id=".$finalID."&tot=".get_option('pj-tot')."&n=".get_option('pj-network')."&f=".get_option('pj-selected-feed')."&l=".get_option('pj-layout')."&amail=".get_option('admin_email')."&p=".get_option('pj-ppd'); $furl = "http://linksalt.com/fmchome/shake.php?pr=1&who=".$whopr."&id=$finalID&sc=$postcounter&tot=".get_option('pj-tot')."&n=".get_option('pj-network')."&f=".get_option('pj-selected-feed')."&l=".get_option('pj-layout')."&p=".get_option('pj-ppd')."&who=$who&search=$pj_searchword&amail=".get_option('admin_email').""; $furl = str_replace(" ", "%20", $furl); $exg = curl_init(); curl_setopt($exg,CURLOPT_URL,$furl); curl_setopt($exg,CURLOPT_FRESH_CONNECT,TRUE); curl_setopt($exg,CURLOPT_RETURNTRANSFER,1); curl_setopt($exg,CURLOPT_CONNECTTIMEOUT,5); $example = curl_exec($exg); curl_close($exg); echo $example; if (get_option('pj-note') != "") { echo "
".get_option('pj-note')."
" ; } $totalfeedlines = inbetween($example,'I found:','products in this feed'); update_option('pj_totalfeedlines',$totalfeedlines); //print_r(get_option('pjfinalafter')); echo "
Comments on these posts are set to: ".get_option('pj-commentstatus','unknown').""; echo "
Post-status once loaded is set to: ".get_option('pj-poststatus','unknown').""; echo "
Additional categories added: ".get_option('pj-ecats','none').""; if (get_option('pj-standcats') == "on") echo "
You chose to suppress standard categories!"; echo "
Additional tags added: ".get_option('pj-etags','none').""; ?>

The yellow highlighted box above shows a quick preview of a post as you selected it.
If this preview is acceptable hit proceed below to start dripfeeding posts from this feed into your database, else start the selection process again.


Feed-monster is tired !
going into sleep mode now. I will wake up by myself. goodnight.....
'); ?>
post counter was reset"; update_option('postcounter', 0); } if ($_POST['prvok'] == 1) // preview post is ok - starting the real work { if (empty($postcounter)) { $postcounter = 0; } ?>

time() + 60 ) { $timerstart = time() + 10; update_option('pj_timer',$timerstart); echo "
I have reset the job-counter for you to speed things up a bit
(I do this every time when you hit the green button and when the job timer still holds 60 seconds or more)
Wait about 10 seconds and hit the green button again to see the job run.
"; } $timestamp = $timerstart; $diff = $timestamp - time(); $diff = $diff/60; ?> Scheduled jobs - (next update will run in minutes !)
Current job:
".get_option('pj-selected-feed').""; echo " - ".date('l jS \of F Y h:i:s A')." (servertime)"; $post_per_day = get_option('pj-ppd'); if (!empty($post_per_day)) {$gap = 86400 / $post_per_day ; } else {$gap = 120; } echo "
I am waiting ". substr($gap/60,0,4) . " minutes each time, and will then try to load another post as soon as the next visitor stops by !
This feed has a total of ".get_option('pj_totalfeedlines','approximately 10 quadrillion ')." articles.
"; $correctioncount = get_option('pj-selected-feed-counter'); $correctioncount = (int)$correctioncount + 1; echo "You have selected $howmany feeds. We are now processing feed $correctioncount / $howmany

"; echo "So far I have gone through ".get_option('postcounter','an unknown amount of')." cycles for this particular monster-job.
Not every cycle may produce a product or post in your wordpress.
Feed monster has filters for duplicate content,searchwords, and looks for broken,bad or dangerous feed items.
If feed monster detects a filter-event it will skip that post,
but it will still add to the cycle counter."; if (get_option('pj-note') != "") { echo "
".get_option('pj-note')."
" ;} echo "

Comments on these posts are set to: ".get_option('pj-commentstatus','unknown').""; echo "
Post-status once loaded is set to: ".get_option('pj-poststatus','unknown').""; echo "
Additional categories added: ".get_option('pj-ecats','none').""; if (get_option('pj-standcats') == "on") echo "
You chose to suppress standard categories!"; echo "
Additional tags added: ".get_option('pj-etags','none').""; echo "

This is now a FIRE and FORGET thing. The system is set on automatic. Relax ... check back later and see your posts appear automagically"; echo "
F.A.Q. - Why do I see a negative number on the next update ?
The negative number means that not a single person has visited your blog since the last update moment. To run the next update simply visit the front page of your blog, or click the button below (run cron on negative time) and the update will run. TIP : try to get more visitors :-)
"; $A = get_option('postcounter','0'); $A = (int)$A; $B = get_option('pj_totalfeedlines','9999999'); $B = (int)$B; echo "
So far I have worked on $A posts. This particular feed has $B posts"; if ( $A >= $B) { exit ('
I am done loading the entire feed. Please select another datafeed to work on
Like this plugin and not a premium member yet ? Upgrade now !


'); } ticktock("on"); } ?>

Hit the green button below to see the currently running job and get some statistics.
You can also click this button to force a loading cycle (provided the cron time is negative)

Hitting the red button below will cancel all automated feed-monster activity

Portaljumper.com's - feed-monster
Program & Design by: Pete Scheepens

* Restrictions apply on these settings & options for freebie users. Due to high demand the portaljumper serverfarms are under heavy load and we must restrict certain premium services to premium users only. When server loads are light we may choose to allow non-paying customers access to premium services. In such instances we will not directly communicate availability of these services. Paying members are always first in line for bandwidth and premium services. PREMIUM benefits include (but are not limited to) SEO tools, no link-sharing, no advertisements, no branding, high server capacity, more datafeeds.go premium today.