Make the formatParamsForPaymentProcessor function more generic so it can be used...
[civicrm-core.git] / Civi.php
index d535e1afbd066791c363f02131e3499ff65ce014..12b2119b45bc846ca7472b3ac6a518c5140532fb 100644 (file)
--- a/Civi.php
+++ b/Civi.php
@@ -18,7 +18,7 @@ class Civi {
 
   /**
    * A central location for static variable storage.
-   *
+   * @var array
    * @code
    * `Civi::$statics[__CLASS__]['foo'] = 'bar';
    * @endcode
@@ -117,6 +117,22 @@ class Civi {
     return CRM_Core_Resources::singleton();
   }
 
+  /**
+   * Obtain the contact's personal settings.
+   *
+   * @param NULL|int $contactID
+   *   For the default/active user's contact, leave $domainID as NULL.
+   * @param NULL|int $domainID
+   *   For the default domain, leave $domainID as NULL.
+   * @return \Civi\Core\SettingsBag
+   * @throws CRM_Core_Exception
+   *   If there is no contact, then there's no SettingsBag, and we'll throw
+   *   an exception.
+   */
+  public static function contactSettings($contactID = NULL, $domainID = NULL) {
+    return \Civi\Core\Container::getBootService('settings_manager')->getBagByContact($domainID, $contactID);
+  }
+
   /**
    * Obtain the domain settings.
    *