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 12-30-2009, 01:58 AM
Warlord's Avatar
Warlord Warlord is offline
 
Join Date: Jan 2002
Location: TN, USA
Posts: 668
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Adding an album type?

Right now there are three album types, Public, Private and Profile. How would one go about adding a fourth option?

My final goal is to create an option for Webcomics and then display the latest image uploaded on an extra tab in the profile but I believe this would be where I need to start.
Reply With Quote
  #2  
Old 01-10-2010, 03:36 AM
Warlord's Avatar
Warlord Warlord is offline
 
Join Date: Jan 2002
Location: TN, USA
Posts: 668
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok, well I added the option in the SQL (added webcomic as an option in the state row of the album table) and figured out how to add it to the album_edit template by doing the following.

Find:
HTML Code:
				<div><label for="rb_albumtype_public"><input type="radio" name="albumtype" value="public"  id="rb_albumtype_public" $formdata[albumtype_public] />$vbphrase[public]</label></div>
Add AFTER:
HTML Code:
<!-- START WEBCOMIC OPTION -->
				<div><label for="rb_albumtype_webcomic"><input type="radio" name="albumtype" value="webcomic"  id="rb_albumtype_webcomic" $formdata[albumtype_webcomic] />$vbphrase[webcomic]</label></div>
<!-- END WEBCOMIC OPTION -->
(Obviously I had to add the vbphrase webcomic as well.)

Actually figuring out the php needed to update the SQL with the webcomic option seems to be kicking my butt though.

I tried adding a plugin at the hook album_album_update with the following code, although it was a total shot in the dark as I really don't have much of an idea as to what I'm doing and this is just edited code from the album.php file where I found code on updating an album.

PHP Code:
    // if changing an album to a webcomic album, be sure we actually have perm to change it
    
if ($vbulletin->GPC['albumtype'] == 'webcomic' AND $albuminfo['state'] != 'webcomic')
    {
        
$creator fetch_userinfo($albumdata->fetch_field('userid'));
        
cache_permissions($creator);

        
$can_profile_album = (
            
$vbulletin->options['socnet'] & $vbulletin->bf_misc_socnet['enable_profile_styling']
            AND 
$creator['permissions']['usercsspermissions'] & $vbulletin->bf_ugp_usercsspermissions['caneditbgimage']
        );

        if (!
$can_webcomic_album)
        {
            
$vbulletin->GPC['albumtype'] = 'webcomic';
        }
    }
    
$albumdata->set('state'$vbulletin->GPC['albumtype']);

    
$albumdata->pre_save(); 
As you may have guessed, this didn't work. If there is anyone out there that may have any pointers for me, I'm all ears.

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

Just tried changing the plugin to use the hook album_album_edit and changed the code to the following:

PHP Code:
// if album is already a webcomic-type, show the webcomic-type option
    
$creator fetch_userinfo($formdata['userid']);
    
cache_permissions($creator);

    
$show['albumtype_webcomic'] = (
        
$albuminfo['state'] == 'webcomic'
    
); 
Still no luck yet.
Reply With Quote
  #3  
Old 01-12-2010, 01:34 AM
Warlord's Avatar
Warlord Warlord is offline
 
Join Date: Jan 2002
Location: TN, USA
Posts: 668
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

No one has any idea how I can get this option to save when a user selects it? I feel like I'm at that point where I'm so close but still so far away.

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

Well I figured that maybe this in the hook albumdata_presave, which I thought would work....

PHP Code:
// if changing an album to a webcomic album, be sure we actually have perm to change it
    
if ($vbulletin->GPC['albumtype'] == 'webcomic' AND $albuminfo['state'] != 'webcomic')
    {
        
$creator fetch_userinfo($albumdata->fetch_field('userid'));
        
cache_permissions($creator);

        {
            
$vbulletin->GPC['albumtype'] = 'webcomic';
        }
    } 
But it didn't. I got this error...

Quote:
Parse error: syntax error, unexpected $end, expecting ')' in /home/righscom/public_html/addons/projectfanboy/vb/album.php on line 1770
Which I'm looking into but haven't figured out where this missing ) is supposed to be. (They all seem to match up so I'm kind of confused on that one.)

Then I figured that maybe the code wasn't getting inserted before the code:

PHP Code:
    $albumdata->set('state'$vbulletin->GPC['albumtype']);

    
$albumdata->pre_save(); 
Since the hook appears after it in album.php so I manually edited the file just to see if it would work then. That didn't work either.
Reply With Quote
  #4  
Old 01-17-2010, 09:10 PM
Warlord's Avatar
Warlord Warlord is offline
 
Join Date: Jan 2002
Location: TN, USA
Posts: 668
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

bump
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 01:22 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.04132 seconds
  • Memory Usage 2,217KB
  • 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
  • (2)bbcode_html
  • (4)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (4)post_thanks_box
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit_info
  • (4)postbit
  • (4)postbit_onlinestatus
  • (4)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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete