vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.0 Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=33)
-   -   [VB3 RC3] Attachments in private messages (https://vborg.vbsupport.ru/showthread.php?t=59840)

Kentaurus 01-06-2004 10:00 PM

[VB3 RC3] Attachments in private messages
 
Unsupported. VB3.5 version is here:
https://vborg.vbsupport.ru/showthread.php?t=91220

Tested on 3.0.3


This hack enables you to send attachments in a private message. This feature was really useful to me in vb2 and I kind of missed it on vb3 so I rehacked it myself.

When a user writes a private message they will be given the option to add an attachment, the same as when writing a post. It uses the same rules you have defined for a convencional attachment including file types, quotas, etc. It is only an extension for attachments to be used in private messages.

As always it is advised to backup your files before hacking in case you want to go back, this is some big hack including modification of multiple files, some templates and adding two extra columns in the database tables.

Instructions are provided in the txt, and some screenshots on where the attachment option appears.

Info for hackers:
You may modify, improve, upgrade, redistribute this hack, include it
in another hack or yours or translate it provided you do it free of
charge and you distribute it in www.vbulletin.org at least, there is no
need to pm me asking for permission
Some portions of the code are (c) Jelsoft Enterprises Ltd.

Edit by MarcoH64:
Because of multiple requests to make this hack work on vB3.0.7 i created upgrade instructions. These upgrade instructions can be followed after the original instructions (the 3.0.3 version). The original coder can not be held responsible for my modification.

Dpcows 01-07-2004 09:18 AM

Nice one..

Boofo 01-07-2004 11:34 AM

Thank you. Now I donm't have to mess with it. I was just asking about this today over there. ;)

FleaBag 01-07-2004 12:23 PM

Great work, will definitely use this.

Boofo 01-07-2004 02:10 PM

Is there a way to maybe add a settings group for this like a limit on how many attachments you can have (not dependent on the regukar attachmnets settings for posts)? I really hate to tie up the db with a lot of leftover attachmnets in the pm area. Maybe even have a usergroup option to only allow certain usergroups to use it. Might make them want to do better to move up and be able to access this. ;)

MGM 01-07-2004 06:30 PM

very nice! I was wondering if anyone would release this for vB3 :p

thanks for the hack!

[high]* MGM clicks Install
[/high]

MGM out

jluerken 01-08-2004 11:58 AM

Are the attachments still under control of the admin within the admincp?
If not you maybe have a problem finding unwanted or double sent attachments.

Slynderdale 01-08-2004 02:58 PM

I looked over the code and coundn't find a code that deletes the attachments when the pm's are deleted. Currently, all attachments stay on the computer or mysql database permanatly unless deleted manually.

Boofo 01-08-2004 03:54 PM

Quote:

Originally Posted by Slynderdale
I looked over the code and coundn't find a code that deletes the attachments when the pm's are deleted. Currently, all attachments stay on the computer or mysql database permanatly unless deleted manually.

You DO have a fix for this, right? ;)

Kentaurus 01-08-2004 05:11 PM

Quote:

Originally Posted by Slynderdale
I looked over the code and coundn't find a code that deletes the attachments when the pm's are deleted. Currently, all attachments stay on the computer or mysql database permanatly unless deleted manually.

You are right. Seems hard to believe but I haven't deleted a pm since the beggining... and I have more than 3 years with the forum, that's why I didn't think about the need of purging the unused attachments.

I'll look into it and release a fix for that later today.

Boofo 01-08-2004 05:13 PM

Does the regular attachments work the same way, or are they doing an unset?

Kentaurus 01-08-2004 06:14 PM

Quote:

Originally Posted by Boofo
Does the regular attachments work the same way, or are they doing an unset?

The regular attachments are deleted when the post is deleted or the user deletes the attachment via the usercp, in my hack I forgot to write some code to delete any unused attachment.

In private messages it is a little more tricky because the same private message can be reused between multiple recipients, so we need to make sure that nobody needs the pmtext. Vbulletin does it by using an hourly cleanup to delete all orphan pmtext, I made it delete the attachments there also.

################################################## #################
# Code modifications in file "includes/cron/cleanup2.php"
################################################## #################
-------------------------------------------------------------------
at line 81, search for this code:
-------------------------------------------------------------------

Code:


 $pmtextids = '0';
 while ($pmtext = $DB_site->fetch_array($pmtexts))
 {
  $pmtextids .= ",$pmtext[pmtextid]";
 }
 $DB_site->query("DELETE FROM " . TABLE_PREFIX . "pmtext WHERE pmtextid IN($pmtextids)");
}
$DB_site->free_result($pmtexts);

------------------------------------------------------------------
change it to:
-------------------------------------------------------------------

Code:


 $pmtextids = '0';
               
                $pmtextidsAttach = "";
                $pmtextAttach = array();
               
 while ($pmtext = $DB_site->fetch_array($pmtexts))
 {
  $pmtextids .= ",$pmtext[pmtextid]";
                                $pmtextAttach[] = $pmtext[pmtextid];
 }
                $pmtextidsAttach = implode(",",$pmtextAttach);
 $DB_site->query("DELETE FROM " . TABLE_PREFIX . "pmtext WHERE pmtextid IN($pmtextids)");
}
$DB_site->free_result($pmtexts);

// Attachments for orphaned pmtext records are removed
// Let's be very careful with this delete, a delete from attachment where private IN (0) will purge all non-private attachments
// that's why an extra $pmtextidsAttachments is created instead of reusing the old one
if ($pmtextidsAttach)
{
 if ($vboptions['attachfile'])
 {
                $attachments = $DB_site->query("
                                SELECT attachmentid, userid
                                FROM " . TABLE_PREFIX . "attachment
                                WHERE private IN (".$pmtextidsAttach.")
                ");
                while ($attachment = $DB_site->fetch_array($attachments))
                {
                                $ids["$attachment[attachmentid]"] = $attachment;
                }
                require_once('./includes/functions_file.php');
                delete_attachment_files($ids);
 }
 $DB_site->query("DELETE FROM " . TABLE_PREFIX . "attachment WHERE private IN (".$pmtextidsAttach.")");
}

Also, I forgot to mention earlier, you should add an index to the attachment table for the private column, it really matters for large tables. Here is the query:

Code:

ALTER TABLE attachment add index (private);

The .txt is also updated with this changes. You only need to apply them if you downloaded the txt before this post was made.

Kentaurus 01-08-2004 06:25 PM

Quote:

Originally Posted by Boofo
Is there a way to maybe add a settings group for this like a limit on how many attachments you can have (not dependent on the regukar attachmnets settings for posts)? I really hate to tie up the db with a lot of leftover attachmnets in the pm area. Maybe even have a usergroup option to only allow certain usergroups to use it. Might make them want to do better to move up and be able to access this. ;)

I really prefer them to be tied to the regular attachments, otherwise you need to almost duplicate the quota code for the attachments, it shouldn't be so hard to do but still it's not something I would really be using, it's easier for my users just to have one attachment quota.

Well, maybe someone else would hack it, I don't think I will be doing this one as I like how it works right now.

Boofo 01-08-2004 06:36 PM

Thank you, sir. ;)

Convergys 01-08-2004 06:49 PM

I am having problems with this...
I am sure i have followed all instructions... I am able to send the attachments, but the recipient does not receive them...
And when I view trhe attachments i have posted in the user cp, it shows, In Progress... Have i dont something wrong?

Boofo 01-08-2004 06:51 PM

Quote:

Originally Posted by kentaurus
I really prefer them to be tied to the regular attachments, otherwise you need to almost duplicate the quota code for the attachments, it shouldn't be so hard to do but still it's not something I would really be using, it's easier for my users just to have one attachment quota.

Well, maybe someone else would hack it, I don't think I will be doing this one as I like how it works right now.

That makes sense. ;)

Is there a way to limit this to like the admin and/or mods or userid 1 and 2 or something like that then? Maybe a template condition?

Boofo 01-08-2004 07:03 PM

You're using detailed time on your board, right? That is what it means by in progress. Have you tried to click on any of the attachments in the usercp? I have and they are there and show up fine. ;)

Convergys 01-08-2004 07:12 PM

Quote:

Originally Posted by Boofo
You're using detailed time on your board, right? That is what it means by in progress. Have you tried to click on any of the attachments in the usercp? I have and they are there and show up fine. ;)

Are you are speaking with me? If so, thanks...
In the user cp they do show up fine, but the problem is that the recipient of the PM does not receive the attachment... I can send it find with no errors, but the user doesn't receive it...

Kentaurus 01-08-2004 07:19 PM

Quote:

Originally Posted by Convergys
I am having problems with this...
I am sure i have followed all instructions... I am able to send the attachments, but the recipient does not receive them...
And when I view trhe attachments i have posted in the user cp, it shows, In Progress... Have i dont something wrong?

The "In progress" status is a bug, I'll fix it soon. That's because there is no post associated to the attachment.

However, I don't have any problem with viewing my attached file in the private message, are you sure you have this code around line ~1371? That's the one responsible for fetching the attachments.

Code:

if ($pm['attach'])
{
                $pm['attachments'] = array();
                $attachments = $DB_site->query("
                                SELECT filename, filesize, visible, attachmentid, counter, postid, IF(thumbnail = '', 0, 1) AS hasthumbnail, LENGTH(thumbnail) AS thumbnailsize
                                FROM " . TABLE_PREFIX . "attachment
                                WHERE private='".$pm['pmtextid']."'
                ");
                while ($attachment = $DB_site->fetch_array($attachments))
                {
                                $attachment['kilobytes'] = vb_number_format($attachment['filesize'] / 1024, 1);
                                $pm['attachments']["$attachment[attachmentid]"] = $attachment;
                }
}

Also, the attachments in a normal post show fine? The same code that creates the postbit for a thread is the code that creates it for a pm.

Convergys 01-08-2004 07:28 PM

Quote:

Originally Posted by kentaurus
The "In progress" status is a bug, I'll fix it soon. That's because there is no post associated to the attachment.

However, I don't have any problem with viewing my attached file in the private message, are you sure you have this code around line ~1371? That's the one responsible for fetching the attachments.

Code:

if ($pm['attach'])
 {
                  $pm['attachments'] = array();
                  $attachments = $DB_site->query("
                                  SELECT filename, filesize, visible, attachmentid, counter, postid, IF(thumbnail = '', 0, 1) AS hasthumbnail, LENGTH(thumbnail) AS thumbnailsize
                                  FROM " . TABLE_PREFIX . "attachment
                                  WHERE private='".$pm['pmtextid']."'
                  ");
                  while ($attachment = $DB_site->fetch_array($attachments))
                  {
                                  $attachment['kilobytes'] = vb_number_format($attachment['filesize'] / 1024, 1);
                                  $pm['attachments']["$attachment[attachmentid]"] = $attachment;
                  }
 }

Also, the attachments in a normal post show fine? The same code that creates the postbit for a thread is the code that creates it for a pm.

Yeah, I have that change in the code... Not sure what is causing the problem...

Attachments in normal post do show fine...

Boofo 01-08-2004 07:35 PM

Try sending yourself an attachment and see what that does.

Convergys 01-08-2004 07:37 PM

Quote:

Originally Posted by Boofo
Try sending yourself an attachment and see what that does.

It shows the private message as if the hack was not installed.. IE... there is nothing indicating an attachment was sent...

I can send you my private.php if you want.

Kentaurus 01-08-2004 07:53 PM

Quote:

Originally Posted by Convergys
It shows the private message as if the hack was not installed.. IE... there is nothing indicating an attachment was sent...

I can send you my private.php if you want.

Erase this lines:

if ($pm['attach'])
{

and the "}" at the end, ej.

Code:

$pm['attachments'] = array();
                  $attachments = $DB_site->query("
                                  SELECT filename, filesize, visible, attachmentid, counter, postid, IF(thumbnail = '', 0, 1) AS hasthumbnail, LENGTH(thumbnail) AS thumbnailsize
                                  FROM " . TABLE_PREFIX . "attachment
                                  WHERE private='".$pm['pmtextid']."'
                  ");
                  while ($attachment = $DB_site->fetch_array($attachments))
                  {
                                  $attachment['kilobytes'] = vb_number_format($attachment['filesize'] / 1024, 1);
                                  $pm['attachments']["$attachment[attachmentid]"] = $attachment;
                  }

and see if it does the trick. That check is there for some code optimization and normally it isn't a problem.

Kentaurus 01-08-2004 08:20 PM

Quote:

Originally Posted by Convergys
I am having problems with this...
When I view trhe attachments i have posted in the user cp, it shows, In Progress... Have i dont something wrong?

That is yet another modification to make. The txt is already updated but if you downloaded it before this post you might not have this changes:

################################################## #################
# Code modifications in file "profile.php"
################################################## #################
-------------------------------------------------------------------
at line 2327, search for this code:
-------------------------------------------------------------------

Code:

// Get attachment info
$attachments = $DB_site->query("
SELECT thread.forumid, post.postid, post.threadid AS p_threadid, post.title AS p_title, post.dateline AS p_dateline, attachment.attachmentid,
thread.title AS t_title, attachment.filename, attachment.counter, attachment.filesize AS size, IF(thumbnail = '', 0, 1) AS hasthumbnail,
user.username, thread.open, attachment.userid
FROM " . TABLE_PREFIX . "attachment AS attachment
LEFT JOIN " . TABLE_PREFIX . "post AS post ON (post.postid = attachment.postid)
LEFT JOIN " . TABLE_PREFIX . "thread AS thread ON (post.threadid = thread.threadid)
LEFT JOIN " . TABLE_PREFIX . "deletionlog AS deletionlog ON(attachment.postid = deletionlog.primaryid AND type = 'post')
LEFT JOIN " . TABLE_PREFIX . "user AS user ON (attachment.userid = user.userid)
WHERE attachment.userid = $userid
AND ((forumid IN (0$forumids) AND thread.visible = 1 AND post.visible = 1 AND deletionlog.primaryid IS NULL) " . iif($userid==$bbuserinfo['userid'], "OR attachment.postid = 0") . ")
ORDER BY attachment.attachmentid DESC
LIMIT " . ($limitlower - 1) . ", $perpage
");

------------------------------------------------------------------
change it to:
-------------------------------------------------------------------

Code:

$attachments = $DB_site->query("
SELECT thread.forumid, post.postid, post.threadid AS p_threadid, post.title AS p_title, if(post.postid,post.dateline,pmtext.dateline) AS p_dateline, attachment.attachmentid,
thread.title AS t_title, attachment.filename, attachment.counter, attachment.filesize AS size, IF(thumbnail = '', 0, 1) AS hasthumbnail,
user.username, thread.open, attachment.userid, attachment.private
FROM " . TABLE_PREFIX . "attachment AS attachment
LEFT JOIN " . TABLE_PREFIX . "post AS post ON (post.postid = attachment.postid)
                                LEFT JOIN " . TABLE_PREFIX . "pmtext AS pmtext ON (pmtext.pmtextid = attachment.private)
LEFT JOIN " . TABLE_PREFIX . "thread AS thread ON (post.threadid = thread.threadid)
LEFT JOIN " . TABLE_PREFIX . "deletionlog AS deletionlog ON(attachment.postid = deletionlog.primaryid AND type = 'post')
LEFT JOIN " . TABLE_PREFIX . "user AS user ON (attachment.userid = user.userid)
WHERE attachment.userid = $userid
AND ((forumid IN (0$forumids) AND thread.visible = 1 AND post.visible = 1 AND deletionlog.primaryid IS NULL) " . iif($userid==$bbuserinfo['userid'], "OR attachment.postid = 0") . ")
ORDER BY attachment.attachmentid DESC
LIMIT " . ($limitlower - 1) . ", $perpage
");

-------------------------------------------------------------------
at line 2360, search for this code:
-------------------------------------------------------------------

Code:

$show['inprogress'] = iif(!$post['postid'], true, false);
------------------------------------------------------------------
change it to:
-------------------------------------------------------------------

Code:

$show['inprogress'] = iif(!$post['postid'] && !$post['private'], true, false);
                                $show['privateattachment'] = iif($post['private'], true, false);

################################################## #################
# Template modifications in template "modifyattachmentsbit"
################################################## #################
-------------------------------------------------------------------
search for this:
-------------------------------------------------------------------

Code:

<div><strong>$vbphrase[thread]</strong>: <a href="showthread.php?$session[sessionurl]t=$post[p_threadid]">$post[t_title]</a></div>
<div><strong>$vbphrase[post]</strong>: <a href="showthread.php?$session[sessionurl]p=$post[postid]#post$post[postid]">$post[p_title]</a></div>
</div>

------------------------------------------------------------------
change it to:
-------------------------------------------------------------------

Code:

<if condition="$show[privateattachment]">
<div><strong>$vbphrase[in_private_message]</strong></div>
<else />
<div><strong>$vbphrase[thread]</strong>: <a href="showthread.php?$session[sessionurl]t=$post[p_threadid]">$post[t_title]</a></div>
<div><strong>$vbphrase[post]</strong>: <a href="showthread.php?$session[sessionurl]p=$post[postid]#post$post[postid]">$post[p_title]</a></div>
</div>
</if>

################################################## #################
# New phrases to add
################################################## #################
Add a new phrase and make sure it is in the posting group, otherwise it won't work
phrase: in_private_message
Text: Private Message




With that when you go to the manage attachment section of the usercp instead of saying "In progress" it will show the correct posting date and an indicator that it really was a private message and not a post

Boofo 01-08-2004 08:35 PM

This

Code:

</end if>
should be

Code:

</if>
or I get an error when I try to save the template. ;)

Thank you for the fix, by the way. ;)

Boofo 01-08-2004 08:40 PM

The indicator in the usercp almost works. The box for the regular attachments is blank now. Also, is there any way to take the words Thread and Post out of the pm attachments box in the usercp?

Convergys 01-08-2004 08:42 PM

Quote:

Originally Posted by kentaurus
Erase this lines:

if ($pm['attach'])
{

and the "}" at the end, ej.

Code:

$pm['attachments'] = array();
                  $attachments = $DB_site->query("
                                  SELECT filename, filesize, visible, attachmentid, counter, postid, IF(thumbnail = '', 0, 1) AS hasthumbnail, LENGTH(thumbnail) AS thumbnailsize
                                  FROM " . TABLE_PREFIX . "attachment
                                  WHERE private='".$pm['pmtextid']."'
                  ");
                  while ($attachment = $DB_site->fetch_array($attachments))
                  {
                                  $attachment['kilobytes'] = vb_number_format($attachment['filesize'] / 1024, 1);
                                  $pm['attachments']["$attachment[attachmentid]"] = $attachment;
                  }

and see if it does the trick. That check is there for some code optimization and normally it isn't a problem.

still not working.

Kentaurus 01-08-2004 08:43 PM

Quote:

Originally Posted by Boofo
The indicator in the usercp almost works. The box for the regular attachments is blank now. Also, is there any way to take the words Thread and Post out of the pm attachments box in the usercp?

Yes, there is one more glitch I forgot to edit, in the template edit <else> should be <else />, otherwise Thread and Post are still shown. I don't know how that code managed to go through the instructions. (well, I do know...)

Boofo 01-08-2004 08:58 PM

I should have caught that, I'm sorry. ;)

Much better now. Is there a way to maybe grab the pmid and put it in the area right under Private Message (in case we need to track anything soemtime)?

Kentaurus 01-08-2004 09:11 PM

Quote:

Originally Posted by Boofo
I should have caught that, I'm sorry. ;)

Much better now. Is there a way to maybe grab the pmid and put it in the area right under Private Message (in case we need to track anything soemtime)?

Yes, you have to do a left join of the pm table to get the pmid, I didn't code it because I don't like mysql doing extra work and that query had a lot of joins already, but it should be easy to do, a left join of the pm table using the pmtextid as the foreign key and checking that the message belongs to the user. That may be useful, I'll see what else is missing and add that to the hack.

hagi 01-08-2004 10:28 PM

I set it up and it caused my PM to stop working. So I un-installed the hack and now this is what I get when I click on my normal attachments. :(

------------------------------------
Database error in vBulletin 3.0.0 Release Candidate 2:

Invalid SQL:
SELECT filename, filesize, postid, attachment.userid,
filedata,
dateline,
visible, mimetype, NOT ISNULL(deletionlog.primaryid) AS isdeleted, private
FROM vb3_attachment AS attachment
LEFT JOIN vb3_attachmenttype AS attachmenttype ON(attachmenttype.extension = SUBSTRING_INDEX(attachment.filename, '.', -1))
LEFT JOIN vb3_deletionlog AS deletionlog ON(attachment.postid = deletionlog.primaryid AND type = 'post')
WHERE attachmentid = 1

mysql error: Unknown column 'private' in 'field list'

mysql error number: 1054
---------------------------------

Any idea to at least fix my attachment table so I can try again?

Kentaurus 01-09-2004 12:25 AM

Quote:

Originally Posted by hagi
I set it up and it caused my PM to stop working. So I un-installed the hack and now this is what I get when I click on my normal attachments. :(

------------------------------------
Database error in vBulletin 3.0.0 Release Candidate 2:

Invalid SQL:
SELECT filename, filesize, postid, attachment.userid,
filedata,
dateline,
visible, mimetype, NOT ISNULL(deletionlog.primaryid) AS isdeleted, private
FROM vb3_attachment AS attachment
LEFT JOIN vb3_attachmenttype AS attachmenttype ON(attachmenttype.extension = SUBSTRING_INDEX(attachment.filename, '.', -1))
LEFT JOIN vb3_deletionlog AS deletionlog ON(attachment.postid = deletionlog.primaryid AND type = 'post')
WHERE attachmentid = 1

mysql error: Unknown column 'private' in 'field list'

mysql error number: 1054
---------------------------------

Any idea to at least fix my attachment table so I can try again?

Did you run the queries almost at the end of the file. You are trying to select a "private" column, but your database doesn't have one, until you add the columns there would be some database errors. These are the queries:

ALTER TABLE attachment add private int not null;
ALTER TABLE pmtext add attach int not null;
ALTER TABLE attachment add index (private);

You can run any query in the admin control panel, almost at the end in a section called "Execute SQL Query", for you to be able to run any query in the config.php you should have a line like $canrunqueries = '1';

changing that 1 for whatever your userid is, that is. Or, if your host provides you with phpmyadmin then you can run queries from that.

Please be aware that depending on the size of your attachment table the first query can take a while.

hagi 01-09-2004 12:29 AM

I will redo everything. I think I messed up because that was the first file and not the updated version. Will tell you if everything works :)

Boofo 01-09-2004 12:32 AM

How about who it is from? And the title (if there's room)?

hagi 01-09-2004 01:03 AM

Edit: Yay it works now. I think it was the way I was executing the queries. I did them one by one instead of my usual all at once and it worked. Works like a charm :) My post attachments have also started to work fine again. Nice hack *clicks install* :D

thx for the help also

SloppyGoat 01-09-2004 09:42 PM

I wouldn't mind installing this, but only if the attachments are deleted after they download them. I sure don't want my db getting abused like that. :eek:

Nmidia 01-09-2004 11:06 PM

Excellent. I was wondering why it didn't work the first time....I was so intent on not making any mistakes as this was my first sql query update that I forgot to upload the files. Yes, stop laughing at me now.

Works first time. Excellent instructions, for a very useful hack!

Boofo 01-10-2004 02:29 AM

Does this hack follow what you have set for the attchment storage as far as where they are stored? I have mine stored on the disk and not the db.

Kentaurus 01-10-2004 08:35 AM

Quote:

Originally Posted by SloppyGoat
I wouldn't mind installing this, but only if the attachments are deleted after they download them. I sure don't want my db getting abused like that. :eek:

Wouldn't that be a little hard on your users? I usually download an attachment more than once, and after I download it I expect it to remain there. That would seem a little un(user-friendly) to me.

This hack uses the same quotas and options that you have already defined for your attachments so if you have a quota for each user no matter if they attach files to posts or private message once they reach their limit they would have to delete some to continue attaching files.

Kentaurus 01-10-2004 08:37 AM

Quote:

Originally Posted by Boofo
Does this hack follow what you have set for the attchment storage as far as where they are stored? I have mine stored on the disk and not the db.

It should. It uses the same code that normal posts use for attachments, I just moved that feature to private messages. I tested both the file and db storage and they seemed to be working.


All times are GMT. The time now is 07:24 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.01859 seconds
  • Memory Usage 1,909KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (15)bbcode_code_printable
  • (17)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (40)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete