Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.5 > vBulletin 3.5 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
New PM Popup Replacement Details »»
New PM Popup Replacement
Version: 2.5, by rossco_2005 rossco_2005 is offline
Developer Last Online: May 2013 Show Printable Version Email this Page

Version: 3.5.4 Rating:
Released: 07-25-2005 Last Update: 06-30-2006 Installs: 178
Uses Plugins Template Edits
Additional Files  
No support by the author.

[high]PLEASE CLICK INSTALL IF YOU INSTALL THIS[/high]

This mod changes the default New PM Popup to open a nice looking, closeable html popup within the page.

It tells you who sent the latest message as well as what the title is.

The window then gives you the option of viewing the message (in which case it opens another window and closes itself), viewing your inbox (again it will close the popup), or to just ignore the new message and close the New PM popup.

A screenshot is attached to show you what the popup will look like.

To install all you need to do is make 1 template edit to each of your skins, upload 1 XML plugin file, and upload 1 file with your ftp client.

[high]Installation[/high]

First go to your pm_popup_script template and replace it with this code:

HTML Code:
<script type="text/javascript" src="clientscript/fixed_position_ie.js"></script>
<script type='text/javascript'>
    var agtbrw=navigator.userAgent.toLowerCase();
    var operaaa=(agtbrw.indexOf('opera')!=-1);
    var head="display:''";
    var folder='';
    function expandit(curobj)
    {
        if(document.getElementById(curobj))
        {
            folder=document.getElementById(curobj).style;
        }
        else
        {
            if(ns6==1||operaaa==true)
            {
                folder=curobj.nextSibling.nextSibling.style;
            }
            else
            {
                folder=document.all[curobj.sourceIndex+1].style;
            }
        }
        if (folder.display=="none")
        {
            folder.display="";
        }
        else
        {
            folder.display="none";
        }
    }
</script>
<style type="text/css">
#pm_popup {
    position:fixed;
    top:250px;
    border:1px solid;
    width:64%;
    margin-right:18%;
    margin-left:18%;
}

</style>
<div id="pm_popup">
    <table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%">
        <tr>
            <td class="tcat">
                <span class="smallfont" style="float:$stylevar[right]">
                    <a href="#" onclick="expandit('pm_popup');">Close</a>
                </span>
                $vbphrase[new_private_msg]
            </td>
        </tr>
        <tr>
            <td class="panelsurround" align="center">
                <div class="panel">
                    <div align="center">
                        <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0">
                            <tr>
                                <td>
                                    $vbphrase[newest_pm_from] <b>$newpm[fromusername]</b>, $vbphrase[titled]<b>'$newpm[title]'</b>
                                    <br />
                                </td>
                            </tr>
                            <if condition="$shownewpmpreview">
                            <tr>
                                <td class="smallfont" style="padding-top:20px;">
                                    $newpm[message]
                                </td>
                            </tr>
                            </if>
                            <tr>
                                <td align="center" style="padding-top:20px;">
                                    <a href="$vboptions[bburl]/private.php?do=showpm&pmid=$newpm[pmid]">$vbphrase[read_message]</a>
                                    (<a href="$vboptions[bburl]/private.php?do=showpm&pmid=$newpm[pmid]" target="_blank">
                                        <span class="smallfont">$vbphrase[open_new_window]</span>
                                    </a>)
                                    <br /><br />
                                    <a href="$vboptions[bburl]/private.php">$vbphrase[go_to_inbox]</a>
                                </td>
                            </tr>
                        </table>
                    </div>
                </div>
                <div style="margin-top:$stylevar[cellpadding]px">
                    <form>
                        <input type="button" class="button" value="$vbphrase[close_popup]" onclick="expandit('pm_popup');" />
                    </form>
                </div>
            </td>
        </tr>
    </table>
</div>
The above step will need to be done for each of your skins.

Next, go to the plugin manager:
Go to your admincp -> Expand Plugin System in the nav -> Click Manage Products -> Scroll to the bottom of the page and click Add/Import -> Browse to the xml file included in the zip -> upload

Now access your FTP and upload the attached 'fixed_position_ie.js' file to your clientscript/ folder. This js allows Internet Explorer to do fixed positioning meaning that the popup stays in place as you scroll the screen.

That's it, enjoy.

[high]How To Enable Preview[/high]
To enable the preview in the popup (view the screenshot to see what it looks like), just edit the plugin called "New PM Popup Window Preview" with the following instructions:
Go to your admincp -> Expand Plugin System in the nav -> Click Plugin Manager -> Click edit next to the "New PM Popup Window Preview" plugin

Now find, right at the top, this line:
$newpmoption['showpreview'] = false;

Change to:
$newpmoption['showpreview'] = true;


The preview is now enabled. To change how many characters are shown in the preview, go back to editing the plugin and change this line (near the top):
$newpmoption['maxcharacters'] = 100;


[high]To uninstall this hack just revert the pm_popup_script template then delete the uploaded file (/clientscript/fixed_position_ie.js) and the plugin.[/high]


Thanks to COBRAws for adding phrases.

Tested and works fully in the vB3.5 series (vb 3.5.0 ("Gold") up to 3.5.4).
Should work in vb3.6, the variables look to be the same.

This will probably work in vb3.0 series too but I don't remember if I've tested. I'm not promising.
If anyone wants to confirm that it fully works please PM me or post here.

Supporters / CoAuthors

Show Your Support

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

Comments
  #22  
Old 10-15-2005, 12:34 AM
Lizard King Lizard King is offline
 
Join Date: Jan 2005
Location: Mersin
Posts: 907
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Code:
<script type="text/javascript">
	<!--
	//pm popup script
	var winobj = window.open("private.php?do=pmpopup", "pmnew", "menubar=no,scrollbars=no,toolbar=no,location=no,directories=no,resizable=no,top=  50,left=50,height=275,width=410");
	if (winobj == null)
	{
		alert("$vbphrase[window_open_failed_blocker]");
	}
	// /pm popup script 
	//-->
</script>
You may want to change the first template to this one everybody installs in a different directory
Reply With Quote
  #23  
Old 10-15-2005, 04:00 AM
Keyser S?ze's Avatar
Keyser S?ze Keyser S?ze is offline
 
Join Date: Apr 2002
Location: USA
Posts: 690
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

see i dont get this, cuz the default PM popup works fine if u have a popup blocker running, but this does not, how come?
Reply With Quote
  #24  
Old 10-15-2005, 04:45 AM
Aeolian_X Aeolian_X is offline
 
Join Date: Jun 2005
Posts: 45
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Had to use Lizard Kings script above to get it to work, but it still doesn't show the PM sender's name for some reason.
Reply With Quote
  #25  
Old 10-15-2005, 08:36 AM
Lizard King Lizard King is offline
 
Join Date: Jan 2005
Location: Mersin
Posts: 907
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Aeolian_X
Had to use Lizard Kings script above to get it to work, but it still doesn't show the PM sender's name for some reason.
There are couple bugs with it.
1. is as you mentioned senders username is not visible
2. if you have unread pm and you receive a new one , it doesn't give any warning
3. ıf you receive more then 1 pm it only shows 1 pm received.

P.S : It is not my script , there was a error and i just figured it out.
Reply With Quote
  #26  
Old 10-15-2005, 03:20 PM
rossco_2005's Avatar
rossco_2005 rossco_2005 is offline
 
Join Date: Apr 2005
Location: Canada
Posts: 184
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lizard King
Code:
<script type="text/javascript">
	<!--
	//pm popup script
	var winobj = window.open("private.php?do=pmpopup", "pmnew", "menubar=no,scrollbars=no,toolbar=no,location=no,directories=no,resizable=no,top=  50,left=50,height=275,width=410");
	if (winobj == null)
	{
		alert("$vbphrase[window_open_failed_blocker]");
	}
	// /pm popup script 
	//-->
</script>
You may want to change the first template to this one everybody installs in a different directory
Sorry that is what i meant to put, i just copied from the wrong style. :disappointed:
Reply With Quote
  #27  
Old 10-15-2005, 03:28 PM
rossco_2005's Avatar
rossco_2005 rossco_2005 is offline
 
Join Date: Apr 2005
Location: Canada
Posts: 184
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lizard King
There are couple bugs with it.
1. is as you mentioned senders username is not visible
2. if you have unread pm and you receive a new one , it doesn't give any warning
3. ıf you receive more then 1 pm it only shows 1 pm received.

P.S : It is not my script , there was a error and i just figured it out.
Just fixed number 1, in the template pm_pmpopup '$newpm['username']' should have been '$newpm['fromusername']'...I have no idea how that got changed, i guess i (again) copied from the wrong style.

Number 2 i dont understand, are you saying if you have more than 1 PM the popup doesnt come up at all, or that it doesn't come up for each of the PMs? :blink:

And number 3 is how it's supposed to work, it only tells you the latest PM, not all of them.
Reply With Quote
  #28  
Old 10-15-2005, 04:36 PM
weaver weaver is offline
 
Join Date: Mar 2004
Posts: 183
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Works fine for me.
Reply With Quote
  #29  
Old 10-16-2005, 02:20 PM
weaver weaver is offline
 
Join Date: Mar 2004
Posts: 183
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Actually this morning I noticed that something about it is not working correctly. Yesterday when I tested it, I clicked on go to inbox and that worked fine. This morning when I clicked 'read this message' I received an error message:

Quote:
Invalid Private Message specified. If you followed a valid link, please notify the administrator.
This is the link it tried going to:

/private.php?do=showpm&pmid=

For some reason it's not adding the id number at the end of the link.
Reply With Quote
  #30  
Old 10-16-2005, 02:41 PM
rossco_2005's Avatar
rossco_2005 rossco_2005 is offline
 
Join Date: Apr 2005
Location: Canada
Posts: 184
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by weaver
Actually this morning I noticed that something about it is not working correctly. Yesterday when I tested it, I clicked on go to inbox and that worked fine. This morning when I clicked 'read this message' I received an error message:



This is the link it tried going to:

/private.php?do=showpm&pmid=

For some reason it's not adding the id number at the end of the link.
Thanks, in pm_pmpopup, $newpm[id] should be $newpm[pmid]
Reply With Quote
  #31  
Old 10-16-2005, 02:58 PM
akanevsky akanevsky is offline
 
Join Date: Apr 2005
Posts: 3,972
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Come on, this is 3.5 and it has AJAX.
Why don't you make it AJAX based instead, rather than a popup that often won't work (after being cut off by firewall)
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 06:24 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.08236 seconds
  • Memory Usage 2,333KB
  • Queries Executed 26 (?)
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
  • (2)bbcode_code
  • (1)bbcode_html
  • (5)bbcode_quote
  • (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
  • (1)pagenav_pagelinkrel
  • (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