Вход Регистрация
Файл: IPBMafia.ru_IPB_3.4.6_Final_Rus _Nulled/board/upload/admin/applications/core/modules_admin/applications/enhancements.php
Строк: 203
<?php
/**
 * @file        applications.php     Community Enhancements
 *~TERABYTE_DOC_READY~
 * $Copyright: (c) 2001 - 2011 Invision Power Services, Inc.$
 * $License: http://www.invisionpower.com/company/standards.php#license$
 * $Author: mark $
 * @since        24 July 2012
 * $LastChangedDate: 2012-06-20 10:50:23 +0100 (Wed, 20 Jun 2012) $
 * @version        v3.4.6
 * $Revision: 10952 $
 */

if ( ! defined'IN_ACP' ) )
{
    print 
"<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded 'admin.php'.";
    exit();
}

/**
 *
 * @class        admin_core_applications_enhancements
 * @brief        Community Enhancements
 */
class admin_core_applications_enhancements extends ipsCommand
{
    
/**
     * Main function executed automatically by the controller
     *
     * @param    object        $registry        Registry object
     * @return    @e void
     */
    
public function doExecuteipsRegistry $registry )
    {
        
$this->html $this->registry->output->loadTemplate'cp_skin_applications' );
        
$this->registry->class_localization->loadLanguageFile( array( 'admin_applications' ) );
        
        switch( 
$this->request['do'] )
        {
            case 
'edit':
                
$this->edit();
                break;
                
            case 
'save':
                
$this->save();
                break;
        
            default:
                
$this->manage();
                break;
        }
        
        
$this->registry->getClass'output' )->html_main .= $this->registry->getClass'output' )->global_template->global_frame_wrapper();
        
$this->registry->getClass'output' )->sendOutput();
    }
    
    
/**
     * Manage
     */
    
public function manage()
    {
        
$enhancements = array();
        
        foreach ( 
IPSLib::getEnabledApplications() as $app )
        {
            if ( 
is_dirIPSLib::getAppDir$app['app_directory'] ) . '/extensions/enhancements' ) )
            {
                
$dir = new DirectoryIteratorIPSLib::getAppDir$app['app_directory'] ) . '/extensions/enhancements' );
                foreach ( 
$dir as $file )
                {
                    if ( 
$file->isFile() and !$file->isDot() and substr$file0) !== '.' and substr$file, -) === '.php' )
                    {                    
                        
$className "enhancements_{$app['app_directory']}_" str_replace'.php'''$file->getFilename() );
                        
                        
/* Backup system isn't ready */
                        
if ( $className == 'enhancements_core_ipsbackup' )
                        {
                            continue;
                        }
                        
                        
$classToLoad IPSLib::loadLibrary$file->getPathName(), $className );
                        
$enhancements$className ] = new $classToLoad$this->registry );
                    }
                }
            }
        }
                
        
uasort$enhancementscreate_function'$a, $b''return $a->title > $b->title;' ) );
        
        
$this->registry->output->html .= $this->html->communityEnhancements$enhancements );
    }
    
    
/**
     * Edit
     */
    
public function edit()
    {
        
$exploded explode'_'$this->request['service'] );
        if ( !
IPSLib::appIsInstalled$exploded[1] ) or !is_fileIPSLib::getAppDir$exploded[1] ) . '/extensions/enhancements/' $exploded[2] . '.php' ) )
        {
            
$this->registry->output->showError$this->lang->words['err_no_enhancement'], 111800 );
        }
        
        
$classToLoad IPSLib::loadLibraryIPSLib::getAppDir$exploded[1] ) . '/extensions/enhancements/' $exploded[2] . '.php'$this->request['service'] );
        
$class = new $classToLoad$this->registry );
        
        if ( 
method_exists$class'check' ) )
        {
            
$class->check();
        }
                
        if ( isset( 
$class->settings ) and !empty( $class->settings ) )
        {
            
$settingsClass IPSLib::loadActionOverloaderIPSLib::getAppDir('core') . '/modules_admin/settings/settings.php''admin_core_settings_settings' );
            
$settingsClass = new $settingsClass();
            
$settingsClass->makeRegistryShortcuts$this->registry );
            
$settingsClass->html $this->registry->output->loadTemplate('cp_skin_settings');
            
            
$html '';
        
            
$imploded implode', 'array_mapcreate_function'$v''return "'{$v}'";' ), $class->settings ) );
            
$settings = array();
            
$this->DB->build( array( 'select' => '*''from' => 'core_sys_conf_settings''where' => "conf_key IN( {$imploded} )"'order' => 'conf_position' ) );
            
$e $this->DB->execute();
            while ( 
$row $this->DB->fetch$e ) )
            {
                
$html .= $settingsClass->_processSettingEntry$row );
            }        
        
            
$this->registry->output->html .= $this->html->communityEnhancementsSettings$class$html );
        }
        else
        {
            
$this->registry->output->html .= $class->editSettings();
        }
    }
    
    
/**
     * Save
     */
    
public function save()
    {
        
$exploded explode'_'$this->request['service'] );
        if ( !
IPSLib::appIsInstalled$exploded[1] ) or !is_fileIPSLib::getAppDir$exploded[1] ) . '/extensions/enhancements/' $exploded[2] . '.php' ) )
        {
            
$this->registry->output->showError$this->lang->words['err_no_enhancement'], 111801 );
        }
        
        
$classToLoad IPSLib::loadLibraryIPSLib::getAppDir$exploded[1] ) . '/extensions/enhancements/' $exploded[2] . '.php'$this->request['service'] );
        
$class = new $classToLoad$this->registry );
        
        if ( 
method_exists$class'check' ) )
        {
            
$class->check();
        }
        
        if ( isset( 
$class->settings ) and !empty( $class->settings ) )
        {
            
$toSave = array();
            foreach ( 
$class->settings as $key )
            {
                
$toSave$key ] = $_POST$key ];
            }
            
IPSLib::updateSettings$toSaveTRUE );
        }
        else
        {
            
$output $class->saveSettings();
            if ( 
$output and is_string$output ) )
            {
                
$this->registry->output->html .= $output;
                return;
            }
        }
        
        
$this->registry->output->redirect"{$this->settings['base_url']}app=core&amp;module=applications&amp;section=enhancements"$this->lang->words['enhancements_saved'] );
    }
}
Онлайн: 1
Реклама