PhpNuke v6.0
Đây là 1 chương trình mã nguồn mở viết bằng Php, chuyên dùng để tạo và quản lý website nhiều chức năng như:
- Người dùng có thể gởi bài viết, sửa chữa, bổ sung và tạo các đề mục bình chọn/thăm dò.
- Gởi file hay phần mềm cần phổ biến.
- Gởi bình luận/nhận xét khi xem thông tin, đánh giá bài viết/file trong website.
- Cho phép thay đổi kiểu dáng/giao diện/ngôn ngữ website theo sở thích cá nhân.
- Ban quản trị wesite có thể kiểm duyệt tất cả các thông tin/file do người dùng gởi lên trước khi đăng tải.
- Có thể thêm/bớt các chức năng dành cho người dùng.
Hiện nay chương trình này đang được rất nhiều lập trình viên trên thế giới tham gia bổ sung chức năng, sửa lỗi và nhờ vậy chương trình đã được nâng cấp thường xuyên trong thời gian qua.

Tải bộ phpNuke v6.0 tại địa chỉ: http://phpnuke.org ; http://nukeresources.com
Bài viết này hướng dẫn bạn cài đặt trên máy server cá nhân – Localhost, nếu cài trên mạng quá trình cũng tương tự như vậy.
Chương trình chạy tốt nhất với
- Apache Web Server (http://www.apache.org)
- PHP v4.xx (mod_php) Apache module (http://www.php.net)
- MySQL database server (http://www.mysql.com), cũng hỗ trợ cho mSQL, Sybase, PostgreSQL, ODBC, Adabas và Interbase.
Bước 1: Sau khi tải về bạn giải nén, chép nội dung trong thư mục html vào thư mục gốc của localhost hay 1 thư mục con – thí dụ: nuke.
Bước 2: Tạo CSDL cho chương trình trong MySQL, thí dụ: nuke.
Bước 3: Nhập nội dung file nuke.sql trong thư mục sql của bộ gốc vào CSDL, thí dụ: dùng lịnh mysql nuke < nuke.sql trên localhost hay dùng phpMyAdmin để nhập CSDL trên mạng.
Bước 4: Mở file config.php và sửa nội dung các dòng dưới đây cho phù hợp với server, thí dụ trên localhost:
$dbhost = "localhost"; // Tên Host, dùng localhost nếu cài trên server cá nhân hay cài trên mạng mà MySQL và PhpNuke cùng chung host.
$dbuname = "xxxx"; // Tên truy cập CSDL
$dbpass = "yyyy"; // Mật khẩu truy cập CSDL
$dbname = "nuke"; // Tên CSDL
$prefix = "nuke"; // Tên đầu của các Table trong CSDL
$user_prefix = "nuke";
$dbtype = "MySQL"; // Kiểu CSDL
Bước 5:
Mở trình duyệt và gõ địa chỉ
http://localhost/admin.php để truy cập phần điều khiển của Người quản
trị. Tạo account cho người quản trị rồi vào phần
Cấu
hình (Preferences) để tiến hành xác lập các thông
số mặc định cho chương trình hoạt động.

Sau khi cấu hình xong bạn có thể chạy chương trình khi gõ địa chỉ: http://localhost/index.php hay vào phần quản trị với địa chỉ http://localhost/admin.php

Chú ý: Nếu cài trên mạng, bạn có thể bảo mật các thông tin của file config.php bằng cách chép nó qua 1 thư mục khác rồi tạo 1 file config.php khác với nội dung như sau: <?php include("../config.php ?>
Để Việt hoá PhpNuke bạn cần dùng chương trình UltraEdit v9.1 trở lên để sửa các file nguồn. Chú ý: Trong UltraEdit nhớ mở Configuration/General đánh dấu chọn mục Auto detect UTF-8 files. Khi mở file để Việt hoá bạn phải chọn File/Conversions/UNICODE/UTF-8 to UTF-8 (Unicode Editing). Dưới đây là các việc cần làm
1/ Sao chép file language/lang-english.php thành file lang-vietnamese.php rồi Việt hoá file này. Thí dụ:
define("_CHARSET","UTF-8 define("_SEARCH","Tìm kiếm define("_LOGIN","Đăng nhập
Chú ý:
- Bạn cần phải sửa define("_CHARSET","ISO-8859-1 thành define("_CHARSET","UTF-8
- Sửa đoạn mã quy định dạng thức thời gian ở cuối file để có kiểu hiển thị ngày tháng theo kiểu VN, thí dụ: 20/11/2002.
case "xdatestring": $tmp = "%d/%m/%Y"; break;
case "linksdatestring": $tmp = "%d/%m/%Y"; break;
case "xdatestring2": $tmp = "%d/%m/%Y"; break;
Tuy nhiên có những thành phần đòi hỏi bạn phải chỉnh sửa cách ghi dạng thức thời gian riêng. Thí dụ với thành phần Download hay Weblink bạn sửa các đoạn mã trong file index.php trong thư mục của thành phần đó:
$newdownloadday = date("d/m/Y", $newdownloaddayRaw);
$newdownloadView = date("d/m/Y", $newdownloaddayRaw);
$newdownloadDB = Date("d/m/Y", $newdownloaddayRaw);
2/ Sao chép file admin/language/lang-english.php thành file lang-vietnamese.php rồi Việt hoá file này.
3/ Mở thư mục modules, mỗi thành phần của phpNuke sẽ là một thư mục con trong thư mục này và đều có thư mục language với file lang-english.php. bạn phải sao chép tất cả các file lang-english.php thành lang-vietnamese.php rồi tiến hành Việt hoá từng file một.
4/ Có một số trường hợp các đoạn Text không nằm trong file ngôn ngữ mà lại nằm trong các file khác, khi đó bạn cần phải dùng chức năng tìm kiếm nội dung để tìm file có chứa dòng text đó và tiến hành Việt hoá giống như với file ngôn ngữ. Tuy nhiên các bạn cần phân biệt giửa dòng Text và mã lịnh để không làm hư chương trình. Thí dụ đoạn sau trong file admin/modules/download.php
// Show Unregistered Users Votes
$result5=sql_query("SELECT ratingdbid, rating, ratinghostname, ratingtimestamp FROM ".$prefix."_downloads_votedata WHERE ratinglid='$lid' AND ratinguser = '$anonymous' ORDER BY ratingtimestamp DESC", $dbi);
$totalvotes = sql_num_rows($result5, $dbi);
echo "<tr><td colspan=7><b><br><br>Bình chọn của Khách viếng thăm (tổng số bình chọn: $totalvotes)</b><br><br></td></tr>";
echo "<tr><td colspan=2><b>Địa chỉ IP</b></td><td colspan=3><b>Rating</b></td><td><b>Ngày</b></font></td><td><b><center>Xoá</center></b></td><br></tr>";
if ($totalvotes == 0) echo "<tr><td colspan=7><center><font color=cccccc>Không có bình chọn của Khách<br></font></center></td></tr>";
5/ Khi nhúng bộ gõ hay thêm các ghi chú tiếng Việt cho một chức năng nào đó, bạn cũng phải sửa các file nguồn trong các thành phần có liên quan.
Sau khi sửa file nguồn, bạn cần phải vào PhpNuke với tư cách Admin và chọn mục Ngôn ngữ chính mặc định cho chương trình là Vietnamese.
Chú ý: chương trình sẽ tự động tìm trong thư mục language các file có tên đầu là lang- để liệt kê ra với tiêu đề là tên sau dấu gạch nối, thí dụ nếu thấy file lang-vietnamese.php sẽ liệt kê là Vietnamese.
Tải bộ phpBBv2.0.6 Port tại địa chỉ:
http://bbtonuke.sourceforge.net/modules.php?name=Downloads&d_op=getit&lid=48
Xoá toàn bộ nội dung trong thư mục PhpNuke/modules/Forums. Giải nén và chép các file vào thư mục PhpNuke theo hướng dẫn của file readme trong thư mục html/upgrade/. Chú ý: Đây là bản tiếng Anh nên khi chép các bạn nhớ kiểm tra cẩn thận để tránh làm hỏng các file đã việt hoá - nếu có.
Dùng trình duyệt mở PhpNuke và đăng nhập với tư cách Người quản trị - Admin – và thành viên có tên Admin (thí dụ bạn đã tạo account cho người quản trị là Admin).
Bấm chuột vào thành phần - Module – Forum để bắt đầu cài đặt.

- Site URL: Nhập địa chỉ URL của PhpNuke.
- Forum Admin: Chọn người quản trị forum trong danh sách liệt kê thành viên của PhpNuke.
- Upgrade Forum Database from 2.0.4 to 2.0.6/ Install new Forum Database: Bạn chỉ được chọn 1 trong 2 mục này, tức là Nâng cấp hoặc là Cài mới.
Sau khi cài đặt bạn truy cập bảng điều khiển của người quản trị để cấu hình cho forum và cho thành phần này hoạt động để mọi thành viên có thể truy cập.
Chú ý: Sau khi cài đặt chương trình sẽ tự động xoá file install.php và tạo file config.php trong thư mục Forum.
Bạn có thể đưa CSDL của forum PhpBB2 đã có vào bản PhpBB2 kết hợp với PhpNuke. Bạn cần chú ý thực hiện theo hướng dẫn dưới đây.
Các Table của PhpBB2 tương đương với các Table của PhpBB2Nuke (được tạo trong CSDL của Nuke) như sau:
phpbb_auth_access ó nuke_bbauth_access
phpbb_banlist ó nuke__bbbanlist
phpbb_categories ó nuke__bbcategories
phpbb_config ó nuke__bbconfig
phpbb_disallow ó nuke__bbdisallow
phpbb_forum_prune ó nuke__bbforum_prune
phpbb_forums ó nuke__bbforums
phpbb_groups ó nuke__bbgroups
phpbb_posts ó nuke__bbposts
phpbb_posts_text ó nuke__bbposts_text
phpbb_privmsgs ó nuke__bbprivmsgs
phpbb_privmsgs_text ó nuke__bbprivmsgs_text
phpbb_ranks ó nuke__bbranks
phpbb_search_results ó nuke__bbsearch_results
phpbb_search_wordlist ó nuke__bbsearch_wordlist
phpbb_search_wordmatch ó nuke__bbsearch_wordmatch
phpbb_sessions ó nuke__bbsessions
phpbb_smilies ó nuke__bbsmilies
phpbb_themes ó nuke__bbthemes
phpbb_themes_name ó nuke__bbthemes_name
phpbb_topicsbb ó nuke__bbtopics
phpbb_topics_watch ó nuke__bbtopics_watch
phpbb_user_group ó nuke__bbuser_group
phpbb_vote_desc ó nuke__bbvote_desc
phpbb_vote_results ó nuke__bbvote_results
phpbb_vote_voters ó nuke__bbvote_voters
phpbb_words ó nuke__bbwords
1/ Các bạn có thể dùng PhpMyAdmin để sao lưu các Table kể trên trong CSDL của PhpBB thành 1 file. Thí dụ: trong PhpMyAdmin v2.3.2 bạn chọn Export rồi chọn Structure and data, chọn các Table, chọn Save as file rồi bấm nút Go. Sau khi file được tạo ra bạn nên thêm phần tên đuôi là .sql cho nó.

2/ Cũng dùng PhpMyAdmin bạn nhập file xxx.sql vào CSDL của Nuke. Thí dụ: trong PhpMyAdmin bạn chọn SQL, bấm Browse ở mục Or Location of the textfile để chỉ định file rồi bấm nút Go.

Sau khi hoàn tất trong CSDL của Nuke sẽ có thêm các Table có phần tên đầu là phpbb_ (các Table của Nuke có phần tên đầu là nuke_).
3/ Dựa vào danh sách Table tương đương đã liệt kê ở phần trước, bạn tạo 1 file *.sql với nội dung bao gồm các dòng lịnh có mục đích chọn lọc dữ liệu trong các Table phpbb_ chèn vào các Table nuke_ như dưới đây rồi dùng PhpMyAdmin để nhập file này vào CSDL của Nuke.
Chú ý:
- Chúng ta không thay cần thay đổi các Table _config, _themes, _themes_name.
- Bạn phải xoá 2 User có ID là 1 và 2 trong Table phpbb_users để khỏi làm hỏng 2 mục tương ứng đã có trong Table nuke_users.
# AUTH
INSERT into nuke_bbauth_access (group_id,forum_id,auth_view, auth_read,auth_post,auth_reply,auth_edit,auth_delete,auth_sticky,auth_announce,auth_vote,auth_pollcreate,auth_attachments,auth_mod) SELECT group_id,forum_id,auth_view,auth_read,auth_post,auth_reply,auth_edit,auth_delete,auth_sticky,auth_announce,auth_vote,auth_pollcreate,auth_attachments,auth_mod FROM phpbb_auth_access;
# BANLIST
INSERT into nuke_bbbanlist (ban_id,ban_userid,ban_ip,ban_email) SELECT ban_id,ban_userid,ban_ip,ban_email FROM phpbb_banlist;
# CAT
INSERT into nuke_bbcategories (cat_id,cat_title,cat_order) SELECT cat_id,cat_title,cat_order FROM phpbb_categories;
# DISALLOW
INSERT into nuke_bbdisallow (disallow_id,disallow_username) SELECT disallow_id,disallow_username FROM phpbb_disallow;
# FORUM PRUNE
INSERT into nuke_bbforum_prune (prune_id,forum_id,prune_days, prune_freq) SELECT prune_id,forum_id,prune_days,prune_freq FROM phpbb_forum_prune;
# FORUM
INSERT into nuke_bbforums (forum_id,cat_id,forum_name,forum_desc,forum_status,forum_order,forum_posts,forum_topics,forum_last_post_id,prune_next,prune_enable,auth_view,auth_read,auth_post,auth_reply,auth_edit,auth_delete,auth_sticky,auth_announce,auth_vote,auth_pollcreate,auth_attachments) SELECT forum_id,cat_id,forum_name,forum_desc,forum_status,forum_order,forum_posts,forum_topics,forum_last_post_id,prune_next,prune_enable,auth_view,auth_read,auth_post,auth_reply,auth_edit,auth_delete,auth_sticky,auth_announce,auth_vote,auth_pollcreate,auth_attachments FROM phpbb_forums;
# GROUP
INSERT into nuke_bbgroups (group_id,group_type,group_name, group_description,group_moderator,group_single_user) SELECT group_id,group_type,group_name,group_description,group_moderator,group_single_user FROM phpbb_groups;
# POST
INSERT into nuke_bbposts (post_id,topic_id,forum_id,poster_id,post_time,poster_ip,post_username,enable_bbcode,enable_html,enable_smilies,enable_sig,post_edit_time,post_edit_count) SELECT post_id,topic_id, forum_id,poster_id,post_time,poster_ip,post_username,enable_bbcode,enable_html,enable_smilies,enable_sig,post_edit_time,post_edit_count FROM phpbb_posts;
# POST TEXT
INSERT into nuke_bbposts_text (post_id,bbcode_uid,post_subject, post_text) SELECT post_id,bbcode_uid,post_subject,post_text FROM phpbb_posts_text;
# PRIVMSGS
INSERT into nuke_bbprivmsgs (privmsgs_id,privmsgs_type,privmsgs_subject,privmsgs_from_userid,privmsgs_to_userid,privmsgs_date,privmsgs_ip,privmsgs_enable_bbcode,privmsgs_enable_html,privmsgs_enable_smilies,privmsgs_attach_sig) SELECT privmsgs_id,privmsgs_type,privmsgs_subject,privmsgs_from_userid,privmsgs_to_userid,privmsgs_date,privmsgs_ip,privmsgs_enable_bbcode,privmsgs_enable_html,privmsgs_enable_smilies,privmsgs_attach_sig FROM phpbb_privmsgs;
# PRIVMSGS_TEXT
INSERT into nuke_bbprivmsgs_text (privmsgs_text_id, privmsgs_bbcode_uid,privmsgs_text) SELECT privmsgs_text_id, privmsgs_bbcode_uid,privmsgs_text FROM phpbb_privmsgs_text;
# RANK
INSERT into nuke_bbranks (rank_id,rank_title,rank_min,rank_special, rank_image) SELECT rank_id,rank_title,rank_min,rank_special,rank_image FROM phpbb_ranks;
# SEARCH_RESULTS
INSERT into nuke_bbsearch_results (search_id,session_id,search_array) SELECT search_id,session_id,search_array FROM phpbb_search_results;
# SEARCH WORDLIST
INSERT into nuke_bbsearch_wordlist (word_text,word_id, word_common) SELECT word_text,word_id,word_common FROM phpbb_search_wordlist;
# SEARCH WORDMATCH
INSERT into nuke_bbsearch_wordmatch (post_id,word_id,title_match) SELECT post_id,word_id,title_match FROM phpbb_search_wordmatch;
# SESSIONS
INSERT into nuke_bbsessions (session_id,session_user_id,session_start, session_time,session_ip,session_page,session_logged_in) SELECT session_id,session_user_id,session_start,session_time,session_ip,session_page,session_logged_in FROM phpbb_sessions;
# SMILIES
INSERT into nuke_bbsmilies (smilies_id,code,smile_url,emoticon) SELECT smilies_id,code,smile_url,emoticon FROM phpbb_smilies;
# TOPICS
INSERT into nuke_bbtopics (topic_id,forum_id,topic_title,topic_poster,topic_time,topic_views,topic_replies,topic_status,topic_vote,topic_type,topic_last_post_id,topic_first_post_id,topic_moved_id) SELECT topic_id,forum_id, topic_title,topic_poster,topic_time,topic_views,topic_replies,topic_status,topic_vote,topic_type,topic_last_post_id,topic_first_post_id,topic_moved_id FROM phpbb_topics;
# TOPICS_WATCH
INSERT into nuke_bbtopics_watch (topic_id,user_id,notify_status) SELECT topic_id,user_id,notify_status FROM phpbb_topics_watch;
# USER_GROUP
INSERT into nuke_bbuser_group (group_id,user_id,user_pending) SELECT group_id,user_id,user_pending FROM phpbb_user_group;
# VOTE_DESC
INSERT into nuke_bbvote_desc (vote_id,topic_id,vote_text,vote_start, vote_length) SELECT vote_id,topic_id,vote_text,vote_start,vote_length FROM phpbb_vote_desc;
# VOTE_RESULTS
INSERT into nuke_bbvote_results (vote_id,vote_option_id, vote_option_text,vote_result) SELECT vote_id,vote_option_id,vote_option_text, vote_result FROM phpbb_vote_results;
# VOTE_VOTERS
INSERT into nuke_bbvote_voters (vote_id,vote_user_id,vote_user_ip) SELECT vote_id,vote_user_id,vote_user_ip FROM phpbb_vote_voters;
# WORDS
INSERT into nuke_bbwords (word_id,word,replacement) SELECT word_id,word,replacement FROM phpbb_words;
# USER
INSERT into nuke_users (uid,name,uname,email,url,user_avatar,user_regdate,user_icq,user_occ,user_from,user_intrest,user_sig,user_viewemail,user_aim,user_yim,user_msnm,pass,user_posts,user_attachsig,user_rank,user_level,user_active,user_session_time,user_session_page,user_lastvisit,user_timezone,user_style,user_lang,user_dateformat,user_new_privmsg,user_unread_privmsg,user_last_privmsg,user_emailtime,user_allowhtml,user_allowbbcode,user_allowsmile,user_allowavatar,user_allow_pm,user_allow_viewonline,user_notify,user_notify_pm,user_popup_pm,user_avatar_type,user_sig_bbcode_uid,user_actkey,user_newpasswd) SELECT user_id,username,username,user_email,user_website,user_avatar, FROM_UNIXTIME(user_regdate,'%d/%m/%Y') as user_regdate,user_icq,user_occ,user_from,user_interests,user_sig,user_viewemail,user_aim,user_yim,user_msnm,user_password,user_posts,user_attachsig,user_rank,user_level,user_active,user_session_time,user_session_page,user_lastvisit,user_timezone,user_style,user_lang,user_dateformat,user_new_privmsg,user_unread_privmsg,user_last_privmsg,user_emailtime,user_allowhtml,user_allowbbcode,user_allowsmile,user_allowavatar,user_allow_pm,user_allow_viewonline,user_notify,user_notify_pm,user_popup_pm,user_avatar_type,user_sig_bbcode_uid,user_actkey,user_newpasswd FROM phpbb_users;
Chú ý: Các phần tên đầu của Table các bạn có thể thay đổi tuỳ theo thực tế thay vì là phpbb_ hay nuke_.
- Chép file vietuni.js vào thư mục gốc của PhpNuke
- Mở file themes/Sunset/theme.php hay bất kỳ file theme.php nào trong thư mục kiểu dáng mà bạn sử dụng cho Site của mình.
Tìm dòng
echo "<form action=modules.php?name=Search method=post><font size=2 color=000000>\n";
Thêm vào bên trên
echo "<script language='JavaScript1.2' src='vietuni.js' type='text/javascript'></script>";
echo "<b>Bộ gõ VietUni</b><br>(phím tắt: Alt + ký tự)<br /><input type=radio name='switcher' accesskey='t' value='OFF' checked onfocus='setTypingMode(0);'>Tắt(t)<input type=radio name='switcher' accesskey='x' value='TELEX' onfocus='setTypingMode(1);'>Telex(x)<input type=radio name='switcher' accesskey='i' value='VNI' onfocus='setTypingMode(2);'>VNI(i)<input type=radio name='switcher' accesskey='r' value='VIQR' onfocus='setTypingMode(3);'>VIQR(r)";
Sau khi cài bộ gõ này luôn luôn xuất hiện trên đầu trang và có thể điều khiển bằng phím tắt, bạn muốn gõ được tiếng Việt trong bất cứ ô nhập liệu nào chỉ cần thêm dòng mã onkeyup='initTyper(this);' vào đoạn mã lịnh của ô nhập liệu đó.
Chú ý: Dùng bộ gõ VietUni tuy có phiền phức trong việc phải chèn 1 đoạn mã vào các ô nhập liệu nhưng có ưu điểm hơn các bộ gõ khác ở chổ bạn có thể chỉ định cho ô nào được gõ tiếng Việt, ô nào không được gõ trong trường hợp trang web có nhiều ô nhập liệu. Thí dụ: mục khai báo tên thật có thể cho gõ tiếng Việt nhưng mục Mật khẩu thì không được gõ tiếng Việt.
Dưới đây là những hướng dẫn cụ thể
Tìm dòng
echo "<input type=text name=query>\n";
Sửa thành
echo "<input type=text name=query onkeyup='initTyper(this);'>\n";
Mở file modules/Your_Account/index.php
Tìm đoạn
."<tr><td>"._LOCATION.":</td><td><input type=\"text\" name=\"user_from\" size=\"25\" maxlength=\"60\"></td></tr>\n"
."<tr><td>"._OCCUPATION.":</td><td><input type=\"text\" name=\"user_occ\" size=\"25\" maxlength=\"60\"></td></tr>\n"
."<tr><td>"._INTERESTS.":</td><td><input type=\"text\" name=\"user_intrest\" size=\"25\" maxlength=\"255\"></td></tr>\n"
."<tr><td>"._OPTION.":</td><td><INPUT TYPE=\"CHECKBOX\" NAME=\"user_viewemail\" VALUE=\"1\"> "._ALLOWEMAILVIEW."</td></tr>\n"
."<tr><td>"._SIGNATURE.":</td><td><TEXTAREA NAME=\"user_sig\" ROWS=\"6\" COLS=\"45\"></TEXTAREA></td></tr>\n"
Sửa thành
."<tr><td>"._LOCATION.": (có thể gõ tiếng Việt)</td><td><input type=\"text\" name=\"user_from\" size=\"25\" maxlength=\"60\" onkeyup='initTyper(this);'></td></tr>\n"
."<tr><td>"._OCCUPATION.": (có thể gõ tiếng Việt)</td><td><input type=\"text\" name=\"user_occ\" size=\"25\" maxlength=\"60\" onkeyup='initTyper(this);'></td></tr>\n"
."<tr><td>"._INTERESTS.": (có thể gõ tiếng Việt)</td><td><input type=\"text\" name=\"user_intrest\" size=\"25\" maxlength=\"255\" onkeyup='initTyper(this);'></td></tr>\n"
."<tr><td>"._OPTION.":</td><td><INPUT TYPE=\"CHECKBOX\" NAME=\"user_viewemail\" VALUE=\"1\"> "._ALLOWEMAILVIEW."</td></tr>\n"
."<tr><td>"._SIGNATURE.": (có thể gõ tiếng Việt)</td><td><TEXTAREA NAME=\"user_sig\" ROWS=\"6\" COLS=\"45\" onkeyup='initTyper(this);'></TEXTAREA></td></tr>\n"
Mở file modules/Your_Account/index.php
Tìm đoạn
."<input type=\"text\" size=\"60\" maxlength=\"255\" name=\"the_message\"'> <input type=\"submit\" value=\""._SEND."\">"
Sửa thành
."(có thể gõ tiếng Việt)<br><input type=\"text\" size=\"60\" maxlength=\"255\" name=\"the_message\" onkeyup='initTyper(this);'> <input type=\"submit\" value=\""._SEND."\">"
Mở file modules/Your_Account/index.php
Tìm đoạn
."<b>"._YLOCATION."</b> "._OPTIONAL."<br>"
."<input type=\"text\" name=\"user_from\" value=\"$userinfo[user_from]\" size=\"30\" maxlength=\"100\"><br><br>"
."<b>"._YOCCUPATION."</b> "._OPTIONAL."<br>"
."<input type=\"text\" name=\"user_occ\" value=\"$userinfo[user_occ]\" size=\"30\" maxlength=\"100\"><br><br>"
."<b>"._YINTERESTS."</b> "._OPTIONAL."<br>"
."<input type=\"text\" name=\"user_intrest\" value=\"$userinfo[user_intrest]\" size=\"30\" maxlength=\"100\"><br><br>"
."<b>"._SIGNATURE."</b> "._OPTIONAL."<br>"
.""._255CHARMAX."<br>"
."<textarea wrap=\"virtual\" cols=\"50\" rows=\"5\" name=\"user_sig\">$userinfo[user_sig]</textarea><br>"
."<br><br>"
."<b>"._EXTRAINFO."</b> "._OPTIONAL."<br>"
.""._CANKNOWABOUT."<br>"
."<textarea wrap=\"virtual\" cols=\"50\" rows=\"5\" name=\"bio\">$userinfo[bio]</textarea>"
Sửa thành
."<b>"._YLOCATION."</b> "._OPTIONAL."<br>"
."<input type=\"text\" name=\"user_from\" value=\"$userinfo[user_from]\" size=\"30\" maxlength=\"100\" onkeyup='initTyper(this);'> (có thể gõ tiếng Việt)<br><br>"
."<b>"._YOCCUPATION."</b> "._OPTIONAL."<br>"
."<input type=\"text\" name=\"user_occ\" value=\"$userinfo[user_occ]\" size=\"30\" maxlength=\"100\" onkeyup='initTyper(this);'> (có thể gõ tiếng Việt)<br><br>"
."<b>"._YINTERESTS."</b> "._OPTIONAL."<br>"
."<input type=\"text\" name=\"user_intrest\" value=\"$userinfo[user_intrest]\" size=\"30\" maxlength=\"100\" onkeyup='initTyper(this);'> (có thể gõ tiếng Việt)<br><br>"
."<b>"._SIGNATURE."</b> "._OPTIONAL." (có thể gõ tiếng Việt)<br>"
.""._255CHARMAX."<br>"
."<textarea wrap=\"virtual\" cols=\"50\" rows=\"5\" name=\"user_sig\" onkeyup='initTyper(this);'>$userinfo[user_sig]</textarea><br>"
."<br><br>"
."<b>"._EXTRAINFO."</b> "._OPTIONAL." (có thể gõ tiếng Việt)<br>"
.""._CANKNOWABOUT."<br>"
."<textarea wrap=\"virtual\" cols=\"50\" rows=\"5\" name=\"bio\" onkeyup='initTyper(this);'>$userinfo[bio]</textarea>"
Mở file modules/Your_Account/index.php
Tìm đoạn
."<br>"._YOUCANUSEHTML."<br>"
."<textarea cols=\"55\" rows=\"5\" name=\"ublock\">$userinfo[ublock]</textarea>"
Sửa thành
."<br>"._YOUCANUSEHTML." (có thể gõ tiếng Việt)<br>"
."<textarea cols=\"55\" rows=\"5\" name=\"ublock\" onkeyup='initTyper(this);'>$userinfo[ublock]</textarea>"
Mở file modules/Private_Messages/reply.php
* Tìm dòng
."<TD BGCOLOR=\"$bgcolor3\" width=\"25%\"><b>"._SUBJECT.":<b></TD>";
Sửa thành
."<TD BGCOLOR=\"$bgcolor3\" width=\"25%\"><b>"._SUBJECT.": (có thể gõ tiếng Việt)<b></TD>";
* Tìm dòng
echo "<TD BGCOLOR=\"$bgcolor1\"><INPUT TYPE=\"TEXT\" NAME=\"subject\" SIZE=\"50\" MAXLENGTH=\"100\"></TD>";
Sửa thành
echo "<TD BGCOLOR=\"$bgcolor1\"><INPUT TYPE=\"TEXT\" NAME=\"subject\" SIZE=\"50\" MAXLENGTH=\"100\" onkeyup='initTyper(this);'></TD>";
* Tìm dòng
."<TD BGCOLOR=\"$bgcolor3\" width=\"25%\"><b>"._MESSAGE.":</b>";
Sửa thành
."<TD BGCOLOR=\"$bgcolor3\" width=\"25%\"><b>"._MESSAGE.": (có thể gõ tiếng Việt)</b>";
* Tìm dòng
."<TD BGCOLOR=\"$bgcolor1\"><TEXTAREA NAME=\"message\" ROWS=\"10\" COLS=\"45\" WRAP=\"VIRTUAL\">";
Sửa thành
."<TD BGCOLOR=\"$bgcolor1\"><TEXTAREA NAME=\"message\" ROWS=\"10\" COLS=\"45\" WRAP=\"VIRTUAL\" onkeyup='initTyper(this);'>";
Mở file modules/Feedback/index.php
Tìm đoạn
<P><strong>"._MESSAGE.":</strong><br>
<TEXTAREA NAME=\"message\" COLS=30 ROWS=5 WRAP=virtual>$message</TEXTAREA></p>
Sửa thành
<P><strong>"._MESSAGE.":</strong><br>(Có thể gõ tiếng Việt)<br>
<TEXTAREA NAME=\"message\" COLS=30 ROWS=5 WRAP=virtual onkeyup=\"initTyper(this);\">$message</TEXTAREA></p>
Mở file modules/Downloads/index.php
* Tìm dòng
.""._DOWNLOADNAME.": <input type=\"text\" name=\"title\" size=\"40\" maxlength=\"100\"><br>"
Sửa thành
.""._DOWNLOADNAME.": <input type=\"text\" name=\"title\" size=\"40\" maxlength=\"100\" onkeyup=\"initTyper(this);\"> (có thể gõ tiếng Việt)<br>"
* Tìm dòng
.""._LDESCRIPTION."<br><textarea name=\"description\" cols=\"60\" rows=\"8\"></textarea><br><br>"
Sửa thành
.""._LDESCRIPTION." (có thể gõ tiếng Việt)<br><textarea name=\"description\" cols=\"60\" rows=\"8\" onkeyup=\"initTyper(this);\"></textarea><br><br>"
* Tìm dòng
.""._DOWNLOADNAME.":<br><input type=\"text\" name=\"title\" value=\"$title\" size=\"50\" maxlength=\"100\"><br><br>"
Sửa thành
.""._DOWNLOADNAME.": (có thể gõ tiếng Việt)<br><input type=\"text\" name=\"title\" value=\"$title\" size=\"50\" maxlength=\"100\" onkeyup=\"initTyper(this);\"><br><br>"
* Tìm dòng
.""._DESCRIPTION.":<br><textarea name=\"description\" cols=\"60\" rows=\"10\">$description</textarea><br><br>";
Sửa thành
.""._DESCRIPTION.": (có thể gõ tiếng Việt)<br><textarea name=\"description\" cols=\"60\" rows=\"10\" onkeyup=\"initTyper(this);\">$description</textarea><br><br>";
* Tìm dòng
.""._AUTHORNAME.":<br><input type=\"text\" name=\"auth_name\" value=\"$auth_name\" size=\"30\" maxlength=\"80\"><br><br>"
Sửa thành
.""._AUTHORNAME.": (có thể gõ tiếng Việt)<br><input type=\"text\" name=\"auth_name\" value=\"$auth_name\" size=\"30\" maxlength=\"80\" onkeyup=\"initTyper(this);\"><br><br>"
Mở file modules/Search/index.php
* Tìm dòng
."<input size=\"25\" type=\"text\" name=\"query\" value=\"$query\"> "
Sửa thành
."(có thể gõ tiếng Việt)<br><input size=\"25\" type=\"text\" name=\"query\" value=\"$query\" onkeyup=\"initTyper(this);\"> "
Mở file modules/Submit_News/index.php
* Tìm dòng
."("._BEDESCRIPTIVE."<br>"
."<input type=\"text\" name=\"subject\" size=\"50\" maxlength=\"80\"><br><font class=\"content\">("._BADTITLES.")</font>"
Sửa thành
."("._BEDESCRIPTIVE." - có thể gõ tiếng Việt)<br>"
."<input type=\"text\" name=\"subject\" size=\"50\" maxlength=\"80\" onkeyup=\"initTyper(this);\"><br><font class=\"content\">("._BADTITLES.")</font>"
* Tìm 2 đoạn có nội dung giống nhau
."<b>"._STORYTEXT.":</b><br>- "._HTMLISFINE."<br><br>"
."<textarea cols=\"50\" rows=\"12\" name=\"story\"></textarea><br>"
."<br><br><b>"._EXTENDEDTEXT.":</b><br>"
."<textarea cols=\"50\" rows=\"12\" name=\"storyext\"></textarea><br>"
Sửa thành
."<b>"._STORYTEXT.":</b><br>- "._HTMLISFINE."<br>- Có thể gõ tiếng Việt.<br>"
."<textarea cols=\"50\" rows=\"12\" name=\"story\" onkeyup=\"initTyper(this);\"></textarea><br>"
."<br><br><b>"._EXTENDEDTEXT.":</b> (Có thể gõ tiếng Việt)<br>"
."<textarea cols=\"50\" rows=\"12\" name=\"storyext\" onkeyup=\"initTyper(this);\"></textarea><br>"
Mở file modules/News/comments.php
* Tìm đoạn
echo "<font class=\"option\"><b>"._SUBJECT.":</b></font><br>"
."<input type=\"text\" name=\"subject\" size=\"50\" maxlength=\"85\" value=\"$subject\"><br><br>"
."<font class=\"option\"><b>"._UCOMMENT.":</b></font><br>"
."<textarea wrap=\"virtual\" cols=\"50\" rows=\"10\" name=\"comment\">$comment</textarea><br>"
Sửa thành
echo "<font class=\"option\"><b>"._SUBJECT.":</b></font> (có thể gõ tiếng Việt)<br>"
."<input type=\"text\" name=\"subject\" size=\"50\" maxlength=\"85\" value=\"$subject\" onkeyup=\"initTyper(this);\"><br><br>"
."<font class=\"option\"><b>"._UCOMMENT.":</b></font> (có thể gõ tiếng Việt)<br>"
."<textarea wrap=\"virtual\" cols=\"50\" rows=\"10\" name=\"comment\" onkeyup=\"initTyper(this);\">$comment</textarea><br>"
* Tìm đoạn
echo "<font class=\"option\"><b>"._SUBJECT.":</b></font><br>";
if (!eregi("Re:",$subject)) $subject = "Re: ".substr($subject,0,81)."";
echo "<input type=\"text\" name=\"subject\" size=\"50\" maxlength=\"85\" value=\"$subject\"><br><br>";
echo "<font class=\"option\"><b>"._UCOMMENT.":</b></font><br>"
."<textarea wrap=\"virtual\" cols=\"50\" rows=\"10\" name=\"comment\"></textarea><br>"
Sửa thành
echo "<font class=\"option\"><b>"._SUBJECT.":</b></font> (có thể gõ tiếng Việt)<br>";
if (!eregi("Re:",$subject)) $subject = "Re: ".substr($subject,0,81)."";
echo "<input type=\"text\" name=\"subject\" size=\"50\" maxlength=\"85\" value=\"$subject\" onkeyup=\"initTyper(this);\"><br><br>";
echo "<font class=\"option\"><b>"._UCOMMENT.":</b></font> (có thể gõ tiếng Việt)<br>"
."<textarea wrap=\"virtual\" cols=\"50\" rows=\"10\" name=\"comment\" onkeyup=\"initTyper(this);\"></textarea><br>"
Mở file modules/Reviews/index.php
* Tìm dòng
<b>"._WRITEREVIEWFOR." $sitename</b><br><br>
Sửa thành
<b>"._WRITEREVIEWFOR." $sitename</b><br>(có thể gõ tiếng Việt)<br><br>
* Tìm dòng
<input type=\"text\" name=\"title\" size=\"50\" maxlength=\"150\"><br>
Sửa thành
<input type=\"text\" name=\"title\" size=\"50\" maxlength=\"150\" onkeyup=\"initTyper(this);\"><br>
* Tìm dòng
<textarea name=\"text\" rows=\"15\" wrap=\"virtual\" cols=\"60\"></textarea><br>";
Sửa thành
<textarea name=\"text\" rows=\"15\" wrap=\"virtual\" cols=\"60\" onkeyup=\"initTyper(this);\"></textarea><br>";
* Tìm dòng
echo "<input type=\"text\" name=\"reviewer\" size=\"41\" maxlength=\"40\" value=\"$name\"><br>
Sửa thành
echo "<input type=\"text\" name=\"reviewer\" size=\"41\" maxlength=\"40\" value=\"$name\" onkeyup=\"initTyper(this);\"><br>
* Tìm dòng
<input type=\"text\" name=\"url_title\" size=\"40\" maxlength=\"50\"><br>
Sửa thành
<input type=\"text\" name=\"url_title\" size=\"40\" maxlength=\"50\" onkeyup=\"initTyper(this);\"><br>
* Tìm dòng
echo "<center><font class=option><b>"._REVIEWCOMMENT." $title</b><br><br></font></center>"
Sửa thành
echo "<center><font class=option><b>"._REVIEWCOMMENT." $title</b><br>(có thể gõ tiếng Việt)<br><br></font></center>"
* Tìm dòng
<textarea name=comments rows=10 cols=70></textarea><br>
Sửa thành
<textarea name=comments rows=10 cols=70 onkeyup=\"initTyper(this);\"></textarea><br>
Mở file modules/Surveys/comments.php
* Tìm dòng
echo "<font class=\"content\"><a href=\"modules.php?name=Your_Account\">$cookie[1]</a> [ <a href=\"modules.php?name=Your_Account&op=logout\">"._LOGOUT."</a> ]</font>";
Sửa thành
echo "<font class=\"content\"><a href=\"modules.php?name=Your_Account\">$cookie[1]</a> [ <a href=\"modules.php?name=Your_Account&op=logout\">"._LOGOUT."</a> ]</font><br><br>* Có thể gõ tiếng Việt";
* Tìm dòng
echo "<INPUT TYPE=\"text\" NAME=\"subject\" SIZE=50 maxlength=85 value=\"$subject\"><BR>";
Sửa thành
echo "<INPUT TYPE=\"text\" NAME=\"subject\" SIZE=50 maxlength=85 value=\"$subject\" onkeyup=\"initTyper(this);\"><BR>";
* Tìm dòng
."<TEXTAREA wrap=virtual cols=50 rows=10 name=comment></TEXTAREA><br>
Sửa thành
."<TEXTAREA wrap=virtual cols=50 rows=10 name=comment onkeyup=\"initTyper(this);\"></TEXTAREA><br>
* Tìm dòng
echo "<font class=\"content\"><a href=\"modules.php?name=Your_Account\">$cookie[1]</a> <font class=\"content\">[ <a href=\"modules.php?name=Your_Account&op=logout\">"._LOGOUT."</a> ]</font>";
Sửa thành
echo "<font class=\"content\"><a href=\"modules.php?name=Your_Account\">$cookie[1]</a> <font class=\"content\">[ <a href=\"modules.php?name=Your_Account&op=logout\">"._LOGOUT."</a> ]</font><br><br>* Có thể gõ tiếng Việt";
* Tìm dòng
."<INPUT TYPE=\"text\" name=\"subject\" size=\"50\" maxlength=\"85\" value=\"$subject\"><br><br>"
Sửa thành
."<INPUT TYPE=\"text\" name=\"subject\" size=\"50\" maxlength=\"85\" value=\"$subject\" onkeyup=\"initTyper(this);\"><br><br>"
* Tìm dòng
."<TEXTAREA wrap=\"virtual\" cols=\"50\" rows=\"10\" name=\"comment\">$comment</TEXTAREA><br>";
Sửa thành
."<TEXTAREA wrap=\"virtual\" cols=\"50\" rows=\"10\" name=\"comment\" onkeyup=\"initTyper(this);\">$comment</TEXTAREA><br>";
Mở file modules/Web_Links/index.php
* Tìm dòng
echo "<center><font class=\"title\"><b>"._ADDALINK."</b></font></center><br><br>";
Sửa thành
echo "<center><font class=\"title\"><b>"._ADDALINK."</b></font><br>(có thể gõ tiếng Việt)</center><br><br>";
* Tìm dòng
.""._PAGETITLE.": <input type=\"text\" name=\"title\" size=\"50\" maxlength=\"100\"><br>"
Sửa thành
.""._PAGETITLE.": <input type=\"text\" name=\"title\" size=\"50\" maxlength=\"100\" onkeyup=\"initTyper(this);\"><br>"
* Tìm dòng
.""._LDESCRIPTION."<br><textarea name=\"description\" cols=\"60\" rows=\"5\"></textarea><br><br><br>"
Sửa thành
.""._LDESCRIPTION."<br><textarea name=\"description\" cols=\"60\" rows=\"5\" onkeyup=\"initTyper(this);\"></textarea><br><br><br>"
* Tìm dòng
.""._YOURNAME.": <input type=\"text\" name=\"auth_name\" size=\"30\" maxlength=\"60\"><br>"
Sửa thành
.""._YOURNAME.": <input type=\"text\" name=\"auth_name\" size=\"30\" maxlength=\"60\" onkeyup=\"initTyper(this);\"><br>"
Mở file modules/WebMail/compose.php
* Tìm dòng
."<tr><td>"._SUBJECT.":</td><td><input type=text name=\"subject\" size=47 value='$subject'></td></tr>"
Sửa thành
."<tr><td>"._SUBJECT.":</td><td><input type=text name=\"subject\" size=47 value='$subject' onkeyup=\"initTyper(this);\"> (có thể gõ tiếng Việt)</td></tr>"
* Tìm dòng
."<tr><td colspan=\"2\"><br>"._MESSAGE.":</td></tr>"
Sửa thành
."<tr><td colspan=\"2\"><br>"._MESSAGE.": (có thể gõ tiếng Việt)</td></tr>"
* Tìm dòng
."<textarea name=\"message\" rows=\"15\" cols=\"70\" wrap=\"virtual\">$content</textarea>"
Sửa thành
."<textarea name=\"message\" rows=\"15\" cols=\"70\" wrap=\"virtual\" onkeyup=\"initTyper(this);\">$content</textarea>"
Mở file modules/WebMail/contactbook.php
* Tìm các dòng
<tr><td width=\"25%\">"._FIRSTNAME.":</td><td><input type=\"text\" name=\"firstname\"></td></tr>
<tr><td>"._LASTNAME.":</td><td><input type=\"text\" name=\"lastname\"></td></tr>
<tr><td>"._ADDRESS.":</td><td><textarea name=\"address\" rows=\"4\" cols=\"25\"></textarea></td></tr>
<tr><td>"._CITY.":</td><td><input type=\"text\" name=\"city\"></td></tr>
<tr><td>"._COMPANY.":</td><td><input type=\"text\" name=\"company\" size=\"40\"></td></tr>
<tr><td valign=top>"._RELATEDEVENTS.":<br></td><td>"._RELATEDEVENTSMSG."<br>
<textarea name=events rows=4 cols=40></textarea></td></tr>
<tr><td>"._NOTES.":</td><td><textarea name=notes rows=4 cols=40></textarea></td></tr></table>
Sửa thành
<tr><td width=\"25%\">"._FIRSTNAME.":</td><td><input type=\"text\" name=\"firstname\" onkeyup=\"initTyper(this);\"> (có thể gõ tiếng Việt)</td></tr>
<tr><td>"._LASTNAME.":</td><td><input type=\"text\" name=\"lastname\" onkeyup=\"initTyper(this);\"> (có thể gõ tiếng Việt)</td></tr>
<tr><td>"._ADDRESS.":</td><td><textarea name=\"address\" rows=\"4\" cols=\"25\" onkeyup=\"initTyper(this);\"></textarea> (có thể gõ tiếng Việt)</td></tr>
<tr><td>"._CITY.":</td><td><input type=\"text\" name=\"city\" onkeyup=\"initTyper(this);\"> (có thể gõ tiếng Việt)</td></tr>
<tr><td>"._COMPANY.":</td><td><input type=\"text\" name=\"company\" size=\"40\" onkeyup=\"initTyper(this);\"> (có thể gõ tiếng Việt)</td></tr>
<tr><td valign=top>"._RELATEDEVENTS.":<br>(có thể gõ tiếng Việt)</td><td>"._RELATEDEVENTSMSG."<br>
<textarea name=events rows=4 cols=40 onkeyup=\"initTyper(this);\"></textarea></td></tr>
<tr><td>"._NOTES.":<br>(có thể gõ tiếng Việt)</td><td><textarea name=notes rows=4 cols=40 onkeyup=\"initTyper(this);\"></textarea></td></tr></table>
* Tìm các dòng
<b>"._EDITCONTACTS."</b></font><br><br>
<tr><td width=25%>"._FIRSTNAME.":</td><td><input type=text name=firstname value='$firstname'></td></tr>
<tr><td>"._LASTNAME.":</td><td><input type=text name=lastname value='$lastname'></td></tr>
<tr><td>"._ADDRESS.":</td><td><textarea name=homeaddress rows=4 cols=25>$homeaddress</textarea></td></tr>
<tr><td>"._CITY.":</td><td><input type=text name=city value='$city'></td></tr>
<tr><td>"._COMPANY.":</td><td><input type=text name=company size=40 value='$company'></td></tr>
<tr><td valign=top>"._RELATEDEVENTS.":</td><td>"._RELATEDEVENTSMSG."<br><textarea name=events rows=4 cols=40>$events</textarea></td></tr>
<tr><td>"._NOTES.":</td><td><textarea name=notes rows=4 cols=40>$notes</textarea></td></tr></table>
Sửa thành
<b>"._EDITCONTACTS."</b></font><br>(có thể gõ tiếng Việt)<br><br>
<tr><td width=25%>"._FIRSTNAME.":</td><td><input type=text name=firstname value='$firstname' onkeyup=\"initTyper(this);\"></td></tr>
<tr><td>"._LASTNAME.":</td><td><input type=text name=lastname value='$lastname' onkeyup=\"initTyper(this);\"></td></tr>
<tr><td>"._ADDRESS.":</td><td><textarea name=homeaddress rows=4 cols=25 onkeyup=\"initTyper(this);\">$homeaddress</textarea></td></tr>
<tr><td>"._CITY.":</td><td><input type=text name=city value='$city' onkeyup=\"initTyper(this);\"></td></tr>
<tr><td>"._COMPANY.":</td><td><input type=text name=company size=40 value='$company' onkeyup=\"initTyper(this);\"></td></tr>
<tr><td valign=top>"._RELATEDEVENTS.":</td><td>"._RELATEDEVENTSMSG."<br><textarea name=events rows=4 cols=40 onkeyup=\"initTyper(this);\">$events</textarea></td></tr>
<tr><td>"._NOTES.":</td><td><textarea name=notes rows=4 cols=40 onkeyup=\"initTyper(this);\">$notes</textarea></td></tr></table>
PcLeHoan
1996 - 2002
Mirror :
http://www.pclehoan.com
Mirror :
http://www.lehoanpc.net
Mirror :
http://www.ktlehoan.com