| GNU Affero General Public License or the licensing of CiviCRM, |
| see the CiviCRM license FAQ at http://civicrm.org/licensing |
+--------------------------------------------------------------------+
-*/
+ */
require_once "PEAR.php";
* pattern and cache the instance in this variable
*
* @var object
- * @static
*/
static private $_singleton = NULL;
* @return CRM_Core_Session
*/
public function __construct() {
- $this->_session = null;
+ $this->_session = NULL;
}
/**
* Singleton function used to manage this object
*
* @return CRM_Core_Session
- * @static
*/
public static function &singleton() {
if (self::$_singleton === NULL) {
- self::$_singleton = new CRM_Core_Session;
+ self::$_singleton = new CRM_Core_Session();
}
return self::$_singleton;
}
* Creates an array in the session. All variables now will be stored
* under this array
*
- * @param boolean $isRead is this a read operation, in this case, the session will not be touched
+ * @param bool $isRead
+ * Is this a read operation, in this case, the session will not be touched.
*
- * @access private
*
* @return void
*/
// FIXME: This belongs in CRM_Utils_System_*
if ($config->userSystem->is_drupal && function_exists('drupal_session_start')) {
// https://issues.civicrm.org/jira/browse/CRM-14356
- if (! (isset($GLOBALS['lazy_session']) && $GLOBALS['lazy_session'] == true)) {
+ if (!(isset($GLOBALS['lazy_session']) && $GLOBALS['lazy_session'] == TRUE)) {
drupal_session_start();
}
$_SESSION = array();
) {
$this->_session[$this->_key] = array();
}
- return;
+ return NULL;
}
/**
* Resets the session store
*
- * @access public
*
* @param int $all
*
$this->_session = array();
}
- return;
+ return NULL;
}
/**
* Creates a session local scope
*
- * @param string $prefix local scope name
- * @param boolean $isRead is this a read operation, in this case, the session will not be touched
+ * @param string $prefix
+ * Local scope name.
+ * @param bool $isRead
+ * Is this a read operation, in this case, the session will not be touched.
*
- * @access public
*
* @return void
*/
/**
* Resets the session local scope
*
- * @param string $prefix local scope name
- * @access public
+ * @param string $prefix
+ * Local scope name.
*
* @return void
*/
* to store complex objects in the session. I suspect it
* is supported but we need to verify this
*
- * @access public
*
- * @param string $name name of the variable
- * @param mixed $value value of the variable
- * @param string $prefix a string to prefix the keys in the session with
+ * @param string $name
+ * Name of the variable.
+ * @param mixed $value
+ * Value of the variable.
+ * @param string $prefix
+ * A string to prefix the keys in the session with.
*
* @return void
- *
*/
public function set($name, $value = NULL, $prefix = NULL) {
// create session scope
* This function takes a name and retrieves the value of this
* variable from the session scope.
*
- * @access public
*
- * @param string $name : name of the variable
- * @param string $prefix : adds another level of scope to the session
+ * @param string $name
+ * name of the variable.
+ * @param string $prefix
+ * adds another level of scope to the session.
*
* @return mixed
- *
*/
public function get($name, $prefix = NULL) {
// create session scope
$this->createScope($prefix, TRUE);
if (empty($this->_session) || empty($this->_session[$this->_key])) {
- return null;
+ return NULL;
}
if (empty($prefix)) {
}
else {
if (empty($this->_session[$this->_key][$prefix])) {
- return null;
+ return NULL;
}
$session =& $this->_session[$this->_key][$prefix];
}
* Gets all the variables in the current session scope
* and stuffs them in an associate array
*
- * @access public
*
- * @param array $vars associative array to store name/value pairs
- * @param string $prefix will be stripped from the key before putting it in the return
+ * @param array $vars
+ * Associative array to store name/value pairs.
+ * @param string $prefix
+ * Will be stripped from the key before putting it in the return.
*
* @return void
- *
*/
public function getVars(&$vars, $prefix = '') {
// create session scope
* Returns true-ish values if the timer is not set or expired, and false if the timer is still running
* If you want to get more nuanced, you can check the type of the return to see if it's 'not set' or actually expired at a certain time
*
- * @access public
*
- * @param string $name : name of the timer
- * @param int $expire : expiry time (in seconds)
+ * @param string $name
+ * name of the timer.
+ * @param int $expire
+ * expiry time (in seconds).
*
* @return mixed
- *
*/
public function timer($name, $expire) {
$ts = $this->get($name, 'timer');
$this->set($name, time(), 'timer');
return $ts ? $ts : 'not set';
}
- return false;
+ return FALSE;
}
/**
* Adds a userContext to the stack
*
- * @param string $userContext the url to return to when done
- * @param boolean $check should we do a dupe checking with the top element
+ * @param string $userContext
+ * The url to return to when done.
+ * @param bool $check
+ * Should we do a dupe checking with the top element.
*
* @return void
- *
- * @access public
- *
*/
public function pushUserContext($userContext, $check = TRUE) {
if (empty($userContext)) {
/**
* Replace the userContext of the stack with the passed one
*
- * @param string $userContext the url to return to when done
+ * @param string $userContext
+ * The url to return to when done.
*
* @return void
- *
- * @access public
- *
*/
public function replaceUserContext($userContext) {
if (empty($userContext)) {
/**
* Pops the top userContext stack
*
- * @return string the top of the userContext stack (also pops the top element)
- *
+ * @return string
+ * the top of the userContext stack (also pops the top element)
*/
public function popUserContext() {
$this->createScope(self::USER_CONTEXT);
/**
* Reads the top userContext stack
*
- * @return string the top of the userContext stack
- *
+ * @return string
+ * the top of the userContext stack
*/
public function readUserContext() {
$this->createScope(self::USER_CONTEXT);
/**
* Fetches status messages
*
- * @param bool $reset should we reset the status variable?
+ * @param bool $reset
+ * Should we reset the status variable?.
*
- * @return string the status message if any
+ * @return string
+ * the status message if any
*/
public function getStatus($reset = FALSE) {
$this->initialize();
/**
* Stores an alert to be displayed to the user via crm-messages
*
- * @param $text string
+ * @param string $text
* The status message
*
- * @param $title string
+ * @param string $title
* The optional title of this message
*
- * @param $type string
+ * @param string $type
* The type of this message (printed as a css class). Possible options:
* - 'alert' (default)
* - 'info'
* until the user dismisses it)
* - 'no-popup' (will display in the document like old-school)
*
- * @param $options array
+ * @param array $options
* Additional options. Possible values:
* - 'unique' (default: true) Check if this message was already set before adding
* - 'expires' how long to display this message before fadeout (in ms)
* defaults to 10 seconds for most messages, 5 if it has a title but no body,
* or 0 for errors or messages containing links
*
- * @static
*
* @return void
*/
/**
* Retrieve contact id of the logged in user
- * @return integer|NULL contact ID of logged in user
+ * @return int|NULL
+ * contact ID of logged in user
*/
public static function getLoggedInContactID() {
$session = CRM_Core_Session::singleton();
// helps proxies like varnish
return empty($_SESSION);
}
+
}