PDA

View Full Version : Post Icon Drop Down for 3.5.4


Dark s.s. Trunk
06-21-2006, 08:27 PM
I would like to request a mod to change post Icons(not smilies unless that too would be kewl) to be a drop down list with image change next to it... i have 613 smilies and a bunch of them i want to add to post icons but i dun want to make the load bad.

PLEASE anyone if you can help would be kewl since non of my requests ever get answered

gulldarek
06-21-2006, 09:08 PM
[Note: It's modification for vB3.6 beta. It should work in 3.5.x but I'm not sure.]

Here you go mate:

Replace posticons template with that:

<if condition="$show['posticons']">
<script type="text/javascript">
<!--
function swap_posticon()
{
var sel = fetch_object("icon_select");
var out = fetch_object("display_posticon");
var opt = sel.options[sel.selectedIndex];
if (opt)
{
out.src = opt.id;
out.alt = opt.value;
}
else
{
out.src = "$vboptions[cleargifurl]";
out.alt = "";
}
}
// -->
</script>
<fieldset class="fieldset" style="margin:10px 0px 0px 0px">
<legend>$vbphrase[post_icons]</legend>
<div style="padding:$stylevar[formspacer]px">
<table cellpadding="0" cellspacing="$stylevar[cellspacing]" border="0" width="95%">
<tr>
<td colspan="15"><div style="margin-bottom:$stylevar[formspacer]px">$vbphrase[may_choose_icon_for_message]:</div></td>
</tr>
<tr>
<td width="12%" nowrap="nowrap"><select name="iconid" id="icon_select" onchange="swap_posticon()" tabindex="1"><option value="0" $iconchecked>$vbphrase[no_icon]</option>$posticonbits</select>&nbsp; &nbsp;</td>
</tr>
</table>
</div>
</fieldset>
<else />
<input type="hidden" name="iconid" value="0" />
</if>

Replace posticonbit template with that:

<option value="$iconid" id="$iconpath" $iconchecked>$alttext</option>

Find in ./includes/functions_newpost (on line 76 if your file is unmodified) an remove it:

if ($numicons % 7 == 0 AND $numicons != 0)
{
$posticonbits .= "</tr><tr><td>&nbsp;</td>";
}

$numicons++;

in the same file look for (on line 88):

$iconchecked = 'checked="checked"';

and replace it with:

$iconchecked = 'selected="selected"';

In the same file look for (on line 102):

$remainder = $numicons % 7;

if ($remainder)
{
$remainingspan = 2 * (7 - $remainder);
$show['addedspan'] = true;
}
else
{
$remainingspan = 0;
$show['addedspan'] = false;
}

if ($seliconid == 0)
{
$iconchecked = 'checked="checked"';
}
else
{
$iconchecked = '';
}

and replace it with:


$iconchecked = ($seliconid == 0) ? 'selected="selected"' : '';


Save and enjoy :-)

Dark s.s. Trunk
06-21-2006, 09:18 PM
Thank you very much i will try it out and see if it works and reply..

Edit: Works Perfectly, I would like to thank you...

Code mod: What part would i copy and past to have it display the icons where it is and next to the drop down

gulldarek
06-21-2006, 09:28 PM
No problem :-). If you wan't to move preview next to the dropdown then say, I can give you some instructions.

Dark s.s. Trunk
06-21-2006, 09:46 PM
yep exactly... so let me know what to do.

gulldarek
06-21-2006, 10:01 PM
In: editpost, newreply, newthread, pm_newpm, threadadmin_editthread templates find:

<td class="smallfont" colspan="3">$vbphrase[title]:</td>

and replace it with:

<td class="smallfont">$vbphrase[title]:</td>.

In all of these templates find:

<td>&nbsp;&nbsp;</td>
<td><img id="display_posticon" src="$selectedicon[src]" alt="$selectedicon[alt]" /></td>

and remove it.

Now, open posticons template and after:

<select name="iconid" id="icon_select" onchange="swap_posticon()" tabindex="1"><option value="0" $iconchecked>$vbphrase[no_icon]</option>$posticonbits</select>&nbsp;

paste that:

<img id="display_posticon" src="$selectedicon[src]" alt="$selectedicon[alt]" />

Save and enjoy :)

Staxed
06-22-2006, 09:01 AM
gulldarek...you should release this as a mod in the 3.6 beta forum...and possibly add this for smilies as well :)

gulldarek
06-22-2006, 09:09 AM
Hmm, ok, I will, but I'll look how to put that into plugins instead of removing code.