summaryrefslogtreecommitdiff
path: root/config.php-dist
blob: 325cd70c27100180969b1cf1f1965993723096a3 (plain)
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
<?php

/**
 * Copyright (c) 2007 Nathan Kinkade
 * 
 * This code is offered under an MIT (X11) license.  For more information
 * about the terms of this license see the file LICENSE included with this
 * software or visit: http://www.opensource.org/licenses/mit-license.php
 */

# establish an error reporting level suitable for the site
#error_reporting (0); # don't show any errors
error_reporting(E_ALL); # show all errors
#error_reporting(E_ALL ^ E_NOTICE); # show all errors except notices

# set various site-wide variables

# site constants that don't need to be interpolated in strings and/or
# are more sensitive will be setup as constants
define("DBHOST", "localhost"); # database host
define("DBNAME", "nutridb_sr19"); # database name
define("DBUSER", "nutridb"); # database user
define("DBPASS", ""); # database password

define("SMARTYDIR", "lib/smarty"); # Smarty templates dir - smarty.php.net
define("XAJAXDIR", "lib/xajax"); # XAJAX libs - xajaxproject.org

# if true then any db error will cause the error to be printed
# and the script will be halted.  this should probably only be
# set to true while in development
define("DBDEBUG", "false");

# generic empty class for some config variables
class siteConfig {};
$config = new siteConfig;

# variables that need to be interpolated inside strings and HEREDOCs
# will go in the siteConfig object
$config->_rootDir		= "/var/www/nutridb"; # root directory
$config->_rootUri		= "http://localhost/nutridb"; # root uri
$config->_imgUri		= "{$config->_rootUri}/images"; # where images live
$config->_cssUri		= "{$config->_rootUri}/css"; # where css files live
$config->_jsUri			= "{$config->_rootUri}/js"; # where javascript files live
$config->_smarty		= "{$config->_rootDir}/smarty"; # where smarty files live
$config->_recordsPerPage	= "30"; # number of results per page on food_search.php
$config->_thisScript		= basename($_SERVER['PHP_SELF']);

# in some cases we might want to send the user back to the page
# they came from, but HTTP_REFERER won't always be set for
# various reason, so if it isn't then just sent them back to the
# root URI.
if ( isset($_SERVER['HTTP_REFERER']) ) {
	$config->_previousUri = $_SERVER['HTTP_REFERER'];
} else {
	$config->_previousUri = "{$config->_rootUri}/";
}

# include the necessary libraries and classes
require("lib/site.lib.php"); # functions specific to this site
require("lib/standard.lib.php"); # standard functions useful for any site
require("lib/database.class.php"); # database class  
require(SMARTYDIR . "/Smarty.class.php"); # Smarty templates
require(XAJAXDIR . "/xajax.inc.php"); # Ajax class - xajaxproject.org

# start a session.  we may not need it but start it anyway
session_start();

# instantiate the database object
$db = new Database();

# instantiate and configure XAJAX
$xajax = new xajax();
$xajax->registerFunction("removeCurrentMealItem");
$xajax->registerFunction("clearCurrentMeal");
$xajax->registerFunction("removeMealItem");
$xajax->registerFunction("removeDiaryItem");
$xajax->registerFunction("loadMealToEdit");
$xajax->registerFunction("loadFoodToEdit");
$xajax->registerFunction("usernameExists");
$xajax->processRequests();


# instantiate and configure Smarty
$smarty = new Smarty();
#$smarty->caching	= true; # turn on smarty template caching
$smarty->template_dir	= "{$config->_rootDir}/templates";
$smarty->compile_dir	= "{$config->_smarty}/templates_c";
$smarty->cache_dir	= "{$config->_smarty}/cache";
$smarty->config_dir	= "{$config->_smarty}/configs";

# go ahead and register our $config object with smarty
$smarty->assign("config", $config);

?>