Resource icon

Add a PM (start conversation) button to Postbit

Tracy Perry

Well-known member
Tracy Perry submitted a new resource:

Add a PM (start conversation) button to Postbit (version 1.0) - Pop up new window to start conversation with user directly from their postbit in forum view

This modification will allow you to have a button on the forum postbit that will allow users to "Send PM" directly to that user (most of mine don't understand conversations - what can you say, they are mainly vB users). This is MUCH easier using TMS, but you can change the code directly.

First, you will need to search conversation_add for the following string:

Code:
        <!-- slot: message_user_info_text -->
        </h3>
    </xen:hook>
Then do a replace with the following:...
Read more about this resource...
 

Rich

Active member
I cant find

<!-- slot: message_user_info_text -->
</h3>
</xen:hook>

in conversation_add
 

Tracy Perry

Well-known member
I cant find

<!-- slot: message_user_info_text -->
</h3>
</xen:hook>

in conversation_add
Are you using TMS? It should be just a cut and paste with that setup. Otherwise you will have to search under conversation_add it is in the <xen:if is="!{$isQuickReply}"> segment.


Note, quoted text is not in the formatted style - it is a cut and past. I could not get the code section to allow me to color code it.

<xen:if is="!{$isQuickReply}">
<xen:hook name="message_user_info_text" params="{xen:array 'user={$user}', 'isQuickReply={$isQuickReply}'}">
<h3 class="userText">
<xen:username user="$user" itemprop="name" rich="true" />
<xen:if hascontent="true"><em class="userTitle" itemprop="title"><xen:contentcheck>{xen:helper userTitle, $user}</xen:contentcheck></em></xen:if>
<!-- slot: message_user_info_text -->
</h3>
</xen:hook>
 

Cees50

Active member
I cant find

<!-- slot: message_user_info_text -->
</h3>
</xen:hook>

in conversation_add
Cant find it either. Is the conversation_add the right template? (i use tms) Searched in Dreamweaver all files, cant find it.
 

Brandon Sheley

Well-known member
I can confirm that this line
Code:
<!-- slot: message_user_info_text -->
is not in conversations_add
I did find it here
message_user_info
this is the default template
 

Tracy Perry

Well-known member
I can confirm that this line
Code:
<!-- slot: message_user_info_text -->
is not in conversations_add
I did find it here
message_user_info
this is the default template
Yep... my bad... will modify the entry to reflect this... that's what happens when you do the stuff early in the morning with no caffeine.. :oops:
 

Tracy Perry

Well-known member
Can you post your entire template. Need to know what your Line 4 is. Use the "code insertion" option to keep the formatting correct.
I would STRONGLY suggest you utilize TMS as it makes it easier (if you are not already using it). There may be the possibility you are already utilizing an add-on that modifies this code?
 

Nick Jtk Markham

Active member
Code:
<xen:require css="message_user_info.css" />
 
<div class="messageUserInfo" itemscope="itemscope" itemtype="http://data-vocabulary.org/Person">   
<div class="messageUserBlock">
    <xen:hook name="message_user_info_avatar" params="{xen:array 'user={$user}', 'isQuickReply={$isQuickReply}'}">
        <div class="avatarHolder">
            <span class="helper"></span>
            <xen:avatar user="$user" size="m" />
            <!-- slot: message_user_info_avatar -->
        </div>
    </xen:hook>
 
<xen:if is="!{$isQuickReply}">
    <xen:hook name="message_user_info_text" params="{xen:array 'user={$user}', 'isQuickReply={$isQuickReply}'}">
        <h3 class="userText">
            <xen:username user="$user" itemprop="name" rich="true" />
            <xen:if hascontent="true"><em class="userTitle" itemprop="title"><xen:contentcheck>{xen:helper userTitle, $user}</xen:contentcheck></em></xen:if>
        <!-- slot: message_user_info_text -->
        </h3>
    </xen:hook>
<!-- CONVO BUTTON -->
<div style="float: left; margin-left: 27px; margin-top: 9px; margin-bottom: 3px; margin-right:5px;">
        <xen:if is="{$visitor.user_id} AND {$user.user_id} != {$visitor.user_id}">
        <div><a href="{xen:link conversations/add, '', 'to={$user.username}'}" -class="button" style="
-moz-box-shadow:inset 0px 1px 7px 0px #696cc9;
    -webkit-box-shadow:inset 0px 1px 7px 0px #696cc9;
    box-shadow:inset 0px 1px 7px 0px #696cc9;
    background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #5b7394), color-stop(1, #74dbdb) );
    background:-moz-linear-gradient( center top, #5b7394 5%, #74dbdb 100% );
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5b7394', endColorstr='#74dbdb');
    background-color:#5b7394;
    -moz-border-radius:4px;
    -webkit-border-radius:6px;
    border-radius:6px;
    border:1px solid #6c93f5;
    display:inline;
    color:#050505;
    font-family:Comic Sans MS;
    font-size:12px;
    font-weight:normal;
    padding:3px 4px;
    text-decoration:none;
    text-shadow:1px 1px 0px #9699a8;" onclick="window.open(this.href,'window','width=1000,height=800,resizable,scrollbars') ;return false;">
</style>{xen:[COLOR=#800000]phrase send_pm[/COLOR]}</a>
            </div></xen:if>
</div>
       
    <xen:if hascontent="true">
        <div class="extraUserInfo">
            <xen:contentcheck>
            <xen:hook name="message_user_info_extra" params="{xen:array 'user={$user}', 'isQuickReply={$isQuickReply}'}">
                <xen:if is="@messageShowRegisterDate">
                    <dl class="pairsInline">
                        <dt>{xen:phrase member_since}:</dt>
                        <dd>{xen:date $user.register_date}</dd>
                    </dl>
                </xen:if>
               
                <xen:if is="@messageShowMessageCount">
                    <dl class="pairsInline">
                        <dt>{xen:phrase message_count}:</dt>
                        <dd><a href="{xen:link search/member, '', 'user_id={$user.user_id}'}" class="concealed">{xen:number $user.message_count}</a></dd>
                    </dl>
                </xen:if>
               
                <xen:if is="@messageShowTotalLikes">
                    <dl class="pairsInline">
                        <dt>{xen:phrase likes_received}:</dt>
                        <dd>{xen:number $user.like_count}</dd>
                    </dl>
                </xen:if>
               
                <xen:if is="@messageShowTrophyPoints">
                    <dl class="pairsInline">
                        <dt>{xen:phrase trophy_points}:</dt>
                        <dd><a href="{xen:link 'members/trophies', $user}" class="OverlayTrigger concealed">{xen:number $user.trophy_points}</a></dd>
                    </dl>
                </xen:if>
           
                <xen:if is="@messageShowGender AND {$user.gender}">
                    <dl class="pairsInline">
                        <dt>{xen:phrase gender}:</dt>
                        <dd itemprop="gender"><xen:if is="{$user.gender} == 'male'">{xen:phrase male}<xen:else />{xen:phrase female}</xen:if></dd>
                    </dl>
                </xen:if>
               
                <xen:if is="@messageShowOccupation AND {$user.occupation}">
                    <dl class="pairsInline">
                        <dt>{xen:phrase occupation}:</dt>
                        <dd itemprop="role">{xen:string censor, $user.occupation}</dd>
                    </dl>
                </xen:if>
               
                <xen:if is="@messageShowLocation AND {$user.location}">
                    <dl class="pairsInline">
                        <dt>{xen:phrase location}:</dt>
                        <dd><a href="{xen:link 'misc/location-info', '', 'location={xen:string censor, $user.location, '-'}'}" target="_blank" rel="nofollow" itemprop="address" class="concealed">{xen:string censor, $user.location}</a></dd>
                    </dl>
                </xen:if>
           
                <xen:if is="@messageShowHomepage AND {$user.homepage}">
                    <dl class="pairsInline">
                        <dt>{xen:phrase home_page}:</dt>
                        <dd><a href="{xen:string censor, $user.homepage, '-'}" rel="nofollow" target="_blank" itemprop="url">{xen:string censor, $user.homepage}</a></dd>
                    </dl>
                </xen:if>
 
                           
            </xen:hook>
 
<div class="ConsoleContainer">
 
 
<xen:if is="{$user.customFields.psn_id}">
<a href="http://us.playstation.com/playstation/psn/visit/profiles/{$user.customFields.psn_id}" target="_new" class="OXYgames psn"/><span><img src="http://fp.profiles.us.playstation.com/playstation/psn/pid/{$user.customFields.psn_id}.png" onerror="this.style.display='none';"></span></a>
</xen:if>
 
<xen:if is="{$user.customFields.xboxid}">
<a href="http://live.xbox.com/en-US/Profile?Gamertag={$user.customFields.xboxid}" target="_new" class="OXYgames xbox"/><span><div class="xboxcontainer"><div class="left2"><embed src="http://gamercard.xbox.com/en-US/{$user.customFields.xboxid}.card" width="200px" height="135px"></div><div class="right2"><img src="http://avatar.xboxlive.com/avatar/{$user.customFields.xboxid}/avatar-body.png" width="68px" height="135px"></div></div></span></a>
</xen:if>
 
<xen:if is="{$user.customFields.SteamID}">
<a href="http://steamcommunity.com/id/{$user.customFields.SteamID}" target="_new" class="OXYgames steam"/><span><iframe src="/game_images/steamwidget.php?SteamID={$user.customFields.SteamID}" scrolling="no" frameborder="0" height="120" width="230">{$user.customFields.SteamID}</iframe></span></a>
</xen:if>
</div>
           
            <xen:if is="@messageShowCustomFields AND {$user.customFields}">
            <xen:hook name="message_user_info_custom_fields" params="{xen:array 'user={$user}', 'isQuickReply={$isQuickReply}'}">
           
                <xen:foreach loop="$userFieldsInfo" key="$fieldId" value="$fieldInfo">
                    <xen:if is="{$fieldInfo.viewable_message}">
                        <xen:if hascontent="true">
                            <dl class="pairsInline userField_{$fieldId}">
                                <dt>{xen:helper userFieldTitle, $fieldId}:</dt>
                                <dd><xen:contentcheck>{xen:helper userFieldValue, $fieldInfo, $user, {$user.customFields.{$fieldId}}}</xen:contentcheck></dd>
                            </dl>
                        </xen:if>
                    </xen:if>
                </xen:foreach>
               
            </xen:hook>
            </xen:if>
            </xen:contentcheck>
        </div>
    </xen:if>
       
</xen:if>
 
    <span class="arrow"><span></span></span>
</div>
</div>
 

Tracy Perry

Well-known member
<div class="ConsoleContainer">


<xen:if is="{$user.customFields.psn_id}">
<a href="http://us.playstation.com/playstation/psn/visit/profiles/{$user.customFields.psn_id}" target="_new" class="OXYgames psn"/><span><img src="http://fp.profiles.us.playstation.com/playstation/psn/pid/{$user.customFields.psn_id}.png" onerror="this.style.display='none';"></span></a>
</xen:if>

<xen:if is="{$user.customFields.xboxid}">
<a href="http://live.xbox.com/en-US/Profile?Gamertag={$user.customFields.xboxid}" target="_new" class="OXYgames xbox"/><span><div class="xboxcontainer"><div class="left2"><embed src="http://gamercard.xbox.com/en-US/{$user.customFields.xboxid}.card" width="200px" height="135px"></div><div class="right2"><img src="http://avatar.xboxlive.com/avatar/{$user.customFields.xboxid}/avatar-body.png" width="68px" height="135px"></div></div></span></a>
</xen:if>

<xen:if is="{$user.customFields.SteamID}">
<a href="http://steamcommunity.com/id/{$user.customFields.SteamID}" target="_new" class="OXYgames steam"/><span><iframe src="/game_images/steamwidget.php?SteamID={$user.customFields.SteamID}" scrolling="no" frameborder="0" height="120" width="230">{$user.customFields.SteamID}</iframe></span></a>
</xen:if>
</div>
Looks identical to mine with the exception of the highlighted above code. Is this an add-on? If so, try disabling it to see if it then works. Also, are you using a custom theme. This is used with a modified default theme on both my production and test site with no problems.
 

Tracy Perry

Well-known member
im using Flexile Dark
Try using the default theme and see if it does it there. I think I remember that the Flexile theme has some differences that cause some edits not to work.

EDIT:

I just installed the Flexile Dark and used TMS to make the change and it worked fine.

 
Top