Jobs Board


Installation

The Jobs Board is a project by Dan Harper, for sale on the ThemeForest marketplace.

Step 1

Upload the /jobsboard/ folder to your web server.

Step 2

You will need to have set up a database on your web server for the jobs board. Your web host should provide the necessary tools to do this.
Inside /system/application/config/database.php set your database details:

Preference Description
$db['default']['hostname'] 99% of the time, this will be 'localhost'. If you are aware of a specific database hostname required by your web host, enter it here.
$db['default']['username'] The username for your database.
$db['default']['password'] The password for your username associated with the database.
$db['default']['database'] The name of the database you created for the jobs board.

Step 3

Inside /system/application/config/config.php set the following preferences:

Preference Description
$config['site_title'] Name of your site, for example 'Awesome Jobs Board'.
$config['base_url'] The URL to the jobs board, include a trailing slash. For example: http://example.com/jobsboard/
$config['encryption_key'] Enter 32 random alpha-numeric characters. Use a mixture of upper and lower cases. This should not be a sequence of words, but an entirely random string. You are not required to remember the key, but keep a back-up in a safe place and DO NOT change the key once it has been set.
User's passwords are hashed using the key, and if the key is changed, the passwords will not work.

Step 4

The Jobs Board makes use of reCAPTCHA to generate Captcha forms to prevent spam. In order for the reCAPTCHA plugin to work (and subsequently, for the Jobs Board to work), you must register for a free reCAPTCHA key at reCAPTCHA.net

Once you have registered, you will be provided with a 'Public Key' and a 'Private Key'. Enter these into the correct settings in /system/application/config/recaptcha.php

Step 5

In your web browser, load the install.php file in the root of the jobs board files; for example http://example.com/jobsboard/install.php
During the installation process you will be asked to provide the login details you wish to use to access the admin dashboard.

If everything was successful, your jobs board is now ready to go. Use the 'Admin Login' button at the bottom of the main site to access the admin dashboard.

Important: Once installation is complete, remove the install.php file from your web server immediately.

As with all database-driven applications, ensure you keep regular backups of the database!

 

Customisations

Altering Listing Expiry Dates

By default, listings automatically expire after 31 days. The timer for this is measured in seconds, so 31 days is '2678400'.
To alter the expiry time, update the $config['listings_expiry'] setting inside /system/application/config/config.php.

Google for "xx days in seconds" to convert days into seconds.

Listings per Page

By default, 10 listings are displayed per page. To change this, edit the $config['listings_per_page'] setting inside /system/application/config/config.php.

Remove 'index.php' from URLs

See this page in the CodeIgniter User Guide.

Advanced Customisations

The jobs board is built upon the CodeIgniter PHP framework. If you are not familiar with CodeIgniter, check out the following tutorials:

 

The View

The application is built on the CodeIgniter PHP framework, and maintains a strict separation of HTML from the main PHP code. All interaction with the database is handled in the 'model' – outside of the main view files.

The front-end template files are accessible in the /application/system/views/ folder. The header, sidebar and footer files are universal and included in all the other template files.

An explanation of what each view file is for:

View File Description
add.php This is used for the 'Add a Listing' page.
details.php Used to display an individual listing.
listings.php Is used to display a list of all available jobs for the front-page. This template is also used to display the listings from a specific category on the category pages.

Altering these view files requires only basic HTML and PHP experience.
The CSS and images are stored in the /css/ folder at the root of the jobs board.

 

Troubleshooting

Change Password

There currently isn't a simple process to change your password, instead it must be done manually.

Open the 'hash.php' file at the root of the jobs board in your browser (eg. http://example.com/jobsboard/hash.php). On this page, enter the new password you would like. You should be given a long string of seemingly random letters and numbers – this is a highly encrypted version of your password.

Next, using whatever tools your web host provide you with to manage your databases (usually phpMyAdmin), load the database being used for the Jobs Board, then the 'users' table.

In the content view, you should see your login username. Replace the text inside the 'password' field for your user with the encrypted version of your new password.
Save your changes, and you're done!

Note to developers: The 'encrypted' password is is a SHA1 hash consisting of the password, followed by the site's encryption key set in /system/application/config/config.php

 

Thanks To

Thanks to the following: