Вход Регистрация
Файл: IPBMafia.ru_IPB_3.4.6_Final_Rus _Nulled/board/upload/admin/setup/applications/install/sections/apps.php
Строк: 96
<?php
/**
 * <pre>
 * Invision Power Services
 * IP.Board v3.4.6
 * Installer: EULA file
 * Last Updated: $LastChangedDate: 2013-01-31 18:11:00 -0500 (Thu, 31 Jan 2013) $
 * </pre>
 *
 * @author         $Author: AndyMillne $
 * @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: 11926 $
 *
 */


class install_apps extends ipsCommand
{    
    
/**
     * Execute selected method
     *
     * @access    public
     * @param    object        Registry object
     * @return    @e void
     */
    
public function doExecuteipsRegistry $registry 
    {
        
/* Check input? */
        
if( $this->request['do'] == 'check' )
        {
            
/* Check Directory */
            
if ( ! is_array$_POST['apps'] ) OR ! count$_POST['apps'] ) )
            {
                
$this->registry->output->addError'Нужно выбрать хотя бы одно приложение' );
            }
            else 
            {
                
/* Save Form Data */
                
IPSSetUp::setSavedData('install_apps'implode','array_keys$_POST['apps'] ) ) );
                
                
/* Check writeable files */
                
foreach( array_keys$_POST['apps'] ) as $appDir )
                {
                    
$info IPSSetUp::fetchXmlAppWriteableFiles$appDir );
                    
                    if ( 
count$info['notexist'] ) )
                    {
                        foreach( 
$info['notexist'] as $path )
                        {
                            
$this->registry->output->addWarning'Файл или директория "' $path '" не существует, создайте ее' );
                        }
                    }
                    
                    if ( 
count$info['notwrite'] ) )
                    {
                        foreach( 
$info['notwrite'] as $path )
                        {
                            
$this->registry->output->addWarning'Запись в "' $path '" невозможна, измените права доступа' );
                        }
                    }
                    
                    
/**
                     * Custom errors
                     */
                    
if ( count$info['other'] ) )
                    {
                        foreach( 
$info['other'] as $error )
                        {
                            
$this->registry->output->addWarning$error );
                        }
                    }
                }
                
                
/* Do we have errors? */
                
if ( ! count$this->registry->output->fetchWarnings() ) )
                {
                    
/* Next Action */
                    
$this->registry->autoLoadNextAction'address' );
                }
            }
        }
                        
        
/* Generate apps... */
        
$apps   = array( 'core' => array(), 'ips' => array(), 'other' => array() );
        
        foreach( array( 
'applications''applications_addon/ips''applications_addon/other' ) as $_pBit )
        {
            
$path   IPS_ROOT_PATH $_pBit;
            
$handle opendir$path );
        
            while ( ( 
$file readdir$handle ) ) !== FALSE )
            {
                if ( ! 
preg_match"#^.#"$file ) )
                {
                    if ( 
is_dir$path '/' $file ) )
                    {
                        
//-----------------------------------------
                        // Get it!
                        //-----------------------------------------
                    
                        
if ( ! is_fileIPS_ROOT_PATH $_pBit '/' $file '/xml/information.xml' ) )
                        {
                            continue;        
                        }
                        
                        
$data IPSSetUp::fetchXmlAppInformation$file$this->settings['gb_char_set'] );
                        
                        switch( 
$_pBit )
                        {
                            case 
'applications':
                                
$apps['core'][ $file ] = $data;
                            break;
                            case 
'applications_addon/ips':
                                
$apps['ips'][ $file ] = $data;
                            break;
                            case 
'applications_addon/other':
                                
$apps['other'][ $file ] = $data;
                            break;
                        }
                    }
                }
            }
        
            
closedir$handle );
        }
        
        
/* We don't want IP.SEO to be installed on future versions. Bad things happen. */
        
unset( $apps['ips'][ 'ipseo' ] );
        unset( 
$apps['other'][ 'ipseo' ] );
        
        
/* Reorder the array so that core is first */
        
$new_array = array();
        
$new_array['core'] = $apps['core']['core'];
        
        foreach( 
$apps['core'] as $app => $data )
        {
            if( 
$app == 'core' )
            {
                continue;
            }
            
            
$new_array[$app] = $data;
        }
        
        
$apps['core'] = $new_array;
        
        
/* Page Output */
        
$this->registry->output->setTitle"Приложения" );
        
$this->registry->output->setNextAction'apps&do=check' );
        
$this->registry->output->addContent$this->registry->output->template()->page_apps$apps ) );
        
$this->registry->output->sendOutput();
    }
}
Онлайн: 1
Реклама