The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Spell Checker: PungoSpell for vBulletin3 Standard and WYSIWYG modes Details »» | ||||||||||||||||||||||||||||
Spell Checker: PungoSpell for vBulletin3 Standard and WYSIWYG modes
Developer Last Online: Nov 2023
There's also a vB 3.5 version: https://vborg.vbsupport.ru/showthrea...threadid=83258
PungoSpell for vBulletin3 WYSIWYG and Standard mode Intro: PungoSpell supports WYSIWYG mode disply using DHTML on the spell check popup window. It uses PHP's buitin PSPELL module. Many have this already compiled in, but if not, it's easy to add. What this hack does This hack modifies the PungoSpell software package from PungoSpell to allow spell checking on vBulletin for both modes, WYSIWYG and standard mode. Change Log: v1.6 December 25, 2005: Security fix for cases where you allow HTML posts and they contain malicious code (Credit goes to Brendan Donahue for finding the issue and alerting TechGuy, and to TechGuy for alerting me to it) v1.5. Minor bug fixes v1.4 1. Fixed scrolling, so the spelling window will scroll to the next mis-spelled word. 2. Changed config defaults to allow the most common configuration. The "Learn" function is turned of by default. Make sure you test it before tunrning it on. 3. Re-worded comments on config options, hopefully they will now make sense. v1.3 1. Created a new config file (pungo-spell-config.php) to avoid the need to edit checkspelling.php, which is a bit tricky with end of line characters. 2. Added an option to disable the learn feature. This may be needed if your aspell setup does not allow, or not properly setup, for personal wordlists. 3. The language is now defined in the config file as well. v1.1: 1. Added a "Learn" button. This allows users to add words into the dictionary. 2. Restricted access to members only, with allowed usergroups definable in config file 3. Restrict user groups allowed to use the "Learn" feature. Configurable option. 3. Options to ignore quote blocks, code bloacks, and PHP blocks 4. Added buttons (Thesarus and Lookup) with links to Merriam Webster's online thesarus and dictionary links with the suggestion for misspelled words. 5. Added Quit and Done buttons. One to quite without saving, and one to save without going through the whole post for suggestions. 6. Fixed extra lines added for WYSIWYG paragraphs 7. Made it skip vBCode tags, so it won't spell check URL's v1.0: Initial version, . Identical to PungoSpell functionality, but adapted to handle vBulletins's WYSIWYG and standard mode. Note: There's another hack for spell checker for vBulletin3 using PHPSpell. You might want to compare both to decide which one you like best. https://vborg.vbsupport.ru/showthrea...threadid=65723 PHPSpell has a "learn" button, to allow adding new words to the dictionary, PungoSpell does not. PungoSpell has a better WYSIWYG display, while PHPSpell does not hide HTML and vBCode tags. So each one has it's advantages and disadvantages. In a future release, I'll try to add a "learn" functionality to PungoSpell. (done) Credit PungoSpell Is a free software using the MIT license. By default, it will work fine in standard mode. This hack will allow it to work for both standard and WYSIWYG. Requirements: You will need to have PSPELL compiled into your PHP setup. Many have this by default. To find out if you already have it, check your PHP info from the vBulletin Admin Panel: Import & Maintenance > View PHP Info. Search for "pspell". If it's there, you're fine. If not, you can recompile PHP with the "--with-pspell" paramater. From the readme file: Quote:
Bugs: Scrolling down to the misspelled word is not yet working. Instructions 1. Download the attached file, and unpack into your main forum directory. Make sure the file "custom.pws" is writable by apache, otherwise the "Learn" function will not work. 2. It has English setup by default. If you want it to use any other language, it's easy. Just edit the config file "pungo-spell-config.php". Change this line: $my_lang = "en"; "en" stands for English. Change it to the code of the language you want. Like "fr" for French, for example. Make sure your system has the required dictionary. You see the dictionary config by typing "aspell config" at the command line, to see which dictionaries you have. Also, in the file custom.pws, the first line reads something like: personal_ws-1.1 en 0 You will need to change en to the language you use, like fr 3. Edit the config section in checkspelling.php to suit your needs: [code] // Config section $my_lang = "en"; // set the language you want, make sure you have the correct aspell dictionary on your system // Access restriction options $allow_guests = 0; // Change to 1 if you allow guests to post and use the spell checker $restrict_groups = 0; // Change to 1 to enable access restriction by group id $allowd_groups = array (2, 5, 6); // usergroups who can access the spell checker // Learn function options $customwordlist = "custom.pws"; // make sure this file is readable by your apache user $learn_enabled = 0; // set to 1 to enable the learn feature. Make sure you test first, to ensure your server setup allows this. $restrict_learn_function = 0; // set to 1 if you want to restrict which usergroup id may add words to your dictionary. $word_list_maintainers = array (2, 5, 6); // usergroups that are allowed to use the "Learn" feature // // Ignore options $ignore_quotes = 1; // 1 means ignore the [QUOTE] block, 0 means spell check within quotes $ignore_code = 1; // Same but for the Code:
tag $ignore_php = 1; // Same, but for the [PHP] tag // end config section newreply template A. Find Code:
</head> Code:
<script src="spellcheck.js"></script> B. Add somewhere the followin (below $navbar for example)g: Code:
<form name="spell_form" id="spell_form" method="POST" target="spellWindow" action="checkspelling.php"> <input type="hidden" name="spell_formname" value=""> <input type="hidden" name="spell_fieldname" value=""> <input type="hidden" name="spellstring" value=""> </form> Code:
<input type="submit" class="button" name="sbutton" value="$vbphrase[submit_reply]" accesskey="s" tabindex="1" /> <input type="submit" class="button" name="preview" value="$vbphrase[preview_post]" accesskey="p" tabindex="1" /> Code:
<if condition="DOTOOLBAR!=2"> <input type="hidden" name="toolbar" value="1" /> <input type="button" class="button" value="Spell Check" onClick="spellCheck( 'vbform', 'message', '1');"> <else /> <input type="hidden" name="toolbar" value="2" /> <input type="button" class="button" value="Spell Check" onClick="spellCheck( 'vbform', 'WYSIWYG_HTML', '2');"> </if> Optional: Other Templates that contain edit boxes are: USERCP_SHELL just add the first change (A) here in above the </head section. Required for pm_newpm and modifysignature. editpost Calendar Templates: calendar_edit New Posting Templates: newreply, newthread Modify User Options Templates: modifysignature (add the the first change (A) in USERCP_SHELL) and the rest (B and C) here. Quick reply 1. Show Thread Templates: Put change (A) in showthread, and the rest (B and C) in showthread_quickreply 2. Contributed by Boofo: change: <if condition="DOTOOLBAR!=2"> to: <if condition="$WYSIWYG!=2"> I may have missed a few templates, so let me know. Private Messages To install in Private Messaging, check Chris's post here: https://vborg.vbsupport.ru/showpost....6&postcount=84 ------ Trouble shooting: 1. If you get a spell check window that says "This is a test". This is most likely due to end of line characters caused by an editor. To resolve this, re-upload the original files with FTP in binary mode. When editing the config file, make sure you use an editor that does not add any end of line characters, such as "vi" or others. 2. Learn doesn't work: Try this: Change the first line from custom.pws: personal_ws-1.1 en 0 To: personal_ws-1.1 english 0 en worked fine for me on Fedora and Gentoo, but I had to change to english on RHE. ----- Enjoy P.S. The two screenshots below show the spell check popup menu. One for standard mode, and one for WYSIWYG mode. Show Your Support
|
Comments |
#82
|
|||
|
|||
Great hack!
Amazed myself by getting it installed without any major hitches. Just one problem- it doesn't work in writing a new PM. Clicking the spell check box has no effect, nothing happens. I've changed the USERCP_SHELL template as instructed. In the pm_newpm template, there was no $navbar to put the code in (B) under. I've tried putting it in a couple of different places, but it still doesn't work. Any ideas what I've done wrong? thanks |
#83
|
||||
|
||||
Everything working fine for me, great hack, but one thing though - spell checking a quick reply in Internet Explorer does not work. When clicking on that, it immediately goes to 'Spell checking complete' but it works fine in Opera and other browsers.
Ideas? Also the correct template changes were made, etc. |
#84
|
|||
|
|||
|
#85
|
|||
|
|||
Quote:
Find: Code:
return validatePost(formname, formname.title.value, 0, $vboptions[pmmaxchars]); } </script> Code:
<script src="spellcheck.js"></script> <form name="spell_form" id="spell_form" method="POST" target="spellWindow" action="checkspelling.php"> <input type="hidden" name="spell_formname" value=""> <input type="hidden" name="spell_fieldname" value=""> <input type="hidden" name="spellstring" value=""> </form> Find: Code:
[preview_message]" accesskey="p" name="preview" tabindex="1" onclick="this.form.dopreview = true; return true;" /> Code:
<CENTER> <if condition="DOTOOLBAR!=2"> <input type="hidden" name="toolbar" value="1" /> <input type="button" class="button" value="Spell Check" onClick="spellCheck( 'vbform', 'message', '1');"> <else /> <input type="hidden" name="toolbar" value="2" /> <input type="button" class="button" value="Spell Check" onClick="spellCheck( 'vbform', 'WYSIWYG_HTML', '2');"> </if> </CENTER> |
#86
|
|||
|
|||
Thanks so much Chris, that works perfectly now
|
#87
|
|||
|
|||
Quote:
Fatal error: Call to undefined function: pspell_new() in /hsphere/local/home/vrhee/golfrewind.com/checkspelling.php on line 26 I just talked to my Web host and they installed aspell. Now how do I compile pspell in my php? |
#88
|
|||
|
|||
anyone?
|
#89
|
|||
|
|||
Quote:
|
#90
|
||||
|
||||
It works great for me in pms but when I use it for a new reply, it opens up, finds the wrongly spelled words, says ok and when it closes, the words are not changed to the correct spelling. Any ideas?
EDIT: Got it working. It seems you can't have the button in both places on the newreply. Only the top one. How do we make sure apache can write to the pws file? I have it chmodded to 777 and it still doesn't write to the file. |
#91
|
|||
|
|||
I compiled pspell and have the spell check working on my site now. Thanks! The problem is I noticed that on long posts, it will show "this is a test." If it's a relatively short message, the spell check works fine. Does anyone know what may be causing this problem?
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|