Please use the left navigation bar to browse through this support. Let’s go !

Installation

Before install, please make sure you have the components bellow enable on your server
PHP 8.1 or greater (with all default PHP functions enabled, including exec(), escapeshellarg(), etc.)
MySQL 5.7+ or MariaDB 10.3+ (The DB user need to have a full privilege to manage the database, including privilege to FLUSH TABLES, etc.)
BCMath PHP Extension
Ctype PHP Extension
Fileinfo PHP extension
JSON PHP Extension
Mbstring PHP Extension
OpenSSL PHP Extension
PDO PHP Extension
Tokenizer PHP Extension
XML PHP Extension
GD PHP Extension (or Imagick PHP Extension)
PHP Zip Archive
Rewrite Module (Apache or Nginx)
PHP.INI Requirements
open_basedir must be disabled
File and folder permissions
/bootstrap        775
/storage          775 (recursively)

Installation with Apache

Creating a new Database

First thing you want to do before installing LaraClassifier is to create a new database on your mysql server. If you already know how to do this/or have already created one just skip to the next step.

Your hosting provider will most likely have phpMyAdmin as mysql manager. If that is the case here is a step by step guide (if not the process will be very similar on other managers).

Login to your control panel, find and click phpMyAdmin link.

Click on the database tab in the top menu, enter any name for your database and click create.

Uploading Files

After creating a database, unzpip the file you donwloaded from CodeCanyon and upload the contents of LaraClassifier folder to your server root, usually /path/to/www/ or /path/to/html/ or /path/to/httpdocs/ or /path/to/public_html/.

Launch the Installer

After you created a database and uploaded the files, simply open up your site in the browser (like http://mysite.com, you will redirect to http://mysite.com/install) and follow on-screen instructions to complete the installation.

Installation with Nginx

  • Put all the LaraClassifier package files to your server root, usually /path/to/www/ or /path/to/html/ or /path/to/httpdocs/ or /path/to/public_html/ and set your server configuration like this:
root "/path/to/www/public";
location / {
   try_files $uri $uri/ /index.php?$query_string;
}
  • Then restart Nginx.
  • Create a MySQL database, add user to it with full permissions.
  • Go to the script's installation URL. For example http://mysite.com/install
  • And follow the web installation wizard.

Installation on localhost

  • You have to create a local virtual host by using a domain name (eg. http://mysite.localhost) instead of localhost (http://localhost/mysite).
    For more information, please see this article: How to Change localhost to a Custom Domain Name in XAMPP/WAMP (Windows) or here.
  • Restart your server.
  • NOTE: On Windows, this can be easily done using Laragon (free) or MAMP PRO (pro). And MacOS users can easily do that by using MAMP PRO.
  • Now, create a MySQL database, add user to it with full permissions.
  • Go to the script's installation URL. For example http://mysite.localhost/install
  • And follow the web installation wizard.

Error 403 during (or after) installation/upgrade

On Apache
  • Make sure that the Apache's mod_rewrite is enabled on your server.
  • Make sure that the AllowOverride Apache's directive is set to All in your server's apache2.conf file (or in the delegate file for apache configuration on your server).
  • Make sure that the /.htaccess and the /public/.htaccess files are uploaded on your server
  • If the error persists, please create a ticket regarding this on our website.
On Nginx
  • If you have a 403 error on your Nginx environment, please check out this link to learn more about the script's Nginx configuration
  • If the error persists, please contact your hosting provider for more information and get a suitable help about that.
LiteSpeed (or similar services)
Cloudflare (or similar system like Imunify360, etc.)
  • This kind of service is often more discreet and sometimes only blocks pages or static files (such as CSS, JS files, etc.). If you notice that the pages of your website are displayed without CSS styles and in a disordered way, it is very likely that the protection service of your has not been configured to authorize requests coming from the files of your new website. You must therefore review this configuration on your server or contact your host for more suitable help.
  • Also if you receive 403 errors after seeing a security page like the screenshot bellow, this means that the Cloudflare (or similar system like Imunify360, etc.) service is installed on your server and blocks some of the script's requests. You have to fix the issue on your server (by whitelisting all the script's requests or by contacting your hosting provider to get a suitable help):
    Imunify360 403 Error Imunify360 403 Error
  • Otherwise, we strongly recommend to add all the script's files in the service's whitelist files, or we recommend to remove/disable the service on your server to avoid any request ban.

Upgrade to new versions

IMPORTANT: For both upgrade methods, make sure you have backup your website (files and database) before starting the upgrade.

1. SSH Upgrade Method

  1. Put your website under maintenance from the Admin panel -> System -> Maintenance. And don't log out as admin user.
  2. Clear the website cache from the Admin panel -> Clear Cache.
  3. Download the latest version from CodeCanyon.
  4. Copy the .zip file you have downloaded to the root of your server (same place where files were uploaded during installation).
  5. Rename this zip file to laraclassifier.zip (on the server).
  6. Delete vendor directory from your server (So there are no old unused files left from previous versions).
  7. Use a terminal (console) to log in your website's root folder.
  8. Once in your website's root folder, run the command: unzip -o laraclassifier.zip -x ".htaccess" -x "public/.htaccess" -x "public/css/custom.css"
  9. Wait for the execution of this command to complete.
  10. (If you have installed any plugins) Update them to their latest version.
  11. Visit the URL https://domain.tld/upgrade and click on the Upgrade Now button.
  12. Once update is completed your website will go to live automatically, and you will be redirected back to homepage.

2. Traditional Upgrade Method


  1. Put your website under maintenance from the Admin panel -> System -> Maintenance. And don't log out as admin user.
  2. Clear the website cache from the Admin panel -> Clear Cache.
  3. Download the latest version from CodeCanyon.
  4. Copy the .zip file you have downloaded to the root of your server (same place where files were uploaded during installation).
  5. Delete vendor directory from your server (So there are no old unused files left from previous versions).
  6. Extract the .zip file (that you have uploaded) into the website's root folder by overwriting old files (except the /.env file and the /storage/ folder).
  7. (If you have installed any plugins) Update them to their latest version.
  8. Visit the URL https://domain.tld/upgrade and click on the Upgrade Now button (Make sure you are logged in as admin).
  9. Once update is completed your website will go to live automatically, and you will be redirected back to homepage.

Upgrade Notes

SMTP

What is SMTP ?

Short for Simple Mail Transfer Protocol, a protocol for sending e-mail messages between servers. Most e-mail systems that send mail over the Internet use SMTP to send messages from one server to another; the messages can then be retrieved with an e-mail client using either POP or IMAP. In addition, SMTP is generally used to send messages from a mail client to a mail server. This is why you need to specify both the POP or IMAP server and the SMTP server when you configure your e-mail application.

In short it used to send emails to your site users..!! You can use any SMTP service provider.
  • Your own hosting SMTP server
  • Mailgun
  • Postmark
  • Amazon SES
  • Sparkpost
  • Gmail, Yahoo or some other email provider
Please note that some hosting providers blocks port 25 or 465 in that case you have change your SMTP email server or contact your hosting provider

Own SMTP Server

Using your own or some SMTP server Admin panel setup
  • Go to your Admin panel -> Settings -> General -> Mail
  • Set 'Mail Mailer', 'Mail Host', 'Mail Port', 'Mail Encryption', 'Mail Username' and 'Mail Password'
  • And save your changes.
Or use /.env file setup
  • Login to your FTP account.
  • Open and Edit /.env file.
  • Copy and paste your server smtp details in the file.
It will look something like this.
MAIL_MAILER=smtp
MAIL_HOST=your-mail-host
MAIL_PORT=your-mail-port
MAIL_USERNAME=your-mail-username
MAIL_PASSWORD=your-mail-password
MAIL_ENCRYPTION=your-mail-encryption
  • Replace your-mail-host, your-mail-port, your-mail-username, your-mail-password and your-mail-encryption.
  • Save and Upload the file
  • You are done.
NOTE: The /.env file settings override those of the admin panel.

Mailgun

Admin panel setup
  • Go to your Admin panel -> Settings -> General -> Mail
  • Set 'Mail Mailer', 'Mailgun Domain', 'Mailgun Secret', 'Mail Host', 'Mail Port', 'Mail Encryption', 'Mail Username' and 'Mail Password'
  • And save your changes.
Or use /.env file setup
  • Login to your FTP account.
  • Open and edit /.env file.
  • Remove all your current Mail configuration variables.
  • Add the lines below:
MAIL_MAILER=mailgun
MAILGUN_DOMAIN=your-mailgun-domain
MAILGUN_SECRET=your-mailgun-secret
MAILGUN_ENDPOINT=api.mailgun.net
MAIL_HOST=your-mailgun-smtp-host
MAIL_PORT=your-mailgun-smtp-port
MAIL_USERNAME=your-mailgun-smtp-username
MAIL_PASSWORD=your-mailgun-smtp-password
MAIL_ENCRYPTION=your-mailgun-smtp-encryption
  • Replace your-mailgun-domain, your-mailgun-secret, your-mailgun-smtp-host, your-mailgun-smtp-port, your-mailgun-smtp-username, your-mailgun-smtp-password and your-mailgun-smtp-encryption.
  • Save and upload the file.
  • You are done.
NOTE: The /.env file settings override those of the admin panel.

Postmark

Admin panel setup
  • Go to your Admin panel -> Settings -> General -> Mail
  • Set 'Mail Mailer', 'Postmark Token', 'Mail Host', 'Mail Port', 'Mail Encryption', 'Mail Username' and 'Mail Password'
  • And save your changes.
Or use /.env file setup
  • Login to your FTP account.
  • Open and edit /.env file.
  • Remove all your current Mail configuration variables.
  • Add the lines below:
MAIL_MAILER=postmark
POSTMARK_TOKEN=your-postmark-token
MAIL_HOST=your-postmark-smtp-host
MAIL_PORT=your-postmark-smtp-port
MAIL_USERNAME=your-postmark-smtp-username
MAIL_PASSWORD=your-postmark-smtp-password
MAIL_ENCRYPTION=your-postmark-smtp-encryption
  • Replace your-postmark-secret, your-postmark-smtp-host, your-postmark-smtp-port, your-postmark-smtp-username, your-postmark-smtp-password and your-postmark-smtp-encryption.
  • Save and upload the file.
  • You are done.
NOTE: The /.env file settings override those of the admin panel.

Amazon SES

Admin panel setup
  • Go to your Admin panel -> Settings -> General -> Mail
  • Set 'Mail Mailer', 'SES Key', 'SES Secret' and 'SES Region'
  • And save your changes.
Or use /.env file setup
  • Login to your FTP account.
  • Open and edit /.env file.
  • Remove all your current Mail configuration variables.
  • Add the lines below:
MAIL_MAILER=ses
SES_KEY=your-ses-key
SES_SECRET=your-ses-secret
SES_REGION=your-ses-region
  • Replace your-ses-key, your-ses-secret and your-ses-region.
  • Save and upload the file.
  • You are done.
NOTE: The /.env file settings override those of the admin panel.

Sparkpost

Admin panel setup
  • Go to your Admin panel -> Settings -> General -> Mail
  • Set 'Mail Mailer', 'Sparkpost Secret', 'Mail Host', 'Mail Port', 'Mail Encryption', 'Mail Username' and 'Mail Password'
  • And save your changes.
Or use /.env file setup
  • Login to your FTP account.
  • Open and edit /.env file.
  • Remove all your current Mail configuration variables.
  • Add the lines below:
MAIL_MAILER=sparkpost
SPARKPOST_SECRET=your-sparkpost-secret
MAIL_HOST=your-sparkpost-smtp-host
MAIL_PORT=your-sparkpost-smtp-port
MAIL_USERNAME=your-sparkpost-smtp-username
MAIL_PASSWORD=your-sparkpost-smtp-password
MAIL_ENCRYPTION=your-sparkpost-smtp-encryption
  • Replace your-sparkpost-secret, your-sparkpost-smtp-host, your-sparkpost-smtp-port, your-sparkpost-smtp-username, your-sparkpost-smtp-password and your-sparkpost-smtp-encryption.
  • Save and upload the file.
  • You are done.
NOTE: The /.env file settings override those of the admin panel.

Payment Providers

The script support these payment providers:

  • Paypal

Paypal is one of the best payment gateway in the world, it support all credit cards and accepted in many countries.

Paypal

Setting up credentials

Get client ID and client secret by going to: https://developer .paypal.com/developer/applications and generating a REST API app. Get Client ID and Secret from there.

Setup

  • Copy and paste the API client-id, and client-secret into the /.env file like this:
PAYPAL_MODE=sandbox
PAYPAL_CLIENT_ID=your-paypal-client-id
PAYPAL_CLIENT_SECRET=your-paypal-client-secret
  • You have to use PAYPAL_MODE=live in your live server.
  • You are done.

Now visit Admin Panel -> Payment -> Packages to set the packages and currencies.

SMS APIs

This functionality is only available in the version v3.1+ allowing to verify the mobile number of the users and offering the possibility to the sellers to be contacted by SMS.

How to set up?

  • Admin panel -> Settings -> General -> Mail -> 'SMS Driver' to set the default SMS API.
  • You can use both VONAGE or TWILIO as your SMS provider API:

VONAGE

VONAGE - https://www.vonage.com

Admin panel setup
  • Go to your Admin panel -> Settings -> General -> SMS
  • Set 'Vonage Key', 'Vonage Secret' and 'Vonage From'
  • And save your changes.
Or use /.env file setup
  • Login to your FTP account.
  • Open and edit /.env file.
  • Remove all your current Mail configuration variables.
  • Add the lines below:
VONAGE_KEY=your-vonage-key
VONAGE_SECRET=your-vonage-secret
VONAGE_SMS_FROM=your-sender-number

TWILIO

TWILIO - https://www.twilio.com

Admin panel setup
  • Go to your Admin panel -> Settings -> General -> SMS
  • Set 'Twilio Account SID', 'Twilio Auth Token' and 'Twilio From'
  • And save your changes.
Or use /.env file setup
  • Login to your FTP account.
  • Open and edit /.env file.
  • Remove all your current Mail configuration variables.
  • Add the lines below:
TWILIO_ACCOUNT_SID=your-twilio-account-sid
TWILIO_AUTH_TOKEN=your-auth-token
TWILIO_FROM=your-sender-number

Others SMS Configurations

Now, go to your Admin panel :

  • Admin panel -> Settings -> General -> SMS -> 'Enable Phone Verification' to enabling/disabling the mobile Phone number verification.
  • Admin panel -> Settings -> General -> SMS -> 'Enable SMS Message' to enabling/disabling the SMS sending between users.

You are done.

Social Login

Facebook

  1. Register for regular Facebook account, if you don't already have one.
  2. Open this url, and Create a New App.
  3. Get the new app settings.

Now, you have to setup your admin panel:

  • Go to your Admin panel -> Settings -> General -> Social Login
  • For Facebook: set 'Facebook Client ID' and 'Facebook Client Secret'
  • And save your changes.
  • You are done.

Or place all the config values or API keys in the /.env file.

Facebook example in /.env file

FACEBOOK_CLIENT_ID=your-facebook-client_id
FACEBOOK_CLIENT_SECRET=your-facebook-client_secret

NOTE:

  • The /.env file settings override those of the admin panel.
  • The "OAuth redirect URI" is: APP_URL/auth/facebook/callback
  • Don't forget to replace APP_URL by its value (that can be found in the /.env file).
    Example: https://domain.tld/auth/facebook/callback

LinkedIn

  1. Register for regular LinkedIn account, if you don't already have one.
  2. Open this url, and Create a New App.
  3. Get the new app settings.

Now, you have to setup your admin panel:

  • Go to your Admin panel -> Settings -> General -> Social Login
  • For LinkedIn: set 'LinkedIn Client ID' and 'LinkedIn Client Secret'
  • And save your changes.
  • You are done.

Or place all the config values or API keys in the /.env file.

LinkedIn example in /.env file

LINKEDIN_CLIENT_ID=your-linkedin-client_id
LINKEDIN_CLIENT_SECRET=your-linkedin-client_secret

NOTE:

  • The /.env file settings override those of the admin panel.
  • The "OAuth redirect URI" is: APP_URL/auth/linkedin/callback
  • Don't forget to replace APP_URL by its value (that can be found in the /.env file).
    Example: https://domain.tld/auth/linkedin/callback

Twitter (OAuth 2.0)

  1. Register for regular Twitter account, if you don't already have one.
  2. Open this url, and Create a New App.
  3. Get the new app settings.

Now, you have to setup your admin panel:

  • Go to your Admin panel -> Settings -> General -> Social Login
  • For Twitter: set 'Twitter Client ID' and 'Twitter Client Secret'
  • And save your changes.
  • You are done.

Or place all the config values or API keys in the /.env file.

Twitter example in /.env file

TWITTER_OAUTH_2_CLIENT_ID=your-twitter-oauth-2-client_id
TWITTER_OAUTH_2_CLIENT_SECRET=your-twitter-oauth-2-client_secret

NOTE:

  • The /.env file settings override those of the admin panel.
  • The "OAuth redirect URI" is: APP_URL/auth/twitter-oauth-2/callback
  • And before configuring your Twitter app in the script, you have to change its Permissions (on developer.twitter.com) by enabling the "Request email address from users" option.
  • Don't forget to replace APP_URL by its value (that can be found in the /.env file).
    Example: https://domain.tld/auth/twitter-oauth-2/callback

Twitter (OAuth 1.0)

  1. Register for regular Twitter account, if you don't already have one.
  2. Open this url, and Create a New App.
  3. Get the new app settings.

Now, you have to setup your admin panel:

  • Go to your Admin panel -> Settings -> General -> Social Login
  • For Twitter: set 'Twitter Client ID' and 'Twitter Client Secret'
  • And save your changes.
  • You are done.

Or place all the config values or API keys in the /.env file.

Twitter example in /.env file

TWITTER_CLIENT_ID=your-twitter-client_id
TWITTER_CLIENT_SECRET=your-twitter-client_secret

NOTE:

  • The /.env file settings override those of the admin panel.
  • The "OAuth redirect URI" is: APP_URL/auth/twitter/callback
  • And before configuring your Twitter app in the script, you have to change its Permissions (on developer.twitter.com) by enabling the "Request email address from users" option.
  • Don't forget to replace APP_URL by its value (that can be found in the /.env file).
    Example: https://domain.tld/auth/twitter/callback

Google (deprecated)

  1. Register for regular Google account, if you don't already have one.
  2. Open this url, and Create a New App.
  3. Get the new app settings.

Now, you have to setup your admin panel:

  • Go to your Admin panel -> Settings -> General -> Social Login
  • For Google: set 'Google Client ID' and 'Google Client Secret'
  • And save your changes.
  • You are done.

Or place all the config values or API keys in the /.env file.

Google example in /.env file

GOOGLE_CLIENT_ID=your-google-client_id
GOOGLE_CLIENT_SECRET=your-google-client_secret

NOTE:

  • The /.env file settings override those of the admin panel.
  • The "OAuth redirect URI" is: APP_URL/auth/google/callback
  • Don't forget to replace APP_URL by its value (that can be found in the /.env file).
    Example: https://domain.tld/auth/google/callback

Google Maps

You have to activate Google Maps Embed API and Google Maps JavaScript API in your Google Console.

Admin panel setup

  • Go to your Admin panel -> Settings -> General -> Others
  • Set ‘Google Maps key
  • And save your changes.

Or use /.env file setup

  • Login to your FTP account.
  • Open and edit .env file.
  • Add this code:
GOOGLE_MAPS_API_KEY=your-googlemaps-key
  • Replace your-googlemaps-key.
  • Save and upload the file.
  • You are done.

Captcha

Recaptcha Key

What is recaptcha

reCAPTCHA is a free CAPTCHA service that helps protect your site against spam, malicious registrations and other forms of attacks where computers try to disguise themselves as a human. reCAPTCHA comes in the form of a widget that you can easily add to your blog, forum, registration.

How to setup.

Admin panel setup

  • Go to the Admin panel -> Settings -> General -> Security
  • Enable the feature from the 'Enable reCAPTCHA' field
  • Set 'reCAPTCHA version', 'reCAPTCHA site key' and 'reCAPTCHA secret key'
  • And save your changes.

Or use /.env file setup

  • Login to your FTP account
  • Open /.env file.
  • Provide the keys there.
RECAPTCHA_VERSION=your-recaptcha-keys-version
RECAPTCHA_SITE_KEY=your-recaptcha-site_key
RECAPTCHA_SECRET_KEY=your-recaptcha-secret_key
  • Replace your-recaptcha-keys-version (by v2 or v3), replace your-recaptcha-site_key and your-recaptcha-secret_key by your keys.
  • Save the file.
  • You are done.

NOTE: The /.env file settings override those of the admin panel.

Image Processing

Image Setting

The script support for two image processor.

  • GD
  • Imagick

GD is very basic image resizing driver for PHP and only to used on basic website. It has memory issues and doesn't perform well at all conditions.
If you want your site for pro-photography or better quality images we prefer you to use imagick instead for better quality results.
Please make sure that your server has imagick installed.

Imagick

First make sure that you have imagick installed on your server, if not then contact your hosting provider.

  • Login to your FTP account.
  • Open and edit /.env file.
Search
IMAGE_DRIVER=gd
Change it to
IMAGE_DRIVER=imagick
  • You are done.

Localization

How can I enable Geolocation?
  • Visit the Admin panel -> Settings -> General -> Localization
  • Check the 'Enable Geolocation' field.
  • Select a 'GeoIP Driver' - NOTE: By selecting a GeoIP driver/service, its website link (and if required, API/license key/token fields) will be shown.
  • (If available) Get the GeoIP service API key/token (or license key) and insert it in the geolocation settings form.
  • By selecting 'maxmind.com (Database)' as GeoIP service, you have to:
    1. Go to: https://dev.maxmind.com/geoip/geoip2/geolite2/
    2. Download the latest binary version of the 'GeoLite2-City.mmdb' database.
    3. Extract it in the Maxmind database folder at /storage/database/maxmind/ like this /storage/database/maxmind/GeoLite2-City.mmdb
      You can replace the current file (if exists) to update the Maxmind database.
    NOTE: It's important to note that the lite (free) versions of the Maxmind databases are not accurate. Please check out this link for more information: https://support.maxmind.com/geolite-faq/.
  • If you want to redirect users to their country's website based on their IP address, you should leave blank the parameter "Default Country".
    IMPORTANT: When you reset this option by setting a default country, you need clear all your browser's session and cookies (and other data like: hosted app\'s data and cache, etc.) to see the effect of the change.
  • You are done.

SVG Maps

The script uses Simplemaps SVG maps (http://simplemaps.com/resources/svg-maps). And the map of some countries (Kosovo, some islands, etc.) are not available.

For some countries you need to edit the SVG files to change some states or provinces name etc. You can find all the SVG maps files in the /public/images/maps/ directory.

There are a free (commercial use) license and a paid license. So you can buy a license for some missing SVG maps and hire a local developer to add them for your website (based on current code). You can also disable the SVG maps from your Admin panel.

Countries Data

Geonames Database

It is important to know that the script uses Geonames database (http://www.geonames.org) (their most structured database) for data on cities and administrative divisions.

But, sadly, this database is not complete for any country. And you need to update this database (from your Admin panel -> Settings -> International -> Countries -> "Admin. Division x" or "Cities") by adding new data (respecting the Geonames data format) or by modifying existing data or by deleting them.

From v3.1+ you have to update the countries locations database from your Admin panel -> Settings -> International -> Countries (see the screenshot below)

The script does not support certain countries (Kosovo, some islands, etc.) automatically because the data in these countries are not reliable. And you will need to add the missing (or incorrect) data manually from your admin panel.

Your own Database

If you want use your own entered data instead of the Geonames data, you can delete all Geonames data by using your phpMyAdmin to flush the 'cities', 'subadmin1' and 'subadmin2' tables before adding new data from the Admin panel.
Note: The script doesn't have any data import tool.

Languages

How can I add new languages?
  • Go to your Admin panel -> Settings -> Languages
  • Click on Add language
  • Go to the translation folder at /lang
  • The script will already have duplicate the folder /lang/en/ to /lang/<code>/

Notes:

  • Don't forget to translate the database translatable entries from the Admin panel (Users -> Titles/Genders, Listings -> Listing Types, Listings -> Categories, Settings -> Packages, Settings -> Report Type, etc.).
  • If need, you have to duplicate (manually, in this same directory) or edit the date language's file in the: /vendor/nesbot/carbon/src/Carbon/Lang/ directory.

How can I change the default language?
  • Go to your Admin panel -> Settings -> Languages
  • Create a new language entry and check the "Default" field. Or click on Edit to edit an existing language and check "Default".
  • Save all of changes
  • You are done.

Note: To prevent the missing translations in the new default language, please open the file /config/app.php and change the fallback_locale value with your default language <code> value (e.g. de). Save your files on your server.


How can I edit translations?
  • Go to the translation folder at /lang/(each language has his language code as folder name).
  • Go to the folder of the language you wish to translate and their files (e.g. global.php contains 90% of the site’s texts, mail.php for emails contents, etc.).
  • To translate a file, you must change the values and not the keys of PHP array.
  • Save your files on your server.
  • Your are done.

Important: It's important to know that the Admin panel does not support the RTL direction.

Notes:

  • Don't forget to translate the database translatable entries from the Admin panel (Users -> Titles/Genders, Listings -> Listing Types, Listings -> Categories, Settings -> Packages, Settings -> Report Type, etc.).
  • If need, you have to duplicate (manually, in this same directory) or edit the date language's file in the: /vendor/nesbot/carbon/src/Carbon/Lang/ directory.

How can I disable languages?
  • Go to your Admin panel -> Settings -> Languages
  • Select a language and edit it.
  • Uncheck "Active" checkbox and save.

How can I delete languages?
  • Go to your LaraClassifier Admin panel -> Settings -> Languages
  • Select a language and delete it.

Important: By deleting the language, the language files folder /lang/<code> will be also removed.

How To

How can I set the Default country?
  • Go to your Admin panel -> Settings -> General -> Localization and set 'Default Country' with your country code (only ISO alpha-2 codes are accepted). From v2.x or above the script set the default country during installation.
  • Your are done.
How can I set the Default currency?
  • The default currency will be that of the current country, except the Packages's currency that you can set from Admin panel -> Settings -> Packages.
How can I setup the packages/plans?
  • Go to your Admin panel -> Settings -> Packages
  • Select a package and edit it
  • NOTE: You can add new packages or delete current packages in the actual version.
  • More information: Configuring the Packages/Plans
How can I setup the advertising code (e.g. Adsense)?
  • Go to your Admin panel -> Settings -> Advertisings
  • Edit 'top' and 'bottom' code.
  • The code will be displayed on the search results pages and the listings page.
  • Your are done.
How can I setup Recaptcha?
  • Go to your Admin panel -> Settings -> General -> Security
  • Turn ON or OFF 'Enable reCAPTCHA'
  • Set 'reCAPTCHA public key' and 'reCAPTCHA private key'
  • And save your changes.
Please see more features by visiting your Admin panel -> Settings...

Cron Job

How can I start the Scheduler?

The Scheduler will execute:
  • The Listings Clear command (that auto archives and deletes listings after expiration) every hour.
  • The Cache and Views Clear commands, the latest day of every week at 6:00.

When using the scheduler, you only need to add the following Cron entry to your server.

* * * * * {PHP_BIN_PATH} /path/to/public_html/artisan schedule:run >> /dev/null 2>&1

This Cron will call the Laravel command scheduler every minute. When the schedule:run command is executed, Laravel will evaluate your scheduled tasks and runs the tasks that are due.

NOTE

  • {PHP_BIN_PATH} => Ex: /usr/bin/php7.1.3, /usr/bin/php, /usr/lib/php
  • /path/to/public_html/ => You have to replace this path by your real path.
  • Don't hesitate to ask more information about it from your hosting provider.
  • You can disable the Auto Cache and Views Clear command by adding this variable: DISABLE_CACHE_AUTO_CLEAR=1 in the /.env file.

More information about Cron Job:


How does the Listings Clear command work?

After setting it up to run every hour (for example), you can consider 2 cases:

 

1. Regular Listings

You have to set up the options below from the Admin panel -> Settings -> General -> Cron:

  • Unactivated Listings Expiration: After this time (in days) the unactivated listings will be deleted
  • Activated Listings Expiration: After this time (in days) the activated listings will be archived
  • Archived Listings Expiration: After this time (in days) the archived listings will be removed

 

2. Premium/Paid Listings
  • After the Packages duration time (in days) that you have set up from the Admin panel -> Settings -> Packages -> [EDIT] -> Duration, the Premium Listings become Regular Listings.
    NOTE:
    • The expiration duration of free packages (ie packages with 0 as price) will not be taken to account. The Regular Listings rules will be take to account instead.
    • For site owners that have installed our Offline Payment plugin, pushed listings as premium (ie manual promotions of listings from the admin panel) will never expire. You will need to un-feature them (ie remove the promotion manually) first.
  • And then, the Regular Listings rules (seen in #1) are applied to clear the website database.

Backup

Before using this feature, you have to set your MySQL dump binary path with the variable DB_DUMP_BINARY_PATH in the /.env file.
Example with MAMP on Mac OS: DB_DUMP_BINARY_PATH=/Applications/MAMP/Library/bin/. Note: You have to set only the path, so without mysqldump.

If local disk is used, you can get the backups on your server in the /storage/backups/ directory.

 

Manual Backup

Go to the Admin panel -> Backups to make the backups manually.

 

Automatic Backup

Go to the Admin panel -> Settings -> General -> Backup to schedule backups and their clearing up.

Backup Storage

Go the Admin panel -> Settings -> General -> Backup to select a storage type for the backups.

For local storage, select the Local Only option and save the form. For cloud storage, select the Cloud Only or Local and Cloud options and save the form.

  • Local Only: The backup will be save on the website server only.
  • Cloud Only: The backup will be save on the cloud storage only.
  • Local and Cloud: The backup will be save both on the website server and on the cloud storage.

Cloud Storage

FTP

You have to add the config below in your /.env file and you have to set the FILESYSTEM_CLOUD= variable to ftp like below and replace the FTP parameters.

FILESYSTEM_CLOUD=ftp
FTP_HOST=your-ftp-host
FTP_USERNAME=your-ftp-username
FTP_PASSWORD=your-ftp-password
FTP_PORT=21
FTP_ROOT=/path/to/storage/root/
FTP_PASSIVE=true
FTP_SSL=true
FTP_TIMEOUT=30
SFTP

You have to add the config below in your /.env file and you have to set the FILESYSTEM_CLOUD= variable to sftp like below and replace the SFTP parameters.

FILESYSTEM_CLOUD=sftp
SFTP_HOST=your-sftp-host
SFTP_USERNAME=your-sftp-username
SFTP_PASSWORD=your-sftp-password
SFTP_SSH_PRIVATE_KEY=
SFTP_HOST_FINGERPRINT=
SFTP_MAX_TRIES=
SFTP_PASSPHRASE=
SFTP_PORT=22
SFTP_ROOT=/path/to/storage/root/
SFTP_TIMEOUT=30
Amazon S3

You have to add the config below in your /.env file and you have to set the FILESYSTEM_CLOUD= variable to s3 like below and replace the Amazon S3 parameters.

FILESYSTEM_CLOUD=s3
AWS_ACCESS_KEY_ID=your-s3-access-key
AWS_SECRET_ACCESS_KEY=your-s3-secret-key
AWS_DEFAULT_REGION=your-s3-region-code
AWS_BUCKET=your-s3-bucket
AWS_URL=
AWS_ENDPOINT=
AWS_USE_PATH_STYLE_ENDPOINT=
Dropbox

You have to add the config below in your /.env file and you have to set the FILESYSTEM_CLOUD= variable to dropbox like below and replace the Dropbox parameters.

FILESYSTEM_CLOUD=dropbox
DROPBOX_ROOT=path/to/storage/root
DROPBOX_AUTHORIZATION_TOKEN=your-dropbox-authorization-token
DigitalOcean

You have to add the config below in your /.env file and you have to set the FILESYSTEM_CLOUD= variable to digitalocean like below and replace the DigitalOcean parameters.

FILESYSTEM_CLOUD=digitalocean
DIGITALOCEAN_KEY=your-s3-access-key
DIGITALOCEAN_SECRET=your-s3-secret-key
DIGITALOCEAN_REGION=your-s3-region-code
DIGITALOCEAN_BUCKET=your-s3-bucket
DIGITALOCEAN_URL=
DIGITALOCEAN_ENDPOINT=
DIGITALOCEAN_USE_PATH_STYLE_ENDPOINT=
DIGITALOCEAN_FOLDER=
DIGITALOCEAN_CDN_ENDPOINT=

API

By default the API uses an access token set in the /.env file with the variable APP_API_TOKEN=, whose its value need to be added in the header of all the API requests with X-AppApiToken as key.

The front end of the script consumes the API via cURL (via Laravel HTTP-Client/Guzzle) calls, while the admin panel communicates directly with the database.

  • You have to set a configuration that authorizes all requests that have https://yourdomain.tld/api/ as URL base.
  • If a proxy is needed to communicate with your server you have to set it with its port separated by : in the /.env file with the variable APP_API_PROXY= like this:
    • APP_API_PROXY=proxy-host:proxy-port
    • or APP_API_PROXY=proxy-ip-address:proxy-port
    • or APP_API_PROXY=http://username:password@proxy-ip-address:proxy-port

Credits