forked from elinoretenorio/jobskee-open-source-job-board
-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.php
executable file
·125 lines (103 loc) · 3.78 KB
/
config.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?php
/**
* Jobskee - open source job board
*
* @author Elinore Tenorio <elinore.tenorio@gmail.com>
* @license MIT
* @url http://www.jobskee.com
*/
/*
****************************************************
* USER SETTINGS
* You are free to modify the settings below
* to suit your needs
****************************************************
*/
// TIMEZONE
date_default_timezone_set('Asia/Manila');
// INITIATE SESSION
// session_cache_limiter(false);
session_start();
// APPLICATION SETTINGS
define('APP_NAME', 'Jobskee');
define('APP_DESC', 'Jobskee open source job board!');
define('APP_AUTHOR', 'Elinore Tenorio (elinore.tenorio@gmail.com)');
define('APP_MODE', 'development'); // set to 'production' if site is live, affects RedBean not being frozen if not in correct mode
define('APP_THEME', 'default'); // set to the theme folder name you are using, found in /views directory
// SMTP SETTINGS
define('SMTP_ENABLED', true);
define('SMTP_AUTH', true);
define('SMTP_URL', 'smtp.gmail.com');
define('SMTP_USER', '');
define('SMTP_PASS', '');
define('SMTP_PORT', 465);
define('SMTP_SECURE', 'ssl');
// APPLICATION URL PATHS
define('BASE_URL','http://jobskee:10088/'); // always include the trailing slash at the end
define('ADMIN_URL','http://jobskee:10088/admin/'); // always include the trailing slash at the end
// DATABASE SETTINGS
define('DB_HOST', 'localhost');
define('DB_NAME', 'jobskee');
define('DB_USER', '');
define('DB_PASS', '');
// SHARETHIS PUBLICATION ID
define('SHARETHIS_PUBID', ''); // get a pub id at www.sharethis.com
// GOOGLE ANALYTICS TRACKING
define('GA_TRACKING', '');
// APP SETTINGS CONSTANTS
define('LOGO_H', 200); // logo height
define('LOGO_W', 200); // logo width
define('LIMIT', 20); // number of jobs to display per page
define('HOME_LIMIT', 5); // number of jobs to display per category on the homepage
define('EXPIRE_JOBS', 30); // days to expire jobs
define('CRON_TOKEN', 'ioYgaCEfCEXQtzP2'); // token to verify cron job execution
define('ALLOW_JOB_POST', 1); // set (1) to allow job posting and (0) to turn off
/*
****************************************************
* DEFAULT CORE SETTINGS
* Modify only if you know what you are doing
****************************************************
*/
// CORE APPLICATION PATH
define('APP_PATH', str_replace(DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR, DIRECTORY_SEPARATOR, dirname(__FILE__)) . DIRECTORY_SEPARATOR);
// CORE CONSTANTS
define('ACTIVE', 1);
define('INACTIVE', 0);
define('CSV_FIELDS', 10);
// CORE APPLICATION URLS
define('ASSET_URL', BASE_URL . 'assets/');
define('ATTACHMENT_PATH', 'assets/attachments/');
define('IMAGE_PATH', 'assets/images/');
define('LOGIN_URL', ADMIN_URL . 'login');
// MVC PATHS
define('MODEL_PATH', 'models/');
define('VIEWS_PATH', 'views');
define('CONTROLLER_PATH','controllers/');
// CORE THEME SETTINGS
define('THEME_PATH', APP_THEME .'/');
define('THEME_ASSETS', BASE_URL . VIEWS_PATH .'/'. THEME_PATH .'assets/');
// ADMIN THEME SETTINGS
define('ADMIN_THEME', 'admin/');
define('ADMIN_ASSETS', BASE_URL . VIEWS_PATH .'/'. ADMIN_THEME . 'assets/');
// LOAD ALL MODEL CLASSES
foreach (glob(MODEL_PATH . "*.php") as $class) {
require_once $class;
}
// REDBEAN ORM CONFIG
R::setup("mysql:host=".DB_HOST.";dbname=".DB_NAME, DB_USER, DB_PASS);
if (APP_MODE == 'production') {
R::freeze();
}
// SLIM MICROFRAMEWORK
require 'Slim/Slim.php';
\Slim\Slim::registerAutoloader();
// SLIM CSRF GUARD
require 'Slim/Extras/Middleware/CsrfGuard.php';
$app = new \Slim\Slim(array('mode'=>APP_MODE, 'templates.path'=>VIEWS_PATH));
$app->add(new \Slim\Extras\Middleware\CsrfGuard());
$app->notFound(function () use ($app) {
$app->flash('danger', 'The page you are looking for could not be found.');
$url = (userIsValid()) ? ADMIN_MANAGE : BASE_URL;
$app->redirect($url);
});
$app->flashKeep();