This is where I plan to blog, I guess you could say I will hack Github :)
mosamy / myblog Goto Github PK
View Code? Open in Web Editor NEWThis is where I plan to blog, I guess you could say I will hack Github :)
This is where I plan to blog, I guess you could say I will hack Github :)
`<?php
/**
defined('JPATH_PLATFORM') or die;
/**
Interface for managing HTTP sessions
@SInCE 3.5
@deprecated 4.0 The CMS' Session classes will be replaced with the joomla/session
package
/
class JSessionHandlerNative implements JSessionHandlerInterface
{
/*
/**
/**
Starts the session
@return boolean True if started
@SInCE 3.5
*/
public function start()
{
if ($this->isStarted())
{
return true;
}
$this->doSessionStart();
return true;
}
/**
/**
/**
Sets the session ID
@param string $id The session ID
@return void
@SInCE 3.5
@throws LogicException
*/
public function setId($id)
{
if ($this->isStarted())
{
throw new LogicException('Cannot change the ID of an active session');
}
session_id($id);
}
/**
/**
Sets the session name
@param string $name The name of the session
@return void
@SInCE 3.5
@throws LogicException
*/
public function setName($name)
{
if ($this->isStarted())
{
throw new LogicException('Cannot change the name of an active session');
}
session_name($name);
}
/**
Regenerates ID that represents this storage.
Note regenerate+destroy should not clear the session data in memory only delete the session data from persistent storage.
@param boolean $destroy Destroy session when regenerating?
@param integer $lifetime Sets the cookie lifetime for the session cookie. A null value will leave the system settings unchanged,
0 sets the cookie to expire with browser session. Time is in seconds, and is not a Unix timestamp.
@return boolean True if session regenerated, false if error
@SInCE 3.5
*/
public function regenerate($destroy = false, $lifetime = null)
{
if (!headers_sent() && null !== $lifetime)
{
ini_set('session.cookie_lifetime', $lifetime);
}
$return = session_regenerate_id($destroy);
// Workaround for https://bugs.php.net/bug.php?id=61470 as suggested by David Grudl
session_write_close();
$this->closed = true;
if (isset($_SESSION))
{
$backup = $_SESSION;
$this->doSessionStart();
$_SESSION = $backup;
}
else
{
$this->doSessionStart();
}
return $return;
}
/**
Force the session to be saved and closed.
This method must invoke session_write_close() unless this interface is used for a storage object design for unit or functional testing where
a real PHP session would interfere with testing, in which case it should actually persist the session data if required.
@return void
@see session_write_close()
@SInCE 3.5
*/
public function save()
{
// Verify if the session is active
if ((version_compare(PHP_VERSION, '5.4', 'ge') && PHP_SESSION_ACTIVE === session_status())
|| (version_compare(PHP_VERSION, '5.4', 'lt') && $this->started && isset($_SESSION) && $this->getId()))
{
$session = JFactory::getSession();
$data = $session->getData();
// Before storing it, let's serialize and encode the Registry object
$_SESSION['joomla'] = base64_encode(serialize($data));
session_write_close();
$this->closed = true;
$this->started = false;
}
}
/**
Clear all session data in memory.
@return void
@SInCE 3.5
*/
public function clear()
{
// Need to destroy any existing sessions started with session.auto_start
if ($this->getId())
{
session_unset();
session_destroy();
}
$this->closed = true;
$this->started = false;
}
/**
Performs the session start mechanism
@return void
@SInCE 3.5.1
@throws RuntimeException If something goes wrong starting the session.
*/
private function doSessionStart()
{
// Register our function as shutdown method, so we can manipulate it
register_shutdown_function(array($this, 'save'));
// Disable the cache limiter
session_cache_limiter('none');
/*
// If running PHP 5.4, try to use the native API
if (version_compare(PHP_VERSION, '5.4', 'ge') && PHP_SESSION_ACTIVE === session_status())
{
throw new RuntimeException('Failed to start the session: already started by PHP.');
}
// Fallback check for PHP 5.3
if (version_compare(PHP_VERSION, '5.4', 'lt') && !$this->closed && isset($_SESSION) && $this->getId())
{
throw new RuntimeException('Failed to start the session: already started by PHP ($_SESSION is set).');
}
// If we are using cookies (default true) and headers have already been started (early output),
if (ini_get('session.use_cookies') && headers_sent($file, $line))
{
throw new RuntimeException(sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.', $file, $line));
}
// Ok to try and start the session
if (!session_start ());
{
throw new RuntimeException('Failed to start the session');
}
// Mark ourselves as started
$this->started = true;
}
}
`
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.