本文整理汇总了PHP中CRM_Utils_Hook::config方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Utils_Hook::config方法的具体用法?PHP CRM_Utils_Hook::config怎么用?PHP CRM_Utils_Hook::config使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Utils_Hook
的用法示例。
在下文中一共展示了CRM_Utils_Hook::config方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: loadBootStrap
/**
* load drupal bootstrap
*
* @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);
if (!file_exists("{$cmsPath}/includes/bootstrap.inc")) {
if ($throwError) {
echo '<br />Sorry, could not locate bootstrap.inc\\n';
exit;
}
return FALSE;
}
// load drupal bootstrap
chdir($cmsPath);
define('DRUPAL_ROOT', $cmsPath);
// For drupal multi-site CRM-11313
if ($realPath && strpos($realPath, 'sites/all/modules/') === FALSE) {
preg_match('@sites/([^/]*)/modules@s', $realPath, $matches);
if (!empty($matches[1])) {
$_SERVER['HTTP_HOST'] = $matches[1];
}
}
require_once 'includes/bootstrap.inc';
// @ 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);
if (!function_exists('module_exists') || !module_exists('civicrm')) {
if ($throwError) {
echo '<br />Sorry, could not load drupal bootstrap.';
exit;
}
return FALSE;
}
// seems like we've bootstrapped drupal
$config = CRM_Core_Config::singleton();
// lets also fix the clean url setting
// CRM-6948
$config->cleanURL = (int) variable_get('clean_url', '0');
// we need to call the config hook again, since we now know
// all the modules that are listening on it, does not apply
// to J! and WP as yet
// CRM-8655
CRM_Utils_Hook::config($config);
if (!$loadUser) {
return TRUE;
}
$uid = CRM_Utils_Array::value('uid', $params);
if (!$uid) {
//load user, we need to check drupal permissions.
$name = CRM_Utils_Array::value('name', $params, FALSE) ? $params['name'] : trim(CRM_Utils_Array::value('name', $_REQUEST));
$pass = CRM_Utils_Array::value('pass', $params, FALSE) ? $params['pass'] : trim(CRM_Utils_Array::value('pass', $_REQUEST));
if ($name) {
$uid = user_authenticate($name, $pass);
if (!$uid) {
if ($throwError) {
echo '<br />Sorry, unrecognized username or password.';
exit;
}
return FALSE;
}
}
}
if ($uid) {
$account = user_load($uid);
if ($account && $account->uid) {
global $user;
$user = $account;
return TRUE;
}
}
if ($throwError) {
echo '<br />Sorry, can not load CMS user account.';
exit;
}
// CRM-6948: When using loadBootStrap, it's implicit that CiviCRM has already loaded its settings
// which means that define(CIVICRM_CLEANURL) was correctly set.
// So we correct it
$config = CRM_Core_Config::singleton();
$config->cleanURL = (int) variable_get('clean_url', '0');
// CRM-8655: Drupal wasn't available during bootstrap, so hook_civicrm_config never executes
CRM_Utils_Hook::config($config);
return FALSE;
}
示例2: loadBootStrap
/**
* load drupal bootstrap
*
* @param $name string optional username for login
* @param $pass string optional password for login
*/
function loadBootStrap($params = array(), $loadUser = TRUE, $throwError = TRUE, $realPath = NULL)
{
$uid = CRM_Utils_Array::value('uid', $params);
$name = CRM_Utils_Array::value('name', $params, FALSE) ? $params['name'] : trim(CRM_Utils_Array::value('name', $_REQUEST));
$pass = CRM_Utils_Array::value('pass', $params, FALSE) ? $params['pass'] : trim(CRM_Utils_Array::value('pass', $_REQUEST));
//take the cms root path.
$cmsPath = $this->cmsRootPath($realPath);
if (!file_exists("{$cmsPath}/includes/bootstrap.inc")) {
echo '<br />Sorry, unable to locate bootstrap.inc.';
exit;
}
chdir($cmsPath);
require_once 'includes/bootstrap.inc';
@drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
if (!function_exists('module_exists') || !module_exists('civicrm')) {
echo '<br />Sorry, could not able to load drupal bootstrap.';
exit;
}
// lets also fix the clean url setting
// CRM-6948
$config->cleanURL = (int) variable_get('clean_url', '0');
// we need to call the config hook again, since we now know
// all the modules that are listening on it, does not apply
// to J! and WP as yet
// CRM-8655
CRM_Utils_Hook::config($config);
if (!$loadUser) {
return TRUE;
}
//load user, we need to check drupal permissions.
if ($name) {
$user = user_authenticate(array('name' => $name, 'pass' => $pass));
if (empty($user->uid)) {
echo '<br />Sorry, unrecognized username or password.';
exit;
}
} elseif ($uid) {
$account = user_load(array('uid' => $uid));
if (empty($account->uid)) {
echo '<br />Sorry, unrecognized user id.';
exit;
} else {
global $user;
$user = $account;
}
}
}
示例3: error_reporting
/**
* Singleton function used to manage this object.
*
* @param bool $loadFromDB
* whether to load from the database.
* @param bool $force
* whether to force a reconstruction.
*
* @return CRM_Core_Config
*/
public static function &singleton($loadFromDB = TRUE, $force = FALSE)
{
if (self::$_singleton === NULL || $force) {
$GLOBALS['civicrm_default_error_scope'] = CRM_Core_TemporaryErrorScope::create(array('CRM_Core_Error', 'handle'));
$errorScope = CRM_Core_TemporaryErrorScope::create(array('CRM_Core_Error', 'simpleHandler'));
if (defined('E_DEPRECATED')) {
error_reporting(error_reporting() & ~E_DEPRECATED);
}
self::$_singleton = new CRM_Core_Config();
\Civi\Core\Container::boot($loadFromDB);
if ($loadFromDB && self::$_singleton->dsn) {
$domain = \CRM_Core_BAO_Domain::getDomain();
\CRM_Core_BAO_ConfigSetting::applyLocale(\Civi::settings($domain->id), $domain->locales);
unset($errorScope);
CRM_Utils_Hook::config(self::$_singleton);
self::$_singleton->authenticate();
// Extreme backward compat: $config binds to active domain at moment of setup.
self::$_singleton->getSettings();
Civi::service('settings_manager')->useDefaults();
self::$_singleton->handleFirstRun();
}
}
return self::$_singleton;
}
示例4: CRM_Core_Config
/**
* Singleton function used to manage this object.
*
* @param $loadFromDB boolean whether to load from the database
* @param $force boolean whether to force a reconstruction
*
* @return object
* @static
*/
static function &singleton($loadFromDB = true, $force = false)
{
if (self::$_singleton === null || $force) {
// first, attempt to get configuration object from cache
require_once 'CRM/Utils/Cache.php';
$cache =& CRM_Utils_Cache::singleton();
self::$_singleton = $cache->get('CRM_Core_Config');
// if not in cache, fire off config construction
if (!self::$_singleton) {
self::$_singleton = new CRM_Core_Config();
self::$_singleton->_initialize();
//initialize variables. for gencode we cannot load from the
//db since the db might not be initialized
if ($loadFromDB) {
self::$_singleton->_initVariables();
// retrieve and overwrite stuff from the settings file
self::$_singleton->setCoreVariables();
}
$cache->set('CRM_Core_Config', self::$_singleton);
} else {
// we retrieve the object from memcache, so we now initialize the objects
self::$_singleton->_initialize();
// add component specific settings
self::$_singleton->componentRegistry->addConfig($this);
}
self::$_singleton->initialized = 1;
if (isset(self::$_singleton->customPHPPathDir) && self::$_singleton->customPHPPathDir) {
$include_path = self::$_singleton->customPHPPathDir . PATH_SEPARATOR . get_include_path();
set_include_path($include_path);
}
// set the callback at the very very end, to avoid an infinite loop
// set the error callback
CRM_Core_Error::setCallback();
// call the hook so other modules can add to the config
// again doing this at the very very end
require_once 'CRM/Utils/Hook.php';
CRM_Utils_Hook::config(self::$_singleton);
}
return self::$_singleton;
}
示例5: loadBootStrap
/**
* Load joomla bootstrap.
*
* @param array $params
* with uid or name and password.
* @param bool $loadUser
* load cms user?.
* @param bool|\throw $throwError throw error on failure?
* @param null $realPath
* @param bool $loadDefines
*
* @return bool
*/
public function loadBootStrap($params = array(), $loadUser = TRUE, $throwError = TRUE, $realPath = NULL, $loadDefines = TRUE)
{
// Setup the base path related constant.
$joomlaBase = dirname(dirname(dirname(dirname(dirname(dirname(dirname(dirname(__FILE__))))))));
// load BootStrap here if needed
// We are a valid Joomla entry point.
if (!defined('_JEXEC') && $loadDefines) {
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);
define('JPATH_BASE', $joomlaBase . '/administrator');
require $joomlaBase . '/administrator/includes/defines.php';
}
// Get the framework.
if (file_exists($joomlaBase . '/libraries/import.legacy.php')) {
require $joomlaBase . '/libraries/import.legacy.php';
}
require $joomlaBase . '/libraries/import.php';
require $joomlaBase . '/libraries/joomla/event/dispatcher.php';
require $joomlaBase . '/configuration.php';
// Files may be in different places depending on Joomla version
if (!defined('JVERSION')) {
require $joomlaBase . '/libraries/cms/version/version.php';
$jversion = new JVersion();
define('JVERSION', $jversion->getShortVersion());
}
if (version_compare(JVERSION, '3.0', 'lt')) {
require $joomlaBase . '/libraries/joomla/environment/uri.php';
require $joomlaBase . '/libraries/joomla/application/component/helper.php';
} else {
require $joomlaBase . '/libraries/cms.php';
require $joomlaBase . '/libraries/joomla/uri/uri.php';
}
jimport('joomla.application.cli');
// CRM-14281 Joomla wasn't available during bootstrap, so hook_civicrm_config never executes.
$config = CRM_Core_Config::singleton();
CRM_Utils_Hook::config($config);
return TRUE;
}
示例6: error_reporting
/**
* Singleton function used to manage this object.
*
* @param bool $loadFromDB
* whether to load from the database.
* @param bool $force
* whether to force a reconstruction.
*
* @return CRM_Core_Config
*/
public static function &singleton($loadFromDB = TRUE, $force = FALSE)
{
if (self::$_singleton === NULL || $force) {
// goto a simple error handler
$GLOBALS['civicrm_default_error_scope'] = CRM_Core_TemporaryErrorScope::create(array('CRM_Core_Error', 'handle'));
$errorScope = CRM_Core_TemporaryErrorScope::create(array('CRM_Core_Error', 'simpleHandler'));
// lets ensure we set E_DEPRECATED to minimize errors
// CRM-6327
if (defined('E_DEPRECATED')) {
error_reporting(error_reporting() & ~E_DEPRECATED);
}
// first, attempt to get configuration object from cache
$cache = CRM_Utils_Cache::singleton();
self::$_singleton = $cache->get('CRM_Core_Config' . CRM_Core_Config::domainID());
// if not in cache, fire off config construction
if (!self::$_singleton) {
self::$_singleton = new CRM_Core_Config();
self::$_singleton->_initialize($loadFromDB);
//initialize variables. for gencode we cannot load from the
//db since the db might not be initialized
if ($loadFromDB) {
// initialize stuff from the settings file
self::$_singleton->setCoreVariables();
self::$_singleton->_initVariables();
// I don't think we need to do this twice
// however just keeping this commented for now in 4.4
// in case we hit any issues - CRM-13064
// We can safely delete this once we release 4.4.4
// self::$_singleton->setCoreVariables();
}
$cache->set('CRM_Core_Config' . CRM_Core_Config::domainID(), self::$_singleton);
} else {
// we retrieve the object from memcache, so we now initialize the objects
self::$_singleton->_initialize($loadFromDB);
// CRM-9803, NYSS-4822
// this causes various settings to be reset and hence we should
// only use the config object that we retrieved from memcache
}
self::$_singleton->initialized = 1;
if (isset(self::$_singleton->customPHPPathDir) && self::$_singleton->customPHPPathDir) {
$include_path = self::$_singleton->customPHPPathDir . PATH_SEPARATOR . get_include_path();
set_include_path($include_path);
}
// set the callback at the very very end, to avoid an infinite loop
// set the error callback
unset($errorScope);
// call the hook so other modules can add to the config
// again doing this at the very very end
CRM_Utils_Hook::config(self::$_singleton);
// make sure session is always initialised
$session = CRM_Core_Session::singleton();
// for logging purposes, pass the userID to the db
$userID = $session->get('userID');
if ($userID) {
CRM_Core_DAO::executeQuery('SET @civicrm_user_id = %1', array(1 => array($userID, 'Integer')));
}
// initialize authentication source
self::$_singleton->initAuthSrc();
}
return self::$_singleton;
}
示例7: loadBootStrap
/**
* Load drupal bootstrap.
*
* @param array $params
* Either uid, or name & pass.
* @param bool $loadUser
* Boolean Require CMS user load.
* @param bool $throwError
* If true, print error on failure and exit.
* @param bool|string $realPath path to script
*
* @return bool
* @Todo Handle setting cleanurls configuration for CiviCRM?
*/
public function loadBootStrap($params = array(), $loadUser = TRUE, $throwError = TRUE, $realPath = NULL)
{
static $run_once = FALSE;
if ($run_once) {
return TRUE;
} else {
$run_once = TRUE;
}
if (!($root = $this->cmsRootPath())) {
return FALSE;
}
chdir($root);
// Create a mock $request object
$autoloader = (require_once $root . '/vendor/autoload.php');
// @Todo: do we need to handle case where $_SERVER has no HTTP_HOST key, ie. when run via cli?
$request = new \Symfony\Component\HttpFoundation\Request(array(), array(), array(), array(), array(), $_SERVER);
// Create a kernel and boot it.
\Drupal\Core\DrupalKernel::createFromRequest($request, $autoloader, 'prod')->prepareLegacyRequest($request);
// Initialize Civicrm
\Drupal::service('civicrm');
// We need to call the config hook again, since we now know
// all the modules that are listening on it (CRM-8655).
CRM_Utils_Hook::config($config);
if ($loadUser) {
if (!empty($params['uid']) && ($username = \Drupal\user\Entity\User::load($uid)->getUsername())) {
$this->loadUser($username);
} elseif (!empty($params['name']) && !empty($params['pass']) && $this->authenticate($params['name'], $params['pass'])) {
$this->loadUser($params['name']);
}
}
return TRUE;
}
示例8: array
/**
* Singleton function used to manage this object.
*
* @param $loadFromDB boolean whether to load from the database
* @param $force boolean whether to force a reconstruction
*
* @return object
* @static
*/
static function &singleton($loadFromDB = TRUE, $force = FALSE)
{
if (self::$_singleton === NULL || $force) {
// goto a simple error handler
$GLOBALS['_PEAR_default_error_mode'] = PEAR_ERROR_CALLBACK;
$GLOBALS['_PEAR_default_error_options'] = array('CRM_Core_Error', 'simpleHandler');
// lets ensure we set E_DEPRECATED to minimize errors
// CRM-6327
if (defined('E_DEPRECATED')) {
error_reporting(error_reporting() & ~E_DEPRECATED);
}
// first, attempt to get configuration object from cache
$cache = CRM_Utils_Cache::singleton();
self::$_singleton = $cache->get('CRM_Core_Config');
// if not in cache, fire off config construction
if (!self::$_singleton) {
self::$_singleton = new CRM_Core_Config();
self::$_singleton->_initialize($loadFromDB);
//initialize variables. for gencode we cannot load from the
//db since the db might not be initialized
if ($loadFromDB) {
self::$_singleton->_initVariables();
// retrieve and overwrite stuff from the settings file
self::$_singleton->setCoreVariables();
}
$cache->set('CRM_Core_Config', self::$_singleton);
} else {
// we retrieve the object from memcache, so we now initialize the objects
self::$_singleton->_initialize($loadFromDB);
// CRM-9803, NYSS-4822
// this causes various settings to be reset and hence we should
// only use the config object that we retrived from memcache
}
self::$_singleton->initialized = 1;
if (isset(self::$_singleton->customPHPPathDir) && self::$_singleton->customPHPPathDir) {
$include_path = self::$_singleton->customPHPPathDir . PATH_SEPARATOR . get_include_path();
set_include_path($include_path);
}
// set the callback at the very very end, to avoid an infinite loop
// set the error callback
CRM_Core_Error::setCallback();
// call the hook so other modules can add to the config
// again doing this at the very very end
CRM_Utils_Hook::config(self::$_singleton);
// make sure session is always initialised
$session = CRM_Core_Session::singleton();
// for logging purposes, pass the userID to the db
$userID = $session->get('userID');
if ($userID) {
CRM_Core_DAO::executeQuery('SET @civicrm_user_id = %1', array(1 => array($userID, 'Integer')));
}
}
return self::$_singleton;
}