vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3 Articles (https://vborg.vbsupport.ru/forumdisplay.php?f=187)
-   -   [How-to] Add more tabs to the vB 3.7 profile pages (https://vborg.vbsupport.ru/showthread.php?t=165554)

milla da killa 09-01-2008 09:39 PM

Code:


$blocklist = array_merge($blocklist, array(
        'playlist' => array(
                'class' => 'Playlist',
                'title' => 'Playlist',
                'hook_location' => 'profile_left_last'
        )
));

class vB_ProfileBlock_playlist extends vB_ProfileBlock
{
        var $template_name = 'memberinfo_block_playlist';

        function confirm_empty_wrap()
        {
                return false;
        }

        function confirm_display()
        {
                return ($this->block_data['playlist'] != '');
        }

        function prepare_output($id = '', $options = array())
        {
                $this->block_data['playlist'] = '<div style="text-align: center; margin-left: auto; visibility:visible; margin-right: auto; width:450px;"><embed style="width:435px; visibility:visible; height:270px;" allowScriptAccess="never" src="http://www.greatprofilemusic.com/mc/mp3player-othersite.swf?config=http://www.greatprofilemusic.com/mc/config/config_black_shuffle.xml&mywidth=435&myheight=270&playlist_url=http://www.greatprofilemusic.com/loadplaylist.php?playlist='$this->profile->userinfo[field7]'" menu="false" quality="high" width="435" height="270" name="mp3player" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" border="0"/> </div>';
        }
}

I've tried everything, anyone got any suggestions?

Darkwaltz4 09-10-2008 06:05 AM

heh, what would be stellar is a tutorial on creating your own fancy tab thing on other pages :p

jgeorge123 09-22-2008 09:31 PM

Hi there and i am trying to, i am not that good at describing the code but what i am trying acheive is that - i need to get some data from a the database and show in one of the block. Have a look at my code

PHP Code:

$blocklist array_merge($blocklist, array( 
    
'games' => array( 
        
'class' => 'games'
        
'title' => 'gamess'
        
'hook_location' => 'profile_left_last' 
    

)); 

// ######################### REQUIRE BACK-END ############################ 
require_once('./global.php'); 
global 
$vbulletin
class 
vB_ProfileBlock_games extends vB_ProfileBlock 

    var 
$template_name 'memberinfo_block_games'

    function 
confirm_empty_wrap() 
    { 
        return 
false
    } 

    function 
confirm_display() 
    { 
        return (
$this->block_data['games'] != ''); 
    } 

    function 
prepare_output($id ''$options = array()) 
    { 
        function 
sql_most_downloaded ($limit
        { 
            global 
$vbulletin$vbphrase
            
$sql $db->query 
                

                    
'SELECT * FROM xxx Where xxx = 'xxx'
                    GROUP BY xxx 
                    ORDER BY xxx DESC 
                    LIMIT x,x' 
                
); 
            while (
$games $db->fetch_array($sql)) 
                { 
                    
$out.= '<li><a href=\"../games/gamess/show/' $games[ID] . '\" title=\"' $games[file_title] . '\">' $games[file_title] . ' [ ' $games[total_downloads] . ' ]</a></li>'
                } 
        } 

        
$this->block_data['games'] = $out
    } 


This selection of data is not based on the vbulletin so i think i can't use
PHP Code:

this->something->something 

Has anyone have any suggestion

CypherSTL 09-29-2008 09:15 PM

1 Attachment(s)
Is anyone else having the problem of custom profile tabs not parsing BB Code?

It displays normal HTML correctly, but not BBCode.

jerx 10-27-2008 03:26 AM

I am trying to output pictures from coppermine gallery in a tab. There is a script for coppermine gallery called cpmfetch, which allows to display any picture of your coppermine gallery on external pages. All you need to do is put this into your php page:

PHP Code:

<?php
 
require_once "./coppermine_gallery/cpmfetch/cpmfetch.php";
 
$objCpm = new cpm("./coppermine_gallery/cpmfetch/cpmfetch_config.php");
$objCpm->cpm_viewLastAddedMedia(1,1,$options);
 
$objCpm->cpm_close();
?>

This will add the following code to that page location, which represents the last picture added to your coppermine gallery:

Code:

<table  >

<tr>

<td><a href='http://your_domain.com/coppermine_gallery/thumbnails.php?album=14' ><img src="http://your_domain.com/coppermine_gallery/albums_directory/categoryname/picture_name.jpg" /></a></td>

</tr>


</table>

When I add the following code for my profile tab, that picture will be shown at the very beginning of the profile page - even before doctype, header and body tags.

Code:

$blocklist = array_merge($blocklist, array(
        'copperminegallery' => array(
                'class' => 'CoppermineGallery',
                'title' => 'Last Added Pic',
                'hook_location' => 'profile_left_last'
        )
));

class vB_ProfileBlock_CoppermineGallery extends vB_ProfileBlock
{
        var $template_name = 'memberinfo_block_copperminegallery';

        function confirm_empty_wrap()
        {
                return false;
        }

        function confirm_display()
        {
                return ($this->block_data['copperminegallery'] != '');
        }

        function prepare_output($id = '', $options = array())
        {
include "./coppermine_gallery/cpmfetch/cpmfetch.php";
$objCpm = new cpm("./coppermine_gallery/cpmfetch/cpmfetch_config.php");
                $this->block_data['copperminegallery'] = $objCpm->cpm_viewLastAddedMedia(1,1,$options);
        }
}

When I add the resulting html code manually into the block it works fine:

Code:

$blocklist = array_merge($blocklist, array(
        'copperminegallery' => array(
                'class' => 'CoppermineGallery',
                'title' => 'My Favs',
                'hook_location' => 'profile_left_last'
        )
));

class vB_ProfileBlock_CoppermineGallery extends vB_ProfileBlock
{
        var $template_name = 'memberinfo_block_copperminegallery';

        function confirm_empty_wrap()
        {
                return false;
        }

        function confirm_display()
        {
                return ($this->block_data['copperminegallery'] != '');
        }

        function prepare_output($id = '', $options = array())
        {
include "./gallery/cpmfetch/cpmfetch.php";
$objCpm = new cpm("./gallery/cpmfetch/cpmfetch_config.php");
                $this->block_data['copperminegallery'] = '<table  >

<tr>

<td><a href=\'http://your_domain.com/coppermine_gallery/thumbnails.php?album=14\' ><img src="http://your_domain.com/coppermine_gallery/albums_directory/categoryname/picture_name.jpg" /></a></td>

</tr>


</table>
';
        }
}

I had to put a backslash in front of ' to avoid the following error. But I don' t think that this is the problem, because there is no error with the real code.

Quote:

Parse error: syntax error, unexpected T_STRING in /path/to/your/web/root/member.php(454) : eval()'d code on line 250
Does anyone know how to correct the display problem?

Thank you!

Wordplay 11-17-2008 09:16 AM

great! thanks a lot!

is there a way to have a preview of the latest threads and posts made by a user the way they have it on ipb in those tabs:
http://forums.invisionpower.com/inde...showuser=75430

i actually requested that as a mod:
https://vborg.vbsupport.ru/showthread.php?t=196487

Bilderback 11-18-2008 09:02 PM

Great Article.
Code:

'hook_location' => 'profile_left_last'
Does anyone know how to provide the hook location when defined by the admincp?
My product has setting options like seen below:
Code:

<setting varname="custom_hook_location" displayorder="20">
    <datatype>free</datatype>
    <optioncode><![CDATA[select:piped
0|None
1|$template_hook[profile_left_first]
2|$template_hook[profile_left_last]
]]></optioncode>
    <defaultvalue>0</defaultvalue>
</setting>

I am trying to display the block from whichever is chosen in admincp.
Have tried the following with no luck-
custom_hook_location
$vbulletin->options['custom_hook_location']

Thanks

fabs_pim 11-22-2008 11:22 AM

How do I display a list which i want to get out of an mysql database in such a profile tab?

Lynne 11-22-2008 03:45 PM

Quote:

Originally Posted by fabs_pim (Post 1670579)
How do I display a list which i want to get out of an mysql database in such a profile tab?

You'll need to add your query into the plugin and then spit the results out into "$this->block_data['mymodification']"

DragonBlade 01-25-2009 06:37 AM

Hey, I'm trying to test this out and see if I can make something cool for my members, but I've noticed something a bit weird...

For the template, I've got the following code:
Code:

<if condition="$vbulletin->userinfo['userid'] == 15010">
<div class="alt1 block_row">
        <ul class="list_no_decoration">
                $block_data[animelist]
        </ul>
</div>
</if>

The conditional is there because, as I said, I'm testing it out and don't want all my members to see it yet, just me. However, after not getting it to display and a bit of tinkering around, I've found out that the $vbulletin object does not exist as far as the template is concerned. I've tried these variations to be sure:
Code:

<if condition="$vbulletin->userinfo['userid'] == 15010">
<if condition="$vbulletin->userinfo['userid']">
<if condition="$vbulletin->userinfo">
<if condition="$vbulletin">
<if condition="1">

The last one DID work, of course.

How would I make it so that the $vbulletin object IS recognized?




EDIT: BTW, I did "solve" it simply by putting the plugin itself in some "IF" brackets, but still for curiosity's sake, let's say for some reason I wanted to use the $vbulletin object in the tab (maybe I wanted to make a Tab with the User's name or something equally silly).


All times are GMT. The time now is 12:24 AM.

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.01384 seconds
  • Memory Usage 1,783KB
  • 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
  • (8)bbcode_code_printable
  • (3)bbcode_php_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)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
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete