Merge pull request #2137 from pradpnayak/CRM-13310
[civicrm-core.git] / CRM / Utils / System / WordPress.php
index 4c36d2549e638da9e721a914f9e2dc940f09da7b..389c2c06927d8f84687b5367bc196fddf1ec3e9f 100644 (file)
@@ -315,18 +315,18 @@ class CRM_Utils_System_WordPress extends CRM_Utils_System_Base {
     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;
         }
       }
     }
@@ -433,6 +433,11 @@ class CRM_Utils_System_WordPress extends CRM_Utils_System_Base {
     }
 
     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;
   }
 
@@ -622,5 +627,13 @@ class CRM_Utils_System_WordPress extends CRM_Utils_System_Base {
       return 'Unknown';
     }
   }
+
+  /**
+   * get timezone as a string
+   * @return string Timezone e.g. 'America/Los_Angeles'
+   */
+  function getTimeZoneString() {
+    return get_option('timezone_string');
+  }
 }