Table of Contents
Subscription
SmartCJ is available in three versions: Subscription, Paid, and Free. They have identical features—the only difference is the payment model.
Subscription
How it works:
1. http://smartcj.com/forum/portal.php?action=domains add domains, as many as you want
2. http://smartcj.com/forum/portal.php?action=add_funds add funds
3. In http://smartcj.com/forum/portal.php?action=domains opposite each domain there are 2 links - buy a license or subscription.
When you click on the subscription - $5.99 per month is deducted from the account.
When you click on the subscription button - the subscription amount is deducted from the account and a task is created to generate a new license.
After the license is generated it is immediately sent to you by email and you can also download it at http://smartcj.com/forum/portal.php?action=domains. When you upload the license to the scj folder, the “Free version” text will disappear on Home, the script will stop taking 1%.
However, to make it easier, the script checks once a day to see if there is a new license for it and, if there is, downloads it. That is, with a subscription you can do nothing at all manually, the script will do everything itself, but it will not be instant.
The subscription license is limited by date, let's say today is November 5, the license expires December 5. If by the 5th you don't cancel the subscription, then on the 5th the script will check if there is $4.99 in your account and if there is, it will generate a new license for another month.
In fact, the license is generated with a 2-day margin (i.e. until December 7 in our example). This is done so that if something happens on the 1st and the script can't pull the license, it still has 2 more attempts to do so. If it can't pull it - it will automatically rename scj2.free.lic to scj2.lic and this domain will start working as a regular free version.
Subscription for version 1.x
For version it is available the same as for version 2.x After you clicked on subscription you will receive immediately 2 keys - for version 1 and 2 respectively.
For version 1, update 1.52 was added. The only change in it is changing cron.php so that it could check for licenses automatically.
You can use the subscription in version 1.51 as well - the difference will only be that you will need to upload licenses manually.
Free - takes 1% from all clicks and sells them on trafficholder.com
Paid - paid version, prices at http://smartcj.com/buysmartcj.shtml. Takes nothing, free updates within one branch
License Transfer - the license is transferred only if the domain expires and you can register it again.
Subscription Transfer - it's simple here if you don't need a subscription on domain A you cancel it there, and enable it for domain B.
Where to upload the key - the key is stored in the scj folder, if you upload it manually then that's where you should put it. For version 1 this is scj_pro.lic, for version 2 - scj2.lic
FAQ
Still free version
“I waited half an hour and the script still says this is a free copy”: the script checks once a day at a random time so the load is even. If you need it “right now” you can upload the key manually.
“I uploaded the key manually and it still says free”: you need to check 3 times that the key was uploaded there. The most common mistake is “oops, I uploaded it to the wrong place”. The next one is I uploaded it to server 1 and forgot that the domain is already on server 2.
“I uploaded the key, everything was OK, and then suddenly it became free on its own” - look at logs/error.log. The most common example is another domain pointing to the same script. For example, domain1.com is at /home/user/domain1.com/, you upload the paid key there, the admin adds domain2.com, but writes the path /home/user/domain1.com/, then when domain2.com is opened, it loads files from domain1.com.
The key processing is done by IonCube and it runs BEFORE SmartCJ. IonCube sees that the key is uploaded for domain1.com, but the request is to domain2.com, in this situation there are 2 options: either give an error, or switch to a free license and continue. In our case the second option is chosen.
This can also happen if in cron there is HTTP_HOST=domain2.com for domain1.com. In short, when the script runs on domain1.com, but in the server variable HTTP_HOST = domain2.com
Subscription turns into free version
99% of cases - hosting is configured incorrectly.
Licenses are handled by IonCube (PHP module), so the script runs like this: first IonCube runs, checks the license, if everything is OK - runs the script itself.
If for some reason the license doesn't pass and the script won't run, IonCube runs the file scj/ioncube_fallback.php, the source code is on your host, you don't have to be a programmer to figure out what's happening there. Specifically, it changes the license to a free one so that Smart can work.
99% of problems - this is running the script with HTTP_HOST different from the one for which the license was issued, which the script writes about in scj/logs/error.log. This problem arises from incorrectly configured hosting, which can be seen from the entry in error.log when on the host domain.com there are entries with http_host = domain2.com (or there's no HTTP_HOST at all, or for example [HTTP_HOST] ⇒ localhost)
The only correct option is 1 - push the admin and configure the hosting so this doesn't happen.
But there are 2 options to solve the issue yourself if for some reason the admin is unavailable
- set permissions on the license file (scj2.lic) so that the script can't write there
- remove from ioncube_fallback.php the lines that copy the free license, namely
if (file_exists($path . '/scj2.free.lic')) {
if (!copy($path . '/scj2.free.lic', $path . '/scj2.lic')) {
die("WARNING! There's a problem with your SmartCJ license. Please, check scj2.lic file or contact support! ");
} else {
return true;
}
}
Options 2 and 3 will solve the issue right away, but they are dangerous because when the license expires - the script won't be able to update it and your domain will go down because IonCube, which, I remind you, runs BEFORE the script, will start saying that the license is not valid, and Smart won't be able to change it. In this case you will have to monitor the license yourself.
