mirror of https://github.com/acanas/swad-core.git
Version 14.92
This commit is contained in:
parent
cd8116f01d
commit
7953f585a1
3
Makefile
3
Makefile
|
@ -38,7 +38,8 @@ OBJS = swad_account.o swad_action.o swad_announcement.o swad_assignment.o swad_a
|
||||||
swad_layout.o swad_link.o swad_logo.o \
|
swad_layout.o swad_link.o swad_logo.o \
|
||||||
swad_mail.o swad_main.o swad_mark.o swad_menu.o swad_message.o \
|
swad_mail.o swad_main.o swad_mark.o swad_menu.o swad_message.o \
|
||||||
swad_network.o swad_nickname.o swad_notice.o swad_notification.o \
|
swad_network.o swad_nickname.o swad_notice.o swad_notification.o \
|
||||||
swad_pagination.o swad_parameter.o swad_password.o swad_photo.o swad_place.o swad_plugin.o swad_preference.o swad_privacy.o \
|
swad_pagination.o swad_parameter.o swad_password.o swad_photo.o \
|
||||||
|
swad_place.o swad_plugin.o swad_preference.o swad_profile.o swad_privacy.o \
|
||||||
swad_QR.o \
|
swad_QR.o \
|
||||||
swad_record.o swad_role.o swad_RSS.o \
|
swad_record.o swad_role.o swad_RSS.o \
|
||||||
swad_scope.o swad_search.o swad_session.o swad_setup.o swad_statistic.o swad_string.o swad_survey.o swad_syllabus.o \
|
swad_scope.o swad_search.o swad_session.o swad_setup.o swad_statistic.o swad_string.o swad_survey.o swad_syllabus.o \
|
||||||
|
|
|
@ -235,7 +235,7 @@ p {margin:0;}
|
||||||
.FRAME10
|
.FRAME10
|
||||||
{
|
{
|
||||||
margin:4px 0;
|
margin:4px 0;
|
||||||
padding:10px 0;
|
padding:0;
|
||||||
background-color:white;
|
background-color:white;
|
||||||
border-radius:8px;
|
border-radius:8px;
|
||||||
box-shadow:1px 1px 1px #CCC;
|
box-shadow:1px 1px 1px #CCC;
|
||||||
|
@ -246,7 +246,7 @@ p {margin:0;}
|
||||||
.FRAME10_SHADOW
|
.FRAME10_SHADOW
|
||||||
{
|
{
|
||||||
margin:4px 0 14px 0;
|
margin:4px 0 14px 0;
|
||||||
padding:10px 0;
|
padding:0;
|
||||||
background-color:rgba(255,255,255,0.95);
|
background-color:rgba(255,255,255,0.95);
|
||||||
border-width:1px;
|
border-width:1px;
|
||||||
border-style:solid;
|
border-style:solid;
|
||||||
|
@ -259,7 +259,7 @@ p {margin:0;}
|
||||||
}
|
}
|
||||||
.TABLE10
|
.TABLE10
|
||||||
{
|
{
|
||||||
padding:0 10px;
|
padding:10px;
|
||||||
width:100%;
|
width:100%;
|
||||||
}
|
}
|
||||||
.TIT_TBL_10
|
.TIT_TBL_10
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
#include "swad_ID.h"
|
#include "swad_ID.h"
|
||||||
#include "swad_notification.h"
|
#include "swad_notification.h"
|
||||||
#include "swad_parameter.h"
|
#include "swad_parameter.h"
|
||||||
|
#include "swad_profile.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/****************************** Public constants *****************************/
|
/****************************** Public constants *****************************/
|
||||||
|
@ -741,7 +742,7 @@ void Acc_CompletelyEliminateAccount (struct UsrData *UsrDat,
|
||||||
DB_QueryDELETE (Query,"can not remove sessions of a user");
|
DB_QueryDELETE (Query,"can not remove sessions of a user");
|
||||||
|
|
||||||
/***** Remove user's figures *****/
|
/***** Remove user's figures *****/
|
||||||
Usr_RemoveUsrFigures (UsrDat->UsrCod);
|
Prf_RemoveUsrFigures (UsrDat->UsrCod);
|
||||||
|
|
||||||
/***** Remove the user from the list of users without photo *****/
|
/***** Remove the user from the list of users without photo *****/
|
||||||
Pho_RemoveUsrFromTableClicksWithoutPhoto (UsrDat->UsrCod);
|
Pho_RemoveUsrFromTableClicksWithoutPhoto (UsrDat->UsrCod);
|
||||||
|
|
|
@ -56,6 +56,7 @@
|
||||||
#include "swad_password.h"
|
#include "swad_password.h"
|
||||||
#include "swad_photo.h"
|
#include "swad_photo.h"
|
||||||
#include "swad_preference.h"
|
#include "swad_preference.h"
|
||||||
|
#include "swad_profile.h"
|
||||||
#include "swad_QR.h"
|
#include "swad_QR.h"
|
||||||
#include "swad_search.h"
|
#include "swad_search.h"
|
||||||
#include "swad_setup.h"
|
#include "swad_setup.h"
|
||||||
|
@ -2217,7 +2218,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
||||||
/* ActSeeSignUpReq */{1057, 7,TabUsr,ActSeeSignUpReq ,0x1F0,0x1F0,0x1F0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ShowEnrollmentRequests ,"enrollmentrequest" },
|
/* ActSeeSignUpReq */{1057, 7,TabUsr,ActSeeSignUpReq ,0x1F0,0x1F0,0x1F0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ShowEnrollmentRequests ,"enrollmentrequest" },
|
||||||
/* ActReqMdfSevUsr */{ 797, 8,TabUsr,ActReqMdfSevUsr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ReqAdminUsrs ,"configs" },
|
/* ActReqMdfSevUsr */{ 797, 8,TabUsr,ActReqMdfSevUsr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ReqAdminUsrs ,"configs" },
|
||||||
/* ActLstCon */{ 995, 9,TabUsr,ActLstCon ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Con_ShowConnectedUsrs ,"userplugged" },
|
/* ActLstCon */{ 995, 9,TabUsr,ActLstCon ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Con_ShowConnectedUsrs ,"userplugged" },
|
||||||
/* ActReqPubPrf */{1401,10,TabUsr,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_RequestUserProfile ,"prf" },
|
/* ActReqPubPrf */{1401,10,TabUsr,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Prf_RequestUserProfile ,"prf" },
|
||||||
|
|
||||||
// Actions not in menu:
|
// Actions not in menu:
|
||||||
/* ActChgGrp */{ 118,-1,TabUsr,ActReqSelGrp ,0x118,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Grp_ChangeMyGrpsAndShowChanges ,NULL},
|
/* ActChgGrp */{ 118,-1,TabUsr,ActReqSelGrp ,0x118,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Grp_ChangeMyGrpsAndShowChanges ,NULL},
|
||||||
|
@ -2329,12 +2330,12 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
||||||
/* ActReqRemOldUsr */{ 590,-1,TabUsr,ActReqMdfSevUsr ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AskRemoveOldUsrs ,NULL},
|
/* ActReqRemOldUsr */{ 590,-1,TabUsr,ActReqMdfSevUsr ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AskRemoveOldUsrs ,NULL},
|
||||||
/* ActRemOldUsr */{ 773,-1,TabUsr,ActReqMdfSevUsr ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_RemoveOldUsrs ,NULL},
|
/* ActRemOldUsr */{ 773,-1,TabUsr,ActReqMdfSevUsr ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_RemoveOldUsrs ,NULL},
|
||||||
|
|
||||||
/* ActSeePubPrf */{1402,-1,TabUsr,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_GetUsrCodAndShowUserProfile,NULL},
|
/* ActSeePubPrf */{1402,-1,TabUsr,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Prf_GetUsrCodAndShowUserProfile,NULL},
|
||||||
/* ActCal1stClkTim */{1405,-1,TabUsr,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_CalculateFirstClickTime ,NULL},
|
/* ActCal1stClkTim */{1405,-1,TabUsr,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Prf_CalculateFirstClickTime ,NULL},
|
||||||
/* ActCalNumClk */{1406,-1,TabUsr,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_CalculateNumClicks ,NULL},
|
/* ActCalNumClk */{1406,-1,TabUsr,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Prf_CalculateNumClicks ,NULL},
|
||||||
/* ActCalNumFilVie */{1409,-1,TabUsr,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_CalculateNumFileViews ,NULL},
|
/* ActCalNumFilVie */{1409,-1,TabUsr,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Prf_CalculateNumFileViews ,NULL},
|
||||||
/* ActCalNumForPst */{1408,-1,TabUsr,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_CalculateNumForPst ,NULL},
|
/* ActCalNumForPst */{1408,-1,TabUsr,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Prf_CalculateNumForPst ,NULL},
|
||||||
/* ActCalNumMsgSnt */{1407,-1,TabUsr,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_CalculateNumMsgSnt ,NULL},
|
/* ActCalNumMsgSnt */{1407,-1,TabUsr,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Prf_CalculateNumMsgSnt ,NULL},
|
||||||
|
|
||||||
// TabMsg ******************************************************************
|
// TabMsg ******************************************************************
|
||||||
// Actions in menu:
|
// Actions in menu:
|
||||||
|
@ -2568,7 +2569,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
||||||
/* ActSeeMyTimTbl */{ 408, 2,TabPrf,ActSeeMyTimTbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,TT_ShowClassTimeTable ,"clock" },
|
/* ActSeeMyTimTbl */{ 408, 2,TabPrf,ActSeeMyTimTbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,TT_ShowClassTimeTable ,"clock" },
|
||||||
/* ActFrmUsrAcc */{ 36, 3,TabPrf,ActFrmUsrAcc ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Acc_ShowFormAccount ,"arroba" },
|
/* ActFrmUsrAcc */{ 36, 3,TabPrf,ActFrmUsrAcc ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Acc_ShowFormAccount ,"arroba" },
|
||||||
/* ActReqEdiRecCom */{ 285, 4,TabPrf,ActReqEdiRecCom ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Rec_ShowFormMyCommRecord ,"card" },
|
/* ActReqEdiRecCom */{ 285, 4,TabPrf,ActReqEdiRecCom ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Rec_ShowFormMyCommRecord ,"card" },
|
||||||
/* ActEdiPrf */{ 673, 5,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Prf_EditPrefs ,"heart" },
|
/* ActEdiPrf */{ 673, 5,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Pre_EditPrefs ,"heart" },
|
||||||
/* ActAdmBrf */{ 23, 6,TabPrf,ActAdmBrf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"pendrive" },
|
/* ActAdmBrf */{ 23, 6,TabPrf,ActAdmBrf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"pendrive" },
|
||||||
/* ActMFUAct */{ 993, 7,TabPrf,ActMFUAct ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Act_ShowMyMFUActions ,"star" },
|
/* ActMFUAct */{ 993, 7,TabPrf,ActMFUAct ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Act_ShowMyMFUActions ,"star" },
|
||||||
|
|
||||||
|
@ -2607,7 +2608,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
||||||
|
|
||||||
/* ActEdiPri */{1403,-1,TabPrf,ActReqEdiRecCom ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Pri_EditMyPrivacy ,NULL},
|
/* ActEdiPri */{1403,-1,TabPrf,ActReqEdiRecCom ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Pri_EditMyPrivacy ,NULL},
|
||||||
/* ActChgPriPho */{ 774,-1,TabPrf,ActReqEdiRecCom ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Pho_ChangePhotoVisibility ,NULL},
|
/* ActChgPriPho */{ 774,-1,TabPrf,ActReqEdiRecCom ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Pho_ChangePhotoVisibility ,NULL},
|
||||||
/* ActChgPriPrf */{1404,-1,TabPrf,ActReqEdiRecCom ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_ChangeProfileVisibility ,NULL},
|
/* ActChgPriPrf */{1404,-1,TabPrf,ActReqEdiRecCom ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Prf_ChangeProfileVisibility ,NULL},
|
||||||
|
|
||||||
/* ActReqEdiMyIns */{1165,-1,TabPrf,ActReqEdiRecCom ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Rec_ShowFormMyInsCtrDpt ,NULL},
|
/* ActReqEdiMyIns */{1165,-1,TabPrf,ActReqEdiRecCom ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Rec_ShowFormMyInsCtrDpt ,NULL},
|
||||||
/* ActChgCtyMyIns */{1166,-1,TabPrf,ActReqEdiRecCom ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Rec_ChgCountryOfMyInstitution ,NULL},
|
/* ActChgCtyMyIns */{1166,-1,TabPrf,ActReqEdiRecCom ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Rec_ChgCountryOfMyInstitution ,NULL},
|
||||||
|
@ -2620,20 +2621,20 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
||||||
/* ActReqEdiMyNet */{1172,-1,TabPrf,ActReqEdiRecCom ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Net_ShowFormMyWebsAndSocialNets,NULL},
|
/* ActReqEdiMyNet */{1172,-1,TabPrf,ActReqEdiRecCom ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Net_ShowFormMyWebsAndSocialNets,NULL},
|
||||||
/* ActChgMyNet */{1173,-1,TabPrf,ActReqEdiRecCom ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Net_UpdateMyWebsAndSocialNets ,NULL},
|
/* ActChgMyNet */{1173,-1,TabPrf,ActReqEdiRecCom ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Net_UpdateMyWebsAndSocialNets ,NULL},
|
||||||
|
|
||||||
/* ActChgLay */{ 672,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Lay_ChangeLayout ,Prf_EditPrefs ,NULL},
|
/* ActChgLay */{ 672,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Lay_ChangeLayout ,Pre_EditPrefs ,NULL},
|
||||||
/* ActChgThe */{ 841,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,The_ChangeTheme ,Prf_EditPrefs ,NULL},
|
/* ActChgThe */{ 841,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,The_ChangeTheme ,Pre_EditPrefs ,NULL},
|
||||||
/* ActReqChgLan */{ 992,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Prf_AskChangeLanguage ,NULL},
|
/* ActReqChgLan */{ 992,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Pre_AskChangeLanguage ,NULL},
|
||||||
/* ActChgLan */{ 654,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Prf_ChangeLanguage ,Prf_EditPrefs ,NULL},
|
/* ActChgLan */{ 654,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Pre_ChangeLanguage ,Pre_EditPrefs ,NULL},
|
||||||
/* ActChgCol */{ 674,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Prf_ChangeSideCols ,Prf_EditPrefs ,NULL},
|
/* ActChgCol */{ 674,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Pre_ChangeSideCols ,Pre_EditPrefs ,NULL},
|
||||||
/* ActHidLftCol */{ 668,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Prf_HideLeftCol ,Prf_EditPrefs ,NULL},
|
/* ActHidLftCol */{ 668,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Pre_HideLeftCol ,Pre_EditPrefs ,NULL},
|
||||||
/* ActHidRgtCol */{ 669,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Prf_HideRightCol ,Prf_EditPrefs ,NULL},
|
/* ActHidRgtCol */{ 669,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Pre_HideRightCol ,Pre_EditPrefs ,NULL},
|
||||||
/* ActShoLftCol */{ 670,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Prf_ShowLeftCol ,Prf_EditPrefs ,NULL},
|
/* ActShoLftCol */{ 670,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Pre_ShowLeftCol ,Pre_EditPrefs ,NULL},
|
||||||
/* ActShoRgtCol */{ 671,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Prf_ShowRightCol ,Prf_EditPrefs ,NULL},
|
/* ActShoRgtCol */{ 671,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Pre_ShowRightCol ,Pre_EditPrefs ,NULL},
|
||||||
/* ActChgIco */{1092,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Ico_ChangeIconSet ,Prf_EditPrefs ,NULL},
|
/* ActChgIco */{1092,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Ico_ChangeIconSet ,Pre_EditPrefs ,NULL},
|
||||||
/* ActChgMnu */{1243,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Mnu_ChangeMenu ,Prf_EditPrefs ,NULL},
|
/* ActChgMnu */{1243,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Mnu_ChangeMenu ,Pre_EditPrefs ,NULL},
|
||||||
/* ActChgNtfPrf */{ 775,-1,TabPrf,ActEdiPrf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,Ntf_ChangeNotifyEvents ,Prf_EditPrefs ,NULL},
|
/* ActChgNtfPrf */{ 775,-1,TabPrf,ActEdiPrf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,Ntf_ChangeNotifyEvents ,Pre_EditPrefs ,NULL},
|
||||||
|
|
||||||
/* ActPrnUsrQR */{1022,-1,TabPrf,ActFrmUsrAcc ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_NEW_WINDOW ,NULL ,QR_PrintQRCode ,NULL},
|
/* ActPrnUsrQR */{1022,-1,TabPrf,ActFrmUsrAcc ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_NEW_WINDOW ,NULL ,QR_PrintQRCode ,NULL},
|
||||||
|
|
||||||
/* ActPrnMyTimTbl */{ 409,-1,TabPrf,ActSeeMyTimTbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_NEW_WINDOW ,NULL ,TT_ShowClassTimeTable ,NULL},
|
/* ActPrnMyTimTbl */{ 409,-1,TabPrf,ActSeeMyTimTbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_NEW_WINDOW ,NULL ,TT_ShowClassTimeTable ,NULL},
|
||||||
/* ActEdiTut */{ 65,-1,TabPrf,ActSeeMyTimTbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,TT_ShowMyTutTimeTable ,NULL},
|
/* ActEdiTut */{ 65,-1,TabPrf,ActSeeMyTimTbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,TT_ShowMyTutTimeTable ,NULL},
|
||||||
|
|
|
@ -103,11 +103,19 @@
|
||||||
/****************************** Public constants *****************************/
|
/****************************** Public constants *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 14.91.1 (2015/03/14)"
|
#define Log_PLATFORM_VERSION "SWAD 14.92 (2015/03/14)"
|
||||||
|
|
||||||
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
// 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
|
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1
|
||||||
/*
|
/*
|
||||||
|
Version 14.92: Mar 14, 2015 New module swad_profile for public user's profile. (182202 lines)
|
||||||
|
1 change necessary in Makefile:
|
||||||
|
Add swad_profile.o to list of object files
|
||||||
|
|
||||||
|
Version 14.91.3: Mar 14, 2015 By default, the logged user's nickname is shown in form to view user's profile
|
||||||
|
Action to view QR code is now public. (182108 lines)
|
||||||
|
Version 14.91.2: Mar 14, 2015 URL of public profile is embedded under user's photo in record card.
|
||||||
|
Changes in layout of record card. (182124 lines)
|
||||||
Version 14.91.1: Mar 14, 2015 Current figures separated from historic figures in layout of public user profile.
|
Version 14.91.1: Mar 14, 2015 Current figures separated from historic figures in layout of public user profile.
|
||||||
Show only number of files, not folder or links. (182112 lines)
|
Show only number of files, not folder or links. (182112 lines)
|
||||||
Version 14.91: Mar 14, 2015 Statistics for number of file views added to user figures. (182091 lines)
|
Version 14.91: Mar 14, 2015 Statistics for number of file views added to user figures. (182091 lines)
|
||||||
|
|
|
@ -1489,7 +1489,7 @@ void Cty_RenameCountry (void)
|
||||||
Lay_ShowErrorAndExit ("Code of country is missing.");
|
Lay_ShowErrorAndExit ("Code of country is missing.");
|
||||||
|
|
||||||
/* Get the lenguage */
|
/* Get the lenguage */
|
||||||
Language = Prf_GetParamLanguage ();
|
Language = Pre_GetParamLanguage ();
|
||||||
|
|
||||||
/* Get the new name for the country */
|
/* Get the new name for the country */
|
||||||
Par_GetParToText ("Name",NewCtyName,Cty_MAX_LENGTH_COUNTRY_NAME);
|
Par_GetParToText ("Name",NewCtyName,Cty_MAX_LENGTH_COUNTRY_NAME);
|
||||||
|
@ -1607,7 +1607,7 @@ void Cty_ChangeCtyWWW (void)
|
||||||
Lay_ShowErrorAndExit ("Code of country is missing.");
|
Lay_ShowErrorAndExit ("Code of country is missing.");
|
||||||
|
|
||||||
/* Get the lenguage */
|
/* Get the lenguage */
|
||||||
Language = Prf_GetParamLanguage ();
|
Language = Pre_GetParamLanguage ();
|
||||||
|
|
||||||
/* Get the new WWW for the country */
|
/* Get the new WWW for the country */
|
||||||
Par_GetParToText ("WWW",NewWWW,Cty_MAX_LENGTH_COUNTRY_NAME);
|
Par_GetParToText ("WWW",NewWWW,Cty_MAX_LENGTH_COUNTRY_NAME);
|
||||||
|
|
|
@ -46,6 +46,7 @@
|
||||||
#include "swad_notification.h"
|
#include "swad_notification.h"
|
||||||
#include "swad_parameter.h"
|
#include "swad_parameter.h"
|
||||||
#include "swad_photo.h"
|
#include "swad_photo.h"
|
||||||
|
#include "swad_profile.h"
|
||||||
#include "swad_string.h"
|
#include "swad_string.h"
|
||||||
#include "swad_zip.h"
|
#include "swad_zip.h"
|
||||||
|
|
||||||
|
@ -9973,7 +9974,7 @@ void Brw_GetAndUpdateFileViews (struct FileMetadata *FileMetadata)
|
||||||
|
|
||||||
/***** Increment number of file views in my user's figures *****/
|
/***** Increment number of file views in my user's figures *****/
|
||||||
if (Gbl.Usrs.Me.Logged)
|
if (Gbl.Usrs.Me.Logged)
|
||||||
Usr_IncrementNumFileViewsUsr (Gbl.Usrs.Me.UsrDat.UsrCod);
|
Prf_IncrementNumFileViewsUsr (Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
FileMetadata->NumMyViews =
|
FileMetadata->NumMyViews =
|
||||||
|
|
|
@ -40,6 +40,7 @@
|
||||||
#include "swad_logo.h"
|
#include "swad_logo.h"
|
||||||
#include "swad_notification.h"
|
#include "swad_notification.h"
|
||||||
#include "swad_parameter.h"
|
#include "swad_parameter.h"
|
||||||
|
#include "swad_profile.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/************** External global variables from others modules ****************/
|
/************** External global variables from others modules ****************/
|
||||||
|
@ -757,7 +758,8 @@ unsigned For_GetNumPstsInThr (long ThrCod)
|
||||||
char Query[512];
|
char Query[512];
|
||||||
|
|
||||||
/***** Get number of posts in a thread from database *****/
|
/***** Get number of posts in a thread from database *****/
|
||||||
sprintf (Query,"SELECT COUNT(*) FROM forum_post WHERE ThrCod='%ld'",
|
sprintf (Query,"SELECT COUNT(*) FROM forum_post"
|
||||||
|
" WHERE ThrCod='%ld'",
|
||||||
ThrCod);
|
ThrCod);
|
||||||
return (unsigned) DB_QueryCOUNT (Query,"can not get the number of posts in a thread of a forum");
|
return (unsigned) DB_QueryCOUNT (Query,"can not get the number of posts in a thread of a forum");
|
||||||
}
|
}
|
||||||
|
@ -3820,7 +3822,7 @@ void For_RecForumPst (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Increment number of forum posts in my user's figures *****/
|
/***** Increment number of forum posts in my user's figures *****/
|
||||||
Usr_IncrementNumForPstUsr (Gbl.Usrs.Me.UsrDat.UsrCod);
|
Prf_IncrementNumForPstUsr (Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||||
|
|
||||||
/***** Write message of success *****/
|
/***** Write message of success *****/
|
||||||
Lay_ShowAlert (Lay_SUCCESS,Txt_Post_sent);
|
Lay_ShowAlert (Lay_SUCCESS,Txt_Post_sent);
|
||||||
|
|
|
@ -120,7 +120,7 @@ void Ico_ChangeIconSet (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Set preferences from current IP *****/
|
/***** Set preferences from current IP *****/
|
||||||
Prf_SetPrefsFromIP ();
|
Pre_SetPrefsFromIP ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -296,7 +296,7 @@ void Lay_WriteStartOfPage (void)
|
||||||
/* Left bar used to expand-contract central zone */
|
/* Left bar used to expand-contract central zone */
|
||||||
fprintf (Gbl.F.Out,"<td style=\"width:10px; text-align:right;"
|
fprintf (Gbl.F.Out,"<td style=\"width:10px; text-align:right;"
|
||||||
" vertical-align:top;\">");
|
" vertical-align:top;\">");
|
||||||
Prf_PutLeftIconToHideShowCols ();
|
Pre_PutLeftIconToHideShowCols ();
|
||||||
fprintf (Gbl.F.Out,"</td>");
|
fprintf (Gbl.F.Out,"</td>");
|
||||||
|
|
||||||
if (Gbl.Prefs.Menu == Mnu_MENU_VERTICAL)
|
if (Gbl.Prefs.Menu == Mnu_MENU_VERTICAL)
|
||||||
|
@ -382,7 +382,7 @@ static void Lay_WriteEndOfPage (void)
|
||||||
/* Right bar used to expand-contract central zone */
|
/* Right bar used to expand-contract central zone */
|
||||||
fprintf (Gbl.F.Out,"<td style=\"width:10px; text-align:left;"
|
fprintf (Gbl.F.Out,"<td style=\"width:10px; text-align:left;"
|
||||||
" vertical-align:top;\">");
|
" vertical-align:top;\">");
|
||||||
Prf_PutRigthIconToHideShowCols ();
|
Pre_PutRigthIconToHideShowCols ();
|
||||||
fprintf (Gbl.F.Out,"</td>");
|
fprintf (Gbl.F.Out,"</td>");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -657,7 +657,7 @@ static void Lay_WritePageTopHeading (void)
|
||||||
if (Gbl.Usrs.Me.Logged)
|
if (Gbl.Usrs.Me.Logged)
|
||||||
Usr_WriteLoggedUsrHead ();
|
Usr_WriteLoggedUsrHead ();
|
||||||
else
|
else
|
||||||
Prf_PutSelectorToSelectLanguage ();
|
Pre_PutSelectorToSelectLanguage ();
|
||||||
fprintf (Gbl.F.Out,"</td>"
|
fprintf (Gbl.F.Out,"</td>"
|
||||||
"</tr>"
|
"</tr>"
|
||||||
"</table>"
|
"</table>"
|
||||||
|
@ -1191,7 +1191,7 @@ void Lay_RefreshNotifsAndConnected (void)
|
||||||
else if (!(Gbl.PID % 1013)) // Do this only one of 1013 times (1013 is prime)
|
else if (!(Gbl.PID % 1013)) // Do this only one of 1013 times (1013 is prime)
|
||||||
Brw_RemoveExpiredExpandedFolders (); // Remove old expanded folders (from all users)
|
Brw_RemoveExpiredExpandedFolders (); // Remove old expanded folders (from all users)
|
||||||
else if (!(Gbl.PID % 1019)) // Do this only one of 1019 times (1019 is prime)
|
else if (!(Gbl.PID % 1019)) // Do this only one of 1019 times (1019 is prime)
|
||||||
Prf_RemoveOldPrefsFromIP (); // Remove old preferences from IP
|
Pre_RemoveOldPrefsFromIP (); // Remove old preferences from IP
|
||||||
else if (!(Gbl.PID % 1021)) // Do this only one of 1021 times (1021 is prime)
|
else if (!(Gbl.PID % 1021)) // Do this only one of 1021 times (1021 is prime)
|
||||||
Sta_RemoveOldEntriesRecentLog (); // Remove old entries in recent log table, it's a slow query
|
Sta_RemoveOldEntriesRecentLog (); // Remove old entries in recent log table, it's a slow query
|
||||||
|
|
||||||
|
@ -1466,7 +1466,7 @@ void Lay_ChangeLayout (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Set preferences from current IP *****/
|
/***** Set preferences from current IP *****/
|
||||||
Prf_SetPrefsFromIP ();
|
Pre_SetPrefsFromIP ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -352,7 +352,7 @@ void Mnu_ChangeMenu (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Set preferences from current IP *****/
|
/***** Set preferences from current IP *****/
|
||||||
Prf_SetPrefsFromIP ();
|
Pre_SetPrefsFromIP ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -42,6 +42,7 @@
|
||||||
#include "swad_notification.h"
|
#include "swad_notification.h"
|
||||||
#include "swad_parameter.h"
|
#include "swad_parameter.h"
|
||||||
#include "swad_photo.h"
|
#include "swad_photo.h"
|
||||||
|
#include "swad_profile.h"
|
||||||
#include "swad_user.h"
|
#include "swad_user.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -1185,7 +1186,7 @@ static long Msg_InsertNewMsg (const char *Subject,const char *Content)
|
||||||
DB_QueryINSERT (Query,"can not create message");
|
DB_QueryINSERT (Query,"can not create message");
|
||||||
|
|
||||||
/***** Increment number of messages sent by me *****/
|
/***** Increment number of messages sent by me *****/
|
||||||
Usr_IncrementNumMsgSntUsr (Gbl.Usrs.Me.UsrDat.UsrCod);
|
Prf_IncrementNumMsgSntUsr (Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||||
|
|
||||||
return MsgCod;
|
return MsgCod;
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
#include "swad_database.h"
|
#include "swad_database.h"
|
||||||
#include "swad_global.h"
|
#include "swad_global.h"
|
||||||
#include "swad_parameter.h"
|
#include "swad_parameter.h"
|
||||||
|
#include "swad_profile.h"
|
||||||
#include "swad_theme.h"
|
#include "swad_theme.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -134,13 +135,15 @@ const char *Net_TitleWebsAndSocialNetworks[Net_NUM_WEBS_AND_SOCIAL_NETWORKS] =
|
||||||
/***************************** Private prototypes ****************************/
|
/***************************** Private prototypes ****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
static void Net_ShowAWebOrSocialNet (const char *URL,
|
||||||
|
const char *Icon,const char *Title);
|
||||||
static void Net_GetMyWebsAndSocialNetsFromForm (void);
|
static void Net_GetMyWebsAndSocialNetsFromForm (void);
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/************************** Show webs / social networks **********************/
|
/************************** Show webs / social networks **********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Net_ShowWebsAndSocialNets (long UsrCod)
|
void Net_ShowWebsAndSocialNets (const struct UsrData *UsrDat)
|
||||||
{
|
{
|
||||||
char Query[256];
|
char Query[256];
|
||||||
MYSQL_RES *mysql_res;
|
MYSQL_RES *mysql_res;
|
||||||
|
@ -148,8 +151,14 @@ void Net_ShowWebsAndSocialNets (long UsrCod)
|
||||||
Net_WebsAndSocialNetworks_t NumURL;
|
Net_WebsAndSocialNetworks_t NumURL;
|
||||||
char URL[Cns_MAX_BYTES_URL+1];
|
char URL[Cns_MAX_BYTES_URL+1];
|
||||||
|
|
||||||
|
/***** Start container *****/
|
||||||
fprintf (Gbl.F.Out,"<div style=\"width:144px; margin:0 auto;\">");
|
fprintf (Gbl.F.Out,"<div style=\"width:144px; margin:0 auto;\">");
|
||||||
|
|
||||||
|
/***** Show link to public profile *****/
|
||||||
|
Net_ShowAWebOrSocialNet (Prf_GetURLPublicProfile (URL,UsrDat->Nickname),
|
||||||
|
"swad",Cfg_PLATFORM_PAGE_TITLE);
|
||||||
|
|
||||||
|
/***** Show the rest of webs / social networks *****/
|
||||||
for (NumURL = (Net_WebsAndSocialNetworks_t) 0;
|
for (NumURL = (Net_WebsAndSocialNetworks_t) 0;
|
||||||
NumURL < Net_NUM_WEBS_AND_SOCIAL_NETWORKS;
|
NumURL < Net_NUM_WEBS_AND_SOCIAL_NETWORKS;
|
||||||
NumURL++)
|
NumURL++)
|
||||||
|
@ -157,38 +166,49 @@ void Net_ShowWebsAndSocialNets (long UsrCod)
|
||||||
/***** Get user's web / social network from database *****/
|
/***** Get user's web / social network from database *****/
|
||||||
sprintf (Query,"SELECT URL FROM usr_webs"
|
sprintf (Query,"SELECT URL FROM usr_webs"
|
||||||
" WHERE UsrCod='%ld' AND Web='%s'",
|
" WHERE UsrCod='%ld' AND Web='%s'",
|
||||||
UsrCod,
|
UsrDat->UsrCod,Net_WebsAndSocialNetworksDB[NumURL]);
|
||||||
Net_WebsAndSocialNetworksDB[NumURL]);
|
|
||||||
|
|
||||||
/***** Check number of rows in result *****/
|
/***** Check if exists the web / social network for this user *****/
|
||||||
if (DB_QuerySELECT (Query,&mysql_res,"can not get user's web / social network"))
|
if (DB_QuerySELECT (Query,&mysql_res,"can not get user's web / social network"))
|
||||||
{
|
{
|
||||||
/***** Get URL *****/
|
/* Get URL */
|
||||||
row = mysql_fetch_row (mysql_res);
|
row = mysql_fetch_row (mysql_res);
|
||||||
strncpy (URL,row[0],Cns_MAX_BYTES_URL);
|
strncpy (URL,row[0],Cns_MAX_BYTES_URL);
|
||||||
URL[Cns_MAX_BYTES_URL] = '\0';
|
URL[Cns_MAX_BYTES_URL] = '\0';
|
||||||
|
|
||||||
/***** Write link and icon *****/
|
/* Show the web / social network */
|
||||||
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\""
|
Net_ShowAWebOrSocialNet (URL,
|
||||||
" style=\"display:inline;\" >"
|
Net_WebsAndSocialNetworksDB[NumURL],
|
||||||
"<a href=\"%s\" target=\"_blank\" title=\"%s\">"
|
Net_TitleWebsAndSocialNetworks[NumURL]);
|
||||||
"<img src=\"%s/%s16x16.gif\""
|
|
||||||
" style=\"width:16px;height:16px;margin:0 1px;\" alt=\"%s\" />"
|
|
||||||
"</a>"
|
|
||||||
"</div>",
|
|
||||||
URL,
|
|
||||||
Net_TitleWebsAndSocialNetworks[NumURL],
|
|
||||||
Gbl.Prefs.IconsURL,Net_WebsAndSocialNetworksDB[NumURL],
|
|
||||||
Net_TitleWebsAndSocialNetworks[NumURL]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Free structure that stores the query result *****/
|
/***** Free structure that stores the query result *****/
|
||||||
DB_FreeMySQLResult (&mysql_res);
|
DB_FreeMySQLResult (&mysql_res);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***** End container *****/
|
||||||
fprintf (Gbl.F.Out,"</div>");
|
fprintf (Gbl.F.Out,"</div>");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/************************** Show a web / social network **********************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
static void Net_ShowAWebOrSocialNet (const char *URL,
|
||||||
|
const char *Icon,const char *Title)
|
||||||
|
{
|
||||||
|
/***** Write link and icon *****/
|
||||||
|
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\""
|
||||||
|
" style=\"display:inline;\">"
|
||||||
|
"<a href=\"%s\" target=\"_blank\" title=\"%s\">"
|
||||||
|
"<img src=\"%s/%s16x16.gif\""
|
||||||
|
" style=\"width:16px;height:16px;margin:0 1px;\" alt=\"%s\" />"
|
||||||
|
"</a>"
|
||||||
|
"</div>",
|
||||||
|
URL,Title,
|
||||||
|
Gbl.Prefs.IconsURL,Icon,Title);
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/********************* Show form to edit my social networks ******************/
|
/********************* Show form to edit my social networks ******************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
/***************************** Public prototypes *****************************/
|
/***************************** Public prototypes *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Net_ShowWebsAndSocialNets (long UsrCod);
|
void Net_ShowWebsAndSocialNets (const struct UsrData *UsrDat);
|
||||||
void Net_ShowFormMyWebsAndSocialNets (void);
|
void Net_ShowFormMyWebsAndSocialNets (void);
|
||||||
void Net_UpdateMyWebsAndSocialNets (void);
|
void Net_UpdateMyWebsAndSocialNets (void);
|
||||||
void Net_ShowWebAndSocialNetworksStats (void);
|
void Net_ShowWebAndSocialNetworksStats (void);
|
||||||
|
|
|
@ -235,7 +235,7 @@ void Par_GetMainParameters (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Try to get preferences changed from current IP *****/
|
/***** Try to get preferences changed from current IP *****/
|
||||||
Prf_GetPrefsFromIP ();
|
Pre_GetPrefsFromIP ();
|
||||||
if (Gbl.Prefs.Layout == Lay_LAYOUT_UNKNOWN)
|
if (Gbl.Prefs.Layout == Lay_LAYOUT_UNKNOWN)
|
||||||
Gbl.Prefs.Layout = Lay_LAYOUT_DEFAULT;
|
Gbl.Prefs.Layout = Lay_LAYOUT_DEFAULT;
|
||||||
|
|
||||||
|
@ -252,7 +252,7 @@ void Par_GetMainParameters (void)
|
||||||
Gbl.Prefs.Layout = LayoutFromForm;
|
Gbl.Prefs.Layout = LayoutFromForm;
|
||||||
|
|
||||||
/* Update preferences from current IP */
|
/* Update preferences from current IP */
|
||||||
Prf_SetPrefsFromIP ();
|
Pre_SetPrefsFromIP ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Set path of theme *****/
|
/***** Set path of theme *****/
|
||||||
|
|
|
@ -54,14 +54,14 @@ extern struct Globals Gbl;
|
||||||
/****************************** Private prototypes ***************************/
|
/****************************** Private prototypes ***************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Prf_PutIconsToSelectSideCols (void);
|
static void Pre_PutIconsToSelectSideCols (void);
|
||||||
static void Prf_UpdateSideColsOnUsrDataTable (void);
|
static void Pre_UpdateSideColsOnUsrDataTable (void);
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/***************************** Edit preferences ******************************/
|
/***************************** Edit preferences ******************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Prf_EditPrefs (void)
|
void Pre_EditPrefs (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_Language;
|
extern const char *Txt_Language;
|
||||||
extern const char *Txt_You_can_only_receive_email_notifications_if_;
|
extern const char *Txt_You_can_only_receive_email_notifications_if_;
|
||||||
|
@ -71,7 +71,7 @@ void Prf_EditPrefs (void)
|
||||||
Lay_StartRoundFrameTable10 (NULL,2,Txt_Language);
|
Lay_StartRoundFrameTable10 (NULL,2,Txt_Language);
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td style=\"text-align:center;\">");
|
"<td style=\"text-align:center;\">");
|
||||||
Prf_PutSelectorToSelectLanguage ();
|
Pre_PutSelectorToSelectLanguage ();
|
||||||
fprintf (Gbl.F.Out,"</td>"
|
fprintf (Gbl.F.Out,"</td>"
|
||||||
"</tr>");
|
"</tr>");
|
||||||
Lay_EndRoundFrameTable10 ();
|
Lay_EndRoundFrameTable10 ();
|
||||||
|
@ -94,7 +94,7 @@ void Prf_EditPrefs (void)
|
||||||
Mnu_PutIconsToSelectMenu (); // 4. Menu
|
Mnu_PutIconsToSelectMenu (); // 4. Menu
|
||||||
fprintf (Gbl.F.Out,"</td>"
|
fprintf (Gbl.F.Out,"</td>"
|
||||||
"<td>");
|
"<td>");
|
||||||
Prf_PutIconsToSelectSideCols (); // 5. Side columns
|
Pre_PutIconsToSelectSideCols (); // 5. Side columns
|
||||||
fprintf (Gbl.F.Out,"</td>");
|
fprintf (Gbl.F.Out,"</td>");
|
||||||
}
|
}
|
||||||
fprintf (Gbl.F.Out,"</tr>"
|
fprintf (Gbl.F.Out,"</tr>"
|
||||||
|
@ -115,7 +115,7 @@ void Prf_EditPrefs (void)
|
||||||
/******************* Get preferences changed from current IP *****************/
|
/******************* Get preferences changed from current IP *****************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Prf_GetPrefsFromIP (void)
|
void Pre_GetPrefsFromIP (void)
|
||||||
{
|
{
|
||||||
char Query[1024];
|
char Query[1024];
|
||||||
unsigned long NumRows;
|
unsigned long NumRows;
|
||||||
|
@ -171,7 +171,7 @@ void Prf_GetPrefsFromIP (void)
|
||||||
/************************ Set preferences from current IP ********************/
|
/************************ Set preferences from current IP ********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Prf_SetPrefsFromIP (void)
|
void Pre_SetPrefsFromIP (void)
|
||||||
{
|
{
|
||||||
extern const char *The_ThemeId[The_NUM_THEMES];
|
extern const char *The_ThemeId[The_NUM_THEMES];
|
||||||
extern const char *Ico_IconSetId[Ico_NUM_ICON_SETS];
|
extern const char *Ico_IconSetId[Ico_NUM_ICON_SETS];
|
||||||
|
@ -207,7 +207,7 @@ void Prf_SetPrefsFromIP (void)
|
||||||
/*********************** Remove old preferences from IP **********************/
|
/*********************** Remove old preferences from IP **********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Prf_RemoveOldPrefsFromIP (void)
|
void Pre_RemoveOldPrefsFromIP (void)
|
||||||
{
|
{
|
||||||
char Query[256];
|
char Query[256];
|
||||||
|
|
||||||
|
@ -223,7 +223,7 @@ void Prf_RemoveOldPrefsFromIP (void)
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
// Width == 0 means don't force width of selector
|
// Width == 0 means don't force width of selector
|
||||||
|
|
||||||
void Prf_PutSelectorToSelectLanguage (void)
|
void Pre_PutSelectorToSelectLanguage (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_STR_LANG_NAME[Txt_NUM_LANGUAGES];
|
extern const char *Txt_STR_LANG_NAME[Txt_NUM_LANGUAGES];
|
||||||
Txt_Language_t Lan;
|
Txt_Language_t Lan;
|
||||||
|
@ -254,7 +254,7 @@ void Prf_PutSelectorToSelectLanguage (void)
|
||||||
/********* Ask user if he/she really wants to change the language ************/
|
/********* Ask user if he/she really wants to change the language ************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Prf_AskChangeLanguage (void)
|
void Pre_AskChangeLanguage (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_Do_you_want_to_change_your_language_to_LANGUAGE[Txt_NUM_LANGUAGES];
|
extern const char *Txt_Do_you_want_to_change_your_language_to_LANGUAGE[Txt_NUM_LANGUAGES];
|
||||||
extern const char *Txt_Do_you_want_to_change_the_language_to_LANGUAGE[Txt_NUM_LANGUAGES];
|
extern const char *Txt_Do_you_want_to_change_the_language_to_LANGUAGE[Txt_NUM_LANGUAGES];
|
||||||
|
@ -262,7 +262,7 @@ void Prf_AskChangeLanguage (void)
|
||||||
Txt_Language_t CurrentLanguage = Gbl.Prefs.Language;
|
Txt_Language_t CurrentLanguage = Gbl.Prefs.Language;
|
||||||
|
|
||||||
/***** Get param language *****/
|
/***** Get param language *****/
|
||||||
Gbl.Prefs.Language = Prf_GetParamLanguage (); // Change temporarily language to set form action
|
Gbl.Prefs.Language = Pre_GetParamLanguage (); // Change temporarily language to set form action
|
||||||
|
|
||||||
/***** Request confirmation *****/
|
/***** Request confirmation *****/
|
||||||
if (Gbl.Usrs.Me.Logged)
|
if (Gbl.Usrs.Me.Logged)
|
||||||
|
@ -283,7 +283,7 @@ void Prf_AskChangeLanguage (void)
|
||||||
/******************************* Change language *****************************/
|
/******************************* Change language *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Prf_ChangeLanguage (void)
|
void Pre_ChangeLanguage (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_STR_LANG_ID[Txt_NUM_LANGUAGES];
|
extern const char *Txt_STR_LANG_ID[Txt_NUM_LANGUAGES];
|
||||||
extern const char *Txt_Your_language_has_changed_to_LANGUAGE;
|
extern const char *Txt_Your_language_has_changed_to_LANGUAGE;
|
||||||
|
@ -293,7 +293,7 @@ void Prf_ChangeLanguage (void)
|
||||||
bool MyLanguageHasChanged = false;
|
bool MyLanguageHasChanged = false;
|
||||||
|
|
||||||
/***** Get param language *****/
|
/***** Get param language *****/
|
||||||
Gbl.Prefs.Language = Prf_GetParamLanguage ();
|
Gbl.Prefs.Language = Pre_GetParamLanguage ();
|
||||||
|
|
||||||
/***** Store language in database *****/
|
/***** Store language in database *****/
|
||||||
if (Gbl.Usrs.Me.Logged && Gbl.Prefs.Language != Gbl.Usrs.Me.UsrDat.Prefs.Language)
|
if (Gbl.Usrs.Me.Logged && Gbl.Prefs.Language != Gbl.Usrs.Me.UsrDat.Prefs.Language)
|
||||||
|
@ -305,7 +305,7 @@ void Prf_ChangeLanguage (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Set preferences from current IP *****/
|
/***** Set preferences from current IP *****/
|
||||||
Prf_SetPrefsFromIP ();
|
Pre_SetPrefsFromIP ();
|
||||||
|
|
||||||
/***** Confirmation *****/
|
/***** Confirmation *****/
|
||||||
if (MyLanguageHasChanged)
|
if (MyLanguageHasChanged)
|
||||||
|
@ -318,7 +318,7 @@ void Prf_ChangeLanguage (void)
|
||||||
/*************************** Get parameter language **************************/
|
/*************************** Get parameter language **************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
Txt_Language_t Prf_GetParamLanguage (void)
|
Txt_Language_t Pre_GetParamLanguage (void)
|
||||||
{
|
{
|
||||||
extern const unsigned Txt_Current_CGI_SWAD_Language;
|
extern const unsigned Txt_Current_CGI_SWAD_Language;
|
||||||
char UnsignedStr[10+1];
|
char UnsignedStr[10+1];
|
||||||
|
@ -336,7 +336,7 @@ Txt_Language_t Prf_GetParamLanguage (void)
|
||||||
/************ Put icons to select the layout of the side columns *************/
|
/************ Put icons to select the layout of the side columns *************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Prf_PutIconsToSelectSideCols (void)
|
static void Pre_PutIconsToSelectSideCols (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_Columns;
|
extern const char *Txt_Columns;
|
||||||
extern const char *Txt_LAYOUT_SIDE_COLUMNS[4];
|
extern const char *Txt_LAYOUT_SIDE_COLUMNS[4];
|
||||||
|
@ -371,7 +371,7 @@ static void Prf_PutIconsToSelectSideCols (void)
|
||||||
/**************** Put left icon to hide/show side columns ********************/
|
/**************** Put left icon to hide/show side columns ********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Prf_PutLeftIconToHideShowCols (void)
|
void Pre_PutLeftIconToHideShowCols (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_Hide_left_column;
|
extern const char *Txt_Hide_left_column;
|
||||||
extern const char *Txt_Show_left_column;
|
extern const char *Txt_Show_left_column;
|
||||||
|
@ -403,7 +403,7 @@ void Prf_PutLeftIconToHideShowCols (void)
|
||||||
/**************** Put right icon to hide/show side columns *******************/
|
/**************** Put right icon to hide/show side columns *******************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Prf_PutRigthIconToHideShowCols (void)
|
void Pre_PutRigthIconToHideShowCols (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_Hide_right_column;
|
extern const char *Txt_Hide_right_column;
|
||||||
extern const char *Txt_Show_right_column;
|
extern const char *Txt_Show_right_column;
|
||||||
|
@ -435,80 +435,80 @@ void Prf_PutRigthIconToHideShowCols (void)
|
||||||
/*********************** Change layout of side columns ***********************/
|
/*********************** Change layout of side columns ***********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Prf_ChangeSideCols (void)
|
void Pre_ChangeSideCols (void)
|
||||||
{
|
{
|
||||||
/***** Get param side-columns *****/
|
/***** Get param side-columns *****/
|
||||||
Gbl.Prefs.SideCols = Prf_GetParamSideCols ();
|
Gbl.Prefs.SideCols = Pre_GetParamSideCols ();
|
||||||
|
|
||||||
/***** Store side colums in database *****/
|
/***** Store side colums in database *****/
|
||||||
if (Gbl.Usrs.Me.Logged)
|
if (Gbl.Usrs.Me.Logged)
|
||||||
Prf_UpdateSideColsOnUsrDataTable ();
|
Pre_UpdateSideColsOnUsrDataTable ();
|
||||||
|
|
||||||
/***** Set preferences from current IP *****/
|
/***** Set preferences from current IP *****/
|
||||||
Prf_SetPrefsFromIP ();
|
Pre_SetPrefsFromIP ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*************************** Hide left side column ***************************/
|
/*************************** Hide left side column ***************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Prf_HideLeftCol (void)
|
void Pre_HideLeftCol (void)
|
||||||
{
|
{
|
||||||
Gbl.Prefs.SideCols &= ~Lay_SHOW_LEFT_COLUMN; // And with 1...101 to hide left column
|
Gbl.Prefs.SideCols &= ~Lay_SHOW_LEFT_COLUMN; // And with 1...101 to hide left column
|
||||||
if (Gbl.Usrs.Me.Logged)
|
if (Gbl.Usrs.Me.Logged)
|
||||||
Prf_UpdateSideColsOnUsrDataTable ();
|
Pre_UpdateSideColsOnUsrDataTable ();
|
||||||
|
|
||||||
/***** Set preferences from current IP *****/
|
/***** Set preferences from current IP *****/
|
||||||
Prf_SetPrefsFromIP ();
|
Pre_SetPrefsFromIP ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*************************** Hide right side column **************************/
|
/*************************** Hide right side column **************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Prf_HideRightCol (void)
|
void Pre_HideRightCol (void)
|
||||||
{
|
{
|
||||||
Gbl.Prefs.SideCols &= ~Lay_SHOW_RIGHT_COLUMN; // And with 1...110 to hide right column
|
Gbl.Prefs.SideCols &= ~Lay_SHOW_RIGHT_COLUMN; // And with 1...110 to hide right column
|
||||||
if (Gbl.Usrs.Me.Logged)
|
if (Gbl.Usrs.Me.Logged)
|
||||||
Prf_UpdateSideColsOnUsrDataTable ();
|
Pre_UpdateSideColsOnUsrDataTable ();
|
||||||
|
|
||||||
/***** Set preferences from current IP *****/
|
/***** Set preferences from current IP *****/
|
||||||
Prf_SetPrefsFromIP ();
|
Pre_SetPrefsFromIP ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/**************************** Show left side column **************************/
|
/**************************** Show left side column **************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Prf_ShowLeftCol (void)
|
void Pre_ShowLeftCol (void)
|
||||||
{
|
{
|
||||||
Gbl.Prefs.SideCols |= Lay_SHOW_LEFT_COLUMN; // Or with 10 to show left column
|
Gbl.Prefs.SideCols |= Lay_SHOW_LEFT_COLUMN; // Or with 10 to show left column
|
||||||
if (Gbl.Usrs.Me.Logged)
|
if (Gbl.Usrs.Me.Logged)
|
||||||
Prf_UpdateSideColsOnUsrDataTable ();
|
Pre_UpdateSideColsOnUsrDataTable ();
|
||||||
|
|
||||||
/***** Set preferences from current IP *****/
|
/***** Set preferences from current IP *****/
|
||||||
Prf_SetPrefsFromIP ();
|
Pre_SetPrefsFromIP ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/**************************** Show right side column *************************/
|
/**************************** Show right side column *************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Prf_ShowRightCol (void)
|
void Pre_ShowRightCol (void)
|
||||||
{
|
{
|
||||||
Gbl.Prefs.SideCols |= Lay_SHOW_RIGHT_COLUMN; // Or with 01 to show right column
|
Gbl.Prefs.SideCols |= Lay_SHOW_RIGHT_COLUMN; // Or with 01 to show right column
|
||||||
if (Gbl.Usrs.Me.Logged)
|
if (Gbl.Usrs.Me.Logged)
|
||||||
Prf_UpdateSideColsOnUsrDataTable ();
|
Pre_UpdateSideColsOnUsrDataTable ();
|
||||||
|
|
||||||
/***** Set preferences from current IP *****/
|
/***** Set preferences from current IP *****/
|
||||||
Prf_SetPrefsFromIP ();
|
Pre_SetPrefsFromIP ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/************** Update layout of side colums on user data table **************/
|
/************** Update layout of side colums on user data table **************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Prf_UpdateSideColsOnUsrDataTable (void)
|
static void Pre_UpdateSideColsOnUsrDataTable (void)
|
||||||
{
|
{
|
||||||
char Query[512];
|
char Query[512];
|
||||||
|
|
||||||
|
@ -521,7 +521,7 @@ static void Prf_UpdateSideColsOnUsrDataTable (void)
|
||||||
/************** Get parameter used to show/hide side columns *****************/
|
/************** Get parameter used to show/hide side columns *****************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
unsigned Prf_GetParamSideCols (void)
|
unsigned Pre_GetParamSideCols (void)
|
||||||
{
|
{
|
||||||
char UnsignedStr[10+1];
|
char UnsignedStr[10+1];
|
||||||
unsigned UnsignedNum; // 11 ==> by default, show both side columns
|
unsigned UnsignedNum; // 11 ==> by default, show both side columns
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// swad_preference.h: user's preferences
|
// swad_preference.h: user's preferences
|
||||||
|
|
||||||
#ifndef _SWAD_PRF
|
#ifndef _SWAD_PRE
|
||||||
#define _SWAD_PRF
|
#define _SWAD_PRE
|
||||||
/*
|
/*
|
||||||
SWAD (Shared Workspace At a Distance in Spanish),
|
SWAD (Shared Workspace At a Distance in Spanish),
|
||||||
is a web platform developed at the University of Granada (Spain),
|
is a web platform developed at the University of Granada (Spain),
|
||||||
|
@ -39,24 +39,24 @@
|
||||||
/***************************** Public prototypes *****************************/
|
/***************************** Public prototypes *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Prf_EditPrefs (void);
|
void Pre_EditPrefs (void);
|
||||||
|
|
||||||
void Prf_GetPrefsFromIP (void);
|
void Pre_GetPrefsFromIP (void);
|
||||||
void Prf_SetPrefsFromIP (void);
|
void Pre_SetPrefsFromIP (void);
|
||||||
void Prf_RemoveOldPrefsFromIP (void);
|
void Pre_RemoveOldPrefsFromIP (void);
|
||||||
|
|
||||||
void Prf_PutSelectorToSelectLanguage (void);
|
void Pre_PutSelectorToSelectLanguage (void);
|
||||||
void Prf_AskChangeLanguage (void);
|
void Pre_AskChangeLanguage (void);
|
||||||
void Prf_ChangeLanguage (void);
|
void Pre_ChangeLanguage (void);
|
||||||
Txt_Language_t Prf_GetParamLanguage (void);
|
Txt_Language_t Pre_GetParamLanguage (void);
|
||||||
|
|
||||||
void Prf_PutLeftIconToHideShowCols (void);
|
void Pre_PutLeftIconToHideShowCols (void);
|
||||||
void Prf_PutRigthIconToHideShowCols (void);
|
void Pre_PutRigthIconToHideShowCols (void);
|
||||||
void Prf_ChangeSideCols (void);
|
void Pre_ChangeSideCols (void);
|
||||||
void Prf_HideLeftCol (void);
|
void Pre_HideLeftCol (void);
|
||||||
void Prf_HideRightCol (void);
|
void Pre_HideRightCol (void);
|
||||||
void Prf_ShowLeftCol (void);
|
void Pre_ShowLeftCol (void);
|
||||||
void Prf_ShowRightCol (void);
|
void Pre_ShowRightCol (void);
|
||||||
unsigned Prf_GetParamSideCols (void);
|
unsigned Pre_GetParamSideCols (void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,57 @@
|
||||||
|
// swad_profile.h: user's public profile
|
||||||
|
|
||||||
|
#ifndef _SWAD_PRF
|
||||||
|
#define _SWAD_PRF
|
||||||
|
/*
|
||||||
|
SWAD (Shared Workspace At a Distance in Spanish),
|
||||||
|
is a web platform developed at the University of Granada (Spain),
|
||||||
|
and used to support university teaching.
|
||||||
|
|
||||||
|
This file is part of SWAD core.
|
||||||
|
Copyright (C) 1999-2015 Antonio Cañas Vargas
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU Affero General Public License as
|
||||||
|
published by the Free Software Foundation, either version 3 of the
|
||||||
|
License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU Affero General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Affero General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
/*****************************************************************************/
|
||||||
|
/********************************** Headers **********************************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/****************************** Public constants *****************************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/******************************** Public types *******************************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/****************************** Public prototypes ****************************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
char *Prf_GetURLPublicProfile (char *URL,const char *NicknameWithoutArroba);
|
||||||
|
void Prf_RequestUserProfile (void);
|
||||||
|
void Prf_GetUsrCodAndShowUserProfile (void);
|
||||||
|
void Prf_ChangeProfileVisibility (void);
|
||||||
|
void Prf_CalculateFirstClickTime (void);
|
||||||
|
void Prf_CalculateNumClicks (void);
|
||||||
|
void Prf_CalculateNumFileViews (void);
|
||||||
|
void Prf_CalculateNumForPst (void);
|
||||||
|
void Prf_CalculateNumMsgSnt (void);
|
||||||
|
void Prf_RemoveUsrFigures (long UsrCod);
|
||||||
|
void Prf_IncrementNumClicksUsr (long UsrCod);
|
||||||
|
void Prf_IncrementNumFileViewsUsr (long UsrCod);
|
||||||
|
void Prf_IncrementNumForPstUsr (long UsrCod);
|
||||||
|
void Prf_IncrementNumMsgSntUsr (long UsrCod);
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
|
@ -2030,8 +2030,6 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
extern const char *Txt_First_name;
|
extern const char *Txt_First_name;
|
||||||
extern const char *Txt_Country;
|
extern const char *Txt_Country;
|
||||||
extern const char *Txt_Another_country;
|
extern const char *Txt_Another_country;
|
||||||
extern const char *Txt_Shortcut;
|
|
||||||
extern const char *Txt_STR_LANG_ID[Txt_NUM_LANGUAGES];
|
|
||||||
extern const char *Txt_Place_of_origin;
|
extern const char *Txt_Place_of_origin;
|
||||||
extern const char *Txt_Date_of_birth;
|
extern const char *Txt_Date_of_birth;
|
||||||
extern const char *Txt_Institution;
|
extern const char *Txt_Institution;
|
||||||
|
@ -2045,7 +2043,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
unsigned RecordWidth = Rec_WIDTH_SHARE_RECORD_BIG;
|
unsigned RecordWidth = Rec_WIDTH_SHARE_RECORD_BIG;
|
||||||
char StrRecordWidth[10+1];
|
char StrRecordWidth[10+1];
|
||||||
unsigned FrameWidth = 10;
|
unsigned FrameWidth = 10;
|
||||||
unsigned Col1Width = 140;
|
unsigned Col1Width = 130;
|
||||||
unsigned Col2Width;
|
unsigned Col2Width;
|
||||||
unsigned Col3Width = 160;
|
unsigned Col3Width = 160;
|
||||||
unsigned Cols1and2Width;
|
unsigned Cols1and2Width;
|
||||||
|
@ -2379,7 +2377,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
|
|
||||||
/***** User's nickname *****/
|
/***** User's nickname *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\" style=\"width:%upx; text-align:left;\">"
|
"<td class=\"%s\" style=\"width:%upx; text-align:right;\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td class=\"HEAD_REC_BIG\""
|
"<td class=\"HEAD_REC_BIG\""
|
||||||
|
@ -2413,7 +2411,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
fprintf (Gbl.F.Out,"<td style=\"width:%upx;"
|
fprintf (Gbl.F.Out,"<td style=\"width:%upx;"
|
||||||
" vertical-align:top;\">",
|
" vertical-align:top;\">",
|
||||||
Col3Width);
|
Col3Width);
|
||||||
Net_ShowWebsAndSocialNets (UsrDat->UsrCod);
|
Net_ShowWebsAndSocialNets (UsrDat);
|
||||||
fprintf (Gbl.F.Out,"</td>"
|
fprintf (Gbl.F.Out,"</td>"
|
||||||
"</tr>");
|
"</tr>");
|
||||||
|
|
||||||
|
@ -2421,7 +2419,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
{
|
{
|
||||||
/***** User's e-mail *****/
|
/***** User's e-mail *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\" style=\"width:%upx; text-align:left;\">"
|
"<td class=\"%s\" style=\"width:%upx; text-align:right;\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td colspan=\"2\" class=\"%s\""
|
"<td colspan=\"2\" class=\"%s\""
|
||||||
|
@ -2445,7 +2443,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
|
|
||||||
/***** User's ID *****/
|
/***** User's ID *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\" style=\"width:%upx; text-align:left;\">"
|
"<td class=\"%s\" style=\"width:%upx; text-align:right;\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td colspan=\"2\" class=\"%s\""
|
"<td colspan=\"2\" class=\"%s\""
|
||||||
|
@ -2461,7 +2459,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\""
|
"<td class=\"%s\""
|
||||||
" style=\"width:%upx; text-align:left;\">",
|
" style=\"width:%upx; text-align:right;\">",
|
||||||
ClassForm,Col1Width);
|
ClassForm,Col1Width);
|
||||||
if (TypeOfView == Rec_FORM_MY_COMMON_RECORD)
|
if (TypeOfView == Rec_FORM_MY_COMMON_RECORD)
|
||||||
fprintf (Gbl.F.Out,"%s*",Txt_Sex);
|
fprintf (Gbl.F.Out,"%s*",Txt_Sex);
|
||||||
|
@ -2586,7 +2584,8 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
}
|
}
|
||||||
else // RoleForm == false
|
else // RoleForm == false
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\" style=\"width:%upx; text-align:left;\">"
|
"<td class=\"%s\" style=\"width:%upx;"
|
||||||
|
" text-align:right;\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td colspan=\"2\" class=\"%s\""
|
"<td colspan=\"2\" class=\"%s\""
|
||||||
|
@ -2604,7 +2603,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
/***** Name *****/
|
/***** Name *****/
|
||||||
/* Surname 1 */
|
/* Surname 1 */
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\" style=\"width:%upx; text-align:left;\">"
|
"<td class=\"%s\" style=\"width:%upx; text-align:right;\">"
|
||||||
"%s",
|
"%s",
|
||||||
ClassForm,Col1Width,Txt_Surname_1);
|
ClassForm,Col1Width,Txt_Surname_1);
|
||||||
if (TypeOfView == Rec_FORM_MY_COMMON_RECORD)
|
if (TypeOfView == Rec_FORM_MY_COMMON_RECORD)
|
||||||
|
@ -2624,7 +2623,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
|
|
||||||
/* Surname 2 */
|
/* Surname 2 */
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\" style=\"width:%upx; text-align:left;\">"
|
"<td class=\"%s\" style=\"width:%upx; text-align:right;\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td colspan=\"2\" class=\"%s\""
|
"<td colspan=\"2\" class=\"%s\""
|
||||||
|
@ -2644,7 +2643,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
|
|
||||||
/* First name */
|
/* First name */
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\" style=\"width:%upx; text-align:left;\">"
|
"<td class=\"%s\" style=\"width:%upx; text-align:right;\">"
|
||||||
"%s",
|
"%s",
|
||||||
ClassForm,Col1Width,Txt_First_name);
|
ClassForm,Col1Width,Txt_First_name);
|
||||||
if (TypeOfView == Rec_FORM_MY_COMMON_RECORD)
|
if (TypeOfView == Rec_FORM_MY_COMMON_RECORD)
|
||||||
|
@ -2666,7 +2665,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
/* Country */
|
/* Country */
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\""
|
"<td class=\"%s\""
|
||||||
" style=\"width:%upx; text-align:left;\">"
|
" style=\"width:%upx; text-align:right;\">"
|
||||||
"%s",
|
"%s",
|
||||||
ClassForm,Col1Width,Txt_Country);
|
ClassForm,Col1Width,Txt_Country);
|
||||||
if (TypeOfView == Rec_FORM_MY_COMMON_RECORD)
|
if (TypeOfView == Rec_FORM_MY_COMMON_RECORD)
|
||||||
|
@ -2714,32 +2713,12 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
fprintf (Gbl.F.Out,"</td>"
|
fprintf (Gbl.F.Out,"</td>"
|
||||||
"</tr>");
|
"</tr>");
|
||||||
|
|
||||||
/***** Shortcut to the user's profile *****/
|
|
||||||
if (TypeOfView == Rec_RECORD_PUBLIC)
|
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
|
||||||
"<td class=\"%s\""
|
|
||||||
" style=\"width:%upx; text-align:left;\">"
|
|
||||||
"%s:"
|
|
||||||
"</td>"
|
|
||||||
"<td colspan=\"2\" class=\"%s\""
|
|
||||||
" style=\"width:%upx; text-align:left;\">"
|
|
||||||
"<a href=\"%s/%s?usr=@%s\" class=\"%s\" target=\"_blank\">"
|
|
||||||
"%s/%s?usr=@%s"
|
|
||||||
"</a>"
|
|
||||||
"</td>"
|
|
||||||
"</tr>",
|
|
||||||
ClassForm,Col1Width,Txt_Shortcut,
|
|
||||||
ClassData,Cols2and3Width,
|
|
||||||
Cfg_HTTPS_URL_SWAD_CGI,Txt_STR_LANG_ID[Gbl.Prefs.Language],UsrDat->Nickname,
|
|
||||||
ClassData,
|
|
||||||
Cfg_HTTPS_URL_SWAD_CGI,Txt_STR_LANG_ID[Gbl.Prefs.Language],UsrDat->Nickname);
|
|
||||||
|
|
||||||
if (ShowAddressRows)
|
if (ShowAddressRows)
|
||||||
{
|
{
|
||||||
/* Origin place */
|
/* Origin place */
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\""
|
"<td class=\"%s\""
|
||||||
" style=\"width:%upx; text-align:left;\">"
|
" style=\"width:%upx; text-align:right;\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td colspan=\"2\" class=\"%s\""
|
"<td colspan=\"2\" class=\"%s\""
|
||||||
|
@ -2761,7 +2740,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
/* Date of birth */
|
/* Date of birth */
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\""
|
"<td class=\"%s\""
|
||||||
" style=\"width:%upx; text-align:left;\">"
|
" style=\"width:%upx; text-align:right;\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td colspan=\"2\" class=\"%s\""
|
"<td colspan=\"2\" class=\"%s\""
|
||||||
|
@ -2785,7 +2764,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
/* Local address */
|
/* Local address */
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\""
|
"<td class=\"%s\""
|
||||||
" style=\"width:%upx; text-align:left;\">"
|
" style=\"width:%upx; text-align:right;\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td colspan=\"2\" class=\"%s\""
|
"<td colspan=\"2\" class=\"%s\""
|
||||||
|
@ -2807,7 +2786,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
/* Local phone */
|
/* Local phone */
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\""
|
"<td class=\"%s\""
|
||||||
" style=\"width:%upx; text-align:left;\">"
|
" style=\"width:%upx; text-align:right;\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td colspan=\"2\" class=\"%s\""
|
"<td colspan=\"2\" class=\"%s\""
|
||||||
|
@ -2829,7 +2808,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
/* Family address */
|
/* Family address */
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\""
|
"<td class=\"%s\""
|
||||||
" style=\"width:%upx; text-align:left;\">"
|
" style=\"width:%upx; text-align:right;\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td colspan=\"2\" class=\"%s\""
|
"<td colspan=\"2\" class=\"%s\""
|
||||||
|
@ -2851,7 +2830,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
/* Family phone */
|
/* Family phone */
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\""
|
"<td class=\"%s\""
|
||||||
" style=\"width:%upx; text-align:left;\">"
|
" style=\"width:%upx; text-align:right;\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td colspan=\"2\" class=\"%s\""
|
"<td colspan=\"2\" class=\"%s\""
|
||||||
|
@ -2873,7 +2852,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
/* Common comments for all the courses */
|
/* Common comments for all the courses */
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\" style=\"width:%upx;"
|
"<td class=\"%s\" style=\"width:%upx;"
|
||||||
" text-align:left; vertical-align:top;\">"
|
" text-align:right; vertical-align:top;\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td colspan=\"2\" class=\"%s\" style=\"width:%upx;"
|
"<td colspan=\"2\" class=\"%s\" style=\"width:%upx;"
|
||||||
|
@ -2903,7 +2882,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
/* Institution */
|
/* Institution */
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\""
|
"<td class=\"%s\""
|
||||||
" style=\"width:%upx; text-align:left;\">"
|
" style=\"width:%upx; text-align:right;\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td colspan=\"2\" class=\"%s\""
|
"<td colspan=\"2\" class=\"%s\""
|
||||||
|
@ -2928,7 +2907,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
/* Centre */
|
/* Centre */
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\""
|
"<td class=\"%s\""
|
||||||
" style=\"width:%upx; text-align:left;\">"
|
" style=\"width:%upx; text-align:right;\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td colspan=\"2\" class=\"%s\""
|
"<td colspan=\"2\" class=\"%s\""
|
||||||
|
@ -2955,7 +2934,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
/* Department */
|
/* Department */
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\""
|
"<td class=\"%s\""
|
||||||
" style=\"width:%upx; text-align:left;\">"
|
" style=\"width:%upx; text-align:right;\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td colspan=\"2\" class=\"%s\""
|
"<td colspan=\"2\" class=\"%s\""
|
||||||
|
@ -2982,7 +2961,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
/* Office */
|
/* Office */
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\""
|
"<td class=\"%s\""
|
||||||
" style=\"width:%upx; text-align:left;\">"
|
" style=\"width:%upx; text-align:right;\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td colspan=\"2\" class=\"%s\""
|
"<td colspan=\"2\" class=\"%s\""
|
||||||
|
@ -2997,7 +2976,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||||
/* Phone */
|
/* Phone */
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"%s\""
|
"<td class=\"%s\""
|
||||||
" style=\"width:%upx; text-align:left;\">"
|
" style=\"width:%upx; text-align:right;\">"
|
||||||
"%s:"
|
"%s:"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td colspan=\"2\" class=\"%s\""
|
"<td colspan=\"2\" class=\"%s\""
|
||||||
|
|
|
@ -46,6 +46,7 @@
|
||||||
#include "swad_notice.h"
|
#include "swad_notice.h"
|
||||||
#include "swad_notification.h"
|
#include "swad_notification.h"
|
||||||
#include "swad_parameter.h"
|
#include "swad_parameter.h"
|
||||||
|
#include "swad_profile.h"
|
||||||
#include "swad_statistic.h"
|
#include "swad_statistic.h"
|
||||||
#include "swad_tab.h"
|
#include "swad_tab.h"
|
||||||
#include "swad_web_service.h"
|
#include "swad_web_service.h"
|
||||||
|
@ -345,7 +346,7 @@ void Sta_LogAccess (const char *Comments)
|
||||||
|
|
||||||
/***** Increment my number of clicks *****/
|
/***** Increment my number of clicks *****/
|
||||||
if (Gbl.Usrs.Me.UsrDat.UsrCod > 0)
|
if (Gbl.Usrs.Me.UsrDat.UsrCod > 0)
|
||||||
Usr_IncrementNumClicksUsr (Gbl.Usrs.Me.UsrDat.UsrCod);
|
Prf_IncrementNumClicksUsr (Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
23
swad_text.c
23
swad_text.c
|
@ -10934,28 +10934,7 @@ const char *Txt_Field_BR_name =
|
||||||
#elif L==8
|
#elif L==8
|
||||||
"Nome<br />do campo";
|
"Nome<br />do campo";
|
||||||
#endif
|
#endif
|
||||||
/*
|
|
||||||
const char *Txt_Figures =
|
|
||||||
#if L==0
|
|
||||||
"Xifres";
|
|
||||||
#elif L==1
|
|
||||||
"Zahlen";
|
|
||||||
#elif L==2
|
|
||||||
"Figures";
|
|
||||||
#elif L==3
|
|
||||||
"Cifras";
|
|
||||||
#elif L==4
|
|
||||||
"Chiffres";
|
|
||||||
#elif L==5
|
|
||||||
"Cifras"; // Okoteve traducción
|
|
||||||
#elif L==6
|
|
||||||
"Cifre";
|
|
||||||
#elif L==7
|
|
||||||
"Cyfry";
|
|
||||||
#elif L==8
|
|
||||||
"Números";
|
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
const char *Txt_File =
|
const char *Txt_File =
|
||||||
#if L==0
|
#if L==0
|
||||||
"Fitxer";
|
"Fitxer";
|
||||||
|
|
|
@ -282,7 +282,7 @@ void The_ChangeTheme (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Set preferences from current IP *****/
|
/***** Set preferences from current IP *****/
|
||||||
Prf_SetPrefsFromIP ();
|
Pre_SetPrefsFromIP ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
1039
swad_user.c
1039
swad_user.c
File diff suppressed because it is too large
Load Diff
16
swad_user.h
16
swad_user.h
|
@ -210,6 +210,8 @@ void Usr_RestrictLengthAndWriteName (struct UsrData *UsrDat,unsigned MaxChars);
|
||||||
|
|
||||||
bool Usr_CheckIfUsrIsAdm (long UsrCod,Sco_Scope_t Scope,long Cod);
|
bool Usr_CheckIfUsrIsAdm (long UsrCod,Sco_Scope_t Scope,long Cod);
|
||||||
bool Usr_CheckIfUsrIsSuperuser (long UsrCod);
|
bool Usr_CheckIfUsrIsSuperuser (long UsrCod);
|
||||||
|
unsigned Usr_GetNumCrssOfUsrWithARole (long UsrCod,Rol_Role_t Role);
|
||||||
|
unsigned Usr_GetNumUsrsInCrssOfAUsr (long UsrCod,Rol_Role_t UsrRole,Rol_Role_t OthersRole);
|
||||||
bool Usr_CheckIfUsrSharesAnyOfMyCrs (long UsrCod);
|
bool Usr_CheckIfUsrSharesAnyOfMyCrs (long UsrCod);
|
||||||
bool Usr_CheckIfUsrSharesAnyOfMyCrsWithDifferentRole (long UsrCod);
|
bool Usr_CheckIfUsrSharesAnyOfMyCrsWithDifferentRole (long UsrCod);
|
||||||
void Usr_GetMyInstitutions (void);
|
void Usr_GetMyInstitutions (void);
|
||||||
|
@ -324,18 +326,4 @@ void Usr_ShowWarningNoUsersFound (Rol_Role_t Role);
|
||||||
|
|
||||||
void Usr_GetAndShowNumUsrsInPlatform (Rol_Role_t Role);
|
void Usr_GetAndShowNumUsrsInPlatform (Rol_Role_t Role);
|
||||||
|
|
||||||
void Usr_RequestUserProfile (void);
|
|
||||||
void Usr_GetUsrCodAndShowUserProfile (void);
|
|
||||||
void Usr_ChangeProfileVisibility (void);
|
|
||||||
void Usr_CalculateFirstClickTime (void);
|
|
||||||
void Usr_CalculateNumClicks (void);
|
|
||||||
void Usr_CalculateNumFileViews (void);
|
|
||||||
void Usr_CalculateNumForPst (void);
|
|
||||||
void Usr_CalculateNumMsgSnt (void);
|
|
||||||
void Usr_RemoveUsrFigures (long UsrCod);
|
|
||||||
void Usr_IncrementNumClicksUsr (long UsrCod);
|
|
||||||
void Usr_IncrementNumFileViewsUsr (long UsrCod);
|
|
||||||
void Usr_IncrementNumForPstUsr (long UsrCod);
|
|
||||||
void Usr_IncrementNumMsgSntUsr (long UsrCod);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue