roundcubemail/program/lib/Roundcube/rcube_session.php
public function append($path, $key, $value)
    {
        // re-read session data from DB because it might be outdated
        if (!$this->reloaded && microtime(true) - $this->start > 0.5) {
            $this->reload();
            $this->reloaded = true;
            $this->start = microtime(true);
        }

        $node = &$this->get_node(explode('.', $path), $_SESSION);

        if ($key !== null) {
            $node[$key] = $value;
            $path .= '.' . $key;
        }
        else {
            $node[] = $value;
        }

        $this->appends[] = $path;

        // when overwriting a previously unset variable
        if ($this->unsets[$path]) {
            unset($this->unsets[$path]);
        }
    }
public function append($path, $key, $value)
    {
        // re-read session data from DB because it might be outdated
        if (!$this->reloaded && microtime(true) - $this->start > 0.5) {
            $this->reload();
            $this->reloaded = true;
            $this->start = microtime(true);
        }

        $node = &$this->get_node(explode('.', $path), $_SESSION);

        if ($key !== null) {
            $node[$key] = $value;
            $path .= '.' . $key;
        }
        else {
            $node[] = $value;
        }

        $this->appends[] = $path;

        // when overwriting a previously unset variable
        if ($this->unsets[$path]) {
            unset($this->unsets[$path]);
        }
    }
public function append ( $ path , $ key , $ value ) { // re-read session data from DB because it might be outdated if ( ! $ this -> reloaded && microtime ( true ) - $ this -> start > 0.5 ) { $ this -> reload ( ) ; $ this -> reloaded = true ; $ this -> start = microtime ( true ) ; } $ node = & $ this -> get_node ( explode ( '.' , $ path ) , $ _SESSION ) ; if ( $ key !== null ) { $ node [ $ key ] = $ value ; $ path .= '.' . $ key ; } else { $ node [ ] = $ value ; } $ this -> appends [ ] = $ path ; // when overwriting a previously unset variable if ( $ this -> unsets [ $ path ] ) { unset ( $ this -> unsets [ $ path ] ) ; } }
Append the given value to the certain node in the session data array

Warning: Do not use if you already modified $_SESSION in the same request (#1490608)

@param string Path denoting the session variable where to append the value
@param string Key name under which to append the new value (use null for appending to an indexed list)
@param mixed  Value to append to the session data array
Append the given value to the certain node in the session data array