OxyClassifieds Administrator Interface Guide

Introduction

The script we describe in this document is a PHP and MySQL application (script) that can be installed on a Web server, allowing you to quickly setup your own Classifieds website. Installation of the script can be done in a few minutes. Also our team can help, installing the script, for free. After the install process you will have to configure the script with the aid of the Administrator Panel. This documentation describes in detail the configurations you are able to change in the script using this tool.

Chapter 1. Administrator Panel Interface

To login as administrator use the Login link from frontend navigation bar. Same link will be used to login as user and as administrator. The difference is that when you login with administrator user you will be redirected to the Administrator Panel. Also, when you are logged in as administrator, the site front-end will show a link towards the Administrator Panel interface on the navigation bar. This link is not visible unless you are logged in as administrator user.

We will continue describing each of the Administrator Panel sections.

1.1. Statistics

Will show you some quick information on your system.

Current version - Will show you your current version and last update date, as well as latest available version on our site.

Last Login - Last login date and IP from which administrator logged in. A more detailed login history can be seen in Security / Login History section.

Listings - Some stats on current listings. You will find the number of listings for different listing classes: active, expired, pending, featured, highlighted, listings with a priority, video listings and the total hits for all listings.

Users - Some stats on the users that are in the system: total users, active and inactive users, users with ads, with dealer page or bulk uploads enabled.

Latest Registered Users - If there are users registered on your system, latest 6 registered will be shown here.

Latest Subscriptions - If you have defined subscription based plans, here will be listed latest 6 registered subscriptions.

System Info - Some information about current script version, PHP, MySQL and GD graphic library installed versions. You have also the possibility to see php settings by clicking on the link next to View PHP Info

Latest Added Listings - If there are listings added to the system, latest 6 listings will show.

Latest Orders - Latest 6 operations that were made in your system.

1.2. Listings

1.2.1. Manage Listings

Will show the current listings in the system. It contains some elements that help you browse selectively or in a certain order, search or make operations on the listings. Same system will be found on other pages and we will not repeat these explanations for each of them.

Action buttons

When selected multiple listings, the action that represents the button will apply to all selected listings. Exception makes the Add listing button which will take you to a new listing form. You can select multiple listings by selecting the left side checkbox on the corresponding row.

  • Add Listing - Will take you to listing submit form. Please see a description below.

  • Delete All Selected - Selected listings will be deleted

  • Deactivate All Selected - Selected listings will be deactivated (disabled).

  • Activate All Selected - Selected listings will be activated (enabled) if not already active.

  • Mark as Sold - Selected listings will be marked as sold.

  • Mark as Rented - Selected listings will be marked as rented.

Pages navigator - navigate through listings pages if more than one

Selective browsing and ordering form

  • Listing type - you can choose a class of listings, for example Active listings - all listings that are active, Expired Listings - expired listings or listings that have an option enabled.

  • Order - you can choose to order the listings by: date, listing price field, listing title and the number of hits.

  • Order direction - choose ascendant or descendant order direction

Listing search form - You will need to click on the Search button to display the search form. You will be able to search by certain fields like: id, keyword, username, email, ip, category, plan and date. The results will appear in the listings table.

Listings table

For each listing will be shown some base information including an image thumbnail, some status buttons and you will have a set of icons that will perform actions on the corresponding listing.

Status Buttons - show information about the listing status

  • Active - the listing is active

  • Inactive - the listing is inactive. Inactive listings are only visible for administrator and listing owner, but are not appearing for visitors or other users than the owner.

  • Pending - the listing is pending or a pending action exists for the listing.

    When you mouse over the Pending button, a box will appear and show you information to which case Pending button refers to. There are some distinctive cases here:

    Only the listing is pending: the mouse over info box will show you just Pending Listing message. In this case, you can accept (activate) the listing by clicking either on the Pending status button, or on Enable icon

    Other actions refering to the listing are pending - if a user chooses to add an extra option to a listing, which by system settings requires to be manually accepted by administrator, that pending option will appear here as a pending action related to this ad. The name of the action will be added to the information box : Pending Featured, Pending Highlighted, Pending Priority or Pending Video

    When pending actions exist, when clicking on the Pending status button you will be taken to a modal window where you will have to choose (by checking a checkbox next to the action) which action you want to accept or reject.

    By accepting the pending action, the option that the action represents will become active for the listing. So if there is a Pending Featured action, the listing will become featured after accepting the action.

    Note:

    The pending button will not disappear, even if the listing is active when pending actions exist.

  • Featured - appears when the listing has Featured extra option enabled.

  • Highlighted - appears when the listing has Highlighted extra option enabled.

  • Video - appears when the listing has Video extra option enabled.

  • Priority - appears when the listing has Priority extra option enabled.

Action icons

There is a set of icons that appear for each listing to the right side of the table. Here is a list of these icons:

  • Send Email - will open a window with an email form. Send email to the listing owner using this form.

  • Edit - will take you to Edit Listing page

  • Edit Photos - will take you to Edit Photos page

  • Delete - delete the listing

  • Enable / Disable - enable or disable the listing

  • Modify Ad Settings - will open a modal window where you can change some listing settings: category, listing plan, expire date, username, and you can edit the extra options

  • Mark as Sold / Unmark as Sold - mark the listing as sold or remove sold mark

  • Mark as Rented / Unmark as Rented - mark the listing as rented or remove rented mark

  • Renew - will only show for expired listings. This icon allow you to renew a listing.

  • Block Ip - You can block the ip which this ad was posted with.

Select number of listings to show on page

By default only 10 ads will be shown on a page. Use this select box that is positioned below the listings table to choose a different number.

1.2.1.1. Submitting a new listing as administrator

Click on Add button on top of listings table of Listings / Manage Listings section. You will be taken to a form with 2 steps. Choose Next button when you completed the current step.

  • Choose Ad Settings - You must choose a category for your listing, a plan and a user to post the listing for. These fields are mandatory.

  • Enter Ad Details - Fill in the form for the listing. The mandatory fields are marked, usually with a red star.

  • Add Photos - Upload photos for your ad.

  • Extra Options - You can choose extra options for the ad like Featured, Highlighted, Priority or Video Classifieds if these options are enabled and if they are not already included in the plan features. The options that are included are grayed and you will not be able to select them.

  • Finish - After these 2 steps your ad submission is completed. You can review your ad details or options and go back to edit them if you want by clicking on the buttons Edit Listing, Edit Ad Options or Edit Photos.

1.2.2. Listing Plans

This section allows you to set the listing pricing system. Every ad must be attached to a listing plan. Here you will define if you want your ads to be paid or free, if you want your users to choose a listing plan every time they post ads or to post more ads after they attach a plan to their account (this system is called subscription). The listing plan will also define ad characteristics, like number of photos and words allowed, time until the listing expires, whether the ad should start with some extra options (Featured, Highlighted, Priority or Video Classifieds ) or not.

Note:

If you have only one listing plan defined, when posting ads this plan will be always considered by default and the section for choosing listing plans will be skiped.

There are 2 types of ad plans that can be added: Ad Based plans and Subscription Based plans.

Ad Based plans - are plans that are either free or paid plans, and when choosing this plan for their ads, the users can only add a single listing for this plan. If this plan is paid, then the result is that the user must pay every time when posting an ad to this plan.

Subscription Based plans - once a user will buy a subscription, they can post multiple ads for that subscription. Use this type of plan for users that have large amounts of listings to post, like dealers.

For both types of plans you can set the ad characteristics: description length, number of pictures (and if photos should be mandatory), days until the ad expires (set 0 if you don't want the ad to expire). You must also set the amount that the user will be charged with, or 0 if you want to make the plan free (only for ad based plans). You can also choose that the plan includes some extra options, if you have them enabled: Featured, Highlighted, Priorities or Video Classifieds. The ads posted for this plan will have these features enabled by default and are included in the plan price.

Another option that you have for both plan types is to set a number of times a plan can be used. For this, use the field Allow usage. Set this value to the number of times one listing plan can be used by one user, or by one ip address (in case this plan is used by not logged in guests ). This feature is useful if you want for example to give free the first listing on your site, but the next listinsg posted you want to be paid for. In this case you create one listing plan with the value for Allow usage set to 1. This value is set to 0 by default, which means that it can be used unlimited times.

For subscription based plans you must also choose:

No Ads - a number of ads for the plan (users will pay once and be able to set this number of ads until the subscription becomes inactive). Set this number to 0 for unlimited ads.

Subscription Time - a number of days until subscription expires (do not mistake it for the other option, Number of Days. Number of days is the time until each ad expires, while Subscription Time is the number of days until the subscription expires). Set this to 0 for unlimited days. The subscription will expire when one of the 2 values reaches the limit: the number of ads reaches 0 (if it was not unlimited in the first place) or the time expires.

If you have set in Settings / General Settings the option Send notification to user - Before listing expires with X days, then the user will be notified before the subscription expires, and will also be notified after expiration if the other option Send notification to user - When listing expired is set.

Important:

Subscription based plans must have a price greater than 0. These ad plans are always paid, and you will be given a warning if setting a 0 price.

Important:

Subscription based plans cannot be used for not logged in guests, only Ad Based plans can be used in this case.

For both ad plan types you have the possibility to add plans for all categories, for only one category or more than one categories. To choose for which categories the plan applies, when editing or adding a plan, next to Use plan for, choose Choose Categories radio button instead of All Categories - the default setting, and choose the categories you want from the list. When a user places an ad, based on the category the user chose for the ad, the list of available plans will be built with the plans that are set for all categories, or the ones that have the current category selected within the categories list. This way you can set different prices for different categories.

You can also build plans special for some groups of users only. To do this, proceed like with the categories and choose from the groups list after choosing Choose User Groups option.

1.2.3. Coupons

Coupons are a way of offering discounts to your customers, and are in fact small codes that once entered in the form when submitting an ad or buying an option from your site, the total to be paid will reduced with the value of the coupon.

Coupons are a way of marketing your site. You can promote your site by offering coupons so people will try your services for free or a reduced price. You can send coupons by mail to a list of emails that belong to possible clients, by posting banners or announcements to other sites containing the coupon code, and so on.

1.2.3.1. Adding a new coupon or editing an existing coupon

To add a new coupon click the Add button on top of the coupons table.

In case you want to edit an existing one, use the Edit icon in the coupons table.

Here is the description for the form that follows:

Code - you must enter the coupon code that users will enter on your site. The code should be simple to be easily remembered by your clients.

Discount type - you can opt for either a fixed discount or a percent discount. When you choose Fixed discount, the exact amount that you enter in Discount box will be reduced, for example if you enter 2, $2 or EUR 2 or 2 units of whatever currency you use for your site will be subtracted from the total sum. If you choose Percent, then the value in percents will be subtracted, for example if you enter 50, 50% of the total will be dropped.

Note:

For a percent discount type, you must NOT enter the percent sign in the box, just the number!

Discount - the discount value that represents the fixed amount or percent of total sum.

Available for - choose whether this coupon is valid for listing related operations (submitting ads, renewing ads, buying subscriptions or adding extra options) or for adding Dealer Page option to an account, or for both.

Use by - you can choose here the user groups that you want this coupon to be valid for. If you want it to be used by any group, then leave the default option All User Groups checked. If you want only some user groups to use it, then choose Choose User Groups option and then from the multiselect box that will open choose the user groups. You can choose multiple groups. If you enabled posting ads without an account by checking Enable post without user account in Settings / General Settings section, then you will see appearing as a group Not logged in guests. This group refers to posting ads without an account, and if you check this special group, then the coupon will be able to use by a not logged in ad owner.

Allow usage - you can limit the number of times a coupon is used by a certain user if you want that. If you want to allow using it as many time as a user wants, then leave 0 in this box.

1.2.3.2. Browsing existing coupons

The existing coupon codes will be listed in a table. The operations you can perform on the existing coupon codes are Delete and Edit.

1.2.3.3. Using coupons

When a user uses a discount coupon, the discount value will be substracted from the total value to pay. If the discount is an 100% discount, or the discount value is a fixed value greater than the total amount to pay, then the user will not be charged. The discount will be mentioned in email and info texts after the operation is completed. Also, for a payment operation where a coupon is used, the coupon code will appear in Orders / Order History section of Administrator Panel, and in Order History section of user account.

1.3. Users

1.3.1. Users List

There are 4 types of user accounts you can login with in our script:

  • Administrator account - There is only one administrator account, which has access to administrator panel and can perform all operations.

  • User accounts - These are the normal user accounts which can post ads. They will access only the site frontent, which includes special pages when they are logged in, in order to allow them to manage their own listings, account information and password, messages, saved searches, email alerts and order history.

  • Moderator accounts - These are user accounts with privileges which are meant to help the administrator managing the site without allowing them full access to the administrator panel. They also can post ads as normal users do, and have partial access to the administrator interface. When you create a moderator account you can choose to which sections of the administrator interface you want to allow access to. Note that the settings section of the administrator panel are not among the possible choices, these configurations should be done only by the site administrator.

  • Affiliate accounts - Affiliate accounts are not normal user accounts. They cannot post ads as normal users, and they also don't have access to the administrator panel. Their account is only used to view information about the revenue they gain from refering your site to other people. More information about affiliate accounts here.

The following section describes User accounts and Moderator accounts.

1.3.1.1. Adding a new user

To add a new user account click the Add button on top of the users table.

If your system has more than one user group, you will be asked to choose one on first step of this operation.

Next you will need to fill in a form similar to user registration form. The required fields will be marked with a red star.

Note:

The fields in this from can be customized for your needs, for each of user groups. To customize registration forms you must edit user fields list in Settings / User Custom Fields.

If you want to allow this user moderator rights check the Moderator checkbox. A new part of the form will open allowing you to choose the operations the moderator should be allowed to perform in the administrator interface to certain sections. For each section in the list you can allow the following operations: View, Add, Modify, Delete

After finishing filling the form hit submit. The user will be created and you will return to Users List page.

Note:

When a user is created by administrator no email is sent, not to new account email and not to administrator.

Note:

You have the option to add a number of credits to the user when you create it by filling the box Credits. If you don't want to add credits, leave the box empty. See here more information about credits.

1.3.1.2. Browsing existing users

You can see here all users that are currently in the system. Like on Manage Listings page, you will have Action Buttons, Selective browsing and ordering form, Pages navigator , Search form and Select number of listings to show on page. We are not going to explain these parts, since they are similar to those used on Manage Listings page. But we will explain the icons that appear for each user row on the table.

Action Icons

  • Info - Opens a popup window with complete account information. Here you can also add a text to the User info field which is only visible for administrator.

  • Send mail - Opens a popup window with a send message form. Fill in the form with a title and content and this message will go to the email set for this account.

  • Edit - Edit user details - a form similar with the registration form will show up and you will be able to change account details. A similar form will appear in the user account interface.

  • Login as This User - Clicking on this icon will log you out as admin and log you in as this user instead. You will be redirected out of administrator interface, to the frontend. Note that you cannot login as users that are not active. For those users this icon will appear grayed.

  • Change Password - Change password for the user.

  • Delete - Delete user account.

  • Block IP - Blocks the IP address from which the user has registered. Someone accessing the site from this IP address will be redirected to an Access Restricted page.

  • Disable - Will disable the account - make it inactive without deleting it. The user will not be able to login with this account.

  • Enable - Appears only for disabled accounts and allows enabling them.

  • Enable Dealer Page / Disable Dealer Page - Adds or deletes Dealer Page option to the account. See below more information in this concept.

  • Enable Bulk Uploads / Disable Bulk Uploads - Adds or deletes Bulk Uploads option to the account. See below more information in this concept.

1.3.1.3. Some new user account related concepts

Dealer Page

Dealer Page is a feature that you can use as a source of income from your site. You can choose to allow users to buy this feature for their accounts when you choose for a user group settings Allow to buy for Dealer Page. It can also be enabled by default for a group and not require payment when you choose Enable by default in group settings (you can change the group settings when adding or editing user groups from Users / User Groups section, please see User Groups section).

Dealer Page is similar with More Listings of this user feature, a page where user profile and all user ads are listed. The difference is that users can add a banner that will replace the top banner on that particular page. Configuring the top banner for the accounts that have Dealer Page enabled is made from MyAccount / Modify Account Info section when logged in as that user, Dealer Page Banner field. It can also be configured by administrator when editing the user profile.

As the rest of paid features, for Dealer Page feature can be set a price and a time to expire. This is done from Settings / Extra Visibility options / User Account Options Dealer Page Price and Dealer Page Availability. If you don't want this feature to expire you must set 0 for Dealer Page Availability.

Since this feature is very similar to More Listings of this user feature, the latest feature can be disabled for regular users when using Dealer Page for a certain type of account. This is done from Settings / Listing Settings section, uncheck the checkbox Show More ads for this user link .

If you have both Dealer Page feature and More Listings of this user enabled, then for listings that belong to users with Dealer Page enabled, only the Dealer Page link will show.

Bulk Uploads - This feature allows your users to upload more than one listing at a time. Use this if you have users that upload many ads at a regular bases, perhaps on more sites than one, and they need a way to add those listings in a single operation. Adding Bulk Ads is made by uploading a csv or xml file which contains all data needed for the listings.

1.3.2. User Groups

This section allows you to define more than one user group. When the script is installed you will have only one group added to this section. You must have at least one user group in the system.

1.3.2.1. Adding a new user group or editing an existing one

To add a new user group you will need to click on the Add button on top of user groups table. You will have to fill in the following form:

Name - name of the group

Description - description for user group. The name and description of the group will appear only if there is more than one group added. Then there will be a pre-register page where the guest can choose what type of account he/she wants. The title and description of each group will appear on this page. You should point out here why somebody should use a certain group for an account, the benefits of choosing one group and so on.

Auto Register - the groups that have this checkbox enabled will accept registration from site frontend. To groups that are not Auto Register, only administrator can add users from the administrator interface. If there is no Auto Register account, no registration link will appear in site frontend.

Activate Account Via Email - if you enable this option, when users choose to create an account for this group they will be sent an email after registration, to the email address they registered with. In that email there is an activation link. They must click on the link to activate the account. If they don't activate their account, the account will be inactive (the user will not be able to login with it). This option allows you to verify that the emails users register with are valid and owned by these users.

Activate Account via SMS - if you enable this option, when users choose to create an account for this group they will be sent after registration an SMS containing a code, to the phone number they registered with. They will need to use that code in order to activate the account.

Note:

To enable this option you will need some special settings: a SMS gateway enabled and a Phone type field mandatory for this user group and with Validation and International format option enabled.

Admin Verification - if you enable this option, users that create an account in this group will remain inactive until you manually activate them from administrator interface. You will receive an email when such user registers if you have enabled Send notification to admin - When user registers in Settings / Listing Settings section.

Dealer Page - choose the level on which Dealer Page will be accessible to this user. You can choose one of the following:

  • Do not allow - these users will not have the possibility to add a Dealer Page to their accounts.

  • Allow to buy - these users will have a link that will allow them to buy a Dealer Page

  • Enable by default - these users will have Dealers Page enabled by default in their accounts.

Allow Bulk Ads - users will have in their accounts menu a page from which they can upload bulk ads.

Listing Pending - if you enable this option, all listings posted by this group users will be made pending (awaiting administrator approval)

Plan Pending - if you enable this option, all plans bought by this group users will be made pending (awaiting administrator approval)

Default credits - if Credits payment type is configured, set here the number of credits to be assigned to any newly registered user belonging to this user group.

1.3.3. Affiliates

As it was explained earlier, affiliates are a special type of users. For this reason they are not listed along with the other user accounts, but in a separate section, here.

Affiliates are users which register with your account, and when they register they receive an affiliate id ( looking for example like this: 19125477 ) and an affiliate link (ex: http://yoursite.com/aff-19125477), which is a link towards your site with an additional part in the url to identify the affiliate id. Affiliates will promote your site using their affiliate link, and receive a share of the revenue your site makes from the visitors which landed on the site using the affiliate link.

We will explain how this works: when a visitor reaches your site using an affiliate link, a cookie will be created remembering the affiliate account on that computer / browser. If that same guest will purchase something on your site, the affiliate will receive a percent of your income. You can configure that percent in Settings / Affiliate accounts Affiliate percentage. The time until the cookie is deleted can be configured using Affiliates cookie availability.

The payment towards the affiliates is sent to the PayPal account assigned to the affiliate account after a period of time which you configure in the same mentioned section as Affiliate payment cycle.

Part of the Affiliates section is similar to the Users list section. Aside from the main view, which contains an user table, there are two more views, which can be accessed by clicking on the tabs on the top of the page: Revenues and Payments. We will explain below each of them as well as the process of adding an affiliate as administrator.

1.3.3.1. Revenues

This section lists every paid operation which is assigned to an affiliate. For each operation you can view the affiliate id and username, the amount which should be paid to the affiliate for that operation (which is calculated using the procentage you configure, as explained above), some details about the order and also, for each of them it is mentioned if the revenue was released, and if it was already paid.

Note:

When the Affiliate payment cycle passes, all revenues belonging to one affiliate for that time period are summed up into a Payment for that particular affiliate. The revenues which were summed up are marked as released. The Payment will appear in the Payments view of the Affiliates section.

When the administrator acts on this new payment and pays it, or marks it as paid, then all revenues which were added to that payment will also be marked as paid.

1.3.3.2. Payments

Payments are released revenues for each affiliate every payment cycle. For each payment you will see: the affiliate id and username, the amount, date when payment was issued, the affiliate PayPal account it was paid or it should be paid to and some status and action buttons:

  • Not paid - it is a status button which appears when the payment was not paid to the beneficiary. You can pay it by clicking on the Not paid button.

  • Paid - it is a status button which appears when the payment was paid.

  • Mark paid - it is an action button which allows you to mark the payment as paid. If you use other manual payment methods with your affiliates and need to be able to set payments as paid you can use this button.

  • Mark not paid - it is an action button which allows you to mark the payment as not paid.

Important:

Note that you need to manually make the payment for each of the entries listed in Payments section. There is no way to pay them all at once, or multiple at once. So you will need to click on all Not paid buttons, and you will be taken to the payment form to pay the amount of money using PayPal. At the moment PayPal is the only payment implemented to be used in order to pay affiliates.

1.3.3.3. Create an affiliate account

This process is similar to creating an user account with some differences. There is an extra field named Affiliate PayPal account which holds the PayPal email to which the affiliate will be paid. This is a mandatory field. Also, you cannot allow moderator privileges to this type of account. And also, note that affiliates cannot post ads.

1.3.3.4. How to configure affiliates

There are a few simple steps you need to follow in order to configure affiliate accounts on your site:

  1. Enable affiliate accounts from Settings section and configure the rest of the settings referring to affiliates.

  2. Make sure the Affiliates custom page from Tools / Custom Pages section is active, and modify its content to contain all information your potential affiliates need to know: terms and conditions, percentage for the revenue they bring to your site which will be assigned to their accounts, and so on. This custom page is configured to be linked to the secondary navigation bar at the bottom of the page by default, but you can modify its settings.

  3. Customize the registration for for affiliates. The fields contained by the affiliate registration form can be customized just like the fields for normal user accounts from Settings / User custom fields section. To add a custom field for affiliate accounts select at the bottom of the form Use Field For: Affiliates group.

1.3.4. User Subscriptions

If you have subscription type listing plans in the system and there are users that have subscriptions, you will see them in this section.

You can perform the following actions on the listed subscriptions:

  • Delete - Delete the subscription

  • Disable / Enable - Disable the subscription if active or enable if not active.

If a subscription is pending, then a Pending button will appear in the table. This means that the subscription is not yet active and can be activated by clicking on this button.

A subscription can be pending from two reasons:

  • Plan Pending is enabled for the group the user belongs to.

  • The payment is set to be pending (in this case you must check if the payment was completed).

You have the possibility to add a new subscription to an user by clicking on Add button on top of subscriptions table. To add a new subscription you just need to choose the username and the subscription plan.

Users have the possibility of owning more than one subscription, which they can manage from their accountSubscription section. This way, if you define different subscriptions for different listing categories they can have a subscription of each type.

1.3.5. Send Bulk Emails

Use this section to send emails to all or a group of users at once. You have the following options to choose the users to send the email to:

Group - choose a certain user group

Send to - choose between: Active users, Users with active ads, Users with active for sale ads and Users with active for rent ads. The last two options will choose only those users that have ads that are active and not marked sold or rented.

To send a message fill in the Subject and Message fields and click Send button.

1.3.6. Saved Searches

If you have Enable save searches option enabled in Settings / Listing Settings section, you will find in this section all searches saved by all users.

You can perform the following actions on the listed searches:

  • Delete - Delete the search

1.3.7. Email Alerts

If you have Enable Email alerts option enabled in Settings / Listing Settings section, you will find in this section all email alerts created by your visitors.

You can perform the following actions on the listed alerts:

  • Delete - Delete the alert.

  • Enable - Enable the alert, if not active.

  • Disable - Disable the alert, if active.

1.3.8. Messages

If you have Enable internal messaging option enabled in Settings section, all messages set and received from your site forms by your users or guests will be registered in the database. All these messages will be found in this section. A similar section will be found in each user account.

You can view more information on each message displayed:

  • View complete message - In the table you can see only a part of the message, you can see the complete message by clicking on this button.

  • Send message - For pending messages, use this button to send the message to the rightful recipient. Messages will wait for administrator approval when you enable the option Messages wait admin approval in Settings section. In this case you will need to use the Send message button after checking the message, or select a number of messages and use the button Send all selected messages which you will find on top of the messages table.

  • View Thread - For messages that are linked one with another, following a discussion, the full thread / discussion will be shown here.

  • Reported as spam - If a user considers a certain message as spam, he/she can flag it as spam. A red button will appear to the left of the message, and you can act accordingly if you think it is correctly flagged and block the ip using the Block IP action icon.

You can perform the following actions on the listed messages:

  • Delete - Delete the message.

  • Block IP - Block the ip.

  • Unblock IP - Unblock the ip if already blocked.

1.4. Orders

1.4.1. Order History

You will see on this section each operation that has been made on your site, each with the following details: the id (this is used as invoice number), processor, amount, username, status, some details and the date when has been registered.

This section will hold paid operations as well as free operations. Free operations will appear with the amount 0.

The Details column will hold informations on what actions are attached to this order. One order can be for multiple actions. For example, when a user places an ad and chooses Featured and Highlighted extra options for his ad, the details will appear like this:

Listing id: #34 [View]

Feature Ad: #34 [View]

Highlighted Ad: #34 [View]

You can click on the [View] link go to ad details page.

The possible actions that can appear in details string are:

  • Listing Id - a new listing was added

  • Featured Ad - Featured extra option was chosen for the listing

  • Highlighted Ad - Highlighted extra option was chosen for the listing

  • Video Classifieds - Video Classifieds extra option was chosen for the listing

  • Priority_Name Priority - Priority extra option was chosen for the listing

  • Subscription No - a new subscription was bought

  • Dealer Page - a dealer page extra option was bought for an account

An order can have the status completed or not completed. A completed order means that the payment was finalized successfully. An order appears incompleted when the user starts an operation on your site that requires payment, and at a certain point, before clicking on payment link or after somewhere on the payment site, it stops the process. This way, the payment is not completed, but it still appears on your site as an attempt. If this order is for submitting a listing, the user has the possibility to finish the payment from the listings page, this way it won't have to fill the forms again, the listing is kept as inactive. For other orders types, there is the possibility to finish the payment for a not completed order from user account orders page.

Manual payments will always appear as not completed, you will need to accept them manually. But online payments like Paypal payments will send after the payment is made a notification to your site that the payment has completed successfully or that the payment failed. The script verifies the validity of the notification and performs the needed operations: activates the ad, subscription or extra option, or makes it pending, sends email to administrator and user if needed.

If the payment was not completed or if the type of payment is marked as pending, then the order will show as not active. By activating an order you can accept the actions that were performed with this order. To activate an order you must click on Accept icon. Depending on the number of actions for that order, there are 2 possibilities:

1. There is only one action attached to this order - when you click on the Accept button, the action is accepted. For example, if the action is a new listing submitted, then the listing will be activated, an email will be sent to the user to announce that the listing was activated. In the same time, the payment for this order is marked as Completed.

2. There are multiple actions attached to this order - when you click on the Accept button a modal window will appear. From this window you can choose which of the actions you wish to accept. The actions that were already accepted are grayed. Additional to the actions there is a possibility to mark the payment as completed.

The actions that appear on the order page can be enabled from other pages, depending on the type of the action:

- Ad related actions like new ad and extra ad options can be also accepted from Listings / Manage Listings section. They will appear in this section as Pending using the Pending button. Listings can also be enabled using the Enable icon in this section. All these are possible ways of enabling this type of actions.

- Subscriptions - can be also enabled from Users / User Subscriptions section using the Pending button or Enable icon.

1.4.2. Invoices

This section will list all invoices generated, if Enable invoices is enabled in Settings / Payment Settings / Invoice Settings.

1.5. Security

1.5.1. Security Settings

In this section you can make some settings regarding security.

1.5.1.1. Limit login attempts

Protect your site against brute force attacks by temporarily block failed login attempts. If during an hour the number of login failed attempts made from an IP address exceeds the number of allowed attempts, then that IP address gets blocked for a period of time. You can make separate settings for administrator account and for user accounts.

Block admin login attempts - choose the number of allowed failed administrator account login attemtps and the number of hours to keep blocked an IP which has exceeded this number of login attempts in an hour.

Block user login attempts - choose the number of allowed failed user account login attemtps and the number of hours to keep blocked an IP which has exceeded this number of login attempts in an hour.

Note:

This feature needs an additional configuration in your server control panel. You need to add a cron job at an interval of 1 hour with the command specified in the note in orange background.

1.5.2. Login History

This section shows the data registered when there has been a login attempt and has 2 views:

First and the one it shows when you enter this section is Users Last Login. You will see here every user in the system, and next to the user last login date and IP address he/she logged in from.

Note:

This is in fact last successfull login. Failed login attempts will not show here.

When you click on a username you enter the second view, where you see for that particular user the history of logins and login attempts. A successful login will be marked with a Succeeded string in the Status column and a failed one with a Failed string.

If any of the failed login attempts resulted in a blocked IP, then it will be marked as Blocked. Note that the IPs remain blocked only temporary as configured in the previous section Security Settings.

1.5.3. IP Blacklist / Whitelist

We will start by defining some notions used in this section.

IP Address - is an unique identification that is assigned to every computer on the Internet. An IP address is formed by 4 numbers between 0 and 255 separated by a dot (.) Ex: 75.23.2.250.

When a guest accesses your site, you can determine the IP address of the computer from which is connected. If you consider that this guest performs malicious operations on your site like spamming ( adding many listings with improper content or sending spam mails to your users ), then you can block that IP address. If you know the IP address from which he is connected, then you can add it from Blocked IPs section. If you don't know it and the guest has an account, then the same operation can be performed from Users / Users List section by clicking on Block User icon for that user.

Blocked users will be automatically redirected to an Access restricted page.

Note:

This is not a full security measure, it is possible to bypass this protection by using web proxy servers to connect to your server. This way, the IP of the malicious user will be seen as a different one and he will not be blocked anymore.

An IP Whitelist is a list of IPs which are considered safe and you want to prevent them being blocked. For example to prevent you blocking yourself by mistake you should add your own IP address to the pool of IP Whitelist. The IP Whitelist will always be checked first and those IPs will never be blocked.

Important:

Always add your own IP address to the IP whitelist.

1.5.3.1. Blocked IPs

Block an IP Address - click on the Add button. Enter an IP address or multiple addresses separated by the | sign or each on a separate row, you can enter a comment for this action and hit Add button. IPs added this way are permanently blocked, unless you remove them from the list.

The table with the blocked IPs contain the following information:

IP - the IP address

Comment - the comment if there is any

Type - specifies if this IP is permanently blocked or just temporary

Blocked for (hours) - if the IP is temporarily blocked it specifies for how many hours it was blocked

Block expires - if the IP is temporarily blocked it specifies when the block gets reset and the IP is deleted from the list

You can perform the following actions on the list of IPs:

Delete - delete the IP address from the blocked IPs list

Add to whitelist - delete the IP address from the blocked IPs list and add it to the Whitelist IPs list

1.5.3.2. IP Whitelist

Add an IP Address to the whitelist - click on the Add button. Enter an IP address or multiple addresses separated by the | sign or each on a separate row, you can enter a comment for this action and hit Add button.

The table with the Whitelist IPs contain the following information:

IP - the IP address

Comment - the comment if there is any

You can perform the following actions on the list of IPs:

Delete - delete the IP address from the Whitelist IPs list

1.5.4. Email Blacklist / Whitelist

Similarly with the previous section, you can also add emails in a Blacklist or a Whitelist.

Blacklisted email addresses will be restricted to perform the following actions:

  • Using the email to register for a user account

  • Using the email to post a listing as a not logged in user.

  • Using the email to add a comment.

  • Using the email to add a review.

Note:

This should be used together with the previous security measure Block IPs to minimize the spam problem on your site. You can block emails that have been used for spam on your site.

1.5.4.1 Blocked Emails

Block an Email address - click on the Add button. Enter an Email address or multiple addresses separated by the | sign or each on a separate row, you can enter a comment for this action and hit Add button.

The table with the blocked emails contain the following information:

Email - the Email address

Comment - the comment if there is any

You can perform the following actions on the list of emails:

Delete - delete the Email address from the blocked Emails list

Add to whitelist - delete the Email address from the blocked emails list and add it to the Whitelist Emails list

Note:

Some spammers use addresses belonging to the same domain name, for example: email123@domain.com, email463@domain.com. In this case, you will need to block all domain name. To do this, enter the a string like the following: *@domain.com, where domain.com is the domain you want to block.

1.5.4.2 Email Whitelist

Add an Email address to the whitelist - click on the Add button. Enter an email address or multiple addresses separated by the | sign or each on a separate row, you can enter a comment for this action and hit Add button.

The table with the Whitelist emails contain the following information:

Email - the Email address

Comment - the comment if there is any

You can perform the following actions on the list of emails:

Delete - delete the Email address from the Whitelist Emails list

1.5.5. Phone Blacklist / Whitelist

Similarly with the previous section, you can also add phone numbers in a Blacklist or a Whitelist.

Blacklisted phone numbers will be restricted to perform the following actions:

  • Using the phone number to register for a user account

  • Using the phone number to post a listing as a not logged in user.

Note:

When this security measure is used together with SMS verification to minimize the spam problem on your site. You can block phone numbers which have been used for spam on your site.

1.5.5.1 Blocked Phones

Block a Phone number - click on the Add button. Enter a Phone number or multiple numbers separated by the | sign or each on a separate row, you can enter a comment for this action and hit Add button.

The table with the blocked phones contain the following information:

Phone - the blocked phone number

Comment - the comment if there is any

You can perform the following actions on the list of phones:

Delete - delete the Phone number from the blocked Phones list

Add to whitelist - delete the Phone number from the blocked emails list and add it to the Whitelist Phone numbers list

1.5.5.2 Phone Whitelist

Add a Phone number to the whitelist - click on the Add button. Enter an phone number or multiple numbers separated by the | sign or each on a separate row, you can enter a comment for this action and hit Add button.

The table with the Whitelist phone numbers contain the following information:

Phone - the Phone numbers

Comment - the comment if there is any

You can perform the following actions on the list of phone numbers:

Delete - delete the Phone number from the Whitelist Emails list

1.5.5. Forbidden Words

You can set a list of forbidden words in this section. If you enabled badwords usage from Settings / Listing Settings - Check for forbidden words, then every ad description will be checked for this words list.

You can add multiple elements to the list in Add Forbidden Words box separated by comma or each on a separate row.

The existing forbidden words will appear in Forbidden Words List box.

To delete multiple items from a list use CTRL and SHIFT keys on PC and OPTIONS key on MAC.

1.5.6. Change Password

You can change administrator password in this section.

1.6. Tools

1.6.1. Custom Pages

With Custom Pages you can add new links and content to your site.

1.6.1.1. Custom pages types

There are two types of custom pages: Custom Content or External Link

Custom Content - you can add a content to that custom page and edit it with a HTML editor.

External Link - you can only add a link towards an external page. Usually you use this if you want to add a link to your navigation bar towards an external page. Use this in conjunction with Navigator Bar Link, otherwise there is no point adding it.

You can choose to place a link to your custom page in your site navigation bar. You can choose between the main navigation bar, and a secondary navigation that is usually placed in the footer of the page. Set this using Navigation Bar Link field. If you will choose Not Linked here, the link for this page will not appear on any navigation bar.

Some custom pages are already defined when you install the script and they are read only, you cannot delete them, you can only enable or disable them. There are 3 such pages:

  • First Page Content. This custom page type exists by default, you cannot add another and you cannot delete it, and it is actually a content that will appear on the first page, on top of categories list, or, depending on the template, on other place designed for this purpose.

  • Affiliates. This is a custom page used to give information about affiliates accounts. If affiliate accounts are disabled this page will also be disabled because it is not needed. Otherwise, edit its content and add here your terms and information for the affiliate accounts.

  • Bulk uploads help. This should give information to your users about how to use bulk uploads feature. It is always best to include an example with your explanations.

1.6.1.2. Adding a new custom page

To add a new custom page, click the Add button on top of Custom Pages table. You will need to fill in the following form:

Title - the title of the browser page. This title will also be used as link title on the navigation bar if you choose Main Navigation Bar Link or Secondary Navigation Bar Link.

Type - choose the type: Custom Content or External Link

External Link - this field will only appear if you choose External Link type. Enter here the external link you need to add.

Navigation Bar Link - choose if you want this page or link to appear in one of the two navigation bars possible: Main Navigation Bar or Secondary Navigation Bar, in the page footer. Choose Not Linked if you don't want the link to appear.

Submenu for - this field appears only if you choose Main Navigation Bar for Navigation Bar Link field. Choose a parent for this link and it will appear as a drop down option for the parent link. You can have more levels of links: navigation bar children links can have other child links of thir own.

Open in new window - if the previous checkbox is enabled, use this one to make the link from the navigation bar open in another window.

Meta Keywords - will only appear for Custom Content type. Enter here meta keywords that will appear on this custom page.

Meta Description - will only appear for Custom Content type. Enter here meta description that will appear on this custom page.

Visible by - This defaults to All value, but if you want a custom page to be visible only by a user group or by not logged in guests, here you can configure it.

After you submit the form, if you added a Custom Content page, you will be redirected to a HTML editor. Use this editor to edit the contet of your new page. You can later come back to edit your page by clicking on Edit Content icon from Custom Pages table.

1.6.1.3. Managing custom pages

You can perform certain operations on your existing custom pages on Tools / Custom Pages section:

Changing custom pages order - can be done using Order buttons. Order is important only for the custom pages that are added to a navigation bar. They will appear after the default links of navigation bar, in the order you set here.

Searching for a string - you can search for a string that exists in one of your custom pages content using the Search box on top right of the table.

Action icons:

  • View Content - view custom page content

  • Edit Content - edit custom page content. This icon will only appear for Custom Content pages.

  • Enable / Disable - enable or disable the custom page.

  • Edit - edit the custom page

  • Delete - delete the custom page

1.6.1.4. Custom pages usage

You can use custom pages for the following situations:

  • custom information pages for your site added in your main navigation bar, like Contact pages, FAQ pages and so on. For this type you will choose Main Navigation Bar Link for Navigation Bar Link option. You can have sublevels of links for this type that will show as a drop down menu.

  • custom information pages for your site added in your secondary navigation bar, like Privacy Policy pages, Terms of Use pages and so on. For this type you will choose Secondary Navigation Bar Link for Navigation Bar Link option.

  • internal pages that appear in the content of other pages like Submit Listings Howto pages. You choose Not Linked in Navigation Bar Link for this type. You will have to take the link that appears in Link column in custom pages table and use it where you want that page link to appear.

  • links on your navigation bar towards an external page - choose External Links type and select Navigation Bar Link option.

1.6.2. Database

This section allows you to easily backup or restore the database used for the current script installation.

On a script installation, all the configurations that you make to the script, excepting uploaded files and images, are kept in a mysql database. To have a complete backup of your site at a given moment you have to have the files of the script and the database backup. You can usually make backup to your database using the tools from the hosting control panel, but we've added a similar tool to the script to make it easier, and also with our script you can automate the process.

Existing backup files. You can see in the table at the top of the page the existing backups in the backup folder. The backup files are saved in the folder db_backup and can be downloaded to your computer by clicking on the Download link or directly with FTP.

Backup - when you hit the button Backup, a new backup for the database will be saved on the server and will appear in the upper table. You can choose to save the backup in the compressed (gzip) or uncompressed version.

Import - If you want to reverse to a previous version that you have saved before, you can use the Import feature (this will restore the database from the file you upload). Same result can be accomplished by clicking on the Restore icon for an existing backup from the table.

Scheduled backups - If you want the database backup to be made automatically, you can enable Scheduled Backups. Choose one of the options Daily, Weekly or Monthly. If you configure a number in Keep Only box, only that number of backups will be kept, the older ones will be deleted. This is to save space on your server.

1.6.3. Google Sitemap

Sitemaps are XML files that have a certain format, and serve the purpose of giving search engines informations about the URLs on your site that are available for crawling. For each URL you can attach informations like when it was updated, how often the page on the link changes, the importance related to the other pages. These URL maps should help search engines index your site better. Please keep in mind that this does not guarantee that the links will be indexed by the search engine.

To create a sitemap for your site you need to check the Enable checkbox, then make the changes to the settings as you think it is more fit for your site: which links you want present: categories links, listings (details pages links) and custom pages links. You can set for each the importance (priority) and the changes frequency. These informations will be submitted to the search engine in XML format. For the ads you can set a maximum number of ads links to be listed, because when your site will grow and have lots of ads, the dimensions of the sitemap file will grow considerably. You can also set a frequency for auto generating the sitemap file - daily, weekly or monthly.

If the default configuration is not enough and you still need to add some extra links to your sitemap, then you must use the extra option Extra Entries. This allows you to add new entries to the sitemap, but you must add it in the recognized XML format for sitemaps. A new entry will look like this:

		
			http://www.yoursite.com/extrapage.php
			1.00
			daily
		
		
  • loc - the url of the page you add

  • priority - The priority of the page, it must be a value between 0 and 1, higher number means greater priority.

  • changefreq - The frequency this page will be changed with, if changed more frequently then search engines will visit it more often. The possible values are: always, hourly, daily, weekly, monthly, yearly, never.

Once you created a sitemap for your site you should submit it to the search engine ( not only Google accepts the sitemaps of this sort, also Yahoo, Ask.com and Live, but we will only explain the procedure for Google).

To submit the sitemap to Google you must follow the steps:

  1. Sign it to Google Webmaster Tools (https://www.google.com/webmasters/tools) with your Google account (create one if you don't have it already)

  2. Add your site to the Webmaster Tools account

  3. Under Sitemaps section for that site enter the path for the sitemap and hit Submit Sitemap button. You can get the URL for your sitemap from the script, next to Your Google Sitemap Link tag.

1.6.4. RSS

RSS (short term for Really Simple Syndication) is a web format used to publish web content that is updating often, in our case, the latest listings added to your site. RSS feeds can be read with software called RSS reader or feed reader or agregator, which can be desktop based, web based or mobile based. People will be able to subscribe to theese feeds by clicking on the top RSS icon and add it to their favorite RSS reader. When there are new listings on the site, they will be updated.

To configure your site to generate RSS feeds you will need to add new RSS links. Click the Add button and you will be taken to a form. You will be able to configure:

Type - you can add RSS feeds for listings or for users. While normally you would add feeds for listings, there might be cases when you will want a list of dealers for example in a RSS feed.

Short Title - The title that will appear on your site, next to the RSS icon

Title - the title of the feed as will appear to subscribers

Description - the description of the feed as will appear to subscribers

FeedBurner Link - Feedburner is a web tool for RSS feeds owners. If you have created an account and added your feed there, configure here the Feedburner link.

Link - the link to your site

Language - 2 letters language code for your language

Parameters for listings - when you add a feed for listings, you can choose only some listings to appear to a feed, for example only the ones from Auto category, or ony the ones belonging to a certain plan. This way you can add multiple feeds to your site and make them different.

Parameters for users - when adding an users feed you can choose only some of the user groups to appear to the feed, or the users which have enabled Dealer page. You can also choose the sort order for the users feed. By default the users will be sorted by registration date.

Logo_field - If you have configured a logo field for your users and want the logo to display next to the user information you can configure here. Note that the image will not be resized, but displayed in its original size!

Number of Items - The number of last listings or users shown on the feed. Remember that you don't have to add them all, only the latest ads, otherwise the file will become too big to read.

You can add multiple RSS feeds that you will make them differ with the Parameters field. All RSS links will appear in the top of frontend interface, with the title you chosen for it (Short title).

1.6.5. Import/Export

This section allows exporting and importing data from your site (listings and users data only) in CSV and XML formats.

Some possible applications for this are:

  • exporting your listings in a specific format and upload it to other classifieds site.

  • import listing in these 2 formats from other sites to your site

  • if you administer multiple classifieds sites that allow this feature, you don't want to add the listings on each site, you can instead import the listings on each site

  • import ads from other sites priodically automatically, by configuring Scheduled imports

  • allow your users to upload bulk ads - useful when you have as users dealers that have to upload their ads to multiple sites (similar to previous point)

  • if you want to save the data on your computer for your reference and you want to be able to view it in a spreadsheet viewer. Both these formats can be read by spreadsheet programs.

A short description of each format:

CSV (Comma Separated Values) - is a simple format where the values are separated by a specified sign. This can be comma, as the name suggests, but not necessarily, you can use other character like ;. Sometimes, when your values can contain comma, it is better to use a character to surround your fields values, usually the double quotes are used. You can configure this in Import/Export / Settings / CSV Settings section.

An example of a listing exported as CSV (considering only the following fields: id,category_id,date_added,title,description,price,currency ):

"1","4","2011-05-24","This is the title of the ad","This is the description of the ad","10000","$"

XML (eXtensible Markup Language) - is a specification for formatting and storing data. XML allows the user to define its own markup elements (tags) that will store the data ( an example of XML format is HTML). Each data element will be contained between a start tag and an end tag:

<title>Title of the ad</title>

Each element (listing or user) will be contained also between start and end tags:

<listing></listing> for listings

<user></users> for users

An example of a exported listing in XML format, including the start tags of the document:

<?xml version='1.0' encoding='UTF-8' ?>
		  <listings>
		    <listing>
		      <id>1</id>
		      <category_id>4</category_id>
		      <date_added>2011-05-24</date_added>
		      <title>This is the title of the ad</title>
		      <description>This is the description of thet ad</description>
		      <price>10000</price>
		      <currency>$</currency>
		    </listing>
		</listings>
		

Defining templates. Templates are useful in the following cases:

  • you want to export data but you don't need all the fields - then you will create a template with only the database fields that you need

  • you want to import data but you don't have / don't want to upload all fields.

When you import data, when using CSV format, you need to have a template defined. The reason is that CSV format is not self explanatory like XML format (does not have tags that explain for each element to which fields it belongs to), it is just a series of data separated by a character and the script needs to know the exact order how to assemble them back. So, the order in a CSV import file is very important and must exactly match the template. For the xml template, the order is not important

You can view the format for CSV and XML for a template by clicking on the View Templates icon. Use this templates as a model how you should create your import files.

There is a similar feature available to users, to allow them to import data, if you allow Bulk uploads for the group they sign up for. Using this feature they will be able to add bulk ads to your site in one of the 2 formats. You can configure which format your site accepts for Bulk Uploads (CSV or XML) in Import/Export / Settings / Ads Bulk Uploads section. You can also configure there the template for the importing ads files, and to which plan will the ads be automatically assigned.

1.6.5.1. Scheduled imports

This section allows you to configure imports which don't need to be manually uploaded, but are downloaded from a location periodically and imported without administrator or user intervention. The import files can be downloaded from a given URL or from a FTP account (see below details).

Note:

Important: each task you add in this section needs to be triggered using a cron task configured in your hosting control panel. In the section regarding cron tasks of your hosting control panel configure one task for each scheduled import, as many times a day as you want, using the command given under "Cron configuration command" column.

The following settings are possible for each scheduled import:

Name - the name of the import. This name is only for internal use.

Type - the format of the import file, either XML or CSV

Template - You can choose one template to be used for the imported files. While for xml templates this is not necessary, you should define and choose a template for CSV imports.

Import from - choose between File URL or FTP. Depending on what you choose you can configure different fields below.

File URL - if you selected URL as "Import from", then you will need to enter here the url of the import file. The url should be valid, including http:// in front.

FTP server - if you selected FTP as "Import from" then you will configure the FTP information necessary to download the import file. Enter here the server name or ip address of the ftp server. Do not add ftp:// in front. Ex: 120.9.3.10 or ftp.domain.com or domain.com.

FTP login - the login username for the FTP server

FTP password - the password for the previous login

FTP filename - the filename to import. Include the path if the filename is not located in the root of the FTP login. For example, if the name of the file is "ads.xml" and it is located in /imports folder, then use "imports/ads.xml" value.

Username - imported ads will be assigned to this user.

Default category - if the import file does not specify the category for an ad, this will be used instead as category. Note that if you set a default value for category here, and in the import file another category is set, then the category considered will be the category from the import file.

Default plan - set a default listing plan for the imported ads. If no listing plan is set here, then you should use the "package_id" field in the import file instead.

Note:

Note that the default plan configured here will be considered first, even if another listing plan is given in the import file! Only if no plan is configured here, then the listing plan given in the import file will be used.

Use ID as unique field - The "id" field will be used not as the value for the id field in the database, but as a unique id of ads that are imported. When ads are imported, if an ad with the same unique id already exists in the system, the ad will be modified instead of adding a new one. The values of the unique field in this case can be alphanumeric (ex: z^sT18J0 ).

Important:

Important: when you configure this option make sure you use the "id" field in the import file.

Delete inexisting ads - When Use ID as unique field option is selected, when an import is made, ads which are not contained in the current import (based on the unique id field) will be deleted.

Only download inexisting ads - When Use ID as unique field option is selected, when an import is made, only ads which were not previously imported (based on the unique id value) are imported.

Active - If the current scheduled import is active or not.

1.6.5.2. Configuring Bulk Uploads

To configure CSV or XML bulk uploads you need to configure the following in Tools / Import/Export:

  1. Add one template in Templates subsection. Choose the fields that you want your users to enter information for, ex: title, description, price, currency, city and so on. Do not choose id, user_id, package_id, usr_pkg, date_added, date_expires, as these will be filled in automatically by the script with the proper information. Title and description are mandatory so you should choose them. The category (category_id field) can be chosen by the user at the moment when he/she uploads the CSV or XML file. If you will like to offer the possibility to upload ads to different categories in the same file, then you will need to include category_id field in the template. In this case you should provide to your users a list of categories and the corresponding category id to use in the bulk upload file.

    Note:

    To import listing images you need to include the pictures field in the import/export template. An image must be represented with an Internet accessible url that points toward an image (Ex: http://www.oxyclassifieds.com/bu_samples/images/bv_image1.jpg ). Multiple images can be imported for the same listing, and in this case they must be separated by comma.

    When you add the Import/Export template choose as Type: Listings and as Purpose: Import.

  2. In Settings subsection configure Ads Bulk Uploads part: choose as type CSV or XML, which file type you prefer, choose the template that you just added in Templates drop down, choose the default plan to use with the bulk uploaded files and save changes.

    In you will use CSV file type, then lower in the page you can configure column separator and field separator.

  3. Having these configurations made, you can go to Templates subsection and click on the View Templates button for the template you added. Copy the proper format from that info file (if you will be using CSV, copy the CSV template, otherwise XML format).

    We will explain below, how each format needs to be used to built the bulk upload file.

CSV format:

"title" ,"description" ,"price" ,"currency" ,"country" ,"region" ,"city" ,"zip", "pictures"

This is the format for one listing in the CSV import file. For multiple listings you have to add multiple lines like this, one for every ad. If one of these fields separated by comma does not have a value, or does not apply for this type of listing (ex: fields that are only for some categories), empty quotes will be placed. It is important that each line has same number of elements, even if some are empty quotes. Here is an example for a CSV import file for the upper defined template design:

"First ad title" ,"Description 1" ,"12" ,"$" ,"UK" ,"London" ,"London" ,"12345", "http://example.com/1.jpg,http://example.com/2.jpg" 
"Second ad title" ,"Description for second ad" ,"100" ,"$" ,"USA" ,"CA" ,"LA" ,"98278","" 
"Third ad title" ,"Description for 3rd ad" ,"" ,"" ,"USA" ,"NY" ,"New York" ,"", ""

This should be the content of a text file saved with the extension .csv, and this file can be uploaded by every user having Bulk Uploads enabled from the Bulk Uploads section of each user account.

In this example, the comma is the column separator and double quote is the field separator. These can be changed from CSV Settings subsection. If for example, you want to use semicolon as column separator and single quote as field separator the line will look like this:

'title';'description';'price';'currency';'country';'region';'city';'zip';'pictures'

An example of csv file can be downloaded from the following location: http://www.oxyclassifieds.com/bu_samples/csvsample.csv Note that this file might work or might not work correctly to be imported on your system. You must have the same custom fields as in this example and you must have an import template that matches our example.

You need to instruct your clients how to proceed when generating upload files. We have written some samples that will help you in this task. Note that you cannot use these samples exactly as they might not apply exactly in your case. You should use them as examples only.

Sample 1 (for a real estate classifieds): http://www.oxyclassifieds.com/bu_samples/csvimport1/csv_import.html

Sample 2 (for an auto classifieds): http://www.oxyclassifieds.com/bu_samples/csvimport2/csv_import.html

XML format:

<?xml version='1.0' encoding='UTF-8' ?>
		<listings>
		  <listing>
		    <id>1</id>
		    <title>This is the title of the ad</title>
		    <description>This is the description of the ad</description>
		    <price>10000</price>
		    <currency>$</currency>
		    <country>UK</country>
		    <region>$</region>
		    <city>London</city>
		    <zip>12345</zip>
		    <pictures>http://example.com/1.jpg,http://example.com/2.jpg</pictures>
		  </listing>
		</listings>

A bulk upload XML file is build by placing for each listing <listing> block containing all fields defined in the template. One file with multiple listings to upload will look like this:

<?xml version='1.0' ?>
		<listings>
		  <listing>
		    <id>1</id>
		    <title>This is the title of the first ad</title>
		    <description>This is the description of the first ad</description>
		    <price>10000</price>
		    <currency>$</currency>
		    <country>UK</country>
		    <region>London</region>
		    <city>London</city>
		    <zip>12345</zip>
		    <pictures>http://example.com/1.jpg,http://example.com/2.jpg</pictures>
		  </listing>
		  <listing>
		    <id>1</id>
		    <title>This is the title of the second ad</title>
		    <description>This is the description of the second ad</description>
		    <price>10000</price>
		    <currency>$</currency>
		    <country>USA</country>
		    <region>CA</region>
		    <city>LA</city>
		    <zip>98278</zip>
		  </listing>
		  <listing>
		    <id>1</id>
		    <title>This is the title of the third ad</title>
		    <description>This is the description of the third ad</description>
		    <currency>$</currency>
		    <country>USA</country>
		    <region>NY</region>
		    <city>New York</city>
		  </listing>
		</listings>
		

In XML case, fields that don't have any value can be written or they can miss from the <listing> block, the syntax will still be valid even if you don't represent them. See in the example how price and zip files are missing. Only mandatory fields (title and description) cannot miss from the block.

If html characters are used within a tag, then the content should be enclosed between <![CDATA[ ]]> tags, as in the following example:

<description><![CDATA[ Description that contains <b>HTML characters</b>. ]]></description> 

If you use ISO-8859-1 character set for your site, then make sure use this encoding for the file and you specify it as encoding attribute in xml tag on top.

An example of XML file can be downloaded from the following location: http://www.oxyclassifieds.com/bu_samples/xmlsample.xml

Sample files for instructing clients about bulk upload feature:

Sample 1: http://www.oxyclassifieds.com/bu_samples/xmlimport1/xml_import.html

Sample 2: http://www.oxyclassifieds.com/bu_samples/xmlimport2/xml_import.html

How to create bulk uploads information page

On a user bulk uploads page there is a Help icon at the bottom of the screen. When a user clicks on the Help link, an info text will appear. Below is described how you can configure this info to point to a page with extensive bulk uploads description.

  1. Create a new custom page to hold this information: in Tools / Custom Pages section, add a new custom page. Make sure you choose as Type "Custom Content" and for Navigation Bar Link "Not linked". Click Submit to create the page, and you will be taken to a page where you can edit the page content. Compose the content using the samples given above.

  2. Link the newly created page to the bulk_uploads_info info template in Templates / Info Templates. To link it, just add a text like the following as a content of the info template:

    Information regarding <a href="[[PAGE_LINK]]" target="_blank"> upload format</a>.

    In the text above, replace the part [[PAGE_LINK]] with the actual link towards your newly added page. You can take this link from Tools / Custom Pages, from column Link.

1.6.6. Image Tools

This section offers you the possibility to perform some operations on all your images on your site:

1.6.6.1. Regenerate thumbnails

If you already have images added in your system and you realize that you want the thumbnail image size different, then you can change it from Settings / Listing Settings / Images section. But this change will be applied starting with the following uploaded images. To apply the new changes to existing images use this current section, Regenerate Thumbnails.

You will see the image sizes that will be applied. If your system uses a watermark, then you will be able to choose if you want to apply watermark or not when reprocessing the images. This last feature is useful if your images already have a watermark added, and you would not want to add it second time.

When clicking on Regenerate now button, all existing thumbnails will be deleted and new ones will be generated. This process may take a while, depending on how many images your system has.

1.6.6.2. Remove unused images

Normaly, images belonging to a listing will be deleted once you delete that listing. But in special cases, if you delete listings directly from database, not using the administrator interface, of for some reason there are other images present in your images folder aside from the ones that belong to listings, then you can use this section to clean the folders from unused images.

1.6.7. Maintenance

This section offers you some maintenance tools:

1.6.7.1. Clear cache

The caching system of OxyClassifieds caches compiled template files, but also frequently used data like settings in order to keep the database accesses low. There might be cases when you will want to empty the cache, like for example when editing settings using an outside tool other than the administrator interface.

1.6.7.2. Maintenance mode

Set your site in maintenance mode while making updates or other type of changes to your site to avoid your site looking broken to your visitors.

Before setting the site in maintenance mode it is advised to add your IP address as a Maintenance IP. Only maintenance IPs will be able to view the actual site, the rest will see a generic message. So if you need to make changes to the site while maintenance mode is on, make sure you configure your IP here.

1.7. Banners

There are a number of banner positions that can be used when you add banners to your script. To be able to add successfully a banner to a banner position you must first check if that banner position is active in Banners Settings section, and check the positioning in the template using the Banners Chart. Positions may vary from one template to another, this is why you must use the banners chart.

The positions possible in the script are:

  • header - the position appears on every script page, usually in the top of the page, just below the navigation bar.

  • footer - the position appears on every script page, usually in the footer of the page, just before site footer bar.

  • left - the position appears on every script page, usually in the left of the page

  • right - the position appears on every script page, usually in the right of the page

  • firstpage1, firstpage2, firstpage3 and firstpage4 - appear on the first page (index.php file) only. Check the Banners Chart from Banners / Banners Settings section for the exact position.

  • details1, details2, details3 and details4 - appear on details page (details.php file) only. Check the Banners Chart from Banners / Banners Settings section for the exact position.

  • listings1, listings2, listings3 and listings4 - appear on pages showing listings (listings.php file) and possible Recent Ads page. Check the Banners Chart from Banners / Banners Settings section for the exact position.

  • background - this is a special type of banner which appears as the background, behind the actual page. Note that you should use a special size for this banner, to assure it is seen behind the actual page.

  • footer-mobile - due to the small size of the mobile screen, this is the only possible banner for mobile templates.

  • top - at the moment this banner position is present only on Flux template. It is placed at the right side of the logo. Note that banners belonging to this position will only appear on high page widths and will be hidden on smaller widths and mobiles

You can add as many banners you want in a position, there is no limit and there is no recommended number. The banners will show the number of banners that you set under Display Banners column from Banners / Banners Settings section at one time, randomly, from the total of banners for that position.

By default for a banner, impressions and hits are counted. You can set a limit for the number of impressions or clicks if you want. Note that administrator clicks are not counted!

If you have many banners and many accesses to your site, the process of counting each banner access can add unnecessary stress to your server. You might not need to count the accesses if you use other type of banner management system. You can now disable counting accesses using Disable impressions count button at the top.

Note:

For code banners counting impressions and clicks is not possible since you don't have control over the elements that are contained in the banner code.

Note:

For the positions that are not used at a certain time, it is best to disable those banner positions from Banners Settings section. This is an optimization measure, and will assure no additional database check is made for those banner positions.

1.7.1. Manage Banners

This section will show the existing banners in your system.

1.7.1.1. Adding a new banner or editing an existing one

To add a new banner, click on the Add button above the banners table.

To edit an existing banner, click on the Edit icon on the corresponding table row.

The following form will appear:

Banner Type

You can add 2 types of banners:

  • images banners - (.gif, jpg, jpeg or png extensions) or flash (.swf extension files)

  • code banners - (for example Adsense banners - the code that you generate in Adsense account you will paste it in Code field).

Title - you can add here a title for the banner to recognize it easier.

Image - this field will only appear if you choose to create an image banner. Browse and upload the image to use for your banner.

Code - this field will only appear if you choose to create a code banner. Enter here the code for the banner.

Template Position - choose the position for the banner you want to add. Don't forget to consult banners chart to clarify banner positions.

Link To - this field will only appear if you choose to create an image banner. Enter here a link where you will be taken when clicking this banner.

Starting Date - you can set a starting date for your banner, and the banner will start showing with this date.

End Date - you can set an end date for your banner, and the banner will stop showing on this date.

Max impressions - if you want this banner to show only a number of times, set the number here. Leave this field to 0 for unlimited impressions.

Max clicks - if you want this banner to show until being clicked a number of times, set the number here. Leave this field to 0 for unlimited impressions.

Use Banner For - you can choose to assign banners to listing categories. Default selected value is All Categories, but if you switch to Choose Categories, then you will be able to choose the categories you want this banner to show under. This means that when a user browses that category, makes a search for that category, or views a listing belonging to that category, this banner will show.

Sections - for some of banners positions you can also choose the sections you want that banner to appear to. The possible sections are: firstpage, details, listings, recent, user_listings, custom, account, login-register, other. These sections are actually groups of pages for which you can choose your banners to show. You can see below an explanation for each of the sections:

  • firstpage - only first page or subcategories page.

  • details - only details page.

  • listings - only listings.php page: page where you browse or search listings.

  • recent - only Recent Ads page.

  • user_listings - User listings page and Dealer Page.

  • custom - pages added as Custom Pages.

  • account - pages belonging to an user account: New Ad, Edit Ad, Subscribe and other pages where only a logged in user has access.

  • login-register - login and register pages.

  • other - payment return pages and favorites page.

If there are more banners that match the condition to show on a page than the number of banners to show simultaneous, then the banners will be shown randomly from the possible ones.

Open in new window - enable this option if the banner link should be opened in a new window.

Location field - if you enabled module Banners Location, then and only then, this extra field will appear, with the name of the selected banners location field. When you select a location here, search pages will only show this banner if the search is made for that particular location. On listing details pages, the banner will show if the current listing has that particular location. If Location Filter is enabled, the banner will show when the appropriate location for that banner is selected in the location filter.

1.7.1.2. Managing existing banners

You can view banners in Manage Banners section table. The actions that you can perform on banners are the following:

  • Categories List - view assigned categories list

  • Edit

  • Delete

  • Clear Hits & Impressions - set the number of impressions and clicks to 0 for this banner.

1.7.2. Banners Settings

You can view in this section banners positions and perform some settings on them.

Changing number of banners shown - can be done using the Increase Banners Number and Decrease Banners Number in Display Banners column. This number is the number of banners shown simultaneous for this position. For example, if you want to show to the right side 3 banners at once, then you will use the Increase Banners Number arrow to increase the number to 3. After this, if you have at least 3 banners added to that right banners category, then 3 banners will show one below another. For top and bottom banners, if multiple banners added, they will show on the same line on the horizontal.

Total Banners - represents the number of banners that currently exist in the system for this category.

Enable / Disable - you can disable or enable a category of banners. If a category is disabled, even if you have banners added to a category the banners will not show.

View Banners Chart - will show you the graphic position for the banner in the current frontend template.

1.8. Settings

1.8.1. Settings

1.8.1.1. General Settings

You can configure here some general script settings:

1.8.1.1.1.

Admin name - administrator contact name. It will be used mainly when sending emails from the site as the name for email sender, next to the Admin Email as sender email.

Admin username - The username you login as administrator with. You can change the password for this user from Security / Change Password section.

Admin Email - the email used to send notifications to administrator, like notifications for pending users, listings or listing options. This email is also used as sender email for messages sent to user accounts.

Contact Email - the email used to receive emails that are sent using the contact form. You can set this email to be the same as Admin Email.

Site name - is used:

  • as default browser window title if there is not title set in Settings / Seo Settings section.

  • when sending emails, the variable {$site_name} is replaced in the mail template with the values set for Site Name. You can read more about mail templates in Mail Templates.

Enable verification images on - Enable anti-spam image verification (captcha) for each of the pages: Register Page, Contact Page and Login Page

Use Recaptcha for image verification - When this is enabled, Google's Recaptcha is used as image verification. This requires a public and a private key, don't forget to enter these as well if you enable this option. Use this link in order to create the keys for your site: https://www.google.com/recaptcha/admin/create .

Users Can - Choose if users will be allowed to Delete Ads, Upgrade Ad Options or Request account removal

Enable internal messaging - Keep all messages exchanged by users and guests using your site forms in the database. These messages will be visible in Users / Messages section by administrator, and in each user account Messages by each user.

Messages wait admin approval - If you enable this, messages will not be sent, by email or otherwise unless approved by an administrator.

1.8.1.1.2. Post without user account

You can allow in this section posting ads without first registering. Your clients will not need an account anymore to post an ad. Instead, to be able to manage the ad or to be reached by administrator or people that browse the ad, when posting an ad, the owner must enter an email address and a name. The listing can be managed after posting using a special link received in the email, that contains a certain code that allows performing operations on that listing.

You can use this system of posting ads and the system using user accounts at the same time. To do that make sure you have a user group that has Auto Register enabled. When the two posting ads types are supported, with and without an account, when choosing to post a listing you will be taken to a pre ad posting page where you will choose if you want to login or place an ad without an account.

Enable post without user account - Check this box to enable posting ads without login.

Activate listings via Email - If you enable this option, when posting an ad, one must click on an activation link for the ad to be activated. If not, the listing will remain inactive. This method will ensure that the poster email is valid.

Activate listings via SMS - if you enable this option, when posting an ad without account the owner will be sent an SMS containing a code. The owner will need to use that code in order to activate the listing.

Note:

To enable this option you will need some special settings: a SMS gateway enabled and a Phone type field mandatory for not logged in guests and with Validation and International format option enabled.

Listings pending - Listings posted with this method will remain pending until the administrator checks them.

Allow to edit listing - The listing owner will be able to edit the listing by using a manage listing link that he/she receives in the confirmation email.

Allow to delete listing - The listing owner will be able to delete the ad.

Allow to add listing extra options - The listing owner will be able to choose paid extra options for the listing.

Enable image verification - Enable image verification for listings posted without an account.

1.8.1.1.3. Affiliate accounts

Enable affiliate accounts - This option enables affiliates accounts. More information about the affiliates you will find in the affiliates section

Affiliates cookie availability - When a visitor accesses your site following an affiliate link, the affiliate id is remembered in a browser cookie. As long as this cookie is active in the browser, when a user makes a purchase on your site, the affiliate will receive a share for this purchase. Configure here how long is a cookie active after being created.

Affiliate percentage - The share from the total amount which is paid to your site which is assigned to be paid to the affiliate.

Affiliate payment cycle - The total due to the affiliate is paid after a cycle comprised of this number of days.

Auto Register - Check this box if you want to allow your affiliates to register their own accounts.

Activate Account via Email - Check this box if you want affiliate accounts to require activation by clicking on a link received in an email.

Activate Account via SMS - Check this box if you want affiliate accounts to require activation using a code received via SMS

Admin Verification - Check this if you want affiliate accounts to wait for administrator aproval.

1.8.1.1.4. Periodic operations

Simulate scheduler - There are some tasks that need to be ran daily for the script to function correctly: check if ads or subscriptions expired, delete expired items, send notification mails. When you have this checkbox checked the script will simulate a scheduler for these tasks by running once a day when a user accesses your site. However, when you have many ads in your system, running the periodic script will visibly slow down the connection when running (once a day). This is why it is advisable when the system has many ads, to create a cronjob on your hosting instead, if the hosting supports it. Make sure you set the time to run the script on a not busy hour.

The script will show you in the information to the right of this checkbox, the command you should set the cronjob with, for example:

"php /usr/home/username/public_html/periodic.php"

Note:

Do not include the quotes in the command you enter on your hosting cron jobs page!

Delete Auth Info Older Than - When there is a login attempt on your site, it is registered in the database. You can see that information - the status of the attempt (successful or failed) and the IP address from which it was registered in Security / Login History section. This data kept in the database will take up space and you will not need the information that is very old. This is why here you can setup that information older than a number of days to be automatically deleted. If you want that all records to be kept, then you should set this value to 0.

Delete expired ads - You can choose when expired ads to be deleted from your system. The classifieds gives the possibility to users to renew their listings after they expired, so you should consider giving them this possibility by setting a number of days before the expired ads are deleted. You can choose between the following options:

  • Never - the listings will be never deleted automatically

  • Immediately - the listings will be deleted in the moment it expires.

  • After X days - the expired listings are deleted after the number of days that you set here from the date it expires.

1.8.1.1.5. Notifications

Send notification to admin - Choose if the administrator should receive notifications to the email set as Admin email when some actions happen:

  • When listing pending - send notification when a listing is posted and is pending (waiting for admin approval)

  • When user registers - send notification when a user registers and the account is pending.

  • When new listing is added - send notification when a new listing is added. Note that the system will not send 2 emails if the listing is pending, but only the pending listing email.

Send notification to user - Choose if the user should receive email notifications when some actions happen:

  • When item expired - send notification in the moment the item expired. This refers to listings, as well as to listings options, subscriptions and dealer page.

  • Before listing expires with X days - send notification before the listing expires with this number of days. If you want this feature disabled, enter 0 as value. This option refers only to listings.

1.8.1.1.6. Google Maps

Choose default location - Choose on the map the location you want maps in your site to show by default. Choose on the map the location your classifieds refers to. Users will start from this point on the map, and of course they can change it to any location they want.

To display the map and choose the default location click on Display Map link. Place a pin point to mark the middle of the map and change the zoom level.

Note:

Choosing the default location will not make maps automatically appear on your forms. You must configure them to show by adding custom fields of type Google Maps. You can add Google Maps fields in 2 places:

  • to listing submit form - by adding a custom field from Settings / Listing Custom Fields of type Google Maps. A map will appear in ad listing form for the user to choose a location, and then on ad details page.

  • to a registration form - by adding a custom field from Settings / User Custom Fields of type Google Maps. A map will appear in a registration form for the user to choose a location, and then on user profile.

1.8.1.1.7. Location filter

Location filter allows you to configure one or more fields that can be chosen and will be remembered as current location. All ads displayed will reflect that chosen location every time you open the browser, until you change it again. For example: you configure Country and Region as location fields, and when your users browse your site, they can choose their default country and region. That country and region will be used as their default location, so they can only see the relevant ads for them.

Note:

This feature uses cookies, and will not work in browsers with cookies disabled.

Enable location filter - enable location filter feature explained above. When this feature is enabled you will be able to choose a location on your site using the link from top right of the page, just above navigation bar. The selection can be made from an overlay window, in case you have multiple location fields selected, or from a drop down list, in case only one location field is configured.

Location fields - choose fields that will be used to remember the location. You can choose multiple fields, but use only fields related to location, for example Country, Region, City.

Note:

Choose location fields in the logical order if you wish to use multiple location fields. For example, you will use the order: country, region, city , and not city, region, country.

Only Menu fields and Depending fields can be used as location fields.

Enable location subdomains - Location subdomains feature allows you to configure one field to be used as a subdomain every time you select it as a location. An example would be to configure City as a subdomain field. When a user will select Paris for example, the site http://yourdomain.com will become http://paris.yourdomain.com.

Important:

Important! Enabling this option requires extra configurations on your server. Please read carefully before enabling this option the documentation for Configuring your server for location subdomains!

Note:

If you use location subdomains you will not be able to use subdomains of your domain for other purpose. All subdomains will link to your main domain page.

Subdomain field - choose the field that you want to act as a subdomain field on your site. Only fields of type Menu or Depending will be used.

1.8.1.1.7.1. Configuring your server for location subdomains

This part will instruct you how you can prepare your domain name to use location subdomains. Note that these configurations are not possible for all hosting accounts, and are usually possible for those that own a dedicated server or virtual server. The reason for this is that some control panel softwares used by some hostings don't allow you to create a wildcard subdomain. However, if you own a hosting account and this is not possible to be done using the usual tools at hand ( hosting control panel ), then you can ask your hosting provider if there is a chance that they configure this for you.

This configuration consists of 2 parts:

Step 1. Create a wildcard subdomain

A wildcard subdomain is a subdomain reprezented by the character "*" , that will match all non existing subdomain names. For example *.yourdomainname.com will match for key1.yourdomainname.com , key2.yourdomainname.com and so on.

You will need to go to your hosting control panel and look for an area where you can define subdomains. Add one subdomain with the name * , pointing to your main domain. Note that the path where it points is very important! When you create a subdomain, the control panel will create it to point to the subfolder matching the subdomain name. Make sure you remove that subfolder from the path, leaving it to point to the main domain path.

Step 2. Add rewrite rules to your .htaccess file

You will need to uncomment the following lines in your .htaccess file

RewriteCond %{HTTP_HOST} !www.yourdomainname.com$ [NC]
			RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-_]+).yourdomainname.com [NC]
			RewriteRule (.*) %{SCRIPT_FILENAME}?crt_city=%2 [NC,QSA]

To uncomment these lines, remove the # sign that is initially placed at the begining of the line.

Important:

Attention! You also need to replace the domain name yourdomainname.com with your own domain name.

Note:

If you cannot find these lines in your .htaccess file (the file has been created from a htaccess.txt file prior to version 7.05), then you can add these lines to your .htaccess file just before the line:

RewriteCond %{REQUEST_URI} ^(.*)(/listings.html)(.*)$ [NC]

To test location subdomain functionality on a local server, you will need to have a DNS server installed on your local computer. This can be easily done on UNIX environments using for example BIND (named). We do not recommend trying this on Windows, as non server versions don't have a DNS server application. Once you have the DNS server installed, you can just follow the above steps to achieve a location subdomains setup.

1.8.1.2. Listing Settings

1.8.1.2.1. Listings display settings

Enable Sold - by enabling this option, users or you as administrator will be able to mark a listing as sold. A Sold corner ribbon will show on top of the small thumbnail picture on short version of the ad, latest ads or featured ads.

To mark a listing as sold you must click on Mark as Sold icon from user Browse Listings section or administrator Manage Listings section. The status can be reversed by clicking on Mark as Unsold icon which will appear for a marked sold listing instead of Mark as Sold icon.

Hide contact info when sold - if this option is set, when a listing is marked as sold the user contact information and profile will not be visible on details page.

Enable Rented - by enabling this option, users or you as administrator will be able to mark a listing as rented. A Rented corner ribbon will show on top of the small thumbnail picture on short version of the ad, latest ads or featured ads.

To mark a listing as rented you must click on Mark as Rented icon from user Browse Listings section or administrator Manage Listings section. The status can be reversed by clicking on Mark as Unrented icon which will appear for a marked sold listing instead of Mark as Rented icon.

Hide contact info when rented - if this option is set, when a listing is marked as rented the user contact information and profile will not be visible on details page.

Hide contact info for not logged in guests - if this option is set, only logged in users will be able to see contact information and user profile.

Show Stock No - Stock number is in fact the unique id number used to store the listing in the database. A listing can be uniquely determined using this stock number. If you enable this option, the stock number will appear on details page.

Show "More ads for this user" link - A button called More ads for this user will appear on listing details page when this is enabled. By clicking on this button, you will go to a page where all listings for the same user are. You can also see there user profile. The user profile visible on that page is composed by all fields the user enters in registration form and are marked as Public by administrator.

Show ad date - Select if you want the date when the ad was posted to appear.

Enable "Time ago" format for date - If you enable this option the date when the ad was posted will appear in the format: X minutes ago, X days ago. You can also configure a limit number of days to use this option for, and ads older than the number of days you set will appear in the usual date format (the format you setup as Short Date Format in Settings / Localization section). Use 0 if you want date to appear always like this, no matter how old ads are.

Days keep ads to Recent Ads - On Recent Ads page listings are shown ordered by posting date in descending order (latest posted listings are shown first). You can set here the number of days a listing is considered to be a recent listing and shown in this section. Listings older than this number of days will not be shown on this page. To set that all listings are shown, no matter how old they are, you can set this value to 0.

1.8.1.2.2. Submit form settings

Check for forbidden words - Set here if you want the system to look in the ad description when entered for forbidden words. You can set badwords list in Tools / Forbidden Words section.

There are 2 possible ways to deal with forbidden words, which you can choose from the next radio buttons:

  • Block listings with forbidden words - do not allow for an ad that contains forbidden words to be posted. The script will show a note that the ad is not acceptable because it contains forbidden words.

  • Replace forbidden words with ***** - allow for the listing to be posted but replace the forbidden words with * signs.

Add Meta info with listings - When you enable this option, 2 extra boxes will appear to a listing submit form: Meta Keywords and Meta Description. These strings will be used for ad details page meta information.

Translate title and description - When your site is in multilanguage mode (uses more than one language for site frontend), use this option to allow entering a title and description for each language. When this option is enabled, for each language will appear a separate title and description box, with the language name or flag next to it.

Pending edited - This option will make listing modifications to wait for administrator approval. Not all listings will submit to this rule, the same rules from when posting listings apply, those listings which were to remain pending when posted will also have the modifications pending when being edited. More information can be found in Pending Approval Explained section. The following paragraphs will explain how pending edited feature works.

When an eligible listing for pending edited is modified (listing content or pictures), an email is sent to the administrator informing about the new changes to the listing which wait for verification. The administrator can check those modifications either by clicking directly on the link provided in the email, or by going to Listings / Manage Listings. In this section, the Selective browsing drop down menu will have Pending edited as a choice immediately after All listings option. By opting for that choice only pending edited listings will appear in the table.

Pending edited listings will appear marked with a green PE button in States column. By clicking on that button you are directed to the same page as the link you receive in the email which announces the pending modifications. That page will show the old listing and the new modifications, and the fields which are changed are marked in color. Clicking on Accept changes will make the modifications permananent to the listing and send an email to the listing owner informing that the changes were accepted. Clicking on Deny changes will remove the modifications from the record without making changes to the listing, and will also inform the user that the modifications were denied.

1.8.1.2.3. Auctions

Auctions are an alternative for the listing owner to set a fixed price. When an auction is created for a listing, instead of a price two new buttons will appear: one with details about the auction (starting price and maximum bid) and the other a button for placing a new bid. The listing owner can also see the current bids and the message attached to the bid.

Auctions can be managed by users from their My Listings account section.

Note:

Placing a bid requires authentication with a user account!

Note:

The script will not chose an auction winner, its purpose is merely to allow the listing owner get offers from their buyers, but finalizing the deal should be conducted by the listing owner via email, phone or other means of communication.

Enable auctions - Check if you want auctions enabled.

Notify the owner when a new bid is placed - If this option is enabled the owner of the ad will be notified when a new bid is placed. The email template for the email is new_auction_bid.

1.8.1.2.4. Latest Ads

Enable Latest Ads - check this if you want latest ads box to appear on the first page.

Latest Ads No - number of ads shown in Latest Ads box on the first page.

Latest ads on a row - number of ads on each row of Latest Ads box on the first page.

1.8.1.2.5. Images

Here you can make some settings regarding images in the classifieds.

Image maximum dimensions - maximum dimensions allowed for an uploaded image. You can set here image width, height and size in Kb.

Image Resizing - if you want images to be saved in a smaller version on your site than the size the user uploads, you must check Resize image checkbox here. You also must set width and height for the resized image.

Note:

These are not necessarily the final dimensions, these will be calculated so the proportion of the image is not different than the initial one. So only one dimension, either the width of height will be this one.

Small thumbnail dimensions - The dimensions that are used for the small thumbnail. This thumbnail will be used for the small version of the ad, ads from latest and featured ads on first page, and smaller images on listing details image gallery.

Big thumbnail dimensions - The dimensions that are used for the big thumbnail. This thumbnail will be used for bigger image on listing details image gallery.

Default small image - The image will appear instead of the small thumbnail when there is no image added for the listing.

Default big image - The image will appear instead of the big thumbnail when there is no image added for the listing.

Watermark - set an image to be used as watermark. Upload here an image of type .gif, .jpg, .jpeg or .png. If no image is added, no watermark will be added to your pictures.

Note:

A watermark is an image that is drawn over each images uploaded for listings, generaly for the purpose of stopping other people from using your images as resources for their sites.

You can delete the watermark image and with this disable watermark by clicking on the delete icon next to this field.

Watermark position - set the position on the image the watermark will be drawn in. You can choose one of the following: Top left, Top right, Bottom left, Bottom right or Center

Watermark transparency - you can set a transparency for your uploaded watermark image. The transparency is set in percents, from 0% to 100%. If you set the transparency to 0% the watermark will be drawn as you upload it over the image. If you set it to 100%, the watermark image will not be visible, because 100% transparency means actually invisible.

Note:

The reason for using transparency is if you want that the original image to be visible behing the watermark.

1.8.1.2.6. HTML Options

HTML editor for ad description - if you enable this option, the description field for posting ads will be a HTML area. Users will be able to format their listings using html elements visually.

Allowed HTML tags - No matter whether the option before is active or not, you can set here the HTML elements (HTML tags) that are accepted in a description field. All HTML tags that are not accepted will be automatically removed. You should allow here only harmless HTML tags like <br>(Line Break) <b> (Bold), <p> (Paragraph), <i>(Italic), <font> (Font), <center> (Center). You should not allow elements like: <script>(Script), <style>(Style), <frame>(Frame)

1.8.1.2.7. Search

Search in fields - define here the fields to search in when entering a string in Word field. By default you will have title and description selected. Add other fields if you want other fields to be searched.

Keyword search type - choose the type of search for the keyword field. You can choose between the following options:

  • Exact search - will look for the exact match, in any of the fields chosen in Search in fields list.

  • Partial search - search terms are considered strings, not words. For example the search car will also find ads containing the word carpet

  • All words - will look for an all words match, in any of the fields chosen in Search in fields list.

  • Any words - will look for any words match, in any of the fields chosen in Search in fields list.

Default search view - choose the default search view. You can choose between List View and Gallery View. This will be the default view for anyone who has not searched on your site before. Once another choice is made by a guest, the chosen type of view will be used until changed again every time the user returns on your site and opens a search page.

Enable search map - if checked, a map will show with the search results marked on it on every search page. It can appear opened or hidden, depending on the next choice Map visible.

Map visible - this is used only when the search map is enabled. If checked, the search map will be enabled by default, if not, users will need to click on show Map button to see it.

Search location fields - when Search Map is enabled, the methods of placing the ads on the map are 2:

  • When there is a Google Map field present and there is a value chosen on the map, then this value is used

  • When there is no Google Map field, or there is no value chosen on the map, then the script will determine the approximate location using geocoding. The list of fields that you choose for Search location fields is used to determine this position. So you must choose from the list only the fields that are related to location like: address, city, region, and so on.

Enable location autosuggest - when the guest starts typing in the Location textbox of the quick search form, a number of addresses will be suggested matching the typed string. This feature uses the Places Library in the Google Maps JavaScript API. This means you will need to ensure some conditions are met:

Note:

This feature is for now available only in Flux template, which has a Location textbox in the quick search form.

Location components - assign each type of location components provided by Google Geolocation Service to your own custom fields. This way the search for a location formatted by Google will be able to show correct results. Not all components need to be matched, but you can choose between 5 types of address components: Country, Administrative area level 1, Administrative area level 2, City and Postal code

Limit the suggest to country - If configured, limits the location autosuggest to one or more countries. Enter the 2 letter codes for the selected countries separated by a comma. Use ISO 3166-1 Alpha-2 compatible 2 letter country codes.

Language used for location autosuggest - it changes the language of the suggested places. If nothing is configured, the browser language is considered by default.

Enable distance search - allows to search on a distance around the selected location using the top Quick search form. This feature uses the Geocoding service in the Google Maps JavaScript API. This means you will need to ensure some conditions are met:

The distance search is done based on location Latitude and Longitude calculations. A set of Latitude & Longitude coordinates are found for the location which is introduced in the form using the Geolocation service. But that set of coordinates needs to be matched with coordinates of the existing listings. In conclusion, to return correct results each listing needs to have a set of coordinates for its location. This makes it required to have defined a Google maps Listing Custom Field and that field to be mandatory.

Important:

If a set of coordinates is not found for the location entered in the Location box, then the Distance field will be disabled, because no result can be generated without proper coordinates.

Note:

Location autosuggest and Distance search are stand alone features. They can be used separatelly, but used together they complement each other very well. When Location autosuggest is enabled the location in the location box is more accurate if picked from a list of Google Places, assuring finding the correct coordinates for the place, and in this case the Distance search will work correctly.

Distance search measuring unit - choose between Km or miles

Distances list - enter the list of choices to appear for search distances, separated by a line

Enable save searches - Gives users the possibility to save searches to their accounts.

1.8.1.2.8. Location

Location fields- Because you can customize your listing fields, you can set the fields that specify the location differently. Using this setting you can choose which fields specify the location for your site. Location will be shown in short version of an ad, latest and featured ads. You can choose multiple fields here. If you choose more than one field, the location will be generated with all location fields separated by comma.

1.8.1.2.9. E-mail alerts

E-mail alerts is a feature that allows your visitors to be announced when listings that match a certain search are added to your site. The visitor will be asked to enter an email address and to choose the frequency to be announced with: Immediately, Daily or Weekly.

When enabled, a box will appear below a page where a search is in place: browsing by category or searching pages.

Enable E-mail alerts - enable email alerts feature.

Require at least one advanced key - will ask that besides a category, at least one more key to be chosen for the alert. You can see the search keys on the top of E-mail alerts box.

Require login - Users will need to login to use this feature.

Alerts require activation - For an alert to apply, the user needs to click on an activation link that he/she receives in an email.

Delete alerts after - Alerts are automatically deleted after this number of days.

1.8.1.2.10. Search by account type

Enabling this option will make appear 2 extra tabs in the search page, allowing your users to filter better the results by user type. The purpose is to make the distinction between the listings posted by private people and those posted by professionals (companies or online businesses). All you need to do is configure the user groups which will be considered Professionals as Professionals user groups. The rest of user groups will be considered Private

1.8.1.3. Site Appearance

Template - the template for frontend interface. If more than one template exists, choose here which one you want to use for your classifieds.

For the latest template Momentum you will also be able to select a colorscheme from a drop down box which will appear next to the template menu.

Administrator Interface Template - the template for administrator interface. If more than one template exists, choose here which one you want to use for your administrator interface.

Administrator Interface Language - choose the administrator interface language

Show Top Header - if enabled, the image set in the field below Top logo will appear on top of the site.

Top logo - upload an image which you want to show at the top of your site.

Small size Top logo - For small site widths like in case of browsing using a mobile or a small tablet, this is the logo which will be used on the top of your site.

Top logo link - if you want your Top logo to have a link attached, enter here that link.

Show Footer Logo - if enabled, the image set in the field below Footer Logo will appear at the bottom of your site.

Footer logo - upload an image that you want to show on the bottom of your site.

Footer logo link - if you want your Footer Image to have a link attached, enter here that link.

Show footer categories - if enabled, a list with all your categories will show up at the bottom of your site.

Footer text - the text that appears in your site footer.

Site Width - you can increase or decrease your site width by changing this value.

Display categories type - you can display categories in 2 ways:

  • Browse Categories - includes categories image and description, and categories will show up on different levels. So if you have subcategories, you will only see them by clicking on top level categories. This is the default mode.

  • Tree Categories - all categories will be shown on the first page, in a tree manner, and for parent categories the icon image will be shown, if set. Use this mode if you have many categories.

Categories on a row - number of columns with categories shown on each row.

Count ads for categories - choose whether to display number of ads for each category.

Number of listings on page - choose how many listings will appear in a page.

1.8.1.4. Localization

Default Timezone - Use this setting to set the proper time. Choose the timezone that applies to your location.

Note:

This function will only work if your server has a PHP version 5.1.0 or newer.

Charset - change the charset used on your site. Change this only if your language requires a different set of characters.

Short Date Format - The short format for date.

Long Date Format - The long format for date.

If you want to change date format, please see here format specifiers:

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format

Price Format - define the format for price (used only for price field, for other numbers Number Format is used):

  • Decimals - number of decimals

  • Decimals Point - decimals point sign

  • Thousands Separator - thousands separator sign

Number Format - define number format:

  • Decimals - number of decimals

  • Decimals Point - decimals point sign

  • Thousands Separator - thousands separator sign

The Numeric Format is used for numeric type custom fields. You can define a numeric type field by entering numeric as Validation Type. This is only possible for textbox type fields.

Default Currency - choose default currency

Currency position - choose currency position, to the left or to the right of price.

Listing Currencies.

The price field for listings, if enabled, has attached a list of currencies the user can choose from. You can edit here this list.

The list can be just one currency if your location uses only one currency frequently. In this case the currency will appear simply next to price field, the user will not have to choose it, it will be the default value.

1.8.1.5. Extra visibility options

In this section you can make settings for extra visibility options.

1.8.1.5.1. Listings Options

Enable Featured Ads - enable featured ads option.

Featured Ads will show on the first page under Featured Ads box. They are also marked with the Featured Ads button on short and detailed version of the ad.

Featured Ads No - set the number of featured ads shown in Featured Ads box on the first page.

Note:

On templates that have featured ads in a scrolling box, this number specifies actually the number of ads that are loaded at one page load and rotated in the loop. The number of featured ads that show up in one row is actually Featured ads on a row

Featured ads on a row - set the number of ads on each row for Featured Ads box.

Important:

On templates where featured ads are shown using a carousel cyclical move, Featured Ads No will be the total number of ads to be loaded at a page load. These ads will be rotated in the cyclical move until the next load. Featured ads on a row means the number of ads that shows on a row.

Featured Option Availability - choose how many days this option is available. After this number of days the option expires (the listing will not be featured anymore). Set this value to 0 if you want this to never expire.

Note:

Options that are set within a listing plan last until the listing expires. Only if you add an extra option after placing the listing, or you buy it separate from the plan from step 5 of submit listing, then the option will expire according to the settings from Settings / Extra Visibility Options section. This rule is valid for all extra options (Featured, Highlighted, Video Classifieds and Priorities).

Featured Price - the price a user must pay if enables this option for an ad.

Note:

This price only applies if the user chooses this option separated by the options that already may be included in the ad plan. If this option is included in the ad plan for the current listing, then the user will not be asked to pay again. The same applies for Availability. If Featured option is contained in the plan options, then the option will never expire. We will not explain this for the following ad options, but this applies to the other also (Highlighted, Priorities and Video Classifieds).

Autoscroll enabled - on templates that support it, this will enable an autoscroll movement for the featured ads, from right to left.

Prioritize Featured Ads - if this option is enabled, in search result pages, instead showing on top listings with Priority option, Featured ads will display first.

If you use this feature you should not use Priority Ranking anymore!

Enable Highlighted Ads - enable Highlighted Ads option.

Highlighted Ads will show with a different background color from the other ads on short listing version. Set this color in the following form, Highlighted Color.

Highlighted Color - the background color on short listing for Highlighted Ads.

Highlighted Option Availability - choose how many days this option is available. After this number of days the option expires (the listing will not be highlighted anymore). Set this value to 0 if you want this to never expire.

Highlighted Price - the price a user must pay if enables this option for an ad.

Enable Priority Ranking - enable Priority Ranking option.

Priority Ranking allows you to define different levels of priority for your ads. When browsing the listings, if not other type of ordering chosen, the listings will show up first the prioritized ones, then the normal ones. If you have more than one priority defined, then the listings with the lower priority order will show up first, for example first ones will be the listings with priority 1, then priority 2 and so on.

You will set the prices for each priority in the lower section Priorities List.

Show priority ads randomly - if you enable this option, prioritized ads belonging to the same level will not appear in the order of their posting date, but instead will be shown randomly.

Priority Option Availability - choose how many days this option is available. After this number of days the option expires (the listing will not be prioritized anymore). Set this value to 0 if you want this to never expire.

Enable Video Classifieds - enable Video Classifieds option.

Video Classifieds will allow the user to add a video to a listing. The video will show up on details page, instead of the big image on images gallery.

Note:

If you use this option as an extra paid option, then you should not add other Video type custom fields, or people will have no reason to buy this extra option.

The difference between Video Classifieds and a video custom field is the place where the video shows. While for Video Classifieds the video will appear on top of the listing, instead of the bigger thumbnail, a video custom field will appear lower in the details page, below ad description. You will have to choose between these two which is convenient to you. It is not advised to use them both at the same time.

The Video Classifieds box will appear in submit listing form if enabled for the listing plan that was chosen for the listing in course of posting, and Enable Video Classifieds is enabled in Settings / Listing Settings .

If the user will choose as extra option for the current ad "Video Classifieds" option, then the box "Video Classifieds" will appear when returning on "Enter ad Details" step, or when editing the listing later.

Video Classifieds Availability - choose how many days this option is available. After this number of days the option expires the listing will not have Video option anymore. Set this value to 0 if you want this to never expire.

Video Classifieds Price - the price a user must pay if enables this option for an ad.

1.8.1.5.2. User Account Options

Dealer Page - you can make some settings regarding Dealer Page. Note that Dealer Page will not appear by default to any account and will not be allowed to be bought unless you have it enabled in the user group settings. See a detailed description on Dealer Page in User Concepts

  • Dealer Page Price - the price that users must pay for Dealer Page, if Allow to buy is selected for Dealer Page in user group settings (Users / User Groups section).

  • Dealer Page Availability - after Dealer Page option is purchased for an account, this option will be available for this number of days. Before this option expires the user will be notified by email if Send notification to user Before listing expires with X days in the section Settings / Listing Settings is greater than 0. The user is also notified when this option expired if the option Send notification to user When listing expired is enabled.

    Note:

    This does not apply if the account has Dealer Page enabled by default, which is done by selecting Enable by default for Dealer Page in user group settings (Users / User Groups section). In this case, Dealer Page will not expire.

1.8.1.5.3. Priorities List

If you use Priorities as extra ad options, then you should add here the priorities you want for your site.

To add a new priority use the form on top of the table. You must enter a name and a price for your new priority.

You can edit or delete existing priorities using Action icons in the table.

One thing important here is priorities ordering. Because listings with a higher priority order will appear on top related to other listings, you must set the proper ordering for priorities in this section. You can change order for priorities using the ordering buttons.

1.8.1.6. Seo Settings

This section allows you to make some settings related to Search Engine Optimizations. Please see Search Engine Optimization Features section for more information on site SEO features.

Enable search engine friendly URLs - check if you want to enable search engine friendly URLs for site frontend. This is done with URL Rewriting

Edit links structure - This only refers to the default URL structure mode, not the legacy mode.

Edit to change the word designated to a specific page. Note that if you change at least one of the pages words, you will need to mirror the changes in the .htaccess file. You will need to replace the old .htaccess rules contained between "# start SEF links structure" and "# end SEF links structure" comments with the block of rules you can copy when you click on current links structure link.

Search engine friendly URLs legacy mode - check if you want to use the legacy URL structure. You can see the differences between the normal and the legacy mode in URL Rewriting section.

Maximum URL Slug width

An URL Slug is the descriptive part of an url, written in an URL encoded manner. This can be a category name, a listing title, a user contact name, etc. For example, a listing with the title Two-bedroom modern house will result in the slug two-bedroom-modern-house. You can read more about slugs in URL Rewriting section.

This setting limits the number of character allowed to a slug. If this number is set to 0 there will be no limit considered, otherwise, the slug will be cut (conveniently after a word is finished) to a length less than this value.

Regenerate listings and users URL Slugs!

If you changed the previous setting you must use this button to regenerate slugs using the new maximum slug size value. This will only regenerate the listings and users slugs, if you need to edit categories or custom pages slugs you may do so by editing each category or custom

Google Analytics code - If you want to add Google Analytics to your site, then add here the code you get from your Analytics account.

Pages meta information table - configure for each of the pages which should be indexed by the search engines: title, meta description and meta keywords. You will see here a table with the page name and an edit button. Click the edit button and a form will show up to edit the meta information for that particular page. For each of the pages you will be able to edit:

  • Page title - The title of the browser page.

  • Meta keywords - The meta keywords for that page.

  • Meta description - The meta description for that page.

  • Noindex, nofollow - Enable this if you don't want that page to be indexed by search engine bots.

For each of the pages you will see mentioned on top the tags you can use, if any. The tags are in the form %key, and are to be replaced by their correspondent, for example %category_name will be replaced by the name of the category, on certain pages like search page or listing details page where this makes sense. More information on possible tags you will find below, for each of the pages.

Note:

You can configure meta information here for all pages, except custom content pages. For these pages you can configure the meta information directly when you add or edit them in Tools / Custom pages section.

Note:

If you use Location filter or Location Subdomains, then you can use on any of the pages described below, the location fields as tags in the following form: %city, %country and so on. These are just examples, you will use as tags the name of the field uses as location field in your case. If a location is set, then those tags will be replaced with the corresponding current location.

Smarty tags

In addition to internally defined tags you can use Smarty tags for more complex statements. Smarty is the template engine OxyClassifieds uses. You will see its syntax if you will look at templates, but also at Information and Email templates. In this particular usage for Seo Settings it only requires a low level of understanding about Smarty variables and how conditional statements work.

If you feel the need to check its documentation you can find Smarty 3 manual here.

Note

We can always help you with this part of configuration if you don't feel confortable doing it yourself. You will also find below examples which will ease the task.

This feature was built especially for search pages meta information, where the wide range of possible search elements require a more flexible environment, but it can be used on other pages also. This is why in the description below for each page, a greater focus will be placed on Smarty tags for Search pages.

Smarty variables - Variables are defined by strings in the form: {$variable_name}. This string will be replaced with the correspondent variable defined in the code.

Example: the following string:
{$category_name}
will be replaced with the current category name, in a php page where this variable has been defined.

Conditional sentences

	{if $var_name="value"} ... {/if} 

or

	{if $var_name="value"} ... {else} ... {/if} 

Conditional sentences are used for parts in the text which will appear if the condition is met. Optional it can be expressed an alternate text for the case when the condition is not met using the else branch. For example in the following part:

	{if $post_array.city} in {$post_array.city} {else} in France {/if} 

will display the text "in Paris" for example when $post_array.city variable is not null, which in Search pages case means that a city field was added to the search filter (in this case with the value Paris). When this variable is null it will display "in France".

Site index page [index.php] - here you can configure meta information for the main index page, and the page containing subcategories in case your site is configured to display categories in Browse mode instead of Tree mode. For the subcategories pages you can use the following tags:

  • %category_name - will be replaced by category name followed by parent category name

  • %category_meta_description - will be replaced by category meta description.

  • %category_meta_keywords - will be replaced by category meta keywords.

Smarty tags which can be used:

  • {$cat} - will be replaced with the category id

  • {$crt_category} - will be replaced with the category name

Example: {if $cat}{$crt_category} - {/if}Best free classifieds

Listing details page [details.php]

  • %category_name - will be replaced by category name followed by parent category name, if it is the case

  • %category_title - will be replaced by the title configured for the category

  • %category_meta_description - will be replaced by category meta description.

  • %category_meta_keywords - will be replaced by category meta keywords.

  • %custom_field - any custom field database name preceded by a % sign, for example: %country, %city.

Smarty tags which can be used:

  • {$listing} - this is an array and it can only be used in this form: {$listing.field_name}, where "field_name" is the name of each field for the listings table in the database.

Example: {$listing.region} {$listing.city} - {$listing.title}

Search page [listings.php]

  • %category_name - will be replaced by category name followed by parent category name, if it is the case

  • %category_title - will be replaced by the title configured for the category

  • %category_meta_description - will be replaced by category meta description.

  • %category_meta_keywords - will be replaced by category meta keywords.

  • %page - the number of the current search page.

  • %custom_field - any custom field database name preceded by a % sign, for example: %country, %city.

Smarty tags which can be used:

  • {$post_array} - this is an array and it can only be used in this form: {$post_array.field_name}, where "field_name" is the name of each field for the listings table in the database.

  • {$category_name} - Name of searched category, if any is present in the search filter.

  • {$no_listings} - Number of found listings.

  • {$notags} - This value is 1 when there are no filters with the search. Allows you add some extra text when there are no filters.

Example: {if $post_array.region} {$post_array.region} - {/if}Post free classifieds - YourClassifieds.com

Here is a more complex example:

{if $post_array.keyword}Find %keyword{if $post_array.category} in %category_name{/if}{if $post_array.region || $post_array.city} in %region %city {/if} {else}%category_meta_description{if $post_array.state || $post_array.city1} in %state %city1{/if}{/if}{if $notags}Post free classifieds.{/if} - YourClassifieds.com

Contact details page [contact_details.php] - this page is for mobile pages only.

  • %custom_field - any custom field database name preceded by a % sign, for example: %country, %city.

Login page [login.php] - there is no tag for this page, except for the location tags

User registration page [register.php] - there is no tag for this page, except for the location tags

Pre-registration page ( user group choices ) [pre-register.php] - there is no tag for this page, except for the location tags

Pre-submit ad page (choice between login or post wihtout a user accounr [pre-submit.php] - there is no tag for this page, except for the location tags

Recent ads page [recent_ads.php]

  • %page - the number of the current search page.

Refine search page ( mobile only ) [refine.php] - there is no tag for this page, except for the location tags

Dealer page [store.php]

  • %page - the number of the current page.

  • %custom_field - any custom field database name preceded by a % sign, for example: %company_name, %address.

Regular user page [user_listings.php]

  • %page - the number of the current page.

  • %custom_field - any custom field database name preceded by a % sign, for example: %company_name, %address.

Contact page [contact.php] - there is no tag for this page, except for the location tags

Favorites listings page [favorites.php] - there is no tag for this page, except for the location tags

1.8.1.7. Email Settings

Enable HTML mails - Send emails in HTML format. Enable this if you want to format your emails with HTML. If you enable this setting, you shoud edit the mail templates accordingly, and you should at least replace newline characters with <br> element .

By default the system sends emails using PHP mail() function. Some servers have this function disabled. For these cases there is another way of sending emails, using a SMTP server. The following section refers to this case. The settings below are not mandatory.

Use SMTP authentication - check this option if you want to send mails using a SMTP server. The following fields must be also completed.

SMTP server - enter SMTP server name.

SSL enabled - check this option if you use a SSL enabled account. For example Gmail accounts have SSL enabled.

Port - SMTP server port. The port is default 25. Do not change this value unless you know it is different.

Username - the SMTP username

Password - the password for the user above

Note:

You cannot use as a SMTP account any email account. Do not use free accounts such as Yahoo accounts or Hotmail accounts. Use only accounts that have SMTP enabled, an account that you can use on your computer with an email client to send emails.

Send BCC to - if you want that administrator to receive all emails sent from your site as a duplicate on an email address, enter here that address.

1.8.1.8. Payment Settings

1.8.1.8.1 Payment Processors

In this section you have listed the payment methods that our script supports. You can do some basic settings from the payment processors table, and you can configure each payment with your data.

Payment processors table elements:

  • Payment Processor - payment processor code.

  • Payment Title - payment processor title. This name will appear to the user to refer to the corresponding payment. Can be edited by clicking on the Edit icon.

  • Tax - you have the option to define a fixed or/and a percent tax, different for each payment. For example, if PayPal tax is 3.4% + EUR0,25, you have the possibility to configure this tax for PayPal payment on your account. In this case, the tax fee will be added to the total sum to pay to your site. Note that this tax will be charged to all payments towards your site.

  • Recurring Payments can be used to automatically renew subscription plans. If a user buys a subscription plan and chooses a recurring payment for this, then when the subscription expires it will be renewed with a new payment automatically.

    Note:

    Note that not all payment types support recurring payments, at the moment this option is implemented only for PayPal.

    For payments that support recurring payments you can choose between the following options:

    • Disabled - recurring payment is disabled,

    • All subscription plans recurring - when a user buys a subscription plan, this payment is made automatically recurring ,

    • Users can choose if subscription plans recurring - when a user buys a subscription plan, a checkbox appears to choose if this payment should be recurring.

  • Edit icon - edit payment title and recurring settings for payments that supports it.

  • Enable/Disable buttons - use these buttons to enable and disable the payments.

  • Pending/Not Pending buttons - use these buttons to make the payment type pending or not pending.

    When a payment is pending, all items paid with this payment method will become pending and wait for administrator approval.

  • Edit settings button - will open the settings form for that particular payment. Please see below a description for each payment method settings.

PayPal

Paypal email - the email for your PayPal account

Paypal Payment Title - the title for payment that will appear on payment page.

Paypal Currency Code - choose the currency used for PayPal, from the list of currencies supported by PayPal.

Paypal Demo Mode - Use Paypal Sandbox for PayPal payment test. Note that a normal Paypal account will not work for this, you must create a developer account on https://developer.paypal.com/.

Canceling Paypal recurring payments. Note that if a subscription that has recurring payment enabled is deleted, the recurring payment is not canceled. A recurring payment can be canceled from the Administrator PayPal account, or from paying member PayPal account. To cancel the recurring payment, search for a payment for that particular subscription. This payment will have a referring link towards the original PayPal subscription. Click on [Cancel Subscription] button on the PayPal subscription page to cancel it.

2Checkout

2Checkout SID - the vendor id for your account.

2Checkout Secret Word - 2Checkout Secret Word is used to check the MD5 Hash passback after payment for security purposes. You can set up the secret word in your 2Checkout account from Look and Feel page of your 2Checkout account. This should be a single or compound word or group of letters and numbers with no spaces, of maximum 16 characters.

2Checkout Demo Mode - Use 2Checkout in Test Mode. Use this for payment tests only!

Important:

You must setup on your 2Checkout account Direct Return so that after an order is completed the buyer should be automatically returned to your site. This is important because this allows the ads to be automatically accepted once the payment is completed.

Skrill

Skrill email - the email for your Skrill account

Skrill Payment Title - the title that will appear on the payment page.

Skrill Currency Code - choose the currency used for Skrill, from the list of currencies supported by Skrill.

Skrill Language - choose the language you want the payment page to be in, from the language list supported by Skrill.

Skrill Demo Mode - use Skrill in test mode.

Authorize.net SIM - only Authorize.net SIM is possible to use from all possible Authorize.net payments. The payment is done on Authorize.net site and the credit card information is not kept on your site. You must configure the following with the information for your Authorize.net account:

Authorize.net login

Authorize.net transaction key

Authorize.net MD5 Hash - if you have configured one for your account.

Authorize.net payment title - the title used in payment page.

Authorize.net test mode - if you set your account in test mode, you must enable this option.

ePay - You must configure the following settings that you get from your ePay account:

PBS Merchant Number

Language

Currency

MD5 Key - if you configured it for your account.

Fortumo

Follow the next steps to configure your Fortumo account and the script settings for this payment type.

  • Configure in classifieds Fortumo settings page:

    - Currency - the currency you will receive payments in

    - Test - enable this while your Fortumo products are not yet live, in order to make tests. Disable it when you are ready to receive real payments.

  • Create an account with Fortumo if you don't have one already.

  • Add in your Fortumo account one Fortumo service (as explained below in steps 1-4) for each price you need to be able to receive on your site, and configure each of those services in Fortumo settings of your classifieds site as a new Fortumo product. Click on the Add button next to the Fortumo Products title to do so.

    Note:

    Note that Fortumo only allows for fixed prices, so when a payment is to be made and Fortumo is chosen as a payment method, the script will select from the Fortumo Products defined the one which is equal in price or the next greatest one. Make sure you define your listing plan or extra options prices in such way that they match closely the prices you can configure in your Fortumo account

Here is an explanation on how you define a Fortumo service in your Fortumo account:

  1. Create a new service of type "Mobile Payments / Premium SMS API". You will be requested to choose a keyword. Remember it, and enter it in the Keyword field when you add a new Fortumo product in classifieds script site.

  2. Continuing the payment setup you will be asked Which web address will the received requests be forwarded to?. Enter the url that you find next to Web address to receive requests in Fortumo Settings.

  3. On the page where you need to enter your contact information you will need to also agree to add a text that will promote this Fortumo service on your site. This will include the price, your phone and email. Note that this text needs to be placed somewhere where it can be seen on your site. The operators will check and they will not approve your service if they cannot find it. So you can make a custom page where you give details about payments, and you include this text. Until your new service is aproved you will be able to use it in Test mode.

  4. After you complete the setup, you will find among this payment details a) a shortcode (short number where your users will send the sms to) b) a secret key. Enter both these in the new Fortumo product configuration settings.

Fortumo payment works like in the following way: after the user makes an action that requires a payment, the info message will contain the following info: to complete the payment, the user needs to send a sms to the shortcode number, having as content the keyword you choose, plus a random code that will determine the operation he/she makes the payment for. The random code is important because it will be used to activate the listing or option for which the user paid, once the sms was sent correctly.

ICEPAY - You must configure the following settings that you get from your ICEPay account:

Merchant ID

Secret code

Language

Country

Currency

Description - enter a description for the payment

Success Url, Error Url, PostBack Url - use these values to configure in your ICEPay account the coresponding values

Country

PayTPV - You must configure the following settings that you get from your PayTPV account:

Client code

User number

Password

Terminal number

PayTPV currency

PayFast - You must configure the following settings from your PayFast account:

Merchant Id

Merchant Key

Item Name - enter a name for the payments.

Test mode - enable this if you want to test PayFast system with a sandbox environment. If you do enable it, use the following credentials for test: https://www.payfast.co.za/s/std/integration-guide#system.

HiPay - You must configure the following settings from your HiPay account:

Member account - get it from your HiPay account: Account Overview page, Account Number column

Website ID - in your HiPay account go to Sell with HiPay / HiPay integration / Merchant Tool Kit API and click Configure sites associated with the Hipay platform. Register a website for this payment. Get the id of the Test Site and enter it as Website ID (the current option) and get the Merchant Password and enter it in Merchant password field (following option).

Merchant password

Notification email - configure here the email where you want to receive payment notices on.

Category - configure this option in the following way: save payment settings once with the Website Id configured. Then a link will appear next to the Order category box. Click it and get the proper category from the xml document that will appear and set it as a value for current Category option.

Currency

Locale

Robokassa - You must configure the following settings from your Robokassa account:

Login

Password1

Language

Encoding

Payment description

Test mode

Result URL

Success URL

Fail URL

Klarna - You must configure the following settings from your Klarna account:

Merchant id

Shared secret

Currency

Country

Locale

Terms URI

Test mode

Stripe - You must configure the following settings from your Stripe account:

Secret key

Publishable key

Item name

Currency

Credits - This is a special type of payment. It allows your users to pay a greater sum once to buy credits, and then use the credits for any option that requires payment on your site. It also allows you as administrator give free credits for users, if you decide so. When this payment is enabled you will see an extra column for Credits in Users list page, and when you edit an user account you can modify the number of credits.

Note:

* Note that this type of payment can only be used by registered users, since for guests there is no way to keep a record of existing credits or old payments.

Note:

** It is adviced that this payment is used together with at least other payment. This way users will be able to pay for their credits, and if they don't have credits in their account they will be able to use an alternate payment system.

To use credits you need to make the following settings:

One credit equals - the sum for which one credit stands. For example, if one credit is $2, then to buy 2 credits a user needs to pay $4, and 2 credits can be used to pay once or multiple times for options in value of $4.

Enable for groups - you can choose to allow credits for all user groups, by leaving selected All User Groups, or you can only choose some user groups which are allowed to use credits.

Credit Packages - add as many credit packages, but at least one. Users will be able to buy credits using these packages from their main user account page. For each package you need to define a name, price, number of credits, and you can also configure each package for a certain user group.

Manual Payment - can be any type of payment that is not an online payment: check, money order, wire, even SMS payments. What these types of payments have in common is that after the customer pays, you need to check that payment manually, and if you received the money, enable the option the user paid for, from your administrator interface. Usually you set this type of payment as Pending. The listing or option or whatever the user bought from your site stays pending until you check the payment and accept it.

Free - is added here as a payment method for consistency. So when you make settings for the payment called Free, you make actually settings for not paid items. You cannot disable Free payment type.

1.8.1.8.2 Invoice Settings

If you want to generate downloadable invoices for the payments towards your site here is where you configure it.

Enable invoices - Enables invoices and every payment towards your will have a donwnloadable invoice.

Seller details - Place here the information about your company you want to appear on the invoice.

Invoice logo - The logo will appear on the invoice.

User fields - These fields will be used to get information about the buyer. Use fields like Contact name, Company name.

Invoice filename - The donwnloaded invoices will have the name composed by this filename followed by the invoice number. Ex.: invoice_name001.pdf

Custom text - If you configure any text here it will show at the bottom of the invoice as a text.

1.8.1.9. Mobile Settings

Enable mobile templates - Enable mobile templates for your site.

Template - choose the template you want to use for mobile version.

Enable mobile subdomain - When browsing with a mobile device, the site will redirect to the m subdomain, eg: http://m.yourdomain.com. Also, you will be able to view the mobile version with a normal device by accessing the m subdomain.

Note:

Important! Before enabling this option make sure you add the subdomain m for your domain and make it point to the same folder as the main domain.

Number of listings on page - number of listings on a page for mobile version.

Show Top Header - check this option if you want an image to appear on the top of a mobile page.

Header image - use this form to upload an image to be displayed on top of your pages.

Header image link - enter a link for the top image. Leave blank if you don't want the image linked to anything.

Small thumbnail dimensions - width and height for small mobile thumbnail

Bit thumbnail dimensions - width and height for big mobile thumbnail

Default small image - upload an image to be used instead of the small thumbnail in case there is not image for the ad.

Default big image - upload an image to be used instead of the big thumbnail in case there is not image for the ad.

1.8.2. Manage Categories

1.8.2.1. Some terms explained

Parent Category and Subcategory - With our script you can display categories on more than one level. For example, you can have a category Jobs and under that category 2 more categories I'm looking for work and I'm offering work. In this case, the categories I'm looking for work and I'm offering work will be subcategories, and Jobs will be their parent category. You can have as many levels like this you want, for example the subcategories can have subcategories of their own, and so they will be parent categories for those subcategories.

1.8.2.2. Adding or editing an existing category

Click on the Add button to add a new category, or on an Edit icon to edit an existing one.

You will have to edit the following form:

Name - name of category. This field is required

Description - you may enter a description for this category, but it is not required

Picture - enter a picture for your category - optional. This picture will be used only when you select Display categories type as Browse Categories in Settings / Site Appearance section.

Icon - enter an icon for your category - optional. This picture will be used only when you select Display categories type as Tree Categories in Settings / Site Appearance section, and only for main categories (first level categories).

Parent Category - if you want this category to be a subcategory, then choose here the parent category. This newly created category will be added as a subcategory for the parent category you choose.

Fieldset - you must choose a fieldset for each category. Please see Fieldsets section for a more extended explanation for fieldsets.

Page Title - The title of the page for this category. If nothing is entered here, the value set in Settings / Seo Settings will be displayed as title instead.

Meta Keywords - meta keywords for this category

Meta Description - meta description for this category

Allow to post ads to category - you can choose that only some user groups have access to post to this category. If you want this, you must choose on the radio buttons that follow, instead of All User Groups, which is default, Only selected groups. A new select box will appear below. Select the groups that will be allowed to post ads in this category. You can choose multiple groups by keeping CTRL pressed down.

1.8.2.3. Browsing existing categories

You can view the existing categories in a table. You can edit, delete and view the allowed user groups list for each category using the icons attached to every row.

You can also change categories order here by using the ordering buttons. The categories will appear ordered by the order you see on this page.

1.8.3. Fieldsets

Fieldsets are a way to link categories with custom fields. If on your site you have categories that need different fields each of them, then you can group those fields on fieldsets Ex: you will have a fieldset for Auto and one for Real Estate. Both categories and fields must be assigned to a fieldset (for fields you can choose to assign them for all fieldsets if you want to, then they will appear for every category).

Fieldsets are supposed to ease the work when adding fields and categories. For example, when you add a new category you will only need to choose the right fieldset for it, not to edit the fields to make them show for that category. Please see an example for setting up fieldsets, categories and custom fields in Setup Example.

1.8.3.1. Adding a new fieldset or editing an existing one.

Click on the Add button to add a new fieldset, or on an Edit icon to edit an existing one.

You will need to enter in the form that follows a name (mandatory) and a description (optional).

1.8.3.2. Browsing existing fieldsets

You can view the existing fieldsets in a table on Settings / Fieldset page. You can edit, delete and view the categories that are added to this fieldset using the icons attached to every row.

Note:

When you delete a fieldset, if you have categories added for this fieldset, a modal window will popup and will ask you to move the categories to other fieldset.

1.8.4. Listing Custom Fields

With Listing Custom Fields you can customize ad submitting forms. This is very important for your classifieds site, so you should read the following carefully.

The fields you see in the table on this section will appear on the submit form, in the same order, not necessarily all of them because you can set some fields to appear only to some categories, as we will explain below.

Note:

If you look in this table, there are a special type of fields: read only fields. Those fields are marked with a different color (orange) and you cannot delete them. Even if you cannot delete them, you can still disable those fields if you don't want to use them, and you can edit the name and settings. There fields are: Price and Zip.

1.8.4.1. Adding a new custom field

To add a new custom field click on Add button on top of custom fields list. You will need to fill in a form, and we will explain each field below.

Fieldset - you can choose to which fieldsets to link this field to. By doing this, you actually link the fields with categories. If you want the field to appear for every category, leave the default All Fieldsets value. Otherwise, choose Choose Fieldsets and then select from the following list one or more fieldsets.

Type - there are some type of fields you can choose from, depending on how you want to use this field:

  • Textbox - a textbox field

  • Textarea - a textarea field

  • HTMLArea - a HTML editor will appear that will allow some basic HTML formatting

  • Menu - a menu field

  • Multiselect - a multiselect menu field

  • Radio Buttons - radio buttons

  • Radio Buttons Group - radio buttons grouped 3 on a row.

  • Checkbox - a checkbox

  • Checkbox Group - more checkboxes grouped 3 on a row

  • Depending Field - a special type that is in fact represented by 2 up to 4 menu fields. Fields starting with second one will have a list of values that depend on the selected value for the previous field. An example of this field is Country & State default field. For each country there is a list of states. When selecting a country in the first menu field, the second field will only show the states for that selected country. Another example will be Makes and Models list. See how you configure depending fields in Depending Fields section.

  • Url - a textbox field that when filled in, will be checked to be a valid URL

  • E-mail - a textbox field that when filled in, will be checked to be a valid email address

  • Phone - a textbox field for phone number which has a special behavior. A field of type Phone will display with a phone icon in front, hidden with asterisks and with a Show Phone link next to it. This is a measure to protect your clients phone numbers from being stolen by bots. This field also has an extra option called Validation and International format which will validate the phone number according to the country prefix selected from a dropdown list.

  • WhatsApp - a textbox field for WhatsApp account. Just like the Phone field type, an WhatsApp field will be hidden from the viewers and will show only when you click on a Show button.

  • Twitter - a textbox field for Twitter account. Will appear with a link towards the Twitter account.

  • Date - a date field. It will appear as a textbox at first, but once you click it, a date selector will appear and let you pick a date.

  • File - a file type field

  • Image - a file type field that will check the uploaded file extension to be an image (gif, jpg, jpeg, png)

  • Youtube - a textarea that will accept an Youtube Video embed code or a Youtube video url. This will integrate in the listing details page an Youtube video.

  • Google Maps - a Google Map will appear and users will be able to choose a location. This map will show on listing details page.

Name - name of the field.

Error Message - the error message shown when the field is required and no value was entered or if the user entered a wrong value.

Note:

A common issue here is entering a complete error message, which expresses all possible errors. Please take care that this error message will show in more than one cases: if the field is required and the field has not been filled in, if the field requires a validation, for example it verifies for a valid email and the string entered is not an email form, if there is a minimum or maximum number of characters defined and that number has been crossed, for images and files if a different extension has been uploaded or the file is greater than the maximum accepted. If one of these restrictions are not met, the Error Message is shown.

So when the following question is raised:

Why is the error "You did not filled in X field" appears even if I fill in the field?

Then you should check what is the case for which the error appears and edit the error message to express all the cases.

Ex: Please upload an image as your logo! The image should have one of these extensions: gif,png or jpg and can have maximum 1M.

Info Message - an info message that will help the user enter a correct value

List Top Value - (only for menu field type) - the first value that shows on a menu field and that is visible without choosing anything in this field. This value usually is the same as name of the field, or a value like Choose country for example.

Is Numeric - choose this if your field will contain only numeric values.

Number Format - if the Is numeric checkbox is selected then you can configure here the format for the numeric field. You can configure number of decimals, decimals point and thousands separator.

Validation Type - (only for textbox field) - you can set that the value entered in a field to be validated. You can choose one of the predefined types: alpha, alphanum, digit, numeric, price, email, url or enter a valid regular expression. Ex: ^[A-Z0-9._%-]+[A-Z]$

Validation types explained:

  • alpha - one or more letter character Ex: abcde

  • alphanum - one or more letter and number characters Ex: 0a1b2c3de

  • digit - a single number character Ex: 1 or 0 ...

  • numeric - one or more number characters. Numbers formatted as Number Format is defined in Settings / Site Appearance section are accepted. Ex: 12534 or 12,534

  • price - one or more number characters. Numbers formatted as Price Format is defined in Settings / Site Appearance section are accepted.Ex: 12534 or 12,534.00

  • email - a valid email address Ex: email@yoursite.com

  • url - a valid URL Ex: yourdomain.com

Input Field Size - (only for some of field types: Textbox, Textarea, HTML Area, Url, Email, Date, Multiselect, Youtube). This defines the field size. For the one dimensional fields (Textbox, Email, Url, Date) you must enter a number. Ex: 30. For the 2 dimensional field types like Textarea, HTML Area, Multiselect and Youtube, you must enter the number of rows and columns for this field separated by X: CXL. Ex: 50X4

Minimum Characters - if you want a minimum of characters set in this field, then enter it here. Otherwise leave 0 as value.

Maximum Characters - if you want a minimum of characters set in this field, then enter it here. Otherwise leave 0 as value.

Minimum elements selected - this is a special setting only for Multiselect fields. If you want a minimum number of elements selected from the list use this setting.

Maximum elements selected - this is a special setting only for Multiselect fields. If you want a maximum number of elements selected from the list use this setting.

Default Value - if you want a default value set to this field you can set it here

Prefix - a string or a character that you want placed before that field. The prefix will also show up on details page once set up before the value filled in the field.

Postfix - a string or a character that you want placed after that field. The postfix will also show up on details page once set up after the value filled in the field.

Date format - (only for Date field type) - you can set the format for date.

Date format uses the following encoding values: d, dd, D, DD, oo, m, mm, M, MM, y, yy . Please see below the explanation for each code:

  • d - Day of the month without leading zeros (1 to 31)

  • dd - Day of the month, 2 digits with leading zeros (01 to 31)

  • oo - Day of year, three digits with leading zeros (001 -- 365)

  • D - A textual representation of a day, three letters (Mon through Sun)

  • DD - A full textual representation of the day of the week (Sunday through Saturday)

  • m - Numeric representation of a month, without leading zeros (1 through 12)

  • mm - Numeric representation of a month, with leading zeros (01 through 12)

  • M - A short textual representation of a month, three letters (Jan through Dec)

  • MM - A full textual representation of a month, such as January or March (January through December)

  • y - A two digit representation of a year (Examples: 99 or 03)

  • yy - A full numeric representation of a year, 4 digits (Examples: 1999 or 2003)

Maximum uploaded size - (only for File and Image types) - the maximum size allowed for a file to be uploaded on this field.

Allowed Extensions - (only for File types) - you can allow only some file extensions to be uploaded on this field. Use comma separated values. Ex: pdf,doc,txt.

Note:

It is recommended for safety to use this field for File field types! By using it, you control what users can upload to your site and you avoid situations when a user can upload a malicious script to your site.

Resize Image to - (only for Image type) - the uploaded images will be resized to these dimensions. Leave blank if you don't want the images to be resized! The image size should be in the form: WXH, where W=image width and H=image height. Ex: 150X100 - the image will be resized to a smaller image with 150px width and 100px height.

Elements - (for types: Menu, Multiselect, Radio Buttons, Radio Buttons Group and Checkbox Group) - enter here the values to select from. For example, for a Menu field type, these values will be shown when you drop down the menu list as elements of the list, for Radio Buttons will be the actual choices for the radio button and so on.

You can add multiple elements to the list separated by | sign or each on a separate row.

Accept other values - ( only for Menu and Depending Fields) - the user will be able to add other values than the ones in the list, by choosing the "Other" value in the list and typing in a textbox.

Refine Search - the field will appear in refine search box. This is not acceptable for some field types: Image, File, Google Maps, Checkbox Group and Radio Group. For these types of fields you will not be able to choose to appear in Refine search box.

Quick Search- the field will appear in quick search box. This is not acceptable for some field types: Image, File, Google Maps, Checkbox Group and Radio Group. For these types of fields you will not be able to choose to appear in Quick Search box.

Search type - you can choose what kind of search will be performed on this field:

  • Exact Match - the search will look for an exact match of the searched term.

  • Interval - will appear and can be used only for fields that contain numeric values (Is Numeric is checked). The search form will display a Min field and a Max field for this form, and it will be possible to search using a minimum and a maximum value.

  • Keyword Search - the search will look for ads that contain the searched value, the value does not have to be matched exactly.

Search Values - Will show up only when your field is a textbox field, you enabled Is Numeric for it and you choose as Search Type Interval. Enter here the list of numeric search values that you want to attach to this field. When this field will appear on a search box (Quick Search or Refine Search), it will appear as two drop down list, one for minimum value and one for maximum value, each drop list containing the values you enter in Search Values field. You can add multiple elements to the list separated by | sign or each on a separate row.

Required - the field is required / mandatory. If it is not filled in, the error that you fill in Error Message will show.

Editable - choose if the field is possible to edit when editing a listing. If the field is not Editable, then after posting the ad the field will not be possible to be edited by the listing owner.

Note:

Non Editable fields can still be edited by site administrator!

Unique - When this option is enabled, the value for that particular field needs to be unique in the database. If same value exists already in the database for that particular field, it will not allow it and show the error configured in Unique field error message. This option comes handy if you will use the newly added SMS validation option. It will stop users creating multiple accounts with the same phone number.

Unique field error message - The error message displayed when the value entered for a Unique configured field already exists in the database.

Active - or enabled. If the field is not active, then it will not appear in the submit form or on details page. You can use this if you want to disable some fields temporarily, without deleting them.

Note:

When you delete a field, you miss all information that were previously set for this field in the site listings. If you are not sure if you will use this field and you have listings that have values for this field, then you can disable it until you know for sure.

Validation and International format - This is a special option for Phone fields only and it formats and validates a phone field in international format. When enabled it will show a drop down list in front of the field containing country flags. When selecting one country flag the phone field will be prefilled with a sample format number. Invalid numbers are not accepted and the number is stored in international format in the database.

Note:

A phone field with this option required is mandatory in order to use SMS account validation.

Show prefixes only for countries - When Validation and International format is enabled for a phone field you can limit with this option the number of countries displayed in the drop down list. By default all countries are shown, but if your business is localized in a specific area you can list here the countries you want allowed. Use comma separated 2 letter country codes (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) like for example: gb,de,fr,es

1.8.4.2. Editing an existing custom field

You can edit an existing custom field by clicking on Edit icon in the custom fields table.

When you edit a custom field, the only difference is that you will not be able to change the field type. The type will remain the one the field was initially created with. All the rest of the configuration fields are the same.

1.8.4.3. Depending Fields

As we mentioned before, Depending Fields is a special type of fields that will show 2 or more (up to 4) menu fields. Fields starting with second one will have a list of values that depend on the selected value for the previous field.

We will treat depending fields separately because they configure differently from the other fields and have separate configuration pages.

Adding a custom depending field - you add a depending field the same as other fields, by choosing the Add button. Once you are on the Add custom fields page, you must select as field type Depending Field. This will show you the following fields:

Fieldset, Type, Name, Info Message, Is Numeric, Accept Other Values, Refine Search, Quick Search, Editable and Active - were previously discussed in the previous section so we will not explain them again.

Depending Fields Number - choose how many fields you want one depending on another. You can choose 2, 3 or 4.

Field no N - name for the N-th menu field (N can be from 1 to 4)

List Top Value N - top value for N-th field

Error Message for Field no N - the error that will show if N-th field is marked required and no value is chosen

Field no N required - choose if N-th field is required

Edit depending fields - you can edit the settings for a depending field by clicking on Edit icon in the fields table.

Edit depending fields values. Here is the page where you actually enter the values for each of the menu lists. You will be always taken to this page after creating a depending field. If you want to change the values later, then you can click on the purple button Edit Values which is located just below the field name.

On edit depending field page you have an area for every of the fields. The first one is for the first field, and you can add values separated by comma or newline. For the following field, when you enter values, you can choose for which value of the previous field you wish to add the values.

One special case is that which, when adding your depending field, you choose a number of fieldsets for the field, not All Fieldsets value. In this case, you can add different values for the first field for each fieldset.

One example for this case would be a depending fields used for Makes and Models. When adding this field, you choose it for the following fieldsets: Cars, Motorcycles and Boats. Because each of the categories for cars, motorcycles and boats will have different makes, you would not want them mixed together. In this case, when editing the depending field values list you will enter values for makes for each fieldset: first choose Cars from fieldset list and enter the makes and models list for cars. Then do the same for Motorcycles and Boats. As a result, depending on which category the user will choose, the correct makes list will show.

The benefit in using this technique against the one where you add a field for each fieldset (Cars makes and models, Motorcycles makes and models, Boats makes and models) is that you will have a single field for Makes and Models, not one for each category type. So in your search forms will not appear duplicate fields, but a single field that will change its list of values with the proper one, depending on what category you choose.

If you want to enter values that are common to all fieldsets, then you can add values for All fieldsets selection. Those values will appear for all fieldsets set for this field.

1.8.4.4. View and manage listing custom fields

In the table from Settings / Listing Custom Fields section you can see and manage the existing custom fields. You will see some information about the fields on each of the table columns. One column that we should explain is Database Field. This field shows the name of the column where the information entered with a listing is kept on the database, in the listings table. Use this value as reference if you want to set other searchable fields from Settings / Listing Settings - Search in fields field, when setting the location field in Settings / Listing Settings - Location fields. Or in case you want to define Import / Export templates.

Other action that you can make on custom fields here is changing order. Like in case of categories, the order that you see here is the order used for the submit form. For the details page it is a little different, all the fields that occupy more space are placed after the ad description Ex: Youtube fields, Google Maps fields, HTML Area fields, Checkbox Group fields.

Using the Action icons you can perform the following actions on the fields:

  • Edit - edit field settings

  • Edit depending fields - this field was described above

  • Delete - delete a custom field

  • Enable / Disable - make a field Active or Not Active. The fields that are disabled don't show in submit form.

1.8.5. User Custom Fields

In the same manner as you can customize submit ad form from Settings / Listing Custom Fields, you can customize the registration form in this section. These custom fields will form the user profile, and are very similar to listing custom fields. This is why we will only point out the differences between these two sections.

Here also read only fields exist, but here are different ones: Username, Email, Password.

There is also a special field called Contact name field. It is not a read only field, but there has to be one custom field at all times assigned as a Contact name field. It is strongly encouraged to configure this field as a required field. The Contact name field is marked in the fields table with a dark gray label. Clicking on that label a window will open which will allow you to change the contact name field to other field. Also when you delete this field a similar window will appear asking you to choose another contact name field.

On user custom fields there are two extra type of fields:

Terms and conditions. This field added to the registration form will require that the user checks a checkbox (by which he agrees to your site terms and conditions). When you choose this type of field, a box named Terms and Conditions will appear. Place there your site terms. You should also place an error message that will appear if the user did not checked the checkbox, and an info message that should express that the field must be checked in order to register.

There are 3 more settings that appear for a field in Add or Edit area:

Not logged in guests only - use this to enable this custom field for not logged in guests that post ads. The field will appear in submit ad form, in Your information section, section containing information about the person posting the listing.

Important:

This option can be used only when Enable post without user account is enabled in Settings section.

Important:

If one field has this option enabled, then it will not appear in the registration form for no user group. It will appear only in submit listing form when the listing is posted without an account!

Public - if the field is public, not public, or the user can choose if it is public or not. A public field will appear in the user profile on details page or on Dealer Page or the similar More listing for this user page. In other words, the field will be public for other users or guests. If the field is not Public, then it is only visible for administrator and owner. If you select the 3rd option User choice, then next to the field in registration and edit account information forms a new checkbox will appear Make public. The user will be able to choose whether this field will be visible or not.

Use Field For - if you use more than one user groups, choose here the group you want this field to appear for. You can customize like this the user groups to ask different information. For example, if you run two different groups, one for private users and one for companies, the registration form for companies could contain extra fields, like company name, address, location on map, company logo, and so on.

Important:

When Not logged in guests only option is enabled it is not possible to choose any user group because that field is only used for not logged in guests that post ads.

1.8.5.1. Logging in with username or just email address

You can allow your users to login using with their chosen username, or you can allow them to login with just their email address. This can be configured only by enabling or disabling the Username field.

The Username field is a read only field, so you cannot delete it. But you can disable it, and when you do, the registration form will not require a username, only an email address. The login process will also require an email address and a password. When this field is enabled your users will need to use the username in order to login.

1.8.6. Languages

This script can be used as a multilanguage site. You can define multiple languages and users can switch between languages from site frontend.

1.8.6.1. What multilanguage adds to your admin interface

Changing a language does not refer only to changing the translation for the language file. There are other elements in the database that need to be translated like: categories names and description, field names and other elements related to fields, email messages and info messages, and so on.

When adding a new language you will see duplicates of some fields in the admin area for each of the languages. These fields are usually string fields that are visible from frontend. Here is a list with these elements:

  • some settings in Settings / General Settings section: Admin Name and Site Name

  • Footer Text from Settings / Site Appearance section

  • most of the settings from Settings / Localization section : Charset, Default Currency, Currency Position, Short Date Format, Long Date Format, number and price format settings

  • priority names from Settings / Extra Visibility Options

  • most of the settings in Settings / Seo Settings section: Default page title, Default meta description, Default meta keywords, Listing page title format, Listing page meta description format, Listing page meta keywords format, Search page title format, Search page meta description format, Search page meta keywords format

  • for each category: Name, Description, Page Title, Meta Keywords and Meta Description

  • for each listing plan: Name and Description

  • for each user group: Name and Description

  • for each custom page: Title, Content, Meta Keywords and Meta Description

  • for each RSS feed: Short Title, Title and Description

  • for each listing custom field - Name, List Top Value, Error Message, Info Message, Default Value, Prefix, Postfix, Elements, Date Format, Search Values

  • for each user custom field - Name, List Top Value, Error Message, Info Message, Default Value, Prefix, Postfix, Elements, Date Format

  • for each depending field: fields names, List Top Value, Info Message and Error Message. Also, all field values can be edited for each language.

  • each email template in Templates / Email Templates section.

  • each info template in Templates / Info Templates section.

  • some modules section for the following modules: Comments, Loan Calculator, Tag Cloud, Browse by Location, Browse by Make, Similar Ads and News.

When you add a new language, if a file with the name "Language Id.php" does not already exist, one is created with this name by copying the default language file with a new name. Ex: if you create a new language Spanish , with the Language Id esp, a file esp.php will be created for this language. For the translations that don't already exist for our script, you will need to translate this language file from Templates / Language Editor section.

1.8.6.2. Adding a new language

You can add a new language by clicking on Add button from Languages page. You will have to fill in a form:

Language id - must be unique, you cannot add two languages with the same id. Enter here a short code for your language, without spaces. This id will be used for the language file name and as id for your language in the database.

2 letters language code - use the proper 2 letters iso code for the new language. The can be found in the following list http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes. This code is used to automatically select the proper language using the language set for visitor's browser.

Language Name - The name for your language. If you don't set a language image, then this name will be placed on frontend for users to choose from to switch between languages.

Language Image - as we stated above will be used on frontend to switch between languages. It will also be shown on administrator interface on fields that have different versions, one for each language.

URL special characters replacement set - URLs allow a limited set of characters. This is why special characters need to be either encoded or replaced by a a-z equivalent letter. Choose here the proper characters map set to be used to replace the special characters. You should choose the all sets that are likely to be found on your site.

Important:

Choosing too many characters replacement set will have effect on your site performance, so make sure you limit only to the ones that are really needed for your site.

Text direction - you can choose either left to right or right to left text direction. The templates will change accordingly when a right to left language is chosen.

Default - one language (and only one) must be set as default. That language will be the default language when someone enters the site. After a visitor chooses other language, the option will be remembered in a browser cookie and next time that visitor will enter the site that chosen language will be set by default.

Note:

If a guest visiting your site for the first time has its browser configured with a language that your site has enabled, then this language will be considered as default, not your default language. The default language is actually the second choice, if the browser native language is not found.

Enabled - if the language is not enabled it will not appear in site frontend.

1.8.6.3. Managing languages

You can see the existing languages in the table from Settings / Languages section. You can perform a series of actions with Actions icons for each language:

  • Edit

  • Delete

  • Enable / Disable

  • Set Default - set the language as the default language.

You can also change languages order with Order buttons. The order will be used on site frontend, to display the languages visitors will choose from.

Note:

If you will build your site as a multilanguage site, then you should do the operation of adding the extra languges among the first operations that you make on the site. If not, you will have to return to the settings you already made and see if you must enter the other language variant for different fields!

1.8.7. SMS gateways

If you use SMS validation for user accounts or for listings posted without an account, then you must configure here a SMS gateway.

This page contains a table with the supported SMS gateways in our system. The SMS gateway configured as Default will be used for sending SMS. It is not possible to use multiple SMS gateways, just the default one will be used.

When you pick a Default SMS gateway you will also need to create an account with their company, if you don't have one already. You will also need to purchase credits with the SMS gateway company in order to be able to send SMS messages. Make sure you don't run out of credits, because in that case SMS messages won't be sent and then users won't be able to activate their accounts or listings. The prices differ with company and country to which you choose to send messages.

Use the details you received when registering to the SMS gateway site in order to configure the SMS gateway in OxyClassifieds SMS gateways section by clicking on Edit Settings button.

1.9. Modules

Modules will add extra functionality to your site only when installed and enabled.

Modules can be already included in the script, or downloaded separately from our site. If downloaded separately, you will need to follow the instructions in the readme file that accompanies each module. You might need to make some modifications to the script source files, but it will all be documented in installation instructions for each module.

In Modules section you can view all modules in your system and their state. On a new installation, the modules will be not installed and you will see an Install button for that module. If you want to use this module you should click on this button and it will be installed. With this installation process, some new data is added to your database and the module is ready to use.

After a module is installed, some new buttons will appear: Settings, Enable/Disable and Uninstall.

Settings - will allow you to enter a page where you can perform certain settings for this module. For each module the settings page is different and it will allow you to control its functionality.

Enable/Disable - you can enable this module if disabled or disable it if enabled. For a module to work it needs to be enabled.

Uninstall - use this to uninstall a module. Keep in mind that this will delete all database information related to this module, so if you will want to use it later it will be reinstalled with the default data. If you want to keep the data use Disable button instead of Uninstall and the data will be kept, but the module will not appear.

We will describe below the modules included in the script. These modules are already added to the script souces, the only operation that you need to perform for these modules is click the Install button if you want to use them.

1.9.1. Adult categories

This module allows you to ask your guests to agree a disclaimer when accessing a list of selected categories. It is meant to make your site comply with different laws which ask site owners to warn their viewers about possible adult content.

Possible settings for this module:

Categories list - list of categories which will ask for disclaimer agreement.

Cookie availability - The terms agreement will be remembered and not be asked again until this time period passes.

Disclaimer text - The actual disclaimer text.

1.9.2. Area Search

This module allows you to add area search to your search forms. Area search means searching ads that have the location within a given area in miles or Km from a zip/postcode geographical location.

When this module is enabled, on Quick Search and Refine Search forms, instead of the field Zip that is added with any installation will appear two fields:

  • Zip/postcode - enter a zip/postcode code to which comparations will be made

  • Distance - choose the distance from that zip/postcode you entered you want to look for ads in your search. You can choose a distance in miles/Km, you can choose Exact Location, and searches will be made only for that specific zip/postcode, or you can leave the default option that is All Locations.

In order to work, this module needs a database with your country zip/postcodes that contains geographical coordinates (longitude and latitude). By default the module contains databases for USA and UK. If you want to use this module and your classifieds is for another country you will need to search for one yourself. Keep in mind that you need to search for one that contains longitude and latitude coordinates. You will find lower in this section some information related to some places where you can find them.

When entering this module Settings section you will find a series of subsections:

  • Settings - here you can make some appearance settings: Unit Measure - choose between Km and miles, and you can enter the list of predefined values for search form distance drop down menu.

  • Import - use this subsection to import new zipcodes. We will describe this section below.

  • Add - add a single zipcode/postcode.

  • Delete - delete zipcodes/postcodes for one country or all of them.

  • Records - browse zipcodes/postcodes database. You can here delete them one by one.

Importing new data

For importing zip data csv format is used. This is a widely used format, and if you purchase or download zip data, usually you will find it in this format. The format assumes data for each zip/postcode on a separate row, with data columns separated by a sign, usually comma. You can specify a different sign if your database uses a different one in Column Separator setting. Also, these columns can be enclosed in quotes or other sign, to make the delimitation even better. This sign can be set as Field Separator.

Data fields that are needed for each zip are: zipcode/postcode, latitude and longitude. Since databases come in different formats, with additional fields like city, district, state and so on, you will need to specify the column number for each of the needed fields in Columns Ordering. The order is usually found in the first row of the database, with a # sign in front. Please write down the order for the fields you need, and then remove this first line.

After you filled in the upper information, browse the file that contains your database. This file should have one of the following extensions: .csv or .txt. If it does not have this extension, but you know it is csv format, you can simply change it to one of these.

Information about zipcode databases

The databases included in our script are for the following countries:

UK - free database thanks to freethepostcode.org team. You can see a coverage map here: http://wiki.openstreetmap.org/wiki/Free_The_Postcode_UK_Coverage. You can always download an updated list from the following link: http://freethepostcode.org/currentlist.

USA - free database thanks to boutell.com.

Other unincluded free data:

Canada - you can download a free database for Canada from http://www.populardata.com/postalcode_database.html

Lots of countries databases: http://www.geonames.org

If our script does not have zip/postcodes data for your country, of you consider it incomplete or not up to date, you can purchase a commercial database from one of the following sites:

  • http://www.geopostcodes.com - databases for 88 countries, good prices.

  • http://www.zipcodeworld.com - databases for USA, Canada and Mexico.

1.9.3. Banners location

This module allows configuring banners for a certain location only. Choose one field to act as the location field for your banners, for example Region or City and you will be able to configure each banner for a specific value of that location field.

Note that configuring locations for banners makes sense only for listings search page and listing details page. For all other pages location is irelevant, so it will show banners regardless of location. If you want the banners you're configuring with a location to appear only when that location is selected, you will need to configure it only for sections details and listings

You can make the following settings on this module:

Location field - choose the location field for banners. You can only select a single field.

Display any banner with no location set when there are no banners for a specific location - For example you are on a search page searching for Paris, but you don't have any banner configured for this city. If this box is checked, then the script will display any other banner that wasn't setup for a specific location.

1.9.4. Browse by Location

This module will show on first page of the site a box with locations listed and linked towards a search page for that location.

You can make the following settings for this module:

Title - is the title that will be shown on top of the box, if you choose Single type for this module (see below more explanations).

Number of columns - number of columns shown in the first page box.

Mode - this module can work in two modes: Single and Double. In Single mode, you will choose the Location Field to be a menu type custom field, and the values contained as this field elements will show in the location box in the first page. In Double mode , you will choose the Location Field to be a depending type custom field (for example Country & Region field). As a result, the first field values (Country values) will show on top of the box as tabs, and second field values (Regions) will show in the box as locations. When clicking on the top tabs, you can choose a different set of locations, in our example regions for another country.

Location Fields - you must choose here one of the custom listing fields that you defined in Settings / Listing Custom Fields section. In in single mode, the fields that you can choose from are Menu fields, if in Double mode: Depending fields.

Example1: you have a menu field defined for regions named Region. Choose Single mode and this field as Location Field and the values you entered as field elements will be listed in this module box.

Example2: you have a depending field defined for countries and regions named Countries & Regions. Choose this field as Location Field and the values you entered for first field of this depending field ( Countries ) will be listed in top of module box as tabs, for example you will have one tab USA, one tab for UK, one for Canada. The values you enter in the second field of depending field (Region) will appear in the module box. When clicking on one country tab, locations list will change to regions belonging to that country.

1.9.5. Browse by Car Make

This module was meant to show on first page of the site a box with car makes linked towards a search page for each make. But it can be used to display other information instead of car makes if your site is not a car based classifieds and you need this module functionality.

You can make the following settings for this module:

Title - is the title that will be shown on top of the box, if the chosen field for this module is not assigned to multiple fieldsets (see below more explanations).

Number of columns - number of columns shown in the first page box.

Make field - you must choose here one of the custom listing fields that you defined in Settings / Listing Custom Fields section. The fields that you can choose from are Menu or Depending fields.

Example1: you have a menu field defined for makes list named Make. Choose this field as Make field and the values you entered as field elements will be listed in this module box.

Example2: you have a depending field defined for makes list named Makes & Models. Choose this field as Make field and the values you entered for first field of this depending field ( Makes ) will be listed in this module box. If this depending field has different values for different fieldsets, then instead of the module title will appear tabs with the fieldset names, and when changing fieldset tabs you will see the values for that fieldset. For example, if your field is assigned to both fieldsets Cars and Motorcycles, two tabs will show on top of Browse by Car Make called Cars and Motorcycles. When clicking on Cars tab, cars makes will show, when clicking on Motorcycles tab, motorcycles makes will show.

1.9.6. Comments

This module will add comment capabilities to each details page.

When entering this module settings page you can see two areas: first, Comments, where you can view and manage existing comments, and second, Settings, where you can make settings for this module.

Comments - you can view information about each comment: post date, user (if was posted when logged in) , email address, and you can also perform some actions on them: Edit, Delete, Enable/Disable and Block Ip it was posted from.

Settings - The possible settings are the following:

Require Login - If this is enabled, you must login first to be able to post a comment.

Admin verification - Choose if you want to verify each comment before allowing it to show. You can choose between: Always, Never or When not logged in. If you choose the last option, only comments that are posted by guests (not logged in users) will wait for your approval.

Use image verification - Choose if you want to use image verification for posting comments. You can choose between: Always, Never or When not logged in.

Email field - Choose if you want the email field added to comment submit form. You can choose between: Required, Do not use or Optional.

Website field - Choose if you want the website field added to comment submit form. You can choose between: Required, Do not use or Optional.

Use HTML editor - Check if you want the comments text box to appear as a HTML editor.

Check for forbidden words - Check if you want the content of the comments to be checked for forbidden words. The list set in Tools / Forbidden Words will be considered.

Allowed HTML tags - Choose here which HTML tags to allow in your comments text.

Use as logo - If you have any image custom fields defined in your Settings / User Custom Fields section, for example a logo image for each user, you might want to use it to show next to each comment posted by that user. Use this setting to choose that field.

Comments terms - Add here a Terms and Conditions text that you would want shown next to the comments box.

1.9.7. Compare listings

This module will allow you to add listings compare functionality to your classifieds site. When installed, from each short version of the ad and from listing details page you will be able to add a listing to compare list by clicking on an Add to compare link. If the listing is already in the compare list, you will be able to remove it. You also will have a list containing titles of the compare list on the left of listings search page and on the right of listing details page.

When going to the compare listings page you will be able to see the compared listings one next to other so you can compare the details for these listings.

There are no settings to be made on this module.

1.9.8. Connect

This module will add to your site the capacity to accept login using FaceBook, Google and OpenID accounts.

You can make the following settings on this module:

Enable Facebook Login - check this box if you want to enable Facebook login.

Important:

If you want to enable Facebook connect you need to create a new application in your Facebook account. See below the details for performing this action.

Access the following page: http://www.facebook.com/developers. You will be asked for permission to access your basic information. Accept this in order to move forward.

Use Set Up New App button in order to create a new application. You might need to confirm your Facebook account using a phone or credit card confirmation. You also need to fill in your Site Url under Web Site settings tab in Site URL field. To reach this settings page you need to click on Edit Settings after creating the new application.

Facebook App ID - enter your Facebook API ID gained from the actions described above.

Enable Google Login - allow users to login using their Google account.

Google Client ID - use the following guide to get your Google Client ID: https://developers.google.com/identity/sign-in/web/devconsole-project

Enable OpenId Login - allow users to login using their OpenID account.

Contact Name field - when the authentication is made first time, the name is remembered under this field.

Register as user to group - when the authentication is made first time, the user is registered as belonging to this group.

1.9.9. List Dealers Page

This module creates a page where all dealers are listed.

You can make the following settings on this module:

List all users with dealer page - lists all users that have dealer page enabled in their account.

List Groups - list users belonging to this group.

Link to navigation bar - If this checkbox is selected, a link will appear in the navigation bar taking to the dealers page.

Link name - If Link to navigation bar is enabled then you can set here the text you want to show up in the navigation bar.

Logo field - If you have an image logo field setup for your users, choose it here, and it will show up in the left side of each dealer box. If you have Dealer Page enabled you can choose Dealer Page Banner as the dealer logo.

Name field - The field that will stand up as the main field (name or company) for dealers.

Details fields - Choose here other dealer details fields that you want to show up.

Search fields - The fields you choose here will appear in dealers page as search fields, to allow users to search for different terms.

Group dealers in categories - If you check this box dealers will appear grouped by values for the Category Field.

Category Field - Configure this with a menu type User Custom Field.

Number of categories on a row - Dealer categories on this many columns on the dealers page.

Page title, meta description and meta keywords - the page title, meta description and meta keywords on the dealers page.

Enable search map - on the dealers page a map will show with the current page dealers location.

Map visible - if checked, the search map will be enabled by default, otherwise you will need to click on Show map button to see it.

Search location fields - choose the fields which will be used to establish the location on the map, when search map is enabled.

1.9.10. Loan Calculator

This module will display a loan calculator box on each details page which will calculate monthly payment for a certain amount and considering other factors: Down Payment, Trade in Value, Loan Amount, Sales Tax, Interest Rate and Loan Term.

You can make the following settings for this module:

Module Title - the title shown above the loan calculator box.

Categories list - if your site is not a Realty based classifieds but it works in multiple fields, then using this setting you can configure only the categories which are Realty based to use this module.

Use "Trade In" field - choose to show a Trade In field in loan calculator box if this applies.

Default Down Payment - default value for Down Payment.

Default Interest Rate - default value for Interest Rate.

Default Loan Term - default value for Loan Term in months.

Default Sales Tax - default value for Sales Tax.

Currency - the currency used.

Text - add some explanatory text to the module box.

1.9.11. Meta extension

This module allows you to customize meta information for different search pages.

By default the search page will show meta tags set by you in Settings / Seo Settings page, or a category meta information, if a category is chosen as a search term. This can lead to many different search pages to have same meta information. This module helps you set different meta information for as much search pages as you want. This way your site can achieve higher search engine ranking.

The module functions in the following way: after installing this module click the Settings button. From the page you're redirected to, add a new "search - meta information" pair by clicking on the Add button on top. You can enter here page title, meta keywords and meta information, and fill the parameters of the search: category, search word, and other fields that you have in your database. When the guests will look for these terms, the meta information you enter here will show. When a search is made, the best match within your added meta extensions is considered (the one with the best number of search fields matched ).

For example: You have added in your meta extension module the following:

			1. title = Title for first case
			meta keys = Meta keys for first case
			meta description = Meta description for first case
			
			category = Real Estate
			country = Canada
			state = Ontario
		
			2. title = Title for second case
			meta keys = Meta keys for second case
			meta description = Meta description for second case
			
			category = Real Estate
			country = Canada
			state = Ontario
			city = Toronto
		

For a search like this:

			category = Real Estate
			country = Canada
			state = Ontario
			city = Toronto
		

The second meta info is used because it matches more terms than for the first one.

1.9.12. News

This module will allow you to add news articles to your classifieds site. The news articles will appear on the first page as a short version, and as full version when you click on Read more button.

You can make the following settings on this module:

Title - the title that will appear over the new box on the first page.

Number of news on first page - number of short version news that will appear on the first page.

Number of news on each news page - when clicking on Read More button and you are taken to a news list, on each page will appear this many news.

1.9.13. Promote listings

Some listings might not get the views they need. This module allows you to warn users which listings don't get enough hits that they can use your extra options in order to promote their listings.

You can configure the following: the number of hits is considered a low number of hits, the number of days for which the hits are calculated and an email template for the email sent to the listing owner. If for any listing, in the configured number of days the total hits does not reach the hits number you configure, then the listing owner will receive an email. The email should contain as much information as you can about the extra options you enabled on your site: featured, highlited, priorities, video classifieds.

1.9.14. Popular Ads

This module will make appear a box of most popular ads in the front page. Ads with most number of views are shown here.

You can make the following settings on this module:

Title - the title that will appear over the popular ads box.

Number of popular ads - number of popular ads.

1.9.15. Ratings and reviews

Using this module you can enable ratings and reviews for users or listings.

You can make the following settings on this module:

Allow to rate - choose the behavior of the module regarding rating same resource multiple times. You can choose between the following values

  • Allow any number of times - no restrictions regarding number of ratings given.

  • Allow only once per IP - allow only once to rate using the same IP.

  • Allow once a day per IP - restrict rating using the same IP address to once a day.

  • Allow once a month per IP - restrict rating using the same IP address to once a month.

  • Allow once a year per IP - restrict rating using the same IP address to once a year.

Require Login - you will be required to be authenticated to be able to rate.

Rate listings - enable ratings for listings.

Rate users - enable ratings for users.

Users cannot rate themselves - if this is enabled one user will not be able to rate himself or his/her own resource.

1.9.15.1. User reviews settings

Enable reviews - check if you want user reviews enabled

Use for groups - you can select here the user groups you want to allow reviews for. Leave unselected if you want this to apply to all user groups, or select all.

Admin verification - you can configure reviews to wait for administrator approval or not, or just in case a not logged in guest posts the review.

Use image verification - you can configure reviews to ask for image verification or not, or just in case a not logged in guest posts the review.

Title field - choose if you want to use title field for the review and if you want it to be mandatory or not.

Email field - choose if you want to use email field for the review and if you want it to be mandatory or not.

Website field - choose if you want to use website field for the review and if you want it to be mandatory or not.

Use HTML editor - choose if you want to use html editor or not for the review content.

Check for forbidden words - choose if you want the review content checked for forbidden words.

Allowed HTML tags - select here the html tags you want to allow in the content of a review. You should only choose harmless tags like <b>, <br>, <span>, <p>, <em>, <font>, <i>, <strong>, <u>

Use as logo - you can choose an image field to be used as a logo for the ones which post the review using their user accounts. Note that the script will not shrink the image, you should only use image fields which have a size limit or resize the images to avoid breaking the design of the page by displaying large images.

Reviews terms - if you want to display terms for posting the reviews you can add them here

Number of reviews on page - the number of reviews on a page, if more than one page exists.

1.9.15.2. Listing reviews settings

This subsection has similar settings like the previous one and will not be explained.

1.9.16. Similar Ads

This module will make appearing on each listing details page a box with similar ads.

You can make the following settings on this module:

Title - the title that will appear over the similar ads box.

Number of similar ads - number of similar ads.

Number of similar ads on row - number similar ads on each line. If this number will be lower than Number of similar ads, then ads will appear on multiple lines.

Match category - if the similar ads need to be from the same category as the current listing.

Match fields - select the fields that need to be matched when choosing similar ads. For example, if you want ads to have the same make as current listing, then select the make field in the box. You can choose multiple fields from the list using CTRL and SHIFT keys on PC and OPTIONS key on MAC

1.9.17. Social Networks

You have the following settings on this module:

Settings - settings for Facebook, Twitter, Google+, Youtube, Pinterest, Instagram and Linkedin buttons that will appear lower in the page. These buttons will take to your Facebook page and Twitter account.

Facebook Like button- settings for the Like / Recommend button which will appear on every listing details page.

Facebook Share button- settings for the Share button which will appear on every listing details page.

Facebook comments- if enabled, a box with Facebook comments will appear on listings details page. Make here the necessary settings for this particular option.

Tweet button- settings for the Tweet button which will appear on every listing details page.

Google +1 button- settings for the Google +1 button which will appear on every listing details page.

Facebook Recent Activity plugin- settings for the Facebook Recent Activity box that can be enabled to show on the right side of first page.

Facebook Like Box- settings for the Facebook Like box that can be enabled to show on the right side of first page. This box will be linked to your Facebook page you configured in this module.

Tweet ads when posted- using this part you configure the script to tweet listings title when posted on your site. To use this feature you will need to make some settings on your Twitter account:

  • If you don't have a Twitter account create one

  • Go to this link and create a new application: https://dev.twitter.com/apps/new. Enter a name and description for the app, and as Application Website and Callback URL the url towards your site.

    Then click on Create my access token button on the bottom of the page. This will generate the Access Token and Access Token Secret information which you will need for configuration.

    Last thing that you need to do is go to Settings tab and configure the Application Type as Read and Write.

  • Get the following information and use them in the script form the Details tab: Consumer key and Consumer secret, Access Token and Access Token Secret.

Post ads on Facebook- using this part you configure the script to post ads on Facebook when added. Before enabling this option you will need to make some configuration:

  • Configure Facebook Secret with the value you get from your Facebook app settings in https://developers.facebook.com and save changes.

  • Click on the button Get Facebook Access Token. This will take you to a page where you must perform 3 steps. Follow all these steps as explained on the page.

  • At the end of these 3 steps you should have configured all the needed settings for enabling posting on Facebook page. Go back to Social Networks module and now you can enable Post Ads on Facebook

Note: This functionality has some requirements requested by the Facebook SDK: PHP 5.4 or greater and mbstring PHP extension

1.9.18. Tag Cloud

A tag, according to Wikipedia, is "a (relevant) keyword or term associated with or assigned to a piece of information (e.g. a picture, article, or video clip), thus describing the item and enabling keyword-based classification of information." This module will display in the first page a box with tags from your site. The tags are chosen from keywords used for search (in the search keyword field).

This tool is useful for:

  • Creates visibility for search terms. Search terms will show in this box and your visitors can just click on them to initiate a new search for that term.

  • Are useful for SEO (Search Engine Optimization) because they contain links on specific keywords. So you have a way to add text links towards inner pages of your site with good keywords.

You can make the following settings for this module:

Module Title - the title shown above the tag cloud box.

Split search expressions in multiple tags - when this option is enabled, it splits the search key into words and keeps the tags as single words. When it is enabled it keeps the search keys as they are searched, even if they are multiple words. For example when searching for used cars, an enabled Split search expressions in multiple tags will result in two tags: used and cars, while an disabled one will result in one tag used cars.

Number of tags to show - number of tags to show at a time in this box.

Keep searches for - We explained that the tags are taken from individual search terms made by your visitors. These terms are kept in the database and every time the tags will show, the list is processed to determine the strength of each term (which will reflect in font size), and the most relevant terms will show in a random order. The relevance is determined by the number of searches on this term. But these search terms should be deleted periodically because otherwize the database will become too big and hard to process, and this will add a delay in showing the tags. Also, this ensures that the tags are the ones that people are looking for in this period of time, and not in the past.

Use only words with at least - you can choose not to consider words with less number of characters than this number.

Exclude words - enter here words that you don't want to show, even if searches are made by this term.

1.9.19. EU cookies regulation

This module will allow you to display a notification banner on your site which states that your site uses cookies, as European Union legislation requests. To use it you will need to enable the module, and edit the messages this module will display on your site:

Click to edit EU cookie top notice - click the button to be taken to the Templates / Info Templates section in order to edit the information text which will appear on top of your site when the module is active.

Click to edit EU cookie regulation text - will allow you to edit the custom page which present more information about how your site uses cookies. A draft custom page is already created with some base iformation, feel free to modify it or remove any parts which don't apply to your site.

1.9.20. Default ads images for categories

This module allows you to configure different images to display when the listing has no photos for different categories. For example display an image containing a car for auto ads, a building for real estate ads and so on.

To configure it you will need to add default images for as many categories as you want. Click on the Add button, then configure the following:

Category - select one category

Default small thumbnail and Default big thumbnail - upload the small and big size thumbnails for that category. It is recommended to keep the same size you configured to resize the thumbnails to in Settings / Listings Settings .

Apply to subcategories - check this box if you want the same thumbnails to apply to the subcategories of the selected category.

All categories that don't have a different thumbnail configured in this module will use the default thumbnails.

1.9.21. Extra Visits

When you start your website it might be hard to get the visits you would like in order to attract clients which will post ads. This module will falsely increase the number of visits by a value more than 1 when a listing page is accessed, to appear that you have more traffic. We encourage you to use this module wisely and not more than it is necessary!

This module has one configuration only:

Maximum number of visits - when a listing page is accessed, a random number of visits will be added between 1 and this number.

1.9.22. Latest Auctions

Will show the latest ads which have auctions enabled in a box on the first page.

You can configure for this module:

Title - The title which will appear above the box.

Number of latest auctions - Number of ads with auctions which will appear in the box.

Do not use this module unless you enabled auctions in Settings / Listing Settings section.

1.9.23. Linkify

If you want to allow links in your ads but don't want to enable a HTML editor, then use this module. It will automatically transform on the fly urls contained in listings description in links.

This module does not allow any settings.

1.9.24. MultiCurrency

When you use more than one currency this module allows prices conversion from one currency to another and also ensures correct price sorting in search pages. The prices are calculated according to defined ratios between the currencies in the system.

This module will display your configured currencies in a table. Each currency will have a ratio. One of the currencies will be the default currency, which will always have the ratio 1. The other currencies will be configured with ratios related to the default currency. You can always change the default currency, just be careful afterwards to readjust the other currencies ratios. You can use an online currency converter like http://www.xe.com/currencyconverter/.

After finishing the configuration of the currencies ratios always click the button at the bottom of the page Recalculate listigs prices! This will recalculate the unit price which is used to sort correctly the listings by price no matter what currency they use.

Note that the ratios are not updated automatically and you will need to updated them yourself manually!

This module will automatically transform prices in the default currency if none is selected!

1.9.25. Price extra configuration

This module will allow you to enable Negotiable checkbox, enable Free word instead of 0 price value, allow alternate tags like Please Contact or Swap/Trade. You can make different such configurations for different fieldsets.

To configure this module add one or multiple configurations for different fieldsets. Click on the Add button on the top of the page. For each new configuration you can enter:

Fieldset - Choose one or more than one fieldsets, or make the configuration for all fieldsets.

If you create one configuration for all fieldsets, then that configuration will be used at all times for the price field, and you won't be able to add new configurations.

If you fail to create a configuration for some fieldsets then for categories belonging to that fieldset the default behavior of the price field will be used (no Negotiable, Free or extra tags will be used).

Pay attention! If you create multiple configurations for one fieldset then only the first one will be used!

Use Negotiable - for a price greater than 0 the Negotiable checkbox will appear next to the price value. This checkbox enabled will add a Negotiable sign next to the price.

Negotiable - if the previous value is enabled, use this to enter a different name or translation to be used for Negotiable.

Use Free - if this checkbox is enabled, users will be able to select Free instead of entering a price and a Free sign will appear instead of the price.

Free - if the previous value is enabled, use this to enter a different name or translation to be used for Free.

Use Tags - if this checkbox is enabled you will be able to add one or more than one tags to be used instead of a numeric price.

Tags - if the previous value is enabled, use this to enter one or more than one tags to be used instead of a price numeric value. Add the tags each on a new line or separated by | sign.

1.9.26. Spam Prevention

A measure against the increasing spam issue on the web, this module checks email and IP addresses used on your site against a spammers list from stopforumspam.com and takes action according to your settings.

When blocked the IPs address will appear in the Security / Blocked IPs list, and the emails in Security / Blocked Emails list. IPs can be blocked only temporary if you choose to, or you can block them permanently.

This module has 2 subsections:

1.9.26.1 Settings

Check registration email and IP addresses - enable this option if you want that when a user registers, the used email and IP address to be checked against the database.

Check contact forms email and IP addresses - enable this option if you want IP and email to be checked when writing a message from a listing page to a listing owner

Check comments email and IP addresses - enable this option if you want IP and email to be checked when posting a comment. Use this only if Comments module is enabled.

Check reviews email and IP addresses - enable this option if you want IP and email to be checked when posting a review. Use this only if you have reviews enabled in Ratings and Reviews module.

Block Tor IP addresses - block IPs belonging to Tor exit nodes

Block some of the Internets most hostile spam friendly networks

Minimum score limit - each entry in StopForumSpam database is rated with a percentage value from 1 to 100, 1 being the smallest and 100 the highest threat. You can enter a minimum score, and all entries below that value will be discarded (no action will be taken).

Block ip after attempt for X hours - enter the number of hours to block IPs which are identified with this module. To block them permanently use the value 0.

1.9.26.2 Spam log

Here you will find a list with all blocked IPs and emails. For every registration in the list you will find the following infomation:

IP - the IP address if what it was blocked was an IP address

Email - the Email address if what it was blocked was an Email address

Type - based on which page it was blocked on you will see as type the values: Registration, Contact form, Comments or Reviews

Score - the value of the threat score

Date - date when this was blocked

You can perform the following actions on the registrations of this list:

Unblock - if the IP or email was added by mistake or you consider it was classified wrongly as spam, delete it from the block list

Add to whitelist - delete the IP or email from the block list and add it to whitelist. This will prevent it from being blocked again.

1.9.27. Bump Ads

This module will add a new paid feature to allow users to push their listings to the top of the search list for a period of time.

Bumped ads are prioritized ads. They can be used in addition to other defined priorities, or without them. Bumped ads will appear on top of other ads in search pages, even on top of other prioritized ads.

Duration - number of days while listing will be prioritized.

Change posting date - if this option is enabled, when the ad is bumped the posting date will be changed with the current date.

Price - the price for bumping an ad.

1.9.28. Mobile home screen icon

This module allows you to configure a mobile home screen icon. When your users will save your website link on their mobile home screen for quick access, these icons will be used for that purpose.

You will be able to configure a number of icons with different sizes for IOS or Android devices. Make sure you use PNG images as icons.

1.9.29. Limit ads per account module

This module allows you to limit the number of total ads posted for a user account. When maximum of allowed ads is reached the older ads will be deleted.

The settings form is simple, you just need to configure Maximum ads, which is the maximum number of ads you want to allow for an account.

1.9.30. Latest visited module

Shows the latest ads seen by the current visitor. You can configure the number of latest visited ads shown and to choose if to show them on search pages and/or listing details pages.

Title - The title shown on site for the Latest Visited ads block.

Number of latest visited ads

Show on index page - check if you want the Latest Visited ads block to show on the first page.

Show on search pages - check if you want the Latest Visited ads block to show on listings search pages.

Show on listing details page - check if you want the Latest Visited ads block to show on listings details pages.

1.9.31. Video Ads

Shows a number of video ads on the first page, and a link towards an all video ads page.

Possible settings for this module:

Title - the title of the section on the first page.

Number of video ads - Number of video ads shown on the first page.

1.9.32. Auto Renew

Automatically renews expired ads after a configured number of days. You can choose to renew all ads, or only those belonging to some listing plans.

Possible settings for this module:

Auto renew after X days - the number of days the listings are renewed after.

Listing plans - You can select only some listings plans to have their listings automatically renewed.

1.9.33. Legacy links compatibility

If your site was indexed with Legacy URLs, then this module will help you maintain the compatibility with the old link types.

This module will add the functionality to support both URL types, legacy and current, and will add canonical links to avoid duplicate content issues.

1.10. Templates

1.10.1. Templates Editor

Our script uses templates for the HTML part. This means that HTML code is completely separated from the php code. For this reason it is easy to change its design.

Note:

You must have basic knowledge of HTML if you want to make changes to this section. This section does not explain HTML principles, it is considered that you already know this. If you don't, and you want to make changes to the template files, then you should take the time to study some HTML bases, there are many resources on the Internet regarding this area.

First of all, to view a template file that you want to modify, you need to choose the proper template from Select Template menu (if there is more than one template). Then choose from Select File menu the file you want to see and hit View. A box will appear with the content of this file.

Note:

To be able to save modifications you make to the template file, that file must have write permissions. If if does not, you will see a warning message like the following, and you should change permissions to that file:

Warning! The template file is not writable! If you wish to edit it, please change the permissions to 6xx!

Important:

After you finish editing your template files, you should consider removing write permissions from those template files and set them back 444 permission. Keeping your files not writeable is a security measure.

Some details regarding template syntax.

The template system that we are using for the script is Smarty (http://www.smarty.net/). If you want to read extended syntax documentation, please view this page: http://www.smarty.net/docs/en/

Basically, what you should know is that every template file uses HTML code and some specific elements that will be replaced by the script with the proper value. Those elements should remain intact, you should not replace them with normal text or other HTML elements unless you know what you're doing. Here are the types of syntax you will find:

Variables

Variables are defined by strings in the form:

{$variable_name}

This string will be replaced with the correspondent variable defined in the script.

Example: in the following sentence:

{$lng.useraccount.welcome} {$username}

The string {$lng.useraccount.welcome} will be replaced with the language variable for welcome, and {$username} with the currently logged in username.

Conditional Sentences

			{if $var_name="value"}
			...
			{/if}
		

Conditional sentences are used for parts in the template that will appear if the condition is met. For example in the following part:

			{if $listing.user.store>0}
			{* show store button *}
			{/if}
		

The part {* show store button *} will appear only if the user has dealer account enabled.

Comments

Comments are part of the template that are not interpreted by the template engine in any way, in fact those parts will not show in the generated html code. These parts are only added for reference. You can recognize a comment by having {* *} signs around. Please view in the earlier example, the string {* show store button *} is a comment.

Loops

There are two types of loops used: for loops and sections. Loops execute the code inside as long as the condition is met, usually for all values in an array. Please see examples below:

			{foreach from=$categories item=v name=cat}
			{* ..... *}
			{/foreach}
		
pre class="programlisting"> {section name=loop start=0 loop=$no_latest step=1} {* ..... *} {/section}

Adding javascript code or CSS code to a template

Since javascript code and CSS code can contain characters that can be mistaken as belonging to templates syntax (like the curly brackets or braces: { }), when you add code like that to your templates you should place the code between {literal} {/literal} strings.

Ex: You want to add Google Analytics code to the footer of your pages. The code will look similar to the following:

				<script type="text/javascript">
					var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
					document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
					</script>
					<script type="text/javascript">
					try{
					var pageTracker = _gat._getTracker("UA-xxxxxx-x");
					pageTracker._trackPageview();
					} catch(err) {}</script>
		

Here is how you should enter it in the templates:

				{literal}
				<script type="text/javascript">
				var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
				document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
				</script>
				<script type="text/javascript">
				try{
				var pageTracker = _gat._getTracker("UA-xxxxxx-x");
				pageTracker._trackPageview();
				} catch(err) {}</script>
				{/literal}
		

Including files

You can include another template file to your code with the following syntax:

{include file="header.html"}

This example will include the file that contains the header (top) of the template.

Note:

You will not be able to use visual HTML editors to edit these templates. The reason is that there is not one top - down html page that a visual tool can display. You will need to edit the HTML code and see the changes that result in a browser.

1.10.2. CSS Editor

CSS (Cascading style sheets) are used to describe the formatting of a HTML document. You can control by editing this document things like colors, backgrounds, font sizes, elements spacing. Use this section in addition to the previous section if you want to make changes to your site look.

To make changes to this page, basic knowledge of CSS principles are required.

1.10.3. Language Editor

All site texts that appear on site interface, except for the ones that are kept in database (all values that you can edit in administrator panel) are kept in a language file. If you need the script for other language that the script does not have translated, or if you simply need to change some of the texts on the interface, you can edit the language file.

In the section Language Editor you have a drop down list where you can choose the language from, and a box, where the content of the language file is shown. The languages shown in the drop down list are the languages from Settings / Languages section.

You can always edit languages files for certain modules that have a language file. To do so, change next to the option Main file or module the menu and choose the module you want to edit the language file for. The way you edit a modules language file is just the same as when you edit the main language file.

Note:

To be able to save modifications you make in the language file, that language file must have write permissions. If if does not, you will see a warning message like the following, and you should change permissions to that file:

Warning! The language file is not writable! If you wish to edit it, please change the permissions to 6xx!

Important:

After you finish editing your language files, you should consider removing write permissions from those language files and set them back 444 permission. Keeping your files not writeable is a security measure.

There is another way to edit a language file, use the method you find easier to you. This second method is to edit the language file on your computer. You will need to copy it using a FTP program on your computer. Then you can edit it using any text editor (PHP files are in fact text files) like Notepad for example. After you finish making changes to the language file, upload the file back and overwrite the old version.

The language file is actually a .php file. So it needs to follow a set of rules to be valid. If there is an error in the language file, the HTTP server will show you an error like the following:

Parse error: syntax error, unexpected T_VARIABLE in /usr/home/yourdomain.com/lang/eng.php on line X

If you do get this error, then you should check at the line specified what is the error. You must follow these rules for not generating errors:

  • You must have on top of the file a <?php string and at the end a ?> string

  • A line will look like this:

    $lng['navbar']['home'] = 'Home';

    What you must translate in this line is the string in second part of the sentence: Home

  • Each line will end with a semicolon (;)

  • The translation text is surrownded with single quotes (')

  • If you have a text that contains a single quote, you must place a backslash (\) character in front of it.

    Ex: $lng['users']['errors']['passwords_dont_match'] = 'Passwords don\'t match!';

If you follow these rules then you will be able to make a translation without a problem.

Note:

In this section you can only edit frontend language files. You cannot edit administrator interface language files. If you want to translate administrator interface, you will need to edit the language files on your computer. You will find these files in /admin/lang/ folder.

1.10.4. Mail Templates

In this section you can edit the mails that are sent from your site in different cases. Please take the time and edit these templates before lanunching your site.

Examples of mails sent are: mails sent when an ad is posted - to user and admin, notifications when listing expired or before expires, recommend ad mails, password recovery mails, and so on.

The page shows two areas, a left select box and a right part where you can see the mail template. You can choose in the left side the mail template you want to edit and it will reflect in the right side. You can see a description for the current email template in red, on top of the right side. After you made the changes hit Save.

Mail Templates use the same template system as HTML templates regarding elements that will be replaced in the background by the system.

A mail template will look like the following:

			Subject: {$sender_name} recommended you this ad!
			Mail content: Hello {$name}
			{$sender_name} thought you would be interested in the following resource:
			{$ad_link}
			{$message}
			Best Regards,
			{$administrator}
		

All strings in the form {$variable_name} are variable names and will be replaced with a value. Please see a wider description here for templates syntax.

So when the email is sent, it could look like this:

			Subject: Matt recommended you this ad!
			Mail Content: Hello John
			Matt thought you would be interested in the following resource:
			http://www.yourdomain.com/details.php?id=12
			
			You really should check out this ad!
			
			Best Regards,
			Yoursite Administrator
		

1.10.5. Info Templates

When your site users perform certain actions there are certain messages that will be shown to them. For example, after placing an ad, when buying a subscription, when upgrading an ad and so on.

This section is similar to the previous section, Mail Templates. What we should point out here is that the formatting here should be HTML since these informations will appear directly in the HTML pages. So for example, to add a new line you should enter the newline HTML character <br/>.

1.11. Logout

By clicking this link you will be logged out as administrator and redirected to site frontend.

Chapter 2. FAQ

  1. I have no Google map appearing in the submit ad forms.

    In order to add a map to your forms you will need to add a custom field to your system of type Google Maps. Depending on which form you would like to add the map to, you will add a new custom field to:

    - Settings / Listing Custom Fields - if you want the map to appear on submit ad form. The map will show up on details listing page after submitting the ad.

    - Settings / User Custom Fields - if you want the map to appear on user registration form. The map will show up on user profile page after registration.

  2. I'm trying to add google tracking code in the footer and I receive an error. What should I do?

    You should surround the code you try to add between {literal} and {/literal} tags. See this section for more details and to see an example.

  3. How can I change permissions to a file?

    In order for PHP to be able to perform certain operations on files or folders, it needs certain permissions.

    You can change files permissions in 2 ways:

    1. Using the FTP client that you use to upload and access script files on your server. When connected with FTP to the location where the script is uploaded, select the file or folder you must change permission for. Search for something in the menus similar to Change permissions and choose the mode that the script tells you to choose.

    2. Using a File Manager from your hosting control panel, if available.

    Note:

    The number that represents the permission means in Linux ( in UNIX in general ) the read, write and execute rights for this file or folder for owner, group and others. In order for PHP to be able to write and access, it will need 644 permission for a file and 755 permission for a folder. Exception make servers where PHP runs as Apache module instead of CGI. These servers will need 666 permission for a file and 777 permission for a folder. The script checks the mode PHP is running on and shows you the correct permission to set, so you don't need to worry about this aspect.

  4. Mails are not sent, what can I do?

    Try to set emails to be sent using a SMTP server. To do this you must make settings in the section Email Settings, please see that section for more details.

    Please keep in mind that emails can also not work if you make wrong settings in Email Settings section.

  5. I edited the language file and I get this error: Parse error: syntax error, unexpected T_STRING in FILE_PATH on line LINE_NO

    You should review the language file again and check the line number that the error string is telling you about. To do this easier you should use a text editor that shows line numbers. Use the tips shown in the section that explains Language Editor.

  6. Why is my header image not resizing? Why are my categories images not resizing?

    The images that are set in administrator panel are not meant to resize. Only listing images are resized. The administrator should resize the images for categories and header previous to uploading them to the site.

  7. Can I allow users to post ads without having to pay online? For example if they pay in my office by check?

    There is the option for Manual payment which refers exactly to that, users paying manually, not with an online system. You should enable this payment type from the section Settings / Payment Settings, if not already enabled.

    Usually you should set this type of payment to Pending. By doing this, all items paid with a manual payment will remain pending until you receive your money and activate them manually.

    Note:

    Please remember to make the proper changes to info templates and mail templates (Templates / Info Templates and Mail Templates), so the users will know how to pay.

    You will find comments in info and mail texts where you should add this information, like in the following example:

    {* ------------ PLACE HERE THE BANK ACCOUNT, CHECK ADDRESS OR ANY OTHER METHOD TO PAY MANUALLY ---------------- *}

  8. Can I add Google Adsense to pages?

    You can add Google Adsense as banners. When adding a new banner you can choose image type or html code type. You must choose HTML code when adding Adsense banners. Otherwise, they will be positioned like normal banners.

  9. Where can I find the setting to activate 'Pending listings for admin verification'?

    Please see the section Pending Approval Explained for an in-depth explanation in how pending approval works.

Chapter 3. Extended information

3.1. Search Engine Optimization Features

This part of the documentation describes the features related to Search Engine Optimization (SEO) in this script. Describing the bases of SEO is not an object of this documentation, if you are not familiarized with this terms you should do a basic research on this.

3.1.1. Meta information

Meta tags are HTML elements placed in the header of the HTML document and are used to provide information about the HTML page. The title tag will appear as a title in the browser window, as long as the other 2, meta keywords and meta description are not visible to the end user. Those tags can be seen when choosing View / Page Source (or similar) from the browser menu.

Note:

The title tag is not technically a meta tag, but is an HTML element used for search engine optimization and will be described in this section.

Here is an example of how meta tags look like:

	
				<title>Site name - New cars, used cars for sale</title>
				<meta name="description" content="Find new and used cars, buy or sell your car in auto classifieds" />
				<meta name="keywords" content="new cars,new car,automotive,used cars,used car,new car prices,used car prices,new car price,used car price" />
			

The importance of these tags is that they are used by search engines to get information about each page of your site. These are not the only elements used by search engines to categorize a site, but they have an important part. Also, title tag is used by some search engines, like Google, as the title for that specific page on the search results list.

It is important that your site does not have the same meta information on all pages. This way, more of your pages will be indexed by the search engines and will be found for different keywords searches.

This is why our script offers you the possibility to change meta information for almost all your pages. You can modify them from section Settings / Seo Settings.

Some tips to guide you for each of these 3 elements:

Title

  • use 60 characters or less for the title

  • keywords are also important in this field, and remember that this value will be shown as the title on search engine results, so make it as attractive as you can for the people to click on it.

Meta Description:

  • use a description that relates to your page content and use keywords that you want your site to be promoted for

  • most of the search engines recommend to have a length shorter than 250 characters for the description.

  • sometimes, but not always this description is shown as a description on the search results

Meta Keywords:

  • use online meta tags generators tools to generate the keywords. If you search the Internet you will find many free tools like this. One of them that you can use is Google keywords generator tool:

    https://adwords.google.com/select/KeywordToolExternal

  • use 250 characters or less for this field

It is always useful to make some research on the competitors sites that are placed on top of search engines results and get ideas for meta keywords and description from them.

3.1.2. Search engine friendly URLs - URL Rewriting

There are two important practices for search friendly URLs: URL readability and placing keywords in the URL.

It is considered that just by seing an URL one must have a fair idea about what the destination page contains. The more accessible the URL is, the better ranked it will be. This is done by composing URLs which are easy to read for humans, and contain keywords contained in the page.

Our script achieves this using URL Slugs in URL composition.

An URL Slug is a human readable description of the page placed in the URL. It is composed using important content of the page like listing title, category name, custom page title, user contact name.

For example, a listing URL will be composed using the category name and listing title in URL format (spaces replaced with dash sign and special characters removed). An example of listing details URL is:

http://classifieds.oxyclassifieds.com/for-sale-property/two-bedroom-modern-house

There are 4 types of slugs: category, custom pages, listings and users. They are automatically generated, but the first two types can be edited by administrator later.

It is advised to check and modify category and custom pages slugs if you think that the generated slug does not represent correctly the element. You can edit the value it by editing a specific category or custom page and change the URL Slug value.

To enable search engine friendly URLs on the script, your server needs to support mod rewrite. You will need to check the box Enable search engine friendly URLs in Settings / Seo Settings section and to rename the file htaccess.txt that you will find within the script files to .htaccess (note that the dot in the name is important, do not miss it!). If you already have a .htaccess file, just copy the content of htaccess.txt at the end of .htaccess existing file.

Please note that you might need to make some changes in the configuration of .htaccess file:

The line below is by default uncommented. This will enable mod_rewrite on your server. If mod_rewrite is already enabled and the server does not allow this setting in .htaccess file you might need to comment it.

RewriteEngine On

The line below is by default commented. If your server does not have the option FollowSymLinks enabled, then you might have to enable it (remove the comment sign # in front of the line)

#Options +FollowSymLinks

You should uncomment and change the line below if your script is installed in a subfolder of your domain. If so, change it to the path to the script install folder.

#RewriteBase /

Example:

RewriteBase /classifieds/

The Legacy URL mode

The Legacy URL mode uses the older premisis that search engines cannot crawl dynamic urls. In conclusion, URLs were made all to look like static pages, using subfolders instead of parameters.

For example instead of:

https://classifieds.oxyclassifieds.com/listings.php?category_id=6&country=spain®ion=almeria

the URL looked like:

https://classifieds.oxyclassifieds.com/6-merchandise/country-spain/region-almeria/listings.html

This is no longer the case and in the new URL type the emphasis is placed on URL readability.

But if for some reason you still want to use it, then you can enable the Search engine friendly URLs legacy mode option in Settings / Seo Settings section

Transition from Legacy URL mode

If you started your site with an OxyClassifieds version prior to 9.4 you probably are using the Legacy URLs. To help you make the transition without hurting your site SEO we created the module "Legacy links compatibility". This module will add the functionality to support both URL types, legacy and current, and will add canonical links to avoid duplicate content issues.

3.1.3. URL normalization

The script automatically performs URL normalization, meaning that links are generated in a consistent manner, no 2 different links exist with the same content. For the few cases when this is impossible, our script specifies a canonical url. More information about canonical links here: http://support.google.com/webmasters/bin/answer.py?hl=en&answer=139394

3.2. Pending Approval Explained

An item that is in a pending approval state will wait for the administrator to manually check and approve that item.

3.2.1. Pending approval for listings

You can set that some or all of your classifieds listings to wait for administrator pending approval. There are 2 factors that determine whether a listing will be pending or not:

  • the payment type

  • the group the user belongs to

If the listing meets at least one of the 2 conditions, then it will be marked as pending and wait for admin approval.

To set a certain type of payment as pending you will need to go to Settings / Payment Settings and click the button for pending to become active. Please note that Free is considered a type of payment for the ease of configuration. Manual payments are advised to be set as pending.

To set a user group to have always pending listings, no matter the payment type, check the checkbox Listing Pending when adding or editing the user group in Users / User Groups.

3.2.2. Pending approval for plans (subscriptions)

You can set the pending approval for subscriptions in the same way as for listings, with a small difference for the group setting: you will check the box Plan Pending from user group settings.

Note:

Listings that belong to pending subscriptions will also be pending! When the administrator activates the subscription, those listings will be activated as well.

3.2.3. Pending approval for accounts

You can set an account to wait for administrator approval by checking the box Admin Verification in user group settings.

If you enable posting ads without an account from Settings "Enable post without user account", then you can choose if these ads should be pending from the same section, Listings pending option.

3.3. How to setup fieldsets, categories and fields - Example

We will describe below a situation where you will need different fields for different categories and how to set this up using fieldsets, categories and fields.

Let's presume you have the following categories:

			Auto
			Estate
			Job Offers
			Job Requests
		

For each of the categories you want to define different fields:

	
			Auto: make, model, year, mileage, transmission, fuel, drive system
			Estate: bedrooms, bathrooms, property type, Square area.
			Job offers: Industry , City
			Job requests: Industry , City
		

This is how you setup this case:

First you create a fieldset for each of the categories that need different fields (in the section Settings / Fieldsets):

	
			Auto
			Estate
			Jobs
		

Note that for the jobs categories we only created one fieldset, because there are the same fields needed for both of them.

These fieldsets are not doing anyhing actually other then linking fields to categories. They are not visible to the end user.

Then you need to create the categories and to choose the proper fieldset:

	
			Auto - fieldset Auto
			Estate - fieldset Estate
			Job Offers - fieldset Jobs
			Job Requests - fieldset Jobs
		

Next you can get to adding fields. For each field, also choose the proper fieldset, or you can choose that the field should show up for all or more than one fieldset if you want:

	
			- make, model, year, mileage, transmission, fuel, drive system - fieldset Auto
			- bedrooms, bathrooms, property type, Square area. - fieldset Estate
			- industry, city - fieldset Jobs
		

3.4. Steps to set up your script

1. Changing administrator password from section Security / Change Password

2. Set up multilanguage - if you want to setup a multilanguage site, you should do this step first. Adding multiple languages will make some fields duplicates in your administrator interface forms. Please see Languages section for more information.

3. Review Settings section - browse all settings screens from Settings section and change the settings to what you need. See the Settings section for more details.

4. Change Localization Settings from section Settings / Localization. Change here the default site currency, listings currencies, price format and so on.

5. Change Search Prices list by editing the Price field Search Values values in Settings / Listing Custom Fields section

6. Change Countries & States list by editing Country&State field in Settings / Listing Custom Fields section. You can also delete this field from the same location if you prefer other setup for your listings locations. Instead you can add a simple Menu field for City for example. If you change location fields, make sure you reflect this change by choosing the proper location fields in Settings / Listing Settings for Location fields.

7. Set up fieldsets from section Settings / Fieldsets

8. Set up categories from section Settings / Manage Categories

9. Set up listing custom fields from section Settings / Listing Custom Fields

10. Set up listing plans from section Listings / Listing Plans

11. Set up user groups from section Users / User Groups

12. Set up user custom fields from section Settings / User Custom Fields

13. Set up custom pages if you need any from section Tools / Custom Pages

14. Set up site banners from section Banners

15. Change mail and info templates from section Templates / Mail Templates and Templates / Info Templates

3.5. How to configure your site for Location Filter and Location Subdomains.

Defining the terms

Location filter allows you to configure one or more fields that can be chosen and will be remembered as current location. All ads displayed will reflect that chosen location every time you open the browser, until you change it again. For example: you configure Country and Region as location fields, and when your users browse your site, they can choose their default country and region. That country and region will be used as their default location, so they can only see the relevant ads for them.

Location subdomains feature allows you to configure one field to be used as a subdomain every time you select it as a location. An example would be to configure City as a subdomain field. When a user will select Paris for example, the site http://yourdomain.com will become http://paris.yourdomain.com.

In order to configure these two features on your script, you will need to complete the following steps:

1. Decide what fields represent your location

You can configure your site to be used for a wide or a narrow location area, depending what you want to achieve. You can use the script for one country only, or for a series of cities only, but you can also use it for a number of countries. It all depends on how you configure the location fields.

Location fields are nothing else but normal custom fields, of type Menu or Depending, that are created in Settings / Listing Custom Fields section, and which after that are chosen as Location fields in Settings / General Settings / Location Filter section. These fields must refer to location, and some examples are: country, region, city, suburb.

You will find on point 4 some case studies. Use them to understand better how to configure these location fields. You can configure your site using these examples, or in a similar way.

2. Configure your script for Location Filter and Location Subdomains.

These settings are located in administrator interface, Settings / General Settings page, section Location filter.

To make use of Location Filter feature, you need to enable Enable location filter checkbox and choose the proper Location fields from the fields list.

To use Location Subdomains feature, enable Enable location subdomains checkbox, choose a Subdomain field from the fields list, and beside these settings, some extra server configuration are required. These will be presented to the next point.

For more details on these settings please review this part of documentation: Location filter

3. Configure your server for Location Subdomains.

You will need to complete this step only if you want to enable Location Subdomains. If you only want to use Location Filter, skip to the next step.

As mentioned above, Location Subdomains feature requires special configuration on your server. You might not be able to make these configurations on a shared hosting, and in this case we recommend you to move to a dedicated server or a virtual server.

These server configuration are presented in details in this part of the documentation: Configuring your server for location subdomains

Note:

Location Filter can be used without Location Subdomains, but not viceversa. If you enable Location Subdomains, you must have enabled also Location Filter.

4. Case studies

We will present some case studies below. Use them as examples to configure your own site.

Case 1. Configure as location multiple cities.

Let's say that we want to create a classifieds for France, Burgundy region. This is a small area, with a few cities, so the only location field needed in this case would be City field. To configure it, we will go to Settings / Listing Custom Fields. If there are other custom fields related to location ( by default our script comes with the default Country&Region and City fields ), then you should just delete them. Go on and create a new custom field, of type Menu, with the name City. You might want to enable the Required checkbox, and disable Quick Search and Refine Search boxes, because this city will be selectable on the special location selector. This selector will appear on the navigation bar to the right, in this case, when the location field is only one, as a drop down list.

Continuing with the new field creation, in the Elements box enter the cities list, separated by | or by a new line: Autun, Auxerre, Beaune, Chalon-sur-Saône, Dijon, Le Creusot, Mâcon, Montceau-les-Mines, Nevers, Prémery, Sens. Save the newly created field.

After this, go to Settings / General Settings, enable Enable location filter checkbox and choose the newly created City field from Location fields list.

If you want to use Location Subdomains as well, then also check Enable location subdomains checkbox, and choose the newly created city field as Subdomain field. Don't forget, you need some special configuration to the server in order for Location subdomains to work.

With these settings done, your guests will be able to choose a city on the right side of your site, above navigation bar. The city will remain selected even after the browser is closed and opened again. In addition to this (if you enabled Location Subdomains), the city will appear as a subdomain in the site url. For example, considering your site as http://yourdomain.com, when you will select the city Dijon, the site url will become http://dijon.yourdomain.com .

Case 2. Configure as location multiple countries, regions and cities.

This is similar to the previous case, except that you will configure more than one location field. You want your location fields to be represented by Country, Region and City. In this case your site will serve for multiple countries.

First, you will need to configure the custom fields. You can just delete the default location fields as before, or you can modify them. If you will delete the existing location fields, then you will need to add a new custom field, of type Depending. Choose as Depending Fields Number: 3, enter as Name: Country&Region&City or similar, then enter each of the 3 fields names. For Field no1: Country, for Field no 2: Region, for Field no 3: City. Select all 3 fields as required and disable Quick Search and Refine Search. Click Submit and the field will be created.

Next step would be to populate the newly created field with the values for countries, regions and cities. You do this by clicking on the custom field name, Country&Region&City in the Listing Custom Fields page. You will be taken to a page which has 3 divisions, one for each field. The first one is for Country, and you should just enter the countries list separated by a new line or by | sign. For the next fields, Region and City, the values will be entered for a selection of the previous field. For example, you select the first country for Regions, and enter in the box the regions for this country, and so on until all regions for all countries are added. Do the same for cities, by selecting each country and each region, and then enter the cities list for these values.

After this, go to Settings / General Settings, enable Enable location filter checkbox and choose the newly created fields ( Country, Region and City ) field from Location fields list.

If you want to use Location Subdomains as well, then also check Enable location subdomains checkbox, and choose the newly created City field as Subdomain field.

With these settings done, your guests will be able to choose the location from an overlay window, which will appear when you click the Choose Location link. The location will remain selected even after the browser is closed and opened again. In addition to this (if you enabled Location Subdomains), the city, if selected, will appear as a subdomain in the site url.