function getSessionToken()
 {
     // Session Cookie `name`
     $sessionCookieName = mosMainFrame::sessionCookieName();
     // Get Session Cookie `value`
     $sessioncookie = zmgGetParam($_COOKIE, $sessionCookieName, null);
     // Session ID / `value`
     return mosMainFrame::sessionCookieValue($sessioncookie);
 }
 /**
  * Editmon object contructor.
  *
  * @return editmon
  * @access public
  */
 function editmon()
 {
     global $mosConfig_lifetime, $mainframe, $_SESSION;
     $this->_lifetime = $mosConfig_lifetime;
     if (is_callable(array('mosMainframe', 'sessionCookieName'))) {
         // Session Cookie `name`
         $sessionCookieName = mosMainFrame::sessionCookieName();
         // Get Session Cookie `value`
         $sessioncookie = mosGetParam($_COOKIE, $sessionCookieName, null);
         // Session ID / `value`
         $sessionValueCheck = mosMainFrame::sessionCookieValue($sessioncookie);
         $this->_session_id = $sessionValueCheck;
     } else {
         if (isset($mainframe) && is_object($mainframe->_session)) {
             $this->_session_id = $mainframe->_session->session_id;
         } else {
             if (isset($_COOKIE['sessioncookie'])) {
                 $sessioncookie = $_COOKIE['sessioncookie'];
                 $this->_session_id = md5($sessioncookie . $_SERVER['REMOTE_ADDR']);
             }
         }
     }
 }
Exemple #3
0
/**
 * Check if user session exists. Adapted from Joomla original code
 */
function shLookupSession()
{
    global $mainframe;
    return false;
    // does not work in 1.5. Not needed anyway, as long as multilingual 303 redirect is not solved
    $database =& JFactory::getDBO();
    // initailize session variables
    $session = new mosSession($database);
    $option = strval(strtolower(JRequest::getVar('option')));
    $mainframe = new mosMainFrame($database, $option, '.');
    // purge expired sessions
    $session->purge('core');
    // can't purge as $mainframe is not initialized yet
    // Session Cookie `name`
    // WARNING : I am using the Hack from
    $sessionCookieName = mosMainFrame::sessionCookieName();
    // Get Session Cookie `value`
    $sessioncookie = strval(JRequest::getVar($sessionCookieName, null, 'COOKIE'));
    // Session ID / `value`
    $sessionValueCheck = mosMainFrame::sessionCookieValue($sessioncookie);
    // Check if existing session exists in db corresponding to Session cookie `value`
    // extra check added in 1.0.8 to test sessioncookie value is of correct length
    $ret = false;
    if ($sessioncookie && strlen($sessioncookie) == 32 && $sessioncookie != '-' && $session->load($sessionValueCheck)) {
        $ret = true;
    }
    unset($mainframe);
    return $ret;
}
Exemple #4
0
 /**
  * Returns the Joomla/Mambo Session ID
  * @static 
  */
 function getSessionId()
 {
     global $mainframe;
     // Joomla >= 1.0.8
     if (is_callable(array('mosMainframe', 'sessionCookieName'))) {
         // Session Cookie `name`
         $sessionCookieName = mosMainFrame::sessionCookieName();
         // Get Session Cookie `value`
         $sessionCookie = vmGet($_COOKIE, $sessionCookieName, null);
         // Session ID / `value`
         return mosMainFrame::sessionCookieValue($sessionCookie);
     } elseif (is_callable(array('mosSession', 'getCurrent'))) {
         $session =& mosSession::getCurrent();
         return $session->session_id;
     } elseif (!empty($mainframe->_session->session_id)) {
         // Set the sessioncookie if its missing
         // this is needed for joomla sites only
         return $mainframe->_session->session_id;
     } else {
         return session_id();
     }
 }
Exemple #5
0
 /**
  * Generate a unique session id
  * @return string
  */
 function generateId()
 {
     $failsafe = 20;
     $randnum = 0;
     while ($failsafe--) {
         $randnum = md5(uniqid(microtime(), 1));
         $new_session_id = mosMainFrame::sessionCookieValue($randnum);
         if ($randnum != '') {
             $query = "SELECT {$this->_tbl_key}" . "\n FROM {$this->_tbl}" . "\n WHERE {$this->_tbl_key} = " . $this->_db->Quote($new_session_id);
             $this->_db->setQuery($query);
             if (!($result = $this->_db->query())) {
                 die($this->_db->stderr(true));
             }
             if ($this->_db->getNumRows($result) == 0) {
                 break;
             }
         }
     }
     $this->_session_cookie = $randnum;
     $this->session_id = $new_session_id;
 }