mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-14 12:44:09 +02:00
Version 16.222.1
This commit is contained in:
parent
58ee00375c
commit
d0c3e2da33
|
@ -2664,56 +2664,56 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
||||||
/* ActSeeFlr */{1413,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C7,0x3C7,0x3C7,0x3C7,0x3C7,0x3C7,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Fol_ListFollowers ,NULL},
|
/* ActSeeFlr */{1413,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C7,0x3C7,0x3C7,0x3C7,0x3C7,0x3C7,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Fol_ListFollowers ,NULL},
|
||||||
|
|
||||||
/* ActSeeForCrsUsr */{ 345,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
/* ActSeeForCrsUsr */{ 345,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
||||||
/* ActSeeForCrsTch */{ 431,-1,TabUnk,ActSeeFor ,0x220,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
/* ActSeeForCrsTch */{ 431,-1,TabUnk,ActSeeFor ,0x230,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
||||||
/* ActSeeForDegUsr */{ 241,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
/* ActSeeForDegUsr */{ 241,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
||||||
/* ActSeeForDegTch */{ 243,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
/* ActSeeForDegTch */{ 243,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
||||||
/* ActSeeForCtrUsr */{ 901,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
/* ActSeeForCtrUsr */{ 901,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
||||||
/* ActSeeForCtrTch */{ 430,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
/* ActSeeForCtrTch */{ 430,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
||||||
/* ActSeeForInsUsr */{ 725,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
/* ActSeeForInsUsr */{ 725,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
||||||
/* ActSeeForInsTch */{ 724,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
/* ActSeeForInsTch */{ 724,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
||||||
/* ActSeeForGenUsr */{ 726,-1,TabUnk,ActSeeFor ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
/* ActSeeForGenUsr */{ 726,-1,TabUnk,ActSeeFor ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
||||||
/* ActSeeForGenTch */{ 723,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
/* ActSeeForGenTch */{ 723,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
||||||
/* ActSeeForSWAUsr */{ 242,-1,TabUnk,ActSeeFor ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
/* ActSeeForSWAUsr */{ 242,-1,TabUnk,ActSeeFor ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
||||||
/* ActSeeForSWATch */{ 245,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
/* ActSeeForSWATch */{ 245,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowForumTheads ,NULL},
|
||||||
|
|
||||||
/* ActSeePstForCrsUsr*/{ 346,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
/* ActSeePstForCrsUsr*/{ 346,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
||||||
/* ActSeePstForCrsTch*/{ 347,-1,TabUnk,ActSeeFor ,0x220,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
/* ActSeePstForCrsTch*/{ 347,-1,TabUnk,ActSeeFor ,0x230,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
||||||
/* ActSeePstForDegUsr*/{ 255,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
/* ActSeePstForDegUsr*/{ 255,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
||||||
/* ActSeePstForDegTch*/{ 291,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
/* ActSeePstForDegTch*/{ 291,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
||||||
/* ActSeePstForCtrUsr*/{ 348,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
/* ActSeePstForCtrUsr*/{ 348,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
||||||
/* ActSeePstForCtrTch*/{ 902,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
/* ActSeePstForCtrTch*/{ 902,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
||||||
/* ActSeePstForInsUsr*/{ 730,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
/* ActSeePstForInsUsr*/{ 730,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
||||||
/* ActSeePstForInsTch*/{ 746,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
/* ActSeePstForInsTch*/{ 746,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
||||||
/* ActSeePstForGenUsr*/{ 727,-1,TabUnk,ActSeeFor ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
/* ActSeePstForGenUsr*/{ 727,-1,TabUnk,ActSeeFor ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
||||||
/* ActSeePstForGenTch*/{ 731,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
/* ActSeePstForGenTch*/{ 731,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
||||||
/* ActSeePstForSWAUsr*/{ 244,-1,TabUnk,ActSeeFor ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
/* ActSeePstForSWAUsr*/{ 244,-1,TabUnk,ActSeeFor ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
||||||
/* ActSeePstForSWATch*/{ 246,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
/* ActSeePstForSWATch*/{ 246,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_ShowThreadPosts ,NULL},
|
||||||
|
|
||||||
/* ActRcvThrForCrsUsr*/{ 350,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvThrForCrsUsr*/{ 350,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvThrForCrsTch*/{ 754,-1,TabUnk,ActSeeFor ,0x220,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvThrForCrsTch*/{ 754,-1,TabUnk,ActSeeFor ,0x230,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvThrForDegUsr*/{ 252,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvThrForDegUsr*/{ 252,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvThrForDegTch*/{ 247,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvThrForDegTch*/{ 247,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvThrForCtrUsr*/{ 903,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvThrForCtrUsr*/{ 903,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvThrForCtrTch*/{ 904,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvThrForCtrTch*/{ 904,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvThrForInsUsr*/{ 737,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvThrForInsUsr*/{ 737,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvThrForInsTch*/{ 769,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvThrForInsTch*/{ 769,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvThrForGenUsr*/{ 736,-1,TabUnk,ActSeeFor ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvThrForGenUsr*/{ 736,-1,TabUnk,ActSeeFor ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvThrForGenTch*/{ 765,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvThrForGenTch*/{ 765,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvThrForSWAUsr*/{ 258,-1,TabUnk,ActSeeFor ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvThrForSWAUsr*/{ 258,-1,TabUnk,ActSeeFor ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvThrForSWATch*/{ 259,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvThrForSWATch*/{ 259,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
|
|
||||||
/* ActRcvRepForCrsUsr*/{ 599,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvRepForCrsUsr*/{ 599,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvRepForCrsTch*/{ 755,-1,TabUnk,ActSeeFor ,0x220,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvRepForCrsTch*/{ 755,-1,TabUnk,ActSeeFor ,0x230,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvRepForDegUsr*/{ 606,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvRepForDegUsr*/{ 606,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvRepForDegTch*/{ 617,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvRepForDegTch*/{ 617,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvRepForCtrUsr*/{ 905,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvRepForCtrUsr*/{ 905,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvRepForCtrTch*/{ 906,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvRepForCtrTch*/{ 906,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvRepForInsUsr*/{ 740,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvRepForInsUsr*/{ 740,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvRepForInsTch*/{ 770,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvRepForInsTch*/{ 770,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvRepForGenUsr*/{ 747,-1,TabUnk,ActSeeFor ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvRepForGenUsr*/{ 747,-1,TabUnk,ActSeeFor ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvRepForGenTch*/{ 816,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvRepForGenTch*/{ 816,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvRepForSWAUsr*/{ 603,-1,TabUnk,ActSeeFor ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvRepForSWAUsr*/{ 603,-1,TabUnk,ActSeeFor ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
/* ActRcvRepForSWATch*/{ 622,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
/* ActRcvRepForSWATch*/{ 622,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,For_ReceiveForumPost ,NULL},
|
||||||
|
|
||||||
/* ActReqDelThrCrsUsr*/{ 867,-1,TabUnk,ActSeeFor ,0x220,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RequestRemoveThread ,NULL},
|
/* ActReqDelThrCrsUsr*/{ 867,-1,TabUnk,ActSeeFor ,0x220,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RequestRemoveThread ,NULL},
|
||||||
/* ActReqDelThrCrsTch*/{ 869,-1,TabUnk,ActSeeFor ,0x220,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RequestRemoveThread ,NULL},
|
/* ActReqDelThrCrsTch*/{ 869,-1,TabUnk,ActSeeFor ,0x220,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RequestRemoveThread ,NULL},
|
||||||
|
@ -2768,17 +2768,17 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
||||||
/* ActPasThrForSWATch*/{ 947,-1,TabUnk,ActSeeFor ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_PasteThread ,NULL},
|
/* ActPasThrForSWATch*/{ 947,-1,TabUnk,ActSeeFor ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_PasteThread ,NULL},
|
||||||
|
|
||||||
/* ActDelPstForCrsUsr*/{ 602,-1,TabUnk,ActSeeFor ,0x238,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
/* ActDelPstForCrsUsr*/{ 602,-1,TabUnk,ActSeeFor ,0x238,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
||||||
/* ActDelPstForCrsTch*/{ 756,-1,TabUnk,ActSeeFor ,0x220,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
/* ActDelPstForCrsTch*/{ 756,-1,TabUnk,ActSeeFor ,0x230,0x204,0x204,0x204,0x204,0x204,0x204,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
||||||
/* ActDelPstForDegUsr*/{ 608,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
/* ActDelPstForDegUsr*/{ 608,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
||||||
/* ActDelPstForDegTch*/{ 680,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
/* ActDelPstForDegTch*/{ 680,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
||||||
/* ActDelPstForCtrUsr*/{ 948,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
/* ActDelPstForCtrUsr*/{ 948,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
||||||
/* ActDelPstForCtrTch*/{ 949,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
/* ActDelPstForCtrTch*/{ 949,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
||||||
/* ActDelPstForInsUsr*/{ 743,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
/* ActDelPstForInsUsr*/{ 743,-1,TabUnk,ActSeeFor ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
||||||
/* ActDelPstForInsTch*/{ 772,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
/* ActDelPstForInsTch*/{ 772,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
||||||
/* ActDelPstForGenUsr*/{ 735,-1,TabUnk,ActSeeFor ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
/* ActDelPstForGenUsr*/{ 735,-1,TabUnk,ActSeeFor ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
||||||
/* ActDelPstForGenTch*/{ 950,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
/* ActDelPstForGenTch*/{ 950,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
||||||
/* ActDelPstForSWAUsr*/{ 613,-1,TabUnk,ActSeeFor ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
/* ActDelPstForSWAUsr*/{ 613,-1,TabUnk,ActSeeFor ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
||||||
/* ActDelPstForSWATch*/{ 623,-1,TabUnk,ActSeeFor ,0x3E0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
/* ActDelPstForSWATch*/{ 623,-1,TabUnk,ActSeeFor ,0x3F0,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_RemovePost ,NULL},
|
||||||
|
|
||||||
/* ActEnbPstForCrsUsr*/{ 624,-1,TabUnk,ActSeeFor ,0x220,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_EnablePost ,NULL},
|
/* ActEnbPstForCrsUsr*/{ 624,-1,TabUnk,ActSeeFor ,0x220,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_EnablePost ,NULL},
|
||||||
/* ActEnbPstForCrsTch*/{ 951,-1,TabUnk,ActSeeFor ,0x220,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_EnablePost ,NULL},
|
/* ActEnbPstForCrsTch*/{ 951,-1,TabUnk,ActSeeFor ,0x220,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,For_EnablePost ,NULL},
|
||||||
|
|
|
@ -233,13 +233,14 @@
|
||||||
/****************************** Public constants *****************************/
|
/****************************** Public constants *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 16.222 (2017-05-23)"
|
#define Log_PLATFORM_VERSION "SWAD 16.222.1 (2017-05-23)"
|
||||||
#define CSS_FILE "swad16.222.css"
|
#define CSS_FILE "swad16.222.css"
|
||||||
#define JS_FILE "swad16.206.3.js"
|
#define JS_FILE "swad16.206.3.js"
|
||||||
|
|
||||||
// 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 16.222.1: May 23, 2017 Fixed bugs in records and forums related with new role. (220359 lines)
|
||||||
Version 16.222: May 23, 2017 Alerts can be closed. (220313 lines)
|
Version 16.222: May 23, 2017 Alerts can be closed. (220313 lines)
|
||||||
Copy the following icon to icon public directory:
|
Copy the following icon to icon public directory:
|
||||||
sudo cp -a icon/close64x64.png /var/www/html/swad/icon/
|
sudo cp -a icon/close64x64.png /var/www/html/swad/icon/
|
||||||
|
|
74
swad_forum.c
74
swad_forum.c
|
@ -1817,8 +1817,15 @@ static void For_PutFormWhichForums (void)
|
||||||
static void For_WriteLinksToGblForums (bool IsLastItemInLevel[1 + For_FORUM_MAX_LEVELS])
|
static void For_WriteLinksToGblForums (bool IsLastItemInLevel[1 + For_FORUM_MAX_LEVELS])
|
||||||
{
|
{
|
||||||
bool Highlight;
|
bool Highlight;
|
||||||
|
bool ICanSeeTeacherForum;
|
||||||
struct Forum Forum;
|
struct Forum Forum;
|
||||||
|
|
||||||
|
/***** Can I see teachers's forums? *****/
|
||||||
|
Rol_GetRolesInAllCrssIfNotYetGot (&Gbl.Usrs.Me.UsrDat);
|
||||||
|
ICanSeeTeacherForum = Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
||||||
|
(Gbl.Usrs.Me.UsrDat.Roles & ((1 << Rol_NET) |
|
||||||
|
(1 << Rol_TCH)));
|
||||||
|
|
||||||
/***** Link to forum global *****/
|
/***** Link to forum global *****/
|
||||||
Forum.Type = For_FORUM_GLOBAL_USRS;
|
Forum.Type = For_FORUM_GLOBAL_USRS;
|
||||||
Forum.Location = -1L;
|
Forum.Location = -1L;
|
||||||
|
@ -1828,7 +1835,7 @@ static void For_WriteLinksToGblForums (bool IsLastItemInLevel[1 + For_FORUM_MAX_
|
||||||
|
|
||||||
/***** Link to forum of teachers global *****/
|
/***** Link to forum of teachers global *****/
|
||||||
Rol_GetRolesInAllCrssIfNotYetGot (&Gbl.Usrs.Me.UsrDat);
|
Rol_GetRolesInAllCrssIfNotYetGot (&Gbl.Usrs.Me.UsrDat);
|
||||||
if (Gbl.Usrs.Me.UsrDat.Roles >= (1 << Rol_TCH))
|
if (ICanSeeTeacherForum)
|
||||||
{
|
{
|
||||||
Forum.Type = For_FORUM_GLOBAL_TCHS;
|
Forum.Type = For_FORUM_GLOBAL_TCHS;
|
||||||
Forum.Location = -1L;
|
Forum.Location = -1L;
|
||||||
|
@ -1851,8 +1858,9 @@ static void For_WriteLinksToPlatformForums (bool IsLastForum,
|
||||||
|
|
||||||
/***** Can I see teachers's forums? *****/
|
/***** Can I see teachers's forums? *****/
|
||||||
Rol_GetRolesInAllCrssIfNotYetGot (&Gbl.Usrs.Me.UsrDat);
|
Rol_GetRolesInAllCrssIfNotYetGot (&Gbl.Usrs.Me.UsrDat);
|
||||||
ICanSeeTeacherForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
ICanSeeTeacherForum = Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
||||||
Gbl.Usrs.Me.UsrDat.Roles >= (1 << Rol_TCH));
|
(Gbl.Usrs.Me.UsrDat.Roles & ((1 << Rol_NET) |
|
||||||
|
(1 << Rol_TCH)));
|
||||||
|
|
||||||
/***** Link to forum of users about the platform *****/
|
/***** Link to forum of users about the platform *****/
|
||||||
Forum.Type = For_FORUM__SWAD__USRS;
|
Forum.Type = For_FORUM__SWAD__USRS;
|
||||||
|
@ -1881,13 +1889,16 @@ static long For_WriteLinksToInsForums (long InsCod,bool IsLastIns,
|
||||||
bool IsLastItemInLevel[1 + For_FORUM_MAX_LEVELS])
|
bool IsLastItemInLevel[1 + For_FORUM_MAX_LEVELS])
|
||||||
{
|
{
|
||||||
bool Highlight;
|
bool Highlight;
|
||||||
|
Rol_Role_t MaxRoleInIns;
|
||||||
bool ICanSeeTeacherForum;
|
bool ICanSeeTeacherForum;
|
||||||
struct Forum Forum;
|
struct Forum Forum;
|
||||||
|
|
||||||
if (InsCod > 0)
|
if (InsCod > 0)
|
||||||
{
|
{
|
||||||
|
MaxRoleInIns = Rol_GetMyMaxRoleInIns (InsCod);
|
||||||
ICanSeeTeacherForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
ICanSeeTeacherForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
||||||
Rol_GetMyMaxRoleInIns (InsCod) >= Rol_TCH);
|
MaxRoleInIns == Rol_NET ||
|
||||||
|
MaxRoleInIns == Rol_TCH);
|
||||||
|
|
||||||
/***** Link to the forum of users from this institution *****/
|
/***** Link to the forum of users from this institution *****/
|
||||||
Forum.Type = For_FORUM_INSTIT_USRS;
|
Forum.Type = For_FORUM_INSTIT_USRS;
|
||||||
|
@ -1920,13 +1931,16 @@ static long For_WriteLinksToCtrForums (long CtrCod,bool IsLastCtr,
|
||||||
bool IsLastItemInLevel[1 + For_FORUM_MAX_LEVELS])
|
bool IsLastItemInLevel[1 + For_FORUM_MAX_LEVELS])
|
||||||
{
|
{
|
||||||
bool Highlight;
|
bool Highlight;
|
||||||
|
Rol_Role_t MaxRoleInCtr;
|
||||||
bool ICanSeeTeacherForum;
|
bool ICanSeeTeacherForum;
|
||||||
struct Forum Forum;
|
struct Forum Forum;
|
||||||
|
|
||||||
if (CtrCod > 0)
|
if (CtrCod > 0)
|
||||||
{
|
{
|
||||||
|
MaxRoleInCtr = Rol_GetMyMaxRoleInCtr (CtrCod);
|
||||||
ICanSeeTeacherForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
ICanSeeTeacherForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
||||||
Rol_GetMyMaxRoleInCtr (CtrCod) >= Rol_TCH);
|
MaxRoleInCtr == Rol_NET ||
|
||||||
|
MaxRoleInCtr == Rol_TCH);
|
||||||
|
|
||||||
/***** Link to the forum of users from this centre *****/
|
/***** Link to the forum of users from this centre *****/
|
||||||
Forum.Type = For_FORUM_CENTRE_USRS;
|
Forum.Type = For_FORUM_CENTRE_USRS;
|
||||||
|
@ -1959,13 +1973,16 @@ static long For_WriteLinksToDegForums (long DegCod,bool IsLastDeg,
|
||||||
bool IsLastItemInLevel[1 + For_FORUM_MAX_LEVELS])
|
bool IsLastItemInLevel[1 + For_FORUM_MAX_LEVELS])
|
||||||
{
|
{
|
||||||
bool Highlight;
|
bool Highlight;
|
||||||
|
Rol_Role_t MaxRoleInDeg;
|
||||||
bool ICanSeeTeacherForum;
|
bool ICanSeeTeacherForum;
|
||||||
struct Forum Forum;
|
struct Forum Forum;
|
||||||
|
|
||||||
if (DegCod > 0)
|
if (DegCod > 0)
|
||||||
{
|
{
|
||||||
|
MaxRoleInDeg = Rol_GetMyMaxRoleInDeg (DegCod);
|
||||||
ICanSeeTeacherForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
ICanSeeTeacherForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
||||||
Rol_GetMyMaxRoleInDeg (DegCod) >= Rol_TCH);
|
MaxRoleInDeg == Rol_NET ||
|
||||||
|
MaxRoleInDeg == Rol_TCH);
|
||||||
|
|
||||||
/***** Link to the forum of users from this degree *****/
|
/***** Link to the forum of users from this degree *****/
|
||||||
Forum.Type = For_FORUM_DEGREE_USRS;
|
Forum.Type = For_FORUM_DEGREE_USRS;
|
||||||
|
@ -1998,13 +2015,16 @@ static long For_WriteLinksToCrsForums (long CrsCod,bool IsLastCrs,
|
||||||
bool IsLastItemInLevel[1 + For_FORUM_MAX_LEVELS])
|
bool IsLastItemInLevel[1 + For_FORUM_MAX_LEVELS])
|
||||||
{
|
{
|
||||||
bool Highlight;
|
bool Highlight;
|
||||||
|
Rol_Role_t MyRoleInCrs;
|
||||||
bool ICanSeeTeacherForum;
|
bool ICanSeeTeacherForum;
|
||||||
struct Forum Forum;
|
struct Forum Forum;
|
||||||
|
|
||||||
if (CrsCod > 0)
|
if (CrsCod > 0)
|
||||||
{
|
{
|
||||||
|
MyRoleInCrs = Rol_GetMyRoleInCrs (CrsCod);
|
||||||
ICanSeeTeacherForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
ICanSeeTeacherForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
||||||
Rol_GetMyRoleInCrs (CrsCod) >= Rol_TCH);
|
MyRoleInCrs == Rol_NET ||
|
||||||
|
MyRoleInCrs == Rol_TCH);
|
||||||
|
|
||||||
/***** Link to the forum of users from this course *****/
|
/***** Link to the forum of users from this course *****/
|
||||||
Forum.Type = For_FORUM_COURSE_USRS;
|
Forum.Type = For_FORUM_COURSE_USRS;
|
||||||
|
@ -3737,6 +3757,7 @@ static void For_SetForumType (void)
|
||||||
static void For_RestrictAccess (void)
|
static void For_RestrictAccess (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_You_dont_have_permission_to_access_to_this_forum;
|
extern const char *Txt_You_dont_have_permission_to_access_to_this_forum;
|
||||||
|
Rol_Role_t MaxRole;
|
||||||
bool ICanSeeForum;
|
bool ICanSeeForum;
|
||||||
|
|
||||||
/***** Restrict access *****/
|
/***** Restrict access *****/
|
||||||
|
@ -3749,39 +3770,60 @@ static void For_RestrictAccess (void)
|
||||||
case For_FORUM_GLOBAL_TCHS:
|
case For_FORUM_GLOBAL_TCHS:
|
||||||
case For_FORUM__SWAD__TCHS:
|
case For_FORUM__SWAD__TCHS:
|
||||||
Rol_GetRolesInAllCrssIfNotYetGot (&Gbl.Usrs.Me.UsrDat);
|
Rol_GetRolesInAllCrssIfNotYetGot (&Gbl.Usrs.Me.UsrDat);
|
||||||
ICanSeeForum = (Gbl.Usrs.Me.UsrDat.Roles >= (1 << Rol_TCH));
|
ICanSeeForum = (Gbl.Usrs.Me.UsrDat.Roles & ((1 << Rol_NET) |
|
||||||
|
(1 << Rol_TCH)));
|
||||||
break;
|
break;
|
||||||
case For_FORUM_INSTIT_USRS:
|
case For_FORUM_INSTIT_USRS:
|
||||||
|
MaxRole = Rol_GetMyMaxRoleInIns (Gbl.Forum.ForumSelected.Location);
|
||||||
ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
||||||
Rol_GetMyMaxRoleInIns (Gbl.Forum.ForumSelected.Location) >= Rol_STD);
|
MaxRole == Rol_STD ||
|
||||||
|
MaxRole == Rol_NET ||
|
||||||
|
MaxRole == Rol_TCH);
|
||||||
break;
|
break;
|
||||||
case For_FORUM_INSTIT_TCHS:
|
case For_FORUM_INSTIT_TCHS:
|
||||||
|
MaxRole = Rol_GetMyMaxRoleInIns (Gbl.Forum.ForumSelected.Location);
|
||||||
ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
||||||
Rol_GetMyMaxRoleInIns (Gbl.Forum.ForumSelected.Location) >= Rol_NET);
|
MaxRole == Rol_NET ||
|
||||||
|
MaxRole == Rol_TCH);
|
||||||
break;
|
break;
|
||||||
case For_FORUM_CENTRE_USRS:
|
case For_FORUM_CENTRE_USRS:
|
||||||
|
MaxRole = Rol_GetMyMaxRoleInCtr (Gbl.Forum.ForumSelected.Location);
|
||||||
ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
||||||
Rol_GetMyMaxRoleInCtr (Gbl.Forum.ForumSelected.Location) >= Rol_STD);
|
MaxRole >= Rol_STD ||
|
||||||
|
MaxRole == Rol_NET ||
|
||||||
|
MaxRole == Rol_TCH);
|
||||||
break;
|
break;
|
||||||
case For_FORUM_CENTRE_TCHS:
|
case For_FORUM_CENTRE_TCHS:
|
||||||
|
MaxRole = Rol_GetMyMaxRoleInCtr (Gbl.Forum.ForumSelected.Location);
|
||||||
ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
||||||
Rol_GetMyMaxRoleInCtr (Gbl.Forum.ForumSelected.Location) >= Rol_NET);
|
MaxRole == Rol_NET ||
|
||||||
|
MaxRole == Rol_TCH);
|
||||||
break;
|
break;
|
||||||
case For_FORUM_DEGREE_USRS:
|
case For_FORUM_DEGREE_USRS:
|
||||||
|
MaxRole = Rol_GetMyMaxRoleInDeg (Gbl.Forum.ForumSelected.Location);
|
||||||
ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
||||||
Rol_GetMyMaxRoleInDeg (Gbl.Forum.ForumSelected.Location) >= Rol_STD);
|
MaxRole >= Rol_STD ||
|
||||||
|
MaxRole == Rol_NET ||
|
||||||
|
MaxRole == Rol_TCH);
|
||||||
break;
|
break;
|
||||||
case For_FORUM_DEGREE_TCHS:
|
case For_FORUM_DEGREE_TCHS:
|
||||||
|
MaxRole = Rol_GetMyMaxRoleInDeg (Gbl.Forum.ForumSelected.Location);
|
||||||
ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
||||||
Rol_GetMyMaxRoleInDeg (Gbl.Forum.ForumSelected.Location) >= Rol_NET);
|
MaxRole == Rol_NET ||
|
||||||
|
MaxRole == Rol_TCH);
|
||||||
break;
|
break;
|
||||||
case For_FORUM_COURSE_USRS:
|
case For_FORUM_COURSE_USRS:
|
||||||
|
MaxRole = Rol_GetMyRoleInCrs (Gbl.Forum.ForumSelected.Location);
|
||||||
ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
||||||
Rol_GetMyRoleInCrs (Gbl.Forum.ForumSelected.Location) >= Rol_STD);
|
MaxRole >= Rol_STD ||
|
||||||
|
MaxRole == Rol_NET ||
|
||||||
|
MaxRole == Rol_TCH);
|
||||||
break;
|
break;
|
||||||
case For_FORUM_COURSE_TCHS:
|
case For_FORUM_COURSE_TCHS:
|
||||||
|
MaxRole = Rol_GetMyRoleInCrs (Gbl.Forum.ForumSelected.Location);
|
||||||
ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM ||
|
||||||
Rol_GetMyRoleInCrs (Gbl.Forum.ForumSelected.Location) >= Rol_NET);
|
MaxRole == Rol_NET ||
|
||||||
|
MaxRole == Rol_TCH);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
ICanSeeForum = false;
|
ICanSeeForum = false;
|
||||||
|
|
10
swad_user.c
10
swad_user.c
|
@ -1042,6 +1042,9 @@ bool Usr_CheckIfICanViewRecordStd (const struct UsrData *UsrDat)
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/************ Check if I can view the record card of a teacher ***************/
|
/************ Check if I can view the record card of a teacher ***************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
// Teacher here is intended as:
|
||||||
|
// - a non-editing teacher
|
||||||
|
// - or a teacher
|
||||||
|
|
||||||
bool Usr_CheckIfICanViewRecordTch (struct UsrData *UsrDat)
|
bool Usr_CheckIfICanViewRecordTch (struct UsrData *UsrDat)
|
||||||
{
|
{
|
||||||
|
@ -1049,12 +1052,13 @@ bool Usr_CheckIfICanViewRecordTch (struct UsrData *UsrDat)
|
||||||
if (!Gbl.Usrs.Me.Logged)
|
if (!Gbl.Usrs.Me.Logged)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
/***** 2. Fast/slow check: Is he/she a teacher in any course? *****/
|
/***** 2. Fast/slow check: Is he/she a non-editing teacher or a teacher in any course? *****/
|
||||||
Rol_GetRolesInAllCrssIfNotYetGot (UsrDat);
|
Rol_GetRolesInAllCrssIfNotYetGot (UsrDat);
|
||||||
if (!(UsrDat->Roles & (1 << Rol_TCH)))
|
if ((UsrDat->Roles & ((1 << Rol_NET) |
|
||||||
|
(1 << Rol_TCH))) == 0)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// He/she is a teacher
|
// He/she is a non-editing teacher or a teacher in any course
|
||||||
|
|
||||||
/***** 3. Fast check: It's me? *****/
|
/***** 3. Fast check: It's me? *****/
|
||||||
if (Gbl.Usrs.Me.UsrDat.UsrCod == UsrDat->UsrCod)
|
if (Gbl.Usrs.Me.UsrDat.UsrCod == UsrDat->UsrCod)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user