PHPBB3.0.5 cho NukeViet 2.0 RC1

Thảo luận các vấn đề liên quan đến việc tích hợp giữa phpBB và NukeViet.

Các điều hành viên: Hỗ trợ NukeViet, Phát triển NukeViet

PHPBB3.0.5 cho NukeViet 2.0 RC1

Bài viết chưa xemgửi bởi AnhTu » 07 Tháng 6 2009, 22:18

Đây là hướng dẫn cách nhúng diễn đàn phpbb3.x vào NukeViet 2.0 RC1 NoForum.
Đặc tính của hack này:
- Dùng toàn bộ chức năng quản lý members của phpbb thay cho module Your_Account của Nukeviet.
- Mặt khác, Nukeviet có khả năng nhận biết members của phpbb.

Cách hack:
###############################################################
Lưu dự phòng
###############################################################
Lưu dự phòng toàn bộ site và database.

###############################################################
Tạo thư mục
###############################################################
Tạo thư mục: ./forum/

###############################################################
Cài đặt PHPBB3
###############################################################
- Tải file phpBB-3.0.5.zip theo URL:
http://www.ohloh.net/p/phpbb/download?f ... -3.0.5.zip
- unzip, copy toàn bộ files và các thư mục con trong thư mục phpBB3 lên thư mục forum mà ta vừa tạo trên webroot.
- Truy cập vào http://ten_site/thu_muc_cai_nukeviet/forum/ để cài đặt như hướng dẫn của phpbb.
Lưu ý 1: Phải cài cơ sở dữ liệu của phpbb trên cùng một database của Nukeviet.
(Để tham khảo của Nukeviet, hãy xem trong file mainfile.php trên webroot);
Lưu ý 2: tiếp đầu tố của phpbb3 phải khác với tiếp đầu tố của NukeViet.
Lưu ý 3: khi tạo người quản trị diễn đàn, không dùng tên và email đã được sử dụng trong NukeViet.

###############################################################
Xóa files
###############################################################
Xóa các files sau đây:
- admin/case/case.users.php
- admin/language/Your_Account_vietnamese.php
- admin/language/Your_Account_english.php
- admin/links/links.editusers.php
- admin/modules/users.php

###############################################################
Sửa file: modules/Your_Account/index.php
###############################################################
Thay toàn bộ nội dung file modules/Your_Account/index.php bằng nội dung dưới đây:
Mã: Chọn tất cả
<?php

/*
* @Program:      NukeViet CMS v2.0 RC1
* @File name:    Module Your_Account
* @Version:    1.0
* @Date:       09.05.2009
* @Website:    www.nukeviet.vn
* @Copyright:    (C) 2009
* @License:    http://opensource.org/licenses/gpl-license.php GNU Public License
*/

if ( ! defined('NV_SYSTEM') )
{
   die( "You can't access this file directly..." );
}

require_once ( "mainfile.php" );
$module_name = basename( dirname(__file__) );
get_lang( $module_name );
if ( file_exists("" . $datafold . "/config_" . $module_name . ".php") )
{
   @require_once ( "" . $datafold . "/config_" . $module_name . ".php" );
}
if ( defined('_MODTITLE') ) $module_title = _MODTITLE;

$index = ( defined('MOD_BLTYPE') ) ? MOD_BLTYPE : 1;

@include_once ( "forum/config.php" );

function phpbb_get_board_config()
{
   global $db, $table_prefix, $cookie_domain, $cookie_path;
   $board_config = array();
   $query = "SELECT * FROM `" . $table_prefix . "config`";
   $result = $db->sql_query( $query );
   while ( $row = $db->sql_fetchrow($result) )
   {
      $board_config[$row['config_name']] = $row['config_value'];
   }
   if ( $board_config['cookie_domain'] != $cookie_domain )
   {
      $query = "UPDATE `" . $table_prefix . "config` SET `config_value`='" . $cookie_domain . "' WHERE `config_name`='cookie_domain'";
      $db->sql_query( $query );
      $board_config['cookie_domain'] = $cookie_domain;
   }
   if ( $board_config['cookie_path'] != $cookie_path )
   {

      $query = "UPDATE `" . $table_prefix . "config` SET `config_value`='" . $cookie_path . "' WHERE `config_name`='cookie_path'";
      $db->sql_query( $query );
      $board_config['cookie_path'] != $cookie_path;
   }
   return $board_config;
}

$board_config = phpbb_get_board_config();

/**
 * userinfo()
 *
 * @return
 */
function userinfo()
{
   global $table_prefix, $user_prefix, $db, $user_ar;

   if ( isset($_GET['user_id']) )
   {
      $user_id = intval( $_GET['user_id'] );
   } elseif ( defined('IS_USER') )
   {
      $user_id = intval( $user_ar[0] );
   }
   else
   {
      Header( "Location: forum/ucp.php?mode=login" );
      exit();
   }
   if ( $user_id <= 1 )
   {
      Header( "Location: forum/memberlist.php" );
      exit();
   }

   $sql = "SELECT f.user_id FROM `" . $table_prefix . "users` f, `" . $user_prefix . "_users` n WHERE n.user_id = " . $user_id . " AND n.username = f.username";
   $result = $db->sql_query( $sql );
   $userinfo = $db->sql_fetchrow( $result );
   if ( ! $userinfo )
   {
      Header( "Location: forum/memberlist.php" );
      exit();
   }
   $f_user_id = $userinfo['user_id'];
   Header( "Location: forum/memberlist.php?mode=viewprofile&u=" . $f_user_id );
   exit();
}

/**
 * NV_main()
 *
 * @return
 */
function acount_main()
{
   if ( ! defined('IS_USER') )
   {
      Header( "Location: forum/ucp.php?mode=login" );
      exit();
   }
   else
   {
      Header( "Location: forum/ucp.php" );
      exit();
   }
}

/**
 * new_user()
 *
 * @return
 */
function new_user()
{
   if ( defined('IS_USER') )
   {
      Header( "Location: forum/ucp.php" );
      exit();
   }
   else
   {
      Header( "Location: forum/ucp.php?mode=register" );
      exit();
   }
}

/**
 * pass_lost()
 *
 * @return
 */
function pass_lost()
{
   if ( defined('IS_USER') )
   {
      Header( "Location: forum/ucp.php" );
      exit();
   }
   else
   {
      Header( "Location: forum/ucp.php?mode=sendpassword" );
      exit();
   }
}

/**
 * logout()
 *
 * @return
 */
function logout()
{
   global $board_config;
   if ( ! defined('IS_USER') )
   {
      Header( "Location: forum/ucp.php?mode=login" );
      exit();
   }
   else
   {
      $sid = $_COOKIE[$board_config['cookie_name'] . "_sid"];
      Header( "Location: forum/ucp.php?mode=logout&sid=" . $sid );
      exit();
   }
}

/**
 * login()
 *
 * @return
 */
function login()
{
   if ( defined('IS_USER') )
   {
      Header( "Location: forum/ucp.php" );
      exit();
   }
   else
   {
      Header( "Location: forum/ucp.php?mode=login" );
      exit();
   }
}

$op = ( isset($_POST['op']) and ! empty($_POST['op']) ) ? $_POST['op'] : $_GET['op'];
if ( ! empty($op) ) $op = strip_tags( trim($op) );

switch ( $op )
{

   case "logout":
      logout();
      break;

   case "userinfo":
      userinfo();
      break;

   case "login":
      login();
      break;

   case "new_user":
      new_user();
      break;

   case "pass_lost":
      pass_lost();
      break;

   default:
      acount_main();
      break;

}

?>


###############################################################
Sửa file: forum/common.php
###############################################################

Tìm đến dòng 127:
Mã: Chọn tất cả
require($phpbb_root_path . 'config.' . $phpEx);


Thêm xuống dưới:
Mã: Chọn tất cả
//NV060609
require($phpbb_root_path . 'nukeviet_config.' . $phpEx);
//END


###############################################################
Sửa file: forum/includes/constants.php
###############################################################

TÌm đến dòng 257:
Mã: Chọn tất cả
define('ZEBRA_TABLE',            $table_prefix . 'zebra');


Thêm xuống dưới:
Mã: Chọn tất cả
//NV060609
define('NV_USER_TABLE',            $user_prefix . '_users');
define('NV_STATS_TABLE',            $prefix . '_stats');
define('NV_DATAPATH',            $datafold);
define('NV_USERCOOKIE',            $nv_usercookie);
//END


###############################################################
Sửa file: forum/includes/functions_user.php
###############################################################

Tìm đến dòng 250:
Mã: Chọn tất cả
$user_id = $db->sql_nextid();


Thêm xuống dưới:
Mã: Chọn tất cả
//NV060609
$sql = "INSERT INTO " . NV_USER_TABLE . " (`user_id`, `username`, `viewuname`, `user_email`, `user_regdate`, `user_password`)
VALUES (NULL, '".$user_row['username']."', '".$user_row['username']."', '".$user_row['user_email']."', '".time()."', '".md5(unique_id())."')";
$db->sql_query($sql);
@unlink(NV_DATAPATH . "/ulist." . $phpEx);
//END


Tìm đến dòng 507:
Mã: Chọn tất cả
$cache->destroy('sql', MODERATOR_CACHE_TABLE);


Thêm lên trên:
Mã: Chọn tất cả
//NV060609
$sql = "DELETE FROM `" . NV_USER_TABLE . "` WHERE `username` = '".$user_row['username']."'";
   $db->sql_query($sql);
@unlink(NV_DATAPATH . "/ulist." . $phpEx);
//END


###############################################################
Sửa file: forum/includes/auth.php
###############################################################

TÌm đến dòng 964-968:
Mã: Chọn tất cả
return array(
                  'status'      => LOGIN_SUCCESS,
                  'error_msg'      => false,
                  'user_row'      => $login['user_row'],
               );


Thêm lên trên:
Mã: Chọn tất cả
//NV060609
$nv_unique_id = md5(unique_id());
$sql2 = "SELECT `user_id` FROM " . NV_USER_TABLE . " WHERE `username` = '" . $username . "'";
$result2 = $db->sql_query($sql2);
$row2 = $db->sql_fetchrow($result2);
$db->sql_freeresult($result2);
if(isset($row2['user_id']) AND !empty($row2['user_id']))
{
   $nv_user_id = $row2['user_id'];
   $sql = "UPDATE `" . NV_USER_TABLE . "` SET `user_password` = '".$nv_unique_id."' WHERE `username`='" . $username . "'";
   $db->sql_query($sql);
   $info = NV_USERCOOKIE . '=' . rawurlencode(base64_encode( $nv_user_id . ":" . $username . ":" . $nv_unique_id ));
   $nv_domain = (!$config['cookie_domain'] || $config['cookie_domain'] == 'localhost' || $config['cookie_domain'] == '127.0.0.1') ? '' : '; domain=' . $config['cookie_domain'];
   $nv_expire = gmdate('D, d-M-Y H:i:s \\G\\M\\T', time() + (($config['max_autologin_time']) ? 86400 * (int) $config['max_autologin_time'] : 31536000));
   header('Set-Cookie: ' . $info . (($autologin) ? '; expires=' . $nv_expire : '') . '; path=' . $config['cookie_path'] . $nv_domain . ((!$config['cookie_secure']) ? '' : '; secure') . '; HttpOnly', false);
   list( $nv_online ) = $db->sql_fetchrow( $db->sql_query("SELECT `online` FROM `" . NV_STATS_TABLE . "`") );
   $nv_online = explode( "|", $nv_online );
   $onl = "";
   for ( $z = 0; $z < sizeof($nv_online); $z++ )
   {
      $onl2 = explode( ":", $nv_online[$z] );
         if ( $onl2[0] != $_SERVER["REMOTE_ADDR"] )
         {
            if ( $onl != "" ) $onl .= "|";
            $onl .= $nv_online[$z];
         }
   }
   $db->sql_query( "UPDATE `" . NV_STATS_TABLE . "` SET `online`='" . $onl . "'" );
}
//END


###############################################################
Sửa file: forum/includes/session.php
###############################################################

Tìm đến dòng 879:
Mã: Chọn tất cả
return true;


Thêm lên trên:
Mã: Chọn tất cả
//NV060609
if(isset($_COOKIE[NV_USERCOOKIE]) AND !empty($_COOKIE[NV_USERCOOKIE]))
{
   $nv_unique_id = md5(unique_id());
   $nv_user = base64_encode( addslashes(base64_decode($_COOKIE[NV_USERCOOKIE])) );
   $nv_user = explode( ":", addslashes(base64_decode($nv_user)) );
   $sql = "UPDATE `" . NV_USER_TABLE . "` SET `user_password` = '".$nv_unique_id."' WHERE `user_id`=" . $nv_user[0];
   $db->sql_query($sql);
   $info = NV_USERCOOKIE . "=";
   $nv_domain = (!$config['cookie_domain'] || $config['cookie_domain'] == 'localhost' || $config['cookie_domain'] == '127.0.0.1') ? '' : '; domain=' . $config['cookie_domain'];
   header('Set-Cookie: ' . $info . '; expires=' . (time() - 31536000) . '; path=' . $config['cookie_path'] . $nv_domain . ((!$config['cookie_secure']) ? '' : '; secure') . '; HttpOnly', false);
   list( $nv_online ) = $db->sql_fetchrow( $db->sql_query("SELECT `online` FROM `" . NV_STATS_TABLE . "`") );
   $nv_online = explode( "|", $nv_online );
   $onl = "";
   for ( $z = 0; $z < sizeof($nv_online); $z++ )
   {
      $onl2 = explode( ":", $nv_online[$z] );
         if ( $onl2[0] != $nv_user[0] )
         {
            if ( $onl != "" ) $onl .= "|";
            $onl .= $nv_online[$z];
         }
   }
   $db->sql_query( "UPDATE `" . NV_STATS_TABLE . "` SET `online`='" . $onl . "'" );
}
//END


###############################################################
Sửa file: forum/includes/acp/acp_users.php
###############################################################

Tìm đến dòng 766:
Mã: Chọn tất cả
if ($update_username !== false)

Thêm lên trên:
Mã: Chọn tất cả
//NV060609
$sql2 = "SELECT `user_id` FROM " . NV_USER_TABLE . " WHERE `username` = '" . $user_row['username'] . "'";
$result2 = $db->sql_query($sql2);
$row2 = $db->sql_fetchrow($result2);
$db->sql_freeresult($result2);
$nv_user_id = $row2['user_id'];
//END


Tìm đến dòng 777:
Mã: Chọn tất cả
add_log('user', $user_id, 'LOG_USER_UPDATE_NAME', $user_row['username'], $update_username);


Thêm lên trên:
Mã: Chọn tất cả
//NV060609
if($nv_user_id)
{
   $sql = "UPDATE `" . NV_USER_TABLE . "` SET `username` = '".$update_username."', `viewuname`='".$update_username."' WHERE `user_id`='" . $nv_user_id . "'";
   $db->sql_query($sql);
   @unlink(NV_DATAPATH . "/ulist." . $phpEx);
}
//END


Tìm đến dòng 794:
Mã: Chọn tất cả
add_log('user', $user_id, 'LOG_USER_UPDATE_EMAIL', $user_row['username'], $user_row['user_email'], $update_email);


Thêm lên trên:
Mã: Chọn tất cả
//NV060609
if($nv_user_id)
{
   $sql = "UPDATE `" . NV_USER_TABLE . "` SET `user_email` = '".$update_email."' WHERE `user_id`='" . $nv_user_id . "'";
   $db->sql_query($sql);
   @unlink(NV_DATAPATH . "/ulist." . $phpEx);
}
//END


###############################################################
Sửa file: forum/includes/ucp/ucp_profile.php
###############################################################

Tìm đến dòng 118:
Mã: Chọn tất cả
if ($auth->acl_get('u_chgname') && $config['allow_namechange'] && $data['username'] != $user->data['username'])


Thêm lên trên:
Mã: Chọn tất cả
//NV060609
$sql2 = "SELECT `user_id` FROM " . NV_USER_TABLE . " WHERE `username` = '" . $user->data['username'] . "'";
$result2 = $db->sql_query($sql2);
$row2 = $db->sql_fetchrow($result2);
$db->sql_freeresult($result2);
$nv_user_id = $row2['user_id'];
//END


Tìm đến dòng 126:
Mã: Chọn tất cả
add_log('user', $user->data['user_id'], 'LOG_USER_UPDATE_NAME', $user->data['username'], $data['username']);


Thêm lên trên:
Mã: Chọn tất cả
//NV060609
if($nv_user_id AND isset($_COOKIE[NV_USERCOOKIE]) AND !empty($_COOKIE[NV_USERCOOKIE]))
{
   $sql = "UPDATE `" . NV_USER_TABLE . "` SET `username` = '".$data['username']."', `viewuname` = '".$data['username']."' WHERE `user_id`='" . $nv_user_id . "'";
   $db->sql_query($sql);
   $nv_user = base64_encode( addslashes(base64_decode($_COOKIE[NV_USERCOOKIE])) );
   $nv_user = explode( ":", addslashes(base64_decode($nv_user)) );
   $nv_user2 = $nv_user[0] . ":" . $data['username'] . ":" . $nv_user[2];
   $info = NV_USERCOOKIE . '=' . rawurlencode(base64_encode( $nv_user2 ));
   $nv_domain = (!$config['cookie_domain'] || $config['cookie_domain'] == 'localhost' || $config['cookie_domain'] == '127.0.0.1') ? '' : '; domain=' . $config['cookie_domain'];
   $nv_expire = gmdate('D, d-M-Y H:i:s \\G\\M\\T', time() + (($config['max_autologin_time']) ? 86400 * (int) $config['max_autologin_time'] : 31536000));
   header('Set-Cookie: ' . $info . '; expires=' . $nv_expire . '; path=' . $config['cookie_path'] . $nv_domain . ((!$config['cookie_secure']) ? '' : '; secure') . '; HttpOnly', false);
   @unlink(NV_DATAPATH . "/ulist." . $phpEx);
}
//END


Tìm đến dòng 152:
Mã: Chọn tất cả
add_log('user', $user->data['user_id'], 'LOG_USER_UPDATE_EMAIL', $data['username'], $user->data['user_email'], $data['email']);


Thêm lên trên:
Mã: Chọn tất cả
//NV060609
if($nv_user_id AND isset($_COOKIE[NV_USERCOOKIE]) AND !empty($_COOKIE[NV_USERCOOKIE]))
{
   $sql = "UPDATE `" . NV_USER_TABLE . "` SET `user_email` = '".$data['email']."' WHERE `user_id`='" . $nv_user_id . "'";
   $db->sql_query($sql);
   @unlink(NV_DATAPATH . "/ulist." . $phpEx);
}
//END


###############################################################
Chuyển members của Nukeviet sang PHPBB và ngược lại
###############################################################
- Tạo file convert.php trên webroot với nội dung sau:
Mã: Chọn tất cả
<?php

/*
* @Program:      NukeViet CMS
* @File name:    Convert users from NukeViet to PHPBB3
* @Author:       NukeViet Group
* @Version:    2.0 RC1
* @Date:       01.05.2009
* @Website:    www.nukeviet.vn
* @Copyright:    (C) 2009
* @License:    http://opensource.org/licenses/gpl-license.php GNU Public License
*/

define( 'NV_SYSTEM', true );
if ( ! file_exists("mainfile.php") ) exit();
@require_once ( "mainfile.php" );

define( 'ROOTDIR', pathinfo(str_replace('\\', '/', __file__), PATHINFO_DIRNAME) );
$phpbb_root_path = ROOTDIR . '/forum/';
$phpEx = "php";
define( 'IN_PHPBB', true );

require ( $phpbb_root_path . 'config.' . $phpEx );
require ( $phpbb_root_path . 'includes/constants.' . $phpEx );
require ( $phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx );

$safe_mode = ( ini_get('safe_mode') == '1' || strtolower(ini_get('safe_mode')) == 'on' ) ? 1 : 0;
$disable_functions = ( ini_get("disable_functions") != "" and ini_get("disable_functions") != false ) ? array_map( 'trim', split(',\s*', ini_get("disable_functions")) ) : array();
$allowed_set_time_limit = ( ! $safe_mode and function_exists("set_time_limit") and ! in_array('set_time_limit', $disable_functions) ) ? 1 : 0;
if ( $allowed_set_time_limit )
{
   set_time_limit( 0 );
}

if ( ! function_exists('file_put_contents') && ! defined('FILE_APPEND') )
{
   define( 'FILE_APPEND', 1 );
   /**
    * file_put_contents()
    *
    * @param mixed $n
    * @param mixed $d
    * @param bool $flag
    * @return
    */
   function file_put_contents( $n, $d, $flag = false )
   {
      $mode = ( $flag == FILE_APPEND || strtoupper($flag) == 'FILE_APPEND' ) ? 'a' : 'w';
      $f = @fopen( $n, $mode );
      if ( $f === false )
      {
         return 0;
      }
      else
      {
         @flock( $f, LOCK_EX );
         if ( is_array($d) ) $d = implode( $d );
         $bytes_written = fwrite( $f, $d );
         @flock( $f, LOCK_UN );
         fclose( $f );
         return $bytes_written;
      }
   }
}

if ( ! function_exists('array_diff_key') )
{
   function array_diff_key()
   {
      $argCount = func_num_args();
      $diff_arg_prefix = 'diffArg';
      $diff_arg_names = array();
      for ( $i = 0; $i < $argCount; $i++ )
      {
         $diff_arg_names[$i] = 'diffArg' . $i;
         $$diff_arg_names[$i] = array_keys( (array )func_get_arg($i) );
      }
      $diffArrString = '';
      if ( ! empty($diff_arg_names) ) $diffArrString = '$' . implode( ', $', $diff_arg_names );
      eval( "\$result = array_diff(" . $diffArrString . ");" );
      return $result;
   }
}


function phpbb_get_board_config()
{
   global $db, $table_prefix, $cookie_domain, $cookie_path;
   $board_config = array();
   $query = "SELECT * FROM `" . $table_prefix . "config`";
   $result = $db->sql_query( $query );
   while ( $row = $db->sql_fetchrow($result) )
   {
      $board_config[$row['config_name']] = $row['config_value'];
   }
   if ( $board_config['cookie_domain'] != $cookie_domain )
   {
      $query = "UPDATE `" . $table_prefix . "config` SET `config_value`='" . $cookie_domain . "' WHERE `config_name`='cookie_domain'";
      $db->sql_query( $query );
      $board_config['cookie_domain'] = $cookie_domain;
   }
   if ( $board_config['cookie_path'] != $cookie_path )
   {

      $query = "UPDATE `" . $table_prefix . "config` SET `config_value`='" . $cookie_path . "' WHERE `config_name`='cookie_path'";
      $db->sql_query( $query );
      $board_config['cookie_path'] != $cookie_path;
   }
   return $board_config;
}

$config = phpbb_get_board_config();

function unique_id()
{
   global $config;
   $val = $config['rand_seed'] . microtime();
   $val = md5( $val );
   return substr( $val, 4, 16 );
}

function _hash_encode64( $input, $count, &$itoa64 )
{
   $output = '';
   $i = 0;

   do
   {
      $value = ord( $input[$i++] );
      $output .= $itoa64[$value & 0x3f];

      if ( $i < $count )
      {
         $value |= ord( $input[$i] ) << 8;
      }

      $output .= $itoa64[( $value >> 6 ) & 0x3f];

      if ( $i++ >= $count )
      {
         break;
      }

      if ( $i < $count )
      {
         $value |= ord( $input[$i] ) << 16;
      }

      $output .= $itoa64[( $value >> 12 ) & 0x3f];

      if ( $i++ >= $count )
      {
         break;
      }

      $output .= $itoa64[( $value >> 18 ) & 0x3f];
   } while ( $i < $count );

   return $output;
}

function _hash_crypt_private( $password, $setting, &$itoa64 )
{
   $output = '*';

   // Check for correct hash
   if ( substr($setting, 0, 3) != '$H$' )
   {
      return $output;
   }

   $count_log2 = strpos( $itoa64, $setting[3] );

   if ( $count_log2 < 7 || $count_log2 > 30 )
   {
      return $output;
   }

   $count = 1 << $count_log2;
   $salt = substr( $setting, 4, 8 );

   if ( strlen($salt) != 8 )
   {
      return $output;
   }

   if ( PHP_VERSION >= 5 )
   {
      $hash = md5( $salt . $password, true );
      do
      {
         $hash = md5( $hash . $password, true );
      } while ( --$count );
   }
   else
   {
      $hash = pack( 'H*', md5($salt . $password) );
      do
      {
         $hash = pack( 'H*', md5($hash . $password) );
      } while ( --$count );
   }

   $output = substr( $setting, 0, 12 );
   $output .= _hash_encode64( $hash, 16, $itoa64 );

   return $output;
}

function _hash_gensalt_private( $input, &$itoa64, $iteration_count_log2 = 6 )
{
   if ( $iteration_count_log2 < 4 || $iteration_count_log2 > 31 )
   {
      $iteration_count_log2 = 8;
   }

   $output = '$H$';
   $output .= $itoa64[min( $iteration_count_log2 + ((PHP_VERSION >= 5) ? 5 : 3), 30 )];
   $output .= _hash_encode64( $input, 6, $itoa64 );

   return $output;
}

function phpbb_hash( $password )
{
   $itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';

   $random_state = unique_id();
   $random = '';
   $count = 6;

   if ( strlen($random) < $count )
   {
      $random = '';

      for ( $i = 0; $i < $count; $i += 16 )
      {
         $random_state = md5( unique_id() . $random_state );
         $random .= pack( 'H*', md5($random_state) );
      }
      $random = substr( $random, 0, $count );
   }

   $hash = _hash_crypt_private( $password, _hash_gensalt_private($random, $itoa64), $itoa64 );

   if ( strlen($hash) == 34 )
   {
      return $hash;
   }

   return md5( $password );
}

$query = "SELECT `username_clean`, `user_email` FROM `" . USERS_TABLE . "` WHERE (`group_id`=2 OR `group_id`=5) ORDER BY `user_id` ASC";
$result = $db->sql_query( $query );
$phpbb_user = array();
while ( $row = $db->sql_fetchrow($result) )
{
   $phpbb_user[$row['username_clean']] = $row['user_email'];
}

$nukeviet_user = array();
$query = "SELECT * FROM `" . $user_prefix . "_users` WHERE (`username`!='Anonymous') ORDER BY `user_id` ASC";
$result = $db->sql_query( $query );
echo "<h1>Import tu NukeViet sang PHPBB3</h1>\n";
$num_update = 0;
while ( $row = $db->sql_fetchrow($result) )
{
   $username_clean = utf8_clean_string( $row['username'] );
   $nukeviet_user[$username_clean] = $row['user_email'];
   if ( ! in_array($username_clean, array_keys($phpbb_user)) and ! in_array($row['user_email'], array_values($phpbb_user)) )
   {
      $new_pass = unique_id();
      $fields = array();
      $fields['user_type'] = 0;
      $fields['group_id'] = 2;
      $fields['user_permissions'] = '';
      $fields['user_ip'] = '';
      $fields['user_regdate'] = $row['user_regdate'];
      $fields['username'] = $row['username'];
      $fields['username_clean'] = $username_clean;
      $fields['user_password'] = phpbb_hash( $new_pass );
      $fields['user_email'] = strtolower( $row['user_email'] );
      $fields['user_email_hash'] = crc32( strtolower($row['user_email']) ) . strlen( $row['user_email'] );
      $fields['user_timezone'] = $config['board_timezone'];
      $fields['user_dateformat'] = $config['default_dateformat'];
      $fields['user_lang'] = $config['default_lang'];
      $fields['user_style'] = ( int )$config['default_style'];
      $fields['user_actkey'] = '';
      $fields['user_passchg'] = time();
      $fields['user_options'] = 895;
      $fields['user_inactive_reason'] = 0;
      $fields['user_inactive_time'] = 0;
      $fields['user_lastmark'] = time();
      $fields['user_lastvisit'] = 0;
      $fields['user_lastpost_time'] = 0;
      $fields['user_lastpage'] = '';
      $fields['user_posts'] = 0;
      $fields['user_dst'] = ( int )$config['board_dst'];
      $fields['user_colour'] = '';
      $fields['user_occ'] = '';
      $fields['user_interests'] = $row['user_interests'];
      $fields['user_avatar'] = '';
      $fields['user_avatar_type'] = 0;
      $fields['user_avatar_width'] = 0;
      $fields['user_avatar_height'] = 0;
      $fields['user_new_privmsg'] = 0;
      $fields['user_unread_privmsg'] = 0;
      $fields['user_last_privmsg'] = 0;
      $fields['user_message_rules'] = 0;
      $fields['user_full_folder'] = PRIVMSGS_NO_BOX;
      $fields['user_emailtime'] = 0;
      $fields['user_notify'] = 0;
      $fields['user_notify_pm'] = 1;
      $fields['user_notify_type'] = NOTIFY_EMAIL;
      $fields['user_allow_pm'] = 1;
      $fields['user_allow_viewonline'] = 1;
      $fields['user_allow_viewemail'] = 1;
      $fields['user_allow_massemail'] = 1;
      $fields['user_sig'] = '';
      $fields['user_sig_bbcode_uid'] = '';
      $fields['user_sig_bbcode_bitfield'] = '';
      $fields['user_form_salt'] = unique_id();
      $fields['user_website'] = $row['user_website'];
      $fields['user_from'] = $row['user_from'];
      $fs = implode( "`, `", array_keys($fields) );
      $fs = "`" . $fs . "`";
      $vs = implode( "', '", array_values($fields) );
      $vs = "'" . $vs . "'";

      $db->sql_query( "INSERT INTO `" . USERS_TABLE . "` (" . $fs . ") VALUES (" . $vs . ")" );
      $id = mysql_insert_id();
      $db->sql_query( "INSERT INTO `" . USER_GROUP_TABLE . "` (`user_id`,`group_id`,`user_pending`) VALUES (" . $id . ", 2, 0)" );
      $a++;
      echo $a . "/ Username: " . $row['username'] . "<br />";
      echo "New_password: " . $new_pass . "<hr />";
   }

}
$sql_update = 'config_value + ' . $a;
$db->sql_query( 'UPDATE ' . CONFIG_TABLE . ' SET config_value = ' . $sql_update . " WHERE `config_name` = 'num_users'" );

echo "<br /><h1>Import tu PHPBB3 sang NukeViet</h1>\n";

$array_diff_key = array_diff_key( $phpbb_user, $nukeviet_user );
if ( count($array_diff_key) )
{
   $regdate = time();
   $a = 0;
   foreach ( $array_diff_key as $username => $user_email )
   {
      $user_password = md5( unique_id() );
      $db->sql_query( "INSERT INTO `" . $user_prefix . "_users` (`username`,`user_regdate`,`user_email`,`viewuname`,`user_password`) VALUES ('" . $username . "', '" . $regdate . "', '" . $user_email . "', '" . $username . "', '" . $user_password . "')" );
      $a++;
      echo $a . "/ Username: " . $username . "<br />";
      echo "User_email: " . $user_email . "<hr />";
   }
   @unlink( INCLUDE_PATH . $datafold . "/ulist.php" );
}

echo "<br /><h1>Tao file nukeviet_config.php</h1>\n";

$content = "<?php\n";
$content .= "/*\n";
$content .= "* @Program:      NukeViet CMS\n";
$content .= "* @File name:    nukeviet_config.php\n";
$content .= "* @Version:    2.0 RC1\n";
$content .= "* @Date:       01.05.2009\n";
$content .= "* @Website:    www.nukeviet.vn\n";
$content .= "* @Copyright:    (C) 2009\n";
$content .= "* @License:    http://opensource.org/licenses/gpl-license.php GNU Public License\n";
$content .= "*/\n";
$content .= "\$prefix = \"" . $prefix . "\";\n";
$content .= "\$user_prefix = \"" . $user_prefix . "\";\n";
$content .= "\$datafold = \"" . ROOTDIR . "/" . $datafold . "\";\n";
$content .= "\$nv_usercookie = \"" . USER_COOKIE . "\";\n\n";
$content .= "?>";

$file = $phpbb_root_path . 'nukeviet_config.' . $phpEx;
if(file_put_contents($file,$content)) {
   echo "OK";
}
else
{
   echo "He thong khong the tao file ".$file."<br />";
   echo "Ban hay tu tao file nay voi noi dung sau:<br />\n";
   echo "<blockquote>\n";
   echo nl2brStrict(nv_htmlspecialchars($content));
   echo "</blockquote>\n";
}

?>


- Mở trình duyệt, chạy http://ten_site.com/thu_muc_chua_nukeviet/convert.php.
Quá trình đồng bộ hóa members của NukeViet và PHPBB sẽ diễn ra. Bạn sẽ thấy hiển thị trên trình duyệt quá trình này.
Sau quá trình đồng bộ hóa là quá trình tạo file: ./forum/nukeviet_config.php
Lưu ý 1: Khi chuyển members của Nukeviet sang phpbb, hệ thống sẽ thay mật khẩu mới cho từng trường hợp và thể hiện trên trình duyệt.
Bạn hãy lưu những thông báo này để sau này bằng cách nào đó cung cấp cho members.
Lưu ý 2: Nếu Hệ thống không tự tạo được file ./forum/nukeviet_config.php, bạn cần tạo thủ công nó và upload lên site.

###############################################################
Xóa file convert.php
###############################################################
Hãy xóa file convert.php mà bạn vừa sử dụng để tránh trường hợp người khác vào chạy lại.

###############################################################
Thông báo đến thành viên
###############################################################
Sau khi hoàn tất quá trình trên, bạn cần đăng nhập vào ACP để gửi thư thông báo đến các thành viên về việc đề nghị họ truy cập vào:
http://ten_site.com/thu_muc_chua_nukevi ... ndpassword
để khôi phục mật khẩu.


Bạn có thể tải file dưới đây về để tham khảo những gì tôi đã trình bầy ở trên.
phpbb305_NV20RC1noForum.rar


Đây mới là sự mở đầu cho việc tích hợp phpbb3.x vào nukeviet.
Rất mong các bạn tiếp tục phát triển, tìm lỗi, hiến kế...

Trân trọng cảm ơn
NV Group
Bạn không được cấp phép để xem tập tin đính kèm trong bài viết này.
Hình đại diện của thành viên
AnhTu
Quản trị diễn đàn
Quản trị diễn đàn
 
Bài viết: 723
Ngày tham gia: 06 Tháng 1 2007, 01:44
Đến từ: VINADES.,JSC
Đã cảm ơn: 1 lần
Được cảm ơn: 5 lần

Re: PHPBB3.0.5 cho NukeViet 2.0 RC1

Bài viết chưa xemgửi bởi laser » 07 Tháng 6 2009, 22:27

Món quà thật ý nghĩa dành cho các thành viên NukeViet.
Vui lòng tìm kiếm trước khi hỏi, 90% các vấn đề những member mới gặp phải đều đã được giải quyết và có thể giải quyết thông qua đọc tài liệu. Các địa chỉ chứa các tài liệu cần thiết là:
http://wiki.nukeviet.vn
http://nukeviet.vn/vi/faq/
Hình đại diện của thành viên
laser
Quản trị diễn đàn
Quản trị diễn đàn
 
Bài viết: 4557
Ngày tham gia: 06 Tháng 1 2007, 01:33
Đến từ: Hải Phòng
Đã cảm ơn: 48 lần
Được cảm ơn: 168 lần

Re: PHPBB3.0.5 cho NukeViet 2.0 RC1

Bài viết chưa xemgửi bởi ConVoi » 07 Tháng 6 2009, 22:29

Chắc chắn có nhiều bạn rất chân thành cảm ơn anh Tú! :x =D>

Hiện tại phpBB3 phiên bản 3.0.5 là mới nhất. Tuy nhiên nếu sau này phpBB3 update lên các phiên bản mới hơn thì các bạn phải lưu ý để chỉnh sửa lại code cho các files mà anh Tú đã đề cập ở trên.

Tiện thể laser chú ý để cập nhật lại phiên bản cho diễn đàn này nhé!
Mr. Bùi Điệp Linh | Chief of Vinades Southern Branch
Mobile: +84 97 371 5439 | Email: linhbui@vinades.vn
Hình đại diện của thành viên
ConVoi
Phụ trách chung
 
Bài viết: 1050
Ngày tham gia: 05 Tháng 1 2007, 08:26
Đến từ: Vũng Tàu
Đã cảm ơn: 45 lần
Được cảm ơn: 21 lần

Re: PHPBB3.0.5 cho NukeViet 2.0 RC1

Bài viết chưa xemgửi bởi doanvananhtoan » 07 Tháng 6 2009, 22:31

Bản PHPBB3.0.5 chắc chắn có nhiều vượt trội hơn so với bản cũ rùi! Thanks anh Tú nhiều lắm!!!
Cảm ơn Nukeviet đã nuôi tôi lớn khôn những tháng ngày đáng nhớ...
doanvananhtoan
Thành viên năng động
Thành viên năng động
 
Bài viết: 240
Ngày tham gia: 04 Tháng 1 2009, 19:47
Đến từ: Nha Trang City
Đã cảm ơn: 0 lần
Được cảm ơn: 0 lần

Re: PHPBB3.0.5 cho NukeViet 2.0 RC1

Bài viết chưa xemgửi bởi HoaiNamDr » 07 Tháng 6 2009, 22:40

Có lẽ đây là tin vui nhất trong năm với nhiều thành viên nukeviet vì website cua nhiều người đa số làm cho trừong học, tổ chức và không thể thiếu diễn đàn, sang tuần em sẽ thử!
Nhưng anh có thể bật mí trứoc là member của nukeviet bị thay mật khẩu hay member của diễn đàn, vì rằng diễn đàn lynhanpupils.net của em hơn 3000 thành viên rùi! :-/
http://ykhoaviet.vn Cảm ơn những người đã tạo ra và phát triển nukeviet.
Hình đại diện của thành viên
HoaiNamDr
Thành viên năng động
Thành viên năng động
 
Bài viết: 413
Ngày tham gia: 06 Tháng 12 2007, 10:15
Đến từ: Hà Nội
Đã cảm ơn: 0 lần
Được cảm ơn: 0 lần

Re: PHPBB3.0.5 cho NukeViet 2.0 RC1

Bài viết chưa xemgửi bởi hongoctrien » 07 Tháng 6 2009, 22:45

Thanks Anhtu nhé

Lưu ý 1: Phải cài cơ sở dữ liệu của phpbb trên cùng một database của Nukeviet.
(Để tham khảo của Nukeviet, hãy xem trong file mainfile.php trên webroot);
Lưu ý 2: tiếp đầu tố của phpbb3 phải khác với tiếp đầu tố của NukeViet.


Anhtu có thể giải thích giùm em đoạn ni ko?
https://www.facebook.com/nukeviet
https://www.facebook.com/groups/nukeviet/
Anh em like FanPage và join group Nukeviet để nhận được những phản hồi mới nhất.
hongoctrien
Phát triển Modules
 
Bài viết: 1841
Ngày tham gia: 04 Tháng 12 2008, 17:53
Đến từ: Quảng Trị
Đã cảm ơn: 69 lần
Được cảm ơn: 169 lần

Re: PHPBB3.0.5 cho NukeViet 2.0 RC1

Bài viết chưa xemgửi bởi AnhTu » 07 Tháng 6 2009, 23:05

HoaiNamDr đã viết:Có lẽ đây là tin vui nhất trong năm với nhiều thành viên nukeviet vì website cua nhiều người đa số làm cho trừong học, tổ chức và không thể thiếu diễn đàn, sang tuần em sẽ thử!
Nhưng anh có thể bật mí trứoc là member của nukeviet bị thay mật khẩu hay member của diễn đàn, vì rằng diễn đàn lynhanpupils.net của em hơn 3000 thành viên rùi! :-/


Vì cơ chế tạo mật khẩu của Nukeviet là md5 còn của phpbb theo cách riêng, không đồng nhất nên tôi buộc phải để tất cả members của NukeViet phải thay mật khẩu mới theo cơ chế của phpbb. Nghĩa là: chỉ members của NV phải thay mật khẩu, còn của phpbb thì không.
Hình đại diện của thành viên
AnhTu
Quản trị diễn đàn
Quản trị diễn đàn
 
Bài viết: 723
Ngày tham gia: 06 Tháng 1 2007, 01:44
Đến từ: VINADES.,JSC
Đã cảm ơn: 1 lần
Được cảm ơn: 5 lần

Re: PHPBB3.0.5 cho NukeViet 2.0 RC1

Bài viết chưa xemgửi bởi AnhTu » 07 Tháng 6 2009, 23:18

hongoctrien đã viết:Thanks Anhtu nhé

Lưu ý 1: Phải cài cơ sở dữ liệu của phpbb trên cùng một database của Nukeviet.
(Để tham khảo của Nukeviet, hãy xem trong file mainfile.php trên webroot);
Lưu ý 2: tiếp đầu tố của phpbb3 phải khác với tiếp đầu tố của NukeViet.


Anhtu có thể giải thích giùm em đoạn ni ko?

Nghĩa là, khi cài phpbb, đến đoạn khai báo các thông số truy cập CSDL, bạn phải khai y hệt như của Nukeviet. Các thông số truy cập CSDL của Nukeviet được ghi ở file mainfile.php trên thư mục gốc của site. Bạn hãy mở file này ra sẽ thấy kiểu như thế này:
Mã: Chọn tất cả
$dbhost = "localhost";
$dbname = "nukeviet";

