CRM-16373 - Config - Remove `maxImportFileSize`
[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 * The debug level for civicrm.
42 * @var int
43 */
44 public $debug = 0;
45 public $backtrace = 0;
46
47 /**
48 * The directory where Smarty and plugins are installed.
49 * @var string
50 */
51 public $smartyDir = NULL;
52 public $pluginsDir = NULL;
53
54 /**
55 * The root directory of our template tree.
56 * @var string
57 */
58 public $templateDir = NULL;
59
60 /**
61 * The resourceBase of our application. Used when we want to compose
62 * url's for things like js/images/css
63 * @var string
64 */
65 public $resourceBase = NULL;
66
67 /**
68 * The directory to store uploaded files
69 */
70 public $uploadDir = NULL;
71
72 /**
73 * The directory to store uploaded image files
74 */
75 public $imageUploadDir = NULL;
76
77 /**
78 * The directory to store uploaded files in custom data
79 */
80 public $customFileUploadDir = NULL;
81
82 /**
83 * The url that we can use to display the uploaded images
84 */
85 public $imageUploadURL = NULL;
86
87 /**
88 * The local path to the default extension container
89 */
90 public $extensionsDir;
91
92 /**
93 * The url for resources defined by extensions
94 */
95 public $extensionsURL = NULL;
96
97 /**
98 * Are we generating clean url's and using mod_rewrite
99 * @var string
100 */
101 public $cleanURL = FALSE;
102
103 /**
104 * List of country codes limiting the country list.
105 * 1228 is an id for United States.
106 * @var string
107 */
108 public $countryLimit = array('1228');
109
110 /**
111 * Id of default state/province for contact.
112 * 1046 is an id for Washington(country:United States).
113 * @var int
114 */
115 public $defaultContactStateProvince;
116
117 /**
118 * List of country codes limiting the province list.
119 * 1228 is an id for United States.
120 * @var string
121 */
122 public $provinceLimit = array('1228');
123
124 /**
125 * ISO code of default country for contact.
126 * 1228 is an id for United States.
127 * @var int
128 */
129 public $defaultContactCountry = '1228';
130
131 /**
132 * ISO code of default currency.
133 * @var int
134 */
135 public $defaultCurrency = 'USD';
136
137 /**
138 * Locale for the application to run with.
139 * @var string
140 */
141 public $lcMessages = 'en_US';
142
143 /**
144 * String format for date+time
145 * @var string
146 */
147 public $dateformatDatetime = '%B %E%f, %Y %l:%M %P';
148
149 /**
150 * String format for a full date (one with day, month and year)
151 * @var string
152 */
153 public $dateformatFull = '%B %E%f, %Y';
154
155 /**
156 * String format for a partial date (one with month and year)
157 * @var string
158 */
159 public $dateformatPartial = '%B %Y';
160
161 /**
162 * String format for a year-only date
163 * @var string
164 */
165 public $dateformatYear = '%Y';
166
167 /**
168 * Display format for time
169 * @var string
170 */
171 public $dateformatTime = '%l:%M %P';
172
173 /**
174 * Input format for time
175 * @var string
176 */
177 public $timeInputFormat = 1;
178
179 /**
180 * Input format for date plugin
181 * @var string
182 */
183 public $dateInputFormat = 'mm/dd/yy';
184
185 /**
186 * Month and day on which fiscal year starts.
187 *
188 * @var array
189 */
190 public $fiscalYearStart = array(
191 'M' => 01,
192 'd' => 01,
193 );
194
195 /**
196 * String format for monetary amounts
197 * @var string
198 */
199 public $moneyformat = '%c %a';
200
201 /**
202 * String format for monetary values
203 * @var string
204 */
205 public $moneyvalueformat = '%!i';
206
207 /**
208 * Format for monetary amounts
209 * @var string
210 */
211 public $currencySymbols = '';
212
213 /**
214 * Format for monetary amounts
215 * @var string
216 */
217 public $defaultCurrencySymbol = '$';
218
219 /**
220 * Monetary decimal point character
221 * @var string
222 */
223 public $monetaryDecimalPoint = '.';
224
225 /**
226 * Monetary thousands separator
227 * @var string
228 */
229 public $monetaryThousandSeparator = ',';
230
231 /**
232 * Default user framework. This basically makes Drupal 7 the default
233 */
234 public $userFramework = 'Drupal';
235 public $userFrameworkVersion = 'Unknown';
236 public $userFrameworkUsersTableName = 'users';
237 public $userFrameworkClass = 'CRM_Utils_System_Drupal';
238 public $userHookClass = 'CRM_Utils_Hook_Drupal';
239
240 /**
241 * @var string|CRM_Core_Permission_Base
242 */
243 public $userPermissionClass = 'CRM_Core_Permission_Drupal';
244
245 /**
246 * @var NULL|CRM_Core_Permission_Temp
247 */
248 public $userPermissionTemp = NULL;
249
250 public $userFrameworkURLVar = 'q';
251 public $userFrameworkDSN = NULL;
252 public $userFrameworkBaseURL = NULL;
253 public $userFrameworkResourceURL = NULL;
254 public $userFrameworkFrontend = FALSE;
255 public $userFrameworkLogging = FALSE;
256
257 public $maxFileSize = 2;
258
259 /**
260 * The custom locale strings. Note that these locale strings are stored
261 * in a separate column in civicrm_domain
262 * @var array
263 */
264 public $localeCustomStrings = NULL;
265
266 /**
267 * Map Provider
268 *
269 * @var string
270 */
271 public $mapProvider = NULL;
272
273 /**
274 * Map API Key
275 *
276 * @var string
277 */
278 public $mapAPIKey = NULL;
279
280 /**
281 * Geocoding Provider
282 *
283 * @var string
284 */
285 public $geoProvider = NULL;
286
287 /**
288 * Geocoding API Key
289 *
290 * @var string
291 */
292 public $geoAPIKey = NULL;
293
294 /**
295 * How should we get geo code information if google map support needed
296 *
297 * @var string
298 */
299 public $geocodeMethod = '';
300
301 /**
302 *
303 *
304 * @var boolean
305 */
306 public $mapGeoCoding = 1;
307
308
309 /**
310 * Whether database-level logging should be performed
311 * @var boolean
312 */
313 public $logging = FALSE;
314
315 /**
316 * Whether public pages should display "empowered by CiviCRM"
317 *
318 * @var boolean
319 */
320 public $empoweredBy = TRUE;
321
322 /**
323 * Array of enabled add-on components (e.g. CiviContribute, CiviMail...)
324 *
325 * @var array
326 */
327 public $enableComponents = array(
328 'CiviContribute',
329 'CiviPledge',
330 'CiviMember',
331 'CiviEvent',
332 'CiviMail',
333 'CiviReport',
334 );
335 public $enableComponentIDs = array(1, 6, 2, 3, 4, 8);
336
337 /**
338 * Should payments be accepted only via SSL?
339 *
340 * @var boolean
341 */
342 public $enableSSL = FALSE;
343
344 /**
345 * Fatal error handler
346 *
347 * @var string
348 */
349 public $fatalErrorHandler = NULL;
350
351 /**
352 * Legacy encoding for file encoding conversion
353 *
354 * @var string
355 */
356 public $legacyEncoding = 'Windows-1252';
357
358 /**
359 * Field separator for import/export csv file
360 *
361 * @var string
362 */
363 public $fieldSeparator = ',';
364
365 /**
366 * Max location blocks in address
367 *
368 * @var integer
369 */
370 public $maxLocationBlocks = 2;
371
372 /**
373 * Some search settings
374 */
375 public $includeWildCardInName = 1;
376 public $includeEmailInName = 1;
377 public $includeNickNameInName = 0;
378
379 public $smartGroupCacheTimeout = 5;
380
381 public $defaultSearchProfileID = NULL;
382
383 /**
384 * Dashboard timeout
385 */
386 public $dashboardCacheTimeout = 1440;
387
388 /**
389 * Flag to indicate if acl cache is NOT to be reset
390 */
391 public $doNotResetCache = 0;
392
393 /**
394 * Optimization related variables
395 */
396 public $includeAlphabeticalPager = 1;
397 public $includeOrderByClause = 1;
398 public $oldInputStyle = 1;
399
400 /**
401 * Should we disable key generation for forms
402 *
403 * @var boolean
404 */
405 public $formKeyDisable = FALSE;
406
407 /**
408 * determine whether the call is from cms or civicrm
409 */
410 public $inCiviCRM = FALSE;
411
412 /**
413 * Component registry object (of CRM_Core_Component type)
414 */
415 public $componentRegistry = NULL;
416
417 /**
418 * PDF receipt as attachment is disabled by default (CRM-8350)
419 */
420 public $doNotAttachPDFReceipt = FALSE;
421
422 /**
423 * Path to wkhtmltopdf if available
424 */
425 public $wkhtmltopdfPath = FALSE;
426
427 /**
428 * Allow second-degree relations permission to edit contacts
429 */
430 public $secondDegRelPermissions = FALSE;
431
432
433 /**
434 * Allow second-degree relations permission to edit contacts
435 */
436 public $wpBasePage = NULL;
437
438 /**
439 * Provide addressSequence.
440 *
441 * @param
442 *
443 * @return string
444 */
445 public function addressSequence() {
446 $addressFormat = CRM_Core_BAO_Setting::getItem(CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME,
447 'address_format'
448 );
449
450 return CRM_Utils_Address::sequence($addressFormat);
451 }
452
453 /**
454 * Provide cached default currency symbol.
455 *
456 * @param
457 *
458 * @return string
459 */
460 public function defaultCurrencySymbol($defaultCurrency = NULL) {
461 static $cachedSymbol = NULL;
462 if (!$cachedSymbol || $defaultCurrency) {
463 if ($this->defaultCurrency || $defaultCurrency) {
464 $this->currencySymbols = CRM_Core_PseudoConstant::get('CRM_Contribute_DAO_Contribution', 'currency', array(
465 'labelColumn' => 'symbol',
466 'orderColumn' => TRUE,
467 ));
468 $currency = $defaultCurrency ? $defaultCurrency : $this->defaultCurrency;
469 $cachedSymbol = CRM_Utils_Array::value($currency, $this->currencySymbols, '');
470 }
471 else {
472 $cachedSymbol = '$';
473 }
474 }
475 return $cachedSymbol;
476 }
477
478 /**
479 * Provide cached default currency symbol.
480 *
481 * @param
482 *
483 * @return string
484 */
485 public function defaultContactCountry() {
486 static $cachedContactCountry = NULL;
487
488 if (!empty($this->defaultContactCountry) &&
489 !$cachedContactCountry
490 ) {
491 $countryIsoCodes = CRM_Core_PseudoConstant::countryIsoCode();
492 $cachedContactCountry = CRM_Utils_Array::value($this->defaultContactCountry,
493 $countryIsoCodes
494 );
495 }
496 return $cachedContactCountry;
497 }
498
499 /**
500 * Provide cached default country name.
501 *
502 * @param
503 *
504 * @return string
505 */
506 public function defaultContactCountryName() {
507 static $cachedContactCountryName = NULL;
508 if (!$cachedContactCountryName && $this->defaultContactCountry) {
509 $countryCodes = CRM_Core_PseudoConstant::country();
510 $cachedContactCountryName = $countryCodes[$this->defaultContactCountry];
511 }
512 return $cachedContactCountryName;
513 }
514
515 /**
516 * Provide cached country limit translated to names.
517 *
518 * @param
519 *
520 * @return array
521 */
522 public function countryLimit() {
523 static $cachedCountryLimit = NULL;
524 if (!$cachedCountryLimit) {
525 $countryIsoCodes = CRM_Core_PseudoConstant::countryIsoCode();
526 $country = array();
527 if (is_array($this->countryLimit)) {
528 foreach ($this->countryLimit as $val) {
529 // CRM-12007
530 // some countries have disappeared and hence they might be in country limit
531 // but not in the country table
532 if (isset($countryIsoCodes[$val])) {
533 $country[] = $countryIsoCodes[$val];
534 }
535 }
536 }
537 else {
538 $country[] = $countryIsoCodes[$this->countryLimit];
539 }
540 $cachedCountryLimit = $country;
541 }
542 return $cachedCountryLimit;
543 }
544
545 /**
546 * Provide cached province limit translated to names.
547 *
548 * @param
549 *
550 * @return array
551 */
552 public function provinceLimit() {
553 static $cachedProvinceLimit = NULL;
554 if (!$cachedProvinceLimit) {
555 $countryIsoCodes = CRM_Core_PseudoConstant::countryIsoCode();
556 $country = array();
557 if (is_array($this->provinceLimit)) {
558 foreach ($this->provinceLimit as $val) {
559 // CRM-12007
560 // some countries have disappeared and hence they might be in country limit
561 // but not in the country table
562 if (isset($countryIsoCodes[$val])) {
563 $country[] = $countryIsoCodes[$val];
564 }
565 }
566 }
567 else {
568 $country[] = $countryIsoCodes[$this->provinceLimit];
569 }
570 $cachedProvinceLimit = $country;
571 }
572 return $cachedProvinceLimit;
573 }
574
575 }
576 // end CRM_Core_Config