@@ -109,7 +109,7 @@ angular.module('mm.core')
109109 }
110110 return $mmLang . translateAndReject ( 'mm.login.checksiteversion' ) ;
111111 } ) ;
112- } ) ; ;
112+ } ) ;
113113 }
114114 } ;
115115
@@ -159,7 +159,7 @@ angular.module('mm.core')
159159 return { siteurl : siteurl , code : data . code , warning : data . warning } ;
160160 } ) ;
161161 } ) ;
162- } ;
162+ }
163163
164164 /**
165165 * Check if a site exists.
@@ -410,23 +410,29 @@ angular.module('mm.core')
410410 * @module mm.core
411411 * @ngdoc method
412412 * @name $mmSitesManager#loadSite
413- * @param {String } siteid ID of the site to load.
413+ * @param {String } siteId ID of the site to load.
414414 * @return {Promise } Promise to be resolved when the site is loaded.
415415 */
416- self . loadSite = function ( siteid ) {
417- $log . debug ( 'Load site ' + siteid ) ;
416+ self . loadSite = function ( siteId ) {
417+ $log . debug ( 'Load site ' + siteId ) ;
418418
419- return self . getSite ( siteid ) . then ( function ( site ) {
419+ return self . getSite ( siteId ) . then ( function ( site ) {
420420 currentSite = site ;
421- self . login ( siteid ) ;
421+ self . login ( siteId ) ;
422+
423+ if ( site . isTokenExpired ( ) ) {
424+ $log . debug ( 'Token expired, rejecting.' ) ;
425+ $mmEvents . trigger ( mmCoreEventSessionExpired , siteId ) ;
426+ return $mmLang . translateAndReject ( 'mm.login.reconnectdescription' ) ;
427+ }
422428
423429 // Check if local_mobile was installed to Moodle.
424430 return site . checkIfLocalMobileInstalledAndNotUsed ( ) . then ( function ( ) {
425431 // Local mobile was added. Throw invalid session to force reconnect and create a new token.
426- $mmEvents . trigger ( mmCoreEventSessionExpired , siteid ) ;
432+ $mmEvents . trigger ( mmCoreEventSessionExpired , siteId ) ;
427433 } , function ( ) {
428434 // Update site info. We don't block the UI.
429- self . updateSiteInfo ( siteid ) . finally ( function ( ) {
435+ self . updateSiteInfo ( siteId ) . finally ( function ( ) {
430436 var infos = site . getInfo ( ) ,
431437 validation = validateSiteInfo ( infos ) ;
432438 if ( validation !== true ) {
@@ -670,18 +676,32 @@ angular.module('mm.core')
670676 * @module mm.core
671677 * @ngdoc method
672678 * @name $mmSitesManager#updateSiteToken
673- * @param {String } siteurl Site's URL.
679+ * @param {String } siteUrl Site's URL.
674680 * @param {String } username Username.
675681 * @param {String } token User's new token.
676682 * @return {Promise } A promise to be resolved when the site is updated.
677683 */
678- self . updateSiteToken = function ( siteurl , username , token ) {
679- var siteid = self . createSiteID ( siteurl , username ) ;
680- return self . getSite ( siteid ) . then ( function ( site ) {
684+ self . updateSiteToken = function ( siteUrl , username , token ) {
685+ var siteId = self . createSiteID ( siteUrl , username ) ;
686+ return self . updateSiteTokenBySiteId ( siteId , token ) ;
687+ } ;
688+
689+ /**
690+ * Updates a site's token usign siteId.
691+ *
692+ * @module mm.core
693+ * @ngdoc method
694+ * @name $mmSitesManager#updateSiteTokenBySiteId
695+ * @param {String } siteId Site Id.
696+ * @param {String } token User's new token.
697+ * @return {Promise } A promise to be resolved when the site is updated.
698+ */
699+ self . updateSiteTokenBySiteId = function ( siteId , token ) {
700+ return self . getSite ( siteId ) . then ( function ( site ) {
681701 site . token = token ;
682702
683703 return $mmApp . getDB ( ) . insert ( mmCoreSitesStore , {
684- id : siteid ,
704+ id : siteId ,
685705 siteurl : site . getURL ( ) ,
686706 token : token ,
687707 infos : site . getInfo ( )
0 commit comments