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 08-23-2008, 05:47 PM
ringleader's Avatar
ringleader ringleader is offline
 
Join Date: Dec 2006
Location: Dublin, Ireland
Posts: 192
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Copy album picture to another album

Hi all,

I'm trying to copy an existing photo to another album, but still have it available to the current users' album.

I'm trying to do this with the picture data manager, but with little time to have played around with it I'm at a loss. Pictures (table: picture) and albums (table: albums) have an intermediary table called albumpicture. The problem arises when changing the albumid for the picture in this table using the picture data manager.

What I have below is if the title of the album chosen does not match the current album for the picture, then reset the albuminfo (I think this is used in the picture data manager), then essentially copy the picture data to a new row in the picture table, and set a new row in albumpicture with the new albumid for that pictureid.

Code:
	if($vbulletin->GPC['pictures']["$album[albumid]"]['title'] != $albuminfo['title'])
	{
		$newalbumid = $vbulletin->GPC['pictures']["$album[albumid]"]['title'];
		
		$album_sql = $db->query_first("
			SELECT albumid
			FROM " . TABLE_PREFIX . "album
			WHERE albumid LIKE '%$vbulletin->GPC['pictures']["$album[albumid]"]['title']%'
		");

		// Reset albuminfo with destination albumid
		$albuminfo1 = fetch_albuminfo(album_sql['albumid']);

		$picturedata =& datamanager_init(fetch_picture_dm_name(), $vbulletin, ERRTYPE_SILENT, 'picture');
		$picturedata->set('title', $vbulletin->GPC['pictures']["$picture[pictureid]"]['title']);
		$picturedata->set('caption', $vbulletin->GPC['pictures']["$picture[pictureid]"]['caption']);
		$picturedata->set('tags', $vbulletin->GPC['pictures']["$picture[pictureid]"]['tags']);
		$picturedata->save();
	}
I think I'm on the right track, but will resetting the albuminfo[albumid] do the trick the way I think it will?

P.s. also not sure what fetch_picture_dm_name() is doing here in the DM. Will this insert a new row for the picture, or does it refer to the pictureid's that are being looped through at that point?

All help much appreciated!
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 11:42 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.05807 seconds
  • Memory Usage 2,161KB
  • 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
  • (1)bbcode_code
  • (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_onlinestatus
  • (1)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