Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #1  
Old 06-07-2011, 01:45 PM
galerio's Avatar
galerio galerio is offline
 
Join Date: Feb 2011
Location: Italy
Posts: 74
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default How can I add plugin for class_block.php

I'm trying to add Gravatar images to forum's sidebar widget for my plugin "Gravatar as default avatar". Unfortunatly there is no hook in \includes\calss_block.php and I need to manually modify the code.

The plugin is really simple, if the avatar url is empty, then it calls the gravatar url.

Is there a way to do it via plugin and not with a manual edit? (I'm not asking the code, I just ask if there is a templete hook to use).
Reply With Quote
  #2  
Old 06-07-2011, 04:09 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Maybe parse_templates? If you go into debug mode, then all the hooks that are called on the page are listed on the bottom.
Reply With Quote
  #3  
Old 06-07-2011, 06:47 PM
galerio's Avatar
galerio galerio is offline
 
Join Date: Feb 2011
Location: Italy
Posts: 74
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thank you for the help, but it doesn't work.
I tell you what I need to do:

in file /includes/class_block.php at line 481 replace
Code:
$userinfo['avatarurl'] = '';
with
Code:
$userinfo['avatarurl'] = 'http://www.gravatar.com/avatar/'.md5($userinfo['email']).'.png?s='.$this->registry->options['gravatar_dimension'].'&d='.$this->registry->options['gravatar_type'].'&r='.$this->registry->options['gravatar_rating'].'';
This is the first of the things I would like to transform in a plugin.
Then in file /includes/blog_functions.php at line 1219 replace the same code above with:
Code:
$userinfo['avatarurl'] = 'http://www.gravatar.com/avatar/'.md5($userinfo['email']).'.png?s='.$vbulletin->options['gravatar_dimension'].'&d='.$vbulletin->options['gravatar_type'].'&r='.$vbulletin->options['gravatar_rating'].'';
then in file /includes/class_blog_response.php at line 426 replace with:
Code:
$this->response['avatarurl'] = 'http://www.gravatar.com/avatar/'.md5($this->response['email']).'.png?s='.$this->registry->options['gravatar_dimension'].'&d='.$this->registry->options['gravatar_type'].'&r='.$this->registry->options['gravatar_rating'].'';
and then in file \includes\api\1\api_getnewtop.php at line 527 replace with
Code:
$userinfo['avatarurl'] = 'http://www.gravatar.com/avatar/'.md5($userinfo['email']).'.png?s='.$vbulletin->options['gravatar_dimension'].'&d='.$vbulletin->options['gravatar_type'].'&r='.$vbulletin->options['gravatar_rating'].'';
If this mod was only for me, then I wouldn't need to create plugins, but I would like to share it with a simple xml product to import.

Any chance to do it?
Reply With Quote
  #4  
Old 06-07-2011, 08:51 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is your forum sideblock a php block? If so, just modify it in there. If it isn't a php block, then what type of block is it?
Reply With Quote
  #5  
Old 06-08-2011, 07:17 AM
galerio's Avatar
galerio galerio is offline
 
Join Date: Feb 2011
Location: Italy
Posts: 74
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

They are the standard widget for sidebar, you can only choose between Blog Entries, CMS Articles, Forum Threads, New Forum Posts. You can't modify the php in the control panel because they are called from a default template located at includes\block\. But the avatar images are controlled by the file \includes\calss_block.php.

Is there a way to make a xml product that can modifiy the files on server? Something like "search and replace" (and the undo option when someone uninstall the product)

Thanks
Reply With Quote
  #6  
Old 06-08-2011, 02:47 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

So you are trying to change the avatar in *any* block basically?

You cannot edit files through a product.
Reply With Quote
  #7  
Old 06-08-2011, 03:17 PM
galerio's Avatar
galerio galerio is offline
 
Join Date: Feb 2011
Location: Italy
Posts: 74
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

yes, I want to change avatar everywhere avatarurl is empty. Take a look at my forum 1e2.it/forum.
I' have aready done it on thread, memberlist, profile.
But now to do it on sidebar and on Blog I can't find a way other than manual edit.
Reply With Quote
  #8  
Old 06-08-2011, 03:31 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I don't think you will be able to do it without a code edit. I know you will need to edit \includes\api\1\api_getnewtop.php manually (I had to write a product to change the avatars on my site for the mobile app).
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 07:49 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.03910 seconds
  • Memory Usage 2,223KB
  • 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
  • (5)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (8)post_thanks_box
  • (8)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (8)post_thanks_postbit_info
  • (8)postbit
  • (8)postbit_onlinestatus
  • (8)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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete