Commit 7378dc03e0f423c0f0c9198bc90a65f4fd1f0b7f

Authored by Etienne Pallier
1 parent 38719912
Exists in master and in 1 other branch dev

bugfixing...

src/Controller/UsersController.php
... ... @@ -229,7 +229,7 @@ class UsersController extends AppController {
229 229 */
230 230  
231 231 ///if (SessionTimeoutON)
232   - $this->statsUpdateForCurrentUserWhen(null,'sur login');
  232 + $this->statsUpdateForCurrentUserWhen(null,'login');
233 233 //$this->statsUpdateForCurrentUserWhen($user,'sur login');
234 234 //$this->statsUpdateForCurrentUserOnLogin();
235 235 //exit;
... ... @@ -250,7 +250,7 @@ class UsersController extends AppController {
250 250 ////if (SessionTimeoutON)
251 251 // Si user PAS déjà logout, on enregistre sa stat
252 252 if ($this->LdapAuth->user())
253   - $this->statsUpdateForCurrentUserWhen(null,'sur logout');
  253 + $this->statsUpdateForCurrentUserWhen(null,'logout');
254 254 //$this->statsUpdateForCurrentUserOnLogout();
255 255 //$this->Flash->success('You are now logged out.');
256 256 return $this->redirect($this->LdapAuth->logout());
... ... @@ -370,7 +370,7 @@ class UsersController extends AppController {
370 370 * au moment de l'événement $event_name
371 371 */
372 372 public function statsUpdateForCurrentUserWhen($session_user=null, $event_name) {
373   - $user_id = ($event_name=='sur logout') ? $this->u->id : $this->_getCurrentUserEntityFromSession($session_user)->id;
  373 + $user_id = ($event_name=='logout') ? $this->u->id : $this->_getCurrentUserEntityFromSession($session_user)->id;
374 374 DEBUG && debug($user_id); // l'id du user dans table users
375 375 if (is_null($user_id)) throw new \ErrorException("Pas de user trouvé dans la session (user_id is null)");
376 376 $this->Users->Stats->updateForUserWhen($user_id, $event_name);
... ...
src/Model/Table/LdapConnectionsTable.php
... ... @@ -10,10 +10,17 @@ use App\Model\Entity\User;
10 10 // Idem Controller/UsersController
11 11 const DEFAULT_AUTH_TYPE = 'uid';
12 12  
  13 +// On active systématiquement le cache ldap (table bd users) ou pas ? (activation forcée)
  14 +// - OUI => le CACHE LDAP (table users) est systématiquement utilisé
  15 +//const LDAP_CACHE_ALWAYS_ON = true;
  16 +// - NON => le CACHE LDAP (table users) n'est utilisé QUE si l'option ldap_cached est activée dans la config
  17 +const LDAP_CACHE_ALWAYS_ON = false;
  18 +
13 19  
14 20 class LdapConnectionsTable extends AppTable
15 21 {
16 22  
  23 +
17 24 private $DEBUG_MODE; // read from config
18 25  
19 26 private $authenticationType;
... ... @@ -740,7 +747,8 @@ class LdapConnectionsTable extends AppTable
740 747  
741 748 // Si cache pas activé => return
742 749 //debug("C1");
743   - if (! $this->CONF->ldap_cached) return;
  750 + //if (! $this->CONF->ldap_cached) return;
  751 + if (!LDAP_CACHE_ALWAYS_ON && !$this->CONF->ldap_cached) return;
744 752  
745 753 /*
746 754 * On ne met à jour le cache des users QUE si :
... ...
src/Model/Table/StatsTable.php
... ... @@ -149,9 +149,9 @@ class StatsTable extends Table
149 149 /*
150 150 * Mise à jour des stats pour le user courant (et pour l'année courante)
151 151 * au moment de l'événement $event_name qui peut être de 3 types :
152   - * - 'sur login'
  152 + * - 'login'
153 153 * - 'durant la session'
154   - * - 'sur logout'
  154 + * - 'logout'
155 155 */
156 156 public function updateForUserWhen($user_id, $event_name) {
157 157  
... ... @@ -165,13 +165,13 @@ class StatsTable extends Table
165 165 // 2) TT selon event $event_name
166 166  
167 167 /*
168   - * - au LOGIN ( == 'sur login')
  168 + * - au LOGIN ( == 'login')
169 169 *
170 170 * => on enregistre son heure de connexion
171 171 * => on incrémente le nombre de connexions
172 172 *
173 173 */
174   - if ($event_name == 'sur login') {
  174 + if ($event_name == 'login') {
175 175 $last_login_time = $current_user_stat->last_login_time;
176 176 $last_logout_time = $current_user_stat->last_logout_time;
177 177 /*
... ... @@ -215,7 +215,7 @@ class StatsTable extends Table
215 215 $connex_duration = $connex_duration->h*3600 + $connex_duration->i*60 + $connex_duration->s;
216 216 $current_user_stat->last_connex_dur = $connex_duration;
217 217  
218   - if ($event_name == 'sur logout') {
  218 + if ($event_name == 'logout') {
219 219 // 1) On met à jour le champ last_logout_time
220 220 $current_user_stat->last_logout_time = $now;
221 221 // 2) On met à jour le temps de connexion total (cumulé)
... ...
tests/TestCase/Controller/General.php
... ... @@ -451,7 +451,7 @@ class General extends TestCase {
451 451 ];
452 452 $this->session($authType);
453 453 //$this->request->getSession()->write($authType);
454   - (new UsersController())->statsUpdateForCurrentUserWhen($user['Auth']['User'],'sur login');
  454 + (new UsersController())->statsUpdateForCurrentUserWhen($user['Auth']['User'],'login');
455 455  
456 456 }
457 457  
... ...