love your mod, so i went and made it a little more flexible (note: this is for 7.3.1):
1) no need to edit templates/newpost.tpl, because i just append to $iconselect
2) language file wordlets changed to specify
a) valid forums for each template
b) valid user groups for each template
3) moved all of the markup building into scripts/newpost.inc.php
Mod follows:
open scripts/newpost.inc.php
find:
$iconselect = $html -> icon_select();
if ($is_gallery) $iconselect = "";
add below it:
$posttemplate = "";
if ($ubbt_lang['NUM_POST_TEMPLATES']) {
$sth = $dbh->do_query("SELECT GROUP_ID FROM {$config['TABLE_PREFIX']}USER_GROUPS WHERE USER_ID={$user['USER_ID']}");
$groups = array();
while($result = $dbh->fetch_array($sth)) {
$groups[] = $result['GROUP_ID'];
}
for($i=1; $i <= $ubbt_lang['NUM_POST_TEMPLATES']; $i++) {
$forumok = false;
if($ubbt_lang['SUB_'.$i.'_FORUMS'] != "") {
$forumok = in_array($Board,explode(',',$ubbt_lang['SUB_'.$i.'_FORUMS']));
} else {
$forumok = true;
}
if ($forumok) {
$groupok = false;
if($ubbt_lang['SUB_'.$i.'_GROUPS']) {
$pulldowngroups = explode(',',$ubbt_lang['SUB_'.$i.'_GROUPS']);
foreach($pulldowngroups as $g) {
if (in_array($g,$groups)) {
$groupok = true;
}
}
} else {
$groupok = true;
}
}
if ($forumok and $groupok) {
if ($posttemplate == '') {
$posttemplate = '<tr><td class="alt-2" valign="top"><label for="posttemplate">';
$posttemplate .= $ubbt_lang['POST_TEMPLATE'] . '</label></td><td class="alt-1" valign="top">';
$posttemplate .= '<select name="posttemplate" class="form-select" onchange="pull_template(); return false;">';
$posttemplate .= '<option value="" selected="selected">' . $ubbt_lang['SELECT'] . '</option>';
}
$posttemplate .= '<option value="' . $ubbt_lang['SUB_'.$i.'_BODY'] . '">' . $ubbt_lang['SUB_'.$i] . '</option>';
}
}
if ($posttemplate) {
$posttemplate .= '</select></td></tr>';
}
}
$iconselect .= $posttemplate;
Save the file
File: languages/english/posttemplate.php (new format)
<?php
$ubbt_lang['POST_TEMPLATE'] = 'Post Template:';
$ubbt_lang['SELECT'] = '--- Select ---';
$ubbt_lang['NUM_POST_TEMPLATES'] = '1';
$ubbt_lang['SUB_1'] = 'Fishing Report';
$ubbt_lang['SUB_1_FORUMS'] = '2,3,7,69';
$ubbt_lang['SUB_1_GROUPS'] = '1,2,3';
$ubbt_lang['SUB_1_BODY'] = 'Body of water:
General location(s):
Date:
Time:
Shore or boat:
Water temp:
Depth fished: (surface, mid, bottom):
Max depth:
Methods: (cast, troll, etc.)
Lures used:
Bait used:
Tide:
Species caught:
Total # of fish caught:
Fish weights:
Fish lengths:
Kept or released:
Gear used:
';
?>
key things to note:
1) NUM_POST_TEMPLATES is the number of templates total
2) Every template has
a) SUB_x -- pulldown descriptor
b) SUB_x_FORUMS -- comma separated list of forums. (blank is any forum)
c) SUB_x_GROUPS -- comma separated list of groups. (blank is any group)
d) SUB_x_BODY -- the template itself
Final note, i just copy/pasted Giz javascript function into ubb_jslib.js at the bottom.
Ty Giz for the good start on a great mod!