Merge remote-tracking branch 'origin/4.4' into 4.4-4.5-2014-09-14-13-58-42
[civicrm-core.git] / CRM / Core / Session.php
index 538d5a21f805b89c4064561cf7da1635174bb0fc..24f53be63f093c779df17d17550c100963b7a090 100644 (file)
 
 
 require_once "PEAR.php";
+
+/**
+ * Class CRM_Core_Session
+ */
 class CRM_Core_Session {
 
   /**
@@ -79,7 +83,7 @@ class CRM_Core_Session {
    * This constructor is invoked whenever any module requests an instance of
    * the session and one is not available.
    *
-   * @return void
+   * @return \CRM_Core_Session
    */
   function __construct() {
     $this->_session = null;
@@ -149,6 +153,8 @@ class CRM_Core_Session {
    *
    * @access public
    *
+   * @param int $all
+   *
    * @return void
    */
   function reset($all = 1) {
@@ -518,6 +524,9 @@ class CRM_Core_Session {
     }
   }
 
+  /**
+   * @param $names
+   */
   static function registerAndRetrieveSessionObjects($names) {
     if (!is_array($names)) {
       $names = array($names);
@@ -533,6 +542,9 @@ class CRM_Core_Session {
     CRM_Core_BAO_Cache::restoreSessionFromCache($names);
   }
 
+  /**
+   * @param bool $reset
+   */
   static function storeSessionObjects($reset = TRUE) {
     if (empty(self::$_managedNames)) {
       return;
@@ -545,6 +557,21 @@ class CRM_Core_Session {
     self::$_managedNames = NULL;
   }
 
+  /**
+   * Retrieve contact id of the logged in user
+   * @return integer | NULL contact ID of logged in user
+   */
+  static function getLoggedInContactID() {
+    $session = CRM_Core_Session::singleton();
+    if (!is_numeric($session->get('userID'))) {
+      return NULL;
+    }
+    return $session->get('userID');
+  }
+
+  /**
+   * @return bool
+   */
   function isEmpty() {
     // check if session is empty, if so we dont cache
     // stuff that we can get away with