comments_notify_tagged()

Description

Notify anyone tagged when a new comment is posted

Parameters

ColumnTypeDefaultDescription
$comment string The comment body
$from_user integer Who posted the comment
$resource integer null If commenting on a resource, the resource ID
$collection integer null If commenting on a collection, the collection ID

Return

void

Location

include/comment_functions.php lines 495 to 523

Definition

 
function comments_notify_tagged($comment$from_user$resource null$collection null)
{
    
// Find tagged users.
    
$success preg_match_all("/@.*? /"$comment " "$taggedPREG_PATTERN_ORDER);
    if (!
$success) {
        return 
true;
    } 
// Nothing to do, return out.
    
foreach ($tagged[0] as $tag) {
        
$tag substr($tag1);
        
$tag trim($tag); // Get just the username.
        
$user get_user_by_username($tag); // Find the matching user ID
        // No match but there's an underscore? Try replacing the underscore with a space and search again. Spaces are swapped to underscores when tagging.
        
if ($user === false) {
            
$user get_user_by_username(str_replace("_"" "$tag));
        }

        if (
$user 0) {
            
// Notify them.

            // Build a URL based on whether this is a resource or collection
            
global $baseurl,$userref,$lang;
            
$url $baseurl "/?" . (is_null($resource) ? "c" "r") . "=" . (is_null($resource) ? $collection $resource);

            
// Send the message.
            
message_add(array($user), $lang["tagged_notification"] . " " $comment$url$userref);
        }
    }
    return 
true;
}

This article was last updated 26th April 2025 13:35 Europe/London time based on the source file dated 18th March 2025 17:30 Europe/London time.