<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.5 |
+ | CiviCRM version 4.6 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2014 |
+--------------------------------------------------------------------+
class CRM_Core_BAO_ConfigSetting {
/**
- * Function to create civicrm settings. This is the same as add but it clears the cache and
+ * Create civicrm settings. This is the same as add but it clears the cache and
* reloads the config object
*
- * @params array $params associated array of civicrm variables
- *
- * @param $params
+ * @param array $params
+ * Associated array of civicrm variables.
*
* @return null
* @static
*/
- static function create($params) {
+ public static function create($params) {
self::add($params);
$cache = CRM_Utils_Cache::singleton();
$cache->delete('CRM_Core_Config');
}
/**
- * Function to add civicrm settings
- *
- * @params array $params associated array of civicrm variables
+ * Add civicrm settings
*
- * @param $params
+ * @param array $params
+ * Associated array of civicrm variables.
*
* @return null
* @static
*/
- static function add(&$params) {
+ public static function add(&$params) {
self::fixParams($params);
// also set a template url so js files can use this
str_replace(
'CIVI_BASE_TEMPLATE',
'',
- $params['civiRelativeURL']
- );
+ $params['civiRelativeURL']
+ );
// also add the version number for use by template / js etc
$params['civiVersion'] = CRM_Utils_System::version();
}
/**
- * Function to fix civicrm setting variables
- *
- * @params array $params associated array of civicrm variables
+ * Fix civicrm setting variables
*
- * @param $params
+ * @param array $params
+ * Associated array of civicrm variables.
*
* @return null
* @static
*/
- static function fixParams(&$params) {
+ public static function fixParams(&$params) {
// in our old civicrm.settings.php we were using ISO code for country and
// province limit, now we have changed it to use ids
}
/**
- * Function to format the array containing before inserting in db
+ * Format the array containing before inserting in db
*
- * @param array $params associated array of civicrm variables(submitted)
- * @param array $values associated array of civicrm variables stored in db
+ * @param array $params
+ * Associated array of civicrm variables(submitted).
+ * @param array $values
+ * Associated array of civicrm variables stored in db.
*
* @return null
* @static
*/
- static function formatParams(&$params, &$values) {
+ public static function formatParams(&$params, &$values) {
if (empty($params) ||
!is_array($params)
) {
}
/**
- * Function to retrieve the settings values from db
+ * Retrieve the settings values from db
*
* @param $defaults
*
* @return array $defaults
* @static
*/
- static function retrieve(&$defaults) {
+ public static function retrieve(&$defaults) {
$domain = new CRM_Core_DAO_Domain();
//we are initializing config, really can't use, CRM-7863
$dbLocale = $multiLang ? "_{$defaults['lcMessages']}" : '';
$lcMessages = CRM_Utils_System::getUFLocale();
if ($domain->locales and !in_array($lcMessages, explode(CRM_Core_DAO::VALUE_SEPARATOR,
- $domain->locales
- ))) {
+ $domain->locales
+ ))
+ ) {
$lcMessages = NULL;
}
}
- if ($lcMessages) {
- // update config lcMessages - CRM-5027 fixed.
- $defaults['lcMessages'] = $lcMessages;
- }
- else {
- // if a single-lang site or the above didn't yield a result, use default
- $lcMessages = CRM_Utils_Array::value( 'lcMessages', $defaults );
+ if (empty($lcMessages)) {
+ //CRM-11993 - if a single-lang site, use default
+ $lcMessages = CRM_Utils_Array::value('lcMessages', $defaults);
}
// set suffix for table names - use views if more than one language
/**
* @return array
*/
- static function getConfigSettings() {
+ public static function getConfigSettings() {
$config = CRM_Core_Config::singleton();
$url = $dir = $siteName = $siteRoot = NULL;
// lets use imageUploadDir since we dont mess around with its values
// in the config object, lets kep it a bit generic since folks
// might have different values etc
- $dir = preg_replace(
- '|civicrm/templates_c/.*$|',
- '',
- $config->templateCompileDir
- );
+
+ //CRM-15365 - Fix preg_replace to handle backslash for Windows File Paths
+ if (DIRECTORY_SEPARATOR == '\\') {
+ $dir = preg_replace(
+ '|civicrm[/\\\\]templates_c[/\\\\].*$|',
+ '',
+ $config->templateCompileDir
+ );
+ }
+ else {
+ $dir = preg_replace(
+ '|civicrm/templates_c/.*$|',
+ '',
+ $config->templateCompileDir
+ );
+ }
+
$siteRoot = preg_replace(
'|/media/civicrm/.*$|',
'',
// lets use imageUploadDir since we dont mess around with its values
// in the config object, lets kep it a bit generic since folks
// might have different values etc
- $dir = preg_replace(
- '|civicrm/templates_c/.*$|',
- '',
- $config->templateCompileDir
- );
+
+ //CRM-15365 - Fix preg_replace to handle backslash for Windows File Paths
+ if (DIRECTORY_SEPARATOR == '\\') {
+ $dir = preg_replace(
+ '|civicrm[/\\\\]templates_c[/\\\\].*$|',
+ '',
+ $config->templateCompileDir
+ );
+ }
+ else {
+ $dir = preg_replace(
+ '|civicrm/templates_c/.*$|',
+ '',
+ $config->templateCompileDir
+ );
+ }
+
$siteRoot = preg_replace(
'|/wp-content/plugins/files/civicrm/.*$|',
'',
// lets use imageUploadDir since we dont mess around with its values
// in the config object, lets kep it a bit generic since folks
// might have different values etc
- $dir = preg_replace(
- '|/files/civicrm/.*$|',
- '/files/',
- $config->imageUploadDir
- );
+
+ //CRM-15365 - Fix preg_replace to handle backslash for Windows File Paths
+ if (DIRECTORY_SEPARATOR == '\\') {
+ $dir = preg_replace(
+ '|[/\\\\]files[/\\\\]civicrm[/\\\\].*$|',
+ '\\\\files\\\\',
+ $config->imageUploadDir
+ );
+ }
+ else {
+ $dir = preg_replace(
+ '|/files/civicrm/.*$|',
+ '/files/',
+ $config->imageUploadDir
+ );
+ }
$matches = array();
if (preg_match(
- '|/sites/([\w\.\-\_]+)/|',
- $config->imageUploadDir,
- $matches
- )) {
+ '|/sites/([\w\.\-\_]+)/|',
+ $config->imageUploadDir,
+ $matches
+ )) {
$siteName = $matches[1];
if ($siteName) {
$siteName = "/sites/$siteName/";
}
}
-
return array($url, $dir, $siteName, $siteRoot);
}
-/**
- * Return likely default settings
- * @return array site settings
- * -$url,
- * - $dir Base Directory
- * - $siteName
- * - $siteRoot
- */
- static function getBestGuessSettings() {
+ /**
+ * Return likely default settings
+ * @return array site settings
+ * -$url,
+ * - $dir Base Directory
+ * - $siteName
+ * - $siteRoot
+ */
+ public static function getBestGuessSettings() {
$config = CRM_Core_Config::singleton();
+
+ //CRM-15365 - Fix preg_replace to handle backslash for Windows File Paths
+ if (DIRECTORY_SEPARATOR == '\\') {
+ $needle = 'civicrm[/\\\\]templates_c[/\\\\].*$';
+ }
+ else {
+ $needle = 'civicrm/templates_c/.*$';
+ }
+
$dir = preg_replace(
- '|civicrm/templates_c/.*$|',
+ "|$needle|",
'',
$config->templateCompileDir
);
* @return string
* @throws Exception
*/
- static function doSiteMove($defaultValues = array() ) {
+ public static function doSiteMove($defaultValues = array()) {
$moveStatus = ts('Beginning site move process...') . '<br />';
// get the current and guessed values
list($oldURL, $oldDir, $oldSiteName, $oldSiteRoot) = self::getConfigSettings();
FROM civicrm_option_group
WHERE name = %3 )
';
- $params = array(1 => array($from, 'String'),
+ $params = array(
+ 1 => array($from, 'String'),
2 => array($to, 'String'),
3 => array($option, 'String'),
);
}
}
- $moveStatus .= ts('Directory and Resource URLs have been updated in the moved database to reflect current site location.') . '<br />';
+ $moveStatus .=
+ ts('Directory and Resource URLs have been updated in the moved database to reflect current site location.') .
+ '<br />';
$config = CRM_Core_Config::singleton();
}
/**
- * takes a componentName and enables it in the config
+ * Takes a componentName and enables it in the config
* Primarily used during unit testing
*
- * @param string $componentName name of the component to be enabled, needs to be valid
+ * @param string $componentName
+ * Name of the component to be enabled, needs to be valid.
*
* @return boolean - true if valid component name and enabling succeeds, else false
* @static
*/
- static function enableComponent($componentName) {
+ public static function enableComponent($componentName) {
$config = CRM_Core_Config::singleton();
if (in_array($componentName, $config->enableComponents)) {
// component is already enabled
return TRUE;
}
- static function disableComponent($componentName) {
+ public static function disableComponent($componentName) {
$config = CRM_Core_Config::singleton();
- if (!in_array($componentName, $config->enableComponents) || !array_key_exists($componentName, CRM_Core_Component::getComponents())) {
+ if (!in_array($componentName, $config->enableComponents) ||
+ !array_key_exists($componentName, CRM_Core_Component::getComponents())
+ ) {
// post-condition satisified
return TRUE;
}
/**
* @return array
*/
- static function skipVars() {
+ public static function skipVars() {
return array(
- 'dsn', 'templateCompileDir',
+ 'dsn',
+ 'templateCompileDir',
'userFrameworkDSN',
'userFramework',
- 'userFrameworkBaseURL', 'userFrameworkClass', 'userHookClass',
- 'userPermissionClass', 'userFrameworkURLVar', 'userFrameworkVersion',
- 'newBaseURL', 'newBaseDir', 'newSiteName', 'configAndLogDir',
- 'qfKey', 'gettextResourceDir', 'cleanURL',
- 'locale_custom_strings', 'localeCustomStrings',
+ 'userFrameworkBaseURL',
+ 'userFrameworkClass',
+ 'userHookClass',
+ 'userPermissionClass',
+ 'userFrameworkURLVar',
+ 'userFrameworkVersion',
+ 'newBaseURL',
+ 'newBaseDir',
+ 'newSiteName',
+ 'configAndLogDir',
+ 'qfKey',
+ 'gettextResourceDir',
+ 'cleanURL',
+ 'locale_custom_strings',
+ 'localeCustomStrings',
'autocompleteContactSearch',
'autocompleteContactReference',
'checksumTimeout',
);
}
}
-