mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-17 05:55:43 +02:00
Version 15.243.2
This commit is contained in:
parent
1c8dfbd2ed
commit
b1fc6ecd72
|
@ -2658,7 +2658,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
|||
/* ActSeeNtf */{ 990, 0,TabMsg,ActSeeNtf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ntf_ShowMyNotifications ,"bell64x64.gif" },
|
||||
/* ActSeeAnn */{1235, 1,TabMsg,ActSeeAnn ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ann_ShowAllAnnouncements ,"note64x64.gif" },
|
||||
/* ActSeeAllNot */{ 762, 2,TabMsg,ActSeeAllNot ,0x1FF,0x1FF,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Not_ListFullNotices ,"note64x64.gif" },
|
||||
/* ActReqMsgUsr */{ 26, 3,TabMsg,ActReqMsgUsr ,0x1FC,0x1FC,0x1FC,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Msg_FormMsgUsrs ,"editnewmsg64x64.gif" },
|
||||
/* ActReqMsgUsr */{ 26, 3,TabMsg,ActReqMsgUsr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Msg_FormMsgUsrs ,"editnewmsg64x64.gif" },
|
||||
/* ActSeeRcvMsg */{ 3, 4,TabMsg,ActSeeRcvMsg ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Msg_ShowRecMsgs ,"recmsg64x64.gif" },
|
||||
/* ActSeeSntMsg */{ 70, 5,TabMsg,ActSeeSntMsg ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Msg_ShowSntMsgs ,"sntmsg64x64.gif" },
|
||||
/* ActMaiStd */{ 100, 6,TabMsg,ActMaiStd ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Mai_ListEMails ,"email64x64.gif" },
|
||||
|
@ -2681,7 +2681,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
|||
/* ActSeeNewNtf */{ 991,-1,TabMsg,ActSeeNtf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ntf_ShowMyNotifications ,NULL},
|
||||
/* ActMrkNtfSee */{1146,-1,TabMsg,ActSeeNtf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ntf_MarkAllNotifAsSeen ,NULL},
|
||||
|
||||
/* ActRcvMsgUsr */{ 27,-1,TabMsg,ActReqMsgUsr ,0x1FC,0x1FC,0x1FC,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Msg_RecMsgFromUsr ,NULL},
|
||||
/* ActRcvMsgUsr */{ 27,-1,TabMsg,ActReqMsgUsr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Msg_RecMsgFromUsr ,NULL},
|
||||
/* ActReqDelAllSntMsg*/{ 604,-1,TabMsg,ActSeeSntMsg ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Msg_ReqDelAllSntMsgs ,NULL},
|
||||
/* ActReqDelAllRcvMsg*/{ 593,-1,TabMsg,ActSeeRcvMsg ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Msg_ReqDelAllRecMsgs ,NULL},
|
||||
/* ActDelAllSntMsg */{ 434,-1,TabMsg,ActSeeSntMsg ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Msg_DelAllSntMsgs ,NULL},
|
||||
|
|
|
@ -138,13 +138,15 @@
|
|||
/****************************** Public constants *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 15.243 (2016-07-20)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 15.243.2 (2016-07-24)"
|
||||
#define CSS_FILE "swad15.229.css"
|
||||
#define JS_FILE "swad15.238.1.js"
|
||||
|
||||
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
||||
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1
|
||||
/*
|
||||
Version 15.243.2: Jul 24, 2016 Guests now have permission to write messages. (? lines)
|
||||
Version 15.243.1: Jul 21, 2016 Fixed bugs in web service. (203962 lines)
|
||||
Version 15.243: Jul 20, 2016 Fixed bug in web service (getNotifications).
|
||||
Code refactoring in web service. (203956 lines)
|
||||
Version 15.242.6: Jul 15, 2016 Fixed bug in creation of database table tst_config. (203850 lines)
|
||||
|
|
|
@ -811,9 +811,9 @@ int swad__loginByUserPasswordKey (struct soap *soap,
|
|||
loginByUserPasswordKeyOut->wsKey = (char *) soap_malloc (Gbl.soap,256);
|
||||
loginByUserPasswordKeyOut->userNickname = (char *) soap_malloc (Gbl.soap,Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA+1);
|
||||
loginByUserPasswordKeyOut->userID = (char *) soap_malloc (Gbl.soap,256);
|
||||
loginByUserPasswordKeyOut->userFirstname = (char *) soap_malloc (Gbl.soap,256);
|
||||
loginByUserPasswordKeyOut->userSurname1 = (char *) soap_malloc (Gbl.soap,256);
|
||||
loginByUserPasswordKeyOut->userSurname2 = (char *) soap_malloc (Gbl.soap,256);
|
||||
loginByUserPasswordKeyOut->userFirstname = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_NAME_SPEC_CHAR+1);
|
||||
loginByUserPasswordKeyOut->userSurname1 = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_NAME_SPEC_CHAR+1);
|
||||
loginByUserPasswordKeyOut->userSurname2 = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_NAME_SPEC_CHAR+1);
|
||||
loginByUserPasswordKeyOut->userPhoto = (char *) soap_malloc (Gbl.soap,PATH_MAX+1);
|
||||
loginByUserPasswordKeyOut->userBirthday = (char *) soap_malloc (Gbl.soap,8+2+2+1);
|
||||
|
||||
|
@ -907,15 +907,18 @@ int swad__loginByUserPasswordKey (struct soap *soap,
|
|||
strncpy (loginByUserPasswordKeyOut->userNickname,Gbl.Usrs.Me.UsrDat.Nickname,Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA);
|
||||
loginByUserPasswordKeyOut->userNickname[Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA] = '\0';
|
||||
|
||||
if (Gbl.Usrs.Me.UsrDat.IDs.Num)
|
||||
{
|
||||
strncpy (loginByUserPasswordKeyOut->userID,Gbl.Usrs.Me.UsrDat.IDs.List[0].ID,255); // TODO: What user's ID?
|
||||
loginByUserPasswordKeyOut->userID[255] = '\0';
|
||||
}
|
||||
|
||||
strncpy (loginByUserPasswordKeyOut->userSurname1,Gbl.Usrs.Me.UsrDat.Surname1,255);
|
||||
loginByUserPasswordKeyOut->userSurname1[255] = '\0';
|
||||
strncpy (loginByUserPasswordKeyOut->userSurname2,Gbl.Usrs.Me.UsrDat.Surname2,255);
|
||||
loginByUserPasswordKeyOut->userSurname2[255] = '\0';
|
||||
strncpy (loginByUserPasswordKeyOut->userFirstname,Gbl.Usrs.Me.UsrDat.FirstName,255);
|
||||
loginByUserPasswordKeyOut->userFirstname[255] = '\0';
|
||||
strncpy (loginByUserPasswordKeyOut->userSurname1,Gbl.Usrs.Me.UsrDat.Surname1,Usr_MAX_BYTES_NAME_SPEC_CHAR);
|
||||
loginByUserPasswordKeyOut->userSurname1[Usr_MAX_BYTES_NAME_SPEC_CHAR] = '\0';
|
||||
strncpy (loginByUserPasswordKeyOut->userSurname2,Gbl.Usrs.Me.UsrDat.Surname2,Usr_MAX_BYTES_NAME_SPEC_CHAR);
|
||||
loginByUserPasswordKeyOut->userSurname2[Usr_MAX_BYTES_NAME_SPEC_CHAR] = '\0';
|
||||
strncpy (loginByUserPasswordKeyOut->userFirstname,Gbl.Usrs.Me.UsrDat.FirstName,Usr_MAX_BYTES_NAME_SPEC_CHAR);
|
||||
loginByUserPasswordKeyOut->userFirstname[Usr_MAX_BYTES_NAME_SPEC_CHAR] = '\0';
|
||||
|
||||
Pho_BuildLinkToPhoto (&Gbl.Usrs.Me.UsrDat,PhotoURL);
|
||||
strncpy (loginByUserPasswordKeyOut->userPhoto,PhotoURL,PATH_MAX);
|
||||
|
@ -970,9 +973,9 @@ int swad__loginBySessionKey (struct soap *soap,
|
|||
loginBySessionKeyOut->wsKey = (char *) soap_malloc (Gbl.soap,256);
|
||||
loginBySessionKeyOut->userNickname = (char *) soap_malloc (Gbl.soap,Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA+1);
|
||||
loginBySessionKeyOut->userID = (char *) soap_malloc (Gbl.soap,256);
|
||||
loginBySessionKeyOut->userFirstname = (char *) soap_malloc (Gbl.soap,256);
|
||||
loginBySessionKeyOut->userSurname1 = (char *) soap_malloc (Gbl.soap,256);
|
||||
loginBySessionKeyOut->userSurname2 = (char *) soap_malloc (Gbl.soap,256);
|
||||
loginBySessionKeyOut->userFirstname = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_NAME_SPEC_CHAR+1);
|
||||
loginBySessionKeyOut->userSurname1 = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_NAME_SPEC_CHAR+1);
|
||||
loginBySessionKeyOut->userSurname2 = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_NAME_SPEC_CHAR+1);
|
||||
loginBySessionKeyOut->userPhoto = (char *) soap_malloc (Gbl.soap,PATH_MAX+1);
|
||||
loginBySessionKeyOut->userBirthday = (char *) soap_malloc (Gbl.soap,8+2+2+1);
|
||||
loginBySessionKeyOut->degreeName = (char *) soap_malloc (Gbl.soap,256);
|
||||
|
@ -990,7 +993,7 @@ int swad__loginBySessionKey (struct soap *soap,
|
|||
loginBySessionKeyOut->userSurname2[0] = '\0';
|
||||
loginBySessionKeyOut->userPhoto[0] = '\0';
|
||||
loginBySessionKeyOut->userBirthday[0] = '\0';
|
||||
loginBySessionKeyOut->userRole = 0; // unknown
|
||||
loginBySessionKeyOut->userRole = Rol_UNKNOWN;
|
||||
loginBySessionKeyOut->degreeName[0] = '\0';
|
||||
loginBySessionKeyOut->courseName[0] = '\0';
|
||||
|
||||
|
@ -1058,15 +1061,18 @@ int swad__loginBySessionKey (struct soap *soap,
|
|||
strncpy (loginBySessionKeyOut->userNickname,Gbl.Usrs.Me.UsrDat.Nickname,Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA);
|
||||
loginBySessionKeyOut->userNickname[Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA] = '\0';
|
||||
|
||||
if (Gbl.Usrs.Me.UsrDat.IDs.Num)
|
||||
{
|
||||
strncpy (loginBySessionKeyOut->userID,Gbl.Usrs.Me.UsrDat.IDs.List[0].ID,255); // TODO: What user's ID?
|
||||
loginBySessionKeyOut->userID[255] = '\0';
|
||||
}
|
||||
|
||||
strncpy (loginBySessionKeyOut->userSurname1,Gbl.Usrs.Me.UsrDat.Surname1,255);
|
||||
loginBySessionKeyOut->userSurname1[255] = '\0';
|
||||
strncpy (loginBySessionKeyOut->userSurname2,Gbl.Usrs.Me.UsrDat.Surname2,255);
|
||||
loginBySessionKeyOut->userSurname2[255] = '\0';
|
||||
strncpy (loginBySessionKeyOut->userFirstname,Gbl.Usrs.Me.UsrDat.FirstName,255);
|
||||
loginBySessionKeyOut->userFirstname[255] = '\0';
|
||||
strncpy (loginBySessionKeyOut->userSurname1,Gbl.Usrs.Me.UsrDat.Surname1,Usr_MAX_BYTES_NAME_SPEC_CHAR);
|
||||
loginBySessionKeyOut->userSurname1[Usr_MAX_BYTES_NAME_SPEC_CHAR] = '\0';
|
||||
strncpy (loginBySessionKeyOut->userSurname2,Gbl.Usrs.Me.UsrDat.Surname2,Usr_MAX_BYTES_NAME_SPEC_CHAR);
|
||||
loginBySessionKeyOut->userSurname2[Usr_MAX_BYTES_NAME_SPEC_CHAR] = '\0';
|
||||
strncpy (loginBySessionKeyOut->userFirstname,Gbl.Usrs.Me.UsrDat.FirstName,Usr_MAX_BYTES_NAME_SPEC_CHAR);
|
||||
loginBySessionKeyOut->userFirstname[Usr_MAX_BYTES_NAME_SPEC_CHAR] = '\0';
|
||||
|
||||
Pho_BuildLinkToPhoto (&Gbl.Usrs.Me.UsrDat,PhotoURL);
|
||||
strncpy (loginBySessionKeyOut->userPhoto,PhotoURL,PATH_MAX);
|
||||
|
@ -1082,20 +1088,10 @@ int swad__loginBySessionKey (struct soap *soap,
|
|||
loginBySessionKeyOut->wsKey);
|
||||
}
|
||||
else
|
||||
{
|
||||
loginBySessionKeyOut->userCode = -1;
|
||||
loginBySessionKeyOut->userID = NULL;
|
||||
loginBySessionKeyOut->userSurname1 = NULL;
|
||||
loginBySessionKeyOut->userSurname2 = NULL;
|
||||
loginBySessionKeyOut->userFirstname = NULL;
|
||||
loginBySessionKeyOut->userPhoto = NULL;
|
||||
loginBySessionKeyOut->userRole = 0;
|
||||
|
||||
return soap_receiver_fault (Gbl.soap,
|
||||
"Bad session identifier",
|
||||
"Session identifier does not exist in database");
|
||||
}
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/*********************** Send a new password by e-mail ***********************/
|
||||
|
@ -2052,19 +2048,19 @@ static void Svc_CopyUsrData (struct swad__user *Usr,struct UsrData *UsrDat,bool
|
|||
strcpy (Usr->userID,"********");
|
||||
|
||||
/* Copy user's surname1 */
|
||||
Usr->userSurname1 = (char *) soap_malloc (Gbl.soap,256);
|
||||
strncpy (Usr->userSurname1,UsrDat->Surname1,255);
|
||||
Usr->userSurname1[255] = '\0';
|
||||
Usr->userSurname1 = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_NAME_SPEC_CHAR+1);
|
||||
strncpy (Usr->userSurname1,UsrDat->Surname1,Usr_MAX_BYTES_NAME_SPEC_CHAR);
|
||||
Usr->userSurname1[Usr_MAX_BYTES_NAME_SPEC_CHAR] = '\0';
|
||||
|
||||
/* Copy user's surname2 */
|
||||
Usr->userSurname2 = (char *) soap_malloc (Gbl.soap,256);
|
||||
strncpy (Usr->userSurname2,UsrDat->Surname2,255);
|
||||
Usr->userSurname2[255] = '\0';
|
||||
Usr->userSurname2 = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_NAME_SPEC_CHAR+1);
|
||||
strncpy (Usr->userSurname2,UsrDat->Surname2,Usr_MAX_BYTES_NAME_SPEC_CHAR);
|
||||
Usr->userSurname2[Usr_MAX_BYTES_NAME_SPEC_CHAR] = '\0';
|
||||
|
||||
/* Copy user's first name */
|
||||
Usr->userFirstname = (char *) soap_malloc (Gbl.soap,256);
|
||||
strncpy (Usr->userFirstname,UsrDat->FirstName,255);
|
||||
Usr->userFirstname[255] = '\0';
|
||||
Usr->userFirstname = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_NAME_SPEC_CHAR+1);
|
||||
strncpy (Usr->userFirstname,UsrDat->FirstName,Usr_MAX_BYTES_NAME_SPEC_CHAR);
|
||||
Usr->userFirstname[Usr_MAX_BYTES_NAME_SPEC_CHAR] = '\0';
|
||||
|
||||
/* User's photo URL */
|
||||
Pho_BuildLinkToPhoto (UsrDat,PhotoURL);
|
||||
|
@ -2532,9 +2528,17 @@ int swad__getAttendanceUsers (struct soap *soap,
|
|||
getAttendanceUsersOut->usersArray.__ptr[NumRow].userNickname = (char *) soap_malloc (Gbl.soap,Length + 1);
|
||||
strcpy (getAttendanceUsersOut->usersArray.__ptr[NumRow].userNickname,Gbl.Usrs.Other.UsrDat.Nickname);
|
||||
|
||||
if (Gbl.Usrs.Other.UsrDat.IDs.Num)
|
||||
{
|
||||
Length = strlen (Gbl.Usrs.Other.UsrDat.IDs.List[0].ID); // TODO: What user's ID?
|
||||
getAttendanceUsersOut->usersArray.__ptr[NumRow].userID = (char *) soap_malloc (Gbl.soap,Length + 1);
|
||||
strcpy (getAttendanceUsersOut->usersArray.__ptr[NumRow].userID,Gbl.Usrs.Other.UsrDat.IDs.List[0].ID);
|
||||
}
|
||||
else
|
||||
{
|
||||
getAttendanceUsersOut->usersArray.__ptr[NumRow].userID = (char *) soap_malloc (Gbl.soap,1);
|
||||
getAttendanceUsersOut->usersArray.__ptr[NumRow].userID[0] = '\0';
|
||||
}
|
||||
|
||||
Length = strlen (Gbl.Usrs.Other.UsrDat.Surname1);
|
||||
getAttendanceUsersOut->usersArray.__ptr[NumRow].userSurname1 = (char *) soap_malloc (Gbl.soap,Length + 1);
|
||||
|
|
Loading…
Reference in New Issue
Block a user