mirror of
https://github.com/pierre42100/ComunicWeb
synced 2024-11-26 05:49:22 +00:00
Can open user page from virtual directory name
This commit is contained in:
parent
8d313b6e4c
commit
4cc00b7868
@ -390,6 +390,11 @@ var ComunicWeb = {
|
|||||||
*/
|
*/
|
||||||
getNames: function(usersID, afterNames){},
|
getNames: function(usersID, afterNames){},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the user ID specified by its folder name
|
||||||
|
*/
|
||||||
|
getIDfromPath: function(path, callback){},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Empty users cache
|
* Empty users cache
|
||||||
*/
|
*/
|
||||||
@ -629,7 +634,6 @@ var ComunicWeb = {
|
|||||||
*/
|
*/
|
||||||
openHomePage: function(additionnalData, targetElement){},
|
openHomePage: function(additionnalData, targetElement){},
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -658,6 +662,11 @@ var ComunicWeb = {
|
|||||||
*/
|
*/
|
||||||
open: function(params, target){},
|
open: function(params, target){},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Open user page specified by user ID
|
||||||
|
*/
|
||||||
|
openUserPage: function(id, params, target){},
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
|
@ -31,6 +31,15 @@ function openPage(pageURI, additionnalData){
|
|||||||
return ComunicWeb.common.page.openPage(pageURI, additionnalData);
|
return ComunicWeb.common.page.openPage(pageURI, additionnalData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if user is signed in or not
|
||||||
|
*
|
||||||
|
* @return {Boolean} True if the user is signed in / false else
|
||||||
|
*/
|
||||||
|
function signed_in(){
|
||||||
|
return ComunicWeb.user.userLogin.getUserLoginState();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns user ID (if logged in)
|
* Returns user ID (if logged in)
|
||||||
*
|
*
|
||||||
|
@ -17,8 +17,73 @@ ComunicWeb.pages.userPage.main = {
|
|||||||
*/
|
*/
|
||||||
open: function(params, target){
|
open: function(params, target){
|
||||||
|
|
||||||
console.log(params);
|
//Check if a subfolder was specified or not
|
||||||
|
if(params.subfolder){
|
||||||
|
|
||||||
|
var user = params.subfolder;
|
||||||
|
|
||||||
|
//Check if there are also subfolder (which are then removed)
|
||||||
|
if(user.indexOf("/")){
|
||||||
|
user = user.split("/").shift();
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
var user = "me";
|
||||||
|
}
|
||||||
|
|
||||||
|
//Check if the user specified is an ID
|
||||||
|
if(user*1 == user){
|
||||||
|
this.openUserPage(user, params, target);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
//Check if we are opening user page
|
||||||
|
if(user === "me"){
|
||||||
|
if(signed_in()){
|
||||||
|
//Open current user page
|
||||||
|
openPage("user/"+userID());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
//Redirect to login page
|
||||||
|
openPage("login");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
//Search which page should be opened now
|
||||||
|
ComunicWeb.user.userInfos.getIDfromPath(user, function(id){
|
||||||
|
|
||||||
|
//The user was not found
|
||||||
|
if(id < 0){
|
||||||
|
ComunicWeb.common.error.pageNotFound(null, target);
|
||||||
|
}
|
||||||
|
|
||||||
|
else {
|
||||||
|
ComunicWeb.pages.userPage.main.openUserPage(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Open precise user page
|
||||||
|
*
|
||||||
|
* @param {Integer} id The ID of the user to open the page
|
||||||
|
* @param {Object} params Parametres required to open the page
|
||||||
|
* @param {HTMLElement} target Target of the user page
|
||||||
|
*/
|
||||||
|
openUserPage: function(id, params, target){
|
||||||
|
|
||||||
|
//Log action
|
||||||
|
log("Open user page : " + id);
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
}
|
}
|
@ -201,6 +201,33 @@ ComunicWeb.user.userInfos = {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the user ID specified by its folder name
|
||||||
|
*
|
||||||
|
* @param {String} path The path of the user
|
||||||
|
* @param {Function} callback What to do once we got a response from the server
|
||||||
|
*/
|
||||||
|
getIDfromPath: function(path, callback){
|
||||||
|
|
||||||
|
//Prepare an API request
|
||||||
|
var apiURI = "user/findbyfolder";
|
||||||
|
var params = {
|
||||||
|
subfolder: path
|
||||||
|
};
|
||||||
|
|
||||||
|
//Define what to do next
|
||||||
|
var next = function(response){
|
||||||
|
if(response.userID){
|
||||||
|
callback(response.userID*1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
//An error occured
|
||||||
|
callback(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
ComunicWeb.common.api.makeAPIrequest(apiURI, params, true, next);
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Empty users cache
|
* Empty users cache
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user