Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.6 > vBulletin 3.6 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Add an Urdu Editor to your vBulletin forum - Urdu OpenPad integration Details »»
Add an Urdu Editor to your vBulletin forum - Urdu OpenPad integration
Version: 1.00, by simunaqv simunaqv is offline
Developer Last Online: May 2018 Show Printable Version Email this Page

Category: New Posting Features - Version: 3.6.8 Rating:
Released: 08-05-2007 Last Update: 08-07-2007 Installs: 21
Is in Beta Stage  
No support by the author.

Description:
This hack integrates Urdu OpenPad in your vBulletin forum. At the moment this hack is only available in the form of template modification instructions. These changes are aimed at converting specific edit areas into Urdu edit areas. You can use the same procedure to convert any other edit area into an Urdu edit area. Please note that this integration is available for textarea-mode i.e. it does not work for the wysiwyg mode.

NOTE: It has been brought to my notice that users on some forums are having problems logging in with Urdu user names. This is because of the way Unicode data is handled in a non-Unicode forum. I recommend skipping the modifications in the navbar, STANDARD_ERROR, STANDARD_ERROR_LITE, STANDARD_ERROR_LOGIN and the register templates on these forums.

Demo: Urdu Mehfil Forum

Upload files:
Upload the contents of the upload folder to your forum root.

Template Changes:

in the headinclude template
===========================
FIND:

HTML Code:
<if condition="$vboptions['externalrss']">
<link rel="alternate" type="application/rss+xml" title="$vboptions[bbtitle] RSS Feed" href="external.php?type=RSS2" />
<if condition="$show['foruminfo'] OR $show['threadinfo']">
<link rel="alternate" type="application/rss+xml" title="$vboptions[bbtitle] - $foruminfo[title_clean] - RSS Feed" href="external.php?type=RSS2&amp;forumids=$foruminfo[forumid]" />
</if>
</if>
AFTER ADD:

HTML Code:
<script type="text/javascript" src="clientscript/OpenPad.js"></script>
<script type="text/javascript">
initUrduEditor();
</script>
in the navbar template
======================

FIND:

HTML Code:
<td><input type="text" class="bginput" style="font-size: 11px" name="vb_login_username" id="navbar_username" size="10" accesskey="u" tabindex="101" value="$vbphrase[username]" onfocus="if (this.value == '$vbphrase[username]') this.value = '';" /></td>
<td class="smallfont" colspan="2" nowrap="nowrap"><label for="cb_cookieuser_navbar"><input type="checkbox" name="cookieuser" value="1" tabindex="103" id="cb_cookieuser_navbar" accesskey="c" />$vbphrase[remember_me]</label></td>
REPLACE WITH:

HTML Code:
<td colspan="3"><input type="text" class="bginput" style="font-size: 11px" name="vb_login_username" id="navbar_username" size="10" accesskey="u" tabindex="101" value="$vbphrase[username]" onfocus="if (this.value == '$vbphrase[username]') this.value = '';" /><br /><script language="javascript" type="text/javascript">writeToggleControl("vb_login_username");makeUrduEditor("vb_login_username", 11)</script></td>
 
<td class="smallfont" colspan="3" nowrap="nowrap"><label for="cb_cookieuser_navbar"><input type="checkbox" name="cookieuser" value="1" tabindex="103" id="cb_cookieuser_navbar" accesskey="c" />$vbphrase[remember_me]</label></td>
FIND:

HTML Code:
<div><input type="text" class="bginput" name="query" size="25" tabindex="1001" /><input type="submit" class="button" value="$vbphrase[go]" tabindex="1004" /></div>
REPLACE WITH:

HTML Code:
<div><input type="text" class="bginput" name="query" size="25" tabindex="1001" /><input type="submit" class="button" value="$vbphrase[go]" tabindex="1004" />
<script language="javascript" type="text/javascript">makeUrduEditor("query", 11)</script>
</div>
in the STANDARD_ERROR template
==============================

FIND:

