Replacing global $app with a property.

skala
Julio Montoya 12 years ago
parent 19f908d921
commit 8777c5542b
  1. 3
      main/inc/global.inc.php
  2. 44
      main/inc/lib/chamilo_session.class.php
  3. 25
      main/inc/lib/usermanager.lib.php
  4. 4
      src/ChamiloLMS/Component/Auth/LoginListener.php
  5. 5
      src/ChamiloLMS/Component/Auth/LoginSuccessHandler.php
  6. 3
      src/ChamiloLMS/Component/Auth/LogoutSuccessHandler.php

@ -511,7 +511,10 @@ $app->before(
// Starting the session for more info see: http://silex.sensiolabs.org/doc/providers/session.html // Starting the session for more info see: http://silex.sensiolabs.org/doc/providers/session.html
$request->getSession()->start(); $request->getSession()->start();
// Setting session obj
Session::setSession($app['session']);
UserManager::setEntityManager($app['orm.em']);
/** @var ChamiloLMS\Component\DataFilesystem\DataFilesystem $filesystem */ /** @var ChamiloLMS\Component\DataFilesystem\DataFilesystem $filesystem */
$filesystem = $app['chamilo.filesystem']; $filesystem = $app['chamilo.filesystem'];

@ -2,15 +2,27 @@
/** /**
* ChamiloSession class definition * ChamiloSession class definition
* @todo don't use global */
*/
class ChamiloSession class ChamiloSession
{ {
public static $session;
/**
* @param $session
*/
public static function setSession($session)
{
self::$session = $session;
}
/**
* @param $variable
* @param null $default
* @return null
*/
public static function read($variable, $default = null) public static function read($variable, $default = null)
{ {
global $app; $result = self::$session->get($variable);
$result = $app['session']->get($variable);
// check if the value exists in the $_SESSION array // check if the value exists in the $_SESSION array
if (empty($result)) { if (empty($result)) {
return isset($_SESSION[$variable]) ? $_SESSION[$variable] : $default; return isset($_SESSION[$variable]) ? $_SESSION[$variable] : $default;
@ -19,19 +31,24 @@ class ChamiloSession
} }
} }
/**
* @param $variable
* @param $value
*/
public static function write($variable, $value) public static function write($variable, $value)
{ {
global $app;
// Writing the session in 2 instances because // Writing the session in 2 instances because
$_SESSION[$variable] = $value; $_SESSION[$variable] = $value;
$app['session']->set($variable, $value); self::$session->set($variable, $value);
} }
/**
* @param $variable
*/
public static function erase($variable) public static function erase($variable)
{ {
global $app;
$variable = (string) $variable; $variable = (string) $variable;
$app['session']->remove($variable); self::$session->remove($variable);
if (isset($GLOBALS[$variable])) { if (isset($GLOBALS[$variable])) {
unset($GLOBALS[$variable]); unset($GLOBALS[$variable]);
@ -46,9 +63,7 @@ class ChamiloSession
*/ */
public static function clear() public static function clear()
{ {
global $app; self::$session->clear();
$app['session']->clear();
//$_SESSION = array();
} }
/** /**
@ -56,11 +71,6 @@ class ChamiloSession
*/ */
public static function destroy() public static function destroy()
{ {
global $app; self::$session->invalidate();
$app['session']->invalidate();
/*
session_unset();
$_SESSION = array();
session_destroy();*/
} }
} }

@ -42,12 +42,11 @@ class UserManager
'hr_dept_id' 'hr_dept_id'
); );
/** public static $em;
* Empty constructor. This class is mostly static.
*/
public function __construct ()
{
public static function setEntityManager($em)
{
self::$em = $em;
} }
/** /**
@ -167,17 +166,6 @@ class UserManager
UrlManager::add_user_to_url($user_id, 1); UrlManager::add_user_to_url($user_id, 1);
} }
global $app;
/*
$em = $app['orm.ems']['db_write'];
// @var Entity\User $user
$user = $em->getRepository('Entity\User')->findOneById($user_id);
$status = $em->getRepository('Entity\Role')->findOneById($status);
$user->roles->add($status);
$em->persist($user);
$em->flush();*/
//saving extra fields //saving extra fields
$field_value = new ExtraFieldValue('user'); $field_value = new ExtraFieldValue('user');
$params['user_id'] = $user_id; $params['user_id'] = $user_id;
@ -348,10 +336,11 @@ class UserManager
UrlManager::add_user_to_url($return, 1); UrlManager::add_user_to_url($return, 1);
} }
global $app;
// Adding user // Adding user
/** @var Entity\User $user */ /** @var Entity\User $user */
$em = $app['orm.ems']['db_write']; $em = self::$em;
$user = $em->getRepository('Entity\User')->find($return); $user = $em->getRepository('Entity\User')->find($return);
$role = $em->getRepository('Entity\Role')->find($status); $role = $em->getRepository('Entity\Role')->find($status);

@ -18,6 +18,10 @@ class LoginListener
var_dump($event->getRequest()->getUser()); var_dump($event->getRequest()->getUser());
*/ */
$request = $event->getRequest();
$session = $request->getSession();
\ChamiloSession::setSession($session);
$session = $event->getRequest()->getSession(); $session = $event->getRequest()->getSession();
//$session->remove('partThatShouldNotCarryOver'); //$session->remove('partThatShouldNotCarryOver');
} }

@ -39,9 +39,10 @@ class LoginSuccessHandler implements AuthenticationSuccessHandlerInterface
$user = $token->getUser(); $user = $token->getUser();
$userId = $user->getUserId(); $userId = $user->getUserId();
event_login($user);
$session = $request->getSession(); $session = $request->getSession();
\ChamiloSession::setSession($session);
event_login($user);
// Setting last login datetime // Setting last login datetime
$session->set('user_last_login_datetime', api_get_utc_datetime()); $session->set('user_last_login_datetime', api_get_utc_datetime());

@ -33,6 +33,9 @@ class LogoutSuccessHandler implements LogoutSuccessHandlerInterface
*/ */
public function onLogoutSuccess(Request $request) public function onLogoutSuccess(Request $request)
{ {
$session = $request->getSession();
\ChamiloSession::setSession($session);
// Chamilo logout // Chamilo logout
$userId = api_get_user_id(); $userId = api_get_user_id();
\Online::logout($userId, false); \Online::logout($userId, false);

Loading…
Cancel
Save