Premium Poll Script

Premium Poll Script is a php script that allows you to generate polls, surveys and forms.

Documentation on how to set up and use Premium Poll Script. This guide also cover all of its major features. If you stumble upon an issue or if you need help, please contact us.

License

Two types of license are available: Regular or Extended. If you are using Premium Poll Script for multiple websites, you must buy a license for each of them.

Items purchased under a Regular or Extended License may NOT be redistributed or resold "as-is" or as part of any other collection of image resources or files. You do not own the software but simply own a license to operate it therefore the author of this item has full rights on this item.

Regular License Examples (from Envato)

Use, by you or one client, in a single end product which end users are not charged for. The total price includes the item price and a buyer fee. The Regular License could be used for the following:

  • Single website (commercial, personal, or non-profit).
  • Single website for a client (commercial, personal, or non-profit).
  • Single intranet site project.

Extended License Examples (from Envato)

Use, by you or one client, in a single end product which end users can be charged for. The total price includes the item price and a buyer fee. The Extended License could be used for any of the following:

  • An online service where the file can be displayed on multiple users' pages.
  • Part of a software package for sale such as SaaS.

Installation

Premium Poll Script comes with a quick installer. All you have to do is to follow these simple instructions. It has been reported that the web installer may not successfully run on some servers. If that happens to you, please follow the manual installation instructions below.

Using the Web Installer

  1. Upload and extract "main.zip" to your server
  2. Point your browser to http://yoursite.com
  3. The new document root is the /public folder so we highly recommend to change the document root for your domain to /public if possible otherwise we have added a .htaccess file to direct all traffic to the /public folder however on some servers it might not work. If you don't see the installer or you receive 404 errors, you will need to change your document path for your domain to make sure /public is the final folder.
  4. Follow the step by step instructions
  5. Login as admin using the credentials you set at step 3
  6. Click on "Admin Panel" button at the top and go to settings to configure the application.

The instruction above works on a typical server running apache and php. If you are using an NGINX server then you will need to manually update the NGINX config file for your domain using the file shipped with the product in the root folder. Similarly if you are using an IIS server, you will need to update your document root to /public and use the included file web.config to handle requests.

The automated installer will set up the mySQL database, create your configuration file and set up your administrator account. After this, all you have to do is to either go through this documentation to get yourself familiar with Premium Poll Script or you can go ahead and experiment everything on your own and come back here if you have any issues. Also don't forget that if you have any problems, you can always contact us.

If you are having trouble installing, we offer installation services for regular hosts with a control panel like cPanel and VPS.

Upgrading

Please note that if you have customized the software and you proceed to upgrade, your changes will be lost.

All upgrading instructions are detailed in the new online dedicated changelog for Premium Poll Script. There you will find instruction according to the version of Premium Poll Script. Please note that some update may require you to replace all files while others only a couple of files. In both cases it is strongly recommended that you first backup all your existing files and download it to your computer.

View Changelog

Using the AutoUpdater (v2.0+)

  1. Find your purchase code in the "Downloads" section of CodeCanyon.
  2. Go to the admin panel and in the left menu click on Upgrade.
  3. If you are eligible to autoupdate, the checks will be green
  4. Enter your purchase code and proceed on upgrading.

It is strongly recommended to backup your files regularly as in rare occasion an update might not work with your server configuration and you need to roll back.

Migration

To migrate from one server to another, you need to proceed with care to not lose any data or functionality. Please follow the instruction below to letter without skipping anything to prevent loss of data.

  1. Enable maintenance mode in the admin panel settings.
  2. First backup and download all your files (compress and download)
  3. Go to phpmyadmin your database export the poll database
  4. On your new server, go to phpmyadmin new database import the SQL file
  5. If you are changing your domain name, go to the settings table then change it under "url".
  6. Then on your new server, upload and extract the compressed files
  7. Open the file config.php and change your database info manually.
  8. Finally, login as admin and disable maintenance mode.

If you are having trouble migrating, our team can help you migrate safely!

In-App Translation

You can easily translate almost every text in this application without the hassle of editing PHP files. Just login as admin, go to settings then click on "Languages" and follow the instructions. Please note that this feature may not work on some hosts due to memory limits. In this case you will need to follow the manual instructions below.

Manual Translation

Now you can easily translate most of the text in Premium Poll Script. Language files are located (and have to be located) in storage/languages/<YOUR 2-LETTER LANGUAGE CODE>/app.php. Please note that some texts are too long to be translated this way, however you can do it another way (explained below). Once a user changes the language of the website, a cookie that includes the user's language preference will be set. If the user revisits the website, Premium Poll Script will automatically read the cookie and switches the language.

How Translation Works

The process of the translation is pretty easy. All texts are stored in an array and then a function is used to read and assign the proper translation of the text. If you open one of the PHP files, you will notice a lot of echo e('TEXT'). The function e is the function that reads and assigns everything. The name of the translation file is the language code of your language e.g. fr.php the code is fr for French. To use it simply, add to any link ?lang=LANGUAGECODE in this case ?lang=fr

Translating Texts

If you go in the storage/languages/ you will notice a file named "sample.php" where sample.php is a translation-ready file and is used to generate lagnauge packs in the admin panel. If you want to understand how translation work, open "sample.php" and have a look at it. You will notice the following format (only the blue part must be changed):

The most important things to remember are the following:

  1. Do not delete array( and ); at the end.
  2. Do not edit the left side, if you edit it then translation will not work anymore
  3. Do not forget to add a double-quote before and after, if you do, the site will crash
  4. Do not forget this "=>", if you do the site will crash
  5. And finally, do not forget the comma at the end

Translating other Parts

If you want to translate some parts that are yet to translate, do as following.

  1. Open the file that contains the text
  2. Wrap the text with this: <?php echo e('TEXT')?>
  3. Open your language file and then add anywhere "TEXT" => "TRANSLATED TEXT",
For pages, if for example your page name is "About", open your language file then add:

"About" => "TRANSLATION OF ABOUT",

Translating Custom Pages

If you wish to translate one of the custom pages, please follow these instructions.

  1. Create the original page in English (says the name is My page where the permalink will be http://yoursite.com/page/my-page)
  2. Create another page and put the translated name of the original one which in our example will be Ma page. If you choose to leave the slug field empty the system will create the following slug: ma-page. DON'T leave that empty! Instead type-in manually my-page_LANGUAGECODE. So if you create a page with the following slug my-page_fr if a user decides to switch the language to French the system will attempt to get the content of that page first. If it doesn't exist, it will use the original one.
  3. Also make sure to not show the translated page in the menu but do show the original one. The system will take care of that.
<?php echo e('Consequat aliquip do tempor velit esse in proident anim culpa sed nulla.') ?>
"Consequat aliquip do tempor velit esse in proident anim culpa sed nulla." => "Translated string in any language you wish",
"data" => [
  "Consequat aliquip do tempor velit esse in proident anim culpa sed nulla." => "Translated string in any language you wish",
  "Dolore occaecat nisi tempor cillum dolore in mollit excepteur in aliqua culpa sunt enim pariatur dolore ullamco consequat culpa." => "Translated string in any language you wish",
];

Themes

The theming system has been greatly simplified to allow easy customization. All themes are located in the folder storage/themes. If you open the default theme file you will see many files in that folder. Those are all the theme files you can modify. The folder named admin includes some important files that you should not modify unless you know what you are doing.

Using the editor

Premium Poll Script has a powerful theme editor built-in. The theme editor includes a code editor that you can use to easily change things. The code editor (ACE) is set to format only HTML and CSS. It will NOT format PHP. All php codes will be treated as text. You should not touch any PHP code unless you have the knowledge. There are some codes you can edit and these are explained below. You also have the ability to clone a theme by clicking on the clone button. You cannot however delete a theme from Premium Poll Script. You will need to do this by deleting the folder manually. This feature was not implemented because the deletion process is very sensitive and differs from server to server.

Add new theme

You can upload the .zip via the admin panel or upload and extract the .zip file in storage/themes/

Child Themes

You can now create child themes very easily without worrying about updates. You can now change only what you want and Premium Poll Script will fallback on the default theme for other components which will always be up-to-date. The steps are very simple:

  1. Copy or clone the default theme located in storage/themes/
  2. Open the file config.json located in the new copy of the theme
  3. Find "child":false, and change that to "child":true,
  4. Browse to the new directory and delete everything you don't want to change, except config.json. For example if you only want to change the homepage, delete everything but index.php and config.json.
  5. Go to the admin panel themes and activate the new Child Theme and voila.
  6. Now you can make any changes you want and it will always be there.

Do not delete the default theme from Premium Poll Script! This will be used as fallback.

We highly recommend you delete the /admin folder in the new theme folder as we update it very frequently. By deleting it, Premium Poll Script will fallback and use the one located in the /default folder which will always be up-to-date. Similarly delete anything you are not using so it is always up-to-date.

Similarly, if you are creating new themes for Premium Poll Script you can keep anything you need and delete everything else but this with child parameter back to false.

Theme Settings

Each theme comes with its own settings that you can find in Admin Themes Settings. For example the default theme comes with options to add custom menu, change color scheme and even set a custom color for your site!

Channels

Channels are great for organizing your forms. You can quickly access them when needed directly from the sidebar when you star the channel.

To create a channel and add a link

  1. Create your channel in My Channels
  2. Choose forms you want to add to the channel, then click on the box/package icon.
  3. You will see the channels in a dropdown menu.
  4. If you don't see any channels, you will need to create one first.

Pixels

The pixels tracking are used by ad platforms such as Facebook and Google Ads to allow you to gather data on your customers and how they behave on your website. By adding your pixel ID from supported platforms, you will be able to collect data when users visit your form.

To add a pixel:

  1. Under the Pixel page, add your desired pixel including a name and the pixel ID
  2. When creating a form, you can choose to assign one or more pixels from your list of pixels.

Team Feature

The new team feature allows you to invite members to your group and operate the same account as a team. This is perfect for collaboration! To use this feature, the team leader must invite users and users will need to accept the invitation via email and create an account. Once the account has been created, members can access the same environment as a team member.

To add a user to a team:

  1. Under Team, enter the member's email
  2. Then choose the events to authorize this user.
  3. Send Invite

Permissions

Please note that the team member is only allowed these permissions and nothing more.

Affiliates

Premium Poll Script now includes an affiliate tool for users. Users can share their affiliate link and earn commission on the first successful payment. You can set the commission and terms of the affiliate in the admin panel. You can also set the minimum payout rate. Once a request for withdrawal is made, you can review everything and you will need to manually send the payment. Users will be asked to enter their paypal email.

Sitemap

Premium Poll Script has a built-in sitemap that displays important urls such as homepage, custom pages, contact page, faqs, blog posts and public polls. The sitemap is enabled by default and can be accessed via https://yoursite/sitemap.xml

You can configure the sitemap in Admin > Advanced Settings.

CDN & Object Storage

You can directly upload files to Object Storage providers such as AWS, Digitalocean, Vultr, Cloudflare and Contabo. New uploaded files will directly be upload the selected provider and a CDN url will be used.

Please note that if you have a lot of files in the content/ folder, the sync feature might timeout due to server settings. In this case, it is recommend to zip the content folder, download to your computer, extract it and upload all files via the provider's website.

AWS S3

  1. Create a new Bucket
  2. Under Object Ownership Select ACLs enabled then choose "Bucket Owner Preferred"
  3. Under Block Public Access settings for this bucket, uncheck Block all public access
  4. Click Create bucket
  5. Copy your bucket name, bucket region and your API credentials in Security Credentials > Access Keys
  6. Save Premium Poll Script settings
  7. If you are using the cloudfront CDN or your own domain mapped to the Cloudfront CDN, you can add the CDN url as well
  8. If everything checks out, you will see the Sync button with which you can sync all current uploaded files

If you sync files and they are not uploaded, double check your Access Key.

If you cannot access your files via the URL, check your permission settings.

Digitalocean Spaces

  1. Create a new Space in Digitalocean
  2. Choose you region
  3. Under CDN, you may decide to enable it or not
  4. Under Allow file listing?, choose Restrict File Listing
  5. Select your name & create
  6. After it has been created, go to your Space > Settings
  7. Under Endpoint, you will see your endpoint which looks like {{REGION}}.digitaloceanspaces.com - Copy the region & space name to Premium Poll Script.
  8. Grab your Space Access Keys from API and paste them as well
  9. Save Premium Poll Script settings
  10. If you are using the CDN or your own domain mapped to the CDN, you can add your CDN url as well
  11. If everything checks out, you will see the Sync button with which you can sync all current uploaded files

Cloudflare R2

  1. Go to Cloudflare > Your Website > R2 > Create a Bucket
  2. Click on your Bucket > Settings
  3. Under Public Access > Allow Access
  4. You can choose to map your own domain if you wish
  5. Copy the Public Bucket URL and paste it under CDN URL/Endpoint in Premium Poll Script
  6. Go back to R2, copy and paste your Account ID in the region field and your bucket name in the bucket field in Premium Poll Script
  7. Go back to Manage R2 API Token > Create API Token
  8. Under Permission, choose Edit: Allow edit access of all objects and List, Write, and Delete operations of all buckets
  9. Copy your Access Key ID and Secret Access Key in the appropriate fields and save Premium Poll Script settings.
  10. If everything checks out, you will see the Sync button with which you can sync all current uploaded files

Vultr Objects

Follow the same steps as Digitalocean Spaces

Contabo Storage

Follow the same steps as AWS s3

Developer Tools & Integrations

Slack Integration

You can now integrate Premium Poll Script to Slack and allow your users to check responses for a particular form directly via Slack. They can also choose to receive notifications directly to Slack. To enable Slack, please follow the instructions below.

  1. Go to Slack Developer and create or login to your account.
  2. Under Your Apps, create a new App
  3. Set a Name and choose one of your Slack Workspace for testing
  4. Under Add features and functionality, choose Create New Command
    1. Define a command
    2. In the Request URL add the following (with your own site), https://YOURSITE/webhook/slack
    3. Set a short description (this will be seen by your users)
  5. Under OAuth & Permissions, set a redirect URL which essentially your domain name.
  6. Finally, Go to Basic Information and copy your credentials to Premium Poll Script admin panel settings integrations
  7. Make sure to use the same command that you set in 4.1
  8. You can fill in the Display Information if you wish
  9. You will need to distribute your app so others can use it.

Zapier Integration

Your users can now add a Zapier Webhook to automate workflows directly from the Tools Zapier Integration section and Premium Poll Script will ping the webhook as soon a response is submitted and validated.

Note Although this is intended to work with Zapier, it can work with any webhook system. You can even define your own webhooks as well.

Social Login

Premium Poll Script includes authentication methods from 3 major social networks such as Google, Twitter and Facebook. Before you can use any of these, they will need to be setup. Follow the instructions below to the letter otherwise it might not work.

oAuth logins are very strict with the Callback URL. Make sure to respect the oAuth callback mentioned under each of the social network below.

Facebook Login Video Tutorial

Users can login with their Facebook and bookmark their favorite sites. To set up your app, first go to https://developers.facebook.com and set up a new app by clicking "Apps". Then click "Create New App"; Facebook will ask you to configure your app. The most important fields you must fill out are App Domains and Site URL. For the oAuth Callback, add https://yoursite.com/user/login/facebook. Following that Facebook will generate two keys for you. Go to the admin settings and paste those keys. That's it. If you did everything correctly Facebook connect should work.

Callback URL

https://yoursite.com/user/login/facebook

Twitter Login Video Tutorial

Users can login using twitter the same way they use facebook. You must enable twitter connect for it to appear and function. You can do that on the admin panel. You must register your website on Twitter.com

  1. Go to https://developer.twitter.com/en and login.
  2. Click "Create Project" if you don't have a project already
  3. Click "Create App" and fill in your app name. This can be your site name or company name
  4. Twitter will generate your keys. Copy them to Premium Poll Script admin panel User Settings
  5. Copy your Callback URL and proceed to App Settings on Twitter
  6. Enable OAuth 1.0a
  7. Enable Request email from users (optional)
  8. Under App Permissions choose Read
  9. Fill the required fields including the callback URI field: https://yoursite.com/user/login/twitter, accept the terms and conditions and click "Save".

If you did everything correctly, Twitter OAuth should work. If it doesn't, send us an email and we will help you.

Callback URL

https://yoursite.com/user/login/twitter

Google Login Video Tutorial

Google connect protocol has been changed due to restrictions from Google. For this reason you will need to set up Google connect again. Simply follow the instructions below and it should be fairly simple.

  1. Go https://code.google.com/apis/console and login using your Google Account
  2. On the left side click "Credentials"
  3. Then click "Create new Client ID" to open the popup
  4. Select "Web Application"
  5. Add your domain name as "https://yoursite.com" under Authorized Javascript Origins
  6. Add the URI to Google Login under Authorized Redirect URI as https://yoursite.com/user/login/google
  7. Generate a public key and client secret and add those in the admin panel

Callback URL

https://yoursite.com/user/login/google

Membership

Premium Poll Script now offers a membership system where users can upgrade their account for a fee to use some pro features such as the custom splash page. The features that are only available to pro users are custom splash page, ability to choose the redirection type, ability to use premium aliases (set by admin), no advertisement site-wide. The fees are set via the admin panel and discounts are calculated manually. You will need to activate IPN in your PayPal account and use the following URL as the IPN receiver: http://yoursite.com.com/ipn (if you have SSL enabled make sure to use https).

For PayPal Basic Checkout, make sure the option "Block Non-encrypted Website Payment" is turned OFF.

  1. Login to your PayPal account
  2. Profile > Profile and Settings
  3. Click on Website Payment Preferences
  4. Search for Encrypted Website Payments
  5. Change the settings Block Non-encrypted Website Payment from ON to OFF.

For Stripe, please check below for instructions on how to set it up.

Once the user clicks upgrade on top, the system will redirect to the upgrade page and will offer the plans set in the admin panel in either monthly and yearly. They will then be redirect to PayPal where they can login to pay or be able to checkout directly on the site when Stripe is enabled. Once the payment has been made, the user will be redirected back and the changes will be made to the account.

Expiration

The system will automatically switch the user from Pro to Free if the account has not been renewed. This will also temporarily disable all custom splash pages. Since a subscription system is currently unavailable, the user will need to renew the account every month or opt-in for the yearly plan.

Plans

You can now create custom plans where you can choose the different options for each plan. You can even add a free plan which will be associated to free users upon registration. You can choose the plan title, description, prices (monthly and yearly), and add different restrictions such as limited splash pages or custom domain names.

If you don't plan to offer a free plan, users will be forced to upgrade to a plan after registration.

If you are using Stripe, you need to add your API keys before creating plans otherwise Premium Poll Script will not create plans on Stripe. If you have added the API keys after creating plans, you will need to use the Sync button in Plans pages (top-right) to sync plans.

Coupons

You can now add coupon and have users redeem them. You can easily add a coupon via the admin panel. At this moment coupons can only be added when you have Stripe enabled. By default, the discount on the plan via the coupon is applied for a maximum of 12 months and the subscription will be switched to the full price after.

Trials

You can now add a trial to each paid plan. Trials are automatically applied without the need for a credit card. After the trial expires, the user will be switched to a free plan if available or be forced to upgrade. Users can upgrade at any time during their trial period.

Tax Rates

You can now define custom tax rates for each country. The tax rate will be applied automatically based on the billing address country.

Stripe

Stripe is now built-in. This will allow to painlessly subscribe customers and charge them automatically. Everything will be managed by Premium Poll Script. This means payments, subscriptions, cancellation and refunds are managed so you don't have to worry. A video will be online soon to explain on how to activate Stripe. Meanwhile you can use the instructions below.

Please note that subscription requires an Extended License.

Activating Subscription

  1. Login to the admin
  2. Go to the subscription tab
  3. Enter your extended purchase code to activate it

Setting up Stripe

  1. Create a free stripe account
  2. Activate your stripe account
  3. Go to the API tab
  4. Generate a Publishable key
  5. Generate a Secret key
  6. Then go to Webhooks
  7. Click on Add endpoint
  8. In the "URL to be called section", add https://yoursite.com/webhook
  9. Select "Charge" events
  10. If you are using Stripe Hosted Checkout, Add customer.subscription.created and
    customer.subscription.updated
    as well
  11. Once your webhook is created, click on that
  12. Then at the bottom you will see a "Signing secret" block. It starts with whsec_
  13. Add your Keys and your Signing secret key in the admin panel to activate subscription.
  14. If you already have plans created, you will have to delete them and create new plans so it can sync with Stripe.

PayPal API

If you cannot use Stripe, Premium Poll Script also allows you to use PayPal API. You will need to setup your account first.

Please note that subscription requires an Extended License.

Activating Subscription

  1. Login to the admin
  2. Go to the subscription tab
  3. Enter your extended purchase code to activate it

Setting up PayPal API

  1. Create a free paypal account or use your existing paypal login
  2. Create a new app in "My apps & credentials" tab - Make sure to choose "Live"
  3. Add your Client ID and your Secret key in the admin panel to activate subscription.
  4. If you already have existing plans, you can use the sync feature in Plans to sync plans with PayPal

Paddle Payments

Paddle is now integrated within Premium Poll Script. Please follow this guide to set up it. You do not need to sync your plans with Paddle however you need to create two dummy plans that will be used for other plans. It is also recommended to set your tax calculation to be inclusive within Paddle and let Premium Poll Script calculate taxes for you.

Please note that subscription requires an Extended License.

Setting up Paddle

  1. Create a free Paddle account or use your existing Paddle login
  2. Go to Developer Tools > Authentication and copy your vendor_id and the Default API Key and paste them in the Premium Poll Script admin panel in their respective area.
  3. Go to Developer Tools > Public Key and copy your Public Key and paste it in the Premium Poll Script admin panel in its respective area.
  4. Go to Catalog > Subscription Plans and create two plans: Monthly plan with $1 price and all currencies and Yearly plan with $1 price and all currencies.
  5. Copy their respective Plan ID, as shown below, and paste them in their field in the admin panel Paddle settings.
  6. Go to and enable Webhook for Subscription Created, Subscription Updated, Subscription Payment Success and Payment Success
Paddle Example

Important For Paddle to work correctly, you need to verify your account, request a domain approval for your domain and ask Paddle to enable Checkout otherwise Paddle will not work.

Domain Name Management

Premium Poll Script supports addition of multiple domain names. Addon domains can either be added by the owner of the site via the admin (via Multiple Domains feature) or by the customer if the customer wishes to use their own domain name (via Custom Domain feature). Getting domain names to work is somewhat tricky might not work on all type of server (especially shared servers) without some changes to the virtual host file.

Multiple Domains Video Tutorial

You can enable the multiple domains feature if you have more than one domain name. You will allow your users to choose or set a domain name by default. To add your domain names, simply fill the box in the admin section and add one domain name per line including http:// or https://. To set up your domain name, add your domain name to your server and forward all requests to your main using the following code.

Shared Server/cPanel/Plesk

If you are on a shared server, you will have to add the domain name via the "Addon Domain/Domains" tool located in cPanel. It is very important that the Document Root of the domain be the same as the primary domain or where Premium Poll Script has been installed.

cPanel Domains: https://docs.cpanel.net/cpanel/domains/domains/

Plesk Domains Aliases: https://docs.plesk.com/en-US/onyx/customer-guide/websites-and-domains/domains-and-dns/adding-domain-aliases.65286/

Note on Plesk Make sure to toggle off Redirect with the HTTP 301 code

VPS/Dedicated Server

If you are on a dedicated server, you will need to do a small modification to the default apache conf file usually located in /etc/apache2/sites-enabled/ and named 000-default.conf. Open that file and you will see the content showed on the right. You will need to replace the path /var/www/html/ in DocumentRoot and Directory to the path where Premium Poll Script is installed and restart Apache.

To check if the domain name is working, after visiting the domain you should get a page with a message that says Yes. Your domain name is working. Add it to your account now. If you get any other page, that means the server is handling the domain name and is pointing it to another page.

The instruction for managed VPS works on a typical server running apache and php. If you are using an NGINX server then you will need to manually update the NGINX config file. Similarly if you are using an IIS server, you will need to manually update the configuration.

 <VirtualHost *:80>
        ServerAdmin [email protected]
        DocumentRoot /var/www/html/public/

        <Directory /var/www/html/public>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        <IfModule mod_dir.c>
            DirectoryIndex index.php index.pl index.cgi index.html index.xhtml index.htm
        </IfModule>

</VirtualHost>
                

Custom Domains Video Tutorial

Customers can add their own domain name and use it for you forms. This will require some setup. First, as admin, you need to enable Multiple Domain Names in the Admin Settings Advanced Settings. Once that is done, your customers can add their own domain name via the Custom Domain page. They will need to either add an A record or a CNAME record. On your side, you will require some changes before your server can accept their domains.

Shared Server/cPanel/Plesk

If you are on a shared server, you will have to add the domain name via the "Addon Domain/Domains" tool located in cPanel. It is very important that the Document Root of the domain be the same as the primary domain or where Premium Poll Script has been installed.

cPanel Domains: https://docs.cpanel.net/cpanel/domains/domains/

Plesk Domains Aliases: https://docs.plesk.com/en-US/onyx/customer-guide/websites-and-domains/domains-and-dns/adding-domain-aliases.65286/

Note on Plesk Make sure to toggle off Redirect with the HTTP 301 code

VPS/Dedicated Server

If you are on a dedicated server, you will need to do a small modification to the default apache conf file usually located in /etc/apache2/sites-enabled/ and named 000-default.conf. Open that file and you will see the content showed on the right. You will need to replace the path /var/www/html/ in DocumentRoot and Directory to the path where Premium Poll Script is installed and restart Apache.

To check if the domain name is working, after visiting the domain you should get a page with a message that says Yes. Your domain name is working. Add it to your account now. If you get any other page, that means the server is handling the domain name and is pointing it to another page.

The instruction for managed VPS works on a typical server running apache and php. If you are using an NGINX server then you will need to manually update the NGINX config file. Similarly if you are using an IIS server, you will need to manually update the configuration.

 <VirtualHost *:80>
        ServerAdmin [email protected]
        DocumentRoot /var/www/html/public/

        <Directory /var/www/html/public>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        <IfModule mod_dir.c>
            DirectoryIndex index.php index.pl index.cgi index.html index.xhtml index.htm
        </IfModule>

</VirtualHost>