HTML Code:
<td>$vbphrase[username]:<br /><input type="text" class="bginput" name="vb_login_username" size="50" accesskey="u" tabindex="1" /></td>
REPLACE WITH:

HTML Code:
<td>$vbphrase[username]:<br /><input type="text" class="bginput" name="vb_login_username" id="vb_login_username_2" size="50" accesskey="u" tabindex="1" />
<br /><script language="javascript" type="text/javascript">makeUrduEditorById("vb_login_username_2", 11);writeToggleControl("vb_login_username_2", true)</script>
</td>

in the STANDARD_ERROR_LITE template
===================================

FIND:

HTML Code:
<td>$vbphrase[username]:<br /><input type="text" class="bginput" name="vb_login_username" size="35" accesskey="u" tabindex="1" /></td>
REPLACE WITH:

HTML Code:
<td>$vbphrase[username]:<br /><input type="text" class="bginput" name="vb_login_username" id="vb_login_username_2" size="35" accesskey="u" tabindex="1" />
<br /><script language="javascript" type="text/javascript">makeUrduEditorById("vb_login_username_2", 11);writeToggleControl("vb_login_username_2", true)</script>
</td>

in the STANDARD_ERROR_LOGIN template
====================================

FIND:

HTML Code:
<td>$vbphrase[username]:<br /><input type="text" class="bginput" name="vb_login_username" size="50" accesskey="u" tabindex="1" /></td>

REPLACE WITH:

HTML Code:
<td>$vbphrase[username]:<br /><input type="text" class="bginput" name="vb_login_username" id="vb_login_username_2" size="50" accesskey="u" tabindex="1" />
<br /><script language="javascript" type="text/javascript">makeUrduEditorById("vb_login_username_2", 11);writeToggleControl("vb_login_username_2", true)</script>
</td>
in the register template
========================

FIND:

HTML Code:
<div class="smallfont" style="margin-bottom:$stylevar[formspacer]px">
<strong>$vbphrase[username]</strong>:<br />
<input type="text" class="bginput" name="username" size="50" maxlength="$vboptions[maxuserlength]" value="$username" />
</div>

REPLACE WITH:

HTML Code:
<div class="smallfont" style="margin-bottom:$stylevar[formspacer]px">
<strong>$vbphrase[username]</strong>:<br />
<input type="text" class="bginput" name="username" size="50" maxlength="$vboptions[maxuserlength]" value="$username" />
<br /><script language="javascript" type="text/javascript">writeToggleControl("username");makeUrduEditor("username", 11)</script></td>
</div>


FIND:

HTML Code:
<div id="referrerfield"><input id="referrerfield_txt" type="text" class="bginput" name="referrername" value="$referrername" size="50" maxlength="$vboptions[maxuserlength]" /></div>


REPLACE WITH:


HTML Code:
<div id="referrerfield"><input id="referrerfield_txt" type="text" class="bginput" name="referrername" value="$referrername" size="50" maxlength="$vboptions[maxuserlength]" />
<br /><script language="javascript" type="text/javascript">writeToggleControl("referrername");makeUrduEditor("referrername", 11)</script></td>
</div>

in the editor_toolbar_off template
=================================

FIND:

HTML Code:
<div style="text-align:$stylevar[left]" style="padding-right:8px">
<textarea name="message" id="{$editorid}_textarea" rows="10" cols="60" style="width:100%; height:{$editor_height}px" tabindex="1">$newpost[message]</textarea>
<!--width:$stylevar[messagewidth]-->
</div>
REPLACE WITH:

HTML Code:
<div style="text-align:$stylevar[left]" style="padding-right:8px">
<textarea name="message" id="{$editorid}_textarea" rows="10" cols="60" style="width:100%; height:{$editor_height}px" tabindex="1">$newpost[message]</textarea>
<!--width:$stylevar[messagewidth]-->
<br /><script language="JavaScript" type="text/javascript">writeToggleControl("{$editorid}_textarea", true);</script>
<br /><script language="JavaScript" type="text/javascript">writeKeyboard();</script>
</div>
FIND:

HTML Code:
<script type="text/javascript">
<!--
vB_Editor['$editorid'] = new vB_Text_Editor('$editorid', $editortype, '$forumid', '$parsesmilie');
//-->
</script>

REPALCE WITH:


HTML Code:
<script type="text/javascript">
<!--
vB_Editor['$editorid'] = new vB_Text_Editor('$editorid', $editortype, '$forumid', '$parsesmilie');
<if condition="$bbuserinfo['showvbcode'] != 2">
makeUrduEditorById('{$editorid}_textarea', 18);
</if>
//-->
</script>



in the editor_toolbar_on template
================================

FIND:

HTML Code:
<tr valign="top">
<td class="controlbar">
<textarea name="message" id="{$editorid}_textarea" rows="10" cols="60" style="display:block; width:$stylevar[messagewidth]; height:{$editor_height}px" tabindex="1" dir="$stylevar[textdirection]">$newpost[message]</textarea>
</td>
<if condition="$smiliebox"><td class="controlbar">$smiliebox</td></if>
</tr>
ADD AFTER:

HTML Code:
<if condition="$bbuserinfo['showvbcode'] != 2">
<tr>
<td>
<script language="JavaScript" type="text/javascript">
writeToggleControl("{$editorid}_textarea", true);
</script>
</td>
</tr>
<tr>
<td>
<script language="JavaScript" type="text/javascript">
writeKeyboard();
</script>
</td>
</tr>
</if>
FIND:

HTML Code:
<script type="text/javascript">
<!--
vB_Editor['$editorid'] = new vB_Text_Editor('$editorid', $editortype, '$forumid', '$parsesmilie', undefined, '$ajax_extra');
//-->
</script>
REPLACE WITH:

HTML Code:
<script type="text/javascript">
<!--
vB_Editor['$editorid'] = new vB_Text_Editor('$editorid', $editortype, '$forumid', '$parsesmilie', undefined, '$ajax_extra');
<if condition="$bbuserinfo['showvbcode'] != 2">
makeUrduEditorById('{$editorid}_textarea', 18);
</if>
//-->
</script>
in the newreply template
========================

FIND:

HTML Code:
<td><input type="text" class="bginput" name="title" value="$title" size="50" maxlength="$vboptions[titlemaxchars]" tabindex="1" title="$vbphrase[optional]" /><td>
REPLACE WITH:

<
HTML Code:
td><input type="text" class="bginput" name="title" value="$title" size="50" maxlength="$vboptions[titlemaxchars]" tabindex="1" title="$vbphrase[optional]" />
<br /><script language="javascript" type="text/javascript">writeToggleControl("title");makeUrduEditor("title", 14)</script>
</td>
in the newthread template
=========================

FIND:

HTML Code:
<td><input type="text" class="bginput" name="subject" value="$subject" size="40" maxlength="$vboptions[titlemaxchars]" tabindex="1" /></td>
REPLACE WITH:

HTML Code:
<tr>
<td><input type="text" class="bginput" name="subject" value="$subject" size="40" maxlength="$vboptions[titlemaxchars]" tabindex="1" />
<br />
<script language="javascript" type="text/javascript">writeToggleControl("subject");makeUrduEditor("subject", 14)</script>
</td>
in the showthread_quickreply template
=====================================

FIND:

HTML Code:
<textarea name="message" id="{$editorid}_textarea" rows="10" cols="60" style="width:100%; height:{$editor_height}px" tabindex="1" dir="$stylevar[textdirection]"></textarea>
</if>
</fieldset>
<!--width:$stylevar[messagewidth]-->
ADD AFTER:

HTML Code:
<if condition="$bbuserinfo['showvbcode'] != 2">
<br /><script language="JavaScript" type="text/javascript">writeToggleControl("{$editorid}_textarea", true);</script>
<br /><script language="JavaScript" type="text/javascript">writeKeyboard();</script>
</if> 
FIND:

HTML Code:
<script type="text/javascript">
<!--
vB_Editor['$editorid'] = new vB_Text_Editor('$editorid', $editortype, '$forumid', '$parsesmilie');
var QR_EditorID = '$editorid';
//-->
</script>
REAPLCE WITH:

HTML Code:
<script type="text/javascript">
<!--
vB_Editor['$editorid'] = new vB_Text_Editor('$editorid', $editortype, '$forumid', '$parsesmilie');
var QR_EditorID = '$editorid';
<if condition="$bbuserinfo['showvbcode'] != 2">
makeUrduEditorById('{$editorid}_textarea', 18);
</if>
//-->
</script>
in the pm_newpm template
========================

FIND:

HTML Code:
<div id="pmrecips"><textarea id="pmrecips_txt" name="recipients" rows="<if condition="is_browser('mozilla')">1<else />2</if>" cols="50" tabindex="1">$pm[recipients]</textarea></div>

REAPLCE WITH:


HTML Code:
<div id="pmrecips"><textarea id="pmrecips_txt" name="recipients" rows="<if condition="is_browser('mozilla')">1<else />2</if>" cols="50" tabindex="1">$pm[recipients]</textarea>
<br /><script language="javascript" type="text/javascript">makeUrduEditor("recipients", 14);writeToggleControl("recipients")</script>
</div>


FIND:

HTML Code:
<div id="bccpmrecips"><textarea id="bccpmrecips_txt" name="bccrecipients" rows="<if condition="is_browser('mozilla')">1<else />2</if>" cols="50" tabindex="1">$pm[bccrecipients]</textarea></div>
REAPLCE WITH:

HTML Code:
<div id="bccpmrecips"><textarea id="bccpmrecips_txt" name="bccrecipients" rows="<if condition="is_browser('mozilla')">1<else />2</if>" cols="50" tabindex="1">$pm[bccrecipients]</textarea>
<br /><script language="javascript" type="text/javascript">makeUrduEditor("bccrecipients", 14);writeToggleControl("bccrecipients")</script>
</div>
FIND:

HTML Code:
<td><input type="text" class="bginput" name="title" value="$pm[title]" size="50" maxlength="85" tabindex="1" /></td>
REPLACE WITH:

HTML Code:
<td><input type="text" class="bginput" name="title" value="$pm[title]" size="50" maxlength="85" tabindex="1" />
<br /><script language="javascript" type="text/javascript">makeUrduEditor("title", 14);writeToggleControl("title")</script>
</td>

Adding custom css classes:

Add the following css definitions to the additional css classes

HTML Code:
.btnFlat {
background: #ECECEC;
border: 1px solid #D3D3D3;
cursor: pointer;
cursor: hand;
text-align:center;
font-family:Urdu Naskh Asiatype;
font-size:12px;
}
.btnRaised, .btnFlat:hover {
background: #D3D3D3;
border: 1px outset;
cursor: pointer;
cursor: hand;
text-align:center;
font-family:Urdu Naskh Asiatype;
font-size:12px;
}
.btnLowered, .btnFlat:active {
background: #D3D3D3;
border: 1px inset;
cursor: pointer;
cursor: hand;
text-align:center;
font-family:Urdu Naskh Asiatype;
font-size:12px;
}
.hiddentext {display:none}
.outline {cursor:hand; text-decoration:underline}
 
a.switch
{
font-family: Times New Roman;
color:#0000FF;
font-size:xx-small;
direction:rtl;
text-decoration:none;
unicode-bidi:embed;
}
a.switch:hover
{
background-color:#FF6699;
}
Updates:

August 08, 2007: Added instructions for modifiying the register template

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #12  
Old 08-07-2007, 01:25 PM
simunaqv simunaqv is offline
 
Join Date: May 2007
Posts: 91
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Pehchaan View Post
Thanks a lot Nabeel brother

The only one thing is confusing me that is "Username in unicode" if i change current usernames into urdu.. to database may ya user-end per koi problem ho sakti hai?
Thank you Saad.

I have already explained that this mod only provides the capability to write Urdu. Storing Unicode Urdu data in the database is a separate issue that is not addressed here. I will write a separate post explaining what exactly is needed for a Unicode Urdu forum.

If you do not want users to enter usernames in Urdu, you can skip the modifications in the navbar, STANDARD_ERROR, STANDARD_ERROR_LITE, STANDARD_ERROR_LOGIN templates.
Reply With Quote
  #13  
Old 08-07-2007, 02:03 PM
Kaleem's Avatar
Kaleem Kaleem is offline
 
Join Date: May 2006
Location: New Jersey
Posts: 324
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

What if i want the Editor on the seperate page?
Reply With Quote
  #14  
Old 08-07-2007, 02:05 PM
Lahoria's Avatar
Lahoria Lahoria is offline
 
Join Date: Nov 2002
Posts: 102
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks will install it
Reply With Quote
  #15  
Old 08-07-2007, 02:11 PM
Kaleem's Avatar
Kaleem Kaleem is offline
 
Join Date: May 2006
Location: New Jersey
Posts: 324
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

like this

https://vborg.vbsupport.ru/showthrea...rabic+keyboard
Reply With Quote
  #16  
Old 08-07-2007, 02:20 PM
simunaqv simunaqv is offline
 
Join Date: May 2007
Posts: 91
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by LightInClouds View Post
Setting up Urdu OpenPad on a separate page should be quite simple. In fact many Urdu forums are already doing this. An example can be seen on http://www.hallagulla.com/urdu/view.php?pg=urdu_editor .

You just need a vbulletin powered page that contains an Urdu editor and the on-screen keyboard. I will try to gather information about it.
Reply With Quote
  #17  
Old 08-07-2007, 02:32 PM
Kaleem's Avatar
Kaleem Kaleem is offline
 
Join Date: May 2006
Location: New Jersey
Posts: 324
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by simunaqv View Post
Setting up Urdu OpenPad on a separate page should be quite simple. In fact many Urdu forums are already doing this. An example can be seen on http://www.hallagulla.com/urdu/view.php?pg=urdu_editor .

You just need a vbulletin powered page that contains an Urdu editor and the on-screen keyboard. I will try to gather information about it.
Yea i have seen this but this is like the PAGE within the Page as u can see the Footer underneath the Editor as well as on the whole page.
Reply With Quote
  #18  
Old 08-07-2007, 02:40 PM
Kaleem's Avatar
Kaleem Kaleem is offline
 
Join Date: May 2006
Location: New Jersey
Posts: 324
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I think by using this we can do this

https://vborg.vbsupport.ru/showthread.php?t=103076
Reply With Quote
  #19  
Old 08-07-2007, 03:34 PM
Invalid ID's Avatar
Invalid ID Invalid ID is offline
 
Join Date: Apr 2006
Location: Karachi. Pakistan
Posts: 411
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Waah, bohat aala, bohat zuberdast. Bohat shukeria Bhai
Reply With Quote
  #20  
Old 08-07-2007, 04:05 PM
Kaleem's Avatar
Kaleem Kaleem is offline
 
Join Date: May 2006
Location: New Jersey
Posts: 324
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I reached until here any help will be appreciated.

http://www.friendskorner.com/forum//...ard_and_editor
Reply With Quote
  #21  
Old 08-07-2007, 05:01 PM
simunaqv simunaqv is offline
 
Join Date: May 2007
Posts: 91
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by LightInClouds View Post
I reached until here any help will be appreciated.

http://www.friendskorner.com/forum//...ard_and_editor
I see two problems in that page:

1. The encoding is set to ISO-8859-1. That is why the text on the on-screen keyboard is not appearing properly. You can try changing the encoding to utf-8.

2. The css definitions needed for the on-screen keyboard are missing. Add these to the additional css definitions in the main css file of your style.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:57 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.09042 seconds
  • Memory Usage 2,405KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (39)bbcode_html
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (3)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete