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

Reply
 
Thread Tools Display Modes
  #11  
Old 09-04-2008, 07:25 AM
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Location: Melbourne, Australia
Posts: 15,047
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You run the function when you're looping through the results - not in the query itself.
Reply With Quote
  #12  
Old 09-04-2008, 07:45 AM
sparklywater sparklywater is offline
 
Join Date: Jun 2008
Posts: 248
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Dismounted View Post
You run the function when you're looping through the results - not in the query itself.
I looked in /includes/functions.php and found the following lines of code:

PHP Code:
// #############################################################################
/**
* Trims a string to the specified length while keeping whole words
*
* @param    string    String to be trimmed
* @param    integer    Number of characters to aim for in the trimmed string
* @param  boolean Append "..." to shortened text
*
* @return    string
*/
function fetch_trimmed_title($title$chars = -1$append true)
{
    global 
$vbulletin;

    if (
$chars == -1)
    {
        
$chars $vbulletin->options['lastthreadchars'];
    }

    if (
$chars)
    {
        
// limit to 10 lines (\n{240}1234567890 does weird things to the thread preview)
        
$titlearr preg_split('#(\r\n|\n|\r)#'$title);
        
$title '';
        
$i 0;
        foreach (
$titlearr AS $key)
        {
            
$title .= "$key \n";
            
$i++;
            if (
$i >= 10)
            {
                break;
            }
        }
        
$title trim($title);
        unset(
$titlearr);

        if (
vbstrlen($title) > $chars)
        {
            
$title vbchop($title$chars);
            if ((
$pos strrpos($title' ')) !== false)
            {
                
$title substr($title0$pos);
            }
            if (
$append)
            {
                
$title .= '...';
            }
        }

        
//$title = fetch_soft_break_string($title);
    
}

    return 
$title;
}

// 

Now if I use the above code as it is in my page it doesn't work, ie. no trimming of the thread-titles. I've tried changing the value of $chars from -1 to other values like 45 but that doesn't work either. Do I need to change anything else for this code to correctly trim the thread-titles?

Can you please give an example of the code I need to use?
Reply With Quote
  #13  
Old 09-04-2008, 09:15 AM
Opserty Opserty is offline
 
Join Date: Apr 2007
Posts: 4,103
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

fetch_trimmed_title() is a function, you use it like any other function such as substr() or rand() or mysql_query() or something. It is just a user defined function, nothing special.
Quote:
fetch_trimmed_title (line 641)
Trims a string to the specified length while keeping whole words
fetch_trimmed_title (string $title, [integer $chars = -1], [boolean $append = true])
  • string $title: String to be trimmed
  • integer $chars: Number of characters to aim for in the trimmed string
  • boolean $append: Append "..." to shortened text
That tells you what variables you put into the function. (It is the same as when http://php.net/substr lists what parameters are for the substr() function)
Reply With Quote
  #14  
Old 09-05-2008, 07:32 PM
sparklywater sparklywater is offline
 
Join Date: Jun 2008
Posts: 248
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

what does the -1 in ' integer $chars = -1 ' mean?

Can someone refer me to a website / tutorial which would answer these kind of questions?
Reply With Quote
  #15  
Old 09-06-2008, 05:04 AM
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Location: Melbourne, Australia
Posts: 15,047
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Look in the function's code - you even posted it. It's one of the first lines of the actual function.
Reply With Quote
  #16  
Old 09-06-2008, 07:20 AM
sparklywater sparklywater is offline
 
Join Date: Jun 2008
Posts: 248
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Dismounted View Post
Look in the function's code - you even posted it. It's one of the first lines of the actual function.
I know it's the number of characters to aim for in the trimmed string, but I was asking specifically about the negative value, ie. why the number of characters is a negative value ( -1 ).
Reply With Quote
  #17  
Old 09-06-2008, 07:31 AM
Opserty Opserty is offline
 
Join Date: Apr 2007
Posts: 4,103
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Dismounted meant you should read the PHP code, for the function, you yourself have already posted...

https://vborg.vbsupport.ru/showpost....8&postcount=12

(Read it line by line if you need to )
Reply With Quote
  #18  
Old 09-06-2008, 08:00 AM
sparklywater sparklywater is offline
 
Join Date: Jun 2008
Posts: 248
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

that doesn't answer my question, and you're not helping.
Reply With Quote
  #19  
Old 09-06-2008, 08:20 AM
Opserty Opserty is offline
 
Join Date: Apr 2007
Posts: 4,103
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Go to the 15th line of the PHP code you posted... I don't need to help you. The answer is staring you in the face.

If, after you've read the 15th line (and the few lines after it) and I mean after! (No cheating ) You still don't understand, post the 15th line and 3 lines underneath it.
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 06:18 PM.


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.03802 seconds
  • Memory Usage 2,255KB
  • Queries Executed 11 (?)
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
  • (1)bbcode_php
  • (3)bbcode_quote
  • (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
  • (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_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