Файл: admin/setup/applications/upgrade/sections/license.php
Строк: 78
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.3
* Installer: License Key
* Last Updated: $LastChangedDate: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
* </pre>
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/company/standards.php#license
* @package IP.Board
* @link http://www.invisionpower.com
* @version $Rev: 10721 $
*
*/
class upgrade_license extends ipsCommand
{
/**
* Execute selected method
*
* @access public
* @param object Registry object
* @return @e void
*/
public function doExecute( ipsRegistry $registry )
{
/* If less than 3, just bounce out as settings tables won't be here, etc */
if ( IPSSetUp::is300plus() !== TRUE )
{
$this->registry->autoLoadNextAction( 'upgrade' );
return;
}
if ( $this->request['do'] == 'check' )
{
$lcheck = $this->check();
if ( $lcheck === TRUE )
{
$this->registry->autoLoadNextAction( 'upgrade' );
return;
}
}
else
{
$lcheck = $this->check( TRUE );
if ( $lcheck === TRUE )
{
$this->registry->autoLoadNextAction( 'upgrade' );
return;
}
}
$this->registry->output->setTitle( "Ключ лицензии" );
$this->registry->output->setNextAction( "license&do=check" );
$this->registry->output->addContent( $this->registry->output->template()->page_license( $lcheck ) );
$this->registry->output->sendOutput();
}
/**
* Check License Key
*
* @access public
* @return bool
*/
private function check( $init=FALSE )
{
$this->request['lkey'] = ( $init ) ? ipsRegistry::$settings['ipb_reg_number'] : trim( $this->request['lkey'] );
if ( !$this->request['lkey'] and !$init )
{
return true;
}
$url = ipsRegistry::$settings['board_url'] ? ipsRegistry::$settings['board_url'] : ipsRegistry::$settings['base_url'];
require_once( IPS_KERNEL_PATH . 'classFileManagement.php' );/*noLibHook*/
$query = new classFileManagement();
$query->use_sockets = 1;
$response = $query->getFileContents( "http://clientarea.ibresource.ru/lifo.php?api=activateKey&lk={$this->request['lkey']}&domain=".urlencode($url) );
$response = json_decode( $response, true );
if( $response['error'] )
{
if ( $this->request['ignoreError'] )
{
return TRUE;
}
else
{
return "Проверка ключа не удалась, нажмите Дальше для продолжения установки.";
}
}
else
{
IPSLib::updateSettings( array( 'ipb_reg_number' => $this->request['lkey'] ) );
return TRUE;
}
}
}