Setting up nodebb-plugin-featured-topics-extended

Technical Support

Suggested Topics


  • NodeBB shuts down

    Unsolved Technical Support
    0 Votes
    4 Posts
    381 Views

    Worked
    Thanks

  • 0 Votes
    7 Posts
    513 Views

    @julian said in Mail via Nodebb stops working (Postfix):

    587

    Actually somehow Actually, somehow the submission parameter on port 587 wasn’t present anymore in my postfix settings… And the TLS certificate wasn’t valid anymore… Anyway, I’ve forced to use port 25 without certificate. Its working again 🙂

    Thank you again @julian

  • 0 Votes
    2 Posts
    887 Views

    What plugin? The best way is to fork it on github.

  • 0 Votes
    7 Posts
    2k Views

    To restrict replies by the last reply time, you need to do two things.

    On the server side, hook into filter:topic.reply, it is passed data with the tid. Look up the last post and owner using the tid. Then, if the last post was made by the owner, and the timestamp of the last post is less then a day from now, return an error.

    On the client, you'll want to disable the reply button if the last post fulfills the same requirements above. You can use ajaxify.data to get the information you need.

    Server filter:topic.reply hook example:

    plugin.topicReply = function (data, next) { var tid = data.tid; Topics.getLatestUndeletedReply(tid, function(err, pid) { if (err) return next(null, data); Posts.getPostFields(pid, ['timestamp', 'uid'], function (err, lastPost) { if (err) return next(null, data); Topics.isOwner(tid, lastPost.uid, function (err, isOwner) { if (err) return next(null, data); if (isOwner && lastPost.timestamp + 86400000 > Date.now()) { return next(new Error('Not enough time passed.')); }else{ next(null, data); } }); }); }); });

    client.js example

    $(window).on('action:ajaxify.end', function(){ // If the user is at a page with a reply button. if ($('[component="topic/reply"]').length && ajaxify.data.posts) { var first = ajaxify.data.posts[0]; var last = ajaxify.data.posts[ajaxify.data.posts.length-1]; // If the last poster is the owner, // and they posted less than a day ago, // disable the reply button. if (last.uid === first.uid && last.timestamp + 86400000 > Date.now()) $('[component="topic/reply"]').addClass('disabled'); } });

    It's late for me, I might have messed up somewhere.

    Also, you can reduce the server code a lot by using async.waterfall and async.apply

  • 0 Votes
    2 Posts
    1k Views

    Your config file looks good, paste output of this command to rule out any user error?

    cat /home/javier/proyectos/foros/config.json