Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Full Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Details »»

Version: , by bira bira is offline
Developer Last Online: Jun 2013 Show Printable Version Email this Page

Version: 2.2.x Rating:
Released: 11-25-2001 Last Update: Never Installs: 31
 
No support by the author.

OK, I wrote this hack seeing as my users were nagging about it and I could not find one here (if there is one, I apologise - please give me the URL).

This works exactly like post preview:



How to install:

Open private.php

1) First we need to move "newmessage" after "dosend". Highlight the entire section between:

Code:
    // ############################### start new message ###############################
Until (but not including):

Code:
    // ############################### start send message ###############################

Cut this entire section (a total of 83 lines in 2.2.1) and paste it right above:

Code:
    // ############################### start do stuff (move, etc) ###############################
2) Now we need to insert the following code:

a) Find:

Code:
    $savecopy=iif($savecopy=="yes",1,0);
Right under it insert:

Code:

    // preview hack
    $pmreceipt=iif($pmreceipt=="yes",1,0);
    // preview hack
    
b) Find:

Code:
    if ($pmquota>0 and $touserinfo[usergroupid] != 6 and $bbuserinfo[usergroupid] != 6) {
Right above it insert:

Code:

    // preview hack
    if ($preview) {
        $previewpost=1;
        $previewmessage=bbcodeparse($message,0,$allowsmilie);

        if ($signature) {
            $post['signature'] = bbcodeparse($bbuserinfo['signature'],0,$allowsmilie);
            eval("\$post[signature] = \"".gettemplate("postbit_signature")."\";");
            $previewmessage.=$post['signature'];
        }

        eval("\$postpreview=\"".gettemplate("priv_sendpreview")."\";");

        $parseurlchecked=iif($parseurl,"checked","");
        $pmreceiptchecked=iif($pmreceipt,"checked","");
        $savecopychecked=iif($savecopy,"checked","");
        $signaturechecked=iif($signature,"checked","");
        $previewchecked=0;
        
        $title = htmlspecialchars($title);
        
        $privatemessageid = $prevmessageid;
        $forward;		
        $subject = $title;
        $privmessage = $message;
        $action="newmessage";
    } else {
    // preview hack
    
c) Find:

Code:
    } #end dosend
Right above it insert:

Code:

    } // preview hack
    
d) Find:

Code:
    //show new message form
Right under it insert:

Code:

    // preview hack
    if (!$pagetext) {
        // parse message for html if previewing
        $message = htmlspecialchars($message); // Without this, a </textarea> in the message breaks the form on preview
    }
    // preview hack
    
e) Find:

Code:
    if ($bbuserinfo[userid]!=0 and !$previewpost and $bbuserinfo[signature]!="") {
        $signaturechecked="CHECKED";
    }
Right under it insert:

Code:

    // preview hack
    if (!isset($parseurl)) {
        $parseurlchecked="CHECKED";
    }

    if (!isset($savecopy)) {
        $savecopychecked="CHECKED";
    }
    
    if (!isset($pmreceipt)) {   
        $pmreceiptchecked="CHECKED";
    }
    // preview hack
    
f) Find:

Code:
    // /enhanced
    eval("dooutput(\"".gettemplate("priv_sendprivmsg")."\");");
Right above it insert:

Code:

    // preview hack
    if (!isset($privmessage)) {
        $privmessage = $message[message];
    }
    // preview hack
    

g) Find:

Code:
    // enhanced
   $receipt=iif($pmreceipt=="yes",1,0);
   // /enhanced
And replace it with (the code to remove is marked in red):

Code:
    // enhanced
   $receipt=iif($pmreceipt,1,0);
   // /enhanced

Save private.php and upload to server.


In the Administration control panel -> Templates

1) ADD template priv_sendpreview and insert to it:

Code:

    <br>

    <table cellpadding="0" cellspacing="0" border="0" bgcolor="#555576"  width="100%" align="center"><tr><td>
    <table cellpadding="4" cellspacing="1" border="0"  width="100%">
    <tr>
        <td bgcolor="#8080A6"><smallfont color="#EEEEFF"><b>Message Preview:</b></smallfont></td>
    </tr>
    <tr>
        <td bgcolor="#F1F1F1"><normalfont>$previewmessage</normalfont></td>
    </tr>
    </table>
    </td></tr></table>
    
(you may edit this to your liking).

2) Open template priv_sendprivmsg

a) place $postpreview where you want the message preview to appear (normally would be under $cpnav).

b) Find:

Code:
    <textarea name="message" rows="20" cols="$textareacols" wrap="virtual" tabindex="3">$message[message]</textarea>
And replace it with (change marked in red):

Code:
    <textarea name="message" rows="20" cols="$textareacols" wrap="virtual" tabindex="3"> $privmessage</textarea>
c) Find:

Code:
    <input type="checkbox" name="parseurl" value="yes" checked>
And replace it with (change marked in red):

Code:
    <input type="checkbox" name="parseurl" value="yes" $parseurlchecked>
d) Find:

Code:
    <input type="checkbox" name="savecopy" value="yes" checked>
And replace it with (change marked in red):

Code:
    <input type="checkbox" name="savecopy" value="yes" $savecopychecked>
e) Find:

Code:
    <input type="submit" class="bginput" name="submit" value="Send Message" accesskey="s" tabindex="4">
And replace it with (change marked in red):

Code:
    <input type="submit" class="bginput" name="submit" value="Send Message" accesskey="s" tabindex="4">
    <input type="submit" class="bginput" name="preview" value="Preview Message" accesskey="p" tabindex="4">

3) Open template priv_requestreceipt

Find:

Code:
    <input type="checkbox" name="pmreceipt" value="yes" checked>
And replace it with (change marked in red):

Code:
    <input type="checkbox" name="pmreceipt" value="yes" $pmreceiptchecked>
That's it!

Comments and additions welcome.

Cheers,

Bira

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #42  
Old 05-05-2002, 05:24 PM
kennethj kennethj is offline
 
Join Date: Jan 2002
Location: USA - tn
Posts: 65
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

tnks i need this fix - works great -
tnks for the help,

the hack - is just what the doctor ordered - every one likes a preview, i think

ken

[QUOTE]Originally posted by wluke
OKay.. I have installed this as well and come across another pecularity.

If you look in private.php in the "New Message" section there is this line:
PHP Code:
  if (isset($privatemessageid)) { 
Well what this does is start a check to make sure the previous message actually exists. On my version and installation of PHP even though it was set to '0' this was returning true. I had to change the line to the following to prevent a "Invalid Message Error".

PHP Code:
  if (isset($privatemessageid) and $privatemessageid!=0) { 
With that it works great. I recommend that if the error doesn't occur then use Bira's original code. If it does then make this modification.
Reply With Quote
  #43  
Old 05-07-2002, 05:42 AM
tkeil69575 tkeil69575 is offline
 
Join Date: Nov 2001
Posts: 110
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

hi bira,

sending pms works, but when I press "Preview" I get a error message telling me that ** privatemessage ** is not defined or missing?
Ive tripple checked the code and it seems ok, any ideas?

---- update ----

bira forget my message. I was just "holier than the pope" and made the change you suggested to firefly and now it works great! Thanks

greetings tina
Reply With Quote
  #44  
Old 05-09-2002, 08:10 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

[QUOTE]Originally posted by FireFly

Don't forget we do set error reporting to 7 in all vBulletin's scripts.

Annnnnyhow, I just did what you said and everything seems to be working good now.
Perfect.
Reply With Quote
  #45  
Old 05-17-2002, 09:46 AM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

bira,

I ran into a unique problem tonight totally by accident. (The wife noticed it, actually. ) If I reply to a message and send it, everything works fine. But if I preview it before sending it, somehow it "forwards" the message instead of sending it. The better half noticed an FW: on the message after she recieved it and asked how come I was always forwarding messages to her instead of sending them. I always hit the send button, never the forward button. It only seems to happen after previewing them first. Any ideas on this one?
Reply With Quote
  #46  
Old 05-21-2002, 04:24 AM
Fatty_Bolger's Avatar
Fatty_Bolger Fatty_Bolger is offline
 
Join Date: Apr 2002
Location: Scotland
Posts: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks Bira!!

It took me twice , but I GOT IT!!!

The only thing is, unlike your screen shot in the opening post, in preview it does no appear to be converting the smilie code into smilies in the preview pane. It just shows the emoticon :-) for example.

No big deal really, I am very happy that it's working!!

If you think of a reason as to why the smilies don't work, that would be kewl, if not...no worries!!

Another GREAT and USEFULL hack!!!

Thanks again!!
Reply With Quote
  #47  
Old 05-21-2002, 06:25 AM
Smoothie Smoothie is offline
 
Join Date: Oct 2001
Location: New York
Posts: 1,834
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

/me likes this hack. Good job!
Reply With Quote
  #48  
Old 05-23-2002, 05:28 PM
Mark Hensler's Avatar
Mark Hensler Mark Hensler is offline
 
Join Date: Oct 2001
Location: California
Posts: 205
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Smilie fix...
PHP Code:
// FIND:

$previewmessage=bbcodeparse($message,0,$allowsmilie);

// REPLACE:

$previewmessage pmcodeparse($message);



// FIND:

$post['signature'] = bbcodeparse($bbuserinfo['signature'],0,$allowsmilie);

// REPLACE:

$post['signature'] = pmcodeparse($bbuserinfo['signature']); 
Reply With Quote
  #49  
Old 05-23-2002, 07:23 PM
Illuvatar's Avatar
Illuvatar Illuvatar is offline
 
Join Date: Apr 2002
Location: So. Cal
Posts: 70
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks Mark,

I just applied this fix and it works great!! Hopefully Bira will add this fix to the original.

You folks are the best!! :bunny: :bunny: :bunny:
Reply With Quote
  #50  
Old 05-26-2002, 02:27 AM
Illuvatar's Avatar
Illuvatar Illuvatar is offline
 
Join Date: Apr 2002
Location: So. Cal
Posts: 70
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hey Bira,

This hack is working great for me except when I use "PM To Buddies", and select multiple recipients. We sending multilples, I don't get an option to preview at all.

I send mutiples regularly and would really love to have this option available there as well. Any chance?

Thanks as always,

Illu
Reply With Quote
  #51  
Old 05-26-2002, 03:16 AM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Mark,

When I install the smilie fix, if the use signature is checked before I preview the message, it is no longer checked when previewing the message. And ideas on this one?
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:57 AM.


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.04955 seconds
  • Memory Usage 2,344KB
  • Queries Executed 25 (?)
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
  • (28)bbcode_code
  • (3)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)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_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
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete