mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-10 10:45:23 +02:00
Version 15.35
This commit is contained in:
parent
0c44be3b4f
commit
14c47df6e0
523
swad_action.c
523
swad_action.c
|
@ -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
|
||||||
};
|
};
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
307
swad_action.h
307
swad_action.h
|
@ -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 *******************************/
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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>");
|
||||||
}
|
}
|
||||||
|
|
172
swad_notice.c
172
swad_notice.c
|
@ -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\""
|
||||||
|
|
|
@ -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);
|
||||||
|
|
21
swad_text.c
21
swad_text.c
|
@ -8538,6 +8538,27 @@ const char *Txt_Do_you_really_want_to_remove_the_folder_X = // Warning: it is ve
|
||||||
" o diretório <strong>%s</strong> e todo o seu conteúdo?";
|
" o diretório <strong>%s</strong> e todo o seu conteúdo?";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
const char *Txt_Do_you_really_want_to_remove_the_following_notice =
|
||||||
|
#if L==0
|
||||||
|
"¿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
|
||||||
|
"¿Realmente desea eliminar el siguiente aviso?";
|
||||||
|
#elif L==4
|
||||||
|
"Do you really want to remove the following notice?"; // Besoin de traduction
|
||||||
|
#elif L==5
|
||||||
|
"¿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
|
||||||
"¿Realmente desea eliminar el siguiente usuario"
|
"¿Realmente desea eliminar el siguiente usuario"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user