56d4e282c82018006f5d87373e3ba5bacdd47272
[civicrm-core.git] / CRM / Core / Config / Variables.php
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | CiviCRM version 4.7 |
5 +--------------------------------------------------------------------+
6 | Copyright CiviCRM LLC (c) 2004-2015 |
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 * Variables class contains definitions of all the core config settings that are allowed on
30 * CRM_Core_Config. If you want a config variable to be present in run time config object,
31 * it need to be defined here first.
32 *
33 * @package CRM
34 * @copyright CiviCRM LLC (c) 2004-2015
35 * $Id$
36 *
37 */
38 class CRM_Core_Config_Variables extends CRM_Core_Config_Defaults {
39
40 ///
41 /// BASE SYSTEM PROPERTIES (CIVICRM.SETTINGS.PHP)
42 ///
43
44 /**
45 * The dsn of the database connection
46 *
47 * @var string
48 */
49 public $dsn;
50
51 /**
52 * The name of user framework
53 *
54 * @var string
55 */
56 public $userFramework = 'Drupal';
57
58 /**
59 * The name of user framework url variable name
60 *
61 * @var string
62 */
63 public $userFrameworkURLVar = 'q';
64
65 /**
66 * The dsn of the database connection for user framework
67 *
68 * @var string
69 */
70 public $userFrameworkDSN = NULL;
71
72 /**
73 * The connector module for the CMS/UF
74 * @todo Introduce an interface.
75 *
76 * @var CRM_Utils_System_Base
77 */
78 public $userSystem = NULL;
79
80 /**
81 * The root directory where Smarty should store compiled files.
82 *
83 * @var string
84 */
85 public $templateCompileDir;
86
87 /**
88 * @var string
89 */
90 public $configAndLogDir = NULL;
91
92 // END: BASE SYSTEM PROPERTIES (CIVICRM.SETTINGS.PHP)
93
94
95 /**
96 * determine whether the call is from cms or civicrm
97 *
98 * @var bool
99 * TRUE, if the call is CiviCRM.
100 * FALSE, if the call is from the CMS.
101 */
102 public $inCiviCRM = FALSE;
103
104 ///
105 /// END: RUNTIME SET CLASS PROPERTIES
106 ///
107
108 /**
109 * @var string
110 */
111 public $recaptchaPublicKey;
112
113 ///
114 /// BEGIN HELPER CLASS PROPERTIES
115 ///
116
117 /**
118 * Are we initialized and in a proper state
119 *
120 * @var string
121 */
122 public $initialized = 0;
123
124 /**
125 * @var string
126 */
127 public $customPHPPathDir;
128
129 /**
130 * The debug level for civicrm.
131 * @var int
132 */
133 public $debug = 0;
134 public $backtrace = 0;
135
136 /**
137 * The root directory of our template tree.
138 * @var string
139 */
140 public $templateDir = NULL;
141
142 /**
143 * The resourceBase of our application. Used when we want to compose
144 * url's for things like js/images/css
145 * @var string
146 */
147 public $resourceBase = NULL;
148
149 /**
150 * The directory to store uploaded files
151 */
152 public $uploadDir = NULL;
153
154 /**
155 * The directory to store uploaded image files
156 */
157 public $imageUploadDir = NULL;
158
159 /**
160 * The directory to store uploaded files in custom data
161 */
162 public $customFileUploadDir = NULL;
163
164 /**
165 * The url that we can use to display the uploaded images
166 */
167 public $imageUploadURL = NULL;
168
169 /**
170 * The local path to the default extension container
171 */
172 public $extensionsDir;
173
174 /**
175 * The url for resources defined by extensions
176 */
177 public $extensionsURL = NULL;
178
179 /**
180 * Are we generating clean url's and using mod_rewrite
181 * @var string
182 */
183 public $cleanURL = FALSE;
184
185 /**
186 * List of country codes limiting the country list.
187 * 1228 is an id for United States.
188 * @var string
189 */
190 public $countryLimit = array('1228');
191
192 /**
193 * Id of default state/province for contact.
194 * 1046 is an id for Washington(country:United States).
195 * @var int
196 */
197 public $defaultContactStateProvince;
198
199 /**
200 * List of country codes limiting the province list.
201 * 1228 is an id for United States.
202 * @var string
203 */
204 public $provinceLimit = array('1228');
205
206 /**
207 * ISO code of default country for contact.
208 * 1228 is an id for United States.
209 * @var int
210 */
211 public $defaultContactCountry = '1228';
212
213 /**
214 * ISO code of default currency.
215 * @var int
216 */
217 public $defaultCurrency = 'USD';
218
219 /**
220 * Locale for the application to run with.
221 * @var string
222 */
223 public $lcMessages = 'en_US';
224
225 /**
226 * String format for date+time
227 * @var string
228 */
229 public $dateformatDatetime = '%B %E%f, %Y %l:%M %P';
230
231 /**
232 * String format for a full date (one with day, month and year)
233 * @var string
234 */
235 public $dateformatFull = '%B %E%f, %Y';
236
237 /**
238 * String format for a partial date (one with month and year)
239 * @var string
240 */
241 public $dateformatPartial = '%B %Y';
242
243 /**
244 * String format for a year-only date
245 * @var string
246 */
247 public $dateformatYear = '%Y';
248
249 /**
250 * Display format for time
251 * @var string
252 */
253 public $dateformatTime = '%l:%M %P';
254
255 /**
256 * Input format for time
257 * @var string
258 */
259 public $timeInputFormat = 1;
260
261 /**
262 * Input format for date plugin
263 * @var string
264 */
265 public $dateInputFormat = 'mm/dd/yy';
266
267 /**
268 * Month and day on which fiscal year starts.
269 *
270 * @var array
271 */
272 public $fiscalYearStart = array(
273 'M' => 01,
274 'd' => 01,
275 );
276
277 /**
278 * String format for monetary amounts
279 * @var string
280 */
281 public $moneyformat = '%c %a';
282
283 /**
284 * String format for monetary values
285 * @var string
286 */
287 public $moneyvalueformat = '%!i';
288
289 /**
290 * Format for monetary amounts
291 * @var string
292 */
293 public $currencySymbols = '';
294
295 /**
296 * Format for monetary amounts
297 * @var string
298 */
299 public $defaultCurrencySymbol = '$';
300
301 /**
302 * Monetary decimal point character
303 * @var string
304 */
305 public $monetaryDecimalPoint = '.';
306
307 /**
308 * Monetary thousands separator
309 * @var string
310 */
311 public $monetaryThousandSeparator = ',';
312
313 /**
314 * Default user framework. This basically makes Drupal 7 the default
315 */
316 public $userFrameworkClass = 'CRM_Utils_System_Drupal';
317 public $userHookClass = 'CRM_Utils_Hook_Drupal';
318
319 /**
320 * @var string|CRM_Core_Permission_Base
321 */
322 public $userPermissionClass = 'CRM_Core_Permission_Drupal';
323
324 /**
325 * @var NULL|CRM_Core_Permission_Temp
326 */
327 public $userPermissionTemp = NULL;
328
329 public $userFrameworkBaseURL = NULL;
330 public $userFrameworkResourceURL = NULL;
331 public $userFrameworkFrontend = FALSE;
332 public $userFrameworkLogging = FALSE;
333
334 public $maxFileSize = 2;
335
336 /**
337 * Map Provider
338 *
339 * @var string
340 */
341 public $mapProvider = NULL;
342
343 /**
344 * Map API Key
345 *
346 * @var string
347 */
348 public $mapAPIKey = NULL;
349
350 /**
351 * Geocoding Provider
352 *
353 * @var string
354 */
355 public $geoProvider = NULL;
356
357 /**
358 * Geocoding API Key
359 *
360 * @var string
361 */
362 public $geoAPIKey = NULL;
363
364 /**
365 * How should we get geo code information if google map support needed
366 *
367 * @var string
368 */
369 public $geocodeMethod = '';
370
371 /**
372 * Whether database-level logging should be performed
373 * @var boolean
374 */
375 public $logging = FALSE;
376
377 /**
378 * Whether public pages should display "empowered by CiviCRM"
379 *
380 * @var boolean
381 */
382 public $empoweredBy = TRUE;
383
384 /**
385 * Array of enabled add-on components (e.g. CiviContribute, CiviMail...)
386 *
387 * @var array
388 */
389 public $enableComponents = array(
390 'CiviContribute',
391 'CiviPledge',
392 'CiviMember',
393 'CiviEvent',
394 'CiviMail',
395 'CiviReport',
396 );
397
398 /**
399 * Should payments be accepted only via SSL?
400 *
401 * @var boolean
402 */
403 public $enableSSL = FALSE;
404
405 /**
406 * Fatal error handler
407 *
408 * @var string
409 */
410 public $fatalErrorHandler = NULL;
411
412 /**
413 * Legacy encoding for file encoding conversion
414 *
415 * @var string
416 */
417 public $legacyEncoding = 'Windows-1252';
418
419 /**
420 * Field separator for import/export csv file
421 *
422 * @var string
423 */
424 public $fieldSeparator = ',';
425
426 /**
427 * Some search settings
428 */
429 public $includeWildCardInName = 1;
430 public $includeEmailInName = 1;
431 public $includeNickNameInName = 0;
432
433 public $smartGroupCacheTimeout = 5;
434
435 public $defaultSearchProfileID = NULL;
436
437 /**
438 * Dashboard timeout
439 */
440 public $dashboardCacheTimeout = 1440;
441
442 /**
443 * Flag to indicate if acl cache is NOT to be reset
444 */
445 public $doNotResetCache = 0;
446
447 /**
448 * Optimization related variables
449 */
450 public $includeAlphabeticalPager = 1;
451 public $includeOrderByClause = 1;
452
453 /**
454 * PDF receipt as attachment is disabled by default (CRM-8350)
455 */
456 public $doNotAttachPDFReceipt = FALSE;
457
458 /**
459 * Path to wkhtmltopdf if available
460 */
461 public $wkhtmltopdfPath = FALSE;
462
463 /**
464 * Allow second-degree relations permission to edit contacts
465 */
466 public $secondDegRelPermissions = FALSE;
467
468
469 /**
470 * Allow second-degree relations permission to edit contacts
471 */
472 public $wpBasePage = NULL;
473
474 public $verpSeparator = '.', $mailThrottleTime = 0, $mailerJobsMax = 0, $mailerJobSize = 0, $mailerBatchLimit = 0;
475
476 public $inheritLocale = 0;
477
478 }
479 // end CRM_Core_Config