Commit Graph

66 Commits

Author SHA1 Message Date
Damyon Wiese d4035711f9 Merge branch 'MDL-63898-master' of https://github.com/snake/moodle 2018-11-07 15:30:52 +08:00
Jake Dallimore 74fc14e5b2 MDL-63898 core_message: fix for get_conversations message formatting
This used to return a text version of the message, but needs to return
the message formatted with message_format_message_text().
2018-11-07 14:23:54 +08:00
Jake Dallimore 003cdcce15 MDL-63884 core_message: add imageurl support for linked conversations
This is an extra field specific to linked conversations, so the helper
method has been extended to encompass this alongside the subname field.
2018-11-06 16:51:44 +08:00
Damyon Wiese fb3ab37a67 Merge branch 'MDL-63549-master' of https://github.com/snake/moodle 2018-11-02 10:17:54 +08:00
Jake Dallimore aa74835164 MDL-63549 core_message: exclude conversations where all messages deleted
If there are no recent messages for an individual conversation for the
user, then we exclude that conversation from the results.
2018-11-02 10:10:37 +08:00
Jun Pataleta 67d2082849 Merge branch 'MDL-63725_master' of git://github.com/markn86/moodle 2018-11-01 12:39:43 +08:00
Mark Nelson 6ecd6e5ba8 MDL-63725 core_message: added api::get_conversation_members 2018-11-01 11:18:20 +08:00
Jake Dallimore eb5865da8b MDL-63549 core_message: add group support to api::get_conversations
- Added support for returning group conversations
- Added support for conversation type filtering
- Added support for NO favourites, or ONLY favourites restrictions.
2018-10-31 08:16:31 +08:00
Andrew Nicols 621e7eb022 Merge branch 'MDL-63466-master' of https://github.com/snake/moodle 2018-10-26 12:33:13 +08:00
Jake Dallimore b95e4c786c MDL-63466 core_message: don't reorder messages when formatting
- Removed the reordering code from helper::get_conversation_messages()
- Added unit test confirming sort param behaviour for the
api::get_conversations_messages() method.
2018-10-26 12:26:23 +08:00
Mark Nelson 76540bec52 MDL-63280 core: removed 'message_conversation_area' table
These new fields have been added to the 'message_conversations'
table.
2018-10-25 18:05:20 +08:00
Mark Nelson 5571af1614 MDL-63280 core_message: added constants for enabled/disabled 2018-10-25 17:51:34 +08:00
Mark Nelson f0e137c539 MDL-63280 core: minor changes after review
- Fixed reference to non-existent column 'timeread'.
- Fixed alignment issues.
- Fixed inconsistencies between upgrade.php and install.xml.
- Cleaned unit tests of unnecessary DB calls.
- Renamed 'get_does_conversation_area_enabled' to
  'is_conversation_area_enabled' and moved to api.php.
- Replaced "$mform->elementExists('enablemessaging')"
  check with a capability check.
- Removed the change of [] to array() in unrelated to upgrade code.
- Updated conversation 'timemodified' field when updating name.
- Bumped version based on latest master.
2018-10-25 17:51:04 +08:00
cescobedo e7f467143f MDL-63280 core_message: Create group conversation from group edit page
Allows linking of course groups with conversations when group messaging feature is enabled.
2018-10-25 12:20:00 +08:00
cescobedo 55fda006e3 MDL-63280 core_message: Create conversation area 2018-10-25 12:20:00 +08:00
Mark Nelson d1e8e69d85 MDL-63466 core_message: deprecated methods and services 2018-10-24 09:40:07 +08:00
Sara Arjona fb04293bb1 MDL-63466 core_message: Add conversation support to get_messages
- The get_conversation_messages has been added to the API and the WS
with the conversation identifier (convid) instead of the userto,
to let get conversation messages and the members involved.
- The cache has been also reviewed, to use the convid instead of the
[userfrom, userto] keys.
- The get_most_recent_conversation_messages has been added to the API
to update the cache when needed.
2018-10-24 09:39:05 +08:00
Andrew Nicols 0ff384dbf1 Merge branch 'MDL-63548_master' of git://github.com/markn86/moodle 2018-10-23 10:25:54 +08:00
Mark Nelson abf7a261a9 MDL-63548 core_message: added api::can_mark_all_messages_as_read 2018-10-23 09:52:14 +08:00
Andrew Nicols 67b813514c Merge branch 'MDL-63408_master' of git://github.com/markn86/moodle 2018-10-23 08:50:40 +08:00
Andrew Nicols 9c6ccfd93b Merge branch 'MDL-63213-master-2' of https://github.com/snake/moodle 2018-10-22 10:54:56 +08:00
Andrew Nicols 7b73fd183c Merge branch 'MDL-63691_master' of git://github.com/markn86/moodle 2018-10-22 10:52:13 +08:00
Mark Nelson d9a25f397d MDL-63408 core_message: removed usage of deprecated method in tests
Also, added tests to ensure exception is thrown if you try to
add or remove members to/from an individual conversation.
2018-10-22 10:26:37 +08:00
Amaia Anabitarte 623048af81 MDL-63408 core_message: New functions to manage conversation members
New functions created to add, remove and count conversation members
2018-10-22 10:26:10 +08:00
Mark Nelson f2ac0a3e5b MDL-63691 core_message: added api::create_conversation 2018-10-22 10:21:28 +08:00
Mark Nelson e66b915c40 MDL-63691 core_message: added api::can_create_group_conversation 2018-10-22 10:21:27 +08:00
Jake Dallimore b8ff2c4481 MDL-63213 core_message: update get_conversations to support favourites
Added the type param here, which will be used in MDL-63549.
2018-10-22 09:43:33 +08:00
Sara Arjona e5eba802d5 MDL-63289 message: Deprecate is_user_non_contact_blocked method
This function has been deprecated and no other function has been
added to replace it. It was only called from can_post_message, so
its code has been moved there.
2018-10-20 08:36:24 +02:00
Sara Arjona 7983fb830e MDL-63289 message: Bypass privacy user preferences for teachers
Created capability 'moodle/site:messageanyuser' to allow
bypass user privacy preferences for messaging participants in a course,
even when some of them has blocked the teacher.
2018-10-20 08:35:17 +02:00
David Monllao 32b01d2b02 Merge branch 'MDL-63214-master' of git://github.com/sarjona/moodle 2018-10-17 15:55:44 +02:00
Sara Arjona f7dfa9ba3e MDL-63214 message: Add privacy preferences to filter who can message
Add new messaging profile preferences to allow users to choose who
can message them:
- By default, users can select between 'My contacts only' and 'My
contacts and anyone in my courses'
- When $CFG->messagingallusers is enabled, a new option is displayed
also: 'Anyone on the site'. For users who have selected this option,
if $CFG->messagingallusers is disabled, the behaviour will be changed
to 'My contacts and anyone in my courses'
2018-10-17 11:52:57 +02:00
Mark Nelson 15663b0bec MDL-63547 core_message: can_delete_conversation expects a conversationid 2018-10-17 12:05:16 +08:00
Mark Nelson 263ad98436 MDL-63547 core_message: deprecated api::delete_conversation() 2018-10-17 12:05:16 +08:00
Mark Nelson 08cb8a34f9 MDL-63547 core_message: updated api::can_delete_message 2018-10-17 12:05:16 +08:00
Mark Nelson 0d203bbf8d MDL-63211 core_message: respect new setting 'messagingallusers' 2018-10-03 11:58:39 +08:00
Mark Nelson c886e2c94d MDL-63211 core_message: deprecated api::is_user_blocked 2018-10-03 11:58:39 +08:00
Mark Nelson f219eac7b4 MDL-63211 core: update core to use new APIs 2018-10-03 11:51:29 +08:00
Mark Nelson 0b3eadcd96 MDL-63211 core_message: deprecated functions and added new API 2018-10-03 11:35:26 +08:00
Jonathan Champ b2f349a433 MDL-54035 accesslib: separate role definition cache clear
Thanks to MDL-49398, we can separate the combined user session and role
definition cache clearing function into two separate functions. At the
same time, we want to identify and remove mark_dirty() calls that were
added for role definition changes but were incorrectly left behind.

Change highlights:
 - Remove unnecessary mark_dirty() calls performed after
   assign_capability(), unassign_capability(), delete_role(),
   deleted contexts, brand new contexts
 - Move role definition cache clear from the user-centric
   accesslib_clear_all_caches() to the newly created,
   role-dedicated accesslib_reset_role_cache()
2018-09-21 09:17:42 -04:00
Mark Nelson 74ad60bfbe MDL-36941 core_message: deprecated 'api::mark_all_read_for_user' 2018-03-23 12:30:30 +08:00
Mark Nelson b2cd17e6a9 MDL-36941 core: added 'convhash' field to quickly get conversations 2018-03-23 12:30:28 +08:00
Mark Nelson 548936a6c9 MDL-36941 core_message: mark notification/messages takes stdClass
This avoid unnecessary DB calls.
2018-03-23 12:30:27 +08:00
Mark Nelson 883ce42127 MDL-36941 core: convert existing api to use new table structure
Also deprecated the following functions -

1. message_move_userfrom_unread2read - It is not necessary
   for us to mark a message as read on user deletion.
2. message_get_blocked_users - Horrible logic used to
   determine if a user is blocked via reference on some
   randomly chosen 'isblocked' variable.
3. message_get_contacts - The same as above. This can be
   done in a much nicer way.
4. message_mark_message_read - We want two functions to do
   this to avoid confusing messages and notifications.
5. message_can_delete_message - This assumed the variable
   $message contained the 'useridto' property, which
   was present in the old table structure. We do not want
   future usages where a query is done on the new table
   and is simply passed as this won't contain this property.
6. message_delete_message - Same as above.
2018-03-23 12:30:27 +08:00
Marina Glancy 33683bc80c MDL-60281 general: function each() is deprecated in PHP7.2 2017-10-16 09:37:20 +08:00
Dan Poltawski 83a6b8c48c Merge branch 'MDL-58050-master-msgtrans' of git://github.com/mudrd8mz/moodle 2017-03-20 13:19:22 +00:00
David Mudrák bb2924d018 MDL-58050 message: Commit the transaction before the early return
If there was no conversation found and the method returned early, the
active transaction was not marked as committable and the error was
reported by the request shutdown handler.

Attaching a unit test for the case just because it did not seem to be
covered. I was trying to reproduce the thrown error in the unit test but
it can't be used in this case. The shutdown handler puts the warning
directly into the error_log and it is not guaranteed where such messages
go (depending on the PHP configuration). And we do not even raise it
during the unit test execution (presumably due to noise it would
produce) anyway.
2017-02-22 13:56:02 +01:00
David Monllao cb0f30cf77 Merge branch 'MDL-58014_master' of git://github.com/markn86/moodle 2017-02-20 09:32:11 +01:00
Mark Nelson 29c3b0b4d2 MDL-58014 core_message: fixed unread message count 2017-02-20 13:29:13 +08:00
Mark Nelson f512355b31 MDL-57967 core_message: do not process conversations from deleted users 2017-02-16 13:01:06 +08:00
Ryan Wyllie e12d9f494c MDL-57370 message: add unread count to conversation tests 2017-02-09 03:39:14 +00:00