vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 4.x Template Modifications (https://vborg.vbsupport.ru/forumdisplay.php?f=246)
-   -   Private Messages Enhancements - Move Private Message Download Options (https://vborg.vbsupport.ru/showthread.php?t=266278)

grey_goose 07-04-2011 10:00 PM

Move Private Message Download Options
 
1 Attachment(s)
This is fairly straightforward, and something I've done because so many of my users overlooked that they could download their Private Messages. Basically, we're moving the option from the easily-overlooked bottom of the page to where the other relevant info is: the usage bar, and the other "All" option -- Delete. Now users can easily see that saving their messages is an option.

ACP > Styles & Templates > Search in Templates > pm_messagelist

Find (Line 105 of a default template):
Code:

                <h3 class="blocksubhead">{vb:rawphrase x_contains_y_z_messages_of_xx, {vb:raw foldername} {vb:raw totalmessages} {vb:raw pmtotal}, {vb:raw pmquota}} (<a href="private.php?{vb:raw session.sessionurl}do=emptyfolder&amp;folderid={vb:raw folderid}">{vb:rawphrase empty_folder}</a>)</h3>
Replace With:
Code:

                <h3 class="blocksubhead">{vb:rawphrase x_contains_y_z_messages_of_xx, {vb:raw foldername} {vb:raw totalmessages} {vb:raw pmtotal}, {vb:raw pmquota}}
                <br /><a href="private.php?{vb:raw session.sessionurl}do=emptyfolder&amp;folderid={vb:raw folderid}">{vb:rawphrase empty_folder}</a> or <strong>{vb:rawphrase download_all_private_messages_as}</strong>:  <a href="private.php?{vb:raw session.sessionurl}do=downloadpm&amp;dowhat=xml">{vb:rawphrase xml}</a> | <a href="private.php?{vb:raw session.sessionurl}do=downloadpm&amp;dowhat=csv">{vb:rawphrase csv}</a> | <a href="private.php?{vb:raw session.sessionurl}do=downloadpm&amp;dowhat=txt">{vb:rawphrase text}</a></h3>

To remove the original options, delete (found on lines 139-144 of the default template):
Code:

        <div>
                <strong>{vb:rawphrase download_all_private_messages_as}</strong>:<br />
                <a href="private.php?{vb:raw session.sessionurl}do=downloadpm&amp;dowhat=xml">{vb:rawphrase xml}</a> |
                <a href="private.php?{vb:raw session.sessionurl}do=downloadpm&amp;dowhat=csv">{vb:rawphrase csv}</a> |
                <a href="private.php?{vb:raw session.sessionurl}do=downloadpm&amp;dowhat=txt">{vb:rawphrase text}</a>
        </div>


HMBeaty 07-04-2011 11:22 PM

Looks good. Tagged for later! Thanks :)

Taurus1 07-05-2011 01:57 AM

Great stuff. Thanks. Works a charm. I think it will look even better if we can move that whole part to the top. Does anyone know how to do that perhaps? Thanks!

grey_goose 07-05-2011 03:01 AM

Cool :)

Taurus1, take this and copy/paste it, replacing your whole pm_messagelist. It will move the usage bar, etc. to the top as well as doing the move options.

NOTE: Back up your old pm_messagelist first, in case you change your mind.

Code:

<vb:if condition="$show['messagelist']">

        <script type="text/javascript">
        <!--
                vB_XHTML_Ready.subscribe(
                        function() { register_inlinemod("pmfolderlist", "li", "blockrow", "pm"); }
                );
        //-->
        </script>
       
       
       
        <div class="block" id="foldercontrols">
        <div class="blockhead">
                <div class="popupgroup" id="folderpicker">
                        <div class="popupmenu">
                                <a href="javascript://" class="popupctrl">{vb:rawphrase jump_to_folder}</a>
                                <ul class="popupbody popuphover">
                                        <vb:each from="folderjump" value="folder">
                                                <li><a href="private.php?{vb:raw session.sessionurl}folderid={vb:raw folder.id}">{vb:raw folder.name} ({vb:raw folder.count} {vb:raw folder.type})</a></li>
                                        </vb:each>
                                </ul>
                        </div>
                </div>       
                <h2>{vb:rawphrase folder_controls}</h2>
        </div>
        <div class="blockbody settings_form_border">
                <h3 class="blocksubhead">{vb:rawphrase x_contains_y_z_messages_of_xx, {vb:raw foldername} {vb:raw totalmessages} {vb:raw pmtotal}, {vb:raw pmquota}}
                <br /><a href="private.php?{vb:raw session.sessionurl}do=emptyfolder&amp;folderid={vb:raw folderid}">{vb:rawphrase empty_folder}</a> or <strong>{vb:rawphrase download_all_private_messages_as}</strong>:  <a href="private.php?{vb:raw session.sessionurl}do=downloadpm&amp;dowhat=xml">{vb:rawphrase xml}</a> | <a href="private.php?{vb:raw session.sessionurl}do=downloadpm&amp;dowhat=csv">{vb:rawphrase csv}</a> | <a href="private.php?{vb:raw session.sessionurl}do=downloadpm&amp;dowhat=txt">{vb:rawphrase text}</a></h3>
                <div class="blockrow">
               
                        <div class="floatcontainer totals">
                                <vb:if condition="$show['thisfoldertotal']">
                                        <div class="thisfolder" style="width:{vb:raw tdwidth.folder}%" title="{vb:rawphrase messages_stored_in_folder_x, {vb:raw totalmessages}}"></div>
                                </vb:if>
                                <vb:if condition="$show['allfolderstotal']">
                                        <div class="allfolders" style="width:{vb:raw tdwidth.total}%" title="{vb:rawphrase total_messages_in_all_folders_x, {vb:raw bbuserinfo.pmtotal}}"></div>
                                </vb:if>
                                <vb:if condition="$tdwidth['quota'] > 0">
                                        <div class="quota" style="width:<vb:if condition="is_browser('ie') AND is_browser('ie') < 8">{vb:math {vb:raw tdwidth.quota}-0.1}<vb:else />{vb:raw tdwidth.quota}</vb:if>%" title="{vb:rawphrase maximum_allowed_messages_x, {vb:raw permissions.pmquota}}"></div>
                                </vb:if>               
                        </div>
                </div>
        </div>
        <div class="blockfoot floatcontainer">
                <vb:if condition="$receipts['unconfirmed'] OR $receipts['confirmed']">
                        <a href="private.php?{vb:raw session.sessionurl}do=trackpm">{vb:rawphrase you_have_x_and_y_receipts, {vb:raw receipts.confirmed}, {vb:raw receipts.unconfirmed}}</a>
                </vb:if>       
        </div>
        </div>
       

        <vb:if condition="$pagenav">
        <div id="above_postlist">
                <div id="pagination_top">
                        {vb:raw pagenav}
                </div>
                <div class="folderstats">{vb:rawphrase showing_messages_x_to_y_of_z, {vb:raw startmessage}, {vb:raw endmessage}, {vb:raw totalmessages}}</div>
        </div>
        </vb:if>

        <form id="pmform" action="private.php?do=managepm&amp;folderid={vb:raw folderid}" method="post">
                <input type="hidden" name="s" value="{vb:raw session.sessionhash}" />
                <input type="hidden" name="securitytoken" value="{vb:raw bbuserinfo.securitytoken}" />
                <input type="hidden" name="do" value="managepm" />
                <input type="hidden" name="folderid" value="{vb:raw folderid}" />
       
                <div class="block" id="pmfolderlist">
                        <input type="checkbox" name="allbox" class="checkall pm_checkall" id="checkall_all" title="{vb:rawphrase check_uncheck_all}" value="all" />
                        <dl class="stats foldercount">
                                <dt class="folder_count">{vb:rawphrase messages}</dt>
                                <dd class="folder_count">{vb:raw totalmessages}</dd>
                        </dl>
                        <h2 class="blockhead">{vb:raw foldername}</h2>
                        <div class="blockbody settings_form_border">
                                <div class="blocksubhead sortrow">
                                        <div class="date">
                                                <a href="{vb:raw orderlinks.date}&amp;pp={vb:raw perpage}&amp;page={vb:raw pagenumber}">{vb:rawphrase date}</a> {vb:raw sortarrow.date}
                                        </div>
                                        <div>
                                                <a href="{vb:raw orderlinks.title}&amp;pp={vb:raw perpage}&amp;page={vb:raw pagenumber}">{vb:rawphrase title}</a> {vb:raw sortarrow.title} /
                                                <a href="{vb:raw orderlinks.sender}&amp;pp={vb:raw perpage}&amp;page={vb:raw pagenumber}">{vb:rawphrase sender}</a> {vb:raw sortarrow.sender}
                                        </div>
                                </div>
                                <vb:if condition="$totalmessages">
                                        {vb:raw messagelist_periodgroups} 
                                <vb:else />
                                        <div class="blockrow">
                                                {vb:raw no_messages_to_display}
                                        </div>
                                </vb:if>
                        </div>
                        <div class="blockfoot settings_form_top_border">
                                <div class="navpopupmenu popupmenu nohovermenu">
                                        <a href="javascript://" class="popupctrl"><span class="ctrlcontainer">{vb:rawphrase selected_messages} (<span id="pm_inlinemod_count">0</span>)</span></a>
                                        <ul class="popupbody popuphover">
                                                <vb:if condition="$show['movetofolder']"><li><label><input type="radio" name="dowhat" value="move" checked="checked" /> {vb:rawphrase move_to_folder}...</label></li></vb:if>
                                                <li><label><input type="radio" name="dowhat" value="delete" /> {vb:rawphrase delete}</label></li>
                                                <li><label><input type="radio" name="dowhat" value="read" /> {vb:rawphrase mark_as_read}</label></li>
                                                <li><label><input type="radio" name="dowhat" value="unread" /> {vb:rawphrase mark_as_unread}</label></li>
                                                <li><label><input type="radio" name="dowhat" value="xml" /> {vb:rawphrase download_as_xml}</label></li>
                                                <li><label><input type="radio" name="dowhat" value="csv" /> {vb:rawphrase download_as_csv}</label></li>
                                                <li><label><input type="radio" name="dowhat" value="txt" /> {vb:rawphrase download_as_text}</label></li>
                                                <li><label><input type="radio" name="dowhat" value="clear" /> {vb:rawphrase deselect_all_messages}</label></li>
                                                <li class="formsubmit"><label><input id="pm_inlinego" type="submit" class="button" value="{vb:rawphrase proceed_ellipsis}" /></label></li>
                                        </ul>
                                </div>
                                <div class="clear"></div>
                        </div>
                </div>               
               
        <script type="text/javascript">
        <!--
                vB_XHTML_Ready.subscribe(
                        function() { register_inlinemod_checkboxes("pmform", "li", "pmbit", "pmform", "pm"); }
                );
        //-->
        </script>
               
        </form>
</vb:if>
<vb:if condition="$pagenav">
<div id="below_postlist">
        <div id="pagination_bottom">
                {vb:raw pagenav}
        </div>
</div>
</vb:if>

{vb:raw sortfilter}



<div id="pmlist_info" class="floatcontainer">
        <div id="forum_icon_legend" >
                <h5>{vb:rawphrase icon_legend}</h5>
                <dl>
                        <table width="100%"> 
                        <tr>
                                <td width="25%" valign="top"><dt><img src="{vb:stylevar imgdir_statusicon}/pm_new.png" alt="{vb:rawphrase unread_message}" /></dt><dd>{vb:rawphrase unread_message}</dd></td>
                                <td width="25%" valign="top"><dt><img src="{vb:stylevar imgdir_statusicon}/pm_old.png" alt="{vb:rawphrase read_message}" /></dt><dd>{vb:rawphrase read_message}</dd></td>
                                <td width="25%" valign="top"><dt><img src="{vb:stylevar imgdir_statusicon}/pm_replied.png" alt="{vb:rawphrase repliedto_message}" /></dt><dd>{vb:rawphrase repliedto_message}</dd></td>
                                <td width="25%" valign="top"><dt><img src="{vb:stylevar imgdir_statusicon}/pm_forwarded.png" alt="{vb:rawphrase forwarded_message}" /></dt><dd>{vb:rawphrase forwarded_message}</dd></td>
                        </tr>
                        </table>
                </dl>
        </div>
</div> 

{vb:raw forumjump}


Taurus1 07-05-2011 03:42 AM

Thank you so much!! Makes it even easier now!

merk_aus 07-06-2011 12:52 AM

Thanks for this. Like Taurus1 I also enjoyed moving it all to the top - great work.

Randomm 07-08-2011 05:45 PM

when I do this the previous
Quote:

Download all Private Messages as:
XML | CSV | Text
still remains leaving 2 of these

grey_goose 07-08-2011 08:22 PM

Ah, indeed. I didn't remove the one at the bottom. I've updated the original mod post; or you can copy/paste this:

Code:

<vb:if condition="$show['messagelist']">

        <script type="text/javascript">
        <!--
                vB_XHTML_Ready.subscribe(
                        function() { register_inlinemod("pmfolderlist", "li", "blockrow", "pm"); }
                );
        //-->
        </script>

        <vb:if condition="$pagenav">
        <div id="above_postlist">
                <div id="pagination_top">
                        {vb:raw pagenav}
                </div>
                <div class="folderstats">{vb:rawphrase showing_messages_x_to_y_of_z, {vb:raw startmessage}, {vb:raw endmessage}, {vb:raw totalmessages}}</div>
        </div>
        </vb:if>

        <form id="pmform" action="private.php?do=managepm&amp;folderid={vb:raw folderid}" method="post">
                <input type="hidden" name="s" value="{vb:raw session.sessionhash}" />
                <input type="hidden" name="securitytoken" value="{vb:raw bbuserinfo.securitytoken}" />
                <input type="hidden" name="do" value="managepm" />
                <input type="hidden" name="folderid" value="{vb:raw folderid}" />
       
                <div class="block" id="pmfolderlist">
                        <input type="checkbox" name="allbox" class="checkall pm_checkall" id="checkall_all" title="{vb:rawphrase check_uncheck_all}" value="all" />
                        <dl class="stats foldercount">
                                <dt class="folder_count">{vb:rawphrase messages}</dt>
                                <dd class="folder_count">{vb:raw totalmessages}</dd>
                        </dl>
                        <h2 class="blockhead">{vb:raw foldername}</h2>
                        <div class="blockbody settings_form_border">
                                <div class="blocksubhead sortrow">
                                        <div class="date">
                                                <a href="{vb:raw orderlinks.date}&amp;pp={vb:raw perpage}&amp;page={vb:raw pagenumber}">{vb:rawphrase date}</a> {vb:raw sortarrow.date}
                                        </div>
                                        <div>
                                                <a href="{vb:raw orderlinks.title}&amp;pp={vb:raw perpage}&amp;page={vb:raw pagenumber}">{vb:rawphrase title}</a> {vb:raw sortarrow.title} /
                                                <a href="{vb:raw orderlinks.sender}&amp;pp={vb:raw perpage}&amp;page={vb:raw pagenumber}">{vb:rawphrase sender}</a> {vb:raw sortarrow.sender}
                                        </div>
                                </div>
                                <vb:if condition="$totalmessages">
                                        {vb:raw messagelist_periodgroups} 
                                <vb:else />
                                        <div class="blockrow">
                                                {vb:raw no_messages_to_display}
                                        </div>
                                </vb:if>
                        </div>
                        <div class="blockfoot settings_form_top_border">
                                <div class="navpopupmenu popupmenu nohovermenu">
                                        <a href="javascript://" class="popupctrl"><span class="ctrlcontainer">{vb:rawphrase selected_messages} (<span id="pm_inlinemod_count">0</span>)</span></a>
                                        <ul class="popupbody popuphover">
                                                <vb:if condition="$show['movetofolder']"><li><label><input type="radio" name="dowhat" value="move" checked="checked" /> {vb:rawphrase move_to_folder}...</label></li></vb:if>
                                                <li><label><input type="radio" name="dowhat" value="delete" /> {vb:rawphrase delete}</label></li>
                                                <li><label><input type="radio" name="dowhat" value="read" /> {vb:rawphrase mark_as_read}</label></li>
                                                <li><label><input type="radio" name="dowhat" value="unread" /> {vb:rawphrase mark_as_unread}</label></li>
                                                <li><label><input type="radio" name="dowhat" value="xml" /> {vb:rawphrase download_as_xml}</label></li>
                                                <li><label><input type="radio" name="dowhat" value="csv" /> {vb:rawphrase download_as_csv}</label></li>
                                                <li><label><input type="radio" name="dowhat" value="txt" /> {vb:rawphrase download_as_text}</label></li>
                                                <li><label><input type="radio" name="dowhat" value="clear" /> {vb:rawphrase deselect_all_messages}</label></li>
                                                <li class="formsubmit"><label><input id="pm_inlinego" type="submit" class="button" value="{vb:rawphrase proceed_ellipsis}" /></label></li>
                                        </ul>
                                </div>
                                <div class="clear"></div>
                        </div>
                </div>               
               
        <script type="text/javascript">
        <!--
                vB_XHTML_Ready.subscribe(
                        function() { register_inlinemod_checkboxes("pmform", "li", "pmbit", "pmform", "pm"); }
                );
        //-->
        </script>
               
        </form>
</vb:if>
<vb:if condition="$pagenav">
<div id="below_postlist">
        <div id="pagination_bottom">
                {vb:raw pagenav}
        </div>
</div>
</vb:if>

{vb:raw sortfilter}

<div class="block" id="foldercontrols">
        <div class="blockhead">
                <div class="popupgroup" id="folderpicker">
                        <div class="popupmenu">
                                <a href="javascript://" class="popupctrl">{vb:rawphrase jump_to_folder}</a>
                                <ul class="popupbody popuphover">
                                        <vb:each from="folderjump" value="folder">
                                                <li><a href="private.php?{vb:raw session.sessionurl}folderid={vb:raw folder.id}">{vb:raw folder.name} ({vb:raw folder.count} {vb:raw folder.type})</a></li>
                                        </vb:each>
                                </ul>
                        </div>
                </div>       
                <h2>{vb:rawphrase folder_controls}</h2>
        </div>
        <div class="blockbody settings_form_border">
                <h3 class="blocksubhead">{vb:rawphrase x_contains_y_z_messages_of_xx, {vb:raw foldername} {vb:raw totalmessages} {vb:raw pmtotal}, {vb:raw pmquota}}
                <br /><a href="private.php?{vb:raw session.sessionurl}do=emptyfolder&amp;folderid={vb:raw folderid}">{vb:rawphrase empty_folder}</a> or <strong>{vb:rawphrase download_all_private_messages_as}</strong>:  <a href="private.php?{vb:raw session.sessionurl}do=downloadpm&amp;dowhat=xml">{vb:rawphrase xml}</a> | <a href="private.php?{vb:raw session.sessionurl}do=downloadpm&amp;dowhat=csv">{vb:rawphrase csv}</a> | <a href="private.php?{vb:raw session.sessionurl}do=downloadpm&amp;dowhat=txt">{vb:rawphrase text}</a></h3>
                <div class="blockrow">
               
                        <div class="floatcontainer totals">
                                <vb:if condition="$show['thisfoldertotal']">
                                        <div class="thisfolder" style="width:{vb:raw tdwidth.folder}%" title="{vb:rawphrase messages_stored_in_folder_x, {vb:raw totalmessages}}"></div>
                                </vb:if>
                                <vb:if condition="$show['allfolderstotal']">
                                        <div class="allfolders" style="width:{vb:raw tdwidth.total}%" title="{vb:rawphrase total_messages_in_all_folders_x, {vb:raw bbuserinfo.pmtotal}}"></div>
                                </vb:if>
                                <vb:if condition="$tdwidth['quota'] > 0">
                                        <div class="quota" style="width:<vb:if condition="is_browser('ie') AND is_browser('ie') < 8">{vb:math {vb:raw tdwidth.quota}-0.1}<vb:else />{vb:raw tdwidth.quota}</vb:if>%" title="{vb:rawphrase maximum_allowed_messages_x, {vb:raw permissions.pmquota}}"></div>
                                </vb:if>               
                        </div>
               
                </div>
        </div>
        <div class="blockfoot floatcontainer">
                <vb:if condition="$receipts['unconfirmed'] OR $receipts['confirmed']">
                        <a href="private.php?{vb:raw session.sessionurl}do=trackpm">{vb:rawphrase you_have_x_and_y_receipts, {vb:raw receipts.confirmed}, {vb:raw receipts.unconfirmed}}</a>
                </vb:if>       
        </div>
</div>

<div id="pmlist_info" class="floatcontainer">
        <div id="forum_icon_legend" >
                <h5>{vb:rawphrase icon_legend}</h5>
                <dl>
                        <dt><img src="{vb:stylevar imgdir_statusicon}/pm_new.png" alt="{vb:rawphrase unread_message}" /></dt><dd>{vb:rawphrase unread_message}</dd>
                        <dt><img src="{vb:stylevar imgdir_statusicon}/pm_old.png" alt="{vb:rawphrase read_message}" /></dt><dd>{vb:rawphrase read_message}</dd>
                        <dt><img src="{vb:stylevar imgdir_statusicon}/pm_replied.png" alt="{vb:rawphrase repliedto_message}" /></dt><dd>{vb:rawphrase repliedto_message}</dd>
                        <dt><img src="{vb:stylevar imgdir_statusicon}/pm_forwarded.png" alt="{vb:rawphrase forwarded_message}" /></dt><dd>{vb:rawphrase forwarded_message}</dd>
                </dl>
        </div>
</div>

{vb:raw forumjump}


Randomm 07-09-2011 05:09 AM

I was able to delete the original by myself by finding the code thru FF's "View Selection Source"
Felt great figuring it out by myself since I'm still a noob

Anyway installed and rated
Thanks

as7apcool 07-12-2011 05:29 PM

Thanks for this


All times are GMT. The time now is 07:49 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.02412 seconds
  • Memory Usage 1,858KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (5)bbcode_code_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete