vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   Modification Requests/Questions (Unpaid) (https://vborg.vbsupport.ru/forumdisplay.php?f=112)
-   -   Thread management in quick reply - vBulletin 4 (https://vborg.vbsupport.ru/showthread.php?t=233297)

Sador 01-16-2010 06:57 PM

Thread management in quick reply - vBulletin 4
 
Hi,

In my vBulletin 3 forum I did some template edits which made it possible to stick, unstick, open and close threads from quick reply. When submitting a message from quick reply you could use a checkbox to open / close and stick / unstick the topic you were posting in when you had enough permissions to do so. This worked very well, and I kinda want it back in my vBulletin 4 website. However, because of the new way templates are build, I fail to do so.

I managed to get some of it working with the following:

In SHOWTHREAD, find

Code:

{vb:rawphrase show_your_signature}
<div class="blockrow" id="aftersubmit">
                </vb:if>
</div>

and after that, add:
Code:

  <vb:if condition="$show['openclose']">   
          <li><label for="cb_openclose"><input type="checkbox" name="openclose" id="cb_openclose" value="1" tabindex="1" {vb:raw checked.openclose} /> <vb:if condition="$show['closethread']">{vb:rawphrase close_this_thread}<vb:else />{vb:rawphrase reopen_this_thread}</vb:if></label></li>
</vb:if>
<vb:if condition="$show['stickunstick']">         
          <li><label for="cb_stickunstick"><input type="checkbox" name="stickunstick" id="cb_stickunstick" value="1" tabindex="1" {vb:raw checked.stickunstick} /> <vb:if condition="$show['unstickthread']">{vb:rawphrase unstick_this_thread}<vb:else />{vb:rawphrase stick_this_thread}</vb:if></label></li>
</vb:if>

If I use this, the open / close stuff works like it should, but the stick / unstick button isn't showing up.

After a lot of trial and error, I changed the

Code:

<vb:if condition="$show['stickunstick']">
to

Code:

<vb:if condition="$show['openclose']">
which made it show up, but it now uses the open / close conditional instead of checking whether a thread is sticky or not to give the correct choice.

Can somebody tell me what I'm doing wrong here? Why won't the $show['stickunstick'] show up, and is there a way to correct this?

This is how I want it to be, when everything works like it should:

http://www.tiswah.com/forum/uploaded...management.jpg

Thanks for any help you guys could give me. :)

Sador 01-19-2010 01:43 PM

Is there anyone who can help me out with this?

Charlie98902 01-19-2010 03:20 PM

I like the idea and hope someone can help you as this looks like something I want as well.

Lynne 01-19-2010 03:42 PM

Have you tried just printing out what $show['stickunstick'] is set to in the template? Make sure it has a value. Also, make sure the user has permission to stick/unstick the thread of $show[] will be false.

Sador 01-22-2010 08:14 PM

Quote:

Originally Posted by Lynne (Post 1960306)
Have you tried just printing out what $show['stickunstick'] is set to in the template? Make sure it has a value. Also, make sure the user has permission to stick/unstick the thread of $show[] will be false.

Thanks for that one, the problem was I didn't edit showthread.php to include it.

However, now it works, but there is a weird bug suddenly.

When looking at a thread while logged in, the header changes to show this weird thing above it:

http://www.tiswah.com/forum/uploaded/1/weird.jpg

When going to a thread as a guest, you get the following error message:

Unable to add cookies, header already sent.
File: ../showthread.php
Line: 1

The things I have done so far are
1) the template edit I did in my first post of this topic (except for changing stickunstick to openclose, I changed it back to stickunstick)

and 2) edited showthread.php (which is causing this problem for some reason):

Find:
Code:

// build quick reply if appropriate
if ($show['quickreply'])
{
        require_once(DIR . '/includes/functions_editor.php');

        $show['wysiwyg'] = ($forum['allowbbcode'] ? is_wysiwyg_compatible() : 0);

        // set show signature hidden field
        $showsig = iif($vbulletin->userinfo['signature'], 1, 0);

after add:

Code:

        // can this user stick this thread?
        if (can_moderate($threadinfo['forumid'], 'canmanagethreads'))
        {
                $show['stickunstick'] = true;
        }
        else
        {
                $show['stickunstick'] = false;
        }
if ($show['openclose'] OR $show['stickunstick'])
        {
                $show['closethread'] = iif($threadinfo['open'], true, false);
                $show['unstickthread'] = iif($threadinfo['sticky'], true, false);
        }
                else
        {
                $threadmanagement = '';
        }

Is there something wrong with my code? Or am I, yet again, forgetting something obvious? Or is something else causing a conflict.

Hope someone can help me on this some more.

Lynne 01-22-2010 10:09 PM

I can't see why what you added would add that block of code. What editor are you using? If you aren't using something for plain, basic text editing, like notepad, then extra characters may be added into the file like what you are seeing.

Sador 01-22-2010 10:25 PM

I've used notepad for editing, and vbulletin template manager of course.

Trying to use the code again in a clean showthread.php file won't work either. The problem only happens when I add the code to showthread.php though.

Could it be that some of the code is doing something that is already being done somewhere and is causing problems? For example, something inside the templates or the open / closed code in showthread.php that was already there?

Lynne 01-22-2010 10:55 PM

I just don't see anything in your code that would do that. Try taking away some of the code to narrow down what part of it is doing that.

Sador 01-22-2010 11:57 PM

After trying multiple times it seemed that ány edit would cause this.

So instead I edited the showthread.php in notepad++, adding this code in and upload the modified file.

Now it works like it should. Thank you very much Lynne, I'm glad it works now.


All times are GMT. The time now is 05:29 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01881 seconds
  • Memory Usage 1,743KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (6)bbcode_code_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (9)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete