• 0

IPB 3.4 Hide Marked Solved button on ajax reply


Go to solution Solved by Redmak,

Question

Steven P.

Yet another issue the ticket system on IPS doesn't support, but getting no luck in their p2p support forum.

 

We have successfully been able to hide the marked solved button from the OP on own posts in the topic, but it does show when the OP makes a fast reply, which defeats the entire purpose.

<if test="canAnswerTopic:|:$topic['Perms']['canAnswerTopic'] && $post['post']['post_count'] > 1">
<if test="isAnswered:|:$post['post']['_isMarkedAnswered']">
<if test="canUnanswer:|:$post['post']['_canMarkUnanswered']">
<li><a href="{parse url="module=extras&section=answer&do=unanswer&t={$this->request['t']}&pid={$post['post']['pid']}&auth_key={$this->member->form_hash}" base="publicWithApp"}"  data-post-button="unanswer" class='ipsButton_secondary important' data-pid="{$post['post']['pid']}"><img class='icon' src="{$this->settings['img_url']}/cross_white_10px.png">{$this->lang->words['topic_mark_unsolved']}</a></li>
</if>
<else />
<if test="notAnswered:|:$post['post']['_canAnswer'] && $topic['topic_firstpost'] != $post['post']['pid']">
<if test="$topic['_starter']['member_id'] != $post['author']['member_id']">
<li><a href="{parse url="module=extras&section=answer&do=answer&t={$this->request['t']}&pid={$post['post']['pid']}&auth_key={$this->member->form_hash}" base="publicWithApp"}"  data-post-button="answer" class='ipsButton_secondary' data-pid="{$post['post']['pid']}"><img class='icon' src="{$this->settings['img_url']}/tick_10px.png">{$this->lang->words['topic_mark_solved']}</a></li>
</if>
</if>
</if>
</if>

Second line under else marks where the permission is set (but ignored with fast reply).

<if test="$topic['_starter']['member_id'] != $post['author']['member_id']">

Maybe someone can help out here? :p

Link to post
Share on other sites

11 answers to this question

Recommended Posts

  • 0
Redmak

Fixed using

<if test="$this->memberData['member_id'] != $topic['starter_id'] OR $this->memberData['member_id'] != $post['author']['member_id']">

instead of

<if test="$topic['_starter']['member_id'] != $post['author']['member_id']">
Link to post
Share on other sites
  • 0
riahc3

Hello,

Yet another issue the ticket system on IPS doesn't support, but getting no luck in their p2p support forum.

 

We have successfully been able to hide the marked solved button from the OP on own posts in the topic, but it does show when the OP makes a fast reply, which defeats the entire purpose.

<if test="canAnswerTopic:|:$topic['Perms']['canAnswerTopic'] && $post['post']['post_count'] > 1">
<if test="isAnswered:|:$post['post']['_isMarkedAnswered']">
<if test="canUnanswer:|:$post['post']['_canMarkUnanswered']">
<li><a href="{parse url="module=extras&section=answer&do=unanswer&t={$this->request['t']}&pid={$post['post']['pid']}&auth_key={$this->member->form_hash}" base="publicWithApp"}"  data-post-button="unanswer" class='ipsButton_secondary important' data-pid="{$post['post']['pid']}"><img class='icon' src="{$this->settings['img_url']}/cross_white_10px.png">{$this->lang->words['topic_mark_unsolved']}</a></li>
</if>
<else />
<if test="notAnswered:|:$post['post']['_canAnswer'] && $topic['topic_firstpost'] != $post['post']['pid']">
<if test="$topic['_starter']['member_id'] != $post['author']['member_id']">
<li><a href="{parse url="module=extras&section=answer&do=answer&t={$this->request['t']}&pid={$post['post']['pid']}&auth_key={$this->member->form_hash}" base="publicWithApp"}"  data-post-button="answer" class='ipsButton_secondary' data-pid="{$post['post']['pid']}"><img class='icon' src="{$this->settings['img_url']}/tick_10px.png">{$this->lang->words['topic_mark_solved']}</a></li>
</if>
</if>
</if>
</if>
Second line under else marks where the permission is set (but ignored with fast reply).

<if test="$topic['_starter']['member_id'] != $post['author']['member_id']">
Maybe someone can help out here? :p
Daniweb has a HUGE resources of members for this type of thing, a lot into web dev :)
Link to post
Share on other sites
  • 0
Steven P.

Test post.

Link to post
Share on other sites
  • 0
Steven P.

Another test post.

Link to post
Share on other sites
  • 0
Steven P.

Cheers (y)

Link to post
Share on other sites
  • 0
ho0kz

Cheers (Y)

 

Can I ask a question, what code did you use for if topic is marked solved the custom message that neowin added disappears?

 

Custom message meaning the "This top is not marked as solved yet"

 

Would be grateful to know the information for just that.

Link to post
Share on other sites
  • 0
Steven P.

Where the badge 'answered' and goto post is displayed in the post (or whatever you have) add under it:

 

<else /><if test="canAnswerTopic:|:$topic['Perms']['canAnswerTopic']"><p title="Select a best answer below by using the Mark Solved button if your post has been answered." class="message error" style="width:390px; float:right; margin-bottom:0; clear:none;">This topic has not been Marked Solved yet, or doesn't require an answer.</p></if>
  • Like 1
Link to post
Share on other sites
  • 0
ho0kz

 

Where the badge 'answered' and goto post is displayed in the post (or whatever you have) add under it:

<else /><if test="canAnswerTopic:|:$topic['Perms']['canAnswerTopic']"><p title="Select a best answer below by using the Mark Solved button if your post has been answered." class="message error" style="width:390px; float:right; margin-bottom:0; clear:none;">This topic has not been Marked Solved yet, or doesn't require an answer.</p></if>

 

okay well I've placed the code in the Topic View > post template. in the post_body as you will see below but this still only shows for admins where I'm wanting it to show for all members and guests.

 

here is the code i have. in the post_body.

<div class='post_body'>
 
<if test="isSolvedSausage:|:$post['post']['_isMarkedAnswered']"><div class='answerBadgeInPost'>✓  {$this->lang->words['topic_best_answer']}</div></if>
 
<if test="repHighlight:|:$this->settings['reputation_highlight'] AND $post['post']['rep_points'] >= $this->settings['reputation_highlight']">
<p class='rep_highlight'>{parse replacement="popular_post"}<br />{$this->lang->words['popular_post']}</p>
</if>
 
 
 
 
<div itemprop="commentText" class='post entry-content <if test="$post['post']['_repignored'] == 1">imgsize_ignore</if>'>
 
<if test="isSolvedSausage:|:$post['post']['_isMarkedAnswered']"><div class='ipsPad_top_bottom' style='padding-top: 0; display:none;'><span class='ipsBadge ipsBadge_green'>{$this->lang->words['topic_best_answer']}</span></div></if>
 
{$post['post']['post']}
{$post['post']['attachmentHtml']}
<br />
<if test="postEditBy:|:$post['post']['edit_by']">
<p class='edit'>
{$post['post']['edit_by']}
<if test="postEditByReason:|:$post['post']['post_edit_reason'] != ''">
<br />
<span class='reason'>{$post['post']['post_edit_reason']}</span>
</if>
</p>
</if>
<if test="$post['post']['post_count']%$this->settings['display_max_posts'] == 1">
<if test="bestAnswer:|:$displayData['best_answer_post_data']">
<br />
 
<div class='post post_block feature_box clearfix'>
    <if test="canSeeProfiles1:|:$this->memberData['g_is_supmod'] OR ( $this->memberData['g_mem_info'] && ! IPSMember::isInactive( $displayData['best_answer_post_data']['author'] ) )">
    <a itemprop="url" href="{parse url="showuser={$displayData['best_answer_post_data']['author']['member_id']}" template="showuser" seotitle="{$displayData['best_answer_post_data']['author']['members_seo_name']}" base="public"}" title="{$this->lang->words['view_profile']}: {$displayData['best_answer_post_data']['author']['members_display_name']}" class='ipsUserPhotoLink'>
    </if>
    <img itemprop="image" src='{$displayData['best_answer_post_data']['author']['pp_thumb_photo']}' class='ipsUserPhoto ipsUserPhoto_medium left' />
    <if test="canSeeProfiles2:|:$this->memberData['g_is_supmod'] OR ( $this->memberData['g_mem_info'] && ! IPSMember::isInactive( $displayData['best_answer_post_data']['author'] ) )">
    </a>
    </if>
    <div class="ipsBox_withphoto">
    <p class='ipsType_sectiontitle'>
        <span class='ipsBadge ipsBadge_green' style='margin-right: 4px;'>{$this->lang->words['topic_best_answer']}</span>
        {parse template="userHoverCard" group="global" params="$displayData['best_answer_post_data']['author']"},
        <if test="samePageBA:|:isset($post_data[ $displayData['best_answer_post_data']['post']['pid'] ])">
            <if test="hasPagesBA:|:$this->request['page']">
                <a href='{parse url="showtopic={$topic['tid']}&page={$this->request['page']}{$post_data[ $displayData['best_answer_post_data']['post']['pid'] ]['post']['PermalinkUrlBit']}#entry{$displayData['best_answer_post_data']['post']['pid']}" template="showtopic" seotitle="{$topic['title_seo']}" base="public"}'>{parse date="$displayData['best_answer_post_data']['post']['post_date']" format="long"}</a>
            <else />
                <a href='{parse url="showtopic={$topic['tid']}{$post_data[ $displayData['best_answer_post_data']['post']['pid'] ]['post']['PermalinkUrlBit']}#entry{$displayData['best_answer_post_data']['post']['pid']}" template="showtopic" seotitle="{$topic['title_seo']}" base="public"}'>{parse date="$displayData['best_answer_post_data']['post']['post_date']" format="long"}</a>
            </if>
        <else />
            <a href="{parse url="app=forums&module=forums&section=findpost&pid={$displayData['best_answer_post_data']['post']['pid']}" base="public"}">{parse date="$displayData['best_answer_post_data']['post']['post_date']" format="long"}</a>
        </if>
    </p>
    <p class='ipsPad_top'>
        {$displayData['best_answer_post_data']['post']['post']} 
        <if test="samePageBA2:|:isset($post_data[ $displayData['best_answer_post_data']['post']['pid'] ])">
            <if test="hasPagesBA2:|:$this->request['page']">
                <a href='{parse url="showtopic={$topic['tid']}&page={$this->request['page']}{$post_data[ $displayData['best_answer_post_data']['post']['pid'] ]['post']['PermalinkUrlBit']}#entry{$displayData['best_answer_post_data']['post']['pid']}" template="showtopic" seotitle="{$topic['title_seo']}" base="public"}'>
            <else />
                <a href='{parse url="showtopic={$topic['tid']}{$post_data[ $displayData['best_answer_post_data']['post']['pid'] ]['post']['PermalinkUrlBit']}#entry{$displayData['best_answer_post_data']['post']['pid']}" template="showtopic" seotitle="{$topic['title_seo']}" base="public"}'>
            </if>
        <else />
            <a href="{parse url="app=forums&module=forums&section=findpost&pid={$displayData['best_answer_post_data']['post']['pid']}" base="public"}">
        </if>
            <span class='ipsBadge ipsBadge_lightgrey' style='margin-left: 4px;'>{$this->lang->words['answer_gotopost']} »</span></a>
    </p>
    </div>
 
</div>
 
<else />
<if test="canAnswerTopic:|:$topic['Perms']['canAnswerTopic']">
<p title="Select a best answer below by using the Mark Solved button if your post has been answered." class="message error" style="margin-bottom: 6px; width:390px; float:right; margin-bottom:0; clear:none;">This topic has not been Marked Solved yet, or doesn't require an answer.</p>
                          </if>
</if>
 
 
                          <php>$show_message = array(76, 32, 47, 57); </php>   <if test=" $this->registry->getCurrentApplication() == 'forums' && in_array($forum['id'], $show_message)">
                       </if>
                     </if>
                          <br />
                          </div>
Link to post
Share on other sites
  • 0
Steven P.

Yes, IPB is funny like that, you have to place it where mod controls aren't already in an if statement of sorts. I'll have a look later.

 

Edit pretty sure I have the not answered yet above the whole display answer stuff, because like I say that's where it gets funky with if statements for admins and for guests/members ;)

Link to post
Share on other sites
  • 0
Steven P.

I have it directly above <if test="postEditBy:|:$post['post']['edit_by']">

Link to post
Share on other sites
  • 0
ho0kz

I have it directly above <if test="postEditBy:|:$post['post']['edit_by']">

 

this sadly also didn't work for me :'(

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.