Christounet
16/11/2006, 14h52
Description
Ce hack permet de créer des BBCodes à plusieurs paramètres (jusqu'a 9)
Conception
Auteur du Hack / Author Of Hack : Christounet
Version vBulletin Requise / Version vBulletin Required : vB 3.5.4
Testé / Tested: OuiUtilisation
créer votre balise en utilisant {option1}...{option9}
ensuite specifier les paramètres séparés par des virgules (voir l'exemple attaché)Edition
editer admincp/bbcode.php
chercher:
if ($vbulletin->GPC['twoparams'])
{
$vbulletin->GPC['bbcodereplacement'] = str_replace('{param}', '%1$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option}', '%2$s', $vbulletin->GPC['bbcodereplacement']);
}
else
{
remplacer par:
if ($vbulletin->GPC['twoparams'])
{
$vbulletin->GPC['bbcodereplacement'] = str_replace('{param}', '%1$s', $vbulletin->GPC['bbcodereplacement']);
if (strpos($vbulletin->GPC['bbcodereplacement'], '{option1}')) {
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option1}', '%2$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option2}', '%3$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option3}', '%4$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option4}', '%5$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option5}', '%6$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option6}', '%7$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option7}', '%8$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option8}', '%9$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option9}', '%10$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['twoparams'] = 2;
} else {
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option}', '%2$s', $vbulletin->GPC['bbcodereplacement']);
}
}
else
{
chercher:
if ($vbulletin->GPC['twoparams'])
{
$vbulletin->GPC['bbcodereplacement'] = str_replace('{param}', '%1$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option}', '%2$s', $vbulletin->GPC['bbcodereplacement']);
}
else
{
remplacer par:
if ($vbulletin->GPC['twoparams'])
{
$vbulletin->GPC['bbcodereplacement'] = str_replace('{param}', '%1$s', $vbulletin->GPC['bbcodereplacement']);
if (strpos($vbulletin->GPC['bbcodereplacement'], '{option1}')) {
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option1}', '%2$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option2}', '%3$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option3}', '%4$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option4}', '%5$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option5}', '%6$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option6}', '%7$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option7}', '%8$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option8}', '%9$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option9}', '%10$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['twoparams'] = 2;
} else {
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option}', '%2$s', $vbulletin->GPC['bbcodereplacement']);
}
}
else
{
chercher:
if($_bbcode['twoparams'])
{
$_bbcode['bbcodereplacement'] = str_replace('%1$s', '{param}', $_bbcode['bbcodereplacement']);
$_bbcode['bbcodereplacement'] = str_replace('%2$s', '{option}', $_bbcode['bbcodereplacement']);
}
else
{
remplacer par:
if($_bbcode['twoparams'])
{
$_bbcode['bbcodereplacement'] = str_replace('%1$s', '{param}', $_bbcode['bbcodereplacement']);
if ($_bbcode['twoparams'] > 1) {
$_bbcode['bbcodereplacement'] = str_replace('%2$s', '{option1}', $_bbcode['bbcodereplacement']);
$_bbcode['bbcodereplacement'] = str_replace('%3$s', '{option2}', $_bbcode['bbcodereplacement']);
$_bbcode['bbcodereplacement'] = str_replace('%4$s', '{option3}', $_bbcode['bbcodereplacement']);
$_bbcode['bbcodereplacement'] = str_replace('%5$s', '{option4}', $_bbcode['bbcodereplacement']);
$_bbcode['bbcodereplacement'] = str_replace('%6$s', '{option5}', $_bbcode['bbcodereplacement']);
$_bbcode['bbcodereplacement'] = str_replace('%7$s', '{option6}', $_bbcode['bbcodereplacement']);
$_bbcode['bbcodereplacement'] = str_replace('%8$s', '{option7}', $_bbcode['bbcodereplacement']);
$_bbcode['bbcodereplacement'] = str_replace('%9$s', '{option8}', $_bbcode['bbcodereplacement']);
$_bbcode['bbcodereplacement'] = str_replace('%10$s', '{option9}', $_bbcode['bbcodereplacement']);
} else {
$_bbcode['bbcodereplacement'] = str_replace('%2$s', '{option}', $_bbcode['bbcodereplacement']);
}
}
else
{
chercher:
print_textarea_row($vbphrase['replacement'], 'bbcodereplacement', $_bbcode['bbcodereplacement'], 5, 60);
print_input_row($vbphrase['example'], 'bbcodeexample', $_bbcode['bbcodeexample']);
print_textarea_row($vbphrase['description'], 'bbcodeexplanation', $_bbcode['bbcodeexplanation'], 10, 60);
print_yes_no_row($vbphrase['use_option'], 'twoparams', $_bbcode['twoparams']);
print_input_row($vbphrase['button_image_desc'], 'buttonimage', $_bbcode['buttonimage']);
print_submit_row($vbphrase['save']);
remplacer par:
print_textarea_row($vbphrase['replacement'], 'bbcodereplacement', $_bbcode['bbcodereplacement'], 5, 60);
print_input_row($vbphrase['example'], 'bbcodeexample', $_bbcode['bbcodeexample']);
print_textarea_row($vbphrase['description'], 'bbcodeexplanation', $_bbcode['bbcodeexplanation'], 10, 60);
print_yes_no_row($vbphrase['use_option'], 'twoparams', $_bbcode['twoparams'] ? 1 : 0);
print_input_row($vbphrase['button_image_desc'], 'buttonimage', $_bbcode['buttonimage']);
print_submit_row($vbphrase['save']);
chercher:
if ($vbulletin->GPC['twoparams'])
{
$vbulletin->GPC['bbcodereplacement'] = str_replace('{param}', '%1$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option}', '%2$s', $vbulletin->GPC['bbcodereplacement']);
}
else
{
remplacer par:
if ($vbulletin->GPC['twoparams'])
{
$vbulletin->GPC['bbcodereplacement'] = str_replace('{param}', '%1$s', $vbulletin->GPC['bbcodereplacement']);
if (strpos($vbulletin->GPC['bbcodereplacement'], '{option1}')) {
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option1}', '%2$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option2}', '%3$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option3}', '%4$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option4}', '%5$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option5}', '%6$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option6}', '%7$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option7}', '%8$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option8}', '%9$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option9}', '%10$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['twoparams'] = 2;
} else {
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option}', '%2$s', $vbulletin->GPC['bbcodereplacement']);
}
}
else
{
editer includes/class_bbcode.phpchercher:
// now do the actual replacement
if (isset($tag_info['html']))
{
// this is a simple HTML replacement
$pending_text = sprintf($tag_info['html'], $open['data'], $open['option']);
}
else if (isset($tag_info['callback']))
{
remplacer par:
// now do the actual replacement
if (isset($tag_info['html']))
{
if (strpos($open['option'], ',')) {
$pending_text = @vsprintf($tag_info['html'], array_merge(array($open['data']), explode(',', $open['option'])));
} else {
// this is a simple HTML replacement
$pending_text = sprintf($tag_info['html'], $open['data'], $open['option']);
}
}
else if (isset($tag_info['callback']))
{
editer includes/functions_editor.php
chercher:
$tag = strtoupper($bbcode['bbcodetag']);
$alt = construct_phrase($vbphrase['wrap_x_tags'], $tag);
$extrabuttons .= "<td><div class=\"imagebutton\" id=\"{$editorid}_cmd_wrap$bbcode[twoparams]_$bbcode[bbcodetag]\"><img src=\"$bbcode[buttonimage]\" alt=\"$alt\" width=\"21\" height=\"20\" border=\"0\" /></div></td>\n";
}
}
remplacer par:
$tag = strtoupper($bbcode['bbcodetag']);
$alt = construct_phrase($vbphrase['wrap_x_tags'], $tag);
$bbcode['twoparams'] = $bbcode['twoparams'] ? 1 : 0;
$extrabuttons .= "<td><div class=\"imagebutton\" id=\"{$editorid}_cmd_wrap$bbcode[twoparams]_$bbcode[bbcodetag]\"><img src=\"$bbcode[buttonimage]\" alt=\"$alt\" width=\"21\" height=\"20\" border=\"0\" /></div></td>\n";
}
}
Ce hack permet de créer des BBCodes à plusieurs paramètres (jusqu'a 9)
Conception
Auteur du Hack / Author Of Hack : Christounet
Version vBulletin Requise / Version vBulletin Required : vB 3.5.4
Testé / Tested: OuiUtilisation
créer votre balise en utilisant {option1}...{option9}
ensuite specifier les paramètres séparés par des virgules (voir l'exemple attaché)Edition
editer admincp/bbcode.php
chercher:
if ($vbulletin->GPC['twoparams'])
{
$vbulletin->GPC['bbcodereplacement'] = str_replace('{param}', '%1$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option}', '%2$s', $vbulletin->GPC['bbcodereplacement']);
}
else
{
remplacer par:
if ($vbulletin->GPC['twoparams'])
{
$vbulletin->GPC['bbcodereplacement'] = str_replace('{param}', '%1$s', $vbulletin->GPC['bbcodereplacement']);
if (strpos($vbulletin->GPC['bbcodereplacement'], '{option1}')) {
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option1}', '%2$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option2}', '%3$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option3}', '%4$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option4}', '%5$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option5}', '%6$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option6}', '%7$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option7}', '%8$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option8}', '%9$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option9}', '%10$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['twoparams'] = 2;
} else {
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option}', '%2$s', $vbulletin->GPC['bbcodereplacement']);
}
}
else
{
chercher:
if ($vbulletin->GPC['twoparams'])
{
$vbulletin->GPC['bbcodereplacement'] = str_replace('{param}', '%1$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option}', '%2$s', $vbulletin->GPC['bbcodereplacement']);
}
else
{
remplacer par:
if ($vbulletin->GPC['twoparams'])
{
$vbulletin->GPC['bbcodereplacement'] = str_replace('{param}', '%1$s', $vbulletin->GPC['bbcodereplacement']);
if (strpos($vbulletin->GPC['bbcodereplacement'], '{option1}')) {
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option1}', '%2$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option2}', '%3$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option3}', '%4$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option4}', '%5$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option5}', '%6$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option6}', '%7$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option7}', '%8$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option8}', '%9$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option9}', '%10$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['twoparams'] = 2;
} else {
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option}', '%2$s', $vbulletin->GPC['bbcodereplacement']);
}
}
else
{
chercher:
if($_bbcode['twoparams'])
{
$_bbcode['bbcodereplacement'] = str_replace('%1$s', '{param}', $_bbcode['bbcodereplacement']);
$_bbcode['bbcodereplacement'] = str_replace('%2$s', '{option}', $_bbcode['bbcodereplacement']);
}
else
{
remplacer par:
if($_bbcode['twoparams'])
{
$_bbcode['bbcodereplacement'] = str_replace('%1$s', '{param}', $_bbcode['bbcodereplacement']);
if ($_bbcode['twoparams'] > 1) {
$_bbcode['bbcodereplacement'] = str_replace('%2$s', '{option1}', $_bbcode['bbcodereplacement']);
$_bbcode['bbcodereplacement'] = str_replace('%3$s', '{option2}', $_bbcode['bbcodereplacement']);
$_bbcode['bbcodereplacement'] = str_replace('%4$s', '{option3}', $_bbcode['bbcodereplacement']);
$_bbcode['bbcodereplacement'] = str_replace('%5$s', '{option4}', $_bbcode['bbcodereplacement']);
$_bbcode['bbcodereplacement'] = str_replace('%6$s', '{option5}', $_bbcode['bbcodereplacement']);
$_bbcode['bbcodereplacement'] = str_replace('%7$s', '{option6}', $_bbcode['bbcodereplacement']);
$_bbcode['bbcodereplacement'] = str_replace('%8$s', '{option7}', $_bbcode['bbcodereplacement']);
$_bbcode['bbcodereplacement'] = str_replace('%9$s', '{option8}', $_bbcode['bbcodereplacement']);
$_bbcode['bbcodereplacement'] = str_replace('%10$s', '{option9}', $_bbcode['bbcodereplacement']);
} else {
$_bbcode['bbcodereplacement'] = str_replace('%2$s', '{option}', $_bbcode['bbcodereplacement']);
}
}
else
{
chercher:
print_textarea_row($vbphrase['replacement'], 'bbcodereplacement', $_bbcode['bbcodereplacement'], 5, 60);
print_input_row($vbphrase['example'], 'bbcodeexample', $_bbcode['bbcodeexample']);
print_textarea_row($vbphrase['description'], 'bbcodeexplanation', $_bbcode['bbcodeexplanation'], 10, 60);
print_yes_no_row($vbphrase['use_option'], 'twoparams', $_bbcode['twoparams']);
print_input_row($vbphrase['button_image_desc'], 'buttonimage', $_bbcode['buttonimage']);
print_submit_row($vbphrase['save']);
remplacer par:
print_textarea_row($vbphrase['replacement'], 'bbcodereplacement', $_bbcode['bbcodereplacement'], 5, 60);
print_input_row($vbphrase['example'], 'bbcodeexample', $_bbcode['bbcodeexample']);
print_textarea_row($vbphrase['description'], 'bbcodeexplanation', $_bbcode['bbcodeexplanation'], 10, 60);
print_yes_no_row($vbphrase['use_option'], 'twoparams', $_bbcode['twoparams'] ? 1 : 0);
print_input_row($vbphrase['button_image_desc'], 'buttonimage', $_bbcode['buttonimage']);
print_submit_row($vbphrase['save']);
chercher:
if ($vbulletin->GPC['twoparams'])
{
$vbulletin->GPC['bbcodereplacement'] = str_replace('{param}', '%1$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option}', '%2$s', $vbulletin->GPC['bbcodereplacement']);
}
else
{
remplacer par:
if ($vbulletin->GPC['twoparams'])
{
$vbulletin->GPC['bbcodereplacement'] = str_replace('{param}', '%1$s', $vbulletin->GPC['bbcodereplacement']);
if (strpos($vbulletin->GPC['bbcodereplacement'], '{option1}')) {
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option1}', '%2$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option2}', '%3$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option3}', '%4$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option4}', '%5$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option5}', '%6$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option6}', '%7$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option7}', '%8$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option8}', '%9$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option9}', '%10$s', $vbulletin->GPC['bbcodereplacement']);
$vbulletin->GPC['twoparams'] = 2;
} else {
$vbulletin->GPC['bbcodereplacement'] = str_replace('{option}', '%2$s', $vbulletin->GPC['bbcodereplacement']);
}
}
else
{
editer includes/class_bbcode.phpchercher:
// now do the actual replacement
if (isset($tag_info['html']))
{
// this is a simple HTML replacement
$pending_text = sprintf($tag_info['html'], $open['data'], $open['option']);
}
else if (isset($tag_info['callback']))
{
remplacer par:
// now do the actual replacement
if (isset($tag_info['html']))
{
if (strpos($open['option'], ',')) {
$pending_text = @vsprintf($tag_info['html'], array_merge(array($open['data']), explode(',', $open['option'])));
} else {
// this is a simple HTML replacement
$pending_text = sprintf($tag_info['html'], $open['data'], $open['option']);
}
}
else if (isset($tag_info['callback']))
{
editer includes/functions_editor.php
chercher:
$tag = strtoupper($bbcode['bbcodetag']);
$alt = construct_phrase($vbphrase['wrap_x_tags'], $tag);
$extrabuttons .= "<td><div class=\"imagebutton\" id=\"{$editorid}_cmd_wrap$bbcode[twoparams]_$bbcode[bbcodetag]\"><img src=\"$bbcode[buttonimage]\" alt=\"$alt\" width=\"21\" height=\"20\" border=\"0\" /></div></td>\n";
}
}
remplacer par:
$tag = strtoupper($bbcode['bbcodetag']);
$alt = construct_phrase($vbphrase['wrap_x_tags'], $tag);
$bbcode['twoparams'] = $bbcode['twoparams'] ? 1 : 0;
$extrabuttons .= "<td><div class=\"imagebutton\" id=\"{$editorid}_cmd_wrap$bbcode[twoparams]_$bbcode[bbcodetag]\"><img src=\"$bbcode[buttonimage]\" alt=\"$alt\" width=\"21\" height=\"20\" border=\"0\" /></div></td>\n";
}
}