return FALSE;
}
// If the path is within the drupal directory we can use the more efficient 'file' setting
- $params['type'] = self::formatResourceUrl($url) ? 'file' : 'external';
+ $params['type'] = $this->formatResourceUrl($url) ? 'file' : 'external';
drupal_add_js($url, $params);
return TRUE;
}
}
$params = array();
// If the path is within the drupal directory we can use the more efficient 'file' setting
- $params['type'] = self::formatResourceUrl($url) ? 'file' : 'external';
+ $params['type'] = $this->formatResourceUrl($url) ? 'file' : 'external';
drupal_add_css($url, $params);
return TRUE;
}
return TRUE;
}
- /**
- * Check if a resource url is within the drupal directory and format appropriately
- *
- * @param url (reference)
- *
- * @return bool: TRUE for internal paths, FALSE for external
- */
- static function formatResourceUrl(&$url) {
- $internal = FALSE;
- $base = CRM_Core_Config::singleton()->resourceBase;
- global $base_url;
- // Handle absolute urls
- if (strpos($url, $base_url) === 0) {
- $internal = TRUE;
- $url = trim(str_replace($base_url, '', $url), '/');
- }
- // Handle relative urls
- elseif (strpos($url, $base) === 0) {
- $internal = TRUE;
- $url = substr(drupal_get_path('module', 'civicrm'), 0, -6) . trim(substr($url, strlen($base)), '/');
- }
- // Strip query string
- $q = strpos($url, '?');
- if ($q && $internal) {
- $url = substr($url, 0, $q);
- }
- return $internal;
- }
-
/**
* rewrite various system urls to https
*
if ($urlType == LOCALE_LANGUAGE_NEGOTIATION_URL_DOMAIN) {
if (isset($language->domain) && $language->domain) {
if ($addLanguagePart) {
- $url = CRM_Utils_File::addTrailingSlash($language->domain, '/');
+ $url = (CRM_Utils_System::isSSL() ? 'https' : 'http') . '://' . $language->domain . base_path();
}
if ($removeLanguagePart && defined('CIVICRM_UF_BASEURL')) {
$url = str_replace('\\', '/', $url);
}
}
+ /**
+ * Get timezone from Drupal
+ * @return boolean|string
+ */
+ function getTimeZoneOffset(){
+ global $user;
+ if (variable_get('configurable_timezones', 1) && $user->uid && strlen($user->timezone)) {
+ $timezone = $user->timezone;
+ } else {
+ $timezone = variable_get('date_default_timezone', null);
+ }
+ $tzObj = new DateTimeZone($timezone);
+ $dateTime = new DateTime("now", $tzObj);
+ $tz = $tzObj->getOffset($dateTime);
+
+ if(empty($tz)){
+ return false;
+ }
+
+ $timeZoneOffset = sprintf("%02d:%02d", $tz / 3600, ($tz/60)%60 );
+
+ if($timeZoneOffset > 0){
+ $timeZoneOffset = '+' . $timeZoneOffset;
+ }
+ return $timeZoneOffset;
+ }
/**
* Reset any system caches that may be required for proper CiviCRM
* integration.