Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #1  
Old 12-29-2009, 06:32 AM
ageurtse ageurtse is offline
 
Join Date: Apr 2009
Location: almelo
Posts: 275
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default need help on building output in template

hello,

i'm bussy on writing a plugin. but after a while i have the idea that what i'm doing is not right.
i do the output to the webpage with echo "...." but i think i have to parse the output somehow to the template.

but how do i do that.

i use a table to display the user attachments. but i realy would do this in the template.

i used this link to add a extra members tabhttps://vborg.vbsupport.ru/showthrea...light=profile*
This is done good, the template it self is not altert, the plugin so far i have now is below.

how do i output everything to the template. a specialy the table.
there should be a better way than i did.

please need help and or suggestions.

as i have solved this, there should be :
above the table a page navigation
in admincp-> options a settingsfield where maxcol,maxrow, .... can be alterd.
there should be an ability to alter te language of the outputed data.

but hese are all next steps in my project.

i have searched the inet but i'm getting stucked here.

i think the messed up left colum would be oke if i put the stuff in the template.

PHP Code:
$maxcolum 4;
$maxrow 4;
$maxwidth 200;
$maxheight 200;
$page $vbulletin->input->clean_gpc('r''page'TYPE_INT);


$blocklist array_merge($blocklist, array(
    
'mymodification' => array(
        
'class' => 'MyModification',
        
'title' => 'Bijlagen',
        
'hook_location' => 'profile_left_last'
        
)
      ));

class 
vB_ProfileBlock_MyModification extends vB_ProfileBlock
{
    
    var 
$template_name 'memberinfo_block_mymodification';

    function 
confirm_empty_wrap()
    {
        return 
false;
    }

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

    function 
prepare_output($id ''$options = array())
    {
        global 
$maxcolum$maxrow$maxwidth$maxheight$vbulletin$page;

        
$colum 0;
        
$forumidsnull;
                
        
$perpage $maxcolum $maxrow;
            
        foreach (
$vbulletin->userinfo['forumpermissions'] AS $vbulletin->foruminfo[forumid] => $perm)
        {
            if ((
$perm $vbulletin->bf_ugp_forumpermissions['canview']))
            {
                
$forumids .= ','.$vbulletin->foruminfo[forumid];
            }
        }    
      
        
$attachments $vbulletin->db->query_read("
            SELECT attachment.attachmentid, attachment.contentid, attachment.userid, post.postid, post.threadid, post.visible,thread.forumid,
            thread.title, thread.open
            FROM vb3_attachment as attachment 
            LEFT JOIN vb3_post AS post ON (post.postid = attachment.contentid)
            LEFT JOIN vb3_thread as thread on(post.threadid = thread.threadid)
            LEFT JOIN vb3_deletionlog AS deletionlog ON(attachment.contentid = deletionlog.primaryid AND type = 'post')
            WHERE attachment.userid = "
.$this->profile->userinfo['userid']. "
            AND (
            thread.forumid IN(0
$forumids)
            AND thread.visible = 1 
            AND post.visible = 1 
            AND deletionlog.primaryid IS NULL)"
);
        
$totalattachments $vbulletin->db->num_rows($attachments);            
      

        
$totalpages ceil($totalattachments / ($perpage));
        
$perpage $maxcolum $maxrow;
        
        
$vbulletin->input->clean_array_gpc('r', array(
            
'perpage'    => TYPE_UINT,
            
'pagenumber' => TYPE_UINT,
            ));  
      
        

        
$attachments $vbulletin->db->query_read("
            SELECT attachment.attachmentid, attachment.contentid, attachment.userid, post.postid, post.threadid, post.visible,thread.forumid,
            thread.title, thread.open
            FROM vb3_attachment as attachment 
            LEFT JOIN vb3_post AS post ON (post.postid = attachment.contentid)
            LEFT JOIN vb3_thread as thread on(post.threadid = thread.threadid)
            LEFT JOIN vb3_deletionlog AS deletionlog ON(attachment.contentid = deletionlog.primaryid AND type = 'post')
            WHERE attachment.userid = "
.$this->profile->userinfo['userid']. "
            AND (
            thread.forumid IN(0
$forumids)
            AND thread.visible = 1 
            AND post.visible = 1 
            AND deletionlog.primaryid IS NULL) limit "
.($page*$perpage). ",". (($page+1)*$perpage));      
      
        
      
      
        
$output "";
        
$output .= "<br>Totaal aantal bijlagen ".$totalattachments"<br>Huidige pagina : "$curentpage" van "$totalpages"
                    URL page : "
.$page."<br>
                    <table border=1>"
;
        
         
        while (
$post mysql_fetch_array($attachments))
        {
            if (
$colum == 0) {$output .= "<TR>";}
        
            
$output .= "<td width=".$maxwidth." height=".$maxheight."><a target=blank href=attachment.php?attachmentid=".$post['attachmentid']."/>
                        <img border=0 src=attachment.php?attachmentid="
.$post['attachmentid']."&thumb=1 width=100% height=100%/>
                        </a></td>" 
;
        
            
$colum $colum 1;

            if (
$colum == $maxcolum){ 
                
$colum 0
                echo 
"</tr>";
                }
        }
        
$output .= "</table>";
        
$this->block_data['mymodification'] = $output;
    }

and a screenshot of the outputed data.
Attached Images
File Type: jpg screen.jpg (117.3 KB, 0 views)
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 01:27 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.03776 seconds
  • Memory Usage 2,298KB
  • Queries Executed 12 (?)
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)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_attachment
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)showthread_list
  • (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_threadedmode.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_threaded
  • showthread_threaded_construct_link
  • 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_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete