Các thay đổi cần chỉnh sửa cho giao diện từ NukeViet 3.4.02 cho NukeViet 4.0 (Bài viết đang được cập nhật) ====== Thay đổi các module ====== Nukeviet 3.5 Sẽ không sử dụng các hàm filter_text_input, filter_text_textarea, nv_editor_filter_textarea, Nên cần sửa lại tất cả các module không có trong bản nukeviet mặc định như sau ==== 1) Thay thế filter_text_input ==== được thay thế bằng phương thức get_title của class Request Nếu dùng (nhiều hơn 4 thanh số đầu vào) $inputname = filter_text_input( $inputname, 'get,post', $default, $specialchars, $maxlength, $preg_replace ) Cần sửa lại thành $inputname = nv_substr( $nv_Request->get_title($inputname, 'get,post', $default, $specialchars, $preg_replace), 0, $maxlength); **Nếu dùng (từ 4 thanh số đầu vào trờ xuống)** $inputname = filter_text_input( $inputname, 'get,post', $default, $specialchars ); Cần sửa lại thành $inputname = $nv_Request->get_title($inputname, 'get,post', $default, $specialchars); ==== 2) Thay thế filter_text_textarea ==== được thay thế bằng phương thức get_textarea của class Request **Nếu dùng không có trình soạn thảo** $inputname = filter_text_textarea( $inputname, $default, $allowed_html_tags, $save = false, $nl2br_replacemen ) Cần sửa lại thành $inputname = $nv_Request->get_textarea( $inputname, $default, $allowed_html_tags, $save) **Nếu dùng có trình soạn thảo** $inputname = filter_text_textarea( $inputname, $default, $allowed_html_tags, $save, $nl2br_replacemen ) Cần sửa lại thành $inputname = $nv_Request->get_editor( $inputname, $default, $allowed_html_tags, $save) Tức cần thay thế filter_text_textarea bằng $nv_Request->get_editor, hoặc $nv_Request->get_textarea ==== 3) Thay thế nv_editor_filter_textarea==== được thay thế bằng phương thức get_textarea của class Request Nếu dùng $inputname = nv_editor_filter_textarea( $inputname, $default, $allowed_html_tags, $save, $nl2br_replacemen ) Cần sửa lại thành $inputname = $nv_Request->get_editor( $inputname, $default, $allowed_html_tags, $save) Tức cần thay thế nv_editor_filter_textarea bằng $nv_Request->get_editor ==== 4) Viết lại các phàn kết nối dữ liệu==== sử dụng PDO thay cho class db của Nukeviet 3.4 Các thay đổi trên có thể sử dụng module_c34to40 để nâng cấp module https://github.com/nukeviet/module_c34to40 ==== 5) Thay thế các thư viện Javascript==== Thay thế thư viện autocomplete: /js/jquery/jquery.autocomplete.js bằng thư viện ui autocomplete: /js/ui/jquery.ui.autocomplete.min.js Thay thế thư viện popcalendar: /js/popcalendar/popcalendar.js bằng thư viện ui datepicker: /js/ui/jquery.ui.datepicker.min.js ====== Giao diện Site ====== ===== 1) Thay đổi cronjobs ===== Tìm và xóa đoạn sau trong file /themes/my_theme/layout/footer.tpl Tìm và xóa đoạn sau trong file /themes/my_theme/theme.php $xtpl->assign( 'THEME_IMG_CRONJOBS', NV_BASE_SITEURL . "index.php?second=cronjobs&p=" . nv_genpass() ); ===== 2) Thay đổi bộ gõ mudim ===== Tìm và xóa đoạn sau trong file /themes/my_theme/theme.php if( NV_LANG_INTERFACE == 'vi' ) { $theme_footer_js .= ""; } (Xóa tất cả các chỗ có gắn js/mudim.js ngoại trừ function nv_change_buffer và /install/tpl/step6.tpl) ===== 3) Thay đổi giao diện để hỗ trợ hiển thị logo flash ===== Tìm file nếu có: themes/my_theme/system/info_die.tpl Tìm đến đoạn: Thay bằng Tìm đến đoạn: {GO_HOMEPAGE} Thay bằng {GO_SITEPAGE} **Tìm file nếu có: themes/my_theme/system/login.tp** Tìm đến đoạn: {SITE_NAME} Thay bằng {SITE_NAME} ===== 4) Thay thế jquery.validate ===== Tìm tất cả các chỗ có jquery.validate để thay thế Nếu mã html trước khi thay thế là Cần sửa lại thành Trong đó vi: Là ngôn ngữ đang sử dụng của site ===== 5) Cập nhật thêm trạng thái cho module News. ===== Nếu theme không sử dụng default hoặc modern thì mở file content.tpl của themes/ten-theme/modules/news (nếu có) tìm: Thêm vào sau đoạn: ===== 6) Sửa module news để dùng ảnh thumb do module upload ===== tạo ra làm ảnh thumb cho bài viết, cần viết lại tất cả các block của module này Thí dụ lúc trước xác đụng ảnh thumb theo cách $array_img = ( ! empty( $item['homeimgthumb'] ) ) ? explode( "|", $item['homeimgthumb'] ) : $array_img = array( "", "" ); if( $array_img[0] != "" and file_exists( NV_ROOTDIR . '/' . NV_FILES_DIR . '/' . $module_name . '/' . $array_img[0] ) ) { $item['imghome'] = NV_BASE_SITEURL . NV_FILES_DIR . '/' . $module_name . '/' . $array_img[0]; } elseif( nv_is_url( $item['homeimgfile'] ) ) { $item['imghome'] = $item['homeimgfile']; } elseif( $item['homeimgfile'] != "" and file_exists( NV_UPLOADS_REAL_DIR . '/' . $module_name . '/' . $item['homeimgfile'] ) ) { $item['imghome'] = NV_BASE_SITEURL . NV_UPLOADS_DIR . '/' . $module_name . '/' . $item['homeimgfile']; } else { $item['imghome'] = ""; } Giờ cần sửa lại code theo cách if( $item['homeimgthumb'] == 1 ) //image thumb { $item['imghome'] = NV_BASE_SITEURL . NV_FILES_DIR . '/' . $module_name . '/' . $item['homeimgfile']; } elseif( $item['homeimgthumb'] == 2 ) //image file { $item['imghome'] = NV_BASE_SITEURL . NV_UPLOADS_DIR . '/' . $module_name . '/' . $item['homeimgfile']; } elseif( $item['homeimgthumb'] == 3 ) //image url { $item['imghome'] = $item['homeimgfile']; } else //no image { $item['imghome'] = NV_BASE_SITEURL . 'themes/' . $global_config['site_theme'] . '/images/no_image.gif'; } Tool update, CSDL, ảnh của module được viết tại file update3.php ===== 7) Sửa module download ===== để dùng ảnh thumb do module upload tạo ra làm ảnh thumb cho bài viết, cần viết lại tất cả các block của module này nếu sử dụng ảnh minh họa Ảnh minh họa = NV_BASE_SITEURL . NV_FILES_DIR . $row['fileimage'] Sửa các file /themes/my_theme/modules/download/main_page.tpl /themes/my_theme/modules/download/viewcat_page.tpl tìm và thay thế itemcat.fileimage.orig_src hoặc itemcat.fileimage.src bằng itemcat.imagesrc tìm và thay thế listpostcat.fileimage.orig_src bằng listpostcat.imagesrc Xóa thư mục /uploads/download/thumb/ ===== 8) Module bannner ===== Tìm và thay thế trong file /themes/my_theme/blocks/global.banners.tpl onclick="this.target='_blank'" Bằng onclick="this.target='{DATA.target}'" ===== 9) Tùy biến trường dữ liệu thành viên ===== Sửa file themes/my_theme/modules/users/register.tpl Tìm đến dòng Thêm lên trên đoạn sau:

{FIELD.description}
{EDITOR}
Sửa file themes/my_theme/modules/users/info.tpl Tìm và xóa đoạn sau: (Liên quan đến: website, address, yahoo, phone, fax, mobile)
Tìm đến đoạn trước input submit
Thêm lên trên đoạn sau

{FIELD.description}
{EDITOR}
Sửa file themes/my_theme/modules/users/userinfo.tpl Tìm và xóa đoạn sau: (Liên quan đến: website, address, yahoo, phone, fax, mobile)
{LANG.address}:
{USER.location}
{LANG.website}:
{USER.website}
{LANG.yahoo}:
{USER.yim}
{LANG.phone}:
{USER.telephone}
{LANG.fax}:
{USER.fax}
{LANG.mobile}:
{USER.mobile}
===== 10) Bỏ các giới hạn ký tự trong các formlogin ===== (bởi các giá trị này có thể thay đổi, làm các tài khoản cũ không đăng nhập được) Trong file themes/my_theme/modules/users/block.login.tpl, /themes/my_theme/modules/users/login.tpl tìm và xóa các đoạn sau: maxlength="{NICK_MAXLENGTH}" maxlength="{PASS_MAXLENGTH}" ====== Giao diện Admin Site ====== ===== 1) Bỏ Số lần truy cập CSDL ===== Sửa file /themes/admin_my_theme/system/main.tpl Sửa file /themes/admin_my_theme/theme.php ===== 2) Thay đổi bộ gõ mudim ===== Tìm và xóa đoạn sau trong file /themes/admin_my_theme/theme.php if( NV_LANG_INTERFACE == 'vi' and NV_LANG_DATA == 'vi' ) { $xtpl->parse( 'main.nv_if_mudim' ); } Tìm và xóa đoạn sau trong file /themes/admin_my_theme/system/footer.tpl ===== 3) Thay đổi giao diện để hỗ trợ hiển thị logo flash ===== Tìm file nếu có: themes/my_theme/system/info_die.tpl Tìm đến đoạn: Thay bằng Tìm đến đoạn: {GO_HOMEPAGE} Thay bằng {GO_SITEPAGE} **Tìm file nếu có: themes/my_theme/system/login.tp** Tìm đến đoạn: {SITE_NAME} Thay bằng {SITE_NAME} ===== 4) Bỏ các giới hạn ký tự trong các formlogin ===== (bởi các giá trị này có thể thay đổi, làm các tài khoản cũ không đăng nhập được) Trong file themes/my_theme/modules/users/block.login.tpl, /themes/my_theme/modules/users/login.tpl tìm và xóa các đoạn sau: maxlength="{NICKMAX}" maxlength="{PASSMAX}" ===== 5) Thay thế jquery.validate ===== Tìm tất cả các chỗ có jquery.validate để thay thế Nếu mã html trước khi thay thế là Cần sửa lại thành Trong đó vi: Là ngôn ngữ đang sử dụng của site ===== 5) Các chỉnh sửa khác cần thao tác ===== 1) Thêm chức năng Ping bài viết qua RPC - Chức năng này chỉ hoạt động nếu máy chủ support cURL cho php - Vào menu Công cụ web ->Cấu hình dịch vụ PING để chọn các dịch vụ, sau đó lưu lại cấu hình đó. - Khi thêm hoặc sửa bài viết, nếu bài viết ở chế độ kích hoạt, hệ thống sẽ chuyển đến trang Dịch vụ PING và ping tự động bài viết. - Để bổ sung proxies hãy sửa file data\proxies.php, theo hướng dẫn trong file đó. 2) xóa popcalendar.js (bản nâng cấp không xóa js này, bởi nhiều module khách có thể sử dụng ) 3) Quản lý menu ngang trong admin: - Có thể bổ sung module mới vào menu, (Module đưa lên menu ngan không bắt buộc là module hệ thống) - Phân quyền mỗi memu nhóm quản trị nào được dùng - Sắp xếp vị trí hiển thị các module 3) Cấu hình thời gian lặp lại quá trình backup CSDL 4) Thêm chức năng bỏ tên Module (mặc định) trong url 5) Kiểm tra lại link các trang web, các link để rewite được cần tuân theo các nguyên tắc sau - Sử dụng nháy đôi ("), trong việc viết mã html. - Các link để được rewite theo các dạng sau /index.php?language=[ngôn ngữ] /index.php?language=[ngôn ngữ]&nv=[Tên module] /index.php?language=[ngôn ngữ]&nv=[Tên module]&op=[Tên op, các biến khác nên truyền hết vào biến này, cách nhau bởi dấu /] /index.php?language=[ngôn ngữ]&nv=[Tên module]&op=[Tên op, các biến khác nên truyền hết vào biến này, cách nhau bởi dấu /].html - Trong một số trường hợp link không rewite được (Do trong mã html không có dấu nháy đôi), cần gọi hàn xử lý như sau $link = '/index.php?language=[ngôn ngữ]&nv=[Tên module]' $link = nv_url_rewrite( $link, true ); 6) Hướng dẫn nâng cấp - Download gói nâng cấp: - Upload gói nân cấp theo đúng cấp trúc của nukeviet hoặc dùng chương trình cài đặt module của NukeViet - Đăng nhập vào Admin với quyền quản trị tối cao, truy cập module Thông Tin và click vào link Thực hiện cập nhật để tiến hành nâng cấp, làm theo hướng dẫn