Go Back   vb.org Archive > Community Discussions > Modification Requests/Questions (Unpaid)
  #1  
Old 01-16-2010, 06:57 PM
Sador's Avatar
Sador Sador is offline
 
Join Date: Mar 2009
Posts: 181
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default 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:



Thanks for any help you guys could give me.
Reply With Quote
  #2  
Old 01-19-2010, 01:43 PM
Sador's Avatar
Sador Sador is offline
 
Join Date: Mar 2009
Posts: 181
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is there anyone who can help me out with this?
Reply With Quote
  #3  
Old 01-19-2010, 03:20 PM
Charlie98902 Charlie98902 is offline
 
Join Date: Dec 2006
Posts: 1,156
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I like the idea and hope someone can help you as this looks like something I want as well.
Reply With Quote
  #4  
Old 01-19-2010, 03:42 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #5  
Old 01-22-2010, 08:14 PM
Sador's Avatar
Sador Sador is offline
 
Join Date: Mar 2009
Posts: 181
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lynne View Post
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:



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.
Reply With Quote
  #6  
Old 01-22-2010, 10:09 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #7  
Old 01-22-2010, 10:25 PM
Sador's Avatar
Sador Sador is offline
 
Join Date: Mar 2009
Posts: 181
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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?
Reply With Quote
  #8  
Old 01-22-2010, 10:55 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #9  
Old 01-22-2010, 11:57 PM
Sador's Avatar
Sador Sador is offline
 
Join Date: Mar 2009
Posts: 181
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 10:54 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.04202 seconds
  • Memory Usage 2,243KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (6)bbcode_code
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (9)post_thanks_box
  • (9)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (9)post_thanks_postbit_info
  • (9)postbit
  • (9)postbit_onlinestatus
  • (9)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete