Merge pull request #4380 from atif-shaikh/CRM-15301
[civicrm-core.git] / templates / CRM / common / civicrm.settings.php.template
CommitLineData
eb049397
DL
1<?php
2/*
3 +--------------------------------------------------------------------+
232624b1 4 | CiviCRM version 4.4 |
eb049397
DL
5 +--------------------------------------------------------------------+
6 | Copyright CiviCRM LLC (c) 2004-2013 |
7 +--------------------------------------------------------------------+
8 | This file is a part of CiviCRM. |
9 | |
10 | CiviCRM is free software; you can copy, modify, and distribute it |
11 | under the terms of the GNU Affero General Public License |
12 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
13 | |
14 | CiviCRM is distributed in the hope that it will be useful, but |
15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
17 | See the GNU Affero General Public License for more details. |
18 | |
19 | You should have received a copy of the GNU Affero General Public |
20 | License and the CiviCRM Licensing Exception along |
21 | with this program; if not, contact CiviCRM LLC |
22 | at info[AT]civicrm[DOT]org. If you have questions about the |
23 | GNU Affero General Public License or the licensing of CiviCRM, |
24 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
25 +--------------------------------------------------------------------+
26*/
27
28/**
29 * CiviCRM Configuration File.
30 */
31
32/**
33 * Content Management System (CMS) Host:
34 *
35 * CiviCRM can be hosted in either Drupal 6 or 7, Joomla or WordPress.
36 *
37 * Settings for Drupal 7.x:
38 * define( 'CIVICRM_UF' , 'Drupal' );
39 *
40 * Settings for Drupal 6.x:
41 * define( 'CIVICRM_UF' , 'Drupal6' );
42 *
43 * Settings for Joomla 1.7.x - 2.5.x:
44 * define( 'CIVICRM_UF' , 'Joomla' );
45 *
46 * Settings for WordPress 3.3.x:
47 * define( 'CIVICRM_UF' , 'WordPress' );
48 *
49 * You may have issues with images in CiviCRM. If this is the case, be sure
50 * to update the CiviCRM Resource URL field to your CiviCRM root directory
51 * (Administer::System Settings::Resource URLs).
52 */
8d133ef2
TO
53if (!defined('CIVICRM_UF')) {
54 define( 'CIVICRM_UF' , '%%cms%%' );
55}
eb049397
DL
56
57/**
58 * Content Management System (CMS) Datasource:
59 *
60 * Update this setting with your CMS (Drupal or Joomla) database username, server and DB name.
61 * Datasource (DSN) format:
62 * define( 'CIVICRM_UF_DSN', 'mysql://cms_db_username:cms_db_password@db_server/cms_database?new_link=true');
63 */
8d133ef2
TO
64if (!defined('CIVICRM_UF_DSN')) {
65 define( 'CIVICRM_UF_DSN' , 'mysql://%%CMSdbUser%%:%%CMSdbPass%%@%%CMSdbHost%%/%%CMSdbName%%?new_link=true' );
66}
eb049397
DL
67
68/**
69 * CiviCRM Database Settings
70 *
71 * Database URL (CIVICRM_DSN) for CiviCRM Data:
72 * Database URL format:
73 * define( 'CIVICRM_DSN', 'mysql://crm_db_username:crm_db_password@db_server/crm_database?new_link=true');
74 *
75 * Drupal and CiviCRM can share the same database, or can be installed into separate databases.
76 *
77 * EXAMPLE: Drupal and CiviCRM running in the same database...
78 * DB Name = drupal, DB User = drupal
79 * define( 'CIVICRM_DSN' , 'mysql://drupal:YOUR_PASSWORD@localhost/drupal?new_link=true' );
80 *
81 * EXAMPLE: Drupal and CiviCRM running in separate databases...
82 * Drupal DB Name = drupal, DB User = drupal
83 * CiviCRM DB Name = civicrm, CiviCRM DB User = civicrm
84 * define( 'CIVICRM_DSN' , 'mysql://civicrm:YOUR_PASSWORD@localhost/civicrm?new_link=true' );
85 *
86 */
8d133ef2
TO
87if (!defined('CIVICRM_DSN')) {
88 define( 'CIVICRM_DSN' , 'mysql://%%dbUser%%:%%dbPass%%@%%dbHost%%/%%dbName%%?new_link=true' );
89}
eb049397
DL
90
91/**
92 * CiviCRM Logging Database
93 *
94 * Used to point to a different database to use for logging (if desired). If unset defaults to equal CIVICRM_DSN.
95 * The CIVICRM_DSN user needs to have the rights to modify the below database schema and be able to write to it.
96 */
8d133ef2
TO
97if (!defined('CIVICRM_LOGGING_DSN')) {
98 define('CIVICRM_LOGGING_DSN', CIVICRM_DSN);
99}
eb049397
DL
100
101/**
102 * File System Paths:
103 *
104 * $civicrm_root is the file system path on your server where the civicrm
105 * code is installed. Use an ABSOLUTE path (not a RELATIVE path) for this setting.
106 *
107 * CIVICRM_TEMPLATE_COMPILEDIR is the file system path where compiled templates are stored.
108 * These sub-directories and files are temporary caches and will be recreated automatically
109 * if deleted.
110 *
111 * IMPORTANT: The COMPILEDIR directory must exist,
112 * and your web server must have read/write access to these directories.
113 *
114 *
115 * EXAMPLE - Drupal:
116 * If the path to the Drupal home directory is /var/www/htdocs/drupal
117 * the $civicrm_root setting would be:
118 * $civicrm_root = '/var/www/htdocs/drupal/sites/all/modules/civicrm/';
119 *
120 * the CIVICRM_TEMPLATE_COMPILEDIR would be:
121 * define( 'CIVICRM_TEMPLATE_COMPILEDIR', '/var/www/htdocs/drupal/sites/default/files/civicrm/templates_c/' );
122 *
123 * EXAMPLE - Joomla Installations:
124 * If the path to the Joomla home directory is /var/www/htdocs/joomla
125 * the $civicrm_root setting would be:
126 * $civicrm_root = '/var/www/htdocs/joomla/administrator/components/com_civicrm/civicrm/';
127 *
128 * the CIVICRM_TEMPLATE_COMPILEDIR would be:
129 * define( 'CIVICRM_TEMPLATE_COMPILEDIR', '/var/www/htdocs/joomla/media/civicrm/templates_c/' );
130 *
131 * EXAMPLE - WordPress Installations:
132 * If the path to the WordPress home directory is /var/www/htdocs/wordpress
133 * the $civicrm_root setting would be:
134 * $civicrm_root = '/var/www/htdocs/wordpress/wp-content/plugins/civicrm/civicrm/';
135 *
136 * the CIVICRM_TEMPLATE_COMPILEDIR would be:
137 * define( 'CIVICRM_TEMPLATE_COMPILEDIR', '/var/www/htdocs/wordpress/wp-content/plugins/files/civicrm/templates_c/' );
138 *
139 */
140
141global $civicrm_root;
142
143$civicrm_root = '%%crmRoot%%';
8d133ef2
TO
144if (!defined('CIVICRM_TEMPLATE_COMPILEDIR')) {
145 define( 'CIVICRM_TEMPLATE_COMPILEDIR', '%%templateCompileDir%%' );
146}
eb049397
DL
147
148/**
149 * Site URLs:
150 *
151 * This section defines absolute and relative URLs to access the host CMS (Drupal or Joomla) resources.
152 *
153 * IMPORTANT: Trailing slashes should be used on all URL settings.
154 *
155 *
156 * EXAMPLE - Drupal Installations:
157 * If your site's home url is http://www.example.com/drupal/
158 * these variables would be set as below. Modify as needed for your install.
159 *
160 * CIVICRM_UF_BASEURL - home URL for your site:
161 * define( 'CIVICRM_UF_BASEURL' , 'http://www.example.com/drupal/' );
162 *
163 * EXAMPLE - Joomla Installations:
164 * If your site's home url is http://www.example.com/joomla/
165 *
166 * CIVICRM_UF_BASEURL - home URL for your site:
167 * Administration site:
168 * define( 'CIVICRM_UF_BASEURL' , 'http://www.example.com/joomla/administrator/' );
169 * Front-end site:
170 * define( 'CIVICRM_UF_BASEURL' , 'http://www.example.com/joomla/' );
171 *
172 */
8d133ef2
TO
173if (!defined('CIVICRM_UF_BASEURL')) {
174 define( 'CIVICRM_UF_BASEURL' , '%%baseURL%%' );
175}
eb049397
DL
176
177/*
178 * If you are using any CiviCRM script in the bin directory that
179 * requires authentication, then you also need to set this key.
180 * We recommend using a 16-32 bit alphanumeric/punctuation key.
181 * More info at http://wiki.civicrm.org/confluence/display/CRMDOC/Command-line+Script+Configuration
182 */
8d133ef2
TO
183if (!defined('CIVICRM_SITE_KEY')) {
184 define( 'CIVICRM_SITE_KEY', '%%siteKey%%' );
185}
eb049397
DL
186
187/**
188 * Enable this constant, if you want to send your email through the smarty
189 * templating engine(allows you to do conditional and more complex logic)
190 *
191 */
8d133ef2
TO
192if (!defined('CIVICRM_MAIL_SMARTY')) {
193 define( 'CIVICRM_MAIL_SMARTY', 0 );
194}
eb049397
DL
195
196/**
197 * This setting logs all emails to a file. Useful for debugging any mail (or civimail) issues.
198 * Enabling this setting will not send any email, ensure this is commented out in production
199 * The CIVICRM_MAIL_LOG is a debug option which disables MTA (mail transport agent) interaction.
200 * You must disable CIVICRM_MAIL_LOG before CiviCRM will talk to your MTA.
201 */
8d133ef2 202// if (!defined('CIVICRM_MAIL_LOG')) {
eb049397 203// define( 'CIVICRM_MAIL_LOG', '%%templateCompileDir%%/mail.log' );
8d133ef2 204// }
eb049397 205
8d133ef2
TO
206
207if (!defined('CIVICRM_DOMAIN_ID')) {
208 define( 'CIVICRM_DOMAIN_ID' , 1 );
209}
eb049397
DL
210
211/**
212 * Settings to enable external caching using a Memcache server. This is an
213 * advanced feature, and you should read and understand the documentation
214 * before you turn it on. We cannot store these settings in the DB since the
215 * config could potentially also be cached and we need to avoid an infinite
216 * recursion scenario.
217 *
218 * @see http://civicrm.org/node/126
219 */
220
221/**
222 * If you have a memcache server configured and want CiviCRM to make use of it,
223 * set the following constant. You should only set this once you have your memcache
224 * server up and working, because CiviCRM will not start up if your server is
225 * unavailable on the host and port that you specify. By default CiviCRM will use
226 * an in-memory array cache
227 *
228 * To use the php extension memcache use a value of 'Memcache'
229 * To use the php extension memcached use a value of 'Memcached'
230 * To use the php extension apc use a value of 'APCcache'
231 * To not use any caching (not recommended), use a value of 'NoCache'
232 *
233 */
8d133ef2
TO
234if (!defined('CIVICRM_DB_CACHE_CLASS')) {
235 define( 'CIVICRM_DB_CACHE_CLASS', 'ArrayCache' );
236}
eb049397
DL
237
238/**
239 * Change this to the IP address of your cache server if it is not on the
240 * same machine (Unix).
241 */
8d133ef2
TO
242if (!defined('CIVICRM_DB_CACHE_HOST')) {
243 define( 'CIVICRM_DB_CACHE_HOST', 'localhost' );
244}
eb049397
DL
245
246/**
247 * Change this if you are not using the standard port for memcache or apccache (11211)
248 */
8d133ef2
TO
249if (!defined('CIVICRM_DB_CACHE_PORT')) {
250 define( 'CIVICRM_DB_CACHE_PORT', 11211 );
251}
eb049397
DL
252
253/**
254 * Items in cache will expire after the number of seconds specified here.
255 * Default value is 3600 (i.e., after an hour)
256 */
8d133ef2
TO
257if (!defined('CIVICRM_DB_CACHE_TIMEOUT')) {
258 define( 'CIVICRM_DB_CACHE_TIMEOUT', 3600 );
259}
eb049397
DL
260
261/**
262 * If you are sharing the same memcache instance with more than one CiviCRM
263 * database, you will need to set a different value for the following argument
264 * so that each copy of CiviCRM will not interfere with other copies. If you only
265 * have one copy of CiviCRM, you may leave this set to ''. A good value for
266 * this if you have two servers might be 'server1_' for the first server, and
267 * 'server2_' for the second server.
268 */
8d133ef2
TO
269if (!defined('CIVICRM_MEMCACHE_PREFIX')) {
270 define( 'CIVICRM_MEMCACHE_PREFIX', '' );
271}
eb049397
DL
272
273/**
274 * If you have multilingual site and you are using the "inherit CMS language"
275 * configuration option, but wish to, for example, use fr_CA instead of the
276 * default fr_FR (for French), set one or more of the constants below to an
277 * appropriate regional value.
278 */
279// define('CIVICRM_LANGUAGE_MAPPING_FR', 'fr_CA');
280// define('CIVICRM_LANGUAGE_MAPPING_EN', 'en_CA');
281// define('CIVICRM_LANGUAGE_MAPPING_ES', 'es_MX');
282// define('CIVICRM_LANGUAGE_MAPPING_PT', 'pt_BR');
283// define('CIVICRM_LANGUAGE_MAPPING_ZH', 'zh_TW');
284
de67bc86
ML
285/**
286 * Native gettext improves performance of localized CiviCRM installations
287 * significantly. However, your host must enable the locale (language).
288 * On most GNU/Linux, Unix or MacOSX systems, you may view them with
289 * the command line by typing: "locale -a".
290 *
291 * On Debian or Ubuntu, you may reconfigure locales with:
292 * # dpkg-reconfigure locales
293 *
294 * For more information:
295 * http://wiki.civicrm.org/confluence/x/YABFBQ
296 */
8d133ef2 297// if (!defined('CIVICRM_GETTEXT_NATIVE')) {
de67bc86 298// define('CIVICRM_GETTEXT_NATIVE', 1);
8d133ef2 299// }
de67bc86 300
eb049397
DL
301/**
302 * Configure MySQL to throw more errors when encountering unusual SQL expressions.
303 *
304 * If undefined, the value is determined automatically. For CiviCRM tarballs, it defaults
305 * to FALSE; for SVN checkouts, it defaults to TRUE.
306 */
8d133ef2 307// if (!defined('CIVICRM_MYSQL_STRICT')) {
eb049397 308// define( 'CIVICRM_MYSQL_STRICT', TRUE );
8d133ef2 309// }
eb049397
DL
310
311/**
312 *
313 * Do not change anything below this line. Keep as is
314 *
315 */
316
317$include_path = '.' . PATH_SEPARATOR .
318 $civicrm_root . PATH_SEPARATOR .
319 $civicrm_root . DIRECTORY_SEPARATOR . 'packages' . PATH_SEPARATOR .
320 get_include_path( );
321if ( set_include_path( $include_path ) === false ) {
322 echo "Could not set the include path<p>";
323 exit( );
324}
325
8d133ef2
TO
326if (!defined('CIVICRM_CLEANURL')) {
327 if ( function_exists( 'variable_get' ) && variable_get('clean_url', '0') != '0' ) {
eb049397 328 define( 'CIVICRM_CLEANURL', 1 );
8d133ef2 329 } else {
eb049397 330 define( 'CIVICRM_CLEANURL', 0 );
8d133ef2 331 }
eb049397
DL
332}
333
334// force PHP to auto-detect Mac line endings
335ini_set('auto_detect_line_endings', '1');
336
337// make sure the memory_limit is at least 64 MB
338$memLimitString = trim(ini_get('memory_limit'));
339$memLimitUnit = strtolower(substr($memLimitString, -1));
340$memLimit = (int) $memLimitString;
341switch ($memLimitUnit) {
342 case 'g': $memLimit *= 1024;
343 case 'm': $memLimit *= 1024;
344 case 'k': $memLimit *= 1024;
345}
346if ($memLimit >= 0 and $memLimit < 134217728) {
347 ini_set('memory_limit', '128M');
348}
349
350require_once 'CRM/Core/ClassLoader.php';
351CRM_Core_ClassLoader::singleton()->register();