• Unix based operating system
  • PHP with Safe_mode set OFF
  • GD Library
  • Zend optimizer Ioncube Loader
  • Mysql database
  • Image Magick
  • Crontab demon
  • 1-5 licenses — $150 USD per license.
  • 6-10 licenses — $125 USD per each additional license.
  • 11-20 licenses — $100 USD per each additional license.
  • Over 20 licenses — $75 USD per each additional license.

Stream Rotator can be purchased through Paxum, Payonner, Webmoney.
Contact us by E-mail or ICQ for details.

Free version of StreamRotator takes 1% of clicks and it also doesn’t include FTP module for remote thumbs operations. Installation file available install.zip (install_70.zip for php 7.0.x, install_71.zip for php 7.1.x and further releases)

1. Introductions

  StreamRotator — is a script system which automatize content management on TGP. It contains grabber and rotator modules. This php script incarnated with use of ZendOptimizer, GdLib, mysql, ImageMagick, cron and has got two versions. First — relatively free (we take 1% of your clicks instead of money and it also doesn’t have some functions) and second one — requiring payment.

  The main goal that we put forward during development of the script concludes in the ability of getting maximum productivity from the site. For this purpose several of unique algorithms were developed and incarnated into code and each of these algorithms deserves patenting not mentioning the complex of them… Complex of these algorithms will simply change your conception about the rate of productivity, values of skimming and amount of money you can earn. This is not weightless words or self-advertisement — it is opinion of several testers that have been looking after the behavior of rotator installed at decades of TGPs during some months.

2. Installation

  Download archive file http://streamscripts.com/rotator/install.zip, unpack it and upload its content to the root directory of your server. Change attributes values of root directory to 777. Type http://yourdomain.com/install.php at your browser and you’ll see something similar to the following:

Mysql host, mysql user, mysql password, mysql database — variables of connection to your mysql database that will be used by rotator.
Mysql utility location and mysqldump utility location — locations of database utilities (mysql and mysqldump). They are used for creation of reserve copies for recovery. Ask your administrator these utilities exact location.
IM convert utility location — Locations of convert utility from ImageMagick pack. Ask your administrator for exact information.
PHP location — location of php interpreter. Indeed it is not used at functioning immediately, but is necessary for correct creation of cron tasks. Ask your administrator for exact information.
Script directory — directory of rotator script.

Comment: Installer tries to determine your server configuration itself and fill in all values for mysql utility location, mysqldump utility location, IM convert utility location, PHP location, so don’t be surprised if you see paths at these forms. If you entered correct information, then you’ll see list of installed files and database tables just after pressing of «install» button. At the most bottom you’ll see something similar to the following:

all right!
delete install.php
change password in admin zone (default password: adminpass)
make cronjob:
* * * * * cd /home/yourdomain/streamrotator; /usr/local/bin/php -q cron.php 1>/dev/null 2>/dev/null


Create cron tasks, delete install.php and enter admin area.

3. Quick Start

How can you start rotator with less time required? Our own recipe:
1. At settings section fill in following forms:
  email – mailbox for receiving messages about errors of rotator;
  niche – site niche (you can select more than one);
  new password and confirm new password – type here new password.
Press «save changes». You can read more detailed information about these and other setting at proper part of this manual.

2. Creation of one or many rotators. Rotator is a kind of positions at the main page of TGP for thumbs or descriptions that have same values of different variables (like width and height). It can not be the best definition, but I think that if you read this manual then you understand my idea. At «rotators» section you can create, edit and delete rotators. Create necessary for you rotators. Type of rotators:
  images (pics+movies) – this type includes picture and movie galleries;
  images (pics) – only picture galleries;
  images (movies) – only movie galleries;
  descs – rotator type for descriptions.
Why do you need 3 types of picture rotators? Let’s look at this example. We want to have 2 groups of thumbs at the main page – first one contains only pictures galleries and second – only movie galleries, but the reason is in the fact that sponsor has got picture and movie FHGs scattered about. In order not to sort them manually we simply create 2 rotators and give them suitable types. First one will be «images (pics)» and second «images (movies)». Thus picture galleries will go to first rotator and movie galleries to the second during process of grabbing.

3. Settings for quality of thumbs. Generally speaking you can skip this step. Point is that all settings are optimal (as I think) on default and satisfy most of rotator users. If you wish to change something at these settings, then read crop profiles part. Description of this mode can be found at the corresponding part of this manual.

4. Create records for your sponsors and paysites in affiliate manager section. Bind them to the relevant paysite when importing gallery. You can do it later but the process will take more time.

5. At the import section you should enter list of your galleries, select rotator and cron profile (if only we assigned one) and press «add to grab list».

6. It’s only left to create templates for main page and join it with TGP script. You can read about this at the corresponding part of the manual.

Now your script has got work to do and you have time to learn StreamRotator in detail.

4. Basic principles

  Grabber. Take list of FHGs and import it to rotator. Grabber starts working at background mode. It loads galleries, takes links to pictures (or movie previews) and makes thumbs from them by using adjusted earlier crop profiles (that have different settings including brightness, saturation, watermarks and etc.).

  Grabber has 3 modes: Auto, Semi Auto and Manual. In Auto mode galleries are picked at random and so are images for thumbnails; as a result regrabbed thumbs vary greatly. They get to rotator at once. In Semi Auto mode galleries are also grabbed automatically but thumbs for rotation are selected manually. Both one and several thumbs can be selected for gallery. You can assign higher priority to the thumbs that you consider to be popular (it’s a way to increase efficiency of your site in early stages of its development), crop thumbnails manually, change gallery’s rotator. Picking the grabbed thumbnails and adding them to rotation is performed in grab list mode; there you can also view galleries which haven’t been grabbed for some reason (e.g. because of lack of content in the gallery), delete or regrab them.

  Rotator counts rank for each thumb during its rotation and the idea of rank is similar to ctr, but rank has got amendment to ctr of the cell in which this thumb has been shown. The thumb having highest rank is shown at the best positions. Unique feature of StreamRotator is concluded in the fact, that you needn’t activate special mode for counting ctr of cells, all coefficients are counted at background mode without loss of traffic. Moreover, when script generates your main page for the first time, it tries to adjust these coefficients to cells itself according to location of the cell, so changes of these coefficients will be minimal in the future. Later on these coefficients are fluently optimized to the existent statistics of cells ctr.

  During rotation, after all thumbs for one gallery have been shown N-times (new thumbs lifetime setting), script leaves only best thumb in rotation and delete all others. Indeed it is long process, but it allows getting maximum profit from content. By the way, although this process is long – it is not unhealthy, since there are only few tested thumbs on the main page (new thumbs percent setting) and other thumbs are «the best of the best».

  Another distinguishing feature is stats independency from suspect clicks/displays, so visitors without cookies or js and those from unwanted countries don’t influence your stats.

  And now couple of words about StreamRotator’s effective mechanism that lets you to increase your productivity very appreciably. It is mechanism of showing new thumbs for visitors that have already been at your site. In other words, if an visitor has already been at your site, then was send to one of your traders and came back – absolutely new thumbs will be shown to him. Undoubtedly, he will have stronger motivation to see what’s hidden under these new thumbs than if he finds the same site with similar content. Or if visitor adds your site to his bookmarks, then he will find new and new thumbs at his every visit. It is kind of illusion of quickly updated TGP. I think it is not necessary to explain advantages given by this mechanism. Advanced webmaster can raise an objection saying that this scheme is very resource-intensive, and he will be… wrong. First of all, unique visitors always see statics that is generated in defined period of time. The same scheme is incarnated in other TGP scripts. Main page with new thumbs is generated in passing for only non unique visitors that usually put together only 10-15%. Moreover, new main pages for non unique visitors are also cached and if we have needed new main page, then if won’t be generated! Secondly, main page is generated not by using template from admin area, but from kind of half-finished one or intermediate layer that are optimized for quick selection and generat ion of main pages. Thirdly, script uses mysql heap-tables in its functioning. This type of tables is stored in RAM and all queries to them are carried out many times faster than to ordinary tables. According to test results, average time of “in” (including generation of main pages for non unique visitors) is only some hundredth parts of a second that is quite good result.

  Page refresh frequency. Page refresh frequency depends on thumbnails stats. If there’s little stats data, the page is refreshed every minute. If there’s enough stats data, the page is refreshed every 20 minutes. As for unpopular frame pages, they are refreshed even more rarely. Firstly, such flexibility lets you quickly select the most clickable thumbnails and so increase efficiency while spending minimum traffic and secondly, it spares maximum of server resources when the site’s flying high.

  Features of using of heap-tables. Short reference. In contrast to all other tables of mysql, heap-tables exist only in computer memory. It allows working with them many times faster than with ordinary data. And the negative site – information stored in these tables get lost at failures of mysql server. Script makes copies of this data from time to time so as to secure itself against accidents. Back-up periodicity is 5 minutes. Moreover, check of heap-tables is processed every minute and if there is loss of heap-tables, script recovers them from back-up. In case of failure, owner gets message about type of error to his e-mail. Thus, we can lose last 5 minutes statistics at worst. But, it is important to note that script can work without any problems for years if mysql server is configured correctly. This system of data storage allows having decades and hundreds thousands of thumbs in database and standing hundreds thousands of visitors a day at the server of average productivity.

  StreamRotator Load Distribution on Server. A common queue is formed for all rotators on the server. Before trying to perform cron’s task each script instance checks its place in the task queue (here and further "cron’s task" means rotator’s script that launches every minute: generates pages, grabs galleries, forms thumbnails (cropping), refreshes stats and performs other service functions). If a script’s place in the queue is less than 5, the task is performed and the rotator moves to the end of the queue. There is one more queue for grabbing/cropping procedures that generate most of load on server. No more than 5 cron tasks and 1 cropping/grabbing task can be performed simultaneously on default. These parameters can be increased for high-powered servers. Two parameters in php.ini are responsible for the actions: streamrotator_max_crons and streamrotator_max_grabs which are maximum numbers of simultaneously running tasks for streamrotator and grabber accordingly. For example, if you write in php.ini:
  streamrotator_max_crons=7
  streamrotator_max_grabs=2
7 (or less) stream cron’s tasks will be launching every minute and 2 (or less) cropping/grabbing tasks will be running. If nothing is set in php.ini, script uses streamrotator_max_crons=5 and streamrotator_max_grabs=1.

  Let’s now talk about physical aspect of the cron’s queue. Each position in the queue is a file of null size with a name like «streamXXXXXX…..», where «XXXX.....» is a random set of figures and letters. File name length is 42-43 symbols. These files are located in /tmp directory of your site. If the directory is missing for some reasons (for example, window-hosting) you need to create a new variable streamrotator_order_dir containing path to the directory available for all server users. To clean the stream cron’s queue you simply need to delete these files from server. The procedure is harmless; the queue is formed when rotators crons are launched next time. The necessity is rare but, for example, when deleting rotators from server you need to clean the queue from the scripts that have been deleted. «Lost» files in the script queue are deleted automatically in 3 hours so there’s no need to clean them.

  To view launch logs click on «Last cronjob started at:» reference under admin account. Here you can view the script’s cron start time, page generation time, grabbing and cropping time, upload thumbnails time (upload to remote server for free version, upload to remote server and ftp for paid one) and other operations. streamotator_max_crons and streamrotator_max_grabs also can be viewed here. Clicking «Show Order» reference you see cron queues (the first column) and grab queues (the second column). The current instance of script is highlighted red.

5. Home

News and updates.

6. Affiliate Manager

  This section is dedicated to sorting out information about paysites whose galleries are involved in rotation and also presents some useful means. Each gallery can be bound to a paysite, and paysite is bound to sponsor in its turn.

  default crop profile is a cropping/grabbing profile for import chosen automatically depending on the paysite. This doesn’t mean that sponsor’s gallery can be grabbed only through cropprofile but it makes life easier.  

Max face % is the maximum number of galleries displayed on page. It prevents page from becoming overcrowded with galleries of the same paysite/sponsor. For example, if this parameter equals 20% and a paysite’s popularity gets it 10%, the script won’t increase the number of this paysite’s galleries on the page. On the other hand, if a paysite is popular enough and it has 30% of galleries on the page, the script will display only 20%. It’s not a must, more like a guideline, and it can be neglected in the number of cases. Note: these settings may affect site efficiency because we break the optimal thumbs layout.

  Skim String lets you include an additional line to the site’s URL with the help of #SKIM_STRING# subtemplate tag. It’s not always skim. When forming a page the script will replace the tag with the value of this field. Simple example for atl3 we have a subtemplate: <a href="streamrotator/out.php?l=#POS#&u=cgi-bin/at3/out.cgi?#SKIM_STRING#&u=#GAL#">
In one of the sponsors profile Skim String parameter equalss =100& and the rest of them have the field empty. As a result this sponsor’s galleries skim equals 100% and others skims are defined by trade script default settings.

Galleries column — amount of galleries for selected sponsor which show on page (active) and total amount of galleries (total).

  Sponsor table’s yellow column checkboxes are used for mass editing of paysite galleries. All you have to do is to check the right column and click update.
The last pink column lets you delete a sponsor without deleting his galleries.
New galleries can be bound to any sponsor during import. Galleries without paysites can be bound through multiedit in Stats section.

  And now the most interesting part — RSS column. Among other promo tools many sponsors present RSS newsfeed with their fresh galleries. RSS is used mostly for blogs but we may exploit it too. Sponsors generate unique RSS-feed for each affiliate with his ID. Add as many URL’s from your sponsor’s RSS as you want and set the rules (reader name, crop profile, rotator) for FHG import by clicking Edit in RSS column. Stream scans your sponsor’s RSS-feed each 6 hours, loads the list of new FHG and imports them. So, as soon as sponsor gets some new galleries he adds them to his newsletters and they get to your rotator at breakneck speed while you’re informed by email.

  Unfortunately there are no standards as to what and how should be added to RSS. Every sponsor puts there what he wants. Gallery descriptions, for example, may be contained in message body, head and even references. Descs source field in newsletters is used to select a source of descs. Everything works fine with auto in most cases, but you better perform a test before adding new reader.

  Sponsor often has many galleries with equal content but different design. You have a chance of selecting unique galleries if you do it manually but it’s absolutely impossible to control RSS. Check Doubles parameter in script settings saves the day. Stream performs the necessary checkups while grabbing and prevents doubles. Doubles are searched for within rotator. The feature is useful per se and absolutely indispensable with RSS-reader.

7. Import

  Import list of galleries to rotator database. To import a list choose crop profile, string format, rotator (one or all of them) and paysite the gallery will be bound to. Gallery URL and (description), path/paths to thumbnails and number of pics and movies in the gallery are set in import strings. In case import strings contain one or both of the last fields (pics count and movies count), grabber takes their values from there without scanning HTML content. This feature is useful for webmasters to work with custom galleries of nonstandard format not supported by grabber. «Remember» checkbox allows you to remember the format of import not to enter it the next time.

  Ready thumbnails can also be loaded to rotator.
  There are three ways to do it:  1. Enter one or several URLs to thumbnails in MULTI IMPORT section when importing galleries separated with delimiters. For example:
http://galleries.com/1;desc_1;http://galleries.com/1_1.jpg; http://galleries.com/1_2.jpg;http://galleries.com/1_3.jpg
where the format is:
gallery url; description; thumb path; thumb path; thumb path

  2. In Thumb Path field of MULTI IMPORT enter an array of thumb paths of unlimited size, paths separated with "|" and enclosed in curly braces. Example:
http://galleries.com/1;desc_1;{http://galleries.com/1_1.jpg| http://galleries.com/1_2.jpg| http://galleries.com/1_3.jpg}
formatted as follows:gallery url; description; thumb path
This feature allows exporting/importing galleries with all thumbs regardless of their quantity.

  3. Same as above, but instead of thumbs URLs you must enter thumbs’ paths on the server. These must be either relative paths starting from rotator home directory or full paths to files on the server.

  4. Through SINGLE IMPORT section. No explanation is needed here.

  Check format of ready thumbnails before importing them: their height and width must match those of rotator they are imported to (in pixels). If heights and widths are not equal the script will try to grab the gallery in usual mode. Ready thumbnails are checked for uniqueness: you cannot add the same thumbnail to a gallery twice.

  Gif files can also be imported as thumbs. They are displayed as .jpg but remain animated.

8. Grab List

  This is the section galleries are placed to immediately after import. If the rotator failed to grab a gallery, the gallery will be displayed in another list with error message and cause of failure. It can be error opening URL, parsing URL, etc. Warnings are also displayed here. For example, a rotator supports images, and a gallery contains movies only. This gallery won’t be rotated because of type incompatibility but no errors would be encountered while grabbing. When the rotator is in semiauto mode, this section shows galleries with ready or grabbing status. Grabbing status means that the gallery is being grabbed at the moment. Ready status means that thumbnails are ready but not rotated yet. To select best thumbnails and put them to circulation select all that are Ready and press «Select Thumbs&Add to Rotation». You can delete and recrop galleries the same way.

  Now let’s elaborate on the process of choosing thumbnails for rotation in semiauto mode. First of all, you can choose thumbs you consider to be the best for top positions and set high priority for their testing. This means they are be tested in the first place. To set high priority click twice on a thumbnail, its frame should become red. This feature helps to increase site efficiency in early stages of its development. Secondly, each image has a yellow button «Manual Recrop» below which is used to correct automatically cropped thumbnails. «Manual Recrop» lets you avoid tedious manual mode and yet have maximum control over thumbs quality. Thirdly, you can change URL, desc and rotator of a gallery.

  If no thumbnail is selected the gallery has Warning, Wrong Content status.

  When grabber mode=manual "manual crop" button is added to the grab list. Its function is obvious.

9. Rotators

  This is the section used to create, edit, delete rotators and view their statistics. There are 4 types of rotators:
    images (pics+movies) — this type uses both pic and movie gals;
    images (pics) — only pic gals;
    images (movies) — only movie gals;
    desc — all gals that have a description.

  This division of rotators lets us avoid having to sort the mixture of sponsor’s pic and movie FHG’s by hand for each of the rotators. We simply set the type of the rotator and the grabber will identify the type of the gal’s content. It will also choose whether to add this gal to the rotator or not. In this section you can also see the number of positions for each rotator on the main page and the number of thumbs and gals in each rotator.

  Note: the interface of the admin area won’t let us delete or edit the rotators containing galleries or rotators used in the template.

10. Templates

  Main page template. It will probably be a lot easier to see the sample of a ready template :) Just open the «Example» link in admin area part «template». You can see tags like #SUB_N# in the template. N – is the number of a subtemplate (their description is stated under). You can (and have to) use the following expressions in subtemplates:
#POS# — obligatory for the "l" parameter value in the out of the rotator;
#GAL# — gallery URL;
#ENCODED_GAL# — encoded URL of the gallery. You can use both coded and encoded URLs on the main page at the same time. For instance, show the real URL in the alt, and coded in the href;
#PICS# — Number of images in the gallery;
#MOVS# — Number of movies in the gallery;
#THUMB# — relative directory of the thumb related to the directory of the rotator or the link to the remote storage of the thumb (if the ftp—module is active);
#LOCAL_THUMB# — Relative directory of the thumb related to the directory of the rotator. You can use both #THUMBS# and #LOCAL_THUMB# on the main page at the same time. For instance, take the thumbs from a fast local server on which the rotator is working into the upper block and use the lower one for the thumbs taken out of a slower server with cheaper channels.
#DESC# — gal’s description.
#DESC_XXX# — description of the gal whose withdrawal length is limited by the XXX symbols (for instance, #DESC_70#).
#LINK_ID# is a reference serial number on page. Some scripts analyze the number of clicks on site pages and use them in their anticheating systems. That’s why each reference must have its unique ID and that’s what this tag is for.

Check box reset face cells statistic zeros the statistics on clicks on main page cells. I recommend you to check it when you change the number of thumbs in the template.

A couple of words on the format of the rotator’s out. Mainly, it should look like this: {directory of the rotator}/out.php?l=#POS#&u={out_of_trade_script}.

When the visitor clicks the link on the main page, he’s send to the out of the rotator which analyzes the click and then redirects the visitor to the TGP out that directs the click onwards.

Attention! Use only #ENCODED_GAL# tag with urlencode or urlencode + base64encode coding type for PHP scripts (see Settings). It is a must not to lose URL’s «tails» after &. You can use #GAL# or #ENCODED_GAL# with base64_encode coding type for CGI scripts.

And at last — how we connect the rotator to the script of the TGP. To do this just add one little line into the section of the TGP-script which contains the main page template. If there’s no such section, type the line in the index file. Here is the line for indexes and scripts in the php:
<?php include("{directory of the rotator}/in.php");?>
And this line is used for .shtml files:
<!--#include virtual="{directory of the rotator}/in.php?$QUERY_STRING"-->

Rotator supports multipaging. You can create as many page templates as you want (drop—down list on the left above template text). To include frames you should write the following:
<?php 
$facename='page_title';
include("streamrotator/in.php");
?>

for .shtml files:
<!--#include virtual="streamrotator/in.php?facename=page_title&$QUERY_STRING"-->

There’s a special options used to include the tops:
#INCLUDE_{name of the top file}#
Don’t forget that the directory to the top file should be shown from the root of the domain.

To include the content of any page, type this page’s URL instead of the name of the top file. For instance:
#INCLUDE_http://mydomain.com/somepage.php#

Rotator’s in has a little but very useful feature – if you send the traffic to an URL like http://mydomain.com?updatestat=off, this traffic won’t affect the statistics of the rotator. Why do we need it? For instance, we are trying to grow our TGP by adding traffic of different niche which might dramatically affect the popularity of thumbs. The feature described above is used to avoid it.

11. Stat

  Gallery statistics. Various selection and sorting parameters are acessible. Stat shows the most popular thumbnail of the gallery. If you need to view the rest of thumbs, click the image. Galleries with disable status are highlighted grey; galleries with the best thumb defined are highlighted pink. Here you can delete galleries, change their status or put them in for regrab. With the MULTIEDIT button one sequence of characters in URL’s and desc’s can be replaced with another one, change rotator or pay center. To replace all URL’s and desc’s enter * into replace field. These actions can be performed either on all galleries filtered in stats (all filtered galleries) or only on checked ones (only selected galleries).

12. Trash

  This is Trash. Its main purpose is to avoid reimport of once deleted galleries. Trash can be cleaned completely or selectively, galleries can be restored (they will be regrabbed).

13. Export

  Lets you export database containing galleries/thumbs in various formats defined by user and meeting filter conditions. Some of export fields require explanation:
    Gallery URL — gallery url;
    Description — gallery decriptions;
    Thumb Path — export format can contain several of such fields; thumbnails are sorted by popularity, in descending order;
    Thumbs Array is the list of all gallery’s thumbnails separated with “|” and enclosed in curly braces;
    Pics Count and Movies Count show the number of images and movies in the gallery;
    Added shows the date when the gallery was added to rotator.

14. Settings

MYSQL SETTINGS section — parameters of the log-in to the mysql server, and directories to the utilities. These fields are filled during the installation of the script and usually there is no need to change them at any time.

grabber mode — sets a rotator mode: Auto, Semi Auto, Manual or Stopped:
Auto means that thumbnails are created and added to rotation automatically;
Semi Auto means that thumbnails are automatically created, manually chosen (manually adjusted if necessary) and added to rotation;
Manual means completely manual grabbing;
Stopped tells that grabber isn’t running.

IM convert utility location — directory to the convert utility which belongs to the imagemagick utility pack.

Check Doubles parameter is used for checking content uniqueness. Sponsor often has many FHG with equal content but different design. You have a chance of creating unique galleries if you do it manually, but it’s absolutely impossible to control RSS. Check Doubles parameter saves the day. Stream performs the necessary checkups while grabbing and prevents doubles. Doubles are searched for within rotator.

new thumbs lifetime — when each thumb of a gal is shown new thumbs lifetime times, the script will choose the best to be used on, the rest will be deleted.

new thumbs percent — part of the main page area on which the new thumbs will be tested (in percent).

max clicks counted — maximum number of clicks that will be credited for one unique during one session. Its functioning is the same with the functioning of the same parameter in the TGP script anti-cheat protection system.

ctr recalculation period — number of latest demonstrations according to which the thumbs ctr and rank are estimated. This parameter allows users to react on the changes in thumb statistics sooner thus deleting the thumbs, which have been very popular for quite a long time but are not any more, from the top. I want to notice that the statistics is not simply zeroed after ctr recalculation period demonstrations but re-estimated slowly, with no leaps.

unique lifetime — the period during which the visitor is unique. If a visitor spends more time than unique lifetime on the site, the rotator will consider him a new visitor. I want to remind that non-unique visitors are given main pages with other thumbs by the rotator. When a raw turns into a unique again he will see the most popular thumbs on the main page. This parameter is really interesting — and the author has a little theory on how to use it. Let’s take up 3 possibilities:
Possibility 1. unique lifetime is equal to 0. It means that the visitor will be considered unique every time he enters the site because the difference between the current time and the time of his last visit is greater than 0. This is the way most rotators work.
Possibility 2. Unique timeline is equal to 24 hours. Experiments show that this policy is the most effective to grow the site as quick as possible. On the other hand, this policy is definitely not the best one for long-term prospects. I’ll try to explain my own point of view. There is a possibility that a visitor comes back to your TGP while surfing sites. He sees new thumbs, clicks again, the surfer is happy, the productivity is growing. Let’s assume that the site is bookmarked. Coming back there in a couple of days (time > 24 hours) the surfer will become a unique again and see the main page with best thumbs. The thumbs are the best of the best, so he will definitely click a lot but the page will probably not stay among the bookmarks for too long because the client will see one and the same content all the time.
Possibility 3. Unique timeline is equal to 30 days. In this case, the visitor will see new thumbs every time he enters the site. These thumbs will not be the bes t ones but they will be NEW! Productivity will not be maximum but there’s a higher chance for the site to stay among the bookmarks.

It resembles the skim technology: the higher the skim — the more bookmarks, the slower is the growth; the lower is the skim — the faster is the growth, the less bookmarks.

script folder — directory of the rotator. Mostly, this is just a prefix used for making the URL for a local thumb. This parameter is not used anywhere else. If you have empty spaces on the main page even though the statistics show all thumbs, start the search of the error from this parameter.

Ignore Traffic From parameter sets the list of banned countries. Site looks the same way for visitors both from these countries and the rest of the world but they don’t change site statistics. To choose more than one record use CTRL. GEOIP module for Apache must be installed on the server. Notice: if your IP (the one you’re using to enter administrator account) is missing from GEOIP database, the stream will return "GEOIP is not supported" although it’s installed and running okay. Unfortunately, it’s impossible to define presence or absence of this module with the means of PHP.

Show Galleries with the Same URL parameter sets if two galleries with the same URL can be displayed simultaneously. Default value is OFF. It makes sense. But sometimes you need to get round this and that’s what the parameter is for.

Frequency of Backup Creation parameter sets how often a full automatic backup is created.

Keep on Server Copies parameter sets how many copies of automatic backups should be saved on server.

FTP SETTINGS. (Only for a pay version) Section of settings for the remote storage of thumbs. Using these parameters you can realize the scheme in which the TGP and the rotator will be installed on one server while the thumbs will be kept on another. The process itself is the following. First starts the scheduled script which checks the existence of gals that have the best thumbs chosen already but are not copied to the remote server yet. If such thumb is found, the script sends it to the FTP and makes an appropriate record in the database. When another FTP-server or catalogue is chosen, all the records on the directory to the thumbs are deleted. Consequently, the main page is using local thumbs until they are uploaded to a new directory. Such management lets you write the parameters for FTP server at any time (not necessarily before grabbing gals) and change the remote storage directory without having to copy and paste the thumb directory onto the new place by hand — the script will fulfill all your fancies in a blink of an eye without leaving empty areas on the main page.

use ftp module. "Yes" — the module of remote thumb storage is on, "No" — it’s off.

ftp server, ftp user, ftp password, ftp folder(s). Parameters of the log-in to the FTP-server and the directory where our thumbs will be kept.

remote url prefix — it is URL on a remote server the server uses to load thumbnails from. In case of several synonyms (different URL’s referring to the same place) they’re separated with comma. Evidently browser has a limit on the number of synchronous connections to one IP (domain). When thumbnails are scattered among several IP’s we fool browser and it opens much more connections. What you get is parallel image loading. Create several IP/subdomain (we call them IP further) synonyms for your FTP’s IP (the one from Remote URL Prefix). It nis necessary for uploading thumbs to remote FTP once and get them from different URL synonyms afterwards. For example, I have _ip1_ for module on the FTP-server the script uploads thumbnails to. A thumbnail can be accessed at: http://__ip1__/folder/1.jpg.
Now we must make this thumbnail accessible at:
http://__ip2__/folder/1.jpg
http://__ip3__/folder/1.jpg
http://__ip4__/folder/1.jpg
http://__ip5__/folder/1.jpg
etc. Please turn to your server administrators to learn how.
Now all you have to do is twrite all your prefixes separated with comma in «remote url prefix» (in our example http://__ip1__/folder/,http://__ip2__/folder/,http://__ip3__/folder/,http://__ip4__/folder/,http://__ip5__/folder/)

max files in subfolder — maximum number of files in the directory at the FTP-server.

«test ftp settings» button launches the FTP server testing. It connects to the server, enters the required directory, creates a testing directory, copies the test file to the server, attempts to receive this file using http-protocol, compares the received file with the sent one. If an error occurs at some stage of the test, you have to check the parameters again.

url encoding type — URL Encoding type using #ENCODED_GAL# tag (Template section). For PHP scripts you must use only #ENCODED_GAL# template tag with urlencode + base64encode coding type. It is a must not to lose URL’s «tails» after &. For CGI scripts you can use #GAL# or #ENCODED_GAL# with base64_encode coding type.

email — the messages about the errors on mysql-server (if there are such errors) are sent here.

niche — in the freeware version the script gives 1% of the clicks away as the payment for using it. Specify the site niche, please, so that this 1% goes to a resource of the same niche with your TGP. This parameter has no sense in the pay version.

licension key — key number for a pay version. When purchasing the license you will get a signature that should be typed in this field.

new password and Confirm new password — It’s really easy - new password and its confirmation.

15. Сrop Profiles

  Making, editing and deleting cropping profiles (profiles used for thumb-making) Why use it? For instance, in sponsor’s gals there’s a logo that you will definitely not want to see on your thumbs. Another sponsor’s FHG pics are always dark. Third lacks contrast. There are two ways to solve the problems stated above:

Way 1 (classic): Choose a sponsor, make all the setting fit his gals, grab them, go on to the second sponsor.

Way 2 (StreamRotator): Create an individual crop profile for each of the sponsors and load it while importing the gals. Cheap and reliable. Moreover, it can be useful in the future if the partner site is frequently uploading new FHGs. Click “Create new profile" to start a profile or “edit” to change the setting of an already existing one. Then type in the URL of a test gal and wait until you see the diminished copies of the pics. Here’s how it looks:

  In the left part we see the original image area. Right bottom – “current thumb” – a thumb with the filters and crop settings you’re using at the moment. In the “last thumb” field you will see the thumb with penultimate settings. Thus, having changed one parameter you will immediately see the change and will be able to compare the new image with the old one. Changing parameters and observing the results is mesmerizing — I guess you will spend a lot of time using this editor. Now, let’s speak about the crop parameters:

Top shave, bottom shave, left shave, right shave — values for preliminary cropping of the original image (in pixels). These values should be used for cutting regular logos out of the pics;

Normalize color — in 95% cases makes the image look better but fails from time to time;

Shine filter — this filter adds glare to light parts of the image;

Dark filter — this filter makes dark parts of the image lighter;

Enhance filter — smoothes little defects of the image;

Brightness — brightness;

Unsharp – analogous to unsharp mask in Adobe Photoshop, Makes images sharper;

Saturation — saturation;

Contrast — contrast;

Thumbs Amount Which Doesn’t Coincide Sides parameter sets the number of thumbnails stream will create from original image if height/width ratio is different from that of rotator. For example, the original image’s width exceeds its height (300x200, like movie format). The gallery’s rotator is 150x200 – i.e. its height exceeds its width. If Thumbs Amount Which Doesn’t Coincide Sizes =3 three thumbnails will be created from this image – from its central, left and right parts. If the parameter equals 1 you’ll get its central part as a thumbnail, if it’s 0 no thumbnails will be created. If the formats are equal this Crop Profile parameter is ignored and a thumbnail is created from the image’s central part. Such thumbs have higher priority at the first testing on site’s first page;

Movie logos — logos that will be put into movie thumbs. You can choose several of them using CTRL – in this case the logo for the thumb will be chosen by chance. In the preview window the thumb will carry the first of chosen logos. If you don’t want no logos on your movie thumbs remove the ticks from all the log file check boxes using CTRL;

Logos positions — positioning the movie thumb logo. You can also choose several logo positions as well;

Quality — jpeg quality.

After setting all the crop parameters type in the name of a new (or change the name of the edited) rotator and click «save».

16. Backup

  Reserve copies manager. Creation, recovery and deletion of reserve copies.

17. Update

  This terrific link allows updating scripts and tables of databases till the latest version. Everything is incarnated in very comfortable way, in short period of time and without unneeded questions. Some words about security. Before update, script checks integrity and compliance of updated files and database structure on server to checksums. I won’t tell anyone the way of counting checksums, it’s impossible to guess it. Theoretically possible to burst counting algorithm, but practically it is quite difficult. Besides, back-up is created before every update and in case of any error, update script will automatically recover system from reserve copy.

18. Script State

  If you suspect that server software settings are incorrect or something goes wrong, you should look through this section. The script scans all necessary software, PHP settings, MySql tables’ state, checks database referential integrity, availability of thumbnails files on server and (for paid version) on FTP-server. If database tables are corrupted, the script tries to repair them. If thumbnails’ files are missing respective galleries are recropped. Missing thumbnails on the server are reloaded. In other words, the script mends everything it can. After all checkups a detailed report is generated about the script’s adequacy on the host . Of course, you should inform hosting support in case of any errors.

19. Logout

Exit from admin area.