X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FUtils%2FSystem%2FDrupalBase.php;h=2c484a5059d426c3e6914c8c4aeac07a8b50ecc1;hb=54744051dea726c2b1495f24fc1cf7ba7fa25e11;hp=a10cd92db9b8c4ab2b8c046c83442695a4aaf2ea;hpb=887f7812c9ac3bbf3c9545c0435e6f9f245ff298;p=civicrm-core.git diff --git a/CRM/Utils/System/DrupalBase.php b/CRM/Utils/System/DrupalBase.php index a10cd92db9..2c484a5059 100644 --- a/CRM/Utils/System/DrupalBase.php +++ b/CRM/Utils/System/DrupalBase.php @@ -3,7 +3,7 @@ +--------------------------------------------------------------------+ | CiviCRM version 5 | +--------------------------------------------------------------------+ - | Copyright CiviCRM LLC (c) 2004-2019 | + | Copyright CiviCRM LLC (c) 2004-2020 | +--------------------------------------------------------------------+ | This file is a part of CiviCRM. | | | @@ -28,7 +28,7 @@ /** * * @package CRM - * @copyright CiviCRM LLC (c) 2004-2019 + * @copyright CiviCRM LLC (c) 2004-2020 * $Id$ * */ @@ -40,10 +40,10 @@ abstract class CRM_Utils_System_DrupalBase extends CRM_Utils_System_Base { /** * Does this CMS / UF support a CMS specific logging mechanism? - * @todo - we should think about offering up logging mechanisms in a way that is also extensible by extensions * @var bool + * @todo - we should think about offering up logging mechanisms in a way that is also extensible by extensions */ - var $supports_UF_Logging = TRUE; + public $supports_UF_Logging = TRUE; /** */ @@ -73,10 +73,10 @@ abstract class CRM_Utils_System_DrupalBase extends CRM_Utils_System_Base { $filesURL = $baseURL . "sites/default/files/civicrm/"; } - return array( + return [ 'url' => $filesURL, 'path' => CRM_Utils_File::baseFilePath(), - ); + ]; } /** @@ -85,7 +85,7 @@ abstract class CRM_Utils_System_DrupalBase extends CRM_Utils_System_Base { public function getDefaultSiteSettings($dir) { $config = CRM_Core_Config::singleton(); $siteName = $siteRoot = NULL; - $matches = array(); + $matches = []; if (preg_match( '|/sites/([\w\.\-\_]+)/|', $config->templateCompileDir, @@ -101,7 +101,7 @@ abstract class CRM_Utils_System_DrupalBase extends CRM_Utils_System_Base { } } $url = $config->userFrameworkBaseURL; - return array($url, $siteName, $siteRoot); + return [$url, $siteName, $siteRoot]; } /** @@ -266,10 +266,10 @@ abstract class CRM_Utils_System_DrupalBase extends CRM_Utils_System_Base { public function getUserRecordUrl($contactID) { $uid = CRM_Core_BAO_UFMatch::getUFId($contactID); if (CRM_Core_Session::singleton() - ->get('userID') == $contactID || CRM_Core_Permission::checkAnyPerm(array( - 'cms:administer users', - 'cms:view user account', - )) + ->get('userID') == $contactID || CRM_Core_Permission::checkAnyPerm([ + 'cms:administer users', + 'cms:view user account', + ]) ) { return $this->url('user/' . $uid); }; @@ -287,7 +287,7 @@ abstract class CRM_Utils_System_DrupalBase extends CRM_Utils_System_Base { */ public function logger($message) { if (CRM_Core_Config::singleton()->userFrameworkLogging && function_exists('watchdog')) { - watchdog('civicrm', '%message', array('%message' => $message), NULL, WATCHDOG_DEBUG); + watchdog('civicrm', '%message', ['%message' => $message], NULL, WATCHDOG_DEBUG); } } @@ -309,7 +309,7 @@ abstract class CRM_Utils_System_DrupalBase extends CRM_Utils_System_Base { * @inheritDoc */ public function getModules() { - $result = array(); + $result = []; $q = db_query('SELECT name, status FROM {system} WHERE type = \'module\' AND schema_version <> -1'); foreach ($q as $row) { $result[] = new CRM_Core_Module('drupal.' . $row->name, ($row->status == 1) ? TRUE : FALSE); @@ -331,7 +331,7 @@ abstract class CRM_Utils_System_DrupalBase extends CRM_Utils_System_Base { $roles = user_roles(FALSE, $oldPerm); if (!empty($roles)) { foreach (array_keys($roles) as $rid) { - user_role_revoke_permissions($rid, array($oldPerm)); + user_role_revoke_permissions($rid, [$oldPerm]); user_role_grant_permissions($rid, $newPerms); } } @@ -492,7 +492,7 @@ abstract class CRM_Utils_System_DrupalBase extends CRM_Utils_System_Base { * * FIXME: Document values accepted/required by $params */ - public function userLoginFinalize($params = array()) { + public function userLoginFinalize($params = []) { user_login_finalize($params); } @@ -632,7 +632,7 @@ abstract class CRM_Utils_System_DrupalBase extends CRM_Utils_System_Base { include $confdir . "/sites.php"; } else { - $sites = array(); + $sites = []; } $uri = explode('/', $phpSelf); @@ -663,4 +663,24 @@ abstract class CRM_Utils_System_DrupalBase extends CRM_Utils_System_Base { return (!empty($language->language)) ? $language->language : $language; } + /** + * Is a front end page being accessed. + * + * Generally this would be a contribution form or other public page as opposed to a backoffice page (like contact edit). + * + * See https://github.com/civicrm/civicrm-drupal/pull/546/files + * + * @return bool + */ + public function isFrontEndPage() { + $path = CRM_Utils_System::getUrlPath(); + + // Get the menu for above URL. + $item = CRM_Core_Menu::get($path); + if (!empty(CRM_Utils_Array::value('is_public', $item))) { + return TRUE; + } + return FALSE; + } + }