Caio M
asked 4 years ago

I upgraded to DWQA 1.4.3.3 recently and now I have been having some problems with it. So far the major issues I have had are:

1. HTML Markup: the HTML markup is getting sanitized from the content of questions, answers or a comments when inserting or updating. This is because in /inc/posts/base.php the function sanitize_text_fiel() is getting called on the $_POST variables sanitizing any HTML markup there is, and then it is sent to a kses filter (which makes no sense to me).

2. Edit permission: to be honest I have to investigate this better, however, it seems that ‘current user’ lost the ability to edit their own questions, answers or comments. When dwqa_current_user_can() is checked, it returns false even when the user is the author of that item (checked for.)

This is it for now. Will update if anything else if found. This plugin is the best Q/A wordpress plugin out there, but as most plugins, it needs to be worked on, hacked on (when necessary) and customized to your application accordingly. Thanks for this great tool.

3 Answers
DominicStaff
answered 4 years ago

Thank you for interesting in our product and your feedback. We appreciate it.

I sent and notified our technical team about this problem. We are checking and fixing.

Any your suggestion will make our product become better and better.

Caio M
answered 4 years ago

Yes, no problem. I am happy to help. More on the two issues I pointed out above:

1) HTML Markup: the issue is the sanitize_text_field() in the base.php file. I mentioned comment is getting the HTML markup stripped, but this is actually not an issue for comments since comments shouldn’t contain HTML markup anyway. But for question/answer post types, it should be allowed.

2) Edit Permission: as I pointed out on the previous post, the post author isn’t allowed to edit/delete their own posts; I am not sure what the behavior was previously, but I think the author used to be able to edit/delete their own post.

Another issue that I have recently found:

3) Post timestamp: templates are displaying GTM timezone instead of local time. This occurs in the templates: content-question.php, content-single-question.php and content-single-answer.php. To get the local time, add the paramenter current_time(‘timestamp’) as the second argument for the function human_time_diff().

For example, in content-single-question.php:

Find:

human_time_diff( get_post_time( ‘U’ ) )

Replace with:

human_time_diff( get_post_time( ‘U’ ), current_time( ‘timestamp’ ) )

Lastly, I have four suggestions, three are simple to implement…

Suggestion 1:

Allow users to use a custom taxonomy for questions instead of the built-in question taxonomy. This would be useful for integration of other custom post types and taxonomies.

Suggetion 2:

Disallow user to vote on their own question/answer.

Suggestion 3:

Implementation of a Report button allowing users to report to the admin questions, answers and comments when innappropriate.

Suggestion 4:

Implement revision tracking for questions and answers. When a user edits a question or answer, it would be nice to track what changes have been made.

All these suggestions are hacks that I am implementing myself, but it would be really nice to see implemented in the plugin itself.

Alright, back to work… thanks again!

Caio M
replied 4 years ago

Possibly another bug in dwqa_get_latest_answer() function in /inc/Status.php, the ‘post_status’ argument passed to wp_get_recent_posts() should contain ‘publish’ and not ‘public’.

DominicStaff
answered 4 years ago

Awesome! We will check and fix it in the next version. How kind you are to help me.

Powered by DW Question & Answer Pro