vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.6 Template Modifications (https://vborg.vbsupport.ru/forumdisplay.php?f=192)
-   -   Miscellaneous Hacks - VB Graphical Virtual Keyboard Interface (https://vborg.vbsupport.ru/showthread.php?t=160060)

yoyoyoyo 10-11-2007 10:00 PM

VB Graphical Virtual Keyboard Interface
 
VB Graphical Virtual Keyboard Interface
version 1.1

Template edits: 7
New file to upload: 3
Install Time: approx. 10 minutes

About this modification:

This adds a graphical keyboard interface to allow forum members to easily input their passwords so they can be filled by clicking their mouse only (to avoid keyloggers).

It also adds easy access to special characters your existing keyboard may not otherwise have the ability to generate.

Comes with Belgian, Dutch, Dvorak, French, German, Greek, Lithuanian, Norwegian, Number Pad, Polish Programmers, Portuguese, Russian, Turkish-F, Turkish-QWERTY, UK, US Standard and US International keyboard layouts, dynamically selectable.

This script has been tested to work in IE 6.0, IE 7.0, Firefox 2.0.0.4, Firefox 2.0.0.7, Opera 9.21 and Safari 3.0 beta for Windows. If javascript is disabled, the keyboard icons simply do not appear, so the script degrades gracefully.

Installation:

Upload:

Upload the contents of the "forum" folder to your forum root folder (the same folder that has index.php, memberlist.php. etc.)

NOTE: If you also are using a CMPS such as vBadvanced, also upload the contents of the "forum" folder to the root directory of your site where your CMPS is installed as well.

Template Edits:

Go to your Admin Control Panel, and select the "Styles & Templates" navigation option, and click on "Style Manager"
In the dropdown menu select "Edit Templates"
click on the "<<>>" button to expand all of the templates
select the "headinclude" template and click on "Customize" or "Edit"
In your "headinclude" template add this to the very bottom:

Code:

<script type="text/javascript" src="keyboard.js" charset="UTF-8"></script>
<link rel="stylesheet" type="text/css" href="keyboard.css">

click "save"

Next, select the "navbar" template and click on "Customize" or "Edit"

search for:
Code:

<td><input type="password" class="bginput" style="font-size: 11px" name="vb_login_password" id="navbar_password" size="10" tabindex="102" /></td>
change to:
Code:

<td><input type="password" class="keyboardInput" style="font-size: 11px" name="vb_login_password" id="navbar_password" size="10" tabindex="102" /></td>
click "save"

Select the register template and click on "Customize" or "Edit"

search for:
Code:

<input type="password" class="bginput" name="password" size="25" maxlength="50" value="$password" />
                    </td>
                    <td>
                        $vbphrase[confirm_password]:<br />
                        <input type="password" class="bginput" name="passwordconfirm" size="25" maxlength="50" value="$passwordconfirm" />

change to:
Code:

<input type="password" class="keyboardInput" name="password" size="25" maxlength="50" value="$password" />
                    </td>
                    <td>
                        $vbphrase[confirm_password]:<br />
                        <input type="password" class="keyboardInput" name="passwordconfirm" size="25" maxlength="50" value="$passwordconfirm" />

click "save"

Select the modifypassword template and click on "Customize" or "Edit"

search for:
Code:

            <div class="fieldset">
                <div>$vbphrase[enter_password_to_continue]:</div>
                <div><input type="password" class="bginput" name="currentpassword" size="50" maxlength="50" /></div>
            </div>

            <fieldset class="fieldset">
                <legend>$vbphrase[edit_password]<if condition="$show['password_optional']"> ($vbphrase[optional])</if></legend>
                <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0">
                <tr>
                    <td>
                        <div>$vbphrase[new_password]:</div>
                        <div><input type="password" class="bginput" name="newpassword" size="50" maxlength="50" /></div>
                    </td>
                </tr>
                <tr>
                    <td>
                        <div>$vbphrase[confirm_new_password]:</div>
                        <div><input type="password" class="bginput" name="newpasswordconfirm" size="50" maxlength="50" /></div>
                    </td>
                </tr>
                </table>
            </fieldset>

change to:
Code:

            <div class="fieldset">
                <div>$vbphrase[enter_password_to_continue]:</div>
                <div><input type="password" class="keyboardInput" name="currentpassword" size="50" maxlength="50" /></div>
            </div>

            <fieldset class="fieldset">
                <legend>$vbphrase[edit_password]<if condition="$show['password_optional']"> ($vbphrase[optional])</if></legend>
                <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0">
                <tr>
                    <td>
                        <div>$vbphrase[new_password]:</div>
                        <div><input type="password" class="keyboardInput" name="newpassword" size="50" maxlength="50" /></div>
                    </td>
                </tr>
                <tr>
                    <td>
                        <div>$vbphrase[confirm_new_password]:</div>
                        <div><input type="password" class="keyboardInput" name="newpasswordconfirm" size="50" maxlength="50" /></div>
                    </td>
                </tr>
                </table>
            </fieldset>

click "save"

Select the STANDARD_ERROR template and click on "Customize" or "Edit"

search for:
Code:

<tr>
<td>$vbphrase[password]:<br /><input type="password" class="bginput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>

change to:
Code:

<tr>
<td>$vbphrase[password]:<br /><input type="password" class="keyboardInput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>

click "save"

Select the STANDARD_ERROR_LITE template and click on "Customize" or "Edit"

search for:
Code:

<tr>
<td>$vbphrase[password]:<br /><input type="password" class="bginput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>

change to:
Code:

<tr>
<td>$vbphrase[password]:<br /><input type="password" class="keyboardInput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>

click "save"

Select the STANDARD_ERROR_LOGIN template and click on "Customize" or "Edit"

search for:
Code:

<tr>
<td>$vbphrase[password]:</td>
<td><input type="password" class="bginput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>

change to:
Code:

<tr>
<td>$vbphrase[password]:</td>
<td><input type="password" class="keyboardInput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>

click "save"

Customization:

To change the default keyboard which displays first for each different page, change the value of the this.VKI_kt variable to the name of the keyboard. For example, to make the default keyboard "US Int'l", change the value like so: this.VKI_kt = "US Int'l";.

To turn dead keys on by default, set the value of this.VKI_deadkeysOn to true.

Usage:
  • Simply click on the keyboard icon and the virtual keyboard drops down.
  • To choose your keyboard layout select the keyboard of your choice via the dropdown menu.
  • Enter your password by clicking on the virtual keys.
  • To close the keyboard, click on the keyboard icon again.
HISTORY:
v 1.0: released 10/12/2007
v 1.0.1: released 10/12/2007 - added Romanian PC L101 keyboard
v 1.1: released 10/12/2007 - added the virtual keyboard to Register, Modify Password and error screens password entry

PLEASE CLICK INSTALL

NOMINATE FOR MOTM

yoyoyoyo 10-12-2007 04:20 AM

reserved

Mr_Snob 10-12-2007 05:13 AM

cool tenk yuuuu :D:D

beduino 10-12-2007 10:45 AM

WOW,
It's a wonderful code!
Tks yoyoyoyo!
All the best
Beduino

beduino 10-12-2007 11:08 AM

Hi:
a question: it's possible disable input values by mouse?
After install this hack only allow passwords by keyboard-gif?

katilkuzu 10-12-2007 11:20 AM

usefullll a hack and nice idea. installed*

yoyoyoyo 10-12-2007 11:38 AM

Quote:

Originally Posted by beduino (Post 1358173)
Hi:
a question: it's possible disable input values by mouse?
After install this hack only allow passwords by keyboard-gif?

You can enter passwords by either the graphical keyboard (using the mouse) or by a regular keyboard. Your users are not forced to use the graphical keyboard - it is just an option. To be sure I just tested that function in IE7 and Firefox and it worked as usual.

beduino 10-12-2007 11:49 AM

Tks yoyoyoyo :)
I just test too. In fact my question is if i can disable passwords by regular keyboard.
My wish is only allow the graphical keyboard method
tks
Beduino

Magnumutz 10-12-2007 01:17 PM

Could you input a Romanian keyboard to it?

yoyoyoyo 10-12-2007 02:35 PM

Quote:

Originally Posted by Magnumutz (Post 1358248)
Could you input a Romanian keyboard to it?

I just updated the file to include a Romanian keyboard for you :)

yoyoyoyo 10-12-2007 03:14 PM

I just updated to version 1.1:
I added the virtual keyboard to Register, Modify Password and error screens password entry forms

TheBlackPoet 10-12-2007 04:49 PM

its works great for me.. its very nice.....

Masiello 10-12-2007 06:06 PM

Quote:

Originally Posted by katilkuzu (Post 1358184)
usefullll a hack and nice idea. installed*

Yes, I'm try it in a next vB 3.6.9 version, hope it coming soon...
Thanks for that great code.

Allan 10-12-2007 06:45 PM

H?h?, good idea :)

pspmaster93 10-13-2007 11:09 PM

is it possible to put a keyboard for the admin/mod cp login because keyloggers might not detect login from site but as soon as you log into the control panel they got your password.

yoyoyoyo 10-14-2007 01:01 AM

Quote:

Originally Posted by pspmaster93 (Post 1359320)
is it possible to put a keyboard for the admin/mod cp login because keyloggers might not detect login from site but as soon as you log into the control panel they got your password.

good idea - I will look in to that and update the mod later.

pspmaster93 10-14-2007 04:33 AM

thanks. that would be cool

idan0401 10-14-2007 07:56 AM

thank you

yoyoyoyo 10-14-2007 02:39 PM

it appears that the mod cp and admin cp are not handled by any templates, and instead by adminfunctions.php, so it is a bit harder to add this to those, but I am working on it.

pspmaster93 10-14-2007 07:17 PM

hmm i thought so because i couldnt find any templates for the mod/admin cp i was gonna try and do it myself..i kinda know a bit about that kinda stuff

yoyoyoyo 10-16-2007 12:35 AM

I have tried every trick I can think of to incorporate this in to the modcp and admincp login screens, but so far no luck - if anyone has any ideas or suggestions I would appreciate it. Since the javascript is in place, all that needs to happen is the "bginput" needs to be substituted with "keyboardInput" in the proper spot, but as I said, I have tried all that I can try right now. Any suggestions, fixes or ideas are welcome. This is not vital, since the mod works fine without this addition, but to make it complete and have the graphical keyboard at all areas where passwords need to be entered would be ideal.

Saviour 10-17-2007 02:00 AM

yoyoyoyo...

This is a fantastic mod...thanks..."clicks Installed"...

Saviour 10-17-2007 03:18 AM

You may want to update your mod to fix the following...the way you have it coded places two password boxes on the registration page...including the confirm password box...for a total of three password boxes.

Here's your code:

Code:

Select the register template and click on "Customize" or "Edit"

search for:

<input type="password" class="bginput" name="password" size="25" maxlength="50" value="$password" />
                                        </td>
                                        <td>
                                                $vbphrase[confirm_password]:<br />
                                                <input type="password" class="bginput" name="passwordconfirm" size="25" maxlength="50" value="$passwordconfirm" />

change to

<input type="password" class="keyboardInput" name="password" size="25" maxlength="50" value="$password" />
<input type="password" class="keyboardInput" name="password" size="25" maxlength="50" value="$password" />
                                        </td>
                                        <td>
                                                $vbphrase[confirm_password]:<br />
                                                <input type="password" class="keyboardInput" name="passwordconfirm" size="25" maxlength="50" value="$passwordconfirm" />
                                               
                                                click "save"

Do you see the duplicate line of code marked in red above?

Here's what it should be:

Code:

Select the register template and click on "Customize" or "Edit"

search for:

<input type="password" class="bginput" name="password" size="25" maxlength="50" value="$password" />
                                        </td>
                                        <td>
                                                $vbphrase[confirm_password]:<br />
                                                <input type="password" class="bginput" name="passwordconfirm" size="25" maxlength="50" value="$passwordconfirm" />

change to


<input type="password" class="keyboardInput" name="password" size="25" maxlength="50" value="$password" />
                                        </td>
                                        <td>
                                                $vbphrase[confirm_password]:<br />
                                                <input type="password" class="keyboardInput" name="passwordconfirm" size="25" maxlength="50" value="$passwordconfirm" />
                                               
                                                click "save"

I still have it installed...was just checking to see if everything worked properly and found the issue.

yoyoyoyo 10-17-2007 04:05 AM

ok - thanks for catching that

Saviour 10-17-2007 04:31 AM

You're welcome...

Something else you may want to consider...

Your code:

Code:

Select the STANDARD_ERROR template and click on "Customize" or "Edit"

search for:

<tr>
<td class="alt1">$vbphrase[password]:</td>
<td class="alt1"><input type="password" class="bginput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>

change to:

<tr>
<td class="alt1">$vbphrase[password]:</td>
<td class="alt1"><input type="password" class="keyboardInput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>       

click "save"

Select the STANDARD_ERROR_LITE template and click on "Customize" or "Edit"

search for

<tr>
<td class="alt1">$vbphrase[password]:</td>
<td class="alt1"><input type="password" class="bginput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>

change to:

<tr>
<td class="alt1">$vbphrase[password]:</td>
<td class="alt1"><input type="password" class="keyboardInput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>       

click "save"

Notice the code highlighted in red? If someone is searching for this code in the template, they may not locate it, because the actual code within the original template does not include the "alt1" code. Also, the code is missing a <br /> inserted after the [password]: coding.

If you use the code you have...you will see there's an error in the displaying of the password box.

You may want to use the code I have below to fix this problem:

Code:

Select the STANDARD_ERROR template and click on "Customize" or "Edit"

search for:

<tr>
<td>$vbphrase[password]:<br /><input type="password" class="bginput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>

change to:

<tr>
<td>$vbphrase[password]:<br /><input type="password" class="keyboardInput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>       

click "save"

Select the STANDARD_ERROR_LITE template and click on "Customize" or "Edit"

search for

<tr>
<td>$vbphrase[password]:<br /><input type="password" class="bginput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>

change to:

<tr>
<td>$vbphrase[password]:<br /><input type="password" class="keyboardInput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>       

click "save"

Notice the changes I've made to your code in red. Users will now be able to locate the code they need to modify.

They will also be able to view the correct positioning of the password box if they use my code.

I didn't change the coding for the last STANDARD_ERROR_LOGIN template, since I don't know what this template actually does...or even how it's displayed, for that matter.

Just giving you a "heads up" so you're not hit with tons of people telling you about the problem.

BTW...if you get the chance...can you tell me when the STANDARD_ERROR_LOGIN template is seen by someone who tries to login? Is this when someone initially registers and is prompted to login? If so, you may want to test that, again as well, to make sure the password box is being displayed correctlyl.

Good luck!

yoyoyoyo 10-17-2007 10:25 AM

duly noted and fixed - thanks again. I was going by my modified templates and forgot to check the original.

Saviour 10-17-2007 10:40 AM

No problem...and you're more than welcome...we all have our days:D

pspmaster93 10-19-2007 12:10 AM

yes, the alt1 i could not find because i do not have an alternate so i just changed the class of my default one to KeyboardInput and it worked also i noticed the multiple text boxes before too but if you know a bit about stuff like that you can easily fix that yourself...i had no problems just had to do a couple changes because of some small glitches but now its working great. this is a very good mod, also one question... why when i go to my site on my PSP the keyboard does not show up?

yoyoyoyo 10-19-2007 01:04 AM

yeah - sorry about that - it should all be fine now though - so anyone new trying to install it won't have any problems finding the code, etc.. As far as the psp, I have no idea - as I mentioned in the first post this has been tested on IE 6.0, IE 7.0, Firefox 2.0.0.4, Firefox 2.0.0.7, Opera 9.21 and Safari 3.0 beta for Windows and it worked fine in all of them.

Brickan 11-06-2007 07:21 AM

Hi nice work

how hard is it to make a swedish Layout ?
Ö Ä Å ö ä å

nickypoooo 11-20-2007 11:54 PM

Great idea, any chace to add Hebrew?

Pcwolfx? 01-07-2008 12:28 PM

it's wonderful thank you.

rgamill 11-30-2008 05:20 AM

Will this hack work with vb 3.7.4?


All times are GMT. The time now is 06:46 AM.

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

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03777 seconds
  • Memory Usage 1,860KB
  • 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
  • (17)bbcode_code_printable
  • (4)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (33)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