Перейти к контенту
  • 0

Не могу установить форум


Andrey-88

Вопрос

Короче, создаю папку forums, закидываю все файлы папки uploads и переименовываю config / ставлю 0777, запускаю install/index.php - вот это:

 

Script written by Matthew Mecham | > Date started: 19th March 2004 | > Updated for 2.1: 23 June 2005 | +-------------------------------------------------------------------------- */ error_reporting (E_ERROR | E_WARNING | E_PARSE); set_magic_quotes_runtime(0); //+------------------------------------------------------------------------ // ENTER YOUR PATH TO THE DIRECTORY THIS SCRIPT IS IN. //+------------------------------------------------------------------------ // Tips: // // If you are using Windows and Apache, do not // use backslashes, use normal forward slashes. // You may need to remove the drive letter also // Example: C:\apache\htdocs\ibforums\ will need // to be: /apache/htdocs/ibforums/ // // If you are using Windows and IIS, then you will // need to enter double backslashes. // // In all cases, please enter a trailing slash (or // trailing backslashes...) //+------------------------------------------------------------------------ define( 'THIS_ROOT_PATH', './' ); //+------------------------------------------------------------------------ // ROOT TO REST OF IPB (SHOULD BE ABLE TO LEAVE AS-IS //+------------------------------------------------------------------------ define( 'ROOT_PATH', '../' ); //----------------------------------------------- // NO USER EDITABLE SECTIONS BELOW //----------------------------------------------- define( 'KERNEL_PATH', ROOT_PATH.'ips_kernel/' ); define( 'CACHE_PATH' , ROOT_PATH ); define ( 'IN_ACP', 1 ); define ( 'IN_IPB', 1 ); define ( 'IN_DEV', 0 ); define ( 'IPBVERSION', '2.1.7' ); define ( 'IPB_LONG_VERSION', '21013.60712.u' ); define ( 'USE_SHUTDOWN', 0 ); define ( 'SAFE_MODE_ON', 0 ); $INFO = array(); //-------------------------------- // Load our classes //-------------------------------- require ROOT_PATH . "sources/ipsclass.php"; require KERNEL_PATH . "class_converge.php"; # Initiate super-class $ipsclass = new ipsclass(); $ipsclass->vars = $INFO; $ipsclass->template = new template(); //-------------------------------- // Set up our vars //-------------------------------- $ipsclass->parse_incoming(); $ipsclass->initiate_ipsclass(); //-------------------------------- // Set converge //-------------------------------- $ipsclass->converge = new class_converge( $ipsclass->DB ); //--------------------------------------- // Installer locked? //--------------------------------------- if ( file_exists( THIS_ROOT_PATH.'install.lock') ) { install_error("Скрипт установки заблокирован!

Пожалуйста, (через FTP) удалите файл 'install/install.lock'"); exit(); } //--------------------------------------- // Make sure we've renamed conf_global.php //--------------------------------------- if ( file_exists( ROOT_PATH.'conf_global.php.dist') AND ! file_exists( ROOT_PATH.'conf_global.php') ) { if ( ! @rename( ROOT_PATH.'conf_global.php.dist', ROOT_PATH.'conf_global.php' ) ) { install_error("

Вы обязаны переименовать файл 'conf_global.php.dist' в 'conf_global.php' перед установкой форума.

Этот файл можно найти в корневой папке форума, там же где и 'admin.php' и 'index.php'."); exit(); } } //----------------------------------------------- // What to do? //----------------------------------------------- switch($ipsclass->input['a']) { case '1': do_setup_form(); break; case '2': do_install(); break; case 'templates': do_templates(); break; case 'acpperms': do_acpperms(); break; case '3': do_finish(); break; default: do_intro(); break; } /*-------------------------------------------------------------------------*/ // DO FINISH /*-------------------------------------------------------------------------*/ function do_finish() { global $ipsclass; //----------------------------------- // IMPORT $INFO! //----------------------------------- $require = ROOT_PATH."conf_global.php"; if ( ! file_exists($require) ) { install_error("Невозможно найти файл '$require'. Возможно, вам необходимо ввести полный путь к этому файлу скрипта установки (index.php). Для этого просто откройте этот файл в любом текстовом редакторе и введите значение переменной \$root (не забудьте добавить конечный слэш '/'). Пользователям NT систем необходимо использовать двойной слэш."); } require_once($require); //----------------------------------- // Attempt a DB connection.. //----------------------------------- require_once( KERNEL_PATH.'class_db_'.$INFO['sql_driver'].".php" ); $ipsclass->DB = new db_driver(); $ipsclass->DB->obj['sql_database'] = $INFO['sql_database']; $ipsclass->DB->obj['sql_user'] = $INFO['sql_user']; $ipsclass->DB->obj['sql_pass'] = $INFO['sql_pass']; $ipsclass->DB->obj['sql_host'] = $INFO['sql_host']; $ipsclass->DB->obj['sql_tbl_prefix'] = $INFO['sql_tbl_prefix']; $ipsclass->DB->obj['query_cache_file'] = ROOT_PATH.'sources/sql/'.$INFO['sql_driver'].'_admin_queries.php'; $ipsclass->DB->obj['use_shutdown'] = 0; //----------------------------------- // Required vars? //----------------------------------- if ( is_array( $ipsclass->DB->connect_vars ) and count( $ipsclass->DB->connect_vars ) ) { foreach( $ipsclass->DB->connect_vars as $k => $v ) { $ipsclass->DB->connect_vars[ $k ] = $INFO[ $k ]; } } //----------------------------------- // Attempt a connect //----------------------------------- if ( ! $ipsclass->DB->connect() ) { install_error( "Ошибка соединения:

 

".$ipsclass->DB->error ); } //-------------------------------- // Make CONSTANT //-------------------------------- define( 'SQL_PREFIX', $ipsclass->DB->obj['sql_tbl_prefix'] ); define( 'SQL_DRIVER', strtolower($INFO['sql_driver']) ); //----------------------------------- // Get ACP library //----------------------------------- require_once( ROOT_PATH.'sources/lib/admin_cache_functions.php' ); $acp = new admin_cache_functions(); $acp->ipsclass =& $ipsclass; $acp->_rebuild_all_caches( array(2) ); unset( $acp ); //------------------------------------------------------------- // Forum cache //------------------------------------------------------------- $ipsclass->update_forum_cache(); //------------------------------------------------------------- // Group Cache //------------------------------------------------------------- require_once(

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Поддержка PHP4

Мне давали тестовый аккуант - я устанавливал форум - все правильно установилось! А тут не могу уже на моем заплаченном хостинге все сделать! Помогите, братцы!

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Вот первый сто строчек!

 

<?php

 

/*

+--------------------------------------------------------------------------

| Invision Power Board 2.1.7

| Invision Power Board INSTALLER

| ========================================

| by Matthew Mecham

| © 2001 - 2005 Invision Power Services, Inc.

| http://www.invisionpower.com

| =============================================

| Web: http://www.invisionboard.com

| http://www.ibresource.ru/products/invisionpowerboard/

| Time: Tuesday 18th of July 2006 05:56:00 PM

| Release: 52f408a29988b02f45b5e6f4ba5af0ae

| Licence Info: http://www.invisionboard.com/?license

| http://www.ibresource.ru/license

+---------------------------------------------------------------------------

| INVISION POWER BOARD IS NOT FREE / OPEN SOURCE!

+---------------------------------------------------------------------------

| INVISION POWER BOARD НЕ ЯВЛЯЕТСЯ БЕСПЛАТНЫМ ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ!

| Права на ПО принадлежат Invision Power Services

| Права на перевод IBResource (http://www.ibresource.ru)

+--------------------------------------------------------------------------

|

| > Script written by Matthew Mecham

| > Date started: 19th March 2004

| > Updated for 2.1: 23 June 2005

|

+--------------------------------------------------------------------------

*/

 

error_reporting (E_ERROR | E_WARNING | E_PARSE);

set_magic_quotes_runtime(0);

 

//+------------------------------------------------------------------------

// ENTER YOUR PATH TO THE DIRECTORY THIS SCRIPT IS IN.

//+------------------------------------------------------------------------

// Tips:

//

// If you are using Windows and Apache, do not

// use backslashes, use normal forward slashes.

// You may need to remove the drive letter also

// Example: C:\apache\htdocs\ibforums\ will need

// to be: /apache/htdocs/ibforums/

//

// If you are using Windows and IIS, then you will

// need to enter double backslashes.

//

// In all cases, please enter a trailing slash (or

// trailing backslashes...)

//+------------------------------------------------------------------------

 

define( 'THIS_ROOT_PATH', './' );

 

//+------------------------------------------------------------------------

// ROOT TO REST OF IPB (SHOULD BE ABLE TO LEAVE AS-IS

//+------------------------------------------------------------------------

 

define( 'ROOT_PATH', '../' );

 

//-----------------------------------------------

// NO USER EDITABLE SECTIONS BELOW

//-----------------------------------------------

 

define( 'KERNEL_PATH', ROOT_PATH.'ips_kernel/' );

define( 'CACHE_PATH' , ROOT_PATH );

 

define ( 'IN_ACP', 1 );

define ( 'IN_IPB', 1 );

define ( 'IN_DEV', 0 );

 

define ( 'IPBVERSION', '2.1.7' );

define ( 'IPB_LONG_VERSION', '21013.60712.u' );

 

define ( 'USE_SHUTDOWN', 0 );

define ( 'SAFE_MODE_ON', 0 );

 

$INFO = array();

 

//--------------------------------

// Load our classes

//--------------------------------

 

require ROOT_PATH . "sources/ipsclass.php";

require KERNEL_PATH . "class_converge.php";

 

# Initiate super-class

$ipsclass = new ipsclass();

$ipsclass->vars = $INFO;

$ipsclass->template = new template();

 

//--------------------------------

// Set up our vars

//--------------------------------

 

$ipsclass->parse_incoming();

 

$ipsclass->initiate_ipsclass();

 

//--------------------------------

// Set converge

//--------------------------------

 

$ipsclass->converge = new class_converge( $ipsclass->DB );

 

//---------------------------------------

// Installer locked?

//---------------------------------------

 

if ( file_exists( THIS_ROOT_PATH.'install.lock') )

{

install_error("Скрипт установки заблокирован!<br>Пожалуйста, (через FTP) удалите файл 'install/install.lock'");

exit();

}

 

//---------------------------------------

// Make sure we've renamed conf_global.php

//---------------------------------------

 

if ( file_exists( ROOT_PATH.'conf_global.php.dist') AND ! file_exists( ROOT_PATH.'conf_global.php') )

{

if ( ! @rename( ROOT_PATH.'conf_global.php.dist', ROOT_PATH.'conf_global.php' ) )

{

install_error("<h1 align='center'>Вы обязаны переименовать файл 'conf_global.<b style='color:red'>php.dist</b>' в 'conf_global.<b style='color:red'>php</b>' перед установкой форума.</h1>

Этот файл можно найти в корневой папке форума, там же где и 'admin.php' и 'index.php'.");

exit();

}

}

 

 

//-----------------------------------------------

// What to do?

//-----------------------------------------------

 

switch($ipsclass->input['a'])

{

case '1':

do_setup_form();

break;

 

case '2':

do_install();

break;

 

case 'templates':

do_templates();

break;

 

case 'acpperms':

do_acpperms();

break;

 

case '3':

do_finish();

break;

 

default:

do_intro();

break;

}

 

 

/*-------------------------------------------------------------------------*/

// DO FINISH

/*-------------------------------------------------------------------------*/

 

function do_finish()

{

global $ipsclass;

 

//-----------------------------------

// IMPORT $INFO!

//-----------------------------------

 

$require = ROOT_PATH."conf_global.php";

 

if ( ! file_exists($require) )

{

install_error("Невозможно найти файл '$require'. Возможно, вам необходимо ввести полный путь к этому файлу скрипта установки (index.php). Для этого просто откройте этот файл в любом текстовом редакторе и введите значение переменной \$root (не забудьте добавить конечный слэш '/'). Пользователям NT систем необходимо использовать двойной слэш.");

}

 

require_once($require);

 

//-----------------------------------

// Attempt a DB connection..

//-----------------------------------

 

require_once( KERNEL_PATH.'class_db_'.$INFO['sql_driver'].".php" );

 

$ipsclass->DB = new db_driver();

 

$ipsclass->DB->obj['sql_database'] = $INFO['sql_database'];

$ipsclass->DB->obj['sql_user'] = $INFO['sql_user'];

$ipsclass->DB->obj['sql_pass'] = $INFO['sql_pass'];

$ipsclass->DB->obj['sql_host'] = $INFO['sql_host'];

$ipsclass->DB->obj['sql_tbl_prefix'] = $INFO['sql_tbl_prefix'];

$ipsclass->DB->obj['query_cache_file'] = ROOT_PATH.'sources/sql/'.$INFO['sql_driver'].'_admin_queries.php';

$ipsclass->DB->obj['use_shutdown'] = 0;

 

//-----------------------------------

// Required vars?

//-----------------------------------

 

if ( is_array( $ipsclass->DB->connect_vars ) and count( $ipsclass->DB->connect_vars ) )

{

foreach( $ipsclass->DB->connect_vars as $k => $v )

{

$ipsclass->DB->connect_vars[ $k ] = $INFO[ $k ];

}

}

 

//-----------------------------------

// Attempt a connect

//-----------------------------------

 

if ( ! $ipsclass->DB->connect() )

{

install_error( "Ошибка соединения:<br /><br />".$ipsclass->DB->error );

}

 

//--------------------------------

// Make CONSTANT

//--------------------------------

 

define( 'SQL_PREFIX', $ipsclass->DB->obj['sql_tbl_prefix'] );

define( 'SQL_DRIVER', strtolower($INFO['sql_driver']) );

 

//-----------------------------------

// Get ACP library

//-----------------------------------

 

require_once( ROOT_PATH.'sources/lib/admin_cache_functions.php' );

$acp = new admin_cache_functions();

$acp->ipsclass =& $ipsclass;

$acp->_rebuild_all_caches( array(2) );

unset( $acp );

 

//-------------------------------------------------------------

// Forum cache

//-------------------------------------------------------------

 

$ipsclass->update_forum_cache();

 

//-------------------------------------------------------------

// Group Cache

//-------------------------------------------------------------

 

require_once( ROOT_PATH.'sources/action_admin/groups.php' );

$lib = new ad_groups();

$lib->ipsclass =& $ipsclass;

$lib->rebuild_group_cache();

unset( $lib );

 

//-------------------------------------------------------------

// Systemvars

//-------------------------------------------------------------

 

$ipsclass->cache['systemvars'] = array();

 

$result = $ipsclass->DB->simple_exec_query( array( 'select' => 'count(*) as cnt', 'from' => 'mail_queue' ) );

 

$ipsclass->cache['systemvars']['mail_queue'] = intval( $result['cnt'] );

$ipsclass->cache['systemvars']['task_next_run'] = time() + 3600;

 

$ipsclass->update_cache( array( 'name' => 'systemvars', 'array' => 1, 'deletefirst' => 1 ) );

 

//-------------------------------------------------------------

// Stats

//-------------------------------------------------------------

 

$ipsclass->cache['stats'] = array();

 

$ipsclass->cache['stats']['total_replies'] = 0;

$ipsclass->cache['stats']['total_topics'] = 1;

$ipsclass->cache['stats']['mem_count'] = 1;

 

$r = $ipsclass->DB->simple_exec_query( array( 'select' => 'id, name',

'from' => 'members',

'order' => 'id DESC',

'limit' => '0,1'

) );

 

$ipsclass->cache['stats']['last_mem_name'] = $r['name'];

$ipsclass->cache['stats']['last_mem_id'] = $r['id'];

 

$ipsclass->update_cache( array( 'name' => 'stats', 'array' => 1, 'deletefirst' => 1 ) );

 

//-------------------------------------------------------------

// Ranks

//-------------------------------------------------------------

 

require_once( ROOT_PATH.'sources/action_admin/member.php' );

$lib = new ad_member();

$lib->ipsclass =& $ipsclass;

$lib->titles_recache();

unset( $lib );

 

//-------------------------------------------------------------

// SETTINGS

//-------------------------------------------------------------

 

require_once( ROOT_PATH.'sources/action_admin/settings.php' );

$lib = new ad_settings();

$lib->ipsclass =& $ipsclass;

$lib->setting_rebuildcache();

unset( $lib );

 

//-------------------------------------------------------------

// EMOTICONS

//-------------------------------------------------------------

 

require_once( ROOT_PATH.'sources/action_admin/emoticons.php' );

$lib = new ad_emoticons();

$lib->ipsclass =& $ipsclass;

$lib->emoticon_rebuildcache();

unset( $lib );

 

//-------------------------------------------------------------

// LANGUAGES

//-------------------------------------------------------------

 

require_once( ROOT_PATH.'sources/action_admin/languages.php' );

$lib = new ad_languages();

$lib->ipsclass =& $ipsclass;

$lib->rebuild_cache();

unset( $lib );

 

//-------------------------------------------------------------

// ATTACHMENT TYPES

//-------------------------------------------------------------

 

require_once( ROOT_PATH.'sources/action_admin/attachments.php' );

$lib = new ad_attachments();

$lib->ipsclass =& $ipsclass;

$lib->attach_type_rebuildcache();

unset( $lib );

 

 

//-----------------------------------

// Attempt to lock the install..

//-----------------------------------

 

if ($FH = @fopen( THIS_ROOT_PATH.'install.lock', 'w' ) )

{

@fwrite( $FH, 'bleh', 4 );

@fclose($FH);

 

@chmod( THIS_ROOT_PATH.'install.lock', 0666 );

 

$ipsclass->template->print_top('Успешно!');

 

$msg="Скрипт установки сейчас заблокирован (для переустановки удалите файл 'install.lock'). Для большей безопасности, пожалуйста, удалите файл install/index.php прежде, чем продолжить.

<br><br>

<center><b><a href='../index.php?act=Login&CODE=00'>НАЖМИТЕ СЮДА, ЧТОБЫ ВОЙТИ В ФОРУМ!</a></center>";

}

else

{

$ipsclass->template->print_top('Успешно!');

 

$msg = "ПОЖАЛУЙСТА, УДАЛИТЕ ФАЙЛ СКРИПТА УСТАНОВКИ ('/install/index.php') ПРЕЖДЕ, ЧЕМ ПРОДОЛЖИТЬ!<br> Если вы не сделаете этого, любой пользователь интернета сможет удалить данные вашего форума!

<br><br>

<center><b><a href='../index.php?act=Login&CODE=00'>НАЖМИТЕ СЮДА, ЧТОБЫ ВОЙТИ В ФОРУМ!</a></center>";

}

 

$ipsclass->template->contents .= "

<div class='centerbox'>

<div class='tableborder'>

<div class='maintitle'>Успешно</div>

<div class='tablepad'>

<b>Успешно</b>

<br><br>

$msg

</div>

</div>

</div>";

 

$ipsclass->template->output();

}

 

//*-------------------------------------------------------------------------*/

// Install the ACP perm keys

/*-------------------------------------------------------------------------*/

 

function do_acpperms()

{

global $ipsclass;

 

//-----------------------------------

// INIT

//-----------------------------------

 

$inserted = 0;

 

//-----------------------------------

// IMPORT $INFO!

//-----------------------------------

 

$require = ROOT_PATH."conf_global.php";

 

if ( ! file_exists($require) )

{

install_error("Невозможно найти '$require'. Возможно, вам необходимо ввести полный путь к этому файлу скрипта установки (index.php). Для этого просто откройте этот файл в любом текстовом редакторе и введите значение переменной \$root (не забудьте добавить конечный слэш '/'). Пользователям NT систем необходимо использовать двойной слэш.");

}

 

require_once($require);

 

//-----------------------------------

// Attempt a DB connection..

//-----------------------------------

 

require_once( KERNEL_PATH.'class_db_'.$INFO['sql_driver'].".php" );

 

$ipsclass->DB = new db_driver();

 

$ipsclass->DB->obj['sql_database'] = $INFO['sql_database'];

$ipsclass->DB->obj['sql_user'] = $INFO['sql_user'];

$ipsclass->DB->obj['sql_pass'] = $INFO['sql_pass'];

$ipsclass->DB->obj['sql_host'] = $INFO['sql_host'];

$ipsclass->DB->obj['sql_tbl_prefix'] = $INFO['sql_tbl_prefix'];

$ipsclass->DB->obj['query_cache_file'] = ROOT_PATH.'sources/sql/'.$INFO['sql_driver'].'_admin_queries.php';

$ipsclass->DB->obj['use_shutdown'] = 0;

 

//-----------------------------------

// Required vars?

//-----------------------------------

 

if ( is_array( $ipsclass->DB->connect_vars ) and count( $ipsclass->DB->connect_vars ) )

{

foreach( $ipsclass->DB->connect_vars as $k => $v )

{

$ipsclass->DB->connect_vars[ $k ] = $INFO[ $k ];

}

}

 

//-----------------------------------

// Attempt a connect

//-----------------------------------

 

if ( ! $ipsclass->DB->connect() )

{

install_error( "Ошибка соединения:<br /><br />".$ipsclass->DB->error );

}

 

//--------------------------------

// Make CONSTANT

//--------------------------------

 

define( 'SQL_PREFIX', $ipsclass->DB->obj['sql_tbl_prefix'] );

define( 'SQL_DRIVER', strtolower($INFO['sql_driver']) );

 

//-----------------------------------

// Get XML

//-----------------------------------

 

require_once( KERNEL_PATH.'class_xml.php' );

 

$xml = new class_xml();

$xml->lite_parser = 1;

 

//-------------------------------

// GET MACROS

//-------------------------------

 

$xmlfile = THIS_ROOT_PATH.'installfiles/ipb_acpperms.xml';

 

$content = implode( "", file($xmlfile) );

 

//-------------------------------

// Unpack the datafile (MACRO)

//-------------------------------

 

$xml->xml_parse_document( $content );

 

//-----------------------------------------

// Fix up...

//-----------------------------------------

 

if ( ! is_array( $xml->xml_array['permsexport']['permsgroup']['perm'][0] ) )

{

//-----------------------------------------

// Ensure [0] is populated

//-----------------------------------------

 

$tmp = $xml->xml_array['permsexport']['permsgroup']['perm'];

 

unset($xml->xml_array['permsexport']['permsgroup']['perm']);

 

$xml->xml_array['permsexport']['permsgroup']['perm'][0] = $tmp;

}

 

//-----------------------------------------

// Loop through and sort out settings...

//-----------------------------------------

 

foreach( $xml->xml_array['permsexport']['permsgroup']['perm'] as $id => $entry )

{

//-----------------------------------------

// Do we have a row matching this already?

//-----------------------------------------

 

$_perm_main = $entry['acpperm_main']['VALUE'];

$_perm_child = $entry['acpperm_child']['VALUE'];

$_perm_bit = $entry['acpperm_bit']['VALUE'];

 

$_perm_key = $_perm_main.':'.$_perm_child.':'.$_perm_bit;

 

if ( ! $cur_perms[ $_perm_key ] )

{

$ipsclass->DB->do_insert( 'admin_permission_keys', array( 'perm_key' => $_perm_key,

'perm_main' => $_perm_main,

'perm_child' => $_perm_child,

'perm_bit' => $_perm_bit ) );

 

$inserted++;

}

}

 

//-------------------------------

// ARE WE DONE? REALLY? COOL!!

//-------------------------------

 

$ipsclass->template->print_top('Успешно!');

 

$ipsclass->template->contents .= "

<meta http-equiv='refresh' content='2; url=index.php?a=3' />

<div class='centerbox'>

<div class='tableborder'>

<div class='maintitle'>Успешно</div>

<div class='tablepad'>

<b>Файлы шаблонов установлены!</b>

<br><br>

$inserted настроек ограничения доступа в админцентр вставлено.

<br>

Нажмите на ссылку ниже для создания требуемых данных для кеширования

<br><br>

<center><b><a href='index.php?a=3'>Нажмите сюда для продолжения</a></center>

</div>

</div>

</div>";

 

$ipsclass->template->output();

}

 

//*-------------------------------------------------------------------------*/

// Install the template files, woohoo and stuff

/*-------------------------------------------------------------------------*/

 

function do_templates()

{

global $ipsclass;

 

//-----------------------------------

// IMPORT $INFO!

//-----------------------------------

 

$require = ROOT_PATH."conf_global.php";

 

if ( ! file_exists($require) )

{

install_error("Невозможно найти '$require'. Возможно, вам необходимо ввести полный путь к этому файлу скрипта установки (index.php). Для этого просто откройте этот файл в любом текстовом редакторе и введите значение переменной \$root (не забудьте добавить конечный слэш '/'). Пользователям NT систем необходимо использовать двойной слэш.");

}

 

require_once($require);

 

//-----------------------------------

// Attempt a DB connection..

//-----------------------------------

 

require_once( KERNEL_PATH.'class_db_'.$INFO['sql_driver'].".php" );

 

$ipsclass->DB = new db_driver();

 

$ipsclass->DB->obj['sql_database'] = $INFO['sql_database'];

$ipsclass->DB->obj['sql_user'] = $INFO['sql_user'];

$ipsclass->DB->obj['sql_pass'] = $INFO['sql_pass'];

$ipsclass->DB->obj['sql_host'] = $INFO['sql_host'];

$ipsclass->DB->obj['sql_tbl_prefix'] = $INFO['sql_tbl_prefix'];

$ipsclass->DB->obj['query_cache_file'] = ROOT_PATH.'sources/sql/'.$INFO['sql_driver'].'_admin_queries.php';

$ipsclass->DB->obj['use_shutdown'] = 0;

 

//-----------------------------------

// Required vars?

//-----------------------------------

 

if ( is_array( $ipsclass->DB->connect_vars ) and count( $ipsclass->DB->connect_vars ) )

{

foreach( $ipsclass->DB->connect_vars as $k => $v )

{

$ipsclass->DB->connect_vars[ $k ] = $INFO[ $k ];

}

}

 

//-----------------------------------

// Attempt a connect

//-----------------------------------

 

if ( ! $ipsclass->DB->connect() )

{

install_error( "Ошибка соединения:<br /><br />".$ipsclass->DB->error );

}

 

//--------------------------------

// Make CONSTANT

//--------------------------------

 

define( 'SQL_PREFIX', $ipsclass->DB->obj['sql_tbl_prefix'] );

define( 'SQL_DRIVER', strtolower($INFO['sql_driver']) );

 

//-----------------------------------

// Get XML

//-----------------------------------

 

require_once( KERNEL_PATH.'class_xml.php' );

 

$xml = new class_xml();

$xml->lite_parser = 1;

 

//-----------------------------------

// Get XML file (TEMPLATES)

//-----------------------------------

 

$xmlfile = ROOT_PATH.'ipb_templates.xml';

 

$setting_content = implode( "", file($xmlfile) );

 

//-------------------------------

// Unpack the datafile (TEMPLATES)

//-------------------------------

 

$xml->xml_parse_document( $setting_content );

 

//-------------------------------

// (TEMPLATES)

//-------------------------------

 

if ( ! is_array( $xml->xml_array['templateexport']['templategroup']['template'] ) )

{

install_error("Ошибка с ipb_templates.xml - невозможно выполнить XML");

}

 

foreach( $xml->xml_array['templateexport']['templategroup']['template'] as $id => $entry )

{

$newrow = array();

 

$newrow['group_name'] = $entry[ 'group_name' ]['VALUE'];

$newrow['section_content'] = $entry[ 'section_content' ]['VALUE'];

$newrow['func_name'] = $entry[ 'func_name' ]['VALUE'];

$newrow['func_data'] = $entry[ 'func_data' ]['VALUE'];

$newrow['set_id'] = 1;

$newrow['updated'] = time();

 

$ipsclass->DB->do_insert( 'skin_templates', $newrow );

}

 

//-------------------------------

// GET MACROS

//-------------------------------

 

$xmlfile = THIS_ROOT_PATH.'installfiles/ipb_macro.xml';

 

$setting_content = implode( "", file($xmlfile) );

 

//-------------------------------

// Unpack the datafile (MACRO)

//-------------------------------

 

$xml->xml_parse_document( $setting_content );

 

//-------------------------------

// (MACRO)

//-------------------------------

 

if ( ! is_array( $xml->xml_array['macroexport']['macrogroup']['macro'] ) )

{

install_error("Ошибка с ipb_macro.xml - невозможно выполнить XML");

}

 

foreach( $xml->xml_array['macroexport']['macrogroup']['macro'] as $id => $entry )

{

$newrow = array();

 

$newrow['macro_value'] = $entry[ 'macro_value' ]['VALUE'];

$newrow['macro_replace'] = $entry[ 'macro_replace' ]['VALUE'];

$newrow['macro_set'] = 1;

 

$ipsclass->DB->do_insert( 'skin_macro', $newrow );

}

 

//-------------------------------

// WRAPPER / CSS

//-------------------------------

 

require_once( THIS_ROOT_PATH.'installfiles/components.php' );

 

$wrapper_record = array( 'set_wrapper' => $WRAPPER,

'set_css' => $CSS,

);

 

$ipsclass->DB->do_update( 'skin_sets', $wrapper_record, "set_skin_set_id=1" );

 

//-------------------------------

// ARE WE DONE? REALLY? COOL!!

//-------------------------------

 

$ipsclass->template->print_top('Успешно!');

 

$ipsclass->template->contents .= "

<meta http-equiv='refresh' content='2; url=index.php?a=acpperms' />

<div class='centerbox'>

<div class='tableborder'>

<div class='maintitle'>Успешно</div>

<div class='tablepad'>

<b>Шаблоны установлены!</b>

<br><br>

Процесс установки завершен.

<br>

Нажмите на ссылку ниже для установки ограничений доступа в админцентр

<br><br>

<center><b><a href='index.php?a=acpperms'>Нажмите сюда для продолжения</a></center>

</div>

</div>

</div>";

 

$ipsclass->template->output();

}

 

/*-------------------------------------------------------------------------*/

// DO install

/*-------------------------------------------------------------------------*/

 

function do_install()

{

global $ipsclass;

 

//-----------------------------------

// INIT

//-----------------------------------

 

$NEW_INFO = array();

$need = array('board_url','sql_host','sql_database','sql_user','adminname','adminpassword','adminpassword2','email');

$setting_groups_by_key = array();

$setting_groups = array();

$extra_install = "";

 

//-----------------------------------

// Check for blanks

//-----------------------------------

 

foreach($need as $greed)

{

if ( ! $ipsclass->input[ $greed ] )

{

install_error("Вы обязаны заполнить все поля формы, за исключением префикса таблиц");

}

}

 

//-----------------------------------

// Get XML

//-----------------------------------

 

require_once( KERNEL_PATH.'class_xml.php' );

 

$xml = new class_xml();

 

//-----------------------------------

// Get XML file

//-----------------------------------

 

$xmlfile = THIS_ROOT_PATH.'installfiles/ipb_settings.xml';

 

$setting_content = implode( "", file($xmlfile) );

 

//-----------------------------------

// Fix up URL

//-----------------------------------

 

$ipsclass->input['board_url'] = preg_replace( "#/$#", "", $ipsclass->input['board_url'] );

 

//-----------------------------------

// TBL prefix

//-----------------------------------

 

if ($ipsclass->input['sql_tbl_prefix'] == "")

{

$ipsclass->input['sql_tbl_prefix'] = 'ibf_';

}

 

//-----------------------------------

// Safe mode

//-----------------------------------

 

$safe_mode = intval( $ipsclass->input['safe_mode'] );

 

//-----------------------------------

// Did the admin passy and passy2 match?

//-----------------------------------

 

if ( $ipsclass->input['adminpassword2'] != $ipsclass->input['adminpassword'] )

{

install_error("Введенные пароли не совпадают");

}

 

//-----------------------------------

// Get a correct path

//-----------------------------------

 

$root = THIS_ROOT_PATH;

 

if ( $root == './')

{

$root = str_replace( '\\', '/', getcwd() ) . '/';

$root = str_replace( 'install/', '', $root );

}

 

//-----------------------------------

// Attempt to write the config file.

//-----------------------------------

 

$INFO = array(

'sql_driver' => $ipsclass->input['sql_driver'],

'sql_host' => $ipsclass->input['sql_host'],

'sql_database' => $ipsclass->input['sql_database'],

'sql_user' => $_POST['sql_user'],

'sql_pass' => $_POST['sql_pass'],

'sql_tbl_prefix' => $ipsclass->input['sql_tbl_prefix'],

'sql_debug' => 1,

 

'board_start' => time(),

'installed' => 1,

 

'php_ext' => 'php',

'safe_mode' => $safe_mode,

 

'board_url' => $ipsclass->input['board_url'],

 

'admin_group' => '4',

'guest_group' => '2',

'member_group' => '3',

'auth_group' => '1',

);

 

//--------------------------------------------------

// Update VARS settings

//--------------------------------------------------

 

$ipsclass->vars =& $INFO;

 

//--------------------------------------------------

// Any "extra" configs required for this driver?

//--------------------------------------------------

 

if ( file_exists( THIS_ROOT_PATH.'sql/'.$ipsclass->input['sql_driver'].'_install.php' ) )

{

require_once( THIS_ROOT_PATH.'sql/'.$ipsclass->input['sql_driver'].'_install.php' );

 

$extra_install = new install_extra();

$extra_install->ipsclass =& $ipsclass;

 

$extra_install->install_form_process();

 

if ( count( $extra_install->errors ) )

{

install_error( "При проверке SQL информации обнаружены следующие ошибки:<br /><br />".implode( "<br />", $extra_install->errors ) );

}

 

if ( is_array( $extra_install->info_extra ) and count( $extra_install->info_extra ) )

{

foreach( $extra_install->info_extra as $k => $v )

{

$INFO[ $k ] = $v;

}

}

}

 

//-----------------------------------

// Attempt a DB connection..

//-----------------------------------

 

require ( KERNEL_PATH.'class_db_'.$INFO['sql_driver'].".php" );

 

$ipsclass->DB = new db_driver();

 

$ipsclass->DB->obj['sql_database'] = $INFO['sql_database'];

$ipsclass->DB->obj['sql_user'] = $INFO['sql_user'];

$ipsclass->DB->obj['sql_pass'] = $INFO['sql_pass'];

$ipsclass->DB->obj['sql_host'] = $INFO['sql_host'];

$ipsclass->DB->obj['sql_tbl_prefix'] = $INFO['sql_tbl_prefix'];

$ipsclass->DB->obj['query_cache_file'] = ROOT_PATH.'sources/sql/'.$INFO['sql_driver'].'_admin_queries.php';

$ipsclass->DB->obj['use_shutdown'] = 0;

$ipsclass->DB->return_die = 1;

 

//-----------------------------------

// Required vars?

//-----------------------------------

 

if ( is_array( $ipsclass->DB->connect_vars ) and count( $ipsclass->DB->connect_vars ) )

{

foreach( $ipsclass->DB->connect_vars as $k => $v )

{

$ipsclass->DB->connect_vars[ $k ] = $INFO[ $k ];

}

}

 

//-----------------------------------

// Attempt a connect

//-----------------------------------

 

if ( ! $ipsclass->DB->connect() )

{

install_error( "Connection error:<br /><br />".$ipsclass->DB->error );

}

 

//--------------------------------

// Make CONSTANT

//--------------------------------

 

define( 'SQL_PREFIX', $ipsclass->DB->obj['sql_tbl_prefix'] );

define( 'SQL_DRIVER', strtolower($INFO['sql_driver']) );

 

$ipsclass->vars['sql_driver'] = SQL_DRIVER;

 

//-----------------------------------

// Write to disk

//-----------------------------------

 

$file_string = "<"."?php\n";

 

foreach( $INFO as $k => $v )

{

$file_string .= '$INFO['."'".$k."'".']'."\t\t\t=\t'".$v."';\n";

}

 

$file_string .= "\n".'?'.'>';

 

if ( $fh = fopen( ROOT_PATH.'conf_global.php', 'w' ) )

{

fputs($fh, $file_string, strlen($file_string) );

fclose($fh);

}

else

{

install_error("Невозможна запись в 'conf_global.php'");

}

 

//-----------------------------------

// Require insert files

//-----------------------------------

 

require_once( THIS_ROOT_PATH.'sql/'.$INFO['sql_driver'].'_tables.php' );

require_once( THIS_ROOT_PATH.'sql/'.$INFO['sql_driver'].'_inserts.php' );

require_once( THIS_ROOT_PATH.'sql/'.$INFO['sql_driver'].'_fulltext.php' );

 

//-----------------------------------

// Populate the database...

//-----------------------------------

 

foreach( $TABLE as $q )

{

preg_match("/CREATE TABLE (\S+) \(/", $q, $match);

 

if ($match[1])

{

$ipsclass->DB->sql_drop_table( str_replace( 'ibf_', '', $match[1] ) );

}

 

if ($ipsclass->input['sql_tbl_prefix'] != "ibf_")

{

$q = preg_replace("/ibf_(\S+?)([\s\.,]|$)/", $ipsclass->input['sql_tbl_prefix']."\\1\\2", $q);

}

 

//-----------------------------------

// Pass to handler

//-----------------------------------

 

if ( $extra_install AND method_exists( $extra_install, 'process_query_create' ) )

{

$q = $extra_install->process_query_create( $q );

}

 

//-----------------------------------

// Pass query

//-----------------------------------

 

if ( ! $ipsclass->DB->query($q) )

{

install_error($q."<br /><br />".$ipsclass->DB->error);

}

}

 

//-----------------------------------

// Create the fulltext index...

//-----------------------------------

 

if ( $ipsclass->DB->sql_can_fulltext() )

{

foreach( $INDEX as $q )

{

if ($ipsclass->input['sql_tbl_prefix'] != "ibf_")

{

$q = preg_replace("/ibf_(\S+?)([\s\.,]|$)/", $ipsclass->input['sql_tbl_prefix']."\\1\\2", $q);

}

 

//-----------------------------------

// Pass to handler

//-----------------------------------

 

if ( $extra_install AND method_exists( $extra_install, 'process_query_index' ) )

{

$q = $extra_install->process_query_index( $q );

}

 

//-----------------------------------

// Pass query

//-----------------------------------

 

if ( ! $ipsclass->DB->query($q) )

{

install_error($q."<br /><br />".$ipsclass->DB->error);

}

}

}

 

//-----------------------------------

// Populate tables...

//-----------------------------------

 

foreach( $INSERT as $q )

{

if ($ipsclass->input['sql_tbl_prefix'] != "ibf_")

{

$q = preg_replace("/ibf_(\S+?)([\s\.,]|$)/", $ipsclass->input['sql_tbl_prefix']."\\1\\2", $q);

}

 

$q = str_replace( "<%time%>", time(), $q );

 

//-----------------------------------

// Pass to handler

//-----------------------------------

 

if ( $extra_install AND method_exists( $extra_install, 'process_query_insert' ) )

{

$q = $extra_install->process_query_insert( $q );

}

 

//-----------------------------------

// Pass query

//-----------------------------------

 

if ( ! $ipsclass->DB->query($q) )

{

install_error($q."<br /><br />".$ipsclass->DB->error);

}

}

 

//-----------------------------------

// Insert the admin...

//-----------------------------------

 

$md5_once = trim(md5($ipsclass->input['adminpassword']));

 

$salt = $ipsclass->converge->generate_password_salt(5);

$key = $ipsclass->converge->generate_auto_log_in_key();

$rpass = $ipsclass->converge->generate_compiled_passhash($salt, $md5_once);

$time = time();

 

//-----------------------------------

// Members...

//-----------------------------------

 

$member_record = array( 'id' => 1,

'name' => $ipsclass->input['adminname'],

'members_display_name' => $ipsclass->input['adminname'],

'mgroup' => 4,

'email' => $ipsclass->input['email'],

'joined' => $time,

'ip_address' => '127.0.0.1',

'posts' => 0,

'title' => 'Администратор',

'last_visit' => $time,

'last_activity' => $time,

'member_login_key' => $key,

);

 

$ipsclass->DB->do_insert( 'members', $member_record );

 

//-----------------------------------

// Converge...

//-----------------------------------

 

$converge_record = array( 'converge_email' => $ipsclass->input['email'],

'converge_joined' => $time,

'converge_pass_hash' => $rpass,

'converge_pass_salt' => $salt,

);

 

$ipsclass->DB->do_insert( 'members_converge', $converge_record );

 

//-----------------------------------

// Member Extra...

//-----------------------------------

 

$member_extra_record = array ( 'id' => 1,

'signature' => '',

'vdirs' => '',

);

 

$ipsclass->DB->do_insert( 'member_extra', $member_extra_record );

 

//-------------------------------

// Do we have a reg / copy key?

//-------------------------------

 

if ( file_exists( ROOT_PATH . '/retail/regkey.php' ) )

{

require_once( ROOT_PATH . '/retail/regkey.php' );

 

$customer_reg_key = '';

 

}

 

//-------------------------------

// Unpack the datafile

//-------------------------------

 

$xml->xml_parse_document( $setting_content );

 

//-------------------------------

// Known settings

//-------------------------------

 

if( substr( $ipsclass->input['board_url'], -1 ) == '/' )

{

$ipsclass->input['board_url'] = substr( $ipsclass->input['board_url'], 0, -1 );

}

 

$known = array( 'email_in' => $ipsclass->input['email'],

'email_out' => $ipsclass->input['email'],

'base_dir' => $root,

'upload_dir' => str_replace( "//", "/", $root."/uploads" ),

'upload_url' => $ipsclass->input['board_url']."/uploads",

'ipb_copy_number'=> $customer_copy_key,

'ipb_reg_number' => $customer_reg_key,

);

 

 

if ( ! is_array( $xml->xml_array['settingexport']['settinggroup']['setting'] ) )

{

install_error("Ошибка с ipb_settings.xml - невозможно выполнить XML файл");

}

 

//-----------------------------------------

// pArse

//-----------------------------------------

 

$fields = array( 'conf_title' , 'conf_description', 'conf_group' , 'conf_type' , 'conf_key' , 'conf_default',

'conf_extra' , 'conf_evalphp' , 'conf_protected', 'conf_position', 'conf_start_group', 'conf_end_group',

'conf_help_key', 'conf_add_cache' , 'conf_title_keyword' );

 

$setting_fields = array( 'conf_title_keyword', 'conf_title_title', 'conf_title_desc', 'conf_title_noshow' );

 

//-----------------------------------------

// Fix up...

//-----------------------------------------

 

if ( ! is_array( $xml->xml_array['settingexport']['settinggroup']['setting'][0] ) )

{

//-----------------------------------------

// Ensure [0] is populated

//-----------------------------------------

 

$tmp = $xml->xml_array['settingexport']['settinggroup']['setting'];

 

unset($xml->xml_array['settingexport']['settinggroup']['setting']);

 

$xml->xml_array['settingexport']['settinggroup']['setting'][0] = $tmp;

}

 

//-----------------------------------------

// Loop through and sort out settings...

//-----------------------------------------

 

foreach( $xml->xml_array['settingexport']['settinggroup']['setting'] as $id => $entry )

{

$newrow = array();

 

//-----------------------------------------

// Is setting?

//-----------------------------------------

 

if ( ! $entry['conf_is_title']['VALUE'] )

{

foreach( $fields as $f )

{

$newrow[$f] = $entry[ $f ]['VALUE'];

}

 

$new_settings[] = $newrow;

}

 

//-----------------------------------------

// Is title?

//-----------------------------------------

 

else

{

foreach( $setting_fields as $f )

{

$newrow[$f] = $entry[ $f ]['VALUE'];

}

 

$new_titles[] = $newrow;

}

}

 

//-----------------------------------------

// Sort out titles...

//-----------------------------------------

 

if ( is_array( $new_titles ) and count( $new_titles ) )

{

foreach( $new_titles as $idx => $data )

{

if ( $data['conf_title_title'] AND $data['conf_title_keyword'] )

{

//-----------------------------------------

// Get ID based on key

//-----------------------------------------

 

$save = array( 'conf_title_title' => $data['conf_title_title'],

'conf_title_desc' => $data['conf_title_desc'],

'conf_title_keyword' => $data['conf_title_keyword'],

'conf_title_noshow' => $data['conf_title_noshow'] );

 

//-----------------------------------------

// Insert first

//-----------------------------------------

 

$ipsclass->DB->do_insert( 'conf_settings_titles', $save );

 

$conf_id = $ipsclass->DB->get_insert_id();

$save['conf_title_id'] = $conf_id;

 

//-----------------------------------------

// Update settings cache

//-----------------------------------------

 

$setting_groups_by_key[ $save['conf_title_keyword'] ] = $save;

$setting_groups[ $save['conf_title_id'] ] = $save;

 

$need_update[] = $conf_id;

}

}

}

 

//-----------------------------------------

// Sort out settings

//-----------------------------------------

 

if ( is_array( $new_settings ) and count( $new_settings ) )

{

foreach( $new_settings as $idx => $data )

{

//-----------------------------------------

// Make PHP slashes safe

//-----------------------------------------

 

//$data['conf_evalphp'] = str_replace( '\\', '\\\\', $data['conf_evalphp'] );

 

//-----------------------------------------

// Insert known

//-----------------------------------------

 

if ( in_array( $data['conf_key'], array_keys( $known ) ) )

{

$data['conf_value'] = $known[ $data['conf_key'] ];

}

 

//-----------------------------------------

// Now assign to the correct ID based on

// our title keyword...

//-----------------------------------------

 

$data['conf_group'] = $setting_groups_by_key[ $data['conf_title_keyword'] ]['conf_title_id'];

 

//-----------------------------------------

// Remove from array

//-----------------------------------------

 

unset( $data['conf_title_keyword'] );

 

$ipsclass->DB->do_insert( 'conf_settings', $data );

}

}

 

//-----------------------------------------

// Update group counts...

//-----------------------------------------

 

if ( count( $need_update ) )

{

foreach( $need_update as $i => $idx )

{

$conf = $ipsclass->DB->simple_exec_query( array( 'select' => 'count(*) as count', 'from' => 'conf_settings', 'where' => 'conf_group='.$idx ) );

 

$count = intval($conf['count']);

 

$ipsclass->DB->do_update( 'conf_settings_titles', array( 'conf_title_count' => $count ), 'conf_title_id='.$idx );

}

}

 

//-----------------------------------

// ARE WE DONE? REALLY? COOL!!

//-----------------------------------

 

$ipsclass->template->print_top('Успешно!');

 

$ipsclass->template->contents .= "<meta http-equiv='refresh' content='2; url=index.php?a=templates' />

<div class='centerbox'>

<div class='tableborder'>

<div class='maintitle'>Успешно</div>

<div class='tablepad'>

<b>Ваш форум успешно установлен!</b>

<br><br>

Процесс установки почти завершен.

<br>

Следующий этап запишет шаблоны в базу данных...

<br><br>

<center><b><a href='index.php?a=templates'>Нажмите сюда, если вас не переместило автоматически...</a></center>

</div>

</div>

</div>";

 

$ipsclass->template->output();

}

 

/*-------------------------------------------------------------------------*/

// SET UP FORM

/*-------------------------------------------------------------------------*/

 

function do_setup_form()

{

global $ipsclass;

 

//--------------------------------------------------

// INIT

//--------------------------------------------------

 

$drivers = array();

$ipsclass->template->print_top('Установка');

 

//--------------------------------------------------

// Make sure kernel folder is present

//--------------------------------------------------

 

if ( ! is_dir(ROOT_PATH.'ips_kernel') )

{

install_error("Невозможно найти папку 'ips_kernel'. Пожалуйста, загрузите все необходимые папки и файлы.");

}

 

//--------------------------------------------------

// DO WE HAVE A DB DRIVER SET?

//--------------------------------------------------

 

$ipsclass->input['sql_driver'] = ( $ipsclass->input['sql_driver'] == "" ) ? $_REQUEST['sql_driver'] : $ipsclass->input['sql_driver'];

 

if ( ! $ipsclass->input['sql_driver'] )

{

//----------------------------------------------

// Test to see how many DB driver's we've got..

//----------------------------------------------

 

$dh = opendir( ROOT_PATH.'ips_kernel' ) or install_error("Невозможно найти папку 'ips_kernel' для чтения, пожалуйста, проверьте все пути и права");

 

while ( $file = @readdir( $dh ) )

{

if ( preg_match( "/^class_db_([a-zA-Z0-9]*)\.php/i", $file, $driver ) )

{

$drivers[] = $driver[1];

}

}

 

@closedir( $dh );

 

//----------------------------------------------

// Got more than one?

//----------------------------------------------

 

if ( count($drivers) > 1 )

{

//------------------------------------------

// Show choice screen first...

//------------------------------------------

 

$ipsclass->template->contents .= "<form action='index.php' method='POST'>

<input type='hidden' name='a' value='1'>

<div class='centerbox'>

<div class='tableborder'>

<div class='maintitle'>Обнаружено несколько SQL драйверов</div>

<div class='pformstrip'>Пожалуйста, выберите желаемый SQL драйвер для использования в вашем Invision Power Board</div>

<table width='100%' cellspacing='1'>

<tr>

<td class='pformleftw'><b>SQL Драйвер</b><div class='description'>(Выберите драйвер)</div></td>

<td class='pformright'><select name='sql_driver' id='textinput'>\n";

 

foreach ($drivers as $k => $v)

{

$selected = ($v == "mysql") ? " selected='selected'" : "";

$ipsclass->template->contents .= "<option value='".$v."'".$selected.">".strtoupper($v)."</option>\n";

}

 

$ipsclass->template->contents .= "</select>

</td>

</tr>

</table>

<div align='center' class='pformstrip' style='text-align:center'><input type='image' src='img/install_proceed.gif'></div>

</div>

</div>

</form>";

 

$ipsclass->template->output();

 

exit();

 

}

else

{

//------------------------------------------

// Use only driver installed

//------------------------------------------

 

$ipsclass->input['sql_driver'] = $drivers[0];

}

}

 

//--------------------------------------------------

// If we're here, we have chosen a driver, so.......

//--------------------------------------------------

 

$this_url = str_replace( "/install/index.php", "", $_SERVER['HTTP_REFERER']);

$this_url = str_replace( "/install/" , "", $this_url);

$this_url = str_replace( "/install" , "", $this_url);

$this_url = str_replace( "index.php" , "", $this_url);

 

//--------------------------------------------------

// Test

//--------------------------------------------------

 

if ( ! $this_url )

{

$this_url = substr($_SERVER['SCRIPT_NAME'],0, -17);

 

if ($this_url == '')

{

$this_url == '/';

}

 

$this_url = 'http://'.$_SERVER['SERVER_NAME'].$this_url;

}

 

$this_url = preg_replace( "#/$#", "", str_replace( '?a=1', "", $this_url ) );

 

//--------------------------------------------------

// Safe mode?

//--------------------------------------------------

 

$safe_mode = 0;

 

if ( get_cfg_var('safe_mode') )

{

$safe_mode = get_cfg_var('safe_mode');

}

 

$ipsclass->template->contents .= "

<form action='index.php' method='POST'>

<input type='hidden' name='a' value='2'>

<input type='hidden' name='sql_driver' value='{$ipsclass->input['sql_driver']}'>

<div class='centerbox'>

 

<div class='tableborder'>

<div class='maintitle'>Данные вашего сервера</div>

<div class='pformstrip'>Эта секция требует ввода вами ваших путей и URL'ов вашего форума.</div>

<table width='100%' cellspacing='1'>

<tr>

<td class='pformleftw'><b>IPB 'index.php' URL</b><div class='description'>Это URL (обязан начинаться с http://) вашей основной папки форума<br />Это может быть, например: <b>http://www.domain.ru/forums</b></div></td>

<td class='pformright'><input type='text' id='textinput' name='board_url' value='$this_url'></td>

</tr>";

 

if ( $safe_mode )

{

$ipsclass->template->contents .= "

<tr>

<td class='pformleftw'><b>Обнаружен PHP Safe Mode/b><div class='description'>Система установка обнаружила, что PHP на вашем сервере запущен в safe mode. Если это неверно, поправьте...</div></td>

<td class='pformright'><select id='textinput' name='safe_mode'><option value='1' selected='selected'>Safe Mode включен</option><option value='0'>Safe Mode НЕ включен</option></select></td>

</tr>";

}

 

$ipsclass->template->contents .= "

</table>

</div>

<div class='fade'> </div>

 

<br />

 

<div class='tableborder'>

<div class='maintitle'>Ваши SQL данные</div>

<div class='pformstrip'>Этот блок требует

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Что это значит?

 

define( 'THIS_ROOT_PATH', './' );

 

Я устанавливал тестовый форум, может из-за повторной установк что-то? :D

 

Может ты неправильно поля все заполнил?Какой у тебя хостинг?есть ли поддержка mysql?

 

Есть поддержка mySQL. А какие поля заполнил?

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.