Version 16.222.1

This commit is contained in:
Antonio Cañas Vargas 2017-05-23 20:42:38 +02:00
parent 58ee00375c
commit d0c3e2da33
4 changed files with 97 additions and 50 deletions

View File

@ -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},

View File

@ -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/

View File

@ -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;

View File

@ -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)