Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 04-28-2008, 12:50 PM
GameWizard's Avatar
GameWizard GameWizard is offline
 
Join Date: Apr 2004
Location: Vancouver, BC
Posts: 319
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Line Break not showing in custom field

I have a custom template with the code below displaying a users field. It is a multi-line text field. Even though I include line breaks, it does not parse them.
Code:
$userinfo[field31]
I am wondering what I need to do in order for the line breaks to be parsed, as when I include it in the stock tabs, like "about me" it actually shows up parsed. But when you manually request it like I am doing, it does not show up properly.
Reply With Quote
  #2  
Old 04-28-2008, 03:49 PM
Opserty Opserty is offline
 
Join Date: Apr 2007
Posts: 4,103
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You'd need to either pass it through the BBCode Parser or run it through [minicode]nl2br()[/minicode], in an appropriate plugin.
Reply With Quote
  #3  
Old 04-28-2008, 04:04 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I understand how to use nl2br, but how would you use the BBCode Parser for the following code instead of nl2br?

Code:
$thequote = nl2br("\n" . $quote[quote] . "\n\n");
$thequoter = nl2br("-- " . $quote[name] . "\n\n");
Reply With Quote
  #4  
Old 04-28-2008, 04:09 PM
Opserty Opserty is offline
 
Join Date: Apr 2007
Posts: 4,103
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

@ Boofo: In general... Parse BBCode (in 3.5)

See the [minicode]$do_nl2br[/minicode] variable.

(Not sure how your specific example differs.)
Reply With Quote
  #5  
Old 04-28-2008, 04:16 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

OK, thanks for that. Since the code I needed it for was only 2 lines, I decided to go the nl2br route instead of the BBCode Parser. Originally, I used <br /> tags in the template but didn't like the way it looked.
Reply With Quote
  #6  
Old 04-28-2008, 10:53 PM
GameWizard's Avatar
GameWizard GameWizard is offline
 
Join Date: Apr 2004
Location: Vancouver, BC
Posts: 319
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Please bare with me, as I'm slightly confused on how to implement the code.

I used the following tutorial to create a new template called memberinfo_userdetails:
https://vborg.vbsupport.ru/showthrea...ghlight=plugin

The contents of this template are numerous custom user fields, including $userinfo[field31] which is the one I need parsed.

I have 2 plugins:
Cached - memberinfo_userdetails
Code:
$globaltemplates = array_merge($globaltemplates, array('memberinfo_userdetails'));



memberinfo_userdetails

Code:
eval('$memberinfo_userdetails = "' . fetch_template('memberinfo_userdetails') . '";');
What do I need to place and where?

--------------- Added [DATE]1209429644[/DATE] at [TIME]1209429644[/TIME] ---------------

====UPDATE====
I used your file Boofo:
https://vborg.vbsupport.ru/showpost....6&postcount=31

It does parse the line breaks correctly, however it does not parse the quotes, it simply shows &quot; instead.
Reply With Quote
  #7  
Old 04-29-2008, 12:18 AM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I will look at it and see if I can't update it.
Reply With Quote
  #8  
Old 04-29-2008, 08:48 AM
GameWizard's Avatar
GameWizard GameWizard is offline
 
Join Date: Apr 2004
Location: Vancouver, BC
Posts: 319
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've tried a few things such as Replacement Variables, but they have no effect.

I've tried some php code, here is what seems to be valid, but takes no effect either:
Code:
require_once(DIR . '/includes/class_bbcode.php');
$parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());
$parsed_text = $parser->do_parse($text, $do_html, $do_smilies, $do_bbcode, $do_imgcode, $do_nl2br, $cachable);

$parsed_text = preg_replace('/&quot;/', '"', $parsed_text);
$parsed_text = strtr($parsed_text, array('&quot;' => '"'));
$parsed_text = str_replace('&quot;', '"', $parsed_text);
$parsed_text = htmlspecialchars($parsed_text);
--------------- Added 29 Apr 2008 at 02:59 ---------------

===UDATE===

I feel like an idiot... It works fine now. I had the same profile field parsed twice. And it parsed the first one without any HTML and so forth, rather than the second one asking to be parsed correctly.

In any case, all is well.
Reply With Quote
  #9  
Old 04-29-2008, 09:08 AM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Can you post the exact code you got to work? And did you add it to my product?
Reply With Quote
  #10  
Old 04-29-2008, 11:39 AM
GameWizard's Avatar
GameWizard GameWizard is offline
 
Join Date: Apr 2004
Location: Vancouver, BC
Posts: 319
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Here is all the information that you need: (most if is based on your plugin already)

I have a custom template which appears in inside my profile page, which includes the following code:
$userinfo[field20] and $userinfo[field31] (and a few others, but for the sake of the example I will include these two)

Plugin Name: Init BBCode-Parser
Location: member_start
Code:
require_once(DIR . '/includes/class_bbcode.php');
$parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());
Plugin Name: Parse BBCode in custom profile fields
Location: member_complete
Code:
$userinfo['field20'] = $parser->do_parse($userinfo['field20'], 1, 0, 1, 0, 1, 0); 
$userinfo['field31'] = $parser->do_parse($userinfo['field31'], 1, 0, 1, 0, 1, 0);
Here I have all the custom profile fields I want parsed. I can add as many as I want.

The numbers refer to different things, here they are in order:
$do_html, $do_smilies, $do_bbcode, $do_imgcode, $do_nl2br, $cachable
Reply With Quote
Reply


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 08:32 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.09148 seconds
  • Memory Usage 2,263KB
  • 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
  • (7)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)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
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete