<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.3 |
+ | CiviCRM version 4.4 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2013 |
+--------------------------------------------------------------------+
elseif (defined('CIVICRM_UF_WP_BASEPAGE')) {
$base .= CIVICRM_UF_WP_BASEPAGE;
}
+ elseif (isset($config->wpBasePage)) {
+ $base .= $config->wpBasePage;
+ }
if (isset($path)) {
if (isset($query)) {
if ($permlinkStructure != '' && ($pageID || $script != '')) {
- return $script . '?page=CiviCRM&q=' . $path . $pageID . $separator . $query . $fragment;
+ return $script . '?page=CiviCRM'. $separator . 'q=' . $path . $pageID . $separator . $query . $fragment;
}
else {
- return $base . '?page=CiviCRM&q=' . $path . $pageID . $separator . $query . $fragment;
+ return $base . '?page=CiviCRM' . $separator . 'q=' . $path . $pageID . $separator . $query . $fragment;
}
}
else {
if ($permlinkStructure != '' && ($pageID || $script != '')) {
- return $script . '?page=CiviCRM&q=' . $path . $pageID . $fragment;
+ return $script . '?page=CiviCRM' . $separator . 'q=' . $path . $pageID . $fragment;
}
else {
- return $base .'?page=CiviCRM&q=' . $path . $pageID . $fragment;
+ return $base . '?page=CiviCRM' . $separator . 'q=' . $path . $pageID . $fragment;
}
}
}
$config = CRM_Core_Config::singleton();
if ($loadCMSBootstrap) {
- self::loadBootstrap($name, $password);
+ $config->userSystem->loadBootStrap($name, $password);
}
$user = wp_authenticate($name, $password);
* @return string with the locale or null for none
*/
function getUFLocale() {
- return NULL;
+ // WPML plugin
+ if (defined('ICL_LANGUAGE_CODE')) {
+ $language = ICL_LANGUAGE_CODE;
+ }
+
+ // TODO: set language variable for others WordPress plugin
+
+ if (isset($language)) {
+ return CRM_Core_I18n_PseudoConstant::longForShort(substr($language, 0, 2));
+ } else {
+ return NULL;
+ }
}
/**
}
require_once ($cmsRootPath . DIRECTORY_SEPARATOR . 'wp-load.php');
+ $wpUserTimezone = get_option('timezone_string');
+ if ($wpUserTimezone) {
+ date_default_timezone_set($wpUserTimezone);
+ CRM_Core_Config::singleton()->userSystem->setMySQLTimeZone();
+ }
return true;
}
+ function validInstallDir($dir) {
+ $includePath = "$dir/wp-includes";
+ if (
+ @opendir($includePath) &&
+ file_exists("$includePath/version.php")
+ ) {
+ return TRUE;
+ }
+ return FALSE;
+ }
+
function cmsRootPath() {
$cmsRoot = $valid = NULL;
- $pathVars = explode('/', str_replace('\\', '/', $_SERVER['SCRIPT_FILENAME']));
-
- //might be windows installation.
- $firstVar = array_shift($pathVars);
- if ($firstVar) {
- $cmsRoot = $firstVar;
- }
-
- //start w/ csm dir search.
- foreach ($pathVars as $var) {
- $cmsRoot .= "/$var";
- $cmsIncludePath = "$cmsRoot/wp-includes";
- //stop as we found bootstrap.
- if (@opendir($cmsIncludePath) &&
- file_exists("$cmsIncludePath/version.php")
- ) {
+ if (defined('CIVICRM_CMSDIR')) {
+ if ($this->validInstallDir(CIVICRM_CMSDIR)) {
+ $cmsRoot = CIVICRM_CMSDIR;
$valid = TRUE;
- break;
+ }
+ }
+ else {
+ $pathVars = explode('/', str_replace('\\', '/', $_SERVER['SCRIPT_FILENAME']));
+
+ //might be windows installation.
+ $firstVar = array_shift($pathVars);
+ if ($firstVar) {
+ $cmsRoot = $firstVar;
+ }
+
+ //start w/ csm dir search.
+ foreach ($pathVars as $var) {
+ $cmsRoot .= "/$var";
+ if ($this->validInstallDir($cmsRoot)) {
+ //stop as we found bootstrap.
+ $valid = TRUE;
+ break;
+ }
}
}
return 'Unknown';
}
}
+
+ /**
+ * get timezone as a string
+ * @return string Timezone e.g. 'America/Los_Angeles'
+ */
+ function getTimeZoneString() {
+ return get_option('timezone_string');
+ }
}