ShellBanner
System:Linux MiraNet 3.0.0-14-generic-pae #23-Ubuntu SMP Mon Nov 21 22:07:10 UTC 2011 i686
Software:Apache. PHP/5.3.6-13ubuntu3.10
ID:uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
Safe Mode:OFF
Open_Basedir:OFF
Freespace:25.85 GB of 70.42 GB (36.71%)
MySQL: ON MSSQL: OFF Oracle: OFF PostgreSQL: OFF Curl: OFF Sockets: ON Fetch: OFF Wget: ON Perl: ON
Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,

/ http/ smf/ Sources/ - drwxrwxrwx

Directory:
Viewing file:     ModSettings.php (11.79 KB)      -r--r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**********************************************************************************
* ModSettings.php                                                                 *
***********************************************************************************
* SMF: Simple Machines Forum                                                      *
* Open-Source Project Inspired by Zef Hemel (zef@zefhemel.com)                    *
* =============================================================================== *
* Software Version:           SMF 1.1                                             *
* Software by:                Simple Machines (http://www.simplemachines.org)     *
* Copyright 2006 by:          Simple Machines LLC (http://www.simplemachines.org) *
*           2001-2006 by:     Lewis Media (http://www.lewismedia.com)             *
* Support, News, Updates at:  http://www.simplemachines.org                       *
***********************************************************************************
* This program is free software; you may redistribute it and/or modify it under   *
* the terms of the provided license as published by Simple Machines LLC.          *
*                                                                                 *
* This program is distributed in the hope that it is and will be useful, but      *
* WITHOUT ANY WARRANTIES; without even any implied warranty of MERCHANTABILITY    *
* or FITNESS FOR A PARTICULAR PURPOSE.                                            *
*                                                                                 *
* See the "license.txt" file for details of the Simple Machines license.          *
* The latest version can always be found at http://www.simplemachines.org.        *
**********************************************************************************/
if (!defined('SMF'))
    die(
'Hacking attempt...');

/*    This file is here to make it easier for installed mods to have settings
    and options.  It uses the following functions:

    void ModifyFeatureSettings()
        // !!!

    void ModifyFeatureSettings2()
        // !!!

    void ModifyBasicSettings()
        // !!!

    void ModifyLayoutSettings()
        // !!!

    void ModifyKarmaSettings()
        // !!!

    Adding new settings to the $modSettings array:
    ---------------------------------------------------------------------------
// !!!
*/

/*    Adding options to one of the setting screens isn't hard.  The basic format for a checkbox is:
        array('check', 'nameInModSettingsAndSQL'),

       And for a text box:
        array('text', 'nameInModSettingsAndSQL')
       (NOTE: You have to add an entry for this at the bottom!)

       In these cases, it will look for $txt['nameInModSettingsAndSQL'] as the description,
       and $helptxt['nameInModSettingsAndSQL'] as the help popup description.

    Here's a quick explanation of how to add a new item:

     * A text input box.  For textual values.
    ie.    array('text', 'nameInModSettingsAndSQL', 'OptionalInputBoxWidth',
            &$txt['OptionalDescriptionOfTheOption'], 'OptionalReferenceToHelpAdmin'),

     * A text input box.  For numerical values.
    ie.    array('int', 'nameInModSettingsAndSQL', 'OptionalInputBoxWidth',
            &$txt['OptionalDescriptionOfTheOption'], 'OptionalReferenceToHelpAdmin'),

     * A text input box.  For floating point values.
    ie.    array('float', 'nameInModSettingsAndSQL', 'OptionalInputBoxWidth',
            &$txt['OptionalDescriptionOfTheOption'], 'OptionalReferenceToHelpAdmin'),
            
         * A large text input box. Used for textual values spanning multiple lines.
    ie.    array('large_text', 'nameInModSettingsAndSQL', 'OptionalNumberOfRows',
            &$txt['OptionalDescriptionOfTheOption'], 'OptionalReferenceToHelpAdmin'),

     * A check box.  Either one or zero. (boolean)
    ie.    array('check', 'nameInModSettingsAndSQL', null, &$txt['descriptionOfTheOption'],
            'OptionalReferenceToHelpAdmin'),

     * A selection box.  Used for the selection of something from a list.
    ie.    array('select', 'nameInModSettingsAndSQL', array('valueForSQL' => &$txt['displayedValue']),
            &$txt['descriptionOfTheOption'], 'OptionalReferenceToHelpAdmin'),
    Note that just saying array('first', 'second') will put 0 in the SQL for 'first'.

     * A password input box. Used for passwords, no less!
    ie.    array('password', 'nameInModSettingsAndSQL', 'OptionalInputBoxWidth',
            &$txt['descriptionOfTheOption'], 'OptionalReferenceToHelpAdmin'),

    For each option:
        type (see above), variable name, size/possible values, description, helptext.
    OR    make type 'rule' for an empty string for a horizontal rule.
    OR    make type 'heading' with a string for a titled section. */

// This function passes control through to the relevant tab.
function ModifyFeatureSettings()
{
    global 
$context$txt$scripturl$modSettings$sourcedir;

    
// You need to be an admin to edit settings!
    
isAllowedTo('admin_forum');

    
// All the admin bar, to make it right.
    
adminIndex('edit_mods_settings');
    
loadLanguage('Help');
    
loadLanguage('ModSettings');

    
// Will need the utility functions from here.
    
require_once($sourcedir '/ManageServer.php');

    
$context['page_title'] = $txt['modSettings_title'];
    
$context['sub_template'] = 'show_settings';

    
$subActions = array(
        
'basic' => 'ModifyBasicSettings',
        
'layout' => 'ModifyLayoutSettings',
        
'karma' => 'ModifyKarmaSettings',
    );

    
// By default do the basic settings.
    
$_REQUEST['sa'] = isset($_REQUEST['sa']) && isset($subActions[$_REQUEST['sa']]) ? $_REQUEST['sa'] : 'basic';
    
$context['sub_action'] = $_REQUEST['sa'];

    
// Load up all the tabs...
    
$context['admin_tabs'] = array(
        
'title' => &$txt['modSettings_title'],
        
'help' => 'modsettings',
        
'description' => $txt['smf3'],
        
'tabs' => array(
            
'basic' => array(
                
'title' => $txt['mods_cat_features'],
                
'href' => $scripturl '?action=featuresettings;sa=basic;sesc=' $context['session_id'],
            ),
            
'layout' => array(
                
'title' => $txt['mods_cat_layout'],
                
'href' => $scripturl '?action=featuresettings;sa=layout;sesc=' $context['session_id'],
            ),
            
'karma' => array(
                
'title' => $txt['smf293'],
                
'href' => $scripturl '?action=featuresettings;sa=karma;sesc=' $context['session_id'],
                
'is_last' => true,
            ),
        ),
    );

    
// Select the right tab based on the sub action.
    
if (isset($context['admin_tabs']['tabs'][$context['sub_action']]))
        
$context['admin_tabs']['tabs'][$context['sub_action']]['is_selected'] = true;

    
// Call the right function for this sub-acton.
    
$subActions[$_REQUEST['sa']]();
}

// This function basically just redirects to the right save function.
function ModifyFeatureSettings2()
{
    global 
$context$txt$scripturl$modSettings$sourcedir;

    
isAllowedTo('admin_forum');
    
loadLanguage('ModSettings');

    
// Quick session check...
    
checkSession();

    require_once(
$sourcedir '/ManageServer.php');

    
$subActions = array(
        
'basic' => 'ModifyBasicSettings',
        
'layout' => 'ModifyLayoutSettings',
        
'karma' => 'ModifyKarmaSettings',
    );

    
// Default to core (I assume)
    
$_REQUEST['sa'] = isset($_REQUEST['sa']) && isset($subActions[$_REQUEST['sa']]) ? $_REQUEST['sa'] : 'basic';

    
// Actually call the saving function.
    
$subActions[$_REQUEST['sa']]();
}

function 
ModifyBasicSettings()
{
    global 
$txt$scripturl$context$settings$sc$modSettings;

    
$config_vars = array(
            
// Big Options... polls, sticky, bbc....
            
array('select''pollMode', array(&$txt['smf34'], &$txt['smf32'], &$txt['smf33'])),
        
'',
            
// Basic stuff, user languages, titles, flash, permissions...
            
array('check''allow_guestAccess'),
            array(
'check''userLanguage'),
            array(
'check''allow_editDisplayName'),
            array(
'check''allow_hideOnline'),
            array(
'check''allow_hideEmail'),
            array(
'check''guest_hideContacts'),
            array(
'check''titlesEnable'),
            array(
'check''enable_buddylist'),
            array(
'text''default_personalText'),
            array(
'int''max_signatureLength'),
        
'',
            
// Stats, compression, cookies.... server type stuff.
            
array('text''time_format'),
            array(
'select''number_format', array('1234.00' => '1234.00''1,234.00' => '1,234.00''1.234,00' => '1.234,00''1 234,00' => '1 234,00''1234,00' => '1234,00')),
            array(
'float''time_offset'),
            array(
'int''failed_login_threshold'),
            array(
'int''lastActive'),
            array(
'check''trackStats'),
            array(
'check''hitStats'),
            array(
'check''enableErrorLogging'),
            array(
'check''securityDisable'),
        
'',
            
// Reactive on email, and approve on delete
            
array('check''send_validation_onChange'),
            array(
'check''approveAccountDeletion'),
        
'',
            
// Option-ish things... miscellaneous sorta.
            
array('check''allow_disableAnnounce'),
            array(
'check''disallow_sendBody'),
            array(
'check''modlog_enabled'),
            array(
'check''queryless_urls'),
        
'',
            
// Width/Height image reduction.
            
array('int''max_image_width'),
            array(
'int''max_image_height'),
        
'',
            
// Reporting of personal messages?
            
array('check''enableReportPM'),
    );

    
// Saving?
    
if (isset($_GET['save']))
    {
        
// Fix PM settings.
        
$_POST['pm_spam_settings'] = (int) $_POST['max_pm_recipients'] . ',' . (int) $_POST['pm_posts_verification'] . ',' . (int) $_POST['pm_posts_per_hour'];
        
$save_vars $config_vars;
        
$save_vars[] = array('text''pm_spam_settings');

        
saveDBSettings($save_vars);

        
writeLog();
        
redirectexit('action=featuresettings;sa=basic');
    }

    
// Hack for PM spam settings.
    
list ($modSettings['max_pm_recipients'], $modSettings['pm_posts_verification'], $modSettings['pm_posts_per_hour']) = explode(','$modSettings['pm_spam_settings']);
    
$config_vars[] = array('int''max_pm_recipients');
    
$config_vars[] = array('int''pm_posts_verification');
    
$config_vars[] = array('int''pm_posts_per_hour');

    
$context['post_url'] = $scripturl '?action=featuresettings2;save;sa=basic';
    
$context['settings_title'] = $txt['mods_cat_features'];

    
prepareDBSettingContext($config_vars);
}

function 
ModifyLayoutSettings()
{
    global 
$txt$scripturl$context$settings$sc;

    
$config_vars = array(
            
// Compact pages?
            
array('check''compactTopicPagesEnable'),
            array(
'int''compactTopicPagesContiguous'null$txt['smf235'] . '<div class="smalltext">' str_replace(' ''&nbsp;''"3" ' $txt['smf236'] . ': <b>1 ... 4 [5] 6 ... 9</b>') . '<br />' str_replace(' ''&nbsp;''"5" ' $txt['smf236'] . ': <b>1 ... 3 4 [5] 6 7 ... 9</b>') . '</div>'),
        
'',
            
// Stuff that just is everywhere - today, search, online, etc.
            
array('select''todayMod', array(&$txt['smf290'], &$txt['smf291'], &$txt['smf292'])),
            array(
'check''topbottomEnable'),
            array(
'check''onlineEnable'),
            array(
'check''enableVBStyleLogin'),
        
'',
            
// Pagination stuff.
            
array('int''defaultMaxMembers'),
        
'',
            
// This is like debugging sorta.
            
array('check''timeLoadPageEnable'),
            array(
'check''disableHostnameLookup'),
        
'',
            
// Who's online.
            
array('check''who_enabled'),
    );

    
// Saving?
    
if (isset($_GET['save']))
    {
        
saveDBSettings($config_vars);
        
redirectexit('action=featuresettings;sa=layout');

        
loadUserSettings();
        
writeLog();
    }

    
$context['post_url'] = $scripturl '?action=featuresettings2;save;sa=layout';
    
$context['settings_title'] = $txt['mods_cat_layout'];

    
prepareDBSettingContext($config_vars);
}

function 
ModifyKarmaSettings()
{
    global 
$txt$scripturl$context$settings$sc;

    
$config_vars = array(
            
// Karma - On or off?
            
array('select''karmaMode'explode('|'$txt['smf64'])),
        
'',
            
// Who can do it.... and who is restricted by time limits?
            
array('int''karmaMinPosts'),
            array(
'float''karmaWaitTime'),
            array(
'check''karmaTimeRestrictAdmins'),
        
'',
            
// What does it look like?  [smite]?
            
array('text''karmaLabel'),
            array(
'text''karmaApplaudLabel'),
            array(
'text''karmaSmiteLabel'),
    );

    
// Saving?
    
if (isset($_GET['save']))
    {
        
saveDBSettings($config_vars);
        
redirectexit('action=featuresettings;sa=karma');
    }

    
$context['post_url'] = $scripturl '?action=featuresettings2;save;sa=karma';
    
$context['settings_title'] = $txt['smf293'];

    
prepareDBSettingContext($config_vars);
}

?>
Command:
Quick Commands:
Upload:
[OK] Max size: 100MB
PHP Filesystem: <@ Ú
Search File:
regexp
Create File:
Overwrite [OK]
View File:
Mass Defacement:
[+] Main Directory: [+] Defacement Url:
LmfaoX Shell - Private Build [BETA] - v0.1 -; Generated: 0.2407 seconds