PDF MOD - Posted (3702 Views)
Senior Member
leatherlips
Posts: 1838
1838
I'm working on a PDF mod. This mod will let you embed a pdf file into your post via the PDFMENOT website. I have it working OK but when embedded, it widens the width of the forum. I can't figure out why.
Here is my test page with an embedded PDF file:

http://www.mangionemagic.com/forumtest/topic.asp?TOPIC_ID=901

If you want to try out the feature login as demo/demo. Just either link to a pdf file and place it in the pdf tags - [pdf] [/pdf] or simply upload a pdf file (which will automatically insert the pdf tags for you).
Here is the code for my tag. Note that I do not write code. I simply am a good "copy and paste" kind of guy. I copied some code from the video mod and modified it for this PDF mod. There is probably a better way to do it but this for now is working.
Here is the function:

Code:
function EmbedPDF(URL,autostart){
if(autostart != true && autostart != "true" && autostart != "1" && autostart != 1){
autostart = 0; //Replace with default. Default = 0 (false). }else{
autostart = 1; //Replace with 1, being zero. }//See if we can continue. if(URL == null || URL == "illegal"){
//Nope, we can't. document.writeln(" error: illegal use of pdf tag! ");
}else{
//Add the code to the document. document.writeln('<script type="text/javascript" src="http://pdfmenot.com/embed/?url=' + URL + '&width=625&height=475" />');
document.writeln('</script>');
}
}
Here is the tag code:

Code:
'##### PDF Begin #####

Function ReplacePDFTags(fString)
Dim oTag, cTag
Dim roTag, rcTag
Dim oTagPos, cTagPos
Dim nTagPos
Dim counter1, counter2
Dim strCodeText
Dim Tagcount
Dim strTempString, strResultString
TagCount = 2
Dim CodeTags(2,2,2)
Dim strArray, strArray2

CodeTags(1,1,1) = "[pdf]"
CodeTags(1,2,1) = "[/pdf]"

CodeTags(1,1,2) = "<div class=""media""><script language=""javascript"">EmbedPDF("""
CodeTags(1,2,2) = """,625,475,false)</script></div><div class=""break""></div>"

CodeTags(2,1,1) = "[pdf]"
CodeTags(2,2,1) = "[/pdf]"
CodeTags(2,1,2) = CodeTags(1,1,2)
CodeTags(2,2,2) = CodeTags(1,2,2)

strResultString = ""
strTempString = fString

for counter1 = 1 to TagCount

oTag = CodeTags(counter1,1,1)
roTag = CodeTags(counter1,1,2)
cTag = CodeTags(counter1,2,1)
rcTag = CodeTags(counter1,2,2)
oTagPos = InStr(1, strTempString, oTag, 1)
cTagPos = InStr(1, strTempString, cTag, 1)

if (oTagpos > 0) and (cTagPos > 0) then
strArray = Split(strTempString, oTag, -1)
for counter2 = 0 to Ubound(strArray)
if (Instr(1, strArray(counter2), cTag) > 0) then
strArray2 = split(strArray(counter2), cTag, -1)
strCodeText = trim(strArray2(0))
if instr(strCodeText,",") > 0 or _
instr(strCodeText,")") >0 or _
instr(strCodeText,"(") >0 or _
instr(strCodeText,";") >0 or _
instr(strCodeText,"""") >0 or _
instr(strCodeText,"<") >0 or _
instr(strCodeText,">") >0 or _
instr(strCodeText,"[") >0 or _
instr(strCodeText,"]") >0 or _
instr(strCodeText,",") >0 then
strCodeText = "illegal"
end if
strResultString = strResultString & roTag & strCodeText & rcTag & strArray2(1)
else
strResultString = strResultString & strArray(counter2)
end if
next

strTempString = strResultString
strResultString = ""
end if
next

ReplacePDFTags = strTempString
end function

'##### PDF End #####
Can anyone see why it stretches my forums width?
 Sort direction, for dates DESC means newest first  
 Page size 
Posted
Senior Member
leatherlips
Posts: 1838
1838
Well, I just looked at it with the demo account and the page does not stretch. It seems it only widens the page if I'm logged on as the Admin. Any idea why?
Here it is as a regular member:


Here it is as the admin:

Posted
Snitz Forums Admin
RichardKinser
Posts: 16655
16655
It seems to be because of the added icons in the topic header when you logged in as an administrator.
Posted
Senior Member
leatherlips
Posts: 1838
1838
You're probably right. Why doesn't the file fill up the space under those admin icons? It instead seems to stretch the cell it is in.
Posted
Starting Member
iane87
Posts: 42
42
HTML will stretch the cell if content is too big. It will NEVER stretch a single element across multiple cells. You need make a whole separate table inside the header row to achieve the result you are looking for.
When your done your HTML will be something like this.
Code:
<table>
<tr><td>Author</td><td><table><tr><td>Topic</td><td>Admin Icons</td></tr></table></td></tr>
<tr><td>Avatar</td><td>Message</td></tr>
</table>
Posted
Senior Member
leatherlips
Posts: 1838
1838
Where in topic.asp would I find the cell that holds the message? Perhaps it needs a colspan=2 added to it for the admin?
Posted
Starting Member
iane87
Posts: 42
42
Look for

<span id="msg"

You should see the starting td tag not too far above it
Posted
New Member
Todd
Posts: 63
63
Hi,

I've been playing around with this a bit myself. I would love it if you could share more of this code. I imagine there is some work that needs to be done to post.asp also?
I've included the function in topic.asp and the tags in inc_func_common.asp

Any help is appreciated.
Thanks

Tyco Collector's Forum

<<< Link to your forum removed as the link back to Snitz Forums 2000 missing from the Image Forum code you are using. As part of the GPL you must have the link back to http://forum.snitz.com/ >>>
Posted
Posted
New Member
Todd
Posts: 63
63
Originally posted by Todd
<<< Link to your forum removed as the link back to Snitz Forums 2000 missing from the Image Forum code you are using. As part of the GPL you must have the link back to http://forum.snitz.com/ >>>


Thank you for bringing that to my attention, has been fixed.
Posted
New Member
Todd
Posts: 63
63
Here is some info I've found which is relevant but I honestly don't know if it would help with snitz or not.
http://www.ehow.com/how_5212195_open-pdf-file-aspnet.html
You Must enter a message