Version 15.35

This commit is contained in:
Antonio Cañas Vargas 2015-11-03 21:58:51 +01:00
parent 0c44be3b4f
commit 14c47df6e0
7 changed files with 561 additions and 482 deletions

View File

@ -75,7 +75,7 @@ extern struct Globals Gbl;
/************************ Internal global variables **************************/ /************************ Internal global variables **************************/
/*****************************************************************************/ /*****************************************************************************/
/* /*
1109 actions in one CGI: 1110 actions in one CGI:
0. ActAll Any action (used for statistics) 0. ActAll Any action (used for statistics)
1. ActUnk Unknown action 1. ActUnk Unknown action
2. ActHom Show home menu 2. ActHom Show home menu
@ -1020,275 +1020,276 @@ Messages:
850. ActRcvNot Receive and create a new notice 850. ActRcvNot Receive and create a new notice
851. ActHidNot Hide a notice that was active 851. ActHidNot Hide a notice that was active
852. ActRevNot Reveal a notice that was hidden 852. ActRevNot Reveal a notice that was hidden
853. ActRemNot Remove a notice 853. ActReqRemNot Request removal of a notice
854. ActSeeNewNtf Show my recent notifications (link in top heading) 854. ActRemNot Remove a notice
855. ActMrkNtfSee Mark all my notifications as seen 855. ActSeeNewNtf Show my recent notifications (link in top heading)
856. ActSeeForCrsUsr Show top level of forum of users of the course 856. ActMrkNtfSee Mark all my notifications as seen
857. ActSeeForCrsTch Show top level of forum of teachers of the course 857. ActSeeForCrsUsr Show top level of forum of users of the course
858. ActSeeForDegUsr Show top level of forum of users of the degree 858. ActSeeForCrsTch Show top level of forum of teachers of the course
859. ActSeeForDegTch Show top level of forum of teachers of the degree 859. ActSeeForDegUsr Show top level of forum of users of the degree
860. ActSeeForCtrUsr Show top level of forum of users of the centre 860. ActSeeForDegTch Show top level of forum of teachers of the degree
861. ActSeeForCtrTch Show top level of forum of teachers of the centre 861. ActSeeForCtrUsr Show top level of forum of users of the centre
862. ActSeeForInsUsr Show top level of forum of users of the institution 862. ActSeeForCtrTch Show top level of forum of teachers of the centre
863. ActSeeForInsTch Show top level of forum of teachers of the institution 863. ActSeeForInsUsr Show top level of forum of users of the institution
864. ActSeeForGenUsr Show top level of forum of users general 864. ActSeeForInsTch Show top level of forum of teachers of the institution
865. ActSeeForGenTch Show top level of forum of teachers general 865. ActSeeForGenUsr Show top level of forum of users general
866. ActSeeForSWAUsr Show top level of forum of users of the platform 866. ActSeeForGenTch Show top level of forum of teachers general
867. ActSeeForSWATch Show top level of forum of teachers of the platform 867. ActSeeForSWAUsr Show top level of forum of users of the platform
868. ActSeePstForCrsUsr Show the messages of a thread of the forum of users of the course 868. ActSeeForSWATch Show top level of forum of teachers of the platform
869. ActSeePstForCrsTch Show the messages of a thread of the forum of teachers of the course 869. ActSeePstForCrsUsr Show the messages of a thread of the forum of users of the course
870. ActSeePstForDegUsr Show the messages of a thread of the forum of users of the degree 870. ActSeePstForCrsTch Show the messages of a thread of the forum of teachers of the course
871. ActSeePstForDegTch Show the messages of a thread of the forum of teachers of the degree 871. ActSeePstForDegUsr Show the messages of a thread of the forum of users of the degree
872. ActSeePstForCtrUsr Show the messages of a thread of the forum of users of the centre 872. ActSeePstForDegTch Show the messages of a thread of the forum of teachers of the degree
873. ActSeePstForCtrTch Show the messages of a thread of the forum of teachers of the centre 873. ActSeePstForCtrUsr Show the messages of a thread of the forum of users of the centre
874. ActSeePstForInsUsr Show the messages of a thread of the forum of users of the institution 874. ActSeePstForCtrTch Show the messages of a thread of the forum of teachers of the centre
875. ActSeePstForInsTch Show the messages of a thread of the forum of teachers of the institution 875. ActSeePstForInsUsr Show the messages of a thread of the forum of users of the institution
876. ActSeePstForGenUsr Show the messages of a thread of the forum of users general 876. ActSeePstForInsTch Show the messages of a thread of the forum of teachers of the institution
877. ActSeePstForGenTch Show the messages of a thread of the forum of teachers general 877. ActSeePstForGenUsr Show the messages of a thread of the forum of users general
878. ActSeePstForSWAUsr Show the messages of a thread of the forum of users of the platform 878. ActSeePstForGenTch Show the messages of a thread of the forum of teachers general
879. ActSeePstForSWATch Show the messages of a thread of the forum of teachers of the platform 879. ActSeePstForSWAUsr Show the messages of a thread of the forum of users of the platform
880. ActRcvThrForCrsUsr Receive the first message of a new thread of forum of users of the course 880. ActSeePstForSWATch Show the messages of a thread of the forum of teachers of the platform
881. ActRcvThrForCrsTch Receive the first message of a new thread of forum of teachers of the course 881. ActRcvThrForCrsUsr Receive the first message of a new thread of forum of users of the course
882. ActRcvThrForDegUsr Receive the first message of a new thread of forum of users of the degree 882. ActRcvThrForCrsTch Receive the first message of a new thread of forum of teachers of the course
883. ActRcvThrForDegTch Receive the first message of a new thread of forum of teachers of the degree 883. ActRcvThrForDegUsr Receive the first message of a new thread of forum of users of the degree
884. ActRcvThrForCtrUsr Receive the first message of a new thread of forum of users of centre 884. ActRcvThrForDegTch Receive the first message of a new thread of forum of teachers of the degree
885. ActRcvThrForCtrTch Receive the first message of a new thread of forum of teachers of centre 885. ActRcvThrForCtrUsr Receive the first message of a new thread of forum of users of centre
886. ActRcvThrForInsUsr Receive the first message of a new thread of forum of users of the institution 886. ActRcvThrForCtrTch Receive the first message of a new thread of forum of teachers of centre
887. ActRcvThrForInsTch Receive the first message of a new thread of forum of teachers of the institution 887. ActRcvThrForInsUsr Receive the first message of a new thread of forum of users of the institution
888. ActRcvThrForGenUsr Receive the first message of a new thread of forum of users general 888. ActRcvThrForInsTch Receive the first message of a new thread of forum of teachers of the institution
889. ActRcvThrForGenTch Receive the first message of a new thread of forum of teachers general 889. ActRcvThrForGenUsr Receive the first message of a new thread of forum of users general
890. ActRcvThrForSWAUsr Receive the first message of a new thread of forum of users of the platform 890. ActRcvThrForGenTch Receive the first message of a new thread of forum of teachers general
891. ActRcvThrForSWATch Receive the first message of a new thread of forum of teachers of the platform 891. ActRcvThrForSWAUsr Receive the first message of a new thread of forum of users of the platform
892. ActRcvRepForCrsUsr Receive a message of answer in a thread existente in the forum of users of the course 892. ActRcvThrForSWATch Receive the first message of a new thread of forum of teachers of the platform
893. ActRcvRepForCrsTch Receive a message of answer in a thread existente in the forum of teachers of the course 893. ActRcvRepForCrsUsr Receive a message of answer in a thread existente in the forum of users of the course
894. ActRcvRepForDegUsr Receive a message of answer in a thread existente in the forum of users of the degree 894. ActRcvRepForCrsTch Receive a message of answer in a thread existente in the forum of teachers of the course
895. ActRcvRepForDegTch Receive a message of answer in a thread existente in the forum of teachers of the degree 895. ActRcvRepForDegUsr Receive a message of answer in a thread existente in the forum of users of the degree
896. ActRcvRepForCtrUsr Receive a message of answer in a thread existente in the forum of users of centre 896. ActRcvRepForDegTch Receive a message of answer in a thread existente in the forum of teachers of the degree
897. ActRcvRepForCtrTch Receive a message of answer in a thread existente in the forum of teachers of centre 897. ActRcvRepForCtrUsr Receive a message of answer in a thread existente in the forum of users of centre
898. ActRcvRepForInsUsr Receive a message of answer in a thread existente in the forum of users of the institution 898. ActRcvRepForCtrTch Receive a message of answer in a thread existente in the forum of teachers of centre
899. ActRcvRepForInsTch Receive a message of answer in a thread existente in the forum of teachers of the institution 899. ActRcvRepForInsUsr Receive a message of answer in a thread existente in the forum of users of the institution
900. ActRcvRepForGenUsr Receive a message of answer in a thread existente in the forum of users general 900. ActRcvRepForInsTch Receive a message of answer in a thread existente in the forum of teachers of the institution
901. ActRcvRepForGenTch Receive a message of answer in a thread existente in the forum of teachers general 901. ActRcvRepForGenUsr Receive a message of answer in a thread existente in the forum of users general
902. ActRcvRepForSWAUsr Receive a message of answer in a thread existente in the forum of users of the platform 902. ActRcvRepForGenTch Receive a message of answer in a thread existente in the forum of teachers general
903. ActRcvRepForSWATch Receive a message of answer in a thread existente in the forum of teachers of the platform 903. ActRcvRepForSWAUsr Receive a message of answer in a thread existente in the forum of users of the platform
904. ActReqDelThrCrsUsr Request the removal of a thread of forum of users of the course 904. ActRcvRepForSWATch Receive a message of answer in a thread existente in the forum of teachers of the platform
905. ActReqDelThrCrsTch Request the removal of a thread of forum of teachers of the course 905. ActReqDelThrCrsUsr Request the removal of a thread of forum of users of the course
906. ActReqDelThrDegUsr Request the removal of a thread of forum of users of the degree 906. ActReqDelThrCrsTch Request the removal of a thread of forum of teachers of the course
907. ActReqDelThrDegTch Request the removal of a thread of forum of teachers of the degree 907. ActReqDelThrDegUsr Request the removal of a thread of forum of users of the degree
908. ActReqDelThrCtrUsr Request the removal of a thread of forum of users of centre 908. ActReqDelThrDegTch Request the removal of a thread of forum of teachers of the degree
909. ActReqDelThrCtrTch Request the removal of a thread of forum of teachers of centre 909. ActReqDelThrCtrUsr Request the removal of a thread of forum of users of centre
910. ActReqDelThrInsUsr Request the removal of a thread of forum of users of the institution 910. ActReqDelThrCtrTch Request the removal of a thread of forum of teachers of centre
911. ActReqDelThrInsTch Request the removal of a thread of forum of teachers of the institution 911. ActReqDelThrInsUsr Request the removal of a thread of forum of users of the institution
912. ActReqDelThrGenUsr Request the removal of a thread of forum of users general 912. ActReqDelThrInsTch Request the removal of a thread of forum of teachers of the institution
913. ActReqDelThrGenTch Request the removal of a thread of forum of teachers general 913. ActReqDelThrGenUsr Request the removal of a thread of forum of users general
914. ActReqDelThrSWAUsr Request the removal of a thread of forum of users of the platform 914. ActReqDelThrGenTch Request the removal of a thread of forum of teachers general
915. ActReqDelThrSWATch Request the removal of a thread of forum of teachers of the platform 915. ActReqDelThrSWAUsr Request the removal of a thread of forum of users of the platform
916. ActDelThrForCrsUsr Remove a thread of forum of users of the course 916. ActReqDelThrSWATch Request the removal of a thread of forum of teachers of the platform
917. ActDelThrForCrsTch Remove a thread of forum of teachers of the course 917. ActDelThrForCrsUsr Remove a thread of forum of users of the course
918. ActDelThrForDegUsr Remove a thread of forum of users of the degree 918. ActDelThrForCrsTch Remove a thread of forum of teachers of the course
919. ActDelThrForDegTch Remove a thread of forum of teachers of the degree 919. ActDelThrForDegUsr Remove a thread of forum of users of the degree
920. ActDelThrForCtrUsr Remove a thread of forum of users of centre 920. ActDelThrForDegTch Remove a thread of forum of teachers of the degree
921. ActDelThrForCtrTch Remove a thread of forum of teachers of centre 921. ActDelThrForCtrUsr Remove a thread of forum of users of centre
922. ActDelThrForInsUsr Remove a thread of forum of users of the institution 922. ActDelThrForCtrTch Remove a thread of forum of teachers of centre
923. ActDelThrForInsTch Remove a thread of forum of teachers of the institution 923. ActDelThrForInsUsr Remove a thread of forum of users of the institution
924. ActDelThrForGenUsr Remove a thread of forum of users general 924. ActDelThrForInsTch Remove a thread of forum of teachers of the institution
925. ActDelThrForGenTch Remove a thread of forum of teachers general 925. ActDelThrForGenUsr Remove a thread of forum of users general
926. ActDelThrForSWAUsr Remove a thread of forum of users of the platform 926. ActDelThrForGenTch Remove a thread of forum of teachers general
927. ActDelThrForSWATch Remove a thread of forum of teachers of the platform 927. ActDelThrForSWAUsr Remove a thread of forum of users of the platform
928. ActCutThrForCrsUsr Cut a thread of forum of users of the course 928. ActDelThrForSWATch Remove a thread of forum of teachers of the platform
929. ActCutThrForCrsTch Cut a thread of forum of teachers of the course 929. ActCutThrForCrsUsr Cut a thread of forum of users of the course
930. ActCutThrForDegUsr Cut a thread of forum of users of the degree 930. ActCutThrForCrsTch Cut a thread of forum of teachers of the course
931. ActCutThrForDegTch Cut a thread of forum of teachers of the degree 931. ActCutThrForDegUsr Cut a thread of forum of users of the degree
932. ActCutThrForCtrUsr Cut a thread of forum of users of centre 932. ActCutThrForDegTch Cut a thread of forum of teachers of the degree
933. ActCutThrForCtrTch Cut a thread of forum of teachers of centre 933. ActCutThrForCtrUsr Cut a thread of forum of users of centre
934. ActCutThrForInsUsr Cut a thread of forum of users of the institution 934. ActCutThrForCtrTch Cut a thread of forum of teachers of centre
935. ActCutThrForInsTch Cut a thread of forum of teachers of the institution 935. ActCutThrForInsUsr Cut a thread of forum of users of the institution
936. ActCutThrForGenUsr Cut a thread of forum of users general 936. ActCutThrForInsTch Cut a thread of forum of teachers of the institution
937. ActCutThrForGenTch Cut a thread of forum of teachers general 937. ActCutThrForGenUsr Cut a thread of forum of users general
938. ActCutThrForSWAUsr Cut a thread of forum of users of the platform 938. ActCutThrForGenTch Cut a thread of forum of teachers general
939. ActCutThrForSWATch Cut a thread of forum of teachers of the platform 939. ActCutThrForSWAUsr Cut a thread of forum of users of the platform
940. ActPasThrForCrsUsr Paste a thread of forum of users of the course 940. ActCutThrForSWATch Cut a thread of forum of teachers of the platform
941. ActPasThrForCrsTch Paste a thread of forum of teachers of the course 941. ActPasThrForCrsUsr Paste a thread of forum of users of the course
942. ActPasThrForDegUsr Paste a thread of forum of users of the degree 942. ActPasThrForCrsTch Paste a thread of forum of teachers of the course
943. ActPasThrForDegTch Paste a thread of forum of teachers of the degree 943. ActPasThrForDegUsr Paste a thread of forum of users of the degree
944. ActPasThrForCtrUsr Paste a thread of forum of users of centre 944. ActPasThrForDegTch Paste a thread of forum of teachers of the degree
945. ActPasThrForCtrTch Paste a thread of forum of teachers of centre 945. ActPasThrForCtrUsr Paste a thread of forum of users of centre
946. ActPasThrForInsUsr Paste a thread of forum of users of the institution 946. ActPasThrForCtrTch Paste a thread of forum of teachers of centre
947. ActPasThrForInsTch Paste a thread of forum of teachers of the institution 947. ActPasThrForInsUsr Paste a thread of forum of users of the institution
948. ActPasThrForGenUsr Paste a thread of forum of users general 948. ActPasThrForInsTch Paste a thread of forum of teachers of the institution
949. ActPasThrForGenTch Paste a thread of forum of teachers general 949. ActPasThrForGenUsr Paste a thread of forum of users general
950. ActPasThrForSWAUsr Paste a thread of forum of users of the platform 950. ActPasThrForGenTch Paste a thread of forum of teachers general
951. ActPasThrForSWATch Paste a thread of forum of teachers of the platform 951. ActPasThrForSWAUsr Paste a thread of forum of users of the platform
952. ActDelPstForCrsUsr Remove a message of forum of users of the course 952. ActPasThrForSWATch Paste a thread of forum of teachers of the platform
953. ActDelPstForCrsTch Remove a message of forum of teachers of the course 953. ActDelPstForCrsUsr Remove a message of forum of users of the course
954. ActDelPstForDegUsr Remove a message of forum of users of the degree 954. ActDelPstForCrsTch Remove a message of forum of teachers of the course
955. ActDelPstForDegTch Remove a message of forum of teachers of the degree 955. ActDelPstForDegUsr Remove a message of forum of users of the degree
956. ActDelPstForCtrUsr Remove a message of forum of users of centre 956. ActDelPstForDegTch Remove a message of forum of teachers of the degree
957. ActDelPstForCtrTch Remove a message of forum of teachers of centre 957. ActDelPstForCtrUsr Remove a message of forum of users of centre
958. ActDelPstForInsUsr Remove a message of forum of users of the institution 958. ActDelPstForCtrTch Remove a message of forum of teachers of centre
959. ActDelPstForInsTch Remove a message of forum of teachers of the institution 959. ActDelPstForInsUsr Remove a message of forum of users of the institution
960. ActDelPstForGenUsr Remove a message of forum of users general 960. ActDelPstForInsTch Remove a message of forum of teachers of the institution
961. ActDelPstForGenTch Remove a message of forum of teachers general 961. ActDelPstForGenUsr Remove a message of forum of users general
962. ActDelPstForSWAUsr Remove a message of forum of users of the platform 962. ActDelPstForGenTch Remove a message of forum of teachers general
963. ActDelPstForSWATch Remove a message of forum of teachers of the platform 963. ActDelPstForSWAUsr Remove a message of forum of users of the platform
964. ActEnbPstForCrsUsr Enable a message of forum of users of the course 964. ActDelPstForSWATch Remove a message of forum of teachers of the platform
965. ActEnbPstForCrsTch Enable a message of forum of teachers of the course 965. ActEnbPstForCrsUsr Enable a message of forum of users of the course
966. ActEnbPstForDegUsr Enable a message of forum of users of the degree 966. ActEnbPstForCrsTch Enable a message of forum of teachers of the course
967. ActEnbPstForDegTch Enable a message of forum of teachers of the degree 967. ActEnbPstForDegUsr Enable a message of forum of users of the degree
968. ActEnbPstForCtrUsr Enable a message of forum of users of centre 968. ActEnbPstForDegTch Enable a message of forum of teachers of the degree
969. ActEnbPstForCtrTch Enable a message of forum of teachers of centre 969. ActEnbPstForCtrUsr Enable a message of forum of users of centre
970. ActEnbPstForInsUsr Enable a message of forum of users of the institution 970. ActEnbPstForCtrTch Enable a message of forum of teachers of centre
971. ActEnbPstForInsTch Enable a message of forum of teachers of the institution 971. ActEnbPstForInsUsr Enable a message of forum of users of the institution
972. ActEnbPstForGenUsr Enable a message of forum of users general 972. ActEnbPstForInsTch Enable a message of forum of teachers of the institution
973. ActEnbPstForGenTch Enable a message of forum of teachers general 973. ActEnbPstForGenUsr Enable a message of forum of users general
974. ActEnbPstForSWAUsr Enable a message of forum of users of the platform 974. ActEnbPstForGenTch Enable a message of forum of teachers general
975. ActEnbPstForSWATch Enable a message of forum of teachers of the platform 975. ActEnbPstForSWAUsr Enable a message of forum of users of the platform
976. ActDisPstForCrsUsr Disable a message of forum of users of the course 976. ActEnbPstForSWATch Enable a message of forum of teachers of the platform
977. ActDisPstForCrsTch Disable a message of forum of teachers of the course 977. ActDisPstForCrsUsr Disable a message of forum of users of the course
978. ActDisPstForDegUsr Disable a message of forum of users of the degree 978. ActDisPstForCrsTch Disable a message of forum of teachers of the course
979. ActDisPstForDegTch Disable a message of forum of teachers of the degree 979. ActDisPstForDegUsr Disable a message of forum of users of the degree
980. ActDisPstForCtrUsr Disable a message of forum of users of centre 980. ActDisPstForDegTch Disable a message of forum of teachers of the degree
981. ActDisPstForCtrTch Disable a message of forum of teachers of centre 981. ActDisPstForCtrUsr Disable a message of forum of users of centre
982. ActDisPstForInsUsr Disable a message of forum of users of the institution 982. ActDisPstForCtrTch Disable a message of forum of teachers of centre
983. ActDisPstForInsTch Disable a message of forum of teachers of the institution 983. ActDisPstForInsUsr Disable a message of forum of users of the institution
984. ActDisPstForGenUsr Disable a message of forum of users general 984. ActDisPstForInsTch Disable a message of forum of teachers of the institution
985. ActDisPstForGenTch Disable a message of forum of teachers general 985. ActDisPstForGenUsr Disable a message of forum of users general
986. ActDisPstForSWAUsr Disable a message of forum of users of the platform 986. ActDisPstForGenTch Disable a message of forum of teachers general
987. ActDisPstForSWATch Disable a message of forum of teachers of the platform 987. ActDisPstForSWAUsr Disable a message of forum of users of the platform
988. ActRcvMsgUsr Sent/Receive a message of a user 988. ActDisPstForSWATch Disable a message of forum of teachers of the platform
989. ActReqDelAllSntMsg Request the removal of todos the messages sent to other users 989. ActRcvMsgUsr Sent/Receive a message of a user
990. ActReqDelAllRcvMsg Request the removal of todos the messages received from other users 990. ActReqDelAllSntMsg Request the removal of todos the messages sent to other users
991. ActDelAllSntMsg Remove todos the messages sent to other users 991. ActReqDelAllRcvMsg Request the removal of todos the messages received from other users
992. ActDelAllRcvMsg Remove todos the messages received from other users 992. ActDelAllSntMsg Remove todos the messages sent to other users
993. ActDelSntMsg Remove a message sent to other users 993. ActDelAllRcvMsg Remove todos the messages received from other users
994. ActDelRcvMsg Remove a message received from other user 994. ActDelSntMsg Remove a message sent to other users
995. ActExpSntMsg See (expand) sent message 995. ActDelRcvMsg Remove a message received from other user
996. ActExpRcvMsg See (expand) received message 996. ActExpSntMsg See (expand) sent message
997. ActConSntMsg Hide (contract) sent message 997. ActExpRcvMsg See (expand) received message
998. ActConRcvMsg Hide (contract) received message 998. ActConSntMsg Hide (contract) sent message
999. ActLstBanUsr List banned users 999. ActConRcvMsg Hide (contract) received message
1000. ActBanUsrMsg Ban the sender of a message when showing received messages 1000. ActLstBanUsr List banned users
1001. ActUnbUsrMsg Unban the sender of a message when showing received messages 1001. ActBanUsrMsg Ban the sender of a message when showing received messages
1002. ActUnbUsrLst Unban a user when listing banned users 1002. ActUnbUsrMsg Unban the sender of a message when showing received messages
1003. ActCht Enter in a chat room to chat 1003. ActUnbUsrLst Unban a user when listing banned users
1004. ActCht Enter in a chat room to chat
Statistics: Statistics:
1004. ActSeeAllSvy List all surveys in pages 1005. ActSeeAllSvy List all surveys in pages
1005. ActReqUseGbl Request showing use of the platform 1006. ActReqUseGbl Request showing use of the platform
1006. ActSeePhoDeg Show a class photo with the average photos of the students of each degree 1007. ActSeePhoDeg Show a class photo with the average photos of the students of each degree
1007. ActReqStaCrs Request statistics of courses 1008. ActReqStaCrs Request statistics of courses
1008. ActReqAccGbl Request query of clicks to the complete platform 1009. ActReqAccGbl Request query of clicks to the complete platform
1009. ActSeeOneSvy Show one survey 1010. ActSeeOneSvy Show one survey
1010. ActAnsSvy Answer a survey 1011. ActAnsSvy Answer a survey
1011. ActFrmNewSvy Form to create a new survey 1012. ActFrmNewSvy Form to create a new survey
1012. ActEdiOneSvy Edit one survey 1013. ActEdiOneSvy Edit one survey
1013. ActNewSvy Create new survey 1014. ActNewSvy Create new survey
1014. ActChgSvy Modify data of an existing survey 1015. ActChgSvy Modify data of an existing survey
1015. ActReqRemSvy Request the removal of a survey 1016. ActReqRemSvy Request the removal of a survey
1016. ActRemSvy Remove survey 1017. ActRemSvy Remove survey
1017. ActReqRstSvy Request the reset of answers of a survey 1018. ActReqRstSvy Request the reset of answers of a survey
1018. ActRstSvy Reset answers of survey 1019. ActRstSvy Reset answers of survey
1019. ActHidSvy Hide survey 1020. ActHidSvy Hide survey
1020. ActShoSvy Show survey 1021. ActShoSvy Show survey
1021. ActEdiOneSvyQst Edit a new question for a survey 1022. ActEdiOneSvyQst Edit a new question for a survey
1022. ActRcvSvyQst Receive a question of a survey 1023. ActRcvSvyQst Receive a question of a survey
1023. ActRemSvyQst Remove a question of a survey 1024. ActRemSvyQst Remove a question of a survey
1024. ActSeeUseGbl Show use of the platform 1025. ActSeeUseGbl Show use of the platform
1025. ActPrnPhoDeg Show vista of impresión of the class photo with the average photos of the students of each degree. 1026. ActPrnPhoDeg Show vista of impresión of the class photo with the average photos of the students of each degree.
1026. ActCalPhoDeg Compute the average photos of the students of each degree 1027. ActCalPhoDeg Compute the average photos of the students of each degree
1027. ActSeeAccGbl Query clicks to the complete platform 1028. ActSeeAccGbl Query clicks to the complete platform
1028. ActReqAccCrs Request query of clicks in the course 1029. ActReqAccCrs Request query of clicks in the course
1029. ActSeeAccCrs Query clicks to current course 1030. ActSeeAccCrs Query clicks to current course
1030. ActSeeAllStaCrs Show statistics of courses 1031. ActSeeAllStaCrs Show statistics of courses
Profile: Profile:
1031. ActFrmLogIn Show form to log in 1032. ActFrmLogIn Show form to log in
1032. ActMyCrs Select one of my courses 1033. ActMyCrs Select one of my courses
1033. ActSeeMyTimTbl Show the timetable of all courses of the logged user 1034. ActSeeMyTimTbl Show the timetable of all courses of the logged user
1034. ActFrmUsrAcc Show form to the creation or change of user's account 1035. ActFrmUsrAcc Show form to the creation or change of user's account
1035. ActReqEdiRecCom Request the edition of the record with the personal data of the user 1036. ActReqEdiRecCom Request the edition of the record with the personal data of the user
1036. ActEdiPrf Show forms to edit preferences 1037. ActEdiPrf Show forms to edit preferences
1037. ActAdmBrf Show the briefcase of private archives 1038. ActAdmBrf Show the briefcase of private archives
1038. ActMFUAct Show most frequently used actions 1039. ActMFUAct Show most frequently used actions
1039. ActAutUsrInt Authentify user internally (directly from the platform) 1040. ActAutUsrInt Authentify user internally (directly from the platform)
1040. ActAutUsrExt Authentify user externally (remotely from an external site) 1041. ActAutUsrExt Authentify user externally (remotely from an external site)
1041. ActAutUsrChgLan Change language to my language just after authentication 1042. ActAutUsrChgLan Change language to my language just after authentication
1042. ActLogOut Close session 1043. ActLogOut Close session
1043. ActAnnSee Mark announcement as seen 1044. ActAnnSee Mark announcement as seen
1044. ActReqSndNewPwd Show form to send a new password via e-mail 1045. ActReqSndNewPwd Show form to send a new password via e-mail
1045. ActSndNewPwd Send a new password via e-mail 1046. ActSndNewPwd Send a new password via e-mail
1046. ActChgMyRol Change type of logged user 1047. ActChgMyRol Change type of logged user
1047. ActCreUsrAcc Create new user account 1048. ActCreUsrAcc Create new user account
1048. ActRemIDMe Remove one of my user's IDs 1049. ActRemIDMe Remove one of my user's IDs
1049. ActNewIDMe Create a new user's ID for me 1050. ActNewIDMe Create a new user's ID for me
1050. ActRemOldNic Remove one of my old nicknames 1051. ActRemOldNic Remove one of my old nicknames
1051. ActChgNic Change my nickname 1052. ActChgNic Change my nickname
1052. ActRemOldMai Remove one of my old e-mails 1053. ActRemOldMai Remove one of my old e-mails
1053. ActChgMai Change my e-mail address 1054. ActChgMai Change my e-mail address
1054. ActCnfMai Confirm e-mail address 1055. ActCnfMai Confirm e-mail address
1055. ActFrmChgMyPwd Show form to the change of the password 1056. ActFrmChgMyPwd Show form to the change of the password
1056. ActChgPwd Change the password 1057. ActChgPwd Change the password
1057. ActReqRemMyAcc Request the removal of my account 1058. ActReqRemMyAcc Request the removal of my account
1058. ActRemMyAcc Remove my account 1059. ActRemMyAcc Remove my account
1059. ActChgMyData Update my personal data 1060. ActChgMyData Update my personal data
1060. ActReqMyPho Show form to send my photo 1061. ActReqMyPho Show form to send my photo
1061. ActDetMyPho Receive my photo and detect faces on it 1062. ActDetMyPho Receive my photo and detect faces on it
1062. ActUpdMyPho Update my photo 1063. ActUpdMyPho Update my photo
1063. ActRemMyPho Remove my photo 1064. ActRemMyPho Remove my photo
1064. ActEdiPri Edit my privacy 1065. ActEdiPri Edit my privacy
1065. ActChgPriPho Change privacy of my photo 1066. ActChgPriPho Change privacy of my photo
1066. ActChgPriPrf Change privacy of my public profile 1067. ActChgPriPrf Change privacy of my public profile
1067. ActReqEdiMyIns Request the edition of my institution, centre and department 1068. ActReqEdiMyIns Request the edition of my institution, centre and department
1068. ActChgCtyMyIns Change the country of my institution 1069. ActChgCtyMyIns Change the country of my institution
1069. ActChgMyIns Change my institution 1070. ActChgMyIns Change my institution
1070. ActChgMyCtr Change my centre 1071. ActChgMyCtr Change my centre
1071. ActChgMyDpt Change my department 1072. ActChgMyDpt Change my department
1072. ActChgMyOff Change my office 1073. ActChgMyOff Change my office
1073. ActChgMyOffPho Change my office phone 1074. ActChgMyOffPho Change my office phone
1074. ActReqEdiMyNet Request the edition of my social networks 1075. ActReqEdiMyNet Request the edition of my social networks
1075. ActChgMyNet Change my web and social networks 1076. ActChgMyNet Change my web and social networks
1076. ActChgLay Change layout 1077. ActChgLay Change layout
1077. ActChgThe Change theme 1078. ActChgThe Change theme
1078. ActReqChgLan Ask if change language 1079. ActReqChgLan Ask if change language
1079. ActChgLan Change language 1080. ActChgLan Change language
1080. ActChgCol Change side columns 1081. ActChgCol Change side columns
1081. ActHidLftCol Hide left side column 1082. ActHidLftCol Hide left side column
1082. ActHidRgtCol Hide right side column 1083. ActHidRgtCol Hide right side column
1083. ActShoLftCol Show left side column 1084. ActShoLftCol Show left side column
1084. ActShoRgtCol Show right side column 1085. ActShoRgtCol Show right side column
1085. ActChgIco Change icon set 1086. ActChgIco Change icon set
1086. ActChgMnu Change menu 1087. ActChgMnu Change menu
1087. ActChgNtfPrf Change whether to notify by e-mail new messages 1088. ActChgNtfPrf Change whether to notify by e-mail new messages
1088. ActPrnUsrQR Show my QR code ready to print 1089. ActPrnUsrQR Show my QR code ready to print
1089. ActPrnMyTimTbl Show the timetable listo to impresión of all my courses 1090. ActPrnMyTimTbl Show the timetable listo to impresión of all my courses
1090. ActEdiTut Edit the timetable of tutorías 1091. ActEdiTut Edit the timetable of tutorías
1091. ActChgTut Modify the timetable of tutorías 1092. ActChgTut Modify the timetable of tutorías
1092. ActReqRemFilBrf Request removal of a file of the briefcase 1093. ActReqRemFilBrf Request removal of a file of the briefcase
1093. ActRemFilBrf Remove a file of the briefcase 1094. ActRemFilBrf Remove a file of the briefcase
1094. ActRemFolBrf Remove a folder empty of the briefcase 1095. ActRemFolBrf Remove a folder empty of the briefcase
1095. ActCopBrf Set source of copy in the briefcase 1096. ActCopBrf Set source of copy in the briefcase
1096. ActPasBrf Paste a folder or file in the briefcase 1097. ActPasBrf Paste a folder or file in the briefcase
1097. ActRemTreBrf Remove a folder no empty of the briefcase 1098. ActRemTreBrf Remove a folder no empty of the briefcase
1098. ActFrmCreBrf Form to crear a folder or file in the briefcase 1099. ActFrmCreBrf Form to crear a folder or file in the briefcase
1099. ActCreFolBrf Create a new folder in the briefcase 1100. ActCreFolBrf Create a new folder in the briefcase
1100. ActCreLnkBrf Create a new link in the briefcase 1101. ActCreLnkBrf Create a new link in the briefcase
1101. ActRenFolBrf Rename a folder of the briefcase 1102. ActRenFolBrf Rename a folder of the briefcase
1102. ActRcvFilBrfDZ Receive a file in the briefcase using Dropzone.js 1103. ActRcvFilBrfDZ Receive a file in the briefcase using Dropzone.js
1103. ActRcvFilBrfCla Receive a file in the briefcase using the classic way 1104. ActRcvFilBrfCla Receive a file in the briefcase using the classic way
1104. ActExpBrf Expand a folder in briefcase 1105. ActExpBrf Expand a folder in briefcase
1105. ActConBrf Contract a folder in briefcase 1106. ActConBrf Contract a folder in briefcase
1106. ActZIPBrf Compress a folder in briefcase 1107. ActZIPBrf Compress a folder in briefcase
1107. ActReqDatBrf Ask for metadata of a file in the briefcase 1108. ActReqDatBrf Ask for metadata of a file in the briefcase
1108. ActChgDatBrf Change metadata of a file in the briefcase 1109. ActChgDatBrf Change metadata of a file in the briefcase
1109. ActDowBrf Download a file in the briefcase 1110. ActDowBrf Download a file in the briefcase
*/ */
const struct Act_Menu Act_Menu[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = const struct Act_Menu Act_Menu[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
@ -2456,12 +2457,13 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActRevAnn */{1471,-1,TabMsg,ActSeeAnn ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,Ann_RevealHiddenAnnouncement,Ann_ShowAllAnnouncements ,NULL}, /* ActRevAnn */{1471,-1,TabMsg,ActSeeAnn ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,Ann_RevealHiddenAnnouncement,Ann_ShowAllAnnouncements ,NULL},
/* ActRemAnn */{1236,-1,TabMsg,ActSeeAnn ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ann_RemoveAnnouncement ,NULL}, /* ActRemAnn */{1236,-1,TabMsg,ActSeeAnn ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ann_RemoveAnnouncement ,NULL},
/* ActShoNot */{1164,-1,TabMsg,ActSeeNot ,0x1FF,0x1FF,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,Not_ShowANotice ,Not_ListNotices ,NULL}, /* ActShoNot */{1164,-1,TabMsg,ActSeeNot ,0x1FF,0x1FF,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,Not_GetNotToShowHighlighted ,Not_ListNotices ,NULL},
/* ActWriNot */{ 59,-1,TabMsg,ActSeeNot ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Not_ShowFormNotice ,NULL}, /* ActWriNot */{ 59,-1,TabMsg,ActSeeNot ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Not_ShowFormNotice ,NULL},
/* ActRcvNot */{ 60,-1,TabMsg,ActSeeNot ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,Not_ReceiveNotice ,Not_ListNotices ,NULL}, /* ActRcvNot */{ 60,-1,TabMsg,ActSeeNot ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,Not_ReceiveNotice ,Not_ListNotices ,NULL},
/* ActHidNot */{ 763,-1,TabMsg,ActSeeNot ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,Not_HideActiveNotice ,Not_ListNotices ,NULL}, /* ActHidNot */{ 763,-1,TabMsg,ActSeeNot ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,Not_HideActiveNotice ,Not_ListNotices ,NULL},
/* ActRevNot */{ 764,-1,TabMsg,ActSeeNot ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,Not_RevealHiddenNotice ,Not_ListNotices ,NULL}, /* ActRevNot */{ 764,-1,TabMsg,ActSeeNot ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,Not_RevealHiddenNotice ,Not_ListNotices ,NULL},
/* ActRemNot */{ 73,-1,TabMsg,ActSeeNot ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,Not_DeleteNotice ,Not_ListNotices ,NULL}, /* ActReqRemNot */{1472,-1,TabMsg,ActSeeNot ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Not_RequestRemNotice ,NULL},
/* ActRemNot */{ 73,-1,TabMsg,ActSeeNot ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,Not_RemoveNotice ,Not_ListNotices ,NULL},
/* ActSeeNewNtf */{ 991,-1,TabMsg,ActSeeNtf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ntf_ShowMyNotifications ,NULL}, /* ActSeeNewNtf */{ 991,-1,TabMsg,ActSeeNtf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ntf_ShowMyNotifications ,NULL},
/* ActMrkNtfSee */{1146,-1,TabMsg,ActSeeNtf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ntf_MarkAllNotifAsSeen ,NULL}, /* ActMrkNtfSee */{1146,-1,TabMsg,ActSeeNtf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ntf_MarkAllNotifAsSeen ,NULL},
@ -4241,6 +4243,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActChgPwdTch, // #1469 ActChgPwdTch, // #1469
ActHidAnn, // #1470 ActHidAnn, // #1470
ActRevAnn, // #1471 ActRevAnn, // #1471
ActReqRemNot, // #1472
}; };
/*****************************************************************************/ /*****************************************************************************/

View File

@ -70,9 +70,9 @@ typedef enum
typedef int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action typedef int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action
#define Act_NUM_ACTIONS (7+52+15+90+73+68+204+182+143+170+27+79) #define Act_NUM_ACTIONS (7+52+15+90+73+68+204+182+143+171+27+79)
#define Act_MAX_ACTION_COD 1471 #define Act_MAX_ACTION_COD 1472
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 20 #define Act_MAX_OPTIONS_IN_MENU_PER_TAB 20
@ -1055,157 +1055,158 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
#define ActRcvNot (ActSeeFlr+ 17) #define ActRcvNot (ActSeeFlr+ 17)
#define ActHidNot (ActSeeFlr+ 18) #define ActHidNot (ActSeeFlr+ 18)
#define ActRevNot (ActSeeFlr+ 19) #define ActRevNot (ActSeeFlr+ 19)
#define ActRemNot (ActSeeFlr+ 20) #define ActReqRemNot (ActSeeFlr+ 20)
#define ActSeeNewNtf (ActSeeFlr+ 21) #define ActRemNot (ActSeeFlr+ 21)
#define ActMrkNtfSee (ActSeeFlr+ 22) #define ActSeeNewNtf (ActSeeFlr+ 22)
#define ActSeeForCrsUsr (ActSeeFlr+ 23) #define ActMrkNtfSee (ActSeeFlr+ 23)
#define ActSeeForCrsTch (ActSeeFlr+ 24) #define ActSeeForCrsUsr (ActSeeFlr+ 24)
#define ActSeeForDegUsr (ActSeeFlr+ 25) #define ActSeeForCrsTch (ActSeeFlr+ 25)
#define ActSeeForDegTch (ActSeeFlr+ 26) #define ActSeeForDegUsr (ActSeeFlr+ 26)
#define ActSeeForCtrUsr (ActSeeFlr+ 27) #define ActSeeForDegTch (ActSeeFlr+ 27)
#define ActSeeForCtrTch (ActSeeFlr+ 28) #define ActSeeForCtrUsr (ActSeeFlr+ 28)
#define ActSeeForInsUsr (ActSeeFlr+ 29) #define ActSeeForCtrTch (ActSeeFlr+ 29)
#define ActSeeForInsTch (ActSeeFlr+ 30) #define ActSeeForInsUsr (ActSeeFlr+ 30)
#define ActSeeForGenUsr (ActSeeFlr+ 31) #define ActSeeForInsTch (ActSeeFlr+ 31)
#define ActSeeForGenTch (ActSeeFlr+ 32) #define ActSeeForGenUsr (ActSeeFlr+ 32)
#define ActSeeForSWAUsr (ActSeeFlr+ 33) #define ActSeeForGenTch (ActSeeFlr+ 33)
#define ActSeeForSWATch (ActSeeFlr+ 34) #define ActSeeForSWAUsr (ActSeeFlr+ 34)
#define ActSeePstForCrsUsr (ActSeeFlr+ 35) #define ActSeeForSWATch (ActSeeFlr+ 35)
#define ActSeePstForCrsTch (ActSeeFlr+ 36) #define ActSeePstForCrsUsr (ActSeeFlr+ 36)
#define ActSeePstForDegUsr (ActSeeFlr+ 37) #define ActSeePstForCrsTch (ActSeeFlr+ 37)
#define ActSeePstForDegTch (ActSeeFlr+ 38) #define ActSeePstForDegUsr (ActSeeFlr+ 38)
#define ActSeePstForCtrUsr (ActSeeFlr+ 39) #define ActSeePstForDegTch (ActSeeFlr+ 39)
#define ActSeePstForCtrTch (ActSeeFlr+ 40) #define ActSeePstForCtrUsr (ActSeeFlr+ 40)
#define ActSeePstForInsUsr (ActSeeFlr+ 41) #define ActSeePstForCtrTch (ActSeeFlr+ 41)
#define ActSeePstForInsTch (ActSeeFlr+ 42) #define ActSeePstForInsUsr (ActSeeFlr+ 42)
#define ActSeePstForGenUsr (ActSeeFlr+ 43) #define ActSeePstForInsTch (ActSeeFlr+ 43)
#define ActSeePstForGenTch (ActSeeFlr+ 44) #define ActSeePstForGenUsr (ActSeeFlr+ 44)
#define ActSeePstForSWAUsr (ActSeeFlr+ 45) #define ActSeePstForGenTch (ActSeeFlr+ 45)
#define ActSeePstForSWATch (ActSeeFlr+ 46) #define ActSeePstForSWAUsr (ActSeeFlr+ 46)
#define ActRcvThrForCrsUsr (ActSeeFlr+ 47) #define ActSeePstForSWATch (ActSeeFlr+ 47)
#define ActRcvThrForCrsTch (ActSeeFlr+ 48) #define ActRcvThrForCrsUsr (ActSeeFlr+ 48)
#define ActRcvThrForDegUsr (ActSeeFlr+ 49) #define ActRcvThrForCrsTch (ActSeeFlr+ 49)
#define ActRcvThrForDegTch (ActSeeFlr+ 50) #define ActRcvThrForDegUsr (ActSeeFlr+ 50)
#define ActRcvThrForCtrUsr (ActSeeFlr+ 51) #define ActRcvThrForDegTch (ActSeeFlr+ 51)
#define ActRcvThrForCtrTch (ActSeeFlr+ 52) #define ActRcvThrForCtrUsr (ActSeeFlr+ 52)
#define ActRcvThrForInsUsr (ActSeeFlr+ 53) #define ActRcvThrForCtrTch (ActSeeFlr+ 53)
#define ActRcvThrForInsTch (ActSeeFlr+ 54) #define ActRcvThrForInsUsr (ActSeeFlr+ 54)
#define ActRcvThrForGenUsr (ActSeeFlr+ 55) #define ActRcvThrForInsTch (ActSeeFlr+ 55)
#define ActRcvThrForGenTch (ActSeeFlr+ 56) #define ActRcvThrForGenUsr (ActSeeFlr+ 56)
#define ActRcvThrForSWAUsr (ActSeeFlr+ 57) #define ActRcvThrForGenTch (ActSeeFlr+ 57)
#define ActRcvThrForSWATch (ActSeeFlr+ 58) #define ActRcvThrForSWAUsr (ActSeeFlr+ 58)
#define ActRcvRepForCrsUsr (ActSeeFlr+ 59) #define ActRcvThrForSWATch (ActSeeFlr+ 59)
#define ActRcvRepForCrsTch (ActSeeFlr+ 60) #define ActRcvRepForCrsUsr (ActSeeFlr+ 60)
#define ActRcvRepForDegUsr (ActSeeFlr+ 61) #define ActRcvRepForCrsTch (ActSeeFlr+ 61)
#define ActRcvRepForDegTch (ActSeeFlr+ 62) #define ActRcvRepForDegUsr (ActSeeFlr+ 62)
#define ActRcvRepForCtrUsr (ActSeeFlr+ 63) #define ActRcvRepForDegTch (ActSeeFlr+ 63)
#define ActRcvRepForCtrTch (ActSeeFlr+ 64) #define ActRcvRepForCtrUsr (ActSeeFlr+ 64)
#define ActRcvRepForInsUsr (ActSeeFlr+ 65) #define ActRcvRepForCtrTch (ActSeeFlr+ 65)
#define ActRcvRepForInsTch (ActSeeFlr+ 66) #define ActRcvRepForInsUsr (ActSeeFlr+ 66)
#define ActRcvRepForGenUsr (ActSeeFlr+ 67) #define ActRcvRepForInsTch (ActSeeFlr+ 67)
#define ActRcvRepForGenTch (ActSeeFlr+ 68) #define ActRcvRepForGenUsr (ActSeeFlr+ 68)
#define ActRcvRepForSWAUsr (ActSeeFlr+ 69) #define ActRcvRepForGenTch (ActSeeFlr+ 69)
#define ActRcvRepForSWATch (ActSeeFlr+ 70) #define ActRcvRepForSWAUsr (ActSeeFlr+ 70)
#define ActReqDelThrCrsUsr (ActSeeFlr+ 71) #define ActRcvRepForSWATch (ActSeeFlr+ 71)
#define ActReqDelThrCrsTch (ActSeeFlr+ 72) #define ActReqDelThrCrsUsr (ActSeeFlr+ 72)
#define ActReqDelThrDegUsr (ActSeeFlr+ 73) #define ActReqDelThrCrsTch (ActSeeFlr+ 73)
#define ActReqDelThrDegTch (ActSeeFlr+ 74) #define ActReqDelThrDegUsr (ActSeeFlr+ 74)
#define ActReqDelThrCtrUsr (ActSeeFlr+ 75) #define ActReqDelThrDegTch (ActSeeFlr+ 75)
#define ActReqDelThrCtrTch (ActSeeFlr+ 76) #define ActReqDelThrCtrUsr (ActSeeFlr+ 76)
#define ActReqDelThrInsUsr (ActSeeFlr+ 77) #define ActReqDelThrCtrTch (ActSeeFlr+ 77)
#define ActReqDelThrInsTch (ActSeeFlr+ 78) #define ActReqDelThrInsUsr (ActSeeFlr+ 78)
#define ActReqDelThrGenUsr (ActSeeFlr+ 79) #define ActReqDelThrInsTch (ActSeeFlr+ 79)
#define ActReqDelThrGenTch (ActSeeFlr+ 80) #define ActReqDelThrGenUsr (ActSeeFlr+ 80)
#define ActReqDelThrSWAUsr (ActSeeFlr+ 81) #define ActReqDelThrGenTch (ActSeeFlr+ 81)
#define ActReqDelThrSWATch (ActSeeFlr+ 82) #define ActReqDelThrSWAUsr (ActSeeFlr+ 82)
#define ActDelThrForCrsUsr (ActSeeFlr+ 83) #define ActReqDelThrSWATch (ActSeeFlr+ 83)
#define ActDelThrForCrsTch (ActSeeFlr+ 84) #define ActDelThrForCrsUsr (ActSeeFlr+ 84)
#define ActDelThrForDegUsr (ActSeeFlr+ 85) #define ActDelThrForCrsTch (ActSeeFlr+ 85)
#define ActDelThrForDegTch (ActSeeFlr+ 86) #define ActDelThrForDegUsr (ActSeeFlr+ 86)
#define ActDelThrForCtrUsr (ActSeeFlr+ 87) #define ActDelThrForDegTch (ActSeeFlr+ 87)
#define ActDelThrForCtrTch (ActSeeFlr+ 88) #define ActDelThrForCtrUsr (ActSeeFlr+ 88)
#define ActDelThrForInsUsr (ActSeeFlr+ 89) #define ActDelThrForCtrTch (ActSeeFlr+ 89)
#define ActDelThrForInsTch (ActSeeFlr+ 90) #define ActDelThrForInsUsr (ActSeeFlr+ 90)
#define ActDelThrForGenUsr (ActSeeFlr+ 91) #define ActDelThrForInsTch (ActSeeFlr+ 91)
#define ActDelThrForGenTch (ActSeeFlr+ 92) #define ActDelThrForGenUsr (ActSeeFlr+ 92)
#define ActDelThrForSWAUsr (ActSeeFlr+ 93) #define ActDelThrForGenTch (ActSeeFlr+ 93)
#define ActDelThrForSWATch (ActSeeFlr+ 94) #define ActDelThrForSWAUsr (ActSeeFlr+ 94)
#define ActCutThrForCrsUsr (ActSeeFlr+ 95) #define ActDelThrForSWATch (ActSeeFlr+ 95)
#define ActCutThrForCrsTch (ActSeeFlr+ 96) #define ActCutThrForCrsUsr (ActSeeFlr+ 96)
#define ActCutThrForDegUsr (ActSeeFlr+ 97) #define ActCutThrForCrsTch (ActSeeFlr+ 97)
#define ActCutThrForDegTch (ActSeeFlr+ 98) #define ActCutThrForDegUsr (ActSeeFlr+ 98)
#define ActCutThrForCtrUsr (ActSeeFlr+ 99) #define ActCutThrForDegTch (ActSeeFlr+ 99)
#define ActCutThrForCtrTch (ActSeeFlr+100) #define ActCutThrForCtrUsr (ActSeeFlr+100)
#define ActCutThrForInsUsr (ActSeeFlr+101) #define ActCutThrForCtrTch (ActSeeFlr+101)
#define ActCutThrForInsTch (ActSeeFlr+102) #define ActCutThrForInsUsr (ActSeeFlr+102)
#define ActCutThrForGenUsr (ActSeeFlr+103) #define ActCutThrForInsTch (ActSeeFlr+103)
#define ActCutThrForGenTch (ActSeeFlr+104) #define ActCutThrForGenUsr (ActSeeFlr+104)
#define ActCutThrForSWAUsr (ActSeeFlr+105) #define ActCutThrForGenTch (ActSeeFlr+105)
#define ActCutThrForSWATch (ActSeeFlr+106) #define ActCutThrForSWAUsr (ActSeeFlr+106)
#define ActPasThrForCrsUsr (ActSeeFlr+107) #define ActCutThrForSWATch (ActSeeFlr+107)
#define ActPasThrForCrsTch (ActSeeFlr+108) #define ActPasThrForCrsUsr (ActSeeFlr+108)
#define ActPasThrForDegUsr (ActSeeFlr+109) #define ActPasThrForCrsTch (ActSeeFlr+109)
#define ActPasThrForDegTch (ActSeeFlr+110) #define ActPasThrForDegUsr (ActSeeFlr+110)
#define ActPasThrForCtrUsr (ActSeeFlr+111) #define ActPasThrForDegTch (ActSeeFlr+111)
#define ActPasThrForCtrTch (ActSeeFlr+112) #define ActPasThrForCtrUsr (ActSeeFlr+112)
#define ActPasThrForInsUsr (ActSeeFlr+113) #define ActPasThrForCtrTch (ActSeeFlr+113)
#define ActPasThrForInsTch (ActSeeFlr+114) #define ActPasThrForInsUsr (ActSeeFlr+114)
#define ActPasThrForGenUsr (ActSeeFlr+115) #define ActPasThrForInsTch (ActSeeFlr+115)
#define ActPasThrForGenTch (ActSeeFlr+116) #define ActPasThrForGenUsr (ActSeeFlr+116)
#define ActPasThrForSWAUsr (ActSeeFlr+117) #define ActPasThrForGenTch (ActSeeFlr+117)
#define ActPasThrForSWATch (ActSeeFlr+118) #define ActPasThrForSWAUsr (ActSeeFlr+118)
#define ActDelPstForCrsUsr (ActSeeFlr+119) #define ActPasThrForSWATch (ActSeeFlr+119)
#define ActDelPstForCrsTch (ActSeeFlr+120) #define ActDelPstForCrsUsr (ActSeeFlr+120)
#define ActDelPstForDegUsr (ActSeeFlr+121) #define ActDelPstForCrsTch (ActSeeFlr+121)
#define ActDelPstForDegTch (ActSeeFlr+122) #define ActDelPstForDegUsr (ActSeeFlr+122)
#define ActDelPstForCtrUsr (ActSeeFlr+123) #define ActDelPstForDegTch (ActSeeFlr+123)
#define ActDelPstForCtrTch (ActSeeFlr+124) #define ActDelPstForCtrUsr (ActSeeFlr+124)
#define ActDelPstForInsUsr (ActSeeFlr+125) #define ActDelPstForCtrTch (ActSeeFlr+125)
#define ActDelPstForInsTch (ActSeeFlr+126) #define ActDelPstForInsUsr (ActSeeFlr+126)
#define ActDelPstForGenUsr (ActSeeFlr+127) #define ActDelPstForInsTch (ActSeeFlr+127)
#define ActDelPstForGenTch (ActSeeFlr+128) #define ActDelPstForGenUsr (ActSeeFlr+128)
#define ActDelPstForSWAUsr (ActSeeFlr+129) #define ActDelPstForGenTch (ActSeeFlr+129)
#define ActDelPstForSWATch (ActSeeFlr+130) #define ActDelPstForSWAUsr (ActSeeFlr+130)
#define ActEnbPstForCrsUsr (ActSeeFlr+131) #define ActDelPstForSWATch (ActSeeFlr+131)
#define ActEnbPstForCrsTch (ActSeeFlr+132) #define ActEnbPstForCrsUsr (ActSeeFlr+132)
#define ActEnbPstForDegUsr (ActSeeFlr+133) #define ActEnbPstForCrsTch (ActSeeFlr+133)
#define ActEnbPstForDegTch (ActSeeFlr+134) #define ActEnbPstForDegUsr (ActSeeFlr+134)
#define ActEnbPstForCtrUsr (ActSeeFlr+135) #define ActEnbPstForDegTch (ActSeeFlr+135)
#define ActEnbPstForCtrTch (ActSeeFlr+136) #define ActEnbPstForCtrUsr (ActSeeFlr+136)
#define ActEnbPstForInsUsr (ActSeeFlr+137) #define ActEnbPstForCtrTch (ActSeeFlr+137)
#define ActEnbPstForInsTch (ActSeeFlr+138) #define ActEnbPstForInsUsr (ActSeeFlr+138)
#define ActEnbPstForGenUsr (ActSeeFlr+139) #define ActEnbPstForInsTch (ActSeeFlr+139)
#define ActEnbPstForGenTch (ActSeeFlr+140) #define ActEnbPstForGenUsr (ActSeeFlr+140)
#define ActEnbPstForSWAUsr (ActSeeFlr+141) #define ActEnbPstForGenTch (ActSeeFlr+141)
#define ActEnbPstForSWATch (ActSeeFlr+142) #define ActEnbPstForSWAUsr (ActSeeFlr+142)
#define ActDisPstForCrsUsr (ActSeeFlr+143) #define ActEnbPstForSWATch (ActSeeFlr+143)
#define ActDisPstForCrsTch (ActSeeFlr+144) #define ActDisPstForCrsUsr (ActSeeFlr+144)
#define ActDisPstForDegUsr (ActSeeFlr+145) #define ActDisPstForCrsTch (ActSeeFlr+145)
#define ActDisPstForDegTch (ActSeeFlr+146) #define ActDisPstForDegUsr (ActSeeFlr+146)
#define ActDisPstForCtrUsr (ActSeeFlr+147) #define ActDisPstForDegTch (ActSeeFlr+147)
#define ActDisPstForCtrTch (ActSeeFlr+148) #define ActDisPstForCtrUsr (ActSeeFlr+148)
#define ActDisPstForInsUsr (ActSeeFlr+149) #define ActDisPstForCtrTch (ActSeeFlr+149)
#define ActDisPstForInsTch (ActSeeFlr+150) #define ActDisPstForInsUsr (ActSeeFlr+150)
#define ActDisPstForGenUsr (ActSeeFlr+151) #define ActDisPstForInsTch (ActSeeFlr+151)
#define ActDisPstForGenTch (ActSeeFlr+152) #define ActDisPstForGenUsr (ActSeeFlr+152)
#define ActDisPstForSWAUsr (ActSeeFlr+153) #define ActDisPstForGenTch (ActSeeFlr+153)
#define ActDisPstForSWATch (ActSeeFlr+154) #define ActDisPstForSWAUsr (ActSeeFlr+154)
#define ActRcvMsgUsr (ActSeeFlr+155) #define ActDisPstForSWATch (ActSeeFlr+155)
#define ActReqDelAllSntMsg (ActSeeFlr+156) #define ActRcvMsgUsr (ActSeeFlr+156)
#define ActReqDelAllRcvMsg (ActSeeFlr+157) #define ActReqDelAllSntMsg (ActSeeFlr+157)
#define ActDelAllSntMsg (ActSeeFlr+158) #define ActReqDelAllRcvMsg (ActSeeFlr+158)
#define ActDelAllRcvMsg (ActSeeFlr+159) #define ActDelAllSntMsg (ActSeeFlr+159)
#define ActDelSntMsg (ActSeeFlr+160) #define ActDelAllRcvMsg (ActSeeFlr+160)
#define ActDelRcvMsg (ActSeeFlr+161) #define ActDelSntMsg (ActSeeFlr+161)
#define ActExpSntMsg (ActSeeFlr+162) #define ActDelRcvMsg (ActSeeFlr+162)
#define ActExpRcvMsg (ActSeeFlr+163) #define ActExpSntMsg (ActSeeFlr+163)
#define ActConSntMsg (ActSeeFlr+164) #define ActExpRcvMsg (ActSeeFlr+164)
#define ActConRcvMsg (ActSeeFlr+165) #define ActConSntMsg (ActSeeFlr+165)
#define ActLstBanUsr (ActSeeFlr+166) #define ActConRcvMsg (ActSeeFlr+166)
#define ActBanUsrMsg (ActSeeFlr+167) #define ActLstBanUsr (ActSeeFlr+167)
#define ActUnbUsrMsg (ActSeeFlr+168) #define ActBanUsrMsg (ActSeeFlr+168)
#define ActUnbUsrLst (ActSeeFlr+169) #define ActUnbUsrMsg (ActSeeFlr+169)
#define ActCht (ActSeeFlr+170) #define ActUnbUsrLst (ActSeeFlr+170)
#define ActCht (ActSeeFlr+171)
/*****************************************************************************/ /*****************************************************************************/
/****************************** Statistics tab *******************************/ /****************************** Statistics tab *******************************/

View File

@ -103,17 +103,20 @@
// TODO: Put headers Content-type and Content-disposition when redirecting with Location: // TODO: Put headers Content-type and Content-disposition when redirecting with Location:
// TODO: System admin should be able to remove/edit user's mail (when he/she detects a recipient does not exists, for example) // TODO: System admin should be able to remove/edit user's mail (when he/she detects a recipient does not exists, for example)
// TODO: When a new assignment/attendance/survey is incorrect, the second time the form is shown, it should be filled with partial data, now is always empty // TODO: When a new assignment/attendance/survey is incorrect, the second time the form is shown, it should be filled with partial data, now is always empty
// TODO: Ask for notice removal
/*****************************************************************************/ /*****************************************************************************/
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 15.34.4 (2015/11/03)" #define Log_PLATFORM_VERSION "SWAD 15.35 (2015/11/03)"
// 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 15.35: Nov 03, 2015 Request confirmation on notice removal. (186944 lines)
1 change necessary in database:
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1472','es','N','Solicitar elim. aviso');
Version 15.34.4: Nov 03, 2015 Fixed bug in account creation, reported by Héctor García Marcos. (186881 lines) Version 15.34.4: Nov 03, 2015 Fixed bug in account creation, reported by Héctor García Marcos. (186881 lines)
Version 15.34.3: Nov 03, 2015 Fixed bug in photo uploading, reported by Fernando Rojas Ruiz. (186879 lines) Version 15.34.3: Nov 03, 2015 Fixed bug in photo uploading, reported by Fernando Rojas Ruiz. (186879 lines)
Version 15.34.2: Nov 02, 2015 Fixed bugs in date forms. (186878 lines) Version 15.34.2: Nov 02, 2015 Fixed bugs in date forms. (186878 lines)

View File

@ -947,7 +947,8 @@ static void Lay_ShowLeftColumn (void)
{ {
fprintf (Gbl.F.Out,"<tr>" fprintf (Gbl.F.Out,"<tr>"
"<td class=\"CENTER_TOP\">"); "<td class=\"CENTER_TOP\">");
Not_ShowNotices (Not_LIST_BRIEF_NOTICES); Not_ShowNotices (Not_LIST_BRIEF_NOTICES,
false); // Nobody can not edit notices here
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>"
"</tr>"); "</tr>");
} }

View File

@ -65,6 +65,7 @@ const unsigned Not_MaxCharsURLOnScreen[Not_NUM_TYPES_LISTING] =
/***************************** Private prototypes ****************************/ /***************************** Private prototypes ****************************/
/*****************************************************************************/ /*****************************************************************************/
static void Not_GetDataAndShowNotice (long NotCod,bool ICanEditNotices);
static void Not_DrawANotice (Not_Listing_t TypeNoticesListing, static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
long NotCod, long NotCod,
time_t TimeUTC, time_t TimeUTC,
@ -89,6 +90,7 @@ void Not_ShowFormNotice (void)
extern const char *Txt_MSG_Message; extern const char *Txt_MSG_Message;
extern const char *Txt_Create_notice; extern const char *Txt_Create_notice;
/***** Help message *****/
sprintf (Gbl.Message,Txt_The_notice_you_enter_here_will_appear_as_a_yellow_note_, sprintf (Gbl.Message,Txt_The_notice_you_enter_here_will_appear_as_a_yellow_note_,
Gbl.CurrentCrs.Crs.FullName); Gbl.CurrentCrs.Crs.FullName);
Lay_ShowAlert (Lay_INFO,Gbl.Message); Lay_ShowAlert (Lay_INFO,Gbl.Message);
@ -117,6 +119,10 @@ void Not_ShowFormNotice (void)
/***** End form *****/ /***** End form *****/
Act_FormEnd (); Act_FormEnd ();
/***** Show all notices *****/
Not_ShowNotices (Not_LIST_FULL_NOTICES,
true); // I can create a new notice ==> I can edit notices
} }
/*****************************************************************************/ /*****************************************************************************/
@ -185,7 +191,23 @@ static void Not_UpdateNumUsrsNotifiedByEMailAboutNotice (long NotCod,unsigned Nu
void Not_ListNotices (void) void Not_ListNotices (void)
{ {
Not_ShowNotices (Not_LIST_FULL_NOTICES); extern const char *Txt_New_notice;
bool ICanEditNotices = (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER ||
Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM);
if (ICanEditNotices)
{
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_PutContextualLink (ActWriNot,NULL,"new",Txt_New_notice);
fprintf (Gbl.F.Out,"</div>");
}
/***** Show highlighted notice *****/
if (Gbl.CurrentCrs.Notices.HighlightNotCod > 0)
Not_GetDataAndShowNotice (Gbl.CurrentCrs.Notices.HighlightNotCod,ICanEditNotices);
/***** Show all notices *****/
Not_ShowNotices (Not_LIST_FULL_NOTICES,ICanEditNotices);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -234,16 +256,43 @@ void Not_RevealHiddenNotice (void)
RSS_UpdateRSSFileForACrs (&Gbl.CurrentCrs.Crs); RSS_UpdateRSSFileForACrs (&Gbl.CurrentCrs.Crs);
} }
/*****************************************************************************/
/********************* Request the removal of a notice ***********************/
/*****************************************************************************/
void Not_RequestRemNotice (void)
{
extern const char *Txt_Do_you_really_want_to_remove_the_following_notice;
extern const char *Txt_Remove;
long NotCod;
/***** Get the code of the notice to remove *****/
NotCod = Not_GetParamNotCod ();
/***** Form to ask for confirmation to remove this notice *****/
Act_FormStart (ActRemNot);
Not_PutHiddenParamNotCod (NotCod);
Lay_ShowAlert (Lay_WARNING,Txt_Do_you_really_want_to_remove_the_following_notice);
Not_GetDataAndShowNotice (NotCod,
false); // Do not edit this notice
Lay_PutRemoveButton (Txt_Remove);
Act_FormEnd ();
/***** Show all notices *****/
Not_ShowNotices (Not_LIST_FULL_NOTICES,
true); // I can remove notices ==> I can edit notices
}
/*****************************************************************************/ /*****************************************************************************/
/******************************* Remove a notice *****************************/ /******************************* Remove a notice *****************************/
/*****************************************************************************/ /*****************************************************************************/
void Not_DeleteNotice (void) void Not_RemoveNotice (void)
{ {
char Query[512]; char Query[512];
long NotCod; long NotCod;
/***** Get the code of the notice to delete *****/ /***** Get the code of the notice to remove *****/
NotCod = Not_GetParamNotCod (); NotCod = Not_GetParamNotCod ();
/***** Remove notice *****/ /***** Remove notice *****/
@ -269,10 +318,10 @@ void Not_DeleteNotice (void)
} }
/*****************************************************************************/ /*****************************************************************************/
/**************************** Show (expand) a notice *************************/ /********************* Get notice to show highlighted ************************/
/*****************************************************************************/ /*****************************************************************************/
void Not_ShowANotice (void) void Not_GetNotToShowHighlighted (void)
{ {
/***** Get the code of the notice to highlight *****/ /***** Get the code of the notice to highlight *****/
Gbl.CurrentCrs.Notices.HighlightNotCod = Not_GetParamNotCod (); Gbl.CurrentCrs.Notices.HighlightNotCod = Not_GetParamNotCod ();
@ -282,9 +331,8 @@ void Not_ShowANotice (void)
/***************************** Show the notices ******************************/ /***************************** Show the notices ******************************/
/*****************************************************************************/ /*****************************************************************************/
void Not_ShowNotices (Not_Listing_t TypeNoticesListing) void Not_ShowNotices (Not_Listing_t TypeNoticesListing,bool ICanEditNotices)
{ {
extern const char *Txt_New_notice;
extern const char *Txt_All_notices; extern const char *Txt_All_notices;
extern const char *Txt_No_notices; extern const char *Txt_No_notices;
char Query[512]; char Query[512];
@ -300,65 +348,10 @@ void Not_ShowNotices (Not_Listing_t TypeNoticesListing)
long UsrCod; long UsrCod;
unsigned UnsignedNum; unsigned UnsignedNum;
Not_Status_t Status; Not_Status_t Status;
bool ICanEditNotices;
/***** A course must be selected (Gbl.CurrentCrs.Crs.CrsCod > 0) *****/ /***** A course must be selected (Gbl.CurrentCrs.Crs.CrsCod > 0) *****/
if (Gbl.CurrentCrs.Crs.CrsCod > 0) if (Gbl.CurrentCrs.Crs.CrsCod > 0)
{ {
ICanEditNotices = (TypeNoticesListing == Not_LIST_FULL_NOTICES &&
(Gbl.Usrs.Me.LoggedRole == Rol_TEACHER ||
Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM));
if (ICanEditNotices)
{
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
Act_PutContextualLink (ActWriNot,NULL,"new",Txt_New_notice);
fprintf (Gbl.F.Out,"</div>");
}
/***** Show highlighted notice *****/
if (TypeNoticesListing == Not_LIST_FULL_NOTICES &&
Gbl.CurrentCrs.Notices.HighlightNotCod > 0)
{
sprintf (Query,"SELECT UNIX_TIMESTAMP(CreatTime) AS F,UsrCod,Content,Status"
" FROM notices"
" WHERE NotCod='%ld' AND CrsCod='%ld'",
Gbl.CurrentCrs.Notices.HighlightNotCod,
Gbl.CurrentCrs.Crs.CrsCod);
if (DB_QuerySELECT (Query,&mysql_res,"can not get notice from database"))
{
row = mysql_fetch_row (mysql_res);
/* Get creation time (row[0] holds the UTC date-time) */
TimeUTC = Dat_GetUNIXTimeFromStr (row[0]);
/* Get user code (row[1]) */
UsrCod = Str_ConvertStrCodToLongCod (row[1]);
/* Get the content (row[2]) and insert links*/
strncpy (Content,row[2],Cns_MAX_BYTES_TEXT);
Str_InsertLinkInURLs (Content,Cns_MAX_BYTES_TEXT,
Not_MaxCharsURLOnScreen[TypeNoticesListing]);
if (TypeNoticesListing == Not_LIST_BRIEF_NOTICES)
Str_LimitLengthHTMLStr (Content,Not_MAX_CHARS_ON_NOTICE);
/* Get status of the notice (row[3]) */
Status = Not_OBSOLETE_NOTICE;
if (sscanf (row[3],"%u",&UnsignedNum) == 1)
if (UnsignedNum < Not_NUM_STATUS)
Status = (Not_Status_t) UnsignedNum;
/* Draw the notice */
Not_DrawANotice (TypeNoticesListing,
Gbl.CurrentCrs.Notices.HighlightNotCod,
TimeUTC,Content,UsrCod,Status,
ICanEditNotices);
}
/* Free structure that stores the query result */
DB_FreeMySQLResult (&mysql_res);
}
/***** Get notices from database *****/ /***** Get notices from database *****/
switch (TypeNoticesListing) switch (TypeNoticesListing)
{ {
@ -466,6 +459,59 @@ void Not_ShowNotices (Not_Listing_t TypeNoticesListing)
} }
} }
/*****************************************************************************/
/******************** Get data of a notice and show it ***********************/
/*****************************************************************************/
static void Not_GetDataAndShowNotice (long NotCod,bool ICanEditNotices)
{
char Query[512];
MYSQL_RES *mysql_res;
MYSQL_ROW row;
char Content[Cns_MAX_BYTES_TEXT+1];
time_t TimeUTC;
long UsrCod;
unsigned UnsignedNum;
Not_Status_t Status;
/***** Get notice data from database *****/
sprintf (Query,"SELECT UNIX_TIMESTAMP(CreatTime) AS F,UsrCod,Content,Status"
" FROM notices"
" WHERE NotCod='%ld' AND CrsCod='%ld'",
NotCod,
Gbl.CurrentCrs.Crs.CrsCod);
if (DB_QuerySELECT (Query,&mysql_res,"can not get notice from database"))
{
row = mysql_fetch_row (mysql_res);
/* Get creation time (row[0] holds the UTC date-time) */
TimeUTC = Dat_GetUNIXTimeFromStr (row[0]);
/* Get user code (row[1]) */
UsrCod = Str_ConvertStrCodToLongCod (row[1]);
/* Get the content (row[2]) and insert links*/
strncpy (Content,row[2],Cns_MAX_BYTES_TEXT);
Str_InsertLinkInURLs (Content,Cns_MAX_BYTES_TEXT,
Not_MaxCharsURLOnScreen[Not_LIST_FULL_NOTICES]);
/* Get status of the notice (row[3]) */
Status = Not_OBSOLETE_NOTICE;
if (sscanf (row[3],"%u",&UnsignedNum) == 1)
if (UnsignedNum < Not_NUM_STATUS)
Status = (Not_Status_t) UnsignedNum;
/***** Draw the notice *****/
Not_DrawANotice (Not_LIST_FULL_NOTICES,
NotCod,
TimeUTC,Content,UsrCod,Status,
ICanEditNotices);
}
/***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res);
}
/*****************************************************************************/ /*****************************************************************************/
/********************* Draw a notice as a yellow note ************************/ /********************* Draw a notice as a yellow note ************************/
/*****************************************************************************/ /*****************************************************************************/
@ -520,7 +566,7 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
if (ICanEditNotices) if (ICanEditNotices)
{ {
/* Form to remove notice */ /* Form to remove notice */
Act_FormStart (ActRemNot); Act_FormStart (ActReqRemNot);
Not_PutHiddenParamNotCod (NotCod); Not_PutHiddenParamNotCod (NotCod);
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_OPT ICON_HIGHLIGHT\">" fprintf (Gbl.F.Out,"<div class=\"CONTEXT_OPT ICON_HIGHLIGHT\">"
"<input type=\"image\"" "<input type=\"image\""

View File

@ -58,11 +58,15 @@ typedef enum
void Not_ShowFormNotice (void); void Not_ShowFormNotice (void);
void Not_ReceiveNotice (void); void Not_ReceiveNotice (void);
void Not_ListNotices (void); void Not_ListNotices (void);
void Not_HideActiveNotice (void); void Not_HideActiveNotice (void);
void Not_RevealHiddenNotice (void); void Not_RevealHiddenNotice (void);
void Not_DeleteNotice (void);
void Not_ShowANotice (void); void Not_RequestRemNotice (void);
void Not_ShowNotices (Not_Listing_t TypeNoticesListing); void Not_RemoveNotice (void);
void Not_GetNotToShowHighlighted (void);
void Not_ShowNotices (Not_Listing_t TypeNoticesListing,bool ICanEditNotices);
void Not_GetNotifNotice (char *SummaryStr,char **ContentStr,long NotCod,unsigned MaxChars,bool GetContent); void Not_GetNotifNotice (char *SummaryStr,char **ContentStr,long NotCod,unsigned MaxChars,bool GetContent);
unsigned Not_GetNumNotices (Sco_Scope_t Scope,Not_Status_t Status,unsigned *NumNotif); unsigned Not_GetNumNotices (Sco_Scope_t Scope,Not_Status_t Status,unsigned *NumNotif);
unsigned Not_GetNumNoticesDeleted (Sco_Scope_t Scope,unsigned *NumNotif); unsigned Not_GetNumNoticesDeleted (Sco_Scope_t Scope,unsigned *NumNotif);

View File

@ -8538,6 +8538,27 @@ const char *Txt_Do_you_really_want_to_remove_the_folder_X = // Warning: it is ve
" o diret&oacute;rio <strong>%s</strong> e todo o seu conte&uacute;do?"; " o diret&oacute;rio <strong>%s</strong> e todo o seu conte&uacute;do?";
#endif #endif
const char *Txt_Do_you_really_want_to_remove_the_following_notice =
#if L==0
"&iquest;Realmente desea eliminar el siguiente aviso?"; // Necessita traduccio
#elif L==1
"Do you really want to remove the following notice?"; // Need Übersetzung
#elif L==2
"Do you really want to remove the following notice?";
#elif L==3
"&iquest;Realmente desea eliminar el siguiente aviso?";
#elif L==4
"Do you really want to remove the following notice?"; // Besoin de traduction
#elif L==5
"&iquest;Realmente desea eliminar el siguiente aviso?"; // Okoteve traducción
#elif L==6
"Vuoi realmente rimuovere il seguente avviso?";
#elif L==7
"Czy na pewno chcesz usunac nastepujace obwieszczenie?";
#elif L==8
"Do you really want to remove the following notice>?"; // Necessita de tradução
#endif
const char *Txt_Do_you_really_want_to_remove_the_following_user_as_an_administrator_of_the_centre_X = // Warning: it is very important to include %s in the following sentences const char *Txt_Do_you_really_want_to_remove_the_following_user_as_an_administrator_of_the_centre_X = // Warning: it is very important to include %s in the following sentences
#if L==0 #if L==0
"&iquest;Realmente desea eliminar el siguiente usuario" "&iquest;Realmente desea eliminar el siguiente usuario"