The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
I need help with attachment hooks in vbulletin 4 (editing torrents on server)
Hello,
I have been running this code from version 3.6.x through 3.8.x. It has been running fine with a few modifications here and there. Code:
function xbt_attachdata_postsave($dm) { require_once('benc.php'); global $vbulletin; if ($dm->attach['extension'] != 'torrent') return; $torrent = bdec(empty($dm->info['filedata']) ? file_get_contents(fetch_attachment_path($dm->attach['userid'], $dm->attach['attachmentid'])) : $dm->info['filedata']); if (!isset($torrent)) return; $bt_info_hash = pack('H*', sha1($torrent['value']['info']['string'])); $bt_name = $torrent['value']['info']['value']['name']['value']; $bt_tracker = $torrent['value']['announce']['value']; $vbulletin->db->query_write(sprintf("delete from xbt_sub_files where info_hash = '%s'", addslashes($bt_info_hash))); if ($torrent['value']['info']['value']['length']) { $name = $torrent['value']['info']['value']['name']['value']; $size = $torrent['value']['info']['value']['length']['value']; $vbulletin->db->query_write(sprintf("insert into xbt_sub_files (info_hash, name, size) values ('%s', '%s', '%.0f')", addslashes($bt_info_hash), addslashes($name), $size)); $bt_size = $size; } else { $bt_size = 0; foreach ($torrent['value']['info']['value']['files']['value'] as $file) { $name = ''; foreach ($file['value']['path']['value'] as $a) $name .= '/' . $a['value']; $size = $file['value']['length']['value']; $vbulletin->db->query_write(sprintf("insert into xbt_sub_files (info_hash, name, size) values ('%s', '%s', '%.0f')", addslashes($bt_info_hash), addslashes($name), $size)); $bt_size += (float)$size; } } $vbulletin->db->query_write(sprintf("update %sattachment set bt_info_hash = '%s', bt_name = '%s', bt_size = '%.0f', bt_tracker = '%s' where attachmentid = %d", TABLE_PREFIX, addslashes($bt_info_hash), addslashes($bt_name), $bt_size, addslashes($bt_tracker), $dm->attach['attachmentid'])); } I had this function running on the attachdata_postsave hook. For some reason, it does not seem to be working with vB 4. Can anyone help me with this piece of code ? I think the attachments are handeled differently in vB4. Please explain if possible. Secondly, attachdata_delete hook is missing. What to do if I want to run some code in its place ? --------------- Added [DATE]1265187247[/DATE] at [TIME]1265187247[/TIME] --------------- i want to know how the attachment array is handled in vbulletin 4 |
#2
|
||||
|
||||
You may add a hook into your php code if you need one. Just make sure to create a hook_*.xml file to put in the includes/xml directory to be able to use it.
Once you place the hook where you want it, look at the code around there to see what your variable names would be. For instance, for mine, I added a hook into the function accept_upload to handle the uploading of torrents. Attachments changed quite a bit for vB4. You really need to take a look at the new attachment table and filedate table and understand their relationship to each other and to the post table, which has changed also. |
#3
|
|||
|
|||
thanks for the up ! i will give it a go now
|
#4
|
|||
|
|||
did ya ever have any luck with this? I'm working on it nwo but tried a tons of different way with no luck
EDIT nevermind, i figured it out now with figuring this out VBTT/vBitty 4 should be out soon!!! |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|