*/
function userLoginFinalize($params = array()){
}
+
+ /**
+ * Set timezone in mysql so that timestamp fields show the correct time
+ */
+ function setMySQLTimeZone(){
+ $timeZoneOffset = $this->getTimeZoneOffset();
+ if($timeZoneOffset){
+ $sql = "SET time_zone = '$timeZoneOffset'";
+ CRM_Core_DAO::executequery($sql);
+ }
+ }
+
+ /**
+ * Get timezone from CMS
+ * @return boolean|string
+ */
+ function getTimeZoneOffset(){
+ }
}
}
}
+ /**
+ * 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.
if (!$row) {
return;
}
-
+
$user = NULL;
if (!empty($row)) {
og_delete_subscription( $ogID, $drupalID );
}
+ /**
+ * 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);
+ }
+ if(empty($timezone)){
+ return false;
+ }
+ $hour = $user->timezone / 3600;
+ $timeZoneOffset = sprintf("%02d:%02d", $timezone / 3600, ($timezone/60)%60 );
+ if($timeZoneOffset > 0){
+ $timeZoneOffset = '+' . $timeZoneOffset;
+ }
+ return $timeZoneOffset;
+ }
+
+
/**
* Reset any system caches that may be required for proper CiviCRM
* integration.