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 |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|