Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.5 > vBulletin 3.5 Add-ons

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
  #32  
Old 10-16-2005, 03:02 PM
Lizard King Lizard King is offline
 
Join Date: Jan 2005
Location: Mersin
Posts: 907
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Dark Visor
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)
Can you make something something similar
Reply With Quote
  #33  
Old 10-16-2005, 03:10 PM
weaver weaver is offline
 
Join Date: Mar 2004
Posts: 183
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by rossco_2005
Thanks, in pm_pmpopup, $newpm[id] should be $newpm[pmid]
Thanks
Reply With Quote
  #34  
Old 10-16-2005, 04:58 PM
LeeWicKeD LeeWicKeD is offline
 
Join Date: Jan 2005
Location: Germany
Posts: 48
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by rossco_2005
Thanks, in pm_pmpopup, $newpm[id] should be $newpm[pmid]

You should post that in your first post, it helped me to fix this "bug"

Edit: ok you've already done..when i installed the hack, it was the wrong code
Reply With Quote
  #35  
Old 10-16-2005, 05:05 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 Dark Visor
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)
Because I don't know how to use ajax yet?

If I figure out how AJAX works, maybe it would be a good idea to make this ajax based. :ermm:
Reply With Quote
  #36  
Old 10-16-2005, 05:39 PM
akanevsky akanevsky is offline
 
Join Date: Apr 2005
Posts: 3,972
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Because I don't know how to use ajax yet?
Don't worry, me neither :P
Reply With Quote
  #37  
Old 11-06-2005, 02:40 PM
rossco_2005's Avatar
rossco_2005 rossco_2005 is offline
 
Join Date: Apr 2005
Location: Canada
Posts: 184
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I just updated this mod.

It's now a popup within the current window instead of opening a new window. Check out the new screenshot to see.
Reply With Quote
  #38  
Old 11-06-2005, 04:10 PM
akanevsky akanevsky is offline
 
Join Date: Apr 2005
Posts: 3,972
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ah, great. Just like I wanted. Good job man!
Reply With Quote
  #39  
Old 11-06-2005, 04:34 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 Dark Visor
Ah, great. Just like I wanted. Good job man!
Thanks, and i got the idea from you.

Didn't even have to learn ajax either. :01:

Altho one day I might try to learn how it works so that we can have an auto check every minute or 2 to see if there's a new PM.
Reply With Quote
  #40  
Old 11-06-2005, 04:53 PM
akanevsky akanevsky is offline
 
Join Date: Apr 2005
Posts: 3,972
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Altho one day I might try to learn how it works so that we can have an auto check every minute or 2 to see if there's a new PM.
lol... that'd be good for board with long threads and slow users
Reply With Quote
  #41  
Old 11-06-2005, 05:29 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 Dark Visor
lol... that'd be good for board with long threads and slow users
Yup exactly what I was thinking, or if you're waiting for someone to PM you you dont have to keep refreshing just leave the window open and do whatever else you want to do until you see the popup.
Reply With Quote
Reply

Thread Tools

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 09:07 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.11286 seconds
  • Memory Usage 2,329KB
  • 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
  • (1)bbcode_html
  • (8)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