The forum of the forums
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Application: Popup of private message list.

+4
Van-Helsing
SLGray
Pizza Boi
JScript
8 posters

Go down

Application: Popup of private message list. Empty Application: Popup of private message list.

Post by JScript Thu 2 Jul - 17:32

* Application: Popup of private message list.
* Description: This application displays the list of PM in related links.
* Version: 1.03102014-jq1.9.1 - Hermes Kriophoros - 2014/03/10

In your ACP: Modules -> HTML&JAVASCRIPT -> JavaScript codes management -> [Create a new JavaScript]
Title *: <- Whatever you want
Placement : <- In all the pages
Javascript Code * : <- Select, copy and paste the code below in this field:
Code:

/***
 * Application: Private Message list.
 * Description: This application can displays the list of PM in related menus.
 * Version: 1.03102014-jq1.9.1 - Hermes Kriophoros
 * Made and Optimizations by JScript - 2014/03/10
 * Copyright (c) 2014 JScript <jscriptbrasil at live dot com>
 * This work is free. You can redistribute it and/or modify it
 * under the terms of the WTFPL, Version 2
 */
jQuery(function () {
    /***
    * User Definition Variables
    ***/
    /* Put here the amount number of PMs returned!!! */
    var iAmount = 10;   
    /***
    * System Defined Variables - Do not edit if you don't know!
    ***/
    var oConfig = {
        sInfo:
            '<!--' +
            '* Application: Private Message List.' +
            '* Description: This application can displays the list of PM in related menus.' +
            '* Version: 1.03102014-jq1.9.1 - Hermes Kriophoros' +
            '* Made and Optimizations by JScript - 2014/03/10' +
            '* View more in: http://codeforum.besaba.com/forum/index.php' +
            '* Copyright (c) 2014 JScript <jscriptbrasil at live dot com>' +
            '* This work is free. You can redistribute it and/or modify it' +
            '* under the terms of the WTFPL, Version 2' +
            '-->',       
        sContent:
            '<div class="ipsHeaderMenu boxShadow" id="user_inbox_link_menucontent" style="display: none; width: 300px; position: absolute; z-index: 9999;">' +
                '<h4 class="ipsType_sectiontitle">Inbox folder' +
                    '<p class="ipsPad_half ipsType_smaller right">' +
                        '<a class="configure" href="/privmsg?folder=inbox">Messages</a> · <a href="/privmsg?mode=post" title="New message">New message</a>' +
                    '</p>' +
                '</h4>' +
                '<ul class="ipsList_withminiphoto"><img src="http://i55.servimg.com/u/f55/18/17/62/92/ajax-l10.gif" alt="- Load" style="display: block; margin-left: auto; margin-right: auto;"></ul>' +
            '</div>',       
        sCSS:
            '<style>' +
            '.ipsHeaderMenu {' +
                'background-color: #FFFFFF;' +
                'border-radius: 0 0 6px 6px;' +
                'overflow: hidden;' +
                'padding: 10px;' +
                'width: 340px;' +
            '}' +
            '.boxShadow {' +
                'box-shadow: 0 12px 25px rgba(0, 0, 0, 0.58);' +
            '}' +
            '.ipsHeaderMenu .ipsType_sectiontitle {' +
                'margin-bottom: 8px;' +
            '}' +
            '.ipsType_sectiontitle {' +
                'border-bottom: 1px solid #ECECEC;' +
                'color: #595959;' +
                'font-size: 16px;' +
                'font-weight: 400;' +
                'padding: 5px 0;' +
            '}' +
            '.ipsType_smaller, .ipsType_smaller a {' +
                'font-size: 11px !important;' +
            '}' +
            '.ipsPad_half {' +
                'padding: 4px !important;' +
            '}' +
            '.right {' +
                'float: right;' +
            '}' +
            '.ipsList_withminiphoto > li {' +
                'margin-bottom: 8px;' +
            '}' +
            '.ipsType_small {' +
                'font-size: 12px;' +
            '}' +
            '.ipsUserPhoto {' +
                'background: none repeat scroll 0 0 #FFFFFF;' +
                'border: 1px solid #D5D5D5 !important;' +
                'box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);' +
                'padding: 1px;' +
            '}' +
            '.ipsUserPhoto_mini {' +
                'height: 30px;' +
                'width: 30px;' +
            '}' +
            '.left {' +
                'float: left;' +
            '}' +
            '.ipsList_withminiphoto > li .list_content {' +
                'margin-left: 40px;' +
            '}' +
            '#user_inbox_link_menucontent ul.ipsList_withminiphoto {' +
                'list-style: none outside none;' +
                'padding-left: 0 !important;' +
            '}' +
            '.desc.lighter, .desc.lighter.blend_links a {' +
                'color: #A4A4A4;' +
            '}' +
            '.ipsType_smaller, .ipsType_smaller a {' +
                'font-size: 11px !important;' +
            '}' +
            '.menu_active {' +
                'color: #595959 !important;' +
                'background-color: #FFFFFF !important;' +
                'background-position: center bottom;' +
                'border-radius: 3px 3px 0 0;' +
                'padding: 4px;' +
            '}' +
            '</style>',
        sTarget: '',
        sSearch: '',
        sExpression0: '',
        sExpression1: '',
        sExpression2: '',
        sGetIMG: ''
    };

    /* Add CSS */
    /*document.head.insertAdjacentHTML('beforeEnd', oConfig.sCSS);*/
    jQuery(oConfig.sCSS).insertBefore('body');
    jQuery('body').append(oConfig.sInfo + oConfig.sContent);

    /* Forum versions! */
    var phpBB2 = jQuery('.bodyline');
    var phpBB3 = jQuery('#wrap');
    var punbb = jQuery('#pun-intro');
    var invision = jQuery('#ipbwrapper');
   
    if (phpBB2.length) {
        oConfig.sSearch = 'form[name="privmsg_list"] .forumline tr';
        oConfig.sTarget = 'tr';
        oConfig.sExpression0 = 'memDiv.find("tr:first, tr:last").remove();';
        oConfig.sExpression1 = 'jQuery(this).find("a.topictitle").html()';
        oConfig.sExpression2 = 'jQuery(this).find("td .name").html() + " - " + jQuery(this).find("td .postdetails").html()';
        oConfig.sGetIMG = ' #emptyidcc .row1.gensmall img:eq(0)';
    } else if(phpBB3.length) {
        oConfig.sSearch = '.topiclist.pmlist.bg_none li';
        oConfig.sTarget = '.icon dt';
        oConfig.sExpression1 = 'jQuery(this).find("a.topictitle")[0].outerHTML';
        oConfig.sExpression2 = 'jQuery(this).find("em").html()';
        oConfig.sGetIMG = ' #profile-advanced-right img:eq(0)';
    } else if(punbb.length) {
        oConfig.sSearch = '.main-content tr .tcl.tdtopics';
        oConfig.sGetIMG = ' #profile-advanced-right .main-content img:first';
    } else if(invision.length) {
        oConfig.sSearch = '.borderwrap table.ipbtable tbody tr:not(":empty")';
        oConfig.sTarget = 'tr';
        oConfig.sExpression1 = 'var _tmp1 = jQuery(this).find("td:eq(2)");_tmp1.children("a.topictitle")[0].outerHTML';
        oConfig.sExpression2 = '_tmp1.children("a.topictitle").remove();_tmp1.html()';
        oConfig.sGetIMG = ' #profile-advanced-right .box-content.profile.center img:first';
    };
   
    jQuery('a[href*="/privmsg?folder=inbox"]').click(function () {
        var oClicked = jQuery(this);
        var oTarget = jQuery('#user_inbox_link_menucontent');

        if (oTarget[0].style.display == 'none') {
            oClicked.addClass('menu_active');
           
            if ( !oTarget.find('ul.ipsList_withminiphoto > li').length ) {
                var memDiv = jQuery('<div>');
                memDiv.load('/privmsg?folder=inbox ' + oConfig.sSearch + ':lt(' + iAmount + ')', function() {
                    if (punbb.length) {
                        memDiv
                            .html(
                                memDiv.html()
                                    .replace(/\<\/a\> por/g, '</a></br><span class="ipsType_smaller desc lighter">')
                                    .replace(/\<\/td\>/g, '</span></div></li>')
                                    .replace(/\<td class="tcl tdtopics"\>/g, '<li class="ipsType_small clearfix"><img class="ipsUserPhoto ipsUserPhoto_mini left" alt="User image" src="http://i78.servimg.com/u/f78/18/17/62/92/defaul10.png"><div class="list_content">')
                            )
                            .find('span.status').remove();
                    } else {
                        if (oConfig.sExpression0) {
                            eval( oConfig.sExpression0 );
                        }
                        var sHtml = '';
                        oConfig.sTarget = memDiv.find(oConfig.sTarget);
                        jQuery.each(oConfig.sTarget, function( index, value ) {
                            sHtml +=
                                '<li class="ipsType_small clearfix">' +
                                    '<img class="ipsUserPhoto ipsUserPhoto_mini left" alt="User image" src="http://i78.servimg.com/u/f78/18/17/62/92/defaul10.png">' +
                                    '<div class="list_content">' +
                                        eval( oConfig.sExpression1 ) + '<br>' +
                                        '<span class="ipsType_smaller desc lighter">' + eval( oConfig.sExpression2 ) + '</span>' +
                                    '</div>' +
                                '</li>';
                        });
                        memDiv.html(sHtml);
                    }
                    oTarget.find('ul.ipsList_withminiphoto').html(memDiv.html());

                    var oImgTarget = oTarget.find('.ipsType_small.clearfix');
                    oImgTarget.each(function( index ) {
                        var UserURL = jQuery(this).find('.ipsType_smaller a, .list_content a:last');

                        if (UserURL.length) {
                            UserURL = UserURL.attr('href');
                            var oImgTag = jQuery(this).find('.ipsUserPhoto');
                            var UserIMG = sessionStorage.getItem(UserURL); /* Gets the avatar saved in local storage */

                            /* If avatar alread saved, then no request member profile! */
                            if(UserIMG) {
                                jQuery(this).find('img').attr('src', UserIMG);
                            } else {
                                /* if not, then only request per session!!! */
                                jQuery.get(UserURL, function(data){
                                    var profile_img = jQuery(oConfig.sGetIMG, data).attr('src');
                                   
                                    if (profile_img !== undefined) {
                                        oImgTag.attr('src', profile_img);
                                        /* Saves the member avatar in local storage */
                                        sessionStorage.setItem(UserURL, profile_img);
                                    }
                                });
                            }
                        }
                    });
                });
            }
            oTarget
                .css({
                    'left': (oClicked.offset().left + oClicked.outerWidth()) - oTarget.outerWidth(),
                    'top': oClicked.offset().top + oClicked.outerHeight()
                })           
                .fadeIn(400);
            jQuery(document).mousedown(function() {
                if(!oTarget.is(":hover")) {
                    jQuery(document).unbind('mousedown');
                    oClicked.removeClass('menu_active');
                    oTarget.fadeOut(400);
                }
            });           
        } else {
            oClicked.removeClass('menu_active');
            oTarget.fadeOut(400);
        }
        return false;
    });
});
Remarks:

1- It works on all versions!
2- * You can set the amount of PMs that will be part of the list, you just set in the code above the value of the variable iAmount, eg:
Suppose you want to display a list of no more than 5 PMs, just put the value 5 in the variable, thus:
var iAmount = 5;

Result:
Application: Popup of private message list. Pm110

The code needs several improvements, feel free to edit it!

JS
JScript
JScript
Forumember

Male Posts : 741
Reputation : 175
Language : PT-BR, EN
Location : Brazil

http://jscript.forumeiros.com/

Back to top Go down

Application: Popup of private message list. Empty Re: Application: Popup of private message list.

Post by Pizza Boi Thu 2 Jul - 22:51

Hi Very Happy

I tried it out on my test forum, and I don't have any messages. Does it strictly function whenever you only have messages?

Regards,
Pizza Boi
Pizza Boi
Pizza Boi
Hyperactive

Male Posts : 2016
Reputation : 160
Language : French
Location : Pizza Hut!

Back to top Go down

Application: Popup of private message list. Empty Re: Application: Popup of private message list.

Post by JScript Thu 2 Jul - 23:31

@Pizza Boi
Of course yes!
If you have no PM to read the code will not show anything...

JS
JScript
JScript
Forumember

Male Posts : 741
Reputation : 175
Language : PT-BR, EN
Location : Brazil

http://jscript.forumeiros.com/

Back to top Go down

Application: Popup of private message list. Empty Re: Application: Popup of private message list.

Post by SLGray Mon 21 Dec - 4:58

I do not know if these are bugs, but the messages link in the pop up does not load the inbox page, the pop up appears when you press the inbox link in the pm pages, and the pop up appears when you press the pm title in the inbox page.


Application: Popup of private message list. Slgray10

When your topic has been solved, ensure you mark the topic solved.
Never post your email in public.
SLGray
SLGray
Administrator
Administrator

Male Posts : 51554
Reputation : 3524
Language : English
Location : United States

https://forumsclub.com/gc/128-link-directory/

Back to top Go down

Application: Popup of private message list. Empty Re: Application: Popup of private message list.

Post by SLGray Fri 25 Dec - 19:56

I would like to inform all who are using this code that two other forums has this same topic, but they have an updated version that fixes the messages link in the pop up.


Application: Popup of private message list. Slgray10

When your topic has been solved, ensure you mark the topic solved.
Never post your email in public.
SLGray
SLGray
Administrator
Administrator

Male Posts : 51554
Reputation : 3524
Language : English
Location : United States

https://forumsclub.com/gc/128-link-directory/

Back to top Go down

Application: Popup of private message list. Empty Re: Application: Popup of private message list.

Post by Van-Helsing Wed 8 Jun - 23:50

Hello guys,
After the pms update for mobile version this javascript needs and update due when pressing the link "Messages" it isn't redirecting to inbox folder. @SLGray can someone check this code?
Van-Helsing
Van-Helsing
Hyperactive

Male Posts : 2431
Reputation : 116
Language : English, Greek

http://itexperts.forumgreek.com/

Back to top Go down

Application: Popup of private message list. Empty Re: Application: Popup of private message list.

Post by Storytellers CAN Fri 15 Jul - 19:22

Using classic mode on  my mobile device has 2 major errors.

I am running  bb3


1.  Cannot access standard inbox. I am unable  to scroll through  the entire list, so I clicked the "Messages"  button and it doesn't  redirect  to /primsg?folder=inbox

2. Once in a message  there are the 4 links above. The "inbox link" gives another  pop up that I   cannot  scroll in, instead of taking  me to the actual  inbox . I can only get into  the  inbox by sending  a message.

I adjusted  the Vair amount to include the etire inbox to work around  this, but it make the pop out extremely   long
Storytellers CAN
Storytellers CAN
Forumember

Posts : 67
Reputation : 1
Language : English

http://llfmrpg.forumotion.com/

Back to top Go down

Application: Popup of private message list. Empty Re: Application: Popup of private message list.

Post by SLGray Fri 15 Jul - 21:40

Storytellers CAN wrote:1.  Cannot access standard inbox. I am unable  to scroll through  the entire list, so I clicked the "Messages"  button and it doesn't  redirect  to /primsg?folder=inbox

2. Once in a message  there are the 4 links above. The "inbox link" gives another  pop up that I   cannot  scroll in, instead of taking  me to the actual  inbox . I can only get into  the  inbox by sending  a message.
These also occurs on PC's.  There are other forums that have this same topic, but has a fix for the message link in the pop up.


Application: Popup of private message list. Slgray10

When your topic has been solved, ensure you mark the topic solved.
Never post your email in public.
SLGray
SLGray
Administrator
Administrator

Male Posts : 51554
Reputation : 3524
Language : English
Location : United States

https://forumsclub.com/gc/128-link-directory/

Back to top Go down

Application: Popup of private message list. Empty Re: Application: Popup of private message list.

Post by Storytellers CAN Sun 17 Jul - 10:38

Know where I might find those fixes, sir?  Wink
Storytellers CAN
Storytellers CAN
Forumember

Posts : 67
Reputation : 1
Language : English

http://llfmrpg.forumotion.com/

Back to top Go down

Application: Popup of private message list. Empty Re: Application: Popup of private message list.

Post by darki Sun 17 Jul - 13:35

Storytellers CAN wrote:Know where I might find those fixes, sir?  Wink
It seems like SLGray or an other staff edited the first post since the fix is already in it.

For you:
Go into the script and find:
Code:
<a class="configure" href="/privmsg">Messages</a>
Behind privmsg you have to add ?folder=inbox 'cause this is the right path.
avatar
darki
Forumember

Posts : 254
Reputation : 10
Language : German, english

http://schiggysboard.com

Back to top Go down

Application: Popup of private message list. Empty Re: Application: Popup of private message list.

Post by Legionheart Sun 17 Jul - 14:08

This is confirmed, it has been fixed. I had an issue with it before as well. However, I just tested it on a PhpBB3 forum and it works. Cheers!
Legionheart
Legionheart
Helper
Helper

Male Posts : 721
Reputation : 111
Language : English
Location : San Venganza

https://help.forumotion.com

Back to top Go down

Application: Popup of private message list. Empty Re: Application: Popup of private message list.

Post by Shadow. Sun 17 Jul - 17:42

Not fixed, there are still bugs like you can't open messages from inbox or if you click inbox button when you read a message it again opens a list, not a inbox folder. for example:
Application: Popup of private message list. 2MJnWON
avatar
Shadow.
Forumember

Posts : 76
Reputation : 5
Language : English

http://punbb-design.forumotion.com

Back to top Go down

Application: Popup of private message list. Empty Re: Application: Popup of private message list.

Post by Storytellers CAN Mon 18 Jul - 7:12

darki wrote:
Storytellers CAN wrote:Know where I might find those fixes, sir?  Wink
It seems like SLGray or an other staff edited the first post since the fix is already in it.

For you:
Go into the script and find:
Code:
<a class="configure" href="/privmsg">Messages</a>
Behind privmsg you have to add ?folder=inbox 'cause this is the right path.
I checked all of that when I   was  looking  for  what's  causing the  error. I had that in the code, it still isn't  working. It might be other java scripts possibly  interfering.
Storytellers CAN
Storytellers CAN
Forumember

Posts : 67
Reputation : 1
Language : English

http://llfmrpg.forumotion.com/

Back to top Go down

Application: Popup of private message list. Empty Re: Application: Popup of private message list.

Post by SLGray Thu 23 Feb - 9:04

This will no longer be supported by JScript: https://help.forumotion.com/t151137-in-memory-of-jscript-joao-carlos.


Application: Popup of private message list. Slgray10

When your topic has been solved, ensure you mark the topic solved.
Never post your email in public.
SLGray
SLGray
Administrator
Administrator

Male Posts : 51554
Reputation : 3524
Language : English
Location : United States

https://forumsclub.com/gc/128-link-directory/

Back to top Go down

Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum