Knowledgebase : Elevated X CMS > Errors & Common Problems


The error "ImageColorAt() appears to be broken on this install. Contact your host." appears in the admin panel.


The software requires this function to be available and working for image processing. When this function is either unavailable or not functional, this error message will appear.


The host will need to correct this within their install of PHP and the GD library.


Here's some PHP code that will test whether or not the ImageColorAt() function works properly:



$im = imagecreatetruecolor(2, 2);
imagefill($im, 0, 0, imagecolorallocate($im, 255, 255, 255));
$rgb = imagecolorat($im, 1,1);

if ($rgb !== false)
        echo "ImageColorAt retrieved a value";
        echo "ImageColorAt did not retrieve a value. There is an error with GD with this install.";


500 Internal Server Error on a CMS Page

Some hosts have the module mod_security installed.  One of the side effects of this module is that the system is unable to load large HTML pages - such as listing 1000 sets on one page.  The only way to get around this error is to contact your host and have them add an exemption to the page in question.

What is the best way to backup files from my installation?

The best way is to contact your host and request that they set up a backup routine via crontab.  How often will be up to you but you'll want to back up the following items/areas:

A) The database. This is probably the most important thing to backup. Your host can set a routine to backup once a week or more often if you like.
B) Your templates areas:  /cms_admin/phptemplate/*     again your host can create a cron to automate the backups once a week.
C) Your area files. The files inside your members and tour folders.  This can be less frequent as they typically do not change as frequently

The concept with backups is that if something happens to your server(hacked, disk drive fails) that you have something to go back to in case of a catastrophic failure. How far back is determined by how often your backups are scheduled. If you have backups every week, then you've only lost at maximum 7 days worth of work and changes. If you have monthly backups you've lost a month's work of work and changes. How often should reflect how comfortable you are redoing work. Catastrophic failures ar rare but when they happen you lose everything if you don't have backups.

It is a good idea to download the backups to a local disk or make sure your host backs them up to a location separate from your server.

Your host is your friend. Ask them for advice on a schedule and what are best practices for backups.

Should you need to clear the cms of its memory of a batch or purposely end a batch, visit Utilities, Batch Operations, check the box that says "Flush Queue" and click the Start Batch button. This will cancel out the batch as well as any remaining functions that had not yet been performed.

NOTE - A batch process will only stay active as long as the originating browser window remains open. This means if you shut down your computer, the batch will stop.

As a built-in convenience, should you experience a timeout, power outage, shutdown or other interruption that would cause your current browser session to close, the cms will remember where it left off and will continue as soon as you visit the Utilities page and click Process Queue. Check box(es) for the session(s) you want to resume. Upon clicking "Process Selected Sessions" the process will resume where it left off.

Since some batch processes may be require so much work by both the cms and at times also the server, it's not uncommon for a batch to require more than one session to complete. This is especially common for large sites or new sites where a large amount of content has been imported but no content creation processes have been performed.


The CMS does NOT directly integrate with or interface with your CCBill account.

Included within your cms templates within

PHP Templates:


Smarty Templates:


Within this template you'll put the code CCBill gives you for the payment button. Take a look at the join pages of some sites and get ideas. CCBill will install their script and should be able to give you more info on the join forms and such.

If you are seeing this error in your admin panel:

This stems from your server being unable to use the GD library to connect to the remote cloud endpoint URL to fetch images.

Please have your host run the following commands on their server:

trust dump --filter "pkcs11:id=%c4%a7%b1%a4%7b%2c%71%fa%db%e1%4b%90%75%ff%c4%15%60%85%89%10" | openssl x509 | sudo tee /etc/pki/ca-trust/source/blacklist/DST-Root-CA-X3.pem

This should clear the error in the admin panel. Please contact support if this does not clear the error and we will investigate further.

We do not recommend the use of cpanel and do not offer support for issues resulting from its use. Any problems or complications with site setup or configuration for users choosing to make use of cpanel are outside the scope of Elevated X support and will be the sole responsibility of you and your web host.

We strongly suggest use of a managed hosting provider that does common cpanel tasks free as part of their included tech support. If you would like to move to managed hosting please let us know and we can provide referrals and make sure you get help moving your sites.

If your crontab is stalled on the server your host will need to correct this. Please have them check to see if the crontab is installed to run every 5 mins. If it is, please have them run the cron command under the user the cron is set to use, via command line and read the output. If there is a problem, the output will tell your host how to correct it.

WARNING - If your host runs the cron via ROOT or any other user, the cron will lock until it is cleared. An error message will appear in your error log accessibel on the admin panel front page.

The cron command line should look something like this(with the correct server path to your domain):

*/5 * * * * /usr/local/bin/php /home/username/public_html/<path_to_domain>/cms_admin/longqueue.php

Does Elevated X support H.265/HEVC codec to be used for the streaming part of the website?

We do not recommend using H265 as it is not supported by most web browsers:

The Error Log stores errors the CMS Encounters so that you can examine them at a later date. Here are a list of current error codes:

Transcoder Related Errors

transcoder_0001: This error occurs if ffmpeg encounters an error in transcoding a file. It's possible that you're attempting to transcoder a codec that's unsupported. Or, in the case of encoding flv files, you may not be forcing your audio codec to mp3. Please look at the additional information provided with the log, and submit this as a ticket to us.

transcoder_0002: This error occurs if the source file does not exist. This means either that the set was deleted from the database, or the file that the system was trying to encode was deleted / moved from that directory.

transcoder_0003: This happens when ffmpeg_php cannot open the source movie file. This means typically that the file is corrupt.

transcoder_0004: This happens when ffmpeg_php cannot open the source movie file. This means typically that the file is corrupt. This is the same error message as transcoder_0003, but happens in a different part of the source.

transcoder_0005: This happens when the system tries to transcode something after that particular transcoder setting has been deleted from the database.

transcoder_0006: This happens if the destination media type for the transcoder setting no longer exists.

transcoder_0007: For systems that transcode over NFS mounts, the CMS copies the file to a local position first before doing transcoding. This error message comes up if that directory does not exist.

transcoder_0008: For systems that transcode over NFS mounts, the CMS copies the file to a local position first before doing transcoding. This error message comes up copying the file to a temporary position has failed.

transcoder_0009: This error occurs if a screen capture cannot be written to disk. Please make sure that your set folder has permissions set to 777.

transcoder_0010: For systems that transcode over NFS mounts, the CMS copies the file to a local directory first before doing transcoding. If this local directory does not exist, the system attempts to create the diretory. This error message comes up if the attempt to create the local directory has failed.

transcoder_0011: This occurs when a user manually deletes / cancels a transcoding process while the process is running. If this was done deliberately, this error can be deleted. However, if this cancellation were done on accident, the user should be able to reinitiate the transcode.

transcoder_0012: This occurs when the ffmpeg process cannot start. This sometimes happens when the server is in the process of doing something that does not allow new processes to be created. Typically, rebatching these errors corrects the issue.

transcoder_0013: This occurs when a specific piece of content has been deleted from the system, so it can't be transcoded. Re-batching this set's transcoder entries will solve this issue.

transcoder_0014: Are you using a separate server for transcoding?  If so, the file copying operation from the original server to the file transcoding server is corrupt.  Please contact your host. If you're not using a separate transcoding server, please view the individual error to see more details.

transcoder_0015: You are attempting to watermark a video, but your current ffmpeg does not have watermarking capability.  Please contact your host.

transcoder_0016: The content directory specified does not exist. If encoding is done on a separate machine, please make sure the proper NFS mounts are set up. If encoding is being done on the same machine, please make sure the crontab user has access to the content directory.

transcoder_0017: The system cannot find an FFmpeg path. You'll need to go into your setup.php configuration and set this manually

transcoder_0018: There is a problem opening your preroll movie. Please make sure this file exists and is not corrupt.

transcoder_0019: There is a problem getting the duration o your preroll movie. Please make sure this file exists and is not corrupt.

transcoder_0020: There is a problem opening your postroll movie. Please make sure this file exists and is not corrupt.

transcoder_0021: There is a problem getting the duration of your postroll movie. Please make sure this file exists and is not corrupt.

transcoder_0022: This happens if the cut point of the movie is greater than the length of the movie. For example, if you try encoding a trailer that starts 30 seconds into the movie, but your source media is only 20 seconds long. Please make sure your source movie is uploaded entirely AND / OR change your encoder settings to cut earlier into the movie.

transcoder_0023: The system could not create the subfolder that the destination movie will go. Please have your host check permissions.

Template Related Errors

template_0001: This error occurs when there is an error with the template. Please click View for more details on the template error and location.

Copy Related Errors

copyset_0001: The models plugin will need to be enabled in order to copy sets.

copyset_0002: Source content and destination content folder cannot be the same path. Please go into your destination site settings and change the content path.

Tour Related Errors

tour_0001: This occurs when the tour file cannot be written. Please make sure your tour folder has proper permissions for the crontab to write files.

Twitter Related Errors

twitter_0001: This happens when Twitter rejects the tweet submission. Please look at the individual entry for more details.

Gallery Builder Related Errors

gallerybuilder_0001: This error occurs if ffmpeg encounters an error in transcoding a file. It's possible that you're attempting to transcoder a codec that's unsupported. Or, in the case of encoding flv files, you may not be forcing your audio codec to mp3. Please look at the additional information provided with the log, and submit this as a ticket to us.

gallerybuilder_0002: This happens when ffmpeg_php cannot open the source movie file. This means typically that the file is corrupt.

gallerybuilder_0003: This occurs when the ffmpeg process cannot start. This sometimes happens when the server is in the process of doing something that does not allow new processes to be created. Typically, rebatching these errors corrects the issue.

gallerybuilder_0004: Please submit a support ticket if this error comes up.

gallerybuilder_0005: This error occurs if the source file does not exist. This means either that the set was deleted from the database, or the file that the system was trying to encode was deleted / moved from that directory.

gallerybuilder_0010: This occurs when a user manually deletes / cancels a transcoding process while the process is running. If this was done deliberately, this error can be deleted. However, if this cancellation were done on accident, the user should be able to reinitiate the process.

gallerybuilder_0012: This happens when ffmpeg_php cannot open the source movie file. This means typically that the file is corrupt.

Crontab Related Errors

longqueue_0001: This happens when the crontab cannot run ps. Please contact your host so they can make sure:

1) shell_exec() can be run via the command line.
2) The system has access to /bin/ps. If ps is in a different location, the host can change the crontab line and add --ps_path=/path/to/ps to specify this path.
3) Ideally, pcntl support can be compiled in by the host so that the system will not need to run ps.

longqueue_0002: The crontab cannot be run under PHP safe mode. Please contact your host so they can disable PHP safe mode for the crontab.

longqueue_0003: The system has caught a cron process that's being run by the wrong user. Please click "View" under the error log for detailed instructions on how your host can correct this error.

longqueue_0004: The system is unable to connect to the specific database of one of your sites. Please click "View" for more information and contact your host if there is a permissions error.

Software Update Related Errors

updatesoftware_0001: If a temporary folder is set via the crontab, please make sure this folder exists to do upgrades.

updatesoftware_0002: You must have at least 50M free to update the CMS.

updatesoftware_0003: Please update your ionCube version.

updatesoftware_0004: Please contact your host to make sure all of the system requirements are present for this install.

updatesoftware_0005: Invalid remote hash key. Please try the update process again.

updatesoftware_0006: Hash failure. Please try the update process again.

updatesoftware_0007: The system is unable to write the zip file to disk.

updatesoftware_0008: The zipped file was not found after being downloaded.

updatesoftware_0009: The zipped folder already exists and cannot be removed.

updatesoftware_0010: The system was unable to unzip the new file.

updatesoftware_0011: The system does not have permissions / ability to install new files into place.

Misc Errors

phperror: This happens if the cron process errors out. Please contact CMS support.


Error in SQL query definition for table XXXX. The version reported is YY instead of the version ZZ.

What is this:

Your CMS is connecting to a version of the database that is newer than the CMS files support.

How this happens:

Often, if a host is moving files or databases back and forth between servers, they may restore a prior copy of the /cms_admin/ folder in place.
This prior copy is expecting a different version of the database files than what the CMS is expecting.

How to correct this:

Any one of these options should correct the issue at hand.
  • Have your host copy over the CMS files from /cms_admin/ the other machine over the machine where these error messages are happening.
  • Install a new copy of the CMS in place that is newer than the current version you have. The newest copy of the CMS files are available here.
  • If none of these are viable options, please have your host restore the database to an older state.

Failed to fetch frame XXXXX

There are two possible causes for this:

1) Your movie was not completely uploaded.  If this happens, the beginning of the movie file reports that you have X number of frames, and ffmpeg-php isn't able to seek to that specific file.  Please double check that this file is completely uploaded and wasn't truncated.

2) This may be a problem with ffmpeg-php.  You can confirm this with the following PHP code:

Note - be sure to change FULL SERVER PATH TO VIDEO FILE to your actual video file path.

Note - be sure to change FRAME NUMBER to the frame number used.

 ini_set("display_errors", "on");
error_reporting(E_ALL ^ E_NOTICE);

$frameid = FRAME NUMBER;

if (!file_exists($pth))
echo "Cannot find file $pth";
$movie = new ffmpeg_movie($pth);
$frame = $movie->getFrame($frameid);

if (!$frame)
echo "Failed to fetch frame $frameid from $pth";

$gd = $frame->toGDImage();

echo "done";

If this is the case, your host will have to recompile / fix ffmpeg-php.


The CMS requires a release version of FFmpeg 2.6 or greater in order to take advantage of all of the CMS functionality.

Your host / tech will need to install / update FFmpeg. In the vast majority of cases, the release static build of FFmpeg available here will work:

Note: We require a release version of FFmpeg. Please do not use a GIT version of FFmpeg.

If your host needs to manually compile FFmpeg, the source for FFmpeg releases can be found here:

We recommend the following be compiled in with FFmpeg:

libx264, libxvid, libmp3lame, libamr-nb, libamr-wb

Most popular models are based on ratings. If you want to override the ratings then edit each model and choose the "override votes" option. This allows you to set the votes for this model and is mainly used to control which models show on the popular models toplist.

Here is a quick demo demonstrating how to arrange via FTP:

How to arrange your content on the server when using the Video Suite to encode video:

The CMS system looks in your member's area for a specific folder to find content for your site:

example:     /members/content/upload/

Each set of content you add into the system needs to be contained in a folder called a "set folder". The set folder holds your content and allows you to arrange it into subfolders so the system can read and process your content. (Do not to use odd symbols such as '!,@#$%^&*():;""?><[]\{}| in the file naming of set folders or files. Use _ in place of spaces and keep naming to A-Z,a-z,0-9). Set this folder's permissions to CHMOD 777 after creating/uploading it to your server using your FTP clients' "permissions" or "properties" function, usually located by clicking on the folder and then right-clicking.

example:     /members/content/upload/test_content/

TIP:  We always sugest naming your set folder with unique names that help you identify the content on the server. This makes it very handy when you are trying to locate a specific scene on the FTP server. Always include some sort of identifying date, internal set number, or the names of the talent involved. A well-organized site can identify a set of content on the server just by reading the set folder name. Also, do not use spaces when naming set folders, instead use underscores '_'.

Inside each set folder, you should upload your photos(in jpg format) to a subfolder named "photos".
(Do not use odd symbols such as '!,@#$%^&*():;""?><[]\{}| in the file naming of files or directories. Use _ in place of spaces and keep naming to A-Z,a-z,0-9). Set this folder's permissions to CHMOD 777 after creating/uploading it to your server using your FTP clients' "permissions" or "properties" function, usually located by clicking on the folder and then right-click(video or photo source files))

example:     /members/content/upload/test_content/photos/

Inside each set folder you should upload your video source file movies(preferably in MP4 format) to a subfolder named either "source"

example:     /members/content/upload/test_content/source/filename.mp4

If your source format is in any other format besides .flv|.mp4|.mov|.wmv|.avi  please let us know and we can adjust the system settings so you can use these source files as a source.

Set the 'source' folder permissions to CHMOD 777 after creating/uploading it to your server using your FTP clients "permissions" or "properties" function, usually located by clicking on the folder and then right-clicking.

If you have a video trailer that you want the system to use, please create a folder named 'sourcetrailer' and upload your trailer file in .mp4 format

example: /access/content/upload/test_content/sourcetrailer/filename.mp4

Set the 'sourcetrailer' folder permissions to CHMOD 777 after creating/uploading it to your server using your FTP clients' "permissions" or "properties" function, usually located by clicking on the folder and then right-clicking. See your FTP client for help with how to set file permissions.

All set folders and subfolders need to be set to CHMOD 777

Once you have uploaded your content and set the file permissions to chmod 777, you are ready to add the set of content into the CMS. Your server will process the video files on the server in the background into various sizes and formats you choose. It will take between 20 mins and 4 hours to process each line/format. Please be patient while the server works for you.

If you have any questions or trouble please open a trouble ticket via the support website.

If you make changes to the content files on your server, you must update the CMS so it knows not to reference these files after you have removed them.

1) In the admin panel navigate to "Utilities" >> batch operations.
Then select sets you wish to batch import should be on the  'include' area. You can use the "Select all" if you want to reindex everything.

select the "Import Content " check box. (no other option can be performed when checking this.
(This will import and index each set's content into the system, but will NOT transcode or create any thumbs. This must be done separately. )

2) When the above import process is finished you will be returned to the Batch Operations page.

Select the sets you wish to reindex again( or select all) and move them to the 'include' area if they are not already selected.

Then select which options you wish to perform on all these sets. Make sure to select the following:

Calculate Image Sizes / Movie Information
Recalculate Set XML
Recalculate Totals

Then scroll down and click "process". Make sure to let the process finish. If you lose internet connection or close this window it will not complete.

The Elevated X CMS does not manage your users or handle which users are active or not. That is done by your payment processor.

Your payment processor will typically setup the authentication and have your host create a .htaccess file that refers to a password file. The payment processor's script will control who has access to your member's area and who does not. When a user signs up, their card gets charged and your payment processor adds their name and password to their password file. The first step is to have your payment processor(CCBILL, Epoch, OrbitalPay, etc.)  secure your area. Make sure they append the existing .htaccess file and do not overwrite it. Once they have that going we can add the Protect web login form that will ensure your members are able to view videos on their phones.

When upgrading to the new media player, you may see that the player doesn't load. The first thing you should do in this case is open up the JavaScript console.

In Firefox, you can go to Tools -> Web Developer -> Browser Console.

You'll have a new window pop up here. You'll want to make sure the following is set on top:
- Make sure Net is not highlighted (click on it if it is to unhighlight it)
- Make sure CSS is not highlighted (click on it if it is to unhighlight it)
- Make sure JS IS highlighted (Click on it if it is NOT to highlight it)

At this point, press "Clear". Then go to your browser and reload the page.

Here are some common errors that will prevent the video player from loading:

TypeError: $(...).mediaelementplayer is not a function

In this case, the system is not finding mediaelement.js. You'll need to make sure:
1) An include is included on this page that calls mediaelement.js

<!-- These are MediaElements.js includes -->
<script src="js/mp/mediaelement-and-player.min.js"></script>
<link rel="stylesheet" href="js/mp/mediaelementplayer.min.css" />

2) Make sure the js/mp files exist within the folder, and can be loaded.

ReferenceError: $ is not defined

In this case, jQuery is not being loaded.
You'll need to make sure:

1) jQuery is being called from this page:
<!-- JQuery include -->
<script type="text/javascript" src="js/jquery.min.js"></script>

2) js/jquery.min.js exists and can be loaded.

Note: MediaElement.js requires a newer version of jquery (e.g 1.10 or greater). Older versions of the software may not work with this

The time rail at the bottom of my player window is only 180px wide:


The maximize button on the player does not work.

In this case, you will need to update your jQuery library to 1.10 or greater in order to solve this issue).

You can grab a copy of jquery.min.js from the latest 3.2 templates. It should be within /members/js. Be sure to change your general/page_top.tpl to point to the new template.

Note: This may cause problems with the autocomplete.js library if available. See solution below.

Any error that's autocomplete related.

In this case, you'll need to remove any includes that reference autocomplete.js:

<!-- AutoComplete -->
<script type="text/javascript" src="js/jquery.autocomplete.min.js"></script>
<link rel="stylesheet" type="text/css" href="js/jquery.autocomplete.css" />

This will need to be removed. We recommend replacing this with jQuery-ui:

<!-- jQuery-UI -->
<script type="text/javascript" src="js/jquery-ui.min.js"></script>
<link rel="stylesheet" type="text/css" href="./images/jqueryui/jquery-ui.min.css" />

You'll need to make sure both js/jquery-ui.min.js and the images/jqueryui folder are available.

Next, you'll need to make sure the location that uses autocomplete is replaced. In most smarty installs, this is general/searchbar.tpl. Replace any JavaScript in this template with this:


      source: function(req, add){
        $.get('search_ajax.php?q=' + req.term, function(data) {

            arrStor = [];

            arrLabel = new Array();
            arrURL   = new Array();
            var arg= data.split("\n");

            for(var i=0; i < arg.length; i++)
                ix = arg[i].split("|");

                if (ix.length == 2)
                    arrStor[arrStor.length] = {label:ix[0].trim(), value:ix[1].trim()}
                if (arrStor.length >= 15) break;



Page Cannot be Loaded in iFrame

Due to the risk of clickjacking attacks, the CMS software by default will no longer allow elements of your site to be loaded into an iframe. More details on what this is, and why, are detailed below.

What is Clickjacking?

Clickjacking happens when an attacker creates a separate site that impersonates your site, then loads your site within an iframe. The attacker is then able to do things like monitor keyboard input and overlay buttons over your site, which can potentially be used for stealing login information.

A more detailed, technical explanation of this is available here:

My Site Uses iFrames, what do I do?

There are a couple mitigation strategies that you can do here:

Globally Changing X-Options-Header

In your CMS Admin Panel, click the gear and go to Global Settings. Under "General Config Options", you'll see a setting called "X-Frame Options". If this value is set to Deny, change it to Same Origin. If this does not work, please change this value to "None". We don't recommend keeping this setting permanently, but setting this temporarily until you find other mitigation strategies.

  • None: Allow site to be loaded from all sites.
  • Same Origin: If you specify this, you can still use the page in a frame as long as the site including it in a frame is the same as the one serving the page.
  • Deny: Deny page from being loaded within iFrame.

Per Area in cmsinclude.ini.php

In cmsinclude.ini.php, you can now add an option under [flags] called X_FRAME_OPTIONS. Valid options here are NONE, DENY and SAMEORIGIN.

I use EX Protect within an iFrame

Similarly, Ex Protect allows for similar configuration within the [main] heading in config.php in the /elxprotect/ folder. Valid options here are NONE, DENY and SAMEORIGIN.

I use the CMS Admin Panel within an iFrame

This is no longer supported.

Red error messages tell you when you lack sufficient permissions to perform an action. This usually means that a content folder has not been set to the proper permissions (chmod 777) or that something has changed on your server.

Permission errors are almost always a result of either human error or a server setup/config change of some kind.

If selecting checkboxes for content items does not result in the content being generated there may be several causes.

First, click Sets, click Edit to open the content set and then ONLY check the box that says "Remove Content from this Set" and click the Edit Entry button. Then, re-open the set and try to check the boxes again to create content as well as import the set.

If this fails, it's possible that the content folder on your server is missing folders, folders are improperly named and/or your individual content filenames are incorrect.

Keep in mind that both the server and the cms are CASE SENSETIVE. This means if your system is setup to pull files named .jpg or .wmv, uploading files named .JPG or .WMV may result in the files not being recognized when the system attempts to import the content.

Error Message: Adding full size photo / thumbnail to content - Warning: No source image present for content - 2


If you see this error below the status bar when the content creation process is in progress it likely means that a content source is missing a corresponding image. This usually means that you have video files uploaded without a matching jpeg inside the /vidthumbs/ folder.


Another possibility is that you have uploaded vidthumb images but the file names don't match up with the corresponding video file names.



You may also see error messages if you have changed the content folder (on the server) of a previously added set and attempted to perform actions on the set without first removing content from the set via the Set manager page.


The remove content checkbox DOES NOT delete content from the server. It clears the system of all memory of the content, allowing you to regenerate the set using the latest version of the content folder.

You may find on occasion when you are processing a large queue using the Batch Utility that requires the web browser to remain open.  Sometimes life happnes and your internet connection drops or even have a power outage. If this happens you can resume the process by restarting the queue:

Go to Utilities >> Process Queue :

You'll see a list of process queues that didn't complete and the date when they stopped.

To restart the process of queues,  select the queue and click the "Process Selected"

Smarty Support is Ending

For security, PHP 8 will be required by our software on January 31st, 2024. After this date, any website areas still using antiquated Smarty templates will need to be updated to use PHP templates.

If you wish to continue using Smarty templates after this date, the only way to do so is for us to stop pushing software updates to avoid breaking your websites.

This page contains information about moving over from the Smarty template system to PHP-based templates.

Setting up New Templates

Copies of our newest templates can be found here:

You can always see the various templates in action on our demo site by requesting a demo u/p here:

Either your webmaster can set up new templates via the following guide:

Or you can contact support to set up a new area using PHP templates. You can contact our support here:

Removing Areas No Longer In Use

If your system was using Smarty templates but no longer has active areas using Smarty, these areas must be removed from the system. This can be done by clicking the Gear Icon in the upper right-hand menu and selecting "Manage Site Areas" from the dropdown.

On this page, areas that are using Smarty are shown in red. If the "Last Viewed" section shows that this area has not been viewed in several months, you should be able to safely remove this from your system. Otherwise, only remove an area once you have migrated what is in use to use the updated PHP templates.

Stopping Software Updates

If you plan on continuing to use the Smarty template system after January 31st, 2024, please contact support. We will disable software updates for your site. After February 1st, 2024, in order to turn software updates back on, we will require that Smarty templates are no longer in use on any of your sites.

When using an SSL certificate pleasework with your host to help you redirect all traffic requests to use HTTPS.

They may add a line to your .htaccess file for the area.

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

This should redirect all traffic from to use

When in doubt, ask your host for help with these types of rules as your server environment might be different.

!!** Important ** !
Also, see this article to ensure links are set to use HTTPS by default

If you attempt to log into the CMS and get this error:

There are server-related session problems on your install. Please click here for more info.

This means there is a configuration-related problem with your server that your host / tech will need to correct.

In sum, what's happening here is that your server is not able to properly store session information your machine. The CMS requires sessions to be working in order to stay logged into the system, and pass information from one page-load to another.

Your host can use the following PHP code below to test this functionality.



if (empty($_SESSION["v"])) $_SESSION["v"] = 0;


The value of the session variable here is: <?php echo $_SESSION["v"]; ?>.
If you refresh this page, this value should increase.
If the value doesn't increase, there's a problem with PHP and sessions that your tech will need to troubleshoot.


Please read and follow this guide to speed up your installation.

**CMS installation usually takes 4-6 business days - if there are no server configuration issues or hosting delays.

**We use a queue system so if your server is not ready, your installation ticket goes to the back. Once you get this resolved, update your ticket to get back in the install queue.


1) Use managed hosting. We highly recommend fully managed hosting so you have access to a server support team. We recommend MojoHost and have exclusive plans on our pricing page ( but any reputable adult hosting company should suffice. Make sure your host does not require use of cPanel if you plan to run multiple websites (see requirements in the next step).

2) Make sure your host/server tech has configured the server per our requirements at

The most common issues are a version of PHP lower than 7.1, IONCube loader not being setup or wrong version (10.2 or higher), the wrong version of MozJPEG3(optional), and missing the required PHP modules listed (see above link).

3) Make sure we have access to your server via FTP/SFTP. We provide our IP address for whitelisting in the requirements page (see above link). Tell us if we need to use a specific port for access.

4) Make sure your domain name is pointed to your server via your domain registrar and web host OR that you get a hosts file entry from your host for us to use for installation. We must be able to access the server via http in order to complete your installation.

5) Have test content uploaded to your server.

Upload photo and video files to a folder named ‘test_content’ on the server. Separate them into 2 sub-folders inside the test_content folder named ‘photos’ and ‘source’.

If you’re using our optional transcoder add-on you only need a single high quality, full length (no clips), movie file in any of the following formats:  .mp4 (recommended) , .mov, .mpg, .wmv, or .flv Upload the file into a sub-folder named 'source'.

We will also need a set of photos for testing. There should be at least 10 high resolution images in .jpg format in a sub-folder named 'photos'.

If you have not opted for our transcoder, then please upload a set of content that represents the bulk of your content. You can upload all of these files for 1 set, to a folder named 'test_content' on the server. Make sure your video files are encoded for web delivery. Let us know if you have any questions.

6) Have your host use a current static RELEASE version of FFMPEG available from This site compiles all the necessary FFMPEG add-ons that we require and will make testing and installation go smoothly. Version 4.x or higher is suggested

7) Always use the ticket system for replies. Email replies are not monitored, so you must login to reply to a ticket.

8) If you have questions, please ask. If you think we need to know something specific about your installation, please tell us in your ticket.

Remember, business days are Monday through Friday and we operate on Pacific Standard Time(PST). We are open from 9:00 AM - 5:30 PM. We are not open on weekends (except for emergency tickets). Please allow 24 hours for replies to your tickets (more if you ticket is submitted on weekends. If you require a rush installation, please let us know BEFORE purchasing and we will see if we are able to accommodate your needs. If you add additional add-ons such as MegaPass and FHG tool, the installation will require a few extra days for those add-ons to be configured.

TLS 1.2 Support is the new standard being required for encryption of data over the Internet. Your host will help you with any changes to your server that are required for TLS 1.2 Support. There is nothing in the CMS that needs to be changed besides normal use of HTTPS using SSL. Please direct any questions or issues to your host.

Transcoder minimum size and bitrate levels.
We have minimum requirements on video source files in order for the transcoder to be able to make each size format in HLS and MP4:

(The following applies to both MP4 and HLS)
In order to create a 1080p file, you will need a source file at 1080p tall and at least 8000kbps bitrate.
In order to create a 720p file, you will need a source file at 720p tall and at least 5000kbps bitrate.
In order to create a 480p file, you will need a source file at 480p tall and at least 3000kbps bitrate.
In order to create a 360p file, you will need a source file at 360p tall and at least 1500kbps bitrate.
In order to create a 240p file, you will need a source file at 240p tall and at least 1000kbps bitrate.

If your source file is not at least 8000K, the 1080p version will not be created and the operation will be skipped (you'll see an error in the operations telling you why the error occurred and why it was skipped). We can lower these minimums at your request, but they are there to prevent low-quality files being used to make higher-quality files, which just uses up disk space.

This article contains information on upgrading from antiquated version of PHP (< 7.3) to PHP 7.3.

For a guide on upgrading from 7.3 to 8.1, please see here.

Upgrading from PHP 5.6:

If you are upgrading from PHP 7.1 to PHP 7.2 or 7.3, your host should be able to do this without any files on our end.

If you are upgrading from PHP 5.6 to 7.3, you will need to log into your admin panel and check what IonCube version of the software you have:

Old install:

Current Install:

If you see the following string:

  • (ion 7.1)

You or your host can upgrade PHP on your end without any intervention on our part. You or they can follow our CMS Requirements Page and make sure all the necessary libraries are available.

If you see ANY of the following:

  • (ion 5.4)
  • (ion 5.6)
  • (source)

Or any other string besides (ion 7.1), please do the following:

  • You or your host will need to upgrade your IonCube loaders to version 10.3.9 or greater. You can find a copy of these loaders here:
  • Please contact CMS support. We will need to upgrade your admin panel files before your host can upgrade PHP.

PHP 7.0+ Pitfalls

PHP 7.0 no longer includes the original MySQL API. While the Elevated X CMS no longer uses this library, you may have other software or custom templates that uses this functionality.

If you have any software that uses this deprecated library, your host should be able to install this as a PECL module:

Although it should be possible to build this extension with PHP 7.0 and use this old library, you are strongly encouraged to port any custom code to use MySQLi / PDO, and contact any vendors that don't have direct PHP 7.0 support.

PHP 7.2+ Pitfalls

PHP 7.2 has some changes to type handling that may introduce errors on your templates.

If you are upgrading to PHP 7.2 and are using existing templates, we have a script your host can run that will correct several common errors on your PHP templates:

They can get this script here:

They can retrieve this file by running:

wget -O fix_templates_php72.php

And run the script by doing:

php fix_templates_php72.php /path/to/cms_admin/phptemplates/

Where /path/to/cms_admin/ is a path to their template folder.


If you are still getting template errors after your upgrade to PHP 7.2 we recommend that you go into Global Settings, and find a setting called "Error Reporting Level". You'll want to set this value to "Only Show Fatal Errors". If you do not see this setting within your admin panel, contact CMS support and we'll update you to a new build that has this setting.

Here are some common errors you may see as part of an upgrade. The above script should fix many of these errors, but you or your designer may need to fix these manually.

Here are common ways to mitigate these errors:

sizeof: If you are receiving errors on your front-end saying that the argument passed to sizeof is not an array, you, or your designer can go into the templates and replace instances of sizeof with:


This is a function built into the CMS that will return the size of an array object, or NULL if the object passed is not an array.

If you are using our standard templates, we recommend upgrading to the newest build of our templates. You can find them here:

Warning: Use of undefined constant XXXXXX - assumed 'XXXXXX' (this will throw an Error in a future version of PHP) in /path/to/file.tpl

This happens when you see a value that looks like so:


What's needed here is to put single quotes around this item. In the above case, changing the value to this:


Will fix this error.

PHP 7.3+ Pitfalls:

If you are upgrading from PHP 7.1 or earlier, please look at the above section for PHP 7.2 pitfalls.

Otherwise, you should be able to safely upgrade from PHP 7.2 to PHP 7.3 with little to no issues.

Here are a list of backwards incompatible changes from PHP 7.2 to 7.3. None of these specific instances are used in any of our standard templates, and we have not found any of these specific use cases in custom templates as of yet.


On the user transactions page, the following error message is present:

"User has a negative balance. Corresponding deposits must be added for each sale manually added to the system."


This typically happens when individual purchases are added to a user's transactions, but no corresponding deposit is done for this user.


In order to correct this, a deposit must be added to the system for this user.

- First, take note of the balance amount. For instance, you may see that the user is overdrawn by $-9.99.

- On the user transactions page where you see the error message, click "Add New Entry" at the bottom of the page.

- Under Transaction Type, make sure the type is set to "deposit"

- Under amount, put in the amount that the user is overdrawn. In our example, the user's balance was $-9.99. So, you will want to set this amount to 9.99 to offset the amount the user was overdrawn.

- Click Save Entry

Using SSL and https: in your front facing areas.

As of 2017 Google will soon begin penalizing sites without HTTPS://
We strongly recommend using SSL for your front facing site areas. If you need an SSL certificate, here is a link for 25% off at GoDaddy

Many clients hoping to gain favorable search engine results are enabling SSL and using https protocols for tour areas. Once you have your host setup your SSL certificate and enable https for the desired areas, you'll need to force the CMS to use https in the desired area. You'll need to enter the area URL as a full URL using the https:// identifier in the entry.


Instead of:


Area URL

enter:       (Where the URL of your tour has the https: in the beginning )

Area URL with https:

You can change this in the "Manage Site Areas" admin (located under the right-hand gear icon).
Select the area your wish to edit by clicking "Edit" and change the "Area URL"

When you are done, press the "Save Entry" button in the bottom right-hand corner.
This should force all links inside the area to use the https: protocol instead of HTTP:

Let us know if you run into any issues or questions.

!!** Important ** !
Also, see this article to ensure links are forced to use HTTPS by default

Here's a guide of what the system does with each row:

- If the row has an ID specified, and there isn't an ID for that row within the system, it errors out due to the ID not existing.
- If an ID does not exist (left blank), the system tries to match an existing model name.
- If there isn't a model name already that's in the system, it creates one.
- If there already is one model name, it will update that model.
- If there is more than one model in the system with the exact same name, the system will error out since it doesn't know which row to update.
- If there isn't a Category name already that's in the system, it creates one.
(*** Please note, models and categories are case sensitive  so the system will see Blonde and blonde as 2 separate categories.)

If you're doing an initial import from one site to another, you will need to leave the ID values blank so the system will import new model names.

If movies on android / iOS / mobile devices will not play, there are a couple possible reasons why this is the case. Playback issues are either typically authentication related or codec related.

More information is below.

Format Issues

iOS requires either an h264 encoded mp4 file available to play or an HLS format.

Android requires an h264 encoded mp4 file.

Note: If you are only serving HLS files to your members, Android users will not be able to see videos. Please make sure you have a fallback mp4 file available for these users.

Authentication Issues

Is your members area password protected via simple HTTP authentication?

Simple HTTP authentication is a popup box that appears asking for a username / password.  It is what companies like CCbill user by default for protecting members areas.


Simple HTTP Authentication Box in Firefox

If this is the case, your android movies will not play.  This is because Android devices have trouble passing authentication information to their built-in movie player.

There are several possible ways around this limitation.

Free solutions

a) Elevated X Protect [beta]

If you're using the pro version of the software, Elevated X Protect provides a simple cookie-based login form that allows your customers on iOS devices to view content. To have this installed, please contact support and request to have "Protect" configured. You will need to have authentication in place before we can setup protect.
**If you already have ProxyPass installed and setup, you do not need Protect, simply contact ProxyPass and have them setup the web page based login forms for you.

b) mod_auth_form

This module is a free Apache module that replaces simple password management in Apache with an HTML based login form. It stores user information in a cookie, thereby bypassing any issues mobile video players have with simple HTTP authentication.

This module requires at least Apache 2.3. You may need to confer with your host to see if this module is available for your server and version of Apache.

More information on setting up mod_auth_form is available here:


c) mod_auth_token

The mod_auth_token module is a free Apache module that can be used to work around playback issues when using simple password management in Apache.

More information on how to set up mod_auth_token for your site is available here:


Commercial solutions


d) Proxypass

ProxyPass is a commercial Apache module that defends web sites against members-area attacks and password sharing. Combined with their PSSO module, this allows movie playback on Android devices.

More information about ProxyPass can be found here:



Codec Issues

If you are encoding mp4 files, make sure movies are encoded using the h264 codec in order to properly play on mobile devices.

If you are encoding 3gp files, we recommend using the h263 codec within ffmpeg to properly play these files.


WARNING: You are using a version of PHP that no longer receives security updates.
This puts your system at risk. Please contact host so they can update PHP.

Software Requirements:

When your host updates PHP, please make sure they follow the CMS requirements guideline here:

Your host should specifically take note of these changes:

- MySQL: We will be requiring MySQL 8.0.28 or MariaDB 10.8.2 or greater moving forward.

Please have your host update your database prior to updating PHP.

- ImageMagick: Our software will require ImageMagick 7.0.25 or greater. Please make sure your host installs this or upgrades the existing ImageMagick that is installed on their site.

- IonCube: The software will require IonCube 12.0.1 or greater to be run on PHP 8.1.

- FFmpeg 4.1.x or greater is required.

Upgrading to PHP 8.1:

We highly recommend upgrading to PHP 7.4 first before going to PHP 8.1. There are certain types of errors that PHP 7.4 catches that don't happen in PHP 7.3, but show as notices within PHP 7.4 beforehand. Some of these notices are fatal errors in PHP 8.1.

Catching and fixing problems before upgrading:

In Global Settings -> Templating -> Log PHP Errors, this should be turned to on.

After this is on, give this a day or two and make a point of browsing your sites.

If there are template errors, you will see these listed on the Home Page if your admin panel:

Any template related errors should be corrected in your templates before upgrading to PHP 8.1.

If you are using smarty templates:

Smarty is not supported in PHP 8.1. You'll need to upgrade your templates to use our PHP template engine.

If you would like to use our newest templates, please see here for templates, or submit a ticket and we'll get your new templates set up.

If you are using standard templates:

We recommend upgrading to a current version of our templates if possible. Current templates should work in PHP 8.1 without issues.

Please take a look at some of our new templates

If you are using custom templates:

In this case, your designer will need to fix any PHP related errors that happen in these templates before upgrading.


After any errors are resolved, you should be able to upgrade to PHP 8.1.

If you need more time after January 2024:

Please let us know. We can pause software software updates on your install so you can finish migration. We won't be able to do any bugfixes or security fixes on old software installs, but you should be able to have your existing sites still live until you are ready.

Upgrading from an old version of PHP to 7.3:

Please see this guide for more info.

Upgrade Rationale:

In order to protect our clients from hacking attacks, we have made our CMS require a major version of PHP that supports security updates.

Here are list of dates that we have discontinued, or will discontinue support for a specific version of PHP

  • PHP 5.2: October 27th, 2014
  • PHP 5.3: December 15th, 2014
  • PHP 5.4: May 1st, 2017
  • PHP 5.5: May 1st, 2017
  • PHP 5.6: December 31st, 2018
  • PHP 7.0: December 31st, 2018
  • PHP 7.1: January 31st, 2021
  • PHP 7.2: January 31st, 2021
  • PHP 7.3: January 31st, 2024
  • PHP 7.4: January 31st, 2024
  • PHP 8.0: This version of PHP is not supported.

For newer versions of PHP, these dates coincide with when PHP stops receiving security updates:

  • PHP 5.2 stopped receiving security updates as of January 6th, 2011.
  • PHP 5.3 stopped receiving security updates as of August 14th, 2014.
  • PHP 5.4 stopped receiving security updates as of September 3rd, 2015.
  • PHP 5.5 stopped receiving security updates as of July 21st, 2016.
  • PHP 5.6 stopped receiving security updates as of December 31st, 2018.
  • PHP 7.0 stopped receiving security updates as of December 3st, 2018.
  • PHP 7.1 stopped receiving security updates as of December 1st, 2019.
  • PHP 7.1 stopped receiving security updates as of December 1st, 2019.
  • PHP 7.2 stopped receiving security updates as of November 30th, 2020.
  • PHP 7.3 stopped receiving security updates as of December 6th, 2021.
  • PHP 7.4 stopped receiving security updates as of November 28th, 2022.

When a major version of PHP no longer receives security updates, it opens your server to hacking attacks.


Moving forward, the CMS will only operate on versions of PHP that receive security updates. This makes your install more secure.