vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   Programming Articles (https://vborg.vbsupport.ru/forumdisplay.php?f=188)
-   -   Add A Button To The Editor (vb3) (https://vborg.vbsupport.ru/showthread.php?t=60394)

cirisme 01-17-2004 10:00 PM

Add A Button To The Editor (vb3)
 
This will help you add an extra button to vb3's editor toolbar. The button calls a function that you define in vbulletin_global.js that can do anything you want. ;) Originally posted here.

Open ./includes/functions_editor.php and find this:

PHP Code:

    global $datastore$bbcodecache

And change to:

PHP Code:

    global $datastore$bbcodecache$stylevar

Find this

PHP Code:

    foreach ($bbcodecache AS $bbcode)
         {
             if (
$bbcode['buttonimage'] != '')
             {
                 
$tag strtoupper($bbcode['bbcodetag']);
     
                 if (
$toolbartype == 2)
                 {
              
$extrabuttons .= "<td><div class=\"imagebutton\" id=\"cmd_wrap$bbcode[twoparams]_$bbcode[bbcodetag]\"><img src=\"$bbcode[buttonimage]\" alt=\"Wrap [$tag] Tags\" width=\"21\" height=\"20\" /></div></td>\n";
                 }
                 else
                 {
              
$extrabuttons .= "<td><div class=\"imagebutton\"><a href=\"#\" onclick=\"return vbcode('$tag', '')\"><img src=\"$bbcode[buttonimage]\" alt=\"Wrap [$tag] Tags\" title=\"Wrap [$tag] Tags\" width=\"21\" height=\"20\" border=\"0\" /></a></div></td>\n";
                 }
             }
         } 

And add this below:

Code:

        if ($toolbartype == 2){
                    $extrabuttons .= '<td><div class="imagebutton" id="cmd_xxxx"><img src="' . $stylevar[imgdir_editor] . '/xxxx.gif" alt="<Alt Text>" width="21" height="20" /></div></td>';
            }else{
                $extrabuttons .= '<td><div class="imagebutton"><a href="#" onclick="return xxxx()"><img src="' . $stylevar[imgdir_editor] . '/xxxx.gif" alt="<Alt Text>" title="<Alt Text>" width="21" height="20" border="0" /></a></div></td>';
            }

Be sure to change the bolded xxxx to be whatever you want it to be.

Now, open clientscript/vbulletin_wysiwyg.js and find this:

Code:

                htmlbox.execCommand(formatcommand, showinterface, extraparameters);
                            set_context(formatcommand);

And REPLACE with:

Code:

                if(formatcommand == 'xxxx') {
                            xxxx();
                    }else{
                            // this was original but outside IF
                        htmlbox.execCommand(formatcommand, showinterface, extraparameters);
                            set_context(formatcommand);
                    }

Be sure to change the xxxx's above to be the same as in the other code snippet. :)

And open clientscript/vbulletin_global.js and add a function called whatever you changed xxxx to. It can do whatever you want it to do and you'll be set.

If you want to add it to the showthread quick reply... open showthread.php and find:

PHP Code:

    eval('$quickreply = "' fetch_template('showthread_quickreply') . '";'); 

And replace with:

PHP Code:

    $extrabuttons        construct_editor_extra_buttons($WYSIWYG);
      eval(
'$quickreply = "' fetch_template('showthread_quickreply') . '";'); 

In the showthread_quickreply template find this:

HTML Code:

                <td><div class="imagebutton" id="cmd_wrap0_quote"><img src="$stylevar[imgdir_editor]/quote.gif" alt="$vbphrase[wrap_quote_tags]" width="21" height="20" /></div></td>
And add this below:

HTML Code:

                <if condition="$extrabuttons"><td>$extrabuttons</td></if>
Find this:

HTML Code:

                <td><div class="imagebutton"><a href="#" onclick="return vbcode('QUOTE', '')"><img src="$stylevar[imgdir_editor]/quote.gif" alt="$vbphrase[wrap_quote_tags]" title="$vbphrase[wrap_quote_tags]" width="21" height="21" border="0" /></a></div></td>
And add below:

HTML Code:

                <if condition="$extrabuttons"><td>$extrabuttons</td></if>
Done! :)

MindTrix 01-18-2004 01:57 PM

Nice one ;) Should prove helpful to some people

NTLDR 01-18-2004 04:49 PM

A reminder thatr if you want buttons for your custom BB Code then this is already an option in the BB Code Manager :)

MindTrix 01-18-2004 04:51 PM

:o

cirisme 01-18-2004 05:46 PM

Quote:

Originally Posted by NTLDR
A reminder thatr if you want buttons for your custom BB Code then this is already an option in the BB Code Manager :)

Yes, of course. :)

This is if you want to do other things... and even with that, the extra buttons won't show up in quick reply unless you apply the modifications to showthread.php/showthread_quickreply in my first post. ;)

M.C. 02-15-2004 04:44 PM

i was trying to put smilies in quick reply box, using that system, but got javascript error... sorry, but i full zerro in all that javascript.. may be you help me?

my post about that here: https://vborg.vbsupport.ru/showpost....2&postcount=32


All times are GMT. The time now is 02:22 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01866 seconds
  • Memory Usage 1,750KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (3)bbcode_code_printable
  • (4)bbcode_html_printable
  • (5)bbcode_php_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (6)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete