Вход Регистрация
Файл: apwa/stk/tools/support/readd_module_management.php
Строк: 74
<?php
/**
*
* @package Support Toolkit - Readd Module Management
* @version $Id$
* @copyright (c) 2009 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
 * @ignore
 */
if (!defined('IN_PHPBB'))
{
    exit;
}

class 
readd_module_management
{
    
/**
     * The modules this class will check and re-add and/or enable if required.
     * The array contains all information we feed into $umil->module_exists and $umil->module_add
     */
    
var $check_modules = array(
        array(
            
'class'     => 'acp',
            
'parent'    => 0,
            
'lang_name'    => 'ACP_CAT_SYSTEM'
        
),
        array(
            
'class'        => 'acp',
            
'parent'    => 'ACP_CAT_SYSTEM',
            
'lang_name'    => 'ACP_MODULE_MANAGEMENT'
        
),
        array(
            
'class'        => 'acp',
            
'parent'    => 'ACP_MODULE_MANAGEMENT',
            
'lang_name'    => 'ACP',
            
'data'        => array(
                
'module_basename'    => 'modules',
                
'modes'                => array('acp'),
            ),
        ),
        array(
            
'class'        => 'acp',
            
'parent'    => 'ACP_MODULE_MANAGEMENT',
            
'lang_name'    => 'MCP',
            
'data'        => array(
                
'module_basename'    => 'modules',
                
'modes'                => array('mcp'),
            ),
        ),
        array(
            
'class'        => 'acp',
            
'parent'    => 'ACP_MODULE_MANAGEMENT',
            
'lang_name'    => 'UCP',
            
'data'        => array(
                
'module_basename'    => 'modules',
                
'modes'                => array('ucp'),
            ),
        ),
    );
    
    
/**
    * Display Options
    *
    * Output the options available
    */
    
function display_options()
    {
        return 
'READD_MODULE_MANAGEMENT';
    }

    
/**
    * Run Tool
    *
    * Does the actual stuff we want the tool to do after submission
    */
    
function run_tool()
    {
        global 
$cache$db$umil;
        
        
// Check all modules for existance
        
foreach ($this->check_modules as $module_data)
        {
            if(!
$umil->module_exists($module_data['class'], $module_data['parent'], $module_data['lang_name']))
            {
                
$umil->module_add($module_data['class'], $module_data['parent'], ((empty($module_data['data'])) ? $module_data['lang_name'] : $module_data['data']));
            }
            
            
// This module exists, now make sure that it is enabled
            
$sql 'SELECT module_id
                FROM ' 
MODULES_TABLE "
                WHERE module_class = '" 
$db->sql_escape($module_data['class']) . "'
                    AND module_langname = '" 
$db->sql_escape($module_data['lang_name']) . "'
                    AND module_enabled = 1"
;
            
$result        $db->sql_query_limit($sql10);
            
$enabled    $db->sql_fetchfield('module_id'false$result);
            
$db->sql_freeresult($result);
            
            if (!
$enabled)
            {
                
// Enable it
                
$sql 'UPDATE ' MODULES_TABLE "
                    SET module_enabled = 1
                    WHERE module_class = '" 
$db->sql_escape($module_data['class']) . "'
                        AND module_langname = '" 
$db->sql_escape($module_data['lang_name']) . "'";
                
$db->sql_query($sql);
            }
        }

        
$cache->destroy('_modules_acp');
        
trigger_error('READD_MODULE_MANAGEMENT_SUCCESS');
    }
}
Онлайн: 1
Реклама