<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.3 |
+ | CiviCRM version 4.4 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2013 |
+--------------------------------------------------------------------+
$admin = user_access('administer users');
if (!variable_get('user_email_verification', TRUE) || $admin) {
- $form_state['input']['pass'] = array('pass1'=>$params['cms_pass'],'pass2'=>$params['cms_pass']);
+ $form_state['input']['pass'] = array('pass1'=>$params['cms_pass'],'pass2'=>$params['cms_pass']);
}
if(!empty($params['notify'])){
if (form_get_errors()) {
return FALSE;
}
- else {
- return $form_state['user']->uid;
- }
+ return $form_state['user']->uid;
}
/*
*
* @param string $name the user name
* @param string $password the password for the above user name
- * @param $loadCMSBootstrap boolean load cms bootstrap?
+ * @param boolean $loadCMSBootstrap load cms bootstrap?
+ * @param NULL|string $realPath filename of script
*
* @return mixed false if no auth
* array(
CRM_Core_Error::fatal("Cannot connect to drupal db via $config->userFrameworkDSN, " . $dbDrupal->getMessage());
}
-
-
$account = $userUid = $userMail = NULL;
if ($loadCMSBootstrap) {
$bootStrapParams = array();
/**
* load drupal bootstrap
*
- * @param $params array with uid or name and password
- * @param $loadUser boolean load cms user?
- * @param $throwError throw error on failure?
+ * @param array $params Either uid, or name & pass.
+ * @param boolean $loadUser boolean Require CMS user load.
+ * @param boolean $throwError If true, print error on failure and exit.
+ * @param boolean|string $realPath path to script
*/
-
function loadBootStrap($params = array(), $loadUser = TRUE, $throwError = TRUE, $realPath = NULL) {
//take the cms root path.
$cmsPath = $this->cmsRootPath($realPath);
}
}
require_once 'includes/bootstrap.inc';
- drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
+ // @ to suppress notices eg 'DRUPALFOO already defined'.
+ @drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
// explicitly setting error reporting, since we cannot handle drupal related notices
error_reporting(1);
return FALSE;
}
+ /**
+ *
+ */
function cmsRootPath($scriptFilename = NULL) {
-
$cmsRoot = $valid = NULL;
if (!is_null($scriptFilename)) {
* @return string $url, formatted url.
* @static
*/
- function languageNegotiationURL(
- $url,
- $addLanguagePart = TRUE,
- $removeLanguagePart = FALSE
- ) {
+ function languageNegotiationURL($url, $addLanguagePart = TRUE, $removeLanguagePart = FALSE) {
if (empty($url)) {
return $url;
}
if ($urlType == LOCALE_LANGUAGE_NEGOTIATION_URL_PREFIX) {
if (isset($language->prefix) && $language->prefix) {
if ($addLanguagePart) {
- $url .= $language->prefix . '/';
+ $url = (CRM_Utils_System::isSSL() ? 'https' : 'http') . '://' . $language->domain . base_path();
}
if ($removeLanguagePart) {
$url = str_replace("/{$language->prefix}/", '/', $url);
/**
* Wrapper for og_membership creation
+ *
+ * @param integer $ogID Organic Group ID
+ * @param integer $drupalID drupal User ID
*/
function og_membership_create($ogID, $drupalID){
if (function_exists('og_entity_query_alter')) {
- // sort-of-randomly chose a function that only exists in the 7.x-2.x branch
- // TODO: Find a more solid way to make this test
- // Also, since we don't know how to get the entity type of the group, we'll assume it's 'node'
+ // sort-of-randomly chose a function that only exists in the // 7.x-2.x branch
+ //
+ // @TODO Find more solid way to check - try system_get_info('module', 'og').
+ //
+ // Also, since we don't know how to get the entity type of the // group, we'll assume it's 'node'
og_group('node', $ogID, array('entity' => user_load($drupalID)));
}
else {
/**
* Wrapper for og_membership deletion
+ *
+ * @param integer $ogID Organic Group ID
+ * @param integer $drupalID drupal User ID
*/
function og_membership_delete($ogID, $drupalID) {
if (function_exists('og_entity_query_alter')) {
}
}
+ /**
+ * 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.