return $url;
}
- /*
- * Currently this is just helping out the test class as defaults is calling it - maybe move fix to defaults
+ /**
+ * Determine the location of the CMS root.
+ *
+ * @return string|NULL local file system path to CMS root, or NULL if it cannot be determined
*/
function cmsRootPath() {
+ return NULL;
}
/**
*/
public abstract function getLoginURL($destination = '');
+ /**
+ * Determine the native ID of the CMS user
+ *
+ * @param $username
+ * @return int|NULL
+ */
+ function getUfId($username) {
+ $className = get_class($this);
+ throw new CRM_Core_Exception("Not implemented: {$className}->getUfId");
+ }
+
/**
* Set a init session with user object
*
$session->set('ufID', $ufID);
$session->set('userID', $userID);
}
+
+ /**
+ * Reset any system caches that may be required for proper CiviCRM
+ * integration.
+ */
+ function flush() {
+ // nullop by default
+ }
+
+ /**
+ * Return default Site Settings
+ * @return array array
+ * - $url, (Joomla - non admin url)
+ * - $siteName,
+ * - $siteRoot
+ */
+ function getDefaultSiteSettings($dir) {
+ $config = CRM_Core_Config::singleton();
+ $url = $config->userFrameworkBaseURL;
+ return array($url, NULL, NULL);
+ }
+
+ /**
+ * Perform any post login activities required by the CMS -
+ * e.g. for drupal: records a watchdog message about the new session, saves the login timestamp,
+ * calls hook_user op 'login' and generates a new session.
+ *
+ * @param array params
+ *
+ * FIXME: Document values accepted/required by $params
+ */
+ 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(){
+ }
}