$db_tmp = date("G") % 3;
switch ($db_tmp) {
   case 0:
      $dbuname="root";
      $dbpass = "123456";
      break;
   case 1:
      $dbuname="root";
      $dbpass = "123456";
      break;
   case 2:
      $dbuname="root";
      $dbpass = "123456";
      break;
}

$prefix = "nukeviet";
$user_prefix = "nukeviet";


Khi cài phpbb, đến bước khai báo, bạn sẽ thấy các dòng:
- Database type: Hãy chọn MySQL.
- Database server hostname or DSN: giống như giá trị của $dbhost được ghi trong file mainfile.php (như ở trên là: localhost).
- Database server port: bỏ trống.
- Database name: giống như giá trị của $dbname được ghi trong file mainfile.php (như ở trên là: nukeviet).
- Database username: giống như giá trị của $dbuname được ghi trong file mainfile.php (như ở trên là: root).
- Database password: giống như giá trị của $dbpass được ghi trong file mainfile.php (như ở trên là: 123456).
- Prefix for tables in database: Không được giống giá trị của $prefix hoặc $user_prefix được ghi trong file mainfile.php (như ở trên là: nukeviet, nukeviet). Bạn có thể nghĩ ra một cái tên khác, ví dụ: myphpbb_.
Hình đại diện của thành viên
AnhTu
Quản trị diễn đàn
Quản trị diễn đàn
 
Bài viết: 723
Ngày tham gia: 06 Tháng 1 2007, 01:44
Đến từ: VINADES.,JSC
Đã cảm ơn: 1 lần
Được cảm ơn: 5 lần

Re: PHPBB3.0.5 cho NukeViet 2.0 RC1

Bài viết chưa xemgửi bởi phichan » 08 Tháng 6 2009, 00:13

Tuyệt vởi! Như vậy có thể thay cho cái phpBB2 cũ mèm rồi!
Nhân tiện anh tú cho hỏi:
Diễn đàn phpBB3 của tôi đã có rất nhiều dữ liệu nay muốn cài một Nukeviet2.0RC1 làm portal vậy làm sao để tích hợp user được????
phichan
Thành viên năng động
Thành viên năng động
 
Bài viết: 586
Ngày tham gia: 25 Tháng 3 2009, 20:19
Đã cảm ơn: 47 lần
Được cảm ơn: 12 lần

Re: PHPBB3.0.5 cho NukeViet 2.0 RC1

Bài viết chưa xemgửi bởi AnhTu » 08 Tháng 6 2009, 00:44

Bạn hãy cài Nukeviet vào 1 thư mục riêng với các thông số truy cập CSDL giống hệt như của phpbb (trừ tiếp đầu tố. Của phpbb thường là phpbb_). Sau đó, tạo thư mục có tên: "forum" bên trong thư mục mà bạn vừa cài nukeviet rồi di chuyển toàn bộ các file và thư mục của phpbb vào đó. Tiến hành chỉnh sửa files, đồng bộ hóa members như hướng dẫn trên.
Lưu ý: Bạn cũng cần sửa lại cả cấu hình của phpbb cho phù hợp với vị trí mới
Hình đại diện của thành viên
AnhTu
Quản trị diễn đàn
Quản trị diễn đàn
 
Bài viết: 723
Ngày tham gia: 06 Tháng 1 2007, 01:44
Đến từ: VINADES.,JSC
Đã cảm ơn: 1 lần
Được cảm ơn: 5 lần

Re: PHPBB3.0.5 cho NukeViet 2.0 RC1

Bài viết chưa xemgửi bởi vante » 08 Tháng 6 2009, 00:53

Quả là tuyệt vời cảm ơn anh Tú em đang nghĩ cái này khốn khổ đây ? giờ thì nhẹ cả người cảm ơn anh Tú Nhiều ! Test thui nào !!!
vante
Thành viên chính thức
Thành viên chính thức
 
Bài viết: 110
Ngày tham gia: 01 Tháng 1 2009, 15:41
Đến từ: Tp.HCM
Đã cảm ơn: 0 lần
Được cảm ơn: 1 lần

Re: PHPBB3.0.5 cho NukeViet 2.0 RC1

Bài viết chưa xemgửi bởi hongoctrien » 08 Tháng 6 2009, 06:08

AnhTu đã viết:Nghĩa là, khi cài phpbb, đến đoạn khai báo các thông số truy cập CSDL, bạn phải khai y hệt như của Nukeviet. Các thông số truy cập CSDL của Nukeviet được ghi ở file mainfile.php trên thư mục gốc của site. Bạn hãy mở file này ra sẽ thấy kiểu như thế này:
Mã: Chọn tất cả
$dbhost = "localhost";
$dbname = "nukeviet";

$db_tmp = date("G") % 3;
switch ($db_tmp) {
   case 0:
      $dbuname="root";
      $dbpass = "123456";
      break;
   case 1:
      $dbuname="root";
      $dbpass = "123456";
      break;
   case 2:
      $dbuname="root";
      $dbpass = "123456";
      break;
}

$prefix = "nukeviet";
$user_prefix = "nukeviet";


Khi cài phpbb, đến bước khai báo, bạn sẽ thấy các dòng:
- Database type: Hãy chọn MySQL.
- Database server hostname or DSN: giống như giá trị của $dbhost được ghi trong file mainfile.php (như ở trên là: localhost).
- Database server port: bỏ trống.
- Database name: giống như giá trị của $dbname được ghi trong file mainfile.php (như ở trên là: nukeviet).
- Database username: giống như giá trị của $dbuname được ghi trong file mainfile.php (như ở trên là: root).
- Database password: giống như giá trị của $dbpass được ghi trong file mainfile.php (như ở trên là: 123456).
- Prefix for tables in database: Không được giống giá trị của $prefix hoặc $user_prefix được ghi trong file mainfile.php (như ở trên là: nukeviet, nukeviet). Bạn có thể nghĩ ra một cái tên khác, ví dụ: myphpbb_.



Em đã hiểu, cho em hỏi cái nữa là vẫn giữ dc các bài viết và các mod đã hack ở phpbb2 chứ?
https://www.facebook.com/nukeviet
https://www.facebook.com/groups/nukeviet/
Anh em like FanPage và join group Nukeviet để nhận được những phản hồi mới nhất.
hongoctrien
Phát triển Modules
 
Bài viết: 1841
Ngày tham gia: 04 Tháng 12 2008, 17:53
Đến từ: Quảng Trị
Đã cảm ơn: 69 lần
Được cảm ơn: 169 lần

Re: PHPBB3.0.5 cho NukeViet 2.0 RC1

Bài viết chưa xemgửi bởi AnhTu » 08 Tháng 6 2009, 08:49

Nếu phpbb của bạn chạy độc lập và là bản 2.x thì trước hết hãy nâng cấp nó lên bản mới nhất sau đó cài như mình đã viết:
AnhTu đã viết:Bạn hãy cài Nukeviet vào 1 thư mục riêng với các thông số truy cập CSDL giống hệt như của phpbb (trừ tiếp đầu tố. Của phpbb thường là phpbb_). Sau đó, tạo thư mục có tên: "forum" bên trong thư mục mà bạn vừa cài nukeviet rồi di chuyển toàn bộ các file và thư mục của phpbb vào đó. Tiến hành chỉnh sửa files, đồng bộ hóa members như hướng dẫn trên.
Lưu ý: Bạn cũng cần sửa lại cả cấu hình của phpbb cho phù hợp với vị trí mới
Hình đại diện của thành viên
AnhTu
Quản trị diễn đàn
Quản trị diễn đàn
 
Bài viết: 723
Ngày tham gia: 06 Tháng 1 2007, 01:44
Đến từ: VINADES.,JSC
Đã cảm ơn: 1 lần
Được cảm ơn: 5 lần

Re: PHPBB3.0.5 cho NukeViet 2.0 RC1

Bài viết chưa xemgửi bởi lethanhdanh » 08 Tháng 6 2009, 09:31

Sao ko có mod Thanks nhỉ, để Thanks Bro Tú phát :x
Hình đại diện của thành viên
lethanhdanh
Thành viên năng động
Thành viên năng động
 
Bài viết: 431
Ngày tham gia: 27 Tháng 1 2007, 15:00
Đến từ: Vũng Tàu
Đã cảm ơn: 1 lần
Được cảm ơn: 0 lần

Re: PHPBB3.0.5 cho NukeViet 2.0 RC1

Bài viết chưa xemgửi bởi hongoctrien » 08 Tháng 6 2009, 17:20

:(( :(( :((
Em ngồi cả buổi chiều, làm đúng theo hướng dẫn, chạy file conver.php và đã thông báo đã chuyển member..........Nó không tự tạo dc file nukeviet_config.php thì em cũng đã tạo up lên home/forum/ rồi giờ nó báo lỗi HTTP 500 Internetal Sever Error mới đau chứ
https://www.facebook.com/nukeviet
https://www.facebook.com/groups/nukeviet/
Anh em like FanPage và join group Nukeviet để nhận được những phản hồi mới nhất.
hongoctrien
Phát triển Modules
 
Bài viết: 1841
Ngày tham gia: 04 Tháng 12 2008, 17:53
Đến từ: Quảng Trị
Đã cảm ơn: 69 lần
Được cảm ơn: 169 lần

Re: PHPBB3.0.5 cho NukeViet 2.0 RC1

Bài viết chưa xemgửi bởi AnhTu » 08 Tháng 6 2009, 17:22

Bạn cung cấp cho tôi thông tin đăng nhập Cpanel của host để tôi kiểm tra.
Hình đại diện của thành viên
AnhTu
Quản trị diễn đàn
Quản trị diễn đàn
 
Bài viết: 723
Ngày tham gia: 06 Tháng 1 2007, 01:44
Đến từ: VINADES.,JSC
Đã cảm ơn: 1 lần
Được cảm ơn: 5 lần

Re: PHPBB3.0.5 cho NukeViet 2.0 RC1

Bài viết chưa xemgửi bởi funboy » 08 Tháng 6 2009, 18:20

Món quà thật ý nghĩa cảm ơn anh
http://www.tmpccc.com/
Cung cấp thiết bị Phòng cháy Chữa cháy

http://nhatcuaroi.net
Nhịp cầu nối nhanh nhất giữa người nhặt được và người đánh mất!

http://tmvietnam.com
Vòng kết nối Doanh nghiệp

http://kenhrss.com , http://kenhrss.net
Trang tin tức rss
Hình đại diện của thành viên
funboy
Thành viên năng động
Thành viên năng động
 
Bài viết: 743
Ngày tham gia: 15 Tháng 1 2007, 21:10
Đã cảm ơn: 13 lần
Được cảm ơn: 10 lần

Re: PHPBB3.0.5 cho NukeViet 2.0 RC1

Bài viết chưa xemgửi bởi hongoctrien » 08 Tháng 6 2009, 19:22

AnhTu đã viết:Bạn cung cấp cho tôi thông tin đăng nhập Cpanel của host để tôi kiểm tra.


Thanks anh nha! Em nhắn tin cho anh, anh giúp em với nha :D
https://www.facebook.com/nukeviet
https://www.facebook.com/groups/nukeviet/
Anh em like FanPage và join group Nukeviet để nhận được những phản hồi mới nhất.
hongoctrien
Phát triển Modules
 
Bài viết: 1841
Ngày tham gia: 04 Tháng 12 2008, 17:53
Đến từ: Quảng Trị
Đã cảm ơn: 69 lần
Được cảm ơn: 169 lần

Re: PHPBB3.0.5 cho NukeViet 2.0 RC1

Bài viết chưa xemgửi bởi phanthuanqt » 08 Tháng 6 2009, 19:32

Có ai chạy chưa cho TÉT thử coi! Cảm ơn anh Tú nhiều nhiều!
[b]Chỉ được phép chỉ trích người khác khi mình đã làm được việc gì đó có ích cho họ, nếu chỉ trích không thôi thì hãy xem lại mình.[/b]
Website: www.thptnxo.edu.vn
Hình đại diện của thành viên
phanthuanqt
Thành viên năng động
Thành viên năng động
 
Bài viết: 260
Ngày tham gia: 27 Tháng 4 2009, 12:42
Đến từ: Nghệ An
Đã cảm ơn: 0 lần
Được cảm ơn: 0 lần

Re: PHPBB3.0.5 cho NukeViet 2.0 RC1

Bài viết chưa xemgửi bởi AnhTu » 08 Tháng 6 2009, 20:54

hongoctrien đã viết:
AnhTu đã viết:Bạn cung cấp cho tôi thông tin đăng nhập Cpanel của host để tôi kiểm tra.


Thanks anh nha! Em nhắn tin cho anh, anh giúp em với nha :D


Bạn đã làm sai rồi.
Hướng dẫn cài đặt ghi là bản NukeViet 2.0 RC1 NoForum (Bản không có forum)
Hình đại diện của thành viên
AnhTu
Quản trị diễn đàn
Quản trị diễn đàn
 
Bài viết: 723
Ngày tham gia: 06 Tháng 1 2007, 01:44
Đến từ: VINADES.,JSC
Đã cảm ơn: 1 lần
Được cảm ơn: 5 lần

Trang kế tiếp

Quay về Tích hợp phpBB

Ai đang trực tuyến?

Đang xem chuyên mục này: Không có thành viên nào đang trực tuyến1 khách


http://my.metadata.vn
WEB NHANH - Thiết kế web nhanh
Dự án 20 triệu máy tính bảng
Sponsored Links: Thiết kế web nhanh | Thiết kế website dựng sẵn | thiết kế web trường học | Thiet ke web công ty
Web bán hàng trực tuyến | Du học Nhat Ban | Du học Uc | Du học Anh Quoc | Du học Han Quoc | Du học Dai Loan | Du học Gia re | thay đổi đăng ký kinh doanh
giấy phép kinh doanh rượu | Máy lọc nước geyser | Máy lọc nước nano