@ -263,23 +263,36 @@ var winston = require('winston'),
} ) ;
} ) ;
}
}
ThreadTools . notifyFollowers = function ( tid , exceptUid) {
ThreadTools . notifyFollowers = function ( tid , pid, exceptUid) {
async . parallel ( [
async . parallel ( [
function ( next ) {
function ( next ) {
topics . getTopicField ( tid , 'title' , function ( err , title ) {
topics . getTopicFields ( tid , [ 'title' , 'slug' ] , function ( err , topicData ) {
topics . getTeaser ( tid , function ( err , teaser ) {
if ( err ) {
if ( ! err ) {
return next ( err ) ;
notifications . create ( '<strong>' + teaser . username + '</strong> has posted a reply to: "<strong>' + title + '</strong>"' , nconf . get ( 'relative_path' ) + '/topic/' + tid , 'topic:' + tid , function ( nid ) {
}
next ( null , nid ) ;
} ) ;
user . getUserField ( exceptUid , 'username' , function ( err , username ) {
} else next ( err ) ;
if ( err ) {
return next ( err ) ;
}
notifications . create ( '<strong>' + username + '</strong> has posted a reply to: "<strong>' + topicData . title + '</strong>"' , nconf . get ( 'relative_path' ) + '/topic/' + topicData . slug + '#' + pid , 'topic:' + tid , function ( nid ) {
next ( null , nid ) ;
} ) ;
} ) ;
} ) ;
} ) ;
} ) ;
} ,
} ,
function ( next ) {
function ( next ) {
ThreadTools . getFollowers ( tid , function ( err , followers ) {
ThreadTools . getFollowers ( tid , function ( err , followers ) {
if ( err ) {
return next ( err ) ;
}
exceptUid = parseInt ( exceptUid , 10 ) ;
exceptUid = parseInt ( exceptUid , 10 ) ;
if ( followers . indexOf ( exceptUid ) !== - 1 ) followers . splice ( followers . indexOf ( exceptUid ) , 1 ) ;
if ( followers . indexOf ( exceptUid ) !== - 1 ) {
followers . splice ( followers . indexOf ( exceptUid ) , 1 ) ;
}
next ( null , followers ) ;
next ( null , followers ) ;
} ) ;
} ) ;
}
}