https://ejobsitesoftware.com/class-reference/

Class Reference

Class : block_ip_address

Blocks an ip address range from database

 
Variables
none
Functions
constructor : block_ip_address
void block_ip_address( void )
Read ip addresses from ipadress_block table and print error message if the user is blocked
lock
bool lock( $ip , $ip1 , $ip2) 
Check whether user ip address should be blocked or not

Class : configuration

Load configuration from database into constant variables

 
Variables
none
Functions
constructor : configuration
void configuration( void ) 
Read configuration table and define them as php constants

Class : left_box

Form left vertical menu or sidebar in admin panel

 
Extends
Variables
heading
Associative array storing info about menu items

 $heading  [$index]   ['link']
                      ['text']
contents
Associative array storing info about sub-menu items which opens when a particular menu is active

 $contents [$index]   ['link']
                      ['text']
Functions
constructor : left_box

Reset menu and sub-menu

void left_box( void )
menuBox

Returns left aligned vertical menu and sub-menu markups as single string

string menuBox( $heading , $contents)

Class : messageStack

Create custom notifications

 
Extends
Variables
size
Number of errors
errors
Associative array storing error content and html attributes

 $contents [$index]   ['params']
                      ['text']
Functions
constructor : messageStack
void messageStack( void )
Move notifications from session vars to class vars
add
void add( $message, $type = 'error' )
Determine type of notification and copy them to local variable with HTML styling
add_session
void add_session( $message, $type = 'error' )
Create session variable for notification
reset
void reset( void )
Reset class variables
output
string output( void )
Form html table markup for notification
size
int size( string $class )
Find number of messages having a particular type/class eg error type/class

Class : right_box

Form left vertical menu or sidebar in admin panel

 
Extends
Variables
heading
Markup of infobox heading
contents
Markup of infobox body, which is a form inside table
Functions
constructor : right_box
void right_box( void )
Reset heading and body variables
infoBox
string menuBox( $heading , $contents )
Return heading and body HTML markups as one single string

Function : block_ip_address

Form generic table in html

 
Variables
table_border
Border in pixels
table_width
Width param of table
table_cellspacing
Cell spacing attribute of table
table_cellpadding
Cell padding attribute of table
table_parameters
Additional atributes of table
table_row_parameters
Attributes for row of table ie tr
table_data_parameters
Attributes of table data ie td
Functions
constructor : tableBlock
void tableBlock( array contents )
Form generic table HTML markup

Class : tableBlockLeft

Form left aligned table in html

 
Variables
table_border
Border in pixels
table_width
Width param of table
table_cellspacing
Cell spacing attribute of table
table_cellpadding
Cell padding attribute of table
table_parameters
Additional atributes of table
table_row_parameters
Attributes for row of table ie tr
table_data_parameters
Attributes of table data ie td
Functions
constructor : tableBlockLeft
void tableBlockLeft( array contents )
Form left aligned table HTML markup

Class : tableBlockRight

Form right aligned table in html

 
Variables
table_border
Border in pixels
table_width
Width param of table
table_cellspacing
Cell spacing attribute of table
table_cellpadding
Cell padding attribute of table
table_parameters
Additional atributes of table
table_row_parameters
Attributes for row of table ie tr
table_data_parameters
Attributes of table data ie td
Functions
constructor : tableBlockRight
void tableBlockRight( array contents )
Form right aligned table HTML markup

https://ejobsitesoftware.com/function-reference/

Function Reference

Function : add

 
Description
void add( $message, $type = 'error' )

Member function of class messageStack
Create session variable for notification

Parameters

message string

Notification message to be displayed

type string

Type of notification, Default is ‘error’
Flowchart

Source Code

Function : add_session

 
Description
void add_session( $message, $type = 'error' )

Member function of class messageStack
Create session variable for notification

Parameters

message string

Notification message to be displayed

type string

Type of notification, Default is ‘error’
Flowchart

Source Code

Function : block_ip_address

 
Description
void block_ip_address( void )

Constructor of class block_ip_address
Read ip addresses from ipadress_block table and print error message if the user is blocked

Flowchart

Source Code

Function : configuration

 
Description
void configuration( void )

Constructor of class configuration
Read configuration table and define them as php constants

Flowchart

Source Code

Function : infoBox

 
Description
string infoBox( string $heading , string $contents )

Member function of class right_box
Return right aligned heading and body HTML markups as single string

Parameters

heading string

HTML markup of infobox heading

contents string

HTML markup of infobox body which is a form inside a table
Return

string contaning html markup of right side info box and its body

Flowchart

Source Code

Function : left_box

 
Description
void left_box( void )

Constructor of class left_box

Reset menu and sub-menu

Flowchart

Source Code

Function : lock

 
Description
bool lock( string $ip , string $ip1 , string $ip2)

Member function of class block_ip_address
Check whether user ip address should be blocked or not

Parameters

ip string

User IP address to be checked

ip1 string

Lower bound of IP address range to be blocked

ip2 string

Upper bound of IP address range to be blocked
Return

true when user should be blocked and false when user should be allowed

Flowchart

Source Code

Function : menuBox

 
Description
string menuBox( array $heading , array $contents)

Member function of class left_box
Returns left aligned vertical menu and sub-menu markups as single string

Parameters

heading array

Associative array storing info about menu items

 $heading  [$index]   ['link']
                      ['text']

contents array

Associative array storing info about sub-menu items which opens when a particular menu is active

 $contents [$index]   ['link']
                      ['text']
Return

string contaning html markup of left side menu and its sub-menu

Flowchart

Source Code

Function : messageStack

 
Description
void messageStack( void )

Constructor of class messageStack
Move notifications from session vars to class vars

Flowchart

Source Code

Function : output

 
Description
string output( void )

Constructor of class messageStack
Form html table markup for notification

Return

string Return html table markup for notification

Flowchart

Source Code

Function : reset

 
Description
void reset( void )

Member function of class messageStack
Reset class variables

Flowchart

Source Code

Function : right_box

 
Description
void right_box( void )

Constructor of class right_box
Reset menu and sub-menu

Flowchart

Source Code

Function : size

 
Description
int size( string $class )

Member function of class messageStack
Find number of notifications having a particular type/class eg error type/class

Parameters

class string

The class style name for the notification which is same as the type of the notification
Return

int number of matched notifications

Flowchart

Source Code

Function : tableBlock

 
Description
string tableBlock( array $contents )

Constructor of class tableBlock
Form generic table HTML markup

Parameters

contents array

Store table data values and column parameters

 $contents['form']
	  [$row_index]	['params']
	     		['text']
			[$column_index]	['params']
					['text']
					['align']
					['form']
Return

string containing HTML markup of desired generic table

Flowchart

Source Code

Function : tableBlockLeft

 
Description
string tableBlockLeft( array $contents )

Constructor of class tableBlockLeft
Form left aligned table HTML markup

Parameters

contents array

Store table data values and column parameters

 $contents['form']
	  [$row_index]	['params']
	     		['text']
			[$column_index]	['params']
					['text']
					['align']
					['form']
Return

string containing HTML markup of desired left aligned table

Flowchart

Source Code

Function : tableBlockRight

 
Description
string tableBlockRight( array $contents )

Constructor of class tableBlockRight
Form left aligned table HTML markup

Parameters

contents array

Store table data values and column parameters

 $contents['form']
	  [$row_index]	['params']
	     		['text']
			[$column_index]	['params']
					['text']
					['align']
					['form']
Return

string containing HTML markup of desired right aligned table

Flowchart

Source Code

https://ejobsitesoftware.com/database-description/

Database Description

The following is an outline and description of the database tables created during the standard installation of SocialNetworkSoftware. Currently, the only database supported by SocialNetworkSoftware is MySQL version 4.1.2 or greater.


Table Organisation

category1
table1
table2
table3
category2
table1
table2
table3
category3
table1
table2
table3
 

Database Diagram

Database diagram below provides a visual overview of the SocialNetworkSoftware database and the relations between the tables created during its standard installation.

 

Tables Description

The following are the specific fields in each of the tables created during the standard SocialNetworkSoftware installation.

Table: admin_employer_mails

Description here

Field Type Null Key Default Auto Increment
id int(15) NO PRI auto_increment
sender_id int(15) NO MUL 0
receiver_id int(11) NO MUL 0
subject varchar(255) NO
message blob NO
attachment_file varchar(255) NO
sender_mark enum(‘No’,’Yes’) NO No
receiver_mark enum(‘No’,’Yes’) NO No
receiver_see enum(‘No’,’Yes’) NO MUL No
sender_see enum(‘Yes’,’No’) NO MUL No
receiver_mail_status enum(‘active’,’inactive’,’deleted’) NO active
sender_mail_status enum(‘active’,’inactive’,’deleted’) NO active
receiver_deleted date YES
sender_deleted date YES
inserted datetime NO 0000-00-00 00:00:00
 

Table: admin_files

Description here

Field Type Null Key Default Auto Increment
admin_files_id int(11) NO PRI auto_increment
admin_files_name varchar(64) NO
admin_files_is_boxes tinyint(5) NO 0
admin_files_to_boxes int(11) NO 0
admin_groups_id set(‘1′,’2’) NO 1
 

Table: admin_groups

Description here

Field Type Null Key Default Auto Increment
admin_groups_id int(11) NO PRI auto_increment
admin_groups_name varchar(64) NO
 

Table: administrator

Description here

Field Type Null Key Default Auto Increment
admin_id int(11) NO PRI auto_increment
admin_groups_id int(11) NO 0
inserted datetime NO 0000-00-00 00:00:00
updated datetime YES
admin_firstname varchar(32) NO
admin_lastname varchar(32) NO
admin_name varchar(32) NO UNI
admin_password varchar(50) NO
admin_email_address varchar(128) NO UNI
last_ip_address varchar(255) YES
ip_address varchar(255) YES
last_login_time datetime YES
is_admin enum(‘No’,’Yes’) NO No
number_of_logon int(11) NO 0
 

Table: applicant_interaction

Description here

Field Type Null Key Default Auto Increment
id int(15) NO PRI auto_increment
application_id int(15) NO 0
sender_id int(11) NO 0
email_address varchar(128) NO
subject varchar(255) NO
message blob NO
attachment_file varchar(255) NO
remark_title varchar(255) NO
remark_description blob NO
jobseeker_see enum(‘No’,’Yes’) NO No
jobseeker_mark enum(‘No’,’Yes’) NO No
jobseeker_mail_status enum(‘active’,’inactive’,’deleted’) NO active
inserted datetime NO 0000-00-00 00:00:00
 

Table: applicant_status

Description here

Field Type Null Key Default Auto Increment
id int(15) NO PRI auto_increment
application_id int(15) NO MUL 0
process_round int(11) NO MUL 0
pre_status smallint(3) NO 0
cur_status smallint(3) NO 0
inserted datetime NO 0000-00-00 00:00:00
 

Table: application

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
application_id varchar(32) NO MUL
jobseeker_apply_id int(11) NO MUL 0
inserted datetime NO 0000-00-00 00:00:00
job_id int(11) NO MUL 0
jobseeker_id int(11) NO MUL 0
cover_letter text NO
resume_id int(11) NO MUL 0
resume_name varchar(255) NO
applicant_select enum(‘No’,’Yes’) NO No
applicant_join_status enum(,’joined’,’declined’) NO MUL
selected_date datetime NO 0000-00-00 00:00:00
source enum(‘job_apply’,’search_resume’) NO job_apply
 

Table: application_rating

Description here

Field Type Null Key Default Auto Increment
rate_id int(15) NO PRI auto_increment
application_id int(15) NO 0
point smallint(3) NO 0
round_id smallint(3) NO 0
inserted datetime NO 0000-00-00 00:00:00
updated datetime NO 0000-00-00 00:00:00
 

Table: application_send_template

Description here

Field Type Null Key Default Auto Increment
id tinyint(3) NO PRI auto_increment
application_send_template_name varchar(32) NO
description blob NO
fr_description blob NO
priority tinyint(3) NO 0
alert_default enum(‘No’,’Yes’) NO No
 

Table: application_status

Description here

Field Type Null Key Default Auto Increment
id smallint(3) NO PRI auto_increment
application_status varchar(32) NO
fr_application_status varchar(32) NO
priority smallint(3) NO 0
 

Table: apply

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
inserted datetime NO 0000-00-00 00:00:00
job_id int(11) NO MUL 0
jobseeker_id int(11) NO MUL 0
cover_letter text NO
resume_id int(11) NO 0
resume_name varchar(255) NO
jobseeker_apply_status enum(‘active’,’inactive’) NO active
 

Table: article

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
category_id int(11) NO 0
title varchar(255) NO
author varchar(255) NO
show_date date NO 0000-00-00
description blob NO
short_description text NO
article_photo varchar(255) NO
inserted datetime NO 0000-00-00 00:00:00
updated datetime NO 0000-00-00 00:00:00
is_show enum(‘Yes’,’No’) NO Yes
 

Table: article_categories

Description here

Field Type Null Key Default Auto Increment
id int(5) unsigned NO PRI auto_increment
sub_cat_id varchar(32) NO
category_name varchar(255) YES MUL
fr_category_name varchar(255) NO
 

Table: availability

Description here

Field Type Null Key Default Auto Increment
id int(5) NO PRI auto_increment
availability_name varchar(255) NO MUL
priority smallint(5) NO 0
 

Table: banner

Description here

Field Type Null Key Default Auto Increment
id int(5) NO PRI auto_increment
banner_type enum(‘image’,’script’) NO image
title varchar(150) NO
href varchar(255) NO
src varchar(255) NO
alt varchar(255) YES
script text NO
adviews int(10) YES 0
adclicks int(10) YES 0
active enum(‘T’,’F’) NO T
location int(5) NO 1
banner_date date NO 0000-00-00
b_order int(10) NO 1
company_name varchar(50) YES
company_contact varchar(50) YES
company_email varchar(50) YES
company_comments varchar(100) YES
banner_duration_from date YES
banner_duration_to date YES
banner_costing varchar(40) YES
duration_unlimited enum(‘T’,’F’) NO T
deleted enum(‘T’,’F’) NO F
 

Table: banner_location

Description here

Field Type Null Key Default Auto Increment
banner_location_id int(5) NO PRI auto_increment
banner_location_name varchar(100) NO
 

Table: career_level

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
career_level_name varchar(64) NO MUL
fr_career_level_name varchar(64) NO
priority int(5) NO 0
 

Table: company_description

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
recruiter_id int(11) NO UNI 0
description blob NO
 

Table: configuration

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
configuration_group_id int(11) NO 0
inserted datetime NO 0000-00-00 00:00:00
updated datetime YES
configuration_title varchar(64) NO
configuration_name varchar(64) NO
configuration_value varchar(255) NO
configuration_description varchar(255) YES
priority int(5) NO 0
use_function varchar(255) YES
set_function varchar(255) YES
 

Table: configuration_group

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
configuration_group_title varchar(64) NO
configuration_group_description varchar(255) NO
priority int(5) NO 0
visible enum(‘Yes’,’No’) NO Yes
 

Table: continent

Description here

Field Type Null Key Default Auto Increment
id smallint(5) unsigned NO PRI auto_increment
continent_name varchar(64) NO
fr_continent_name varchar(64) NO
priority smallint(5) NO 0
 

Table: countries

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
continent_id int(11) NO 0
country_name varchar(64) NO MUL
fr_country_name varchar(64) NO
country_code int(10) NO 0
priority int(5) NO 0
 

Table: cover_letters

Description here

Field Type Null Key Default Auto Increment
cover_letter_id int(11) NO PRI auto_increment
jobseeker_id int(11) NO MUL 0
cover_letter_name varchar(32) NO
cover_letter text NO
inserted datetime NO 0000-00-00 00:00:00
updated datetime YES
 

Table: currencies

Description here

Field Type Null Key Default Auto Increment
currencies_id int(11) NO PRI auto_increment
title varchar(32) NO
code char(3) NO
symbol_left varchar(12) YES
symbol_right varchar(12) YES
decimal_point char(1) YES
thousands_point char(1) YES
decimal_places char(1) YES
value float(13,8) YES
last_updated datetime YES
 

Table: education_level

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
education_level_name varchar(64) NO MUL
fr_education_level_name varchar(64) NO
priority int(5) NO 0
 

Table: experience

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
max_experience varchar(5) NO MUL
min_experience smallint(5) NO 0
experience_weight smallint(3) NO 0
priority int(5) NO 0
 

Table: expired_job_alert

Description here

Field Type Null Key Default Auto Increment
id tinyint(3) NO PRI auto_increment
expired_job_alert_name varchar(32) NO
description blob NO
fr_description blob NO
priority tinyint(3) NO 0
alert_default enum(‘No’,’Yes’) NO No
 

Table: forum

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
category_id int(11) NO MUL 0
title varchar(255) NO
author varchar(255) NO
show_date date NO 0000-00-00
description text NO
forum_photo varchar(255) NO
inserted datetime NO 0000-00-00 00:00:00
updated datetime NO 0000-00-00 00:00:00
is_show enum(‘Yes’,’No’) NO Yes
 

Table: forum_categories

Description here

Field Type Null Key Default Auto Increment
id int(5) unsigned NO PRI auto_increment
category_name varchar(255) YES MUL
fr_category_name varchar(255) NO
 

Table: forum_topics

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
forum_id int(11) NO MUL 0
user_id int(9) NO MUL
user_type enum(‘jobseeker’,’recruiter’) NO
title varchar(255) NO
description text NO
hits int(9) NO
featured enum(‘no’,’yes’) NO
inserted datetime NO 0000-00-00 00:00:00
 

Table: geo_zones

Description here

Field Type Null Key Default Auto Increment
geo_zone_id int(11) NO PRI auto_increment
geo_zone_name varchar(32) NO
geo_zone_description varchar(255) NO
last_modified datetime YES
date_added datetime NO 0000-00-00 00:00:00
 

Table: gift

Description here

Field Type Null Key Default Auto Increment
gift_id int(10) unsigned NO PRI auto_increment
inserted datetime NO 0000-00-00 00:00:00
updated datetime YES
certificate_number varchar(32) NO
discount_type_id tinyint(3) unsigned NO 0
amount decimal(10,2) unsigned NO 0.00
expired date NO 0000-00-00
 

Table: gift_used

Description here

Field Type Null Key Default Auto Increment
recruiter_id int(10) unsigned NO PRI 0
gift_id int(10) unsigned NO PRI 0
gift_amount decimal(10,2) NO 0.00
inserted datetime NO 0000-00-00 00:00:00
updated datetime YES
 

Table: indeed_feed

Description here

Field Type Null Key Default Auto Increment
feed_id smallint(5) NO PRI auto_increment
feed_title varchar(64) NO
publisher_id varchar(25) NO
recruiter_id int(10) NO
feed_keyword varchar(255) NO
location varchar(64) NO
country_code varchar(2) NO
job_type varchar(10) NO
sort_by enum(‘relevance’,’date’) NO
channel varchar(64) NO
job_duration smallint(3) NO
max_feed smallint(6) NO
status enum(‘active’,’inactive’) NO
last_active datetime NO
import_jobs int(9) NO
updated datetime NO
inserted datetime NO
 

Table: indeed_job

Description here

Field Type Null Key Default Auto Increment
indeed_id varchar(20) NO PRI
job_id int(9) NO MUL
indeed_url varchar(255) NO
 

Table: invite_friend_tmpl

Description here

Field Type Null Key Default Auto Increment
id tinyint(3) NO PRI auto_increment
template_name varchar(64) NO
description blob NO
fr_description blob NO
priority tinyint(3) NO 0
alert_default enum(‘No’,’Yes’) NO No
 

Table: ipaddress_block

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
ip_address1 varchar(15) NO
ip_address2 varchar(15) YES
priority int(11) NO 0
 

Table: job_alert

Description here

Field Type Null Key Default Auto Increment
id tinyint(3) NO PRI auto_increment
job_alert_name varchar(32) NO
description blob NO
fr_description blob NO
priority tinyint(3) NO 0
alert_default enum(‘No’,’Yes’) NO No
 

Table: job_category

Description here

Field Type Null Key Default Auto Increment
id int(5) NO PRI auto_increment
sub_cat_id int(11) YES
category_name varchar(255) NO MUL
fr_category_name varchar(255) NO
priority smallint(5) NO 0
 

Table: job_point_history

Description here

Field Type Null Key Default Auto Increment
job_id int(11) NO 0
re_advertised_from datetime NO 0000-00-00 00:00:00
re_advertised_to datetime NO 0000-00-00 00:00:00
 

Table: job_post_invoice_tmpl

Description here

Field Type Null Key Default Auto Increment
id tinyint(3) NO PRI auto_increment
template_name varchar(32) NO
description blob NO
fr_description blob NO
priority tinyint(3) NO 0
alert_default enum(‘No’,’Yes’) NO No
 

Table: job_posted

Description here

Field Type Null Key Default Auto Increment
id int(5) NO PRI auto_increment
type_name varchar(255) NO MUL
fr_type_name varchar(255) NO
value smallint(3) NO 0
priority smallint(5) NO 0
 

Table: job_screener

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
job_id int(11) NO 0
recruiter_id int(11) NO 0
q1 varchar(255) YES
q2 varchar(255) YES
 

Table: job_statistics

Description here

Field Type Null Key Default Auto Increment
job_id int(11) NO PRI 0
applications int(11) NO 0
viewed int(11) NO 0
clicked int(11) NO 0
 

Table: job_title

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
job_title_name varchar(64) NO
priority int(11) NO 0
 

Table: job_type

Description here

Field Type Null Key Default Auto Increment
id int(5) NO PRI auto_increment
type_name varchar(255) NO MUL
fr_type_name varchar(255) NO
priority smallint(5) NO 0
 

Table: jobs

Description here

Field Type Null Key Default Auto Increment
job_id int(11) NO PRI auto_increment
display_id varchar(32) NO
recruiter_id int(11) NO MUL 0
recruiter_user_id int(11) YES
job_source enum(‘jobsite’,’indeed’) NO MUL
inserted datetime NO 0000-00-00 00:00:00
updated datetime YES
deleted datetime YES
re_adv datetime YES MUL
expired datetime YES
job_title varchar(255) NO
job_reference varchar(64) NO MUL
job_country_id varchar(5) NO
job_state_id varchar(5) YES
job_state varchar(64) YES
job_location varchar(64) NO
currency smallint(5) NO 0
job_salary varchar(64) YES
job_allowance varchar(64) YES
job_industry_sector text NO
job_short_description text NO
job_description blob NO
job_type varchar(5) NO
job_relocate enum(‘Yes’,’No’) NO Yes
min_experience varchar(5) NO
max_experience varchar(5) NO
job_vacancy_period varchar(15) NO
job_status enum(‘Yes’,’No’) NO Yes
job_featured enum(‘Yes’,’No’) NO No
post_url enum(‘Yes’,’No’) NO No
url varchar(255) NO
 

Table: jobs_job_category

Description here

Field Type Null Key Default Auto Increment
job_id int(11) NO PRI 0
job_category_id int(11) NO PRI 0
 

Table: jobseeker

Description here

Field Type Null Key Default Auto Increment
jobseeker_id int(11) NO PRI 0
jobseeker_privacy enum(‘1′,’2′,’3’) NO 3
jobseeker_cv_searchable enum(‘Yes’,’No’) NO Yes
jobseeker_url varchar(64) NO
jobseeker_first_name varchar(32) NO
jobseeker_middle_name varchar(32) NO
jobseeker_last_name varchar(32) NO
jobseeker_salutation smallint(5) NO 0
jobseeker_address1 varchar(128) NO
jobseeker_address2 varchar(128) NO
jobseeker_country_id int(3) NO 0
jobseeker_state varchar(32) NO
jobseeker_state_id int(11) NO 0
jobseeker_city varchar(64) NO
jobseeker_zip varchar(10) NO
jobseeker_phone varchar(24) NO
jobseeker_mobile varchar(24) NO
jobseeker_work_phone varchar(24) NO
jobseeker_featured enum(‘Yes’,’No’) NO No
jobseeker_newsletter enum(‘Yes’,’No’) NO Yes
 

Table: jobseeker_account_alert

Description here

Field Type Null Key Default Auto Increment
id tinyint(3) NO PRI auto_increment
jobseeker_account_alert_name varchar(32) NO
description blob NO
fr_description blob NO
priority tinyint(3) NO 0
alert_default enum(‘No’,’Yes’) NO No
 

Table: jobseeker_account_history

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
jobseeker_id int(11) NO MUL 0
order_id int(11) NO 0
inserted datetime NO 0000-00-00 00:00:00
updated datetime YES
plan_type_name varchar(32) NO
start_date date NO MUL 0000-00-00
end_date date NO 0000-00-00
 

Table: jobseeker_language

Description here

Field Type Null Key Default Auto Increment
languages_id int(11) NO PRI auto_increment
name varchar(32) NO MUL
fr_name varchar(32) NO
priority int(3) YES
 

Table: jobseeker_login

Description here

Field Type Null Key Default Auto Increment
jobseeker_id int(11) NO PRI auto_increment
inserted datetime NO 0000-00-00 00:00:00
updated datetime NO 0000-00-00 00:00:00
jobseeker_email_address varchar(128) NO UNI
jobseeker_password varchar(50) NO
jobseeker_status enum(‘No’,’Yes’) NO Yes
last_ip_address varchar(15) NO
ip_address varchar(15) NO
last_login_time datetime NO 0000-00-00 00:00:00
number_of_logon int(11) NO 0
 

Table: jobseeker_order_status_update_tmpl

Description here

Field Type Null Key Default Auto Increment
id tinyint(3) NO PRI auto_increment
order_template_name varchar(32) NO
description blob NO
fr_description blob NO
priority tinyint(3) NO 0
alert_default enum(‘No’,’Yes’) NO No
 

Table: jobseeker_order_template

Description here

Field Type Null Key Default Auto Increment
id tinyint(3) NO PRI auto_increment
order_template_name varchar(32) NO
description blob NO
fr_description blob NO
priority tinyint(3) NO 0
alert_default enum(‘No’,’Yes’) NO No
 

Table: jobseeker_orders

Description here

Field Type Null Key Default Auto Increment
orders_id int(11) NO PRI auto_increment
jobseeker_id int(11) NO 0
product_id int(5) NO 0
jobseeker_name varchar(128) NO
jobseeker_email_address varchar(128) NO 0
jobseeker_street_address varchar(255) NO
jobseeker_zip varchar(10) NO
jobseeker_city varchar(64) NO
jobseeker_state varchar(32) YES
jobseeker_country varchar(64) NO
jobseeker_telephone varchar(20) NO
billing_name varchar(64) NO
billing_company tinyint(32) unsigned YES
billing_street_address varchar(255) NO
billing_city varchar(64) NO
billing_state varchar(32) YES
billing_country varchar(64) NO
billing_zip varchar(20) NO
billing_telephone varchar(20) NO
payment_method varchar(32) NO
cc_type varchar(20) YES
cc_owner varchar(64) YES
cc_number varchar(32) YES
cc_expires varchar(4) YES
last_modified datetime YES
date_purchased datetime YES
orders_status int(5) NO 0
orders_date_finished datetime YES
currency char(3) YES
currency_value decimal(14,6) YES
comments text NO
admin_comment text NO
 

Table: jobseeker_orders_history

Description here

Field Type Null Key Default Auto Increment
order_id int(11) NO PRI 0
inserted datetime NO 0000-00-00 00:00:00
plan_type_name varchar(64) NO
time_period int(3) NO 0
time_period1 varchar(5) NO
fee float(10,2) NO 0.00
currency varchar(4) NO GBP
total_price float(12,2) NO 0.00
 

Table: jobseeker_orders_total

Description here

Field Type Null Key Default Auto Increment
orders_total_id int(10) unsigned NO PRI auto_increment
orders_id int(11) NO MUL 0
title varchar(255) NO
text varchar(255) NO
value decimal(15,4) NO 0.0000
class varchar(32) NO
sort_order int(11) NO 0
 

Table: jobseeker_plan_type

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
plan_type_name varchar(64) NO MUL
fr_plan_type_name varchar(64) NO
priority int(5) NO 0
time_period smallint(3) NO 0
time_period1 varchar(5) NO
fee float(10,2) NO 0.00
currency varchar(4) NO GBP
cv int(5) NO 0
 

Table: jobseeker_rating

Description here

Field Type Null Key Default Auto Increment
rating_id int(11) NO PRI auto_increment
resume_id int(11) NO MUL 0
recruiter_id int(11) NO MUL 0
point tinyint(1) NO 0
admin_rating smallint(5) NO 0
admin_rate enum(‘N’,’Y’) NO MUL N
private_notes varchar(255) YES
 

Table: jobseeker_registration

Description here

Field Type Null Key Default Auto Increment
id tinyint(3) NO PRI auto_increment
jobseeker_registration_name varchar(32) NO
description blob NO
fr_description blob NO
priority tinyint(3) NO 0
alert_default enum(‘No’,’Yes’) NO No
 

Table: jobseeker_resume1

Description here

Field Type Null Key Default Auto Increment
resume_id int(11) NO PRI auto_increment
jobseeker_id int(11) NO MUL 0
resume_title varchar(64) NO
objective text NO
job_type_id text NO
currency smallint(5) NO 0
expected_salary varchar(96) NO
expected_salary_per varchar(96) NO
target_job_titles varchar(96) NO
job_category text NO
relocate enum(‘Yes’,’No’) NO Yes
work_experince smallint(4) NO 0
experience_year smallint(2) NO 0
experience_month smallint(2) NO 0
availability_date date YES
jobseeker_resume varchar(128) NO
jobseeker_photo varchar(128) NO
jobseeker_video varchar(255) NO
jobseeker_resume_text text NO
inserted datetime NO 0000-00-00 00:00:00
updated datetime YES 0000-00-00 00:00:00
search_status enum(‘Yes’,’No’) NO Yes
 

Table: jobseeker_resume2

Description here

Field Type Null Key Default Auto Increment
r2_id int(11) NO PRI auto_increment
resume_id int(11) NO MUL 0
company varchar(96) NO
city varchar(96) NO
state varchar(96) NO
state_id smallint(5) NO 0
country smallint(5) NO 0
job_title varchar(96) NO
currency smallint(5) NO 0
salary varchar(64) NO
salary_per varchar(5) NO
company_industry smallint(5) NO 0
start_month int(2) NO 0
start_year int(4) NO 0
end_month int(2) NO 0
end_year int(4) NO 0
still_work enum(‘Yes’,’No’) NO No
description text NO MUL
 

Table: jobseeker_resume3

Description here

Field Type Null Key Default Auto Increment
r3_id int(11) NO PRI auto_increment
resume_id int(11) NO MUL 0
degree varchar(96) NO
specialization varchar(128) NO
school varchar(96) NO
city varchar(96) NO
state varchar(96) NO
state_id smallint(5) NO 0
country smallint(5) NO 0
start_month smallint(2) NO 0
start_year smallint(4) NO 0
end_month smallint(2) NO 0
end_year smallint(4) NO 0
related_info text NO MUL
 

Table: jobseeker_resume4

Description here

Field Type Null Key Default Auto Increment
r4_id int(11) NO PRI auto_increment
resume_id int(11) NO MUL 0
skill varchar(96) NO
skill_level varchar(128) NO
last_used smallint(5) NO 0
years_of_exp varchar(96) YES
 

Table: jobseeker_resume5

Description here

Field Type Null Key Default Auto Increment
r5_id int(11) NO PRI auto_increment
resume_id int(11) NO MUL 0
language smallint(5) NO 0
proficiency smallint(5) NO 0
 

Table: jobseeker_resume6

Description here

Field Type Null Key Default Auto Increment
r6_id int(11) NO PRI auto_increment
resume_id int(11) NO MUL 0
name varchar(128) NO
company_name varchar(128) NO
country int(10) NO 0
position_title varchar(128) NO
contact_no varchar(20) NO
email_address varchar(50) NO
relationship varchar(50) NO
inserted date NO 0000-00-00
updated date NO 0000-00-00
 

Table: language_proficiency

Description here

Field Type Null Key Default Auto Increment
id smallint(5) NO PRI auto_increment
language_proficiency varchar(64) NO
fr_language_proficiency varchar(64) NO
priority smallint(5) NO 0
 

Table: languages

Description here

Field Type Null Key Default Auto Increment
languages_id int(11) NO PRI auto_increment
name varchar(32) NO MUL
code char(2) NO
image varchar(64) YES
directory varchar(32) YES
sort_order int(3) YES
 

Table: newsletters

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
title varchar(255) NO
content text NO
attachment_file varchar(255) YES
module varchar(255) NO
date_added datetime NO 0000-00-00 00:00:00
date_sent datetime YES
status int(1) YES
locked int(1) YES 0
 

Table: newsletters_history

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
title varchar(255) NO
content text NO
attachment_file varchar(255) YES
send_to enum(‘jobseeker’,’recruiter’) NO jobseeker
date_send datetime YES
 

Table: order_status_update_tmpl

Description here

Field Type Null Key Default Auto Increment
id tinyint(3) NO PRI auto_increment
order_template_name varchar(32) NO
description blob NO
fr_description blob NO
priority tinyint(3) NO 0
alert_default enum(‘No’,’Yes’) NO No
 

Table: orders

Description here

Field Type Null Key Default Auto Increment
orders_id int(11) NO PRI auto_increment
recruiter_id int(11) NO MUL 0
product_id int(5) NO 0
recruiter_name varchar(128) NO
recruiter_email_address varchar(128) NO
recruiter_company varchar(64) YES
recruiter_street_address varchar(255) NO
recruiter_zip varchar(10) NO
recruiter_city varchar(64) NO
recruiter_state varchar(32) YES
recruiter_country varchar(64) NO
recruiter_telephone varchar(20) NO
billing_name varchar(64) NO
billing_company varchar(32) YES
billing_street_address varchar(255) NO
billing_city varchar(64) NO
billing_state varchar(32) YES
billing_country varchar(64) NO
billing_zip varchar(20) NO
billing_telephone varchar(20) NO
payment_method varchar(32) NO
cc_type varchar(20) YES
cc_owner varchar(64) YES
cc_number varchar(32) YES
cc_expires varchar(4) YES
last_modified datetime YES
date_purchased datetime YES
orders_status int(5) NO 0
orders_date_finished datetime YES
currency char(3) YES
currency_value decimal(14,6) YES
comments text NO
admin_comment text NO
 

Table: orders_history

Description here

Field Type Null Key Default Auto Increment
order_id int(11) NO PRI 0
inserted datetime NO 0000-00-00 00:00:00
plan_type_name varchar(64) NO
time_period int(3) NO 0
time_period1 varchar(5) NO
fee float(10,2) NO 0.00
currency varchar(4) NO GBP
job int(5) NO 0
cv int(5) NO 0
sms int(5) NO 0
total_price float(12,2) NO 0.00
 

Table: orders_status

Description here

Field Type Null Key Default Auto Increment
orders_status_id int(11) NO PRI 0
language_id int(11) NO PRI 1
orders_status_name varchar(32) NO MUL
 

Table: orders_total

Description here

Field Type Null Key Default Auto Increment
orders_total_id int(10) unsigned NO PRI auto_increment
orders_id int(11) NO MUL 0
title varchar(255) NO
text varchar(255) NO
value decimal(15,4) NO 0.0000
class varchar(32) NO
sort_order int(11) NO 0
 

Table: page_rank

Description here

Field Type Null Key Default Auto Increment
date date NO PRI
google_rank smallint(2) NO
alexa_rank int(9) NO
 

Table: plan_type

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
plan_type_name varchar(64) NO MUL
fr_plan_type_name varchar(64) NO
priority int(5) NO 0
time_period smallint(3) NO 0
time_period1 varchar(5) NO
fee float(10,2) NO 0.00
currency varchar(4) NO GBP
job int(5) NO 0
cv int(5) NO 0
sms int(5) NO 0
 

Table: recruiter

Description here

Field Type Null Key Default Auto Increment
recruiter_id int(11) NO PRI 0
recruiter_first_name varchar(32) NO
recruiter_last_name varchar(32) NO
recruiter_position varchar(128) NO
recruiter_company_name varchar(128) NO
recruiter_address1 varchar(128) NO
recruiter_address2 varchar(128) YES
recruiter_city varchar(32) NO
recruiter_country_id int(3) NO 0
recruiter_state varchar(32) YES
recruiter_state_id int(11) NO 0
recruiter_zip varchar(20) NO
recruiter_telephone varchar(20) NO
fax varchar(20) NO
recruiter_logo varchar(255) YES
recruiter_url varchar(255) NO
recruiter_newsletter enum(‘Yes’,’No’) NO Yes
recruiter_featured enum(‘Yes’,’No’) NO No
 

Table: recruiter_account_alert

Description here

Field Type Null Key Default Auto Increment
id tinyint(3) NO PRI auto_increment
recruiter_account_alert_name varchar(32) NO
description blob NO
fr_description blob NO
priority tinyint(3) NO 0
alert_default enum(‘No’,’Yes’) NO No
 

Table: recruiter_account_history

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
recruiter_id int(11) NO 0
order_id int(11) NO 0
inserted datetime NO 0000-00-00 00:00:00
updated datetime YES
plan_type_name varchar(32) NO
plan_for enum(‘job_post’,’resume_search’) NO job_post
start_date date NO 0000-00-00
end_date date NO 0000-00-00
recruiter_job_status enum(‘Yes’,’No’) NO No
recruiter_job int(5) NO 0
recruiter_cv_status enum(‘Yes’,’No’) NO No
recruiter_cv int(5) NO 0
recruiter_sms_status enum(‘No’,’Yes’) NO No
recruiter_sms int(10) NO 0
job_enjoyed int(5) NO 0
cv_enjoyed int(5) NO 0
sms_enjoyed int(5) NO 0
 

Table: recruiter_login

Description here

Field Type Null Key Default Auto Increment
recruiter_id int(11) NO PRI auto_increment
inserted datetime NO 0000-00-00 00:00:00
updated datetime YES
recruiter_email_address varchar(128) NO UNI
recruiter_password varchar(50) NO
recruiter_status enum(‘No’,’Yes’) NO Yes
last_ip_address varchar(15) YES
ip_address varchar(15) YES
last_login_time datetime NO 0000-00-00 00:00:00
number_of_logon int(11) NO 0
 

Table: recruiter_order_template

Description here

Field Type Null Key Default Auto Increment
id tinyint(3) NO PRI auto_increment
order_template_name varchar(32) NO
description blob NO
fr_description blob NO
priority tinyint(3) NO 0
alert_default enum(‘No’,’Yes’) NO No
 

Table: recruiter_registration

Description here

Field Type Null Key Default Auto Increment
id tinyint(3) NO PRI auto_increment
recruiter_registration_name varchar(32) NO
description blob NO
fr_description blob NO
priority tinyint(3) NO 0
alert_default enum(‘No’,’Yes’) NO No
 

Table: recruiter_users

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
recruiter_id int(11) NO MUL 0
inserted datetime NO 0000-00-00 00:00:00
updated datetime YES
name varchar(64) NO
email_address varchar(64) NO
password varchar(50) NO
last_ip_address varchar(15) YES
ip_address varchar(15) YES
last_login_time datetime NO 0000-00-00 00:00:00
number_of_logon int(11) NO 0
status enum(‘Yes’,’No’) NO Yes
 

Table: resume_alert

Description here

Field Type Null Key Default Auto Increment
id tinyint(3) NO PRI auto_increment
resume_alert_name varchar(32) NO
description blob NO
fr_description blob NO
priority tinyint(3) NO 0
alert_default enum(‘No’,’Yes’) NO No
 

Table: resume_job_category

Description here

Field Type Null Key Default Auto Increment
resume_id int(11) NO PRI 0
job_category_id int(11) NO PRI 0
 

Table: resume_statistics

Description here

Field Type Null Key Default Auto Increment
resume_id int(11) NO 0
recruiter_id int(11) NO 0
viewed int(11) NO 0
 

Table: resume_weight

Description here

Field Type Null Key Default Auto Increment
weight_id int(10) NO PRI auto_increment
job_id int(10) NO MUL 0
location smallint(3) NO 0
industry smallint(3) NO 0
job_type smallint(3) NO 0
experience smallint(3) NO 0
 

Table: salutation

Description here

Field Type Null Key Default Auto Increment
id smallint(5) NO PRI auto_increment
salutation_name varchar(255) NO
priority smallint(5) NO 0
 

Table: save_job

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
jobseeker_id int(11) NO 0
job_id int(11) NO 0
 

Table: save_resume

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
recruiter_id int(11) NO 0
resume_id int(11) NO 0
inserted datetime NO 0000-00-00 00:00:00
 

Table: search_job_result

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
jobseeker_id int(11) NO MUL 0
title_name varchar(64) NO
keyword varchar(64) NO
location varchar(64) NO
word1 enum(‘Yes’,’No’) NO Yes
country varchar(5) NO
state varchar(64) NO
industry_sector varchar(255) NO
experience varchar(32) NO
zip_code varchar(5) NO
radius smallint(5) NO
company varchar(120) NO
job_alert enum(‘daily’,’weekly’,’monthly’) NO
inserted datetime NO 0000-00-00 00:00:00
updated datetime YES
 

Table: search_resume_result

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
recruiter_id int(11) NO 0
title_name varchar(64) NO
keyword varchar(64) NO
word1 enum(‘Yes’,’No’) NO Yes
resume_type varchar(24) NO
minimum_rating varchar(32) YES
maximum_rating varchar(32) YES
first_name varchar(32) NO
last_name varchar(32) NO
email_address varchar(32) NO
country varchar(5) NO
state varchar(64) NO
city varchar(32) NO
zip varchar(15) NO
industry_sector varchar(255) NO
education_level varchar(20) NO
job_type varchar(20) NO
shift_type varchar(20) NO
experience varchar(20) NO
inserted datetime NO 0000-00-00 00:00:00
updated datetime YES
 

Table: selection_round

Description here

Field Type Null Key Default Auto Increment
id smallint(3) NO PRI auto_increment
round_name varchar(32) NO
fr_round_name varchar(64) NO
value smallint(3) NO 0
 

Table: site_map

Description here

Field Type Null Key Default Auto Increment
id smallint(6) NO PRI auto_increment
configuration_name varchar(128) NO
title varchar(128) NO
page_url varchar(128) NO
priority smallint(3) NO
status enum(‘active’,’inactive’) NO
 

Table: skill_last_used

Description here

Field Type Null Key Default Auto Increment
id smallint(5) NO PRI auto_increment
skill_last_used varchar(64) NO
fr_skill_last_used varchar(64) NO
priority smallint(5) NO 0
 

Table: skill_level

Description here

Field Type Null Key Default Auto Increment
id smallint(5) NO PRI auto_increment
skill_name varchar(64) NO
fr_skill_name varchar(64) NO
priority smallint(6) NO 0
 

Table: tag_statistics

Description here

Field Type Null Key Default Auto Increment
date date NO MUL 0000-00-00
ip_address varchar(15) NO MUL
tag varchar(64) NO
 

Table: tags

Description here

Field Type Null Key Default Auto Increment
id int(10) NO PRI auto_increment
tag varchar(64) NO
point smallint(5) NO 0
status enum(‘active’,’inactive’) NO inactive
 

Table: tax_class

Description here

Field Type Null Key Default Auto Increment
tax_class_id int(11) NO PRI auto_increment
tax_class_title varchar(32) NO
tax_class_description varchar(255) NO
last_modified datetime YES
date_added datetime NO 0000-00-00 00:00:00
 

Table: title_keywordmetatype

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
file_name varchar(255) NO
title varchar(255) NO
fr_title varchar(255) NO
meta_keyword text NO
fr_meta_keyword text NO
 

Table: topic_reply

Description here

Field Type Null Key Default Auto Increment
id int(11) NO PRI auto_increment
topic_id int(11) NO MUL 0
user_id int(9) NO MUL
user_type enum(‘jobseeker’,’recruiter’) NO
description text NO
inserted datetime NO 0000-00-00 00:00:00
 

Table: user_category

Description here

Field Type Null Key Default Auto Increment
id int(5) NO PRI auto_increment
user_category_name varchar(255) NO MUL
priority smallint(5) NO 0
 

Table: whos_online

Description here

Field Type Null Key Default Auto Increment
user_id int(11) YES
user varchar(13) NO
session_id varchar(32) NO
ip_address varchar(15) NO
time_entry varchar(14) NO
time_last_click varchar(14) NO
last_page_url varchar(255) NO
 

Table: zip_code

Description here

Field Type Null Key Default Auto Increment
zip_code varchar(10) NO PRI
latitude float(10,6) NO
longitude float(10,6) NO
city varchar(64) NO
state2 varchar(64) NO
state smallint(5) NO
 

Table: zip_code_search

Description here

Field Type Null Key Default Auto Increment
zip_code varchar(10) NO MUL
radius smallint(2) NO
state text NO
inserted date NO
 

Table: zones

Description here

Field Type Null Key Default Auto Increment
zone_id int(11) NO PRI auto_increment
zone_country_id int(11) NO MUL 0
zone_code varchar(32) NO
zone_name varchar(64) NO
fr_zone_name varchar(64) NO

https://ejobsitesoftware.com/ejobsite-api/

Ejobsitesoftware.com API Details


 
1. https://www.ejobsitesoftware.com/jobsite_demo/app/jobseeker_login/
post method
act = check required
email_address required
password required
 
2. https://www.ejobsitesoftware.com/jobsite_demo/app/logout/
access_key = required
 
3. https://www.ejobsitesoftware.com/jobsite_demo/app/jobseeker_info/
for jobseeker information
access_key = required
login user information
 
4. https://www.ejobsitesoftware.com/jobsite_demo/app/jobseeker_reg/
for register /update profile
post method
act = (register – new register/ update ) required
email_address required
password required (new register)
access_key = required (update case)
first_name required
last_name
address1 required
country required numeric id
state
city required
mobile
 
5. https://www.ejobsitesoftware.com/jobsite_demo/app/search/
post method
act = search required
keyword
country
state
location
job_category numeric id existing site
start_index optional default 0 search result show start position
 
6. https://www.ejobsitesoftware.com/jobsite_demo/app/jobseeker_resumes/
post method
access_key = required
output success : resume_id resume_title array
 
7. https://www.ejobsitesoftware.com/jobsite_demo/app/apply_job/
post method
access_key = required
job_id = required
resume_id = required
 
8. https://www.ejobsitesoftware.com/jobsite_demo/app/applyed_jobs/
post method
access_key = required
output success : jobID, apply_id, job_title, apply_date
 
9. ejobsitesoftware.com/jobsite_demo/app/job_countries/
post method
act = list required
output success : id,name

https://ejobsitesoftware.com/wiki/

Ejobsite Software

Ejobsitesoftware is a web-based application that enables you to quickly deploy a fully functional advanced job board or job site.

It can be used in setting up niche Jobsites for specific countries, regional Jobsite or a general Jobsite. Our job sites are customized to each client’s requirements.


Developer Documentation

Theme Development


API Reference

Database Description

Function Reference

Class Reference

https://ejobsitesoftware.com/theme-development/

Theme Development

Note: This is a technical document. It discusses technical aspects of theme module and developing a custom theme which requires a good knowledge of advanced PHP, HTML, CSS and Javascript and is not meant for non-technical users. Know more about themes: What are themes? | How to change Themes.

Nature of themes

Themes are collection of PHP scripts, HTML/CSS files and images, living under themes folder at root with folder name same as theme name. For Example: Theme Demo will be at ROOT/themes/demo. Theme files are interlinked and hooked together to form the actual website.

 

Why learn developing themes?

  • Complete control over layout, presentation and various design elements.
  • Tweaking already existing themes according to you and your domain taste.
  • When your requirements are too unique and specific to be found in our theme gallery.
  • Migrating from a non-Ejobsite powered website to a Ejobsite powered one.
  • You wish to implement out of box ideas to Ejobsite Software.
 

Theme Structure

For a minimal theme you will require two files:

  • text.htm – Which is responsible for basic layout of the homepage. It determines where elements like banner, menu, footer and other elements of homepage will be placed and arranged which in turns makes clear structural layout of homepage.
  • main_home.php – This file paints what will reside inside other elements of homepage like Login form, Job Search, welcome text and Latest Jobs section.

So the homepage is rendered at two levels.

text.htm

Controls homepage structure. It looks like an HTML file with placeholders enclosed in curly braces.

Our basic website structure is clear here.

 

main_home.php

Controls what’s inside the placeholder. It substitutes whatever HTML code needs to be substituted for placeholders inside index.htm.

It is actually done with the help of assign_vars method of $template object of Template class. For example to assign some HTML code to {PLACEHOLDER}, first generate HTML and store it in some variable or as a constant (say $placeholder_data) and then assign that value to {PLACEHOLDER} by

$template->assign_vars(array(
    'PLACEHOLDER'=> $placeholder_html
));

Header and footer data can also be populated using this technique but it is not recommended.

So following is a deprecated technique to replace {HEADER_HTML} and {FOOTER_HTML} inside text.htm:

$template->assign_vars(array(
    'HEADER_HTML'=>$header_html,
    'FOOTER_HTML'=>$footer_html
));
 

Recommended theme files

The above files are bare bones of a theme but for a full featured theme which is not just a static homepage we have to go beyond and create some more files for a robust and extensible theme structure.

Website has two elements which are global to all pages. They are the header and the footer.

They need to be included in every page. A file called body.php (which is not a part of theme files) is responsible for assigning values to {HEADER_HTML} and {FOOTER_HTML} placeholders (just like main_home.php) and is included in every page automatically. A minimal code is shown below.

 
<?php
$template->assign_vars(array(
 'HEADER_HTML' => HEADER_HTML,                // HEADER_HTML defined in header.php
 'FOOTER_HTML' => FOOTER_HTML,                // FOOTER_HTML defined in footer.php  
  ));
?>

Above code shows that the task of rendering the common elements is automatic, provided that these common elements are defined in their respective theme files. So we have to take care of four additional theme files.

  • header.php
  • footer.php

header.php

Header is a global element. Header covers

  • Everything till opening BODY html tag.
    • includes the DOCTYPE declaration, opening HTML tag and HEAD section.
  • HTML of banner.
    • Banner in turn includes site logo too.
  • HTML of menu bar.

Minimal header.php has data for {HEADER_HTML} defined.

 <?php
     $header_html_data = '<html>
 <head>
     <title>My Website</title>
 </head>
 <body>
     <div id="wrapper">
         <div id="banner">
             <!-- BANNER DATA   -->
         </div>

         <ul id="menu">
             <li><!-- MENU ITEM 1   --></li>
             <li><!-- MENU ITEM 2    --></li>
             <li><!-- MENU ITEM 3    --></li>
         </ul>
         ';
     define('HEADER_HTML',$header_html_data);
 ?>

footer.php

Footer is also a global element which may include:

  • Link to copyright.
  • Social media sharing.
  • RSS feeds.
  • Link to Disclaimer.
  • Privacy Policy.
  • Small sitemap, sometimes.

Minimal footer.php has data for {FOOTER_HTML} defined.

 <?php
     $footer_html_data = '
         <div id="footer">
             &copy; <?php echo date('Y') ?>, by <a href="https://www.mywebsite.com">My Website</a>
             <!-- Social Media Links -->
             <!-- RSS publishing link -->
         </div>
     </div> <!-- END PAGE WRAPPER -->
 </body>
 </html>
 ?>

stylesheet.css

Separating theme specific design features in a CSS file is recommended. More than one stylesheets can be made and maintained inside a folder.

 

Miscellaneous theme files

Absence of any of these files do not lead to any problem and they provide additional features which do not alter theme functionality or theme development.

index.php

This file do not contribute to theme development but is a security feature. It contains a simple line:

<?php header('../'); ?>

It simply redirects anyone trying to reach the theme folder one directory back. e.g. user trying to go to folder of default theme i.e. {ROOT}/themes/defaulttheme will bounce back to {ROOT}/themes.

As {ROOT}/themes again have identical index.php redirection script, so user is redirected again one directory back to homepage i.e. at {ROOT}/index.php.

Though directory listing in Apache is prevented by setting directory permissions which shows an Apache’s untidy access denied error, so this is just a nice and friendly way to tell user that he is not allowed to do so.

screenshot.gif

This contains the screenshot of the theme’s homepage which is shown as a thumbnail in admin panel theme choosing screen so that a particular theme can be visually recognized.

If absent, no thumbnail is shown.

info.txt

This text contains information about theme which is displayed again in admin panel theme selection screen. Information contains, theme’s name, description and version in following format.

Theme Name: Default theme
Description: This is default theme for Ejobsite Software.
Version: 1.0

If absent, theme folder name is displayed as theme name and rest information is not displayed.

theme specific images

Theme related images can be stored inside a separate folder named images inside respective theme directory.

Only theme dependent images (e.g. bullets, backgrounds, buttons and icons etc.) must be stored inside images folder and images which are part of website instead (e.g. logo and products images) must be put at {ROOT}/images so that they can be shared among all themes.