• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Add a PM (start conversation) button to Postbit

Pop up new window to start conversation with user directly from their postbit in forum view

Tracy Perry

Well-known member
#1
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...
 

Tracy Perry

Well-known member
#5
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>
 

Brandon Sheley

Well-known member
#7
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
#10
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?
 
#11
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
#12
<